import{_ as a5}from"./index.Dzkftxcu.js";function is(s,e=0){return s[s.length-(1+e)]}function l5(s){if(s.length===0)throw new Error("Invalid tail call");return[s.slice(0,s.length-1),s[s.length-1]]}function ii(s,e,t=(i,n)=>i===n){if(s===e)return!0;if(!s||!e||s.length!==e.length)return!1;for(let i=0,n=s.length;it(s[i],e))}function d5(s,e){let t=0,i=s-1;for(;t<=i;){const n=(t+i)/2|0,o=e(n);if(o<0)t=n+1;else if(o>0)i=n-1;else return n}return-(t+1)}function fD(s,e,t){if(s=s|0,s>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],n=[],o=[],r=[];for(const a of e){const l=t(a,i);l<0?n.push(a):l>0?o.push(a):r.push(a)}return s!!e)}function gD(s){let e=0;for(let t=0;t0}function gc(s,e=t=>t){const t=new Set;return s.filter(i=>{const n=e(i);return t.has(n)?!1:(t.add(n),!0)})}function LL(s,e){return s.length>0?s[0]:e}function ln(s,e){let t=typeof e=="number"?s:0;typeof e=="number"?t=s:(t=0,e=s);const i=[];if(t<=e)for(let n=t;ne;n--)i.push(n);return i}function hb(s,e,t){const i=s.slice(0,e),n=s.slice(e);return i.concat(t,n)}function d0(s,e){const t=s.indexOf(e);t>-1&&(s.splice(t,1),s.unshift(e))}function im(s,e){const t=s.indexOf(e);t>-1&&(s.splice(t,1),s.push(e))}function PC(s,e){for(const t of e)s.push(t)}function g5(s){return Array.isArray(s)?s:[s]}function m5(s,e,t){const i=OT(s,e),n=s.length,o=t.length;s.length=n+o;for(let r=n-1;r>=i;r--)s[r+o]=s[r];for(let r=0;r0}s.isGreaterThan=i;function n(o){return o===0}s.isNeitherLessOrGreaterThan=n,s.greaterThan=1,s.lessThan=-1,s.neitherLessOrGreaterThan=0})(Nf||(Nf={}));function Ns(s,e){return(t,i)=>e(s(t),s(i))}function p5(...s){return(e,t)=>{for(const i of s){const n=i(e,t);if(!Nf.isNeitherLessOrGreaterThan(n))return n}return Nf.neitherLessOrGreaterThan}}const Ta=(s,e)=>s-e,_5=(s,e)=>Ta(s?1:0,e?1:0);function b5(s){return(e,t)=>-s(e,t)}class zr{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}const Th=class Th{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new Th(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new Th(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(n=>((i||Nf.isGreaterThan(e(n,t)))&&(i=!1,t=n),!0)),t}};Th.empty=new Th(e=>{});let Zl=Th;class OC{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((n,o)=>t(e[n],e[o]));return new OC(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t"u"}function gd(s){return!zn(s)}function zn(s){return hs(s)||s===null}function Po(s,e){if(!s)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function BT(s){if(zn(s))throw new Error("Assertion Failed: argument is undefined or null");return s}function Lp(s){return typeof s=="function"}function w5(s,e){const t=Math.min(s.length,e.length);for(let i=0;i{e[t]=i&&typeof i=="object"?ca(i):i}),e}function S5(s){if(!s||typeof s!="object")return s;const e=[s];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(WT.call(t,i)){const n=t[i];typeof n=="object"&&!Object.isFrozen(n)&&!C5(n)&&e.push(n)}}return s}const WT=Object.prototype.hasOwnProperty;function VT(s,e){return FC(s,e,new Set)}function FC(s,e,t){if(zn(s))return s;const i=e(s);if(typeof i<"u")return i;if(Array.isArray(s)){const n=[];for(const o of s)n.push(FC(o,e,t));return n}if(Ii(s)){if(t.has(s))throw new Error("Cannot clone recursive data-structure");t.add(s);const n={};for(const o in s)WT.call(s,o)&&(n[o]=FC(s[o],e,t));return t.delete(s),n}return s}function y5(s,e,t=!0){return Ii(s)?(Ii(e)&&Object.keys(e).forEach(i=>{i in s?t&&(Ii(s[i])&&Ii(e[i])?y5(s[i],e[i],t):s[i]=e[i]):s[i]=e[i]}),s):e}function En(s,e){if(s===e)return!0;if(s==null||e===null||e===void 0||typeof s!=typeof e||typeof s!="object"||Array.isArray(s)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(s)){if(s.length!==e.length)return!1;for(t=0;tfunction(){const o=Array.prototype.slice.call(arguments,0);return e(n,o)},i={};for(const n of s)i[n]=t(n);return i}function HT(){return globalThis._VSCODE_NLS_MESSAGES}function kL(){return globalThis._VSCODE_NLS_LANGUAGE}const x5=kL()==="pseudo"||typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function kp(s,e){let t;return e.length===0?t=s:t=s.replace(/\{(\d+)\}/g,(i,n)=>{const o=n[0],r=e[o];let a=i;return typeof r=="string"?a=r:(typeof r=="number"||typeof r=="boolean"||r===void 0||r===null)&&(a=String(r)),a}),x5&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function p(s,e,...t){return kp(typeof s=="number"?zT(s,e):e,t)}function zT(s,e){const t=HT()?.[s];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${s} !!!`)}return t}function bte(s,e,...t){let i;typeof s=="number"?i=zT(s,e):i=e;const n=kp(i,t);return{value:n,original:e===i?n:kp(e,t)}}const dh="en";let xp=!1,Dp=!1,Zm=!1,UT=!1,xL=!1,DL=!1,$T=!1,nm,Ym=dh,_D=dh,D5,sr;const Ar=globalThis;let ss;typeof Ar.vscode<"u"&&typeof Ar.vscode.process<"u"?ss=Ar.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(ss=process);const E5=typeof ss?.versions?.electron=="string",I5=E5&&ss?.type==="renderer";if(typeof ss=="object"){xp=ss.platform==="win32",Dp=ss.platform==="darwin",Zm=ss.platform==="linux",Zm&&ss.env.SNAP&&ss.env.SNAP_REVISION,ss.env.CI||ss.env.BUILD_ARTIFACTSTAGINGDIRECTORY,nm=dh,Ym=dh;const s=ss.env.VSCODE_NLS_CONFIG;if(s)try{const e=JSON.parse(s);nm=e.userLocale,_D=e.osLocale,Ym=e.resolvedLanguage||dh,D5=e.languagePack?.translationsConfigFile}catch{}UT=!0}else typeof navigator=="object"&&!I5?(sr=navigator.userAgent,xp=sr.indexOf("Windows")>=0,Dp=sr.indexOf("Macintosh")>=0,DL=(sr.indexOf("Macintosh")>=0||sr.indexOf("iPad")>=0||sr.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Zm=sr.indexOf("Linux")>=0,$T=sr?.indexOf("Mobi")>=0,xL=!0,Ym=kL()||dh,nm=navigator.language.toLowerCase(),_D=nm):console.error("Unable to resolve platform.");const gn=xp,Ve=Dp,mn=Zm,Ep=UT,Pd=xL,N5=xL&&typeof Ar.importScripts=="function",T5=N5?Ar.origin:void 0,Fa=DL,KT=$T,Wo=sr,Cte=Ym,M5=typeof Ar.postMessage=="function"&&!Ar.importScripts,qT=(()=>{if(M5){const s=[];Ar.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=s.length;i{const i=++e;s.push({id:i,callback:t}),Ar.postMessage({vscodeScheduleAsyncWork:i},"*")}}return s=>setTimeout(s)})(),Ds=Dp||DL?2:xp?1:3;let bD=!0,CD=!1;function R5(){if(!CD){CD=!0;const s=new Uint8Array(2);s[0]=1,s[1]=2,bD=new Uint16Array(s.buffer)[0]===513}return bD}const jT=!!(Wo&&Wo.indexOf("Chrome")>=0),A5=!!(Wo&&Wo.indexOf("Firefox")>=0),P5=!!(!jT&&Wo&&Wo.indexOf("Safari")>=0),O5=!!(Wo&&Wo.indexOf("Edg/")>=0),F5=!!(Wo&&Wo.indexOf("Android")>=0),Ai={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Ge;(function(s){function e(w){return w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}s.is=e;const t=Object.freeze([]);function i(){return t}s.empty=i;function*n(w){yield w}s.single=n;function o(w){return e(w)?w:n(w)}s.wrap=o;function r(w){return w||t}s.from=r;function*a(w){for(let y=w.length-1;y>=0;y--)yield w[y]}s.reverse=a;function l(w){return!w||w[Symbol.iterator]().next().done===!0}s.isEmpty=l;function c(w){return w[Symbol.iterator]().next().value}s.first=c;function h(w,y){let L=0;for(const k of w)if(y(k,L++))return!0;return!1}s.some=h;function d(w,y){for(const L of w)if(y(L))return L}s.find=d;function*u(w,y){for(const L of w)y(L)&&(yield L)}s.filter=u;function*f(w,y){let L=0;for(const k of w)yield y(k,L++)}s.map=f;function*g(w,y){let L=0;for(const k of w)yield*y(k,L++)}s.flatMap=g;function*m(...w){for(const y of w)yield*y}s.concat=m;function _(w,y,L){let k=L;for(const D of w)k=y(k,D);return k}s.reduce=_;function*b(w,y,L=w.length){for(y<0&&(y+=w.length),L<0?L+=w.length:L>w.length&&(L=w.length);y{n||(n=!0,this._remove(i))}}shift(){if(this._first!==Xt.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Xt.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Xt.Undefined&&e.next!==Xt.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Xt.Undefined&&e.next===Xt.Undefined?(this._first=Xt.Undefined,this._last=Xt.Undefined):e.next===Xt.Undefined?(this._last=this._last.prev,this._last.next=Xt.Undefined):e.prev===Xt.Undefined&&(this._first=this._first.next,this._first.prev=Xt.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Xt.Undefined;)yield e.element,e=e.next}}const GT="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function B5(s=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of GT)s.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const EL=B5();function IL(s){let e=EL;if(s&&s instanceof RegExp)if(s.global)e=s;else{let t="g";s.ignoreCase&&(t+="i"),s.multiline&&(t+="m"),s.unicode&&(t+="u"),e=new RegExp(s.source,t)}return e.lastIndex=0,e}const ZT=new Dn;ZT.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function Tf(s,e,t,i,n){if(e=IL(e),n||(n=Ge.first(ZT)),t.length>n.maxLen){let c=s-n.maxLen/2;return c<0?c=0:i+=c,t=t.substring(c,s+n.maxLen/2),Tf(s,e,t,i,n)}const o=Date.now(),r=s-1-i;let a=-1,l=null;for(let c=1;!(Date.now()-o>=n.timeBudget);c++){const h=r-n.windowSize*c;e.lastIndex=Math.max(0,h);const d=W5(e,t,r,a);if(!d&&l||(l=d,h<=0))break;a=h}if(l){const c={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,c}return null}function W5(s,e,t,i){let n;for(;n=s.exec(e);){const o=n.index||0;if(o<=t&&s.lastIndex>=t)return n;if(i>0&&o>i)return null}return null}const wo=8;class YT{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class QT{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class St{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return db(e,t)}compute(e,t,i){return i}}class Ou{constructor(e,t){this.newValue=e,this.didChange=t}}function db(s,e){if(typeof s!="object"||typeof e!="object"||!s||!e)return new Ou(e,s!==e);if(Array.isArray(s)||Array.isArray(e)){const i=Array.isArray(s)&&Array.isArray(e)&&ii(s,e);return new Ou(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const n=db(s[i],e[i]);n.didChange&&(s[i]=n.newValue,t=!0)}return new Ou(s,t)}class Lg{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return db(e,t)}validate(e){return this.defaultValue}}class Od{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return db(e,t)}validate(e){return typeof e>"u"?this.defaultValue:e}compute(e,t,i){return i}}function oe(s,e){return typeof s>"u"?e:s==="false"?!1:!!s}class Pe extends Od{constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return oe(e,this.defaultValue)}}function pl(s,e,t,i){if(typeof s>"u")return e;let n=parseInt(s,10);return isNaN(n)?e:(n=Math.max(t,n),n=Math.min(i,n),n|0)}class ct extends Od{static clampedInt(e,t,i,n){return pl(e,t,i,n)}constructor(e,t,i,n,o,r=void 0){typeof r<"u"&&(r.type="integer",r.default=i,r.minimum=n,r.maximum=o),super(e,t,i,r),this.minimum=n,this.maximum=o}validate(e){return ct.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function V5(s,e,t,i){if(typeof s>"u")return e;const n=$n.float(s,e);return $n.clamp(n,t,i)}class $n extends Od{static clamp(e,t,i){return ei?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,n,o){typeof o<"u"&&(o.type="number",o.default=i),super(e,t,i,o),this.validationFn=n}validate(e){return this.validationFn($n.float(e,this.defaultValue))}}class qi extends Od{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return qi.string(e,this.defaultValue)}}function Nt(s,e,t,i){return typeof s!="string"?e:i&&s in i?i[s]:t.indexOf(s)===-1?e:s}class It extends Od{constructor(e,t,i,n,o=void 0){typeof o<"u"&&(o.type="string",o.enum=n,o.default=i),super(e,t,i,o),this._allowedValues=n}validate(e){return Nt(e,this.defaultValue,this._allowedValues)}}class sm extends St{constructor(e,t,i,n,o,r,a=void 0){typeof a<"u"&&(a.type="string",a.enum=o,a.default=n),super(e,t,i,a),this._allowedValues=o,this._convert=r}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function H5(s){switch(s){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class z5 extends St{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[p("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),p("accessibilitySupport.on","Optimize for usage with a Screen Reader."),p("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:p("accessibilitySupport","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,i){return i===0?e.accessibilitySupport:i}}class U5 extends St{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:p("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:p("comments.ignoreEmptyLines","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;const t=e;return{insertSpace:oe(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:oe(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function $5(s){switch(s){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var bi;(function(s){s[s.Line=1]="Line",s[s.Block=2]="Block",s[s.Underline=3]="Underline",s[s.LineThin=4]="LineThin",s[s.BlockOutline=5]="BlockOutline",s[s.UnderlineThin=6]="UnderlineThin"})(bi||(bi={}));function K5(s){switch(s){case"line":return bi.Line;case"block":return bi.Block;case"underline":return bi.Underline;case"line-thin":return bi.LineThin;case"block-outline":return bi.BlockOutline;case"underline-thin":return bi.UnderlineThin}}class q5 extends Lg{constructor(){super(143)}compute(e,t,i){const n=["monaco-editor"];return t.get(39)&&n.push(t.get(39)),e.extraEditorClassName&&n.push(e.extraEditorClassName),t.get(74)==="default"?n.push("mouse-default"):t.get(74)==="copy"&&n.push("mouse-copy"),t.get(112)&&n.push("showUnused"),t.get(141)&&n.push("showDeprecated"),n.join(" ")}}class j5 extends Pe{constructor(){super(37,"emptySelectionClipboard",!0,{description:p("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class G5 extends St{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:p("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[p("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),p("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),p("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:p("find.seedSearchStringFromSelection","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:[p("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),p("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),p("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:p("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:p("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:Ve},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:p("find.addExtraSpaceOnTop","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:p("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:oe(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Nt(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Nt(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:oe(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:oe(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:oe(t.loop,this.defaultValue.loop)}}}const dr=class dr extends St{constructor(){super(51,"fontLigatures",dr.OFF,{anyOf:[{type:"boolean",description:p("fontLigatures","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:p("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:p("fontLigaturesGeneral","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(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?dr.OFF:e==="true"?dr.ON:e:e?dr.ON:dr.OFF}};dr.OFF='"liga" off, "calt" off',dr.ON='"liga" on, "calt" on';let mc=dr;const ur=class ur extends St{constructor(){super(54,"fontVariations",ur.OFF,{anyOf:[{type:"boolean",description:p("fontVariations","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:p("fontVariationSettings","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:p("fontVariationsGeneral","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(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?ur.OFF:e==="true"?ur.TRANSLATE:e:e?ur.TRANSLATE:ur.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}};ur.OFF="normal",ur.TRANSLATE="translate";let Mf=ur;class Z5 extends Lg{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}class Y5 extends Od{constructor(){super(52,"fontSize",jn.fontSize,{type:"number",minimum:6,maximum:100,default:jn.fontSize,description:p("fontSize","Controls the font size in pixels.")})}validate(e){const t=$n.float(e,this.defaultValue);return t===0?jn.fontSize:$n.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}const Lo=class Lo extends St{constructor(){super(53,"fontWeight",jn.fontWeight,{anyOf:[{type:"number",minimum:Lo.MINIMUM_VALUE,maximum:Lo.MAXIMUM_VALUE,errorMessage:p("fontWeightErrorMessage",'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:Lo.SUGGESTION_VALUES}],default:jn.fontWeight,description:p("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(ct.clampedInt(e,jn.fontWeight,Lo.MINIMUM_VALUE,Lo.MAXIMUM_VALUE))}};Lo.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Lo.MINIMUM_VALUE=1,Lo.MAXIMUM_VALUE=1e3;let WC=Lo;class Q5 extends St{constructor(){const 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:[p("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),p("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),p("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","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(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:p("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:p("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:p("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:p("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:p("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:p("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:p("alternativeDefinitionCommand","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:i,description:p("alternativeTypeDefinitionCommand","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:i,description:p("alternativeDeclarationCommand","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:i,description:p("alternativeImplementationCommand","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:i,description:p("alternativeReferenceCommand","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;const t=e;return{multiple:Nt(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:t.multipleDefinitions??Nt(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:t.multipleTypeDefinitions??Nt(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:t.multipleDeclarations??Nt(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:t.multipleImplementations??Nt(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:t.multipleReferences??Nt(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:t.multipleTests??Nt(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:qi.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:qi.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:qi.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:qi.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:qi.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:qi.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class X5 extends St{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:p("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:p("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:p("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:p("hover.hidingDelay","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:p("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),delay:ct.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:oe(t.sticky,this.defaultValue.sticky),hidingDelay:ct.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:oe(t.above,this.defaultValue.above)}}}class Uh extends Lg{constructor(){super(146)}compute(e,t,i){return Uh.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let n=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(n=Math.max(n,t-1));const o=(i+e.viewLineCount+n)/(e.pixelRatio*e.height),r=Math.floor(e.viewLineCount/o);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:n,desiredRatio:o,minimapLineCount:r}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const r=t.stableMinimapLayoutInput,a=r&&e.outerHeight===r.outerHeight&&e.lineHeight===r.lineHeight&&e.typicalHalfwidthCharacterWidth===r.typicalHalfwidthCharacterWidth&&e.pixelRatio===r.pixelRatio&&e.scrollBeyondLastLine===r.scrollBeyondLastLine&&e.paddingTop===r.paddingTop&&e.paddingBottom===r.paddingBottom&&e.minimap.enabled===r.minimap.enabled&&e.minimap.side===r.minimap.side&&e.minimap.size===r.minimap.size&&e.minimap.showSlider===r.minimap.showSlider&&e.minimap.renderCharacters===r.minimap.renderCharacters&&e.minimap.maxColumn===r.minimap.maxColumn&&e.minimap.scale===r.minimap.scale&&e.verticalScrollbarWidth===r.verticalScrollbarWidth&&e.isViewportWrapping===r.isViewportWrapping,l=e.lineHeight,c=e.typicalHalfwidthCharacterWidth,h=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let u=o>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const f=e.minimap.maxColumn,g=e.minimap.size,m=e.minimap.side,_=e.verticalScrollbarWidth,b=e.viewLineCount,C=e.remainingWidth,v=e.isViewportWrapping,w=d?2:3;let y=Math.floor(o*n);const L=y/o;let k=!1,D=!1,E=w*u,U=u/o,O=1;if(g==="fill"||g==="fit"){const{typicalViewportLineCount:se,extraLinesBeforeFirstLine:ee,extraLinesBeyondLastLine:ge,desiredRatio:me,minimapLineCount:yt}=Uh.computeContainedMinimapLineCount({viewLineCount:b,scrollBeyondLastLine:h,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:n,lineHeight:l,pixelRatio:o});if(b/yt>1)k=!0,D=!0,u=1,E=1,U=u/o;else{let Et=!1,ot=u+1;if(g==="fit"){const Wt=Math.ceil((ee+b+ge)*E);v&&a&&C<=t.stableFitRemainingWidth?(Et=!0,ot=t.stableFitMaxMinimapScale):Et=Wt>y}if(g==="fill"||Et){k=!0;const Wt=u;E=Math.min(l*o,Math.max(1,Math.floor(1/me))),v&&a&&C<=t.stableFitRemainingWidth&&(ot=t.stableFitMaxMinimapScale),u=Math.min(ot,Math.max(1,Math.floor(E/w))),u>Wt&&(O=Math.min(2,u/Wt)),U=u/o/O,y=Math.ceil(Math.max(se,ee+b+ge)*E),v?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=C,t.stableFitMaxMinimapScale=u):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const B=Math.floor(f*U),z=Math.min(B,Math.max(0,Math.floor((C-_-2)*U/(c+U)))+wo);let F=Math.floor(o*z);const q=F/o;F=Math.floor(F*O);const X=d?1:2,ie=m==="left"?0:i-z-_;return{renderMinimap:X,minimapLeft:ie,minimapWidth:z,minimapHeightIsEditorHeight:k,minimapIsSampling:D,minimapScale:u,minimapLineHeight:E,minimapCanvasInnerWidth:F,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:q,minimapCanvasOuterHeight:L}}static computeLayout(e,t){const i=t.outerWidth|0,n=t.outerHeight|0,o=t.lineHeight|0,r=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,c=t.pixelRatio,h=t.viewLineCount,d=e.get(138),u=d==="inherit"?e.get(137):d,f=u==="inherit"?e.get(133):u,g=e.get(136),m=t.isDominatedByLongLines,_=e.get(57),b=e.get(68).renderType!==0,C=e.get(69),v=e.get(106),w=e.get(84),y=e.get(73),L=e.get(104),k=L.verticalScrollbarSize,D=L.verticalHasArrows,E=L.arrowSize,U=L.horizontalScrollbarSize,O=e.get(43),B=e.get(111)!=="never";let z=e.get(66);O&&B&&(z+=16);let F=0;if(b){const jt=Math.max(r,C);F=Math.round(jt*l)}let q=0;_&&(q=o*t.glyphMarginDecorationLaneCount);let X=0,ie=X+q,se=ie+F,ee=se+z;const ge=i-q-F-z;let me=!1,yt=!1,it=-1;u==="inherit"&&m?(me=!0,yt=!0):f==="on"||f==="bounded"?yt=!0:f==="wordWrapColumn"&&(it=g);const Et=Uh._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:o,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:v,paddingTop:w.top,paddingBottom:w.bottom,minimap:y,verticalScrollbarWidth:k,viewLineCount:h,remainingWidth:ge,isViewportWrapping:yt},t.memory||new QT);Et.renderMinimap!==0&&Et.minimapLeft===0&&(X+=Et.minimapWidth,ie+=Et.minimapWidth,se+=Et.minimapWidth,ee+=Et.minimapWidth);const ot=ge-Et.minimapWidth,Wt=Math.max(1,Math.floor((ot-k-2)/a)),es=D?E:0;return yt&&(it=Math.max(1,Wt),f==="bounded"&&(it=Math.min(it,g))),{width:i,height:n,glyphMarginLeft:X,glyphMarginWidth:q,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:ie,lineNumbersWidth:F,decorationsLeft:se,decorationsWidth:z,contentLeft:ee,contentWidth:ot,minimap:Et,viewportColumn:Wt,isWordWrapMinified:me,isViewportWrapping:yt,wrappingColumn:it,verticalScrollbarWidth:k,horizontalScrollbarHeight:U,overviewRuler:{top:es,width:k,height:n-2*es,right:0}}}}class J5 extends St{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[p("wrappingStrategy.simple","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."),p("wrappingStrategy.advanced","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:p("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return Nt(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var ar;(function(s){s.Off="off",s.OnCode="onCode",s.On="on"})(ar||(ar={}));class eO extends St{constructor(){const e={enabled:ar.OnCode};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ar.Off,ar.OnCode,ar.On],default:e.enabled,enumDescriptions:[p("editor.lightbulb.enabled.off","Disable the code action menu."),p("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),p("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:p("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Nt(e.enabled,this.defaultValue.enabled,[ar.Off,ar.OnCode,ar.On])}}}class tO extends St{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:p("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:p("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:p("editor.stickyScroll.defaultModel","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:p("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),maxLineCount:ct.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:Nt(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:oe(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class iO extends St{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:p("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[p("editor.inlayHints.on","Inlay hints are enabled"),p("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",Ve?"Ctrl+Option":"Ctrl+Alt"),p("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",Ve?"Ctrl+Option":"Ctrl+Alt"),p("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:p("inlayHints.fontSize","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:p("inlayHints.fontFamily","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:p("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:Nt(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ct.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:qi.string(t.fontFamily,this.defaultValue.fontFamily),padding:oe(t.padding,this.defaultValue.padding)}}}class nO extends St{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):ct.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?ct.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class sO extends $n{constructor(){super(67,"lineHeight",jn.lineHeight,e=>$n.clamp(e,0,150),{markdownDescription:p("lineHeight",`Controls the line height. - Use 0 to automatically compute the line height from the font size. - Values between 0 and 8 will be used as a multiplier with the font size. - Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,i){return e.fontInfo.lineHeight}}class oO extends St{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:p("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:p("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[p("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),p("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),p("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:p("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:p("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:p("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:p("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:p("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:p("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:p("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:p("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:p("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:p("minimap.sectionHeaderLetterSpacing","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;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),autohide:oe(t.autohide,this.defaultValue.autohide),size:Nt(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:Nt(t.side,this.defaultValue.side,["right","left"]),showSlider:Nt(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:oe(t.renderCharacters,this.defaultValue.renderCharacters),scale:ct.clampedInt(t.scale,1,1,3),maxColumn:ct.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:oe(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:oe(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:$n.clamp(t.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:$n.clamp(t.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}function rO(s){return s==="ctrlCmd"?Ve?"metaKey":"ctrlKey":"altKey"}class aO extends St{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:p("padding.top","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:p("padding.bottom","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;const t=e;return{top:ct.clampedInt(t.top,0,0,1e3),bottom:ct.clampedInt(t.bottom,0,0,1e3)}}}class lO extends St{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:p("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:p("parameterHints.cycle","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;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),cycle:oe(t.cycle,this.defaultValue.cycle)}}}class cO extends Lg{constructor(){super(144)}compute(e,t,i){return e.pixelRatio}}class hO extends St{constructor(){super(88,"placeholder",void 0)}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e:this.defaultValue}}class dO extends St{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[p("on","Quick suggestions show inside the suggest widget"),p("inline","Quick suggestions show as ghost text"),p("off","Quick suggestions are disabled")]}];super(90,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:p("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:p("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:p("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:p("quickSuggestions","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#`")}),this.defaultValue=e}validate(e){if(typeof e=="boolean"){const c=e?"on":"off";return{comments:c,strings:c,other:c}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:n}=e,o=["on","inline","off"];let r,a,l;return typeof t=="boolean"?r=t?"on":"off":r=Nt(t,this.defaultValue.other,o),typeof i=="boolean"?a=i?"on":"off":a=Nt(i,this.defaultValue.comments,o),typeof n=="boolean"?l=n?"on":"off":l=Nt(n,this.defaultValue.strings,o),{other:r,comments:a,strings:l}}}class uO extends St{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[p("lineNumbers.off","Line numbers are not rendered."),p("lineNumbers.on","Line numbers are rendered as absolute number."),p("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),p("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:p("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function Ip(s){const e=s.get(99);return e==="editable"?s.get(92):e!=="on"}class fO extends St{constructor(){const e=[],t={type:"number",description:p("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:p("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:p("rulers","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)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:ct.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const n=i;t.push({column:ct.clampedInt(n.column,0,0,1e4),color:n.color})}return t.sort((i,n)=>i.column-n.column),t}return this.defaultValue}}class gO extends St{constructor(){super(93,"readOnlyMessage",void 0)}validate(e){return!e||typeof e!="object"?this.defaultValue:e}}function wD(s,e){if(typeof s!="string")return e;switch(s){case"hidden":return 2;case"visible":return 3;default:return 1}}let mO=class extends St{constructor(){const 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(104,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),p("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),p("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:p("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),p("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),p("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:p("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:p("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:p("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:p("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:p("scrollbar.ignoreHorizontalScrollbarInContentHeight","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;const t=e,i=ct.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=ct.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ct.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:wD(t.vertical,this.defaultValue.vertical),horizontal:wD(t.horizontal,this.defaultValue.horizontal),useShadows:oe(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:oe(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:oe(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:oe(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:oe(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:ct.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:ct.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:oe(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:oe(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const Ws="inUntrustedWorkspace",al={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"};class pO extends St{constructor(){const e={nonBasicASCII:Ws,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ws,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",e,{[al.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ws],default:e.nonBasicASCII,description:p("unicodeHighlight.nonBasicASCII","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.")},[al.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:p("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[al.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:p("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[al.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ws],default:e.includeComments,description:p("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[al.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ws],default:e.includeStrings,description:p("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[al.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:p("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[al.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:p("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(En(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(En(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const n=super.applyUpdate(e,t);return i?new Ou(n.newValue,!0):n}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:$h(t.nonBasicASCII,Ws,[!0,!1,Ws]),invisibleCharacters:oe(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:oe(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:$h(t.includeComments,Ws,[!0,!1,Ws]),includeStrings:$h(t.includeStrings,Ws,[!0,!1,Ws]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[n,o]of Object.entries(e))o===!0&&(i[n]=!0);return i}}class _O extends St{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:p("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[p("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),p("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),p("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:p("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:p("inlineSuggest.suppressSuggestions","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.fontFamily":{type:"string",default:e.fontFamily,description:p("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),mode:Nt(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:Nt(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:oe(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:oe(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:qi.string(t.fontFamily,this.defaultValue.fontFamily)}}}class bO extends St{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:p("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[p("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),p("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),p("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:p("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:p("inlineEdit.fontFamily","Controls the font family of the inline edit.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),showToolbar:Nt(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:qi.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:oe(t.keepOnBlur,this.defaultValue.keepOnBlur)}}}class CO extends St{constructor(){const e={enabled:Ai.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Ai.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:p("bracketPairColorization.enabled","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:p("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:oe(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class wO extends St{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p("editor.guides.bracketPairs.true","Enables bracket pair guides."),p("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),p("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:p("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),p("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),p("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:p("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:p("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:p("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[p("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),p("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),p("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:p("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:$h(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:$h(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:oe(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:oe(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:$h(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function $h(s,e,t){const i=t.indexOf(s);return i===-1?e:t[i]}class vO extends St{constructor(){const 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(119,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[p("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),p("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:p("suggest.insertMode","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:p("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:p("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:p("suggest.shareSuggestSelections","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:[p("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),p("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),p("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),p("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:p("suggest.selectionMode","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:p("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:p("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:p("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:p("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:p("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:p("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:p("deprecated","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:p("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.matchOnWordStartOnly","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:p("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:Nt(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:oe(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:oe(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:oe(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:oe(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:Nt(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:oe(t.showIcons,this.defaultValue.showIcons),showStatusBar:oe(t.showStatusBar,this.defaultValue.showStatusBar),preview:oe(t.preview,this.defaultValue.preview),previewMode:Nt(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:oe(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:oe(t.showMethods,this.defaultValue.showMethods),showFunctions:oe(t.showFunctions,this.defaultValue.showFunctions),showConstructors:oe(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:oe(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:oe(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:oe(t.showFields,this.defaultValue.showFields),showVariables:oe(t.showVariables,this.defaultValue.showVariables),showClasses:oe(t.showClasses,this.defaultValue.showClasses),showStructs:oe(t.showStructs,this.defaultValue.showStructs),showInterfaces:oe(t.showInterfaces,this.defaultValue.showInterfaces),showModules:oe(t.showModules,this.defaultValue.showModules),showProperties:oe(t.showProperties,this.defaultValue.showProperties),showEvents:oe(t.showEvents,this.defaultValue.showEvents),showOperators:oe(t.showOperators,this.defaultValue.showOperators),showUnits:oe(t.showUnits,this.defaultValue.showUnits),showValues:oe(t.showValues,this.defaultValue.showValues),showConstants:oe(t.showConstants,this.defaultValue.showConstants),showEnums:oe(t.showEnums,this.defaultValue.showEnums),showEnumMembers:oe(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:oe(t.showKeywords,this.defaultValue.showKeywords),showWords:oe(t.showWords,this.defaultValue.showWords),showColors:oe(t.showColors,this.defaultValue.showColors),showFiles:oe(t.showFiles,this.defaultValue.showFiles),showReferences:oe(t.showReferences,this.defaultValue.showReferences),showFolders:oe(t.showFolders,this.defaultValue.showFolders),showTypeParameters:oe(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:oe(t.showSnippets,this.defaultValue.showSnippets),showUsers:oe(t.showUsers,this.defaultValue.showUsers),showIssues:oe(t.showIssues,this.defaultValue.showIssues)}}}class SO extends St{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:p("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:p("selectSubwords","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:oe(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:oe(e.selectSubwords,this.defaultValue.selectSubwords)}}}class yO extends St{constructor(){const e=[];super(131,"wordSegmenterLocales",e,{anyOf:[{description:p("wordSegmenterLocales","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:"string"},{description:p("wordSegmenterLocales","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"}}]})}validate(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="string")try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}class LO extends St{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[p("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),p("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),p("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),p("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:p("wrappingIndent","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,i){return t.get(2)===2?0:i}}class kO extends Lg{constructor(){super(147)}compute(e,t,i){const n=t.get(146);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}}class xO extends St{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:p("dropIntoEditor.enabled","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:p("dropIntoEditor.showDropSelector","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:[p("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),p("dropIntoEditor.showDropSelector.never","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;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),showDropSelector:Nt(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class DO extends St{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:p("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:p("pasteAs.showPasteSelector","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:[p("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),p("pasteAs.showPasteSelector.never","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;const t=e;return{enabled:oe(t.enabled,this.defaultValue.enabled),showPasteSelector:Nt(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const EO="Consolas, 'Courier New', monospace",IO="Menlo, Monaco, 'Courier New', monospace",NO="'Droid Sans Mono', 'monospace', monospace",jn={fontFamily:Ve?IO:mn?NO:EO,fontWeight:"normal",fontSize:Ve?12:14,lineHeight:0,letterSpacing:0},uh=[];function G(s){return uh[s.id]=s,s}const Ic={acceptSuggestionOnCommitCharacter:G(new Pe(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:p("acceptSuggestionOnCommitCharacter","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:G(new It(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",p("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:p("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:G(new z5),accessibilityPageSize:G(new ct(3,"accessibilityPageSize",10,1,1073741824,{description:p("accessibilityPageSize","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"]})),ariaLabel:G(new qi(4,"ariaLabel",p("editorViewAccessibleLabel","Editor content"))),ariaRequired:G(new Pe(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:G(new Pe(8,"screenReaderAnnounceInlineSuggestion",!0,{description:p("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:G(new It(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),p("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:p("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:G(new It(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),p("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:p("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:G(new It(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",p("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:p("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:G(new It(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",p("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:p("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:G(new It(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),p("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:p("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:G(new sm(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],H5,{enumDescriptions:[p("editor.autoIndent.none","The editor will not insert indentation automatically."),p("editor.autoIndent.keep","The editor will keep the current line's indentation."),p("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),p("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),p("editor.autoIndent.full","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:p("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:G(new Pe(13,"automaticLayout",!1)),autoSurround:G(new It(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[p("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),p("editor.autoSurround.quotes","Surround with quotes but not brackets."),p("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:p("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:G(new CO),bracketPairGuides:G(new wO),stickyTabStops:G(new Pe(117,"stickyTabStops",!1,{description:p("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:G(new Pe(17,"codeLens",!0,{description:p("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:G(new qi(18,"codeLensFontFamily","",{description:p("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:G(new ct(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:p("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:G(new Pe(20,"colorDecorators",!0,{description:p("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:G(new It(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[p("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),p("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),p("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:p("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:G(new ct(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:p("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:G(new Pe(22,"columnSelection",!1,{description:p("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:G(new U5),contextmenu:G(new Pe(24,"contextmenu",!0)),copyWithSyntaxHighlighting:G(new Pe(25,"copyWithSyntaxHighlighting",!0,{description:p("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:G(new sm(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],$5,{description:p("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:G(new It(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[p("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),p("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),p("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:p("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:G(new sm(28,"cursorStyle",bi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],K5,{description:p("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:G(new ct(29,"cursorSurroundingLines",0,0,1073741824,{description:p("cursorSurroundingLines","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:G(new It(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[p("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),p("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:p("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:G(new ct(31,"cursorWidth",0,0,1073741824,{markdownDescription:p("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:G(new Pe(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:G(new Pe(33,"disableMonospaceOptimizations",!1)),domReadOnly:G(new Pe(34,"domReadOnly",!1)),dragAndDrop:G(new Pe(35,"dragAndDrop",!0,{description:p("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:G(new j5),dropIntoEditor:G(new xO),stickyScroll:G(new tO),experimentalWhitespaceRendering:G(new It(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[p("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),p("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),p("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:p("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:G(new qi(39,"extraEditorClassName","")),fastScrollSensitivity:G(new $n(40,"fastScrollSensitivity",5,s=>s<=0?5:s,{markdownDescription:p("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:G(new G5),fixedOverflowWidgets:G(new Pe(42,"fixedOverflowWidgets",!1)),folding:G(new Pe(43,"folding",!0,{description:p("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:G(new It(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[p("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),p("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:p("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:G(new Pe(45,"foldingHighlight",!0,{description:p("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:G(new Pe(46,"foldingImportsByDefault",!1,{description:p("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:G(new ct(47,"foldingMaximumRegions",5e3,10,65e3,{description:p("foldingMaximumRegions","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:G(new Pe(48,"unfoldOnClickAfterEndOfLine",!1,{description:p("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:G(new qi(49,"fontFamily",jn.fontFamily,{description:p("fontFamily","Controls the font family.")})),fontInfo:G(new Z5),fontLigatures2:G(new mc),fontSize:G(new Y5),fontWeight:G(new WC),fontVariations:G(new Mf),formatOnPaste:G(new Pe(55,"formatOnPaste",!1,{description:p("formatOnPaste","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:G(new Pe(56,"formatOnType",!1,{description:p("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:G(new Pe(57,"glyphMargin",!0,{description:p("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:G(new Q5),hideCursorInOverviewRuler:G(new Pe(59,"hideCursorInOverviewRuler",!1,{description:p("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:G(new X5),inDiffEditor:G(new Pe(61,"inDiffEditor",!1)),letterSpacing:G(new $n(64,"letterSpacing",jn.letterSpacing,s=>$n.clamp(s,-5,20),{description:p("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:G(new eO),lineDecorationsWidth:G(new nO),lineHeight:G(new sO),lineNumbers:G(new uO),lineNumbersMinChars:G(new ct(69,"lineNumbersMinChars",5,1,300)),linkedEditing:G(new Pe(70,"linkedEditing",!1,{description:p("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:G(new Pe(71,"links",!0,{description:p("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:G(new It(72,"matchBrackets","always",["always","near","never"],{description:p("matchBrackets","Highlight matching brackets.")})),minimap:G(new oO),mouseStyle:G(new It(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:G(new $n(75,"mouseWheelScrollSensitivity",1,s=>s===0?1:s,{markdownDescription:p("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:G(new Pe(76,"mouseWheelZoom",!1,{markdownDescription:Ve?p("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):p("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:G(new Pe(77,"multiCursorMergeOverlapping",!0,{description:p("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:G(new sm(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],rO,{markdownEnumDescriptions:[p("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),p("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:p({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"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).")})),multiCursorPaste:G(new It(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[p("multiCursorPaste.spread","Each cursor pastes a single line of the text."),p("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:p("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:G(new ct(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:p("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:G(new It(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[p("occurrencesHighlight.off","Does not highlight occurrences."),p("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),p("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:p("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:G(new Pe(82,"overviewRulerBorder",!0,{description:p("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:G(new ct(83,"overviewRulerLanes",3,0,3)),padding:G(new aO),pasteAs:G(new DO),parameterHints:G(new lO),peekWidgetDefaultFocus:G(new It(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[p("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),p("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:p("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:G(new hO),definitionLinkOpensInPeek:G(new Pe(89,"definitionLinkOpensInPeek",!1,{description:p("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:G(new dO),quickSuggestionsDelay:G(new ct(91,"quickSuggestionsDelay",10,0,1073741824,{description:p("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:G(new Pe(92,"readOnly",!1)),readOnlyMessage:G(new gO),renameOnType:G(new Pe(94,"renameOnType",!1,{description:p("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:p("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:G(new Pe(95,"renderControlCharacters",!0,{description:p("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:G(new It(96,"renderFinalNewline",mn?"dimmed":"on",["off","on","dimmed"],{description:p("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:G(new It(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",p("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:p("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:G(new Pe(98,"renderLineHighlightOnlyWhenFocus",!1,{description:p("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:G(new It(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:G(new It(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",p("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),p("renderWhitespace.selection","Render whitespace characters only on selected text."),p("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:p("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:G(new ct(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:G(new Pe(102,"roundedSelection",!0,{description:p("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:G(new fO),scrollbar:G(new mO),scrollBeyondLastColumn:G(new ct(105,"scrollBeyondLastColumn",4,0,1073741824,{description:p("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:G(new Pe(106,"scrollBeyondLastLine",!0,{description:p("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:G(new Pe(107,"scrollPredominantAxis",!0,{description:p("scrollPredominantAxis","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:G(new Pe(108,"selectionClipboard",!0,{description:p("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:mn})),selectionHighlight:G(new Pe(109,"selectionHighlight",!0,{description:p("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:G(new Pe(110,"selectOnLineNumbers",!0)),showFoldingControls:G(new It(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[p("showFoldingControls.always","Always show the folding controls."),p("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),p("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:p("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:G(new Pe(112,"showUnused",!0,{description:p("showUnused","Controls fading out of unused code.")})),showDeprecated:G(new Pe(141,"showDeprecated",!0,{description:p("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:G(new iO),snippetSuggestions:G(new It(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[p("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),p("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),p("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),p("snippetSuggestions.none","Do not show snippet suggestions.")],description:p("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:G(new SO),smoothScrolling:G(new Pe(115,"smoothScrolling",!1,{description:p("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:G(new ct(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:G(new vO),inlineSuggest:G(new _O),inlineEdit:G(new bO),inlineCompletionsAccessibilityVerbose:G(new Pe(150,"inlineCompletionsAccessibilityVerbose",!1,{description:p("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:G(new ct(120,"suggestFontSize",0,0,1e3,{markdownDescription:p("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:G(new ct(121,"suggestLineHeight",0,0,1e3,{markdownDescription:p("suggestLineHeight","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:G(new Pe(122,"suggestOnTriggerCharacters",!0,{description:p("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:G(new It(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[p("suggestSelection.first","Always select the first suggestion."),p("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),p("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:p("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:G(new It(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[p("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),p("tabCompletion.off","Disable tab completions."),p("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:p("tabCompletion","Enables tab completions.")})),tabIndex:G(new ct(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:G(new pO),unusualLineTerminators:G(new It(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[p("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),p("unusualLineTerminators.off","Unusual line terminators are ignored."),p("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:p("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:G(new Pe(128,"useShadowDOM",!0)),useTabStops:G(new Pe(129,"useTabStops",!0,{description:p("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:G(new It(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[p("wordBreak.normal","Use the default line break rule."),p("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:p("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:G(new yO),wordSeparators:G(new qi(132,"wordSeparators",GT,{description:p("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:G(new It(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[p("wordWrap.off","Lines will never wrap."),p("wordWrap.on","Lines will wrap at the viewport width."),p({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),p({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:p({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:G(new qi(134,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:G(new qi(135,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:G(new ct(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:p({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:G(new It(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:G(new It(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:G(new q5),defaultColorDecorators:G(new Pe(148,"defaultColorDecorators",!1,{markdownDescription:p("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:G(new cO),tabFocusMode:G(new Pe(145,"tabFocusMode",!1,{markdownDescription:p("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:G(new Uh),wrappingInfo:G(new kO),wrappingIndent:G(new LO),wrappingStrategy:G(new J5)};class TO{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?md.isErrorNoTelemetry(e)?new md(e.message+` `+e.stack):new Error(e.message+` `+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const XT=new TO;function ut(s){kg(s)||XT.onUnexpectedError(s)}function NL(s){kg(s)||XT.onUnexpectedExternalError(s)}function vD(s){if(s instanceof Error){const{name:e,message:t}=s,i=s.stacktrace||s.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:md.isErrorNoTelemetry(s)}}return s}const Np="Canceled";function kg(s){return s instanceof Ba?!0:s instanceof Error&&s.name===Np&&s.message===Np}class Ba extends Error{constructor(){super(Np),this.name=this.message}}function MO(){const s=new Error(Np);return s.name=s.message,s}function ub(s){return s?new Error(`Illegal argument: ${s}`):new Error("Illegal argument")}function TL(s){return s?new Error(`Illegal state: ${s}`):new Error("Illegal state")}class RO extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class md extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof md)return e;const t=new md;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class et extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,et.prototype)}}function pd(s,e){const t=this;let i=!1,n;return function(){return i||(i=!0,n=s.apply(t,arguments)),n}}function JT(s){return typeof s=="object"&&s!==null&&typeof s.dispose=="function"&&s.dispose.length===0}function wi(s){if(Ge.is(s)){const e=[];for(const t of s)if(t)try{t.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(s)?[]:s}else if(s)return s.dispose(),s}function Oo(...s){return ve(()=>wi(s))}function ve(s){return{dispose:pd(()=>{s()})}}const p1=class p1{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{wi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?p1.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}};p1.DISABLE_DISPOSED_WARNING=!1;let ae=p1;const aD=class aD{constructor(){this._store=new ae,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};aD.None=Object.freeze({dispose(){}});let K=aD;class Ur{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}}class vte{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class AO{constructor(e){this.object=e}dispose(){}}class ML{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{wi(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),i||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const PO=globalThis.performance&&typeof globalThis.performance.now=="function";class Nc{static create(e){return new Nc(e)}constructor(e){this._now=PO&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}var Q;(function(s){s.None=()=>K.None;function e(z,F){return u(z,()=>{},0,void 0,!0,void 0,F)}s.defer=e;function t(z){return(F,q=null,X)=>{let ie=!1,se;return se=z(ee=>{if(!ie)return se?se.dispose():ie=!0,F.call(q,ee)},null,X),ie&&se.dispose(),se}}s.once=t;function i(z,F){return s.once(s.filter(z,F))}s.onceIf=i;function n(z,F,q){return h((X,ie=null,se)=>z(ee=>X.call(ie,F(ee)),null,se),q)}s.map=n;function o(z,F,q){return h((X,ie=null,se)=>z(ee=>{F(ee),X.call(ie,ee)},null,se),q)}s.forEach=o;function r(z,F,q){return h((X,ie=null,se)=>z(ee=>F(ee)&&X.call(ie,ee),null,se),q)}s.filter=r;function a(z){return z}s.signal=a;function l(...z){return(F,q=null,X)=>{const ie=Oo(...z.map(se=>se(ee=>F.call(q,ee))));return d(ie,X)}}s.any=l;function c(z,F,q,X){let ie=q;return n(z,se=>(ie=F(ie,se),ie),X)}s.reduce=c;function h(z,F){let q;const X={onWillAddFirstListener(){q=z(ie.fire,ie)},onDidRemoveLastListener(){q?.dispose()}},ie=new A(X);return F?.add(ie),ie.event}function d(z,F){return F instanceof Array?F.push(z):F&&F.add(z),z}function u(z,F,q=100,X=!1,ie=!1,se,ee){let ge,me,yt,it=0,Et;const ot={leakWarningThreshold:se,onWillAddFirstListener(){ge=z(es=>{it++,me=F(me,es),X&&!yt&&(Wt.fire(me),me=void 0),Et=()=>{const jt=me;me=void 0,yt=void 0,(!X||it>1)&&Wt.fire(jt),it=0},typeof q=="number"?(clearTimeout(yt),yt=setTimeout(Et,q)):yt===void 0&&(yt=0,queueMicrotask(Et))})},onWillRemoveListener(){ie&&it>0&&Et?.()},onDidRemoveLastListener(){Et=void 0,ge.dispose()}},Wt=new A(ot);return ee?.add(Wt),Wt.event}s.debounce=u;function f(z,F=0,q){return s.debounce(z,(X,ie)=>X?(X.push(ie),X):[ie],F,void 0,!0,void 0,q)}s.accumulate=f;function g(z,F=(X,ie)=>X===ie,q){let X=!0,ie;return r(z,se=>{const ee=X||!F(se,ie);return X=!1,ie=se,ee},q)}s.latch=g;function m(z,F,q){return[s.filter(z,F,q),s.filter(z,X=>!F(X),q)]}s.split=m;function _(z,F=!1,q=[],X){let ie=q.slice(),se=z(me=>{ie?ie.push(me):ge.fire(me)});X&&X.add(se);const ee=()=>{ie?.forEach(me=>ge.fire(me)),ie=null},ge=new A({onWillAddFirstListener(){se||(se=z(me=>ge.fire(me)),X&&X.add(se))},onDidAddFirstListener(){ie&&(F?setTimeout(ee):ee())},onDidRemoveLastListener(){se&&se.dispose(),se=null}});return X&&X.add(ge),ge.event}s.buffer=_;function b(z,F){return(X,ie,se)=>{const ee=F(new v);return z(function(ge){const me=ee.evaluate(ge);me!==C&&X.call(ie,me)},void 0,se)}}s.chain=b;const C=Symbol("HaltChainable");class v{constructor(){this.steps=[]}map(F){return this.steps.push(F),this}forEach(F){return this.steps.push(q=>(F(q),q)),this}filter(F){return this.steps.push(q=>F(q)?q:C),this}reduce(F,q){let X=q;return this.steps.push(ie=>(X=F(X,ie),X)),this}latch(F=(q,X)=>q===X){let q=!0,X;return this.steps.push(ie=>{const se=q||!F(ie,X);return q=!1,X=ie,se?ie:C}),this}evaluate(F){for(const q of this.steps)if(F=q(F),F===C)break;return F}}function w(z,F,q=X=>X){const X=(...ge)=>ee.fire(q(...ge)),ie=()=>z.on(F,X),se=()=>z.removeListener(F,X),ee=new A({onWillAddFirstListener:ie,onDidRemoveLastListener:se});return ee.event}s.fromNodeEventEmitter=w;function y(z,F,q=X=>X){const X=(...ge)=>ee.fire(q(...ge)),ie=()=>z.addEventListener(F,X),se=()=>z.removeEventListener(F,X),ee=new A({onWillAddFirstListener:ie,onDidRemoveLastListener:se});return ee.event}s.fromDOMEventEmitter=y;function L(z){return new Promise(F=>t(z)(F))}s.toPromise=L;function k(z){const F=new A;return z.then(q=>{F.fire(q)},()=>{F.fire(void 0)}).finally(()=>{F.dispose()}),F.event}s.fromPromise=k;function D(z,F){return z(q=>F.fire(q))}s.forward=D;function E(z,F,q){return F(q),z(X=>F(X))}s.runAndSubscribe=E;class U{constructor(F,q){this._observable=F,this._counter=0,this._hasChanged=!1;const X={onWillAddFirstListener:()=>{F.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{F.removeObserver(this)}};this.emitter=new A(X),q&&q.add(this.emitter)}beginUpdate(F){this._counter++}handlePossibleChange(F){}handleChange(F,q){this._hasChanged=!0}endUpdate(F){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function O(z,F){return new U(z,F).emitter.event}s.fromObservable=O;function B(z){return(F,q,X)=>{let ie=0,se=!1;const ee={beginUpdate(){ie++},endUpdate(){ie--,ie===0&&(z.reportChanges(),se&&(se=!1,F.call(q)))},handlePossibleChange(){},handleChange(){se=!0}};z.addObserver(ee),z.reportChanges();const ge={dispose(){z.removeObserver(ee)}};return X instanceof ae?X.add(ge):Array.isArray(X)&&X.push(ge),ge}}s.fromObservableLight=B})(Q||(Q={}));const Mh=class Mh{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${Mh._idPool++}`,Mh.all.add(this)}start(e){this._stopWatch=new Nc,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};Mh.all=new Set,Mh._idPool=0;let VC=Mh,OO=-1;const _1=class _1{constructor(e,t,i=(_1._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,n]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const a=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(a);const l=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new BO(`${a}. HINT: Stack shows most frequent listener (${l[1]}-times)`,l[0]);return(this._options?.onListenerError||ut)(c),K.None}if(this._disposed)return K.None;t&&(e=e.bind(t));const n=new u0(e);let o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=RL.create(),o=this._leakageMon.check(n.stack,this._size+1)),this._listeners?this._listeners instanceof u0?(this._deliveryQueue??=new eM,this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._size++;const r=ve(()=>{o?.(),this._removeListener(n)});return i instanceof ae?i.add(r):Array.isArray(i)&&i.push(r),r},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const n=this._deliveryQueue.current===this;if(this._size*WO<=t.length){let o=0;for(let r=0;r0}};const VO=()=>new eM;class eM{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class Rf extends A{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Dn,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class tM extends Rf{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class HO extends A{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class zO{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new A({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),ve(pd(()=>{this.hasListeners&&this.unhook(t);const n=this.events.indexOf(t);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(const e of this.events)e.listener?.dispose();this.events=[]}}class xg{constructor(){this.data=[]}wrapEvent(e,t,i){return(n,o,r)=>e(a=>{const l=this.data[this.data.length-1];if(!t){l?l.buffers.push(()=>n.call(o,a)):n.call(o,a);return}const c=l;if(!c){n.call(o,t(i,a));return}c.items??=[],c.items.push(a),c.buffers.length===0&&l.buffers.push(()=>{c.reducedResult??=i?c.items.reduce(t,i):c.items.reduce(t),n.call(o,c.reducedResult)})},void 0,r)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach(n=>n()),i}}class SD{constructor(){this.listening=!1,this.inputEvent=Q.None,this.inputEventListener=K.None,this.emitter=new A({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const iM=Object.freeze(function(s,e){const t=setTimeout(s.bind(e),0);return{dispose(){clearTimeout(t)}}});var Ms;(function(s){function e(t){return t===s.None||t===s.Cancelled||t instanceof Qm?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}s.isCancellationToken=e,s.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Q.None}),s.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:iM})})(Ms||(Ms={}));class Qm{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?iM:(this._emitter||(this._emitter=new A),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let ao=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Qm),this._token}cancel(){this._token?this._token instanceof Qm&&this._token.cancel():this._token=Ms.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Qm&&this._token.dispose():this._token=Ms.None}};function Lte(s){const e=new ao;return s.add({dispose(){e.cancel()}}),e.token}class AL{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const Xm=new AL,zC=new AL,UC=new AL,nM=new Array(230),UO=Object.create(null),$O=Object.create(null),PL=[];for(let s=0;s<=193;s++)PL[s]=-1;(function(){const s="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",s,s],[1,1,"Hyper",0,s,0,s,s,s],[1,2,"Super",0,s,0,s,s,s],[1,3,"Fn",0,s,0,s,s,s],[1,4,"FnLock",0,s,0,s,s,s],[1,5,"Suspend",0,s,0,s,s,s],[1,6,"Resume",0,s,0,s,s,s],[1,7,"Turbo",0,s,0,s,s,s],[1,8,"Sleep",0,s,0,"VK_SLEEP",s,s],[1,9,"WakeUp",0,s,0,s,s,s],[0,10,"KeyA",31,"A",65,"VK_A",s,s],[0,11,"KeyB",32,"B",66,"VK_B",s,s],[0,12,"KeyC",33,"C",67,"VK_C",s,s],[0,13,"KeyD",34,"D",68,"VK_D",s,s],[0,14,"KeyE",35,"E",69,"VK_E",s,s],[0,15,"KeyF",36,"F",70,"VK_F",s,s],[0,16,"KeyG",37,"G",71,"VK_G",s,s],[0,17,"KeyH",38,"H",72,"VK_H",s,s],[0,18,"KeyI",39,"I",73,"VK_I",s,s],[0,19,"KeyJ",40,"J",74,"VK_J",s,s],[0,20,"KeyK",41,"K",75,"VK_K",s,s],[0,21,"KeyL",42,"L",76,"VK_L",s,s],[0,22,"KeyM",43,"M",77,"VK_M",s,s],[0,23,"KeyN",44,"N",78,"VK_N",s,s],[0,24,"KeyO",45,"O",79,"VK_O",s,s],[0,25,"KeyP",46,"P",80,"VK_P",s,s],[0,26,"KeyQ",47,"Q",81,"VK_Q",s,s],[0,27,"KeyR",48,"R",82,"VK_R",s,s],[0,28,"KeyS",49,"S",83,"VK_S",s,s],[0,29,"KeyT",50,"T",84,"VK_T",s,s],[0,30,"KeyU",51,"U",85,"VK_U",s,s],[0,31,"KeyV",52,"V",86,"VK_V",s,s],[0,32,"KeyW",53,"W",87,"VK_W",s,s],[0,33,"KeyX",54,"X",88,"VK_X",s,s],[0,34,"KeyY",55,"Y",89,"VK_Y",s,s],[0,35,"KeyZ",56,"Z",90,"VK_Z",s,s],[0,36,"Digit1",22,"1",49,"VK_1",s,s],[0,37,"Digit2",23,"2",50,"VK_2",s,s],[0,38,"Digit3",24,"3",51,"VK_3",s,s],[0,39,"Digit4",25,"4",52,"VK_4",s,s],[0,40,"Digit5",26,"5",53,"VK_5",s,s],[0,41,"Digit6",27,"6",54,"VK_6",s,s],[0,42,"Digit7",28,"7",55,"VK_7",s,s],[0,43,"Digit8",29,"8",56,"VK_8",s,s],[0,44,"Digit9",30,"9",57,"VK_9",s,s],[0,45,"Digit0",21,"0",48,"VK_0",s,s],[1,46,"Enter",3,"Enter",13,"VK_RETURN",s,s],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",s,s],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",s,s],[1,49,"Tab",2,"Tab",9,"VK_TAB",s,s],[1,50,"Space",10,"Space",32,"VK_SPACE",s,s],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,s,0,s,s,s],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",s,s],[1,64,"F1",59,"F1",112,"VK_F1",s,s],[1,65,"F2",60,"F2",113,"VK_F2",s,s],[1,66,"F3",61,"F3",114,"VK_F3",s,s],[1,67,"F4",62,"F4",115,"VK_F4",s,s],[1,68,"F5",63,"F5",116,"VK_F5",s,s],[1,69,"F6",64,"F6",117,"VK_F6",s,s],[1,70,"F7",65,"F7",118,"VK_F7",s,s],[1,71,"F8",66,"F8",119,"VK_F8",s,s],[1,72,"F9",67,"F9",120,"VK_F9",s,s],[1,73,"F10",68,"F10",121,"VK_F10",s,s],[1,74,"F11",69,"F11",122,"VK_F11",s,s],[1,75,"F12",70,"F12",123,"VK_F12",s,s],[1,76,"PrintScreen",0,s,0,s,s,s],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",s,s],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",s,s],[1,79,"Insert",19,"Insert",45,"VK_INSERT",s,s],[1,80,"Home",14,"Home",36,"VK_HOME",s,s],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",s,s],[1,82,"Delete",20,"Delete",46,"VK_DELETE",s,s],[1,83,"End",13,"End",35,"VK_END",s,s],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",s,s],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",s],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",s],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",s],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",s],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",s,s],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",s,s],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",s,s],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",s,s],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",s,s],[1,94,"NumpadEnter",3,s,0,s,s,s],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",s,s],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",s,s],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",s,s],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",s,s],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",s,s],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",s,s],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",s,s],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",s,s],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",s,s],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",s,s],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",s,s],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",s,s],[1,107,"ContextMenu",58,"ContextMenu",93,s,s,s],[1,108,"Power",0,s,0,s,s,s],[1,109,"NumpadEqual",0,s,0,s,s,s],[1,110,"F13",71,"F13",124,"VK_F13",s,s],[1,111,"F14",72,"F14",125,"VK_F14",s,s],[1,112,"F15",73,"F15",126,"VK_F15",s,s],[1,113,"F16",74,"F16",127,"VK_F16",s,s],[1,114,"F17",75,"F17",128,"VK_F17",s,s],[1,115,"F18",76,"F18",129,"VK_F18",s,s],[1,116,"F19",77,"F19",130,"VK_F19",s,s],[1,117,"F20",78,"F20",131,"VK_F20",s,s],[1,118,"F21",79,"F21",132,"VK_F21",s,s],[1,119,"F22",80,"F22",133,"VK_F22",s,s],[1,120,"F23",81,"F23",134,"VK_F23",s,s],[1,121,"F24",82,"F24",135,"VK_F24",s,s],[1,122,"Open",0,s,0,s,s,s],[1,123,"Help",0,s,0,s,s,s],[1,124,"Select",0,s,0,s,s,s],[1,125,"Again",0,s,0,s,s,s],[1,126,"Undo",0,s,0,s,s,s],[1,127,"Cut",0,s,0,s,s,s],[1,128,"Copy",0,s,0,s,s,s],[1,129,"Paste",0,s,0,s,s,s],[1,130,"Find",0,s,0,s,s,s],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",s,s],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",s,s],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",s,s],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",s,s],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",s,s],[1,136,"KanaMode",0,s,0,s,s,s],[0,137,"IntlYen",0,s,0,s,s,s],[1,138,"Convert",0,s,0,s,s,s],[1,139,"NonConvert",0,s,0,s,s,s],[1,140,"Lang1",0,s,0,s,s,s],[1,141,"Lang2",0,s,0,s,s,s],[1,142,"Lang3",0,s,0,s,s,s],[1,143,"Lang4",0,s,0,s,s,s],[1,144,"Lang5",0,s,0,s,s,s],[1,145,"Abort",0,s,0,s,s,s],[1,146,"Props",0,s,0,s,s,s],[1,147,"NumpadParenLeft",0,s,0,s,s,s],[1,148,"NumpadParenRight",0,s,0,s,s,s],[1,149,"NumpadBackspace",0,s,0,s,s,s],[1,150,"NumpadMemoryStore",0,s,0,s,s,s],[1,151,"NumpadMemoryRecall",0,s,0,s,s,s],[1,152,"NumpadMemoryClear",0,s,0,s,s,s],[1,153,"NumpadMemoryAdd",0,s,0,s,s,s],[1,154,"NumpadMemorySubtract",0,s,0,s,s,s],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",s,s],[1,156,"NumpadClearEntry",0,s,0,s,s,s],[1,0,s,5,"Ctrl",17,"VK_CONTROL",s,s],[1,0,s,4,"Shift",16,"VK_SHIFT",s,s],[1,0,s,6,"Alt",18,"VK_MENU",s,s],[1,0,s,57,"Meta",91,"VK_COMMAND",s,s],[1,157,"ControlLeft",5,s,0,"VK_LCONTROL",s,s],[1,158,"ShiftLeft",4,s,0,"VK_LSHIFT",s,s],[1,159,"AltLeft",6,s,0,"VK_LMENU",s,s],[1,160,"MetaLeft",57,s,0,"VK_LWIN",s,s],[1,161,"ControlRight",5,s,0,"VK_RCONTROL",s,s],[1,162,"ShiftRight",4,s,0,"VK_RSHIFT",s,s],[1,163,"AltRight",6,s,0,"VK_RMENU",s,s],[1,164,"MetaRight",57,s,0,"VK_RWIN",s,s],[1,165,"BrightnessUp",0,s,0,s,s,s],[1,166,"BrightnessDown",0,s,0,s,s,s],[1,167,"MediaPlay",0,s,0,s,s,s],[1,168,"MediaRecord",0,s,0,s,s,s],[1,169,"MediaFastForward",0,s,0,s,s,s],[1,170,"MediaRewind",0,s,0,s,s,s],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",s,s],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",s,s],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",s,s],[1,174,"Eject",0,s,0,s,s,s],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",s,s],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",s,s],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",s,s],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",s,s],[1,179,"LaunchApp1",0,s,0,"VK_MEDIA_LAUNCH_APP1",s,s],[1,180,"SelectTask",0,s,0,s,s,s],[1,181,"LaunchScreenSaver",0,s,0,s,s,s],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",s,s],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",s,s],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",s,s],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",s,s],[1,186,"BrowserStop",0,s,0,"VK_BROWSER_STOP",s,s],[1,187,"BrowserRefresh",0,s,0,"VK_BROWSER_REFRESH",s,s],[1,188,"BrowserFavorites",0,s,0,"VK_BROWSER_FAVORITES",s,s],[1,189,"ZoomToggle",0,s,0,s,s,s],[1,190,"MailReply",0,s,0,s,s,s],[1,191,"MailForward",0,s,0,s,s,s],[1,192,"MailSend",0,s,0,s,s,s],[1,0,s,114,"KeyInComposition",229,s,s,s],[1,0,s,116,"ABNT_C2",194,"VK_ABNT_C2",s,s],[1,0,s,96,"OEM_8",223,"VK_OEM_8",s,s],[1,0,s,0,s,0,"VK_KANA",s,s],[1,0,s,0,s,0,"VK_HANGUL",s,s],[1,0,s,0,s,0,"VK_JUNJA",s,s],[1,0,s,0,s,0,"VK_FINAL",s,s],[1,0,s,0,s,0,"VK_HANJA",s,s],[1,0,s,0,s,0,"VK_KANJI",s,s],[1,0,s,0,s,0,"VK_CONVERT",s,s],[1,0,s,0,s,0,"VK_NONCONVERT",s,s],[1,0,s,0,s,0,"VK_ACCEPT",s,s],[1,0,s,0,s,0,"VK_MODECHANGE",s,s],[1,0,s,0,s,0,"VK_SELECT",s,s],[1,0,s,0,s,0,"VK_PRINT",s,s],[1,0,s,0,s,0,"VK_EXECUTE",s,s],[1,0,s,0,s,0,"VK_SNAPSHOT",s,s],[1,0,s,0,s,0,"VK_HELP",s,s],[1,0,s,0,s,0,"VK_APPS",s,s],[1,0,s,0,s,0,"VK_PROCESSKEY",s,s],[1,0,s,0,s,0,"VK_PACKET",s,s],[1,0,s,0,s,0,"VK_DBE_SBCSCHAR",s,s],[1,0,s,0,s,0,"VK_DBE_DBCSCHAR",s,s],[1,0,s,0,s,0,"VK_ATTN",s,s],[1,0,s,0,s,0,"VK_CRSEL",s,s],[1,0,s,0,s,0,"VK_EXSEL",s,s],[1,0,s,0,s,0,"VK_EREOF",s,s],[1,0,s,0,s,0,"VK_PLAY",s,s],[1,0,s,0,s,0,"VK_ZOOM",s,s],[1,0,s,0,s,0,"VK_NONAME",s,s],[1,0,s,0,s,0,"VK_PA1",s,s],[1,0,s,0,s,0,"VK_OEM_CLEAR",s,s]],t=[],i=[];for(const n of e){const[o,r,a,l,c,h,d,u,f]=n;if(i[r]||(i[r]=!0,UO[a]=r,$O[a.toLowerCase()]=r,o&&(PL[r]=l)),!t[l]){if(t[l]=!0,!c)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);Xm.define(l,c),zC.define(l,u||c),UC.define(l,f||u||c)}h&&(nM[h]=l)}})();var Cr;(function(s){function e(a){return Xm.keyCodeToStr(a)}s.toString=e;function t(a){return Xm.strToKeyCode(a)}s.fromString=t;function i(a){return zC.keyCodeToStr(a)}s.toUserSettingsUS=i;function n(a){return UC.keyCodeToStr(a)}s.toUserSettingsGeneral=n;function o(a){return zC.strToKeyCode(a)||UC.strToKeyCode(a)}s.fromUserSettings=o;function r(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Xm.keyCodeToStr(a)}s.toElectronAccelerator=r})(Cr||(Cr={}));function KO(s,e){const t=(e&65535)<<16>>>0;return(s|t)>>>0}var yD={};let Kh;const f0=globalThis.vscode;if(typeof f0<"u"&&typeof f0.process<"u"){const s=f0.process;Kh={get platform(){return s.platform},get arch(){return s.arch},get env(){return s.env},cwd(){return s.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?Kh={get platform(){return process.platform},get arch(){return process.arch},get env(){return yD},cwd(){return yD.VSCODE_CWD||process.cwd()}}:Kh={get platform(){return gn?"win32":Ve?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const Tp=Kh.cwd,$C=Kh.env,qO=Kh.platform,jO=65,GO=97,ZO=90,YO=122,Ma=46,zi=47,On=92,na=58,QO=63;class sM extends Error{constructor(e,t,i){let n;typeof t=="string"&&t.indexOf("not ")===0?(n="must not be",t=t.replace(/^not /,"")):n="must be";const o=e.indexOf(".")!==-1?"property":"argument";let r=`The "${e}" ${o} ${n} of type ${t}`;r+=`. Received type ${typeof i}`,super(r),this.code="ERR_INVALID_ARG_TYPE"}}function XO(s,e){if(s===null||typeof s!="object")throw new sM(e,"Object",s)}function ri(s,e){if(typeof s!="string")throw new sM(e,"string",s)}const qr=qO==="win32";function Je(s){return s===zi||s===On}function KC(s){return s===zi}function sa(s){return s>=jO&&s<=ZO||s>=GO&&s<=YO}function Mp(s,e,t,i){let n="",o=0,r=-1,a=0,l=0;for(let c=0;c<=s.length;++c){if(c2){const h=n.lastIndexOf(t);h===-1?(n="",o=0):(n=n.slice(0,h),o=n.length-1-n.lastIndexOf(t)),r=c,a=0;continue}else if(n.length!==0){n="",o=0,r=c,a=0;continue}}e&&(n+=n.length>0?`${t}..`:"..",o=2)}else n.length>0?n+=`${t}${s.slice(r+1,c)}`:n=s.slice(r+1,c),o=c-r-1;r=c,a=0}else l===Ma&&a!==-1?++a:a=-1}return n}function JO(s){return s?`${s[0]==="."?"":"."}${s}`:""}function oM(s,e){XO(e,"pathObject");const t=e.dir||e.root,i=e.base||`${e.name||""}${JO(e.ext)}`;return t?t===e.root?`${t}${i}`:`${t}${s}${i}`:i}const un={resolve(...s){let e="",t="",i=!1;for(let n=s.length-1;n>=-1;n--){let o;if(n>=0){if(o=s[n],ri(o,`paths[${n}]`),o.length===0)continue}else e.length===0?o=Tp():(o=$C[`=${e}`]||Tp(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===On)&&(o=`${e}\\`));const r=o.length;let a=0,l="",c=!1;const h=o.charCodeAt(0);if(r===1)Je(h)&&(a=1,c=!0);else if(Je(h))if(c=!0,Je(o.charCodeAt(1))){let d=2,u=d;for(;d2&&Je(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(i){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,i=c,c&&e.length>0)break}return t=Mp(t,!i,"\\",Je),i?`${e}\\${t}`:`${e}${t}`||"."},normalize(s){ri(s,"path");const e=s.length;if(e===0)return".";let t=0,i,n=!1;const o=s.charCodeAt(0);if(e===1)return KC(o)?"\\":s;if(Je(o))if(n=!0,Je(s.charCodeAt(1))){let a=2,l=a;for(;a2&&Je(s.charCodeAt(2))&&(n=!0,t=3));let r=t0&&Je(s.charCodeAt(e-1))&&(r+="\\"),i===void 0?n?`\\${r}`:r:n?`${i}\\${r}`:`${i}${r}`},isAbsolute(s){ri(s,"path");const e=s.length;if(e===0)return!1;const t=s.charCodeAt(0);return Je(t)||e>2&&sa(t)&&s.charCodeAt(1)===na&&Je(s.charCodeAt(2))},join(...s){if(s.length===0)return".";let e,t;for(let o=0;o0&&(e===void 0?e=t=r:e+=`\\${r}`)}if(e===void 0)return".";let i=!0,n=0;if(typeof t=="string"&&Je(t.charCodeAt(0))){++n;const o=t.length;o>1&&Je(t.charCodeAt(1))&&(++n,o>2&&(Je(t.charCodeAt(2))?++n:i=!1))}if(i){for(;n=2&&(e=`\\${e.slice(n)}`)}return un.normalize(e)},relative(s,e){if(ri(s,"from"),ri(e,"to"),s===e)return"";const t=un.resolve(s),i=un.resolve(e);if(t===i||(s=t.toLowerCase(),e=i.toLowerCase(),s===e))return"";let n=0;for(;nn&&s.charCodeAt(o-1)===On;)o--;const r=o-n;let a=0;for(;aa&&e.charCodeAt(l-1)===On;)l--;const c=l-a,h=rh){if(e.charCodeAt(a+u)===On)return i.slice(a+u+1);if(u===2)return i.slice(a+u)}r>h&&(s.charCodeAt(n+u)===On?d=u:u===2&&(d=3)),d===-1&&(d=0)}let f="";for(u=n+d+1;u<=o;++u)(u===o||s.charCodeAt(u)===On)&&(f+=f.length===0?"..":"\\..");return a+=d,f.length>0?`${f}${i.slice(a,l)}`:(i.charCodeAt(a)===On&&++a,i.slice(a,l))},toNamespacedPath(s){if(typeof s!="string"||s.length===0)return s;const e=un.resolve(s);if(e.length<=2)return s;if(e.charCodeAt(0)===On){if(e.charCodeAt(1)===On){const t=e.charCodeAt(2);if(t!==QO&&t!==Ma)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(sa(e.charCodeAt(0))&&e.charCodeAt(1)===na&&e.charCodeAt(2)===On)return`\\\\?\\${e}`;return s},dirname(s){ri(s,"path");const e=s.length;if(e===0)return".";let t=-1,i=0;const n=s.charCodeAt(0);if(e===1)return Je(n)?s:".";if(Je(n)){if(t=i=1,Je(s.charCodeAt(1))){let a=2,l=a;for(;a2&&Je(s.charCodeAt(2))?3:2,i=t);let o=-1,r=!0;for(let a=e-1;a>=i;--a)if(Je(s.charCodeAt(a))){if(!r){o=a;break}}else r=!1;if(o===-1){if(t===-1)return".";o=t}return s.slice(0,o)},basename(s,e){e!==void 0&&ri(e,"suffix"),ri(s,"path");let t=0,i=-1,n=!0,o;if(s.length>=2&&sa(s.charCodeAt(0))&&s.charCodeAt(1)===na&&(t=2),e!==void 0&&e.length>0&&e.length<=s.length){if(e===s)return"";let r=e.length-1,a=-1;for(o=s.length-1;o>=t;--o){const l=s.charCodeAt(o);if(Je(l)){if(!n){t=o+1;break}}else a===-1&&(n=!1,a=o+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=o):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=s.length),s.slice(t,i)}for(o=s.length-1;o>=t;--o)if(Je(s.charCodeAt(o))){if(!n){t=o+1;break}}else i===-1&&(n=!1,i=o+1);return i===-1?"":s.slice(t,i)},extname(s){ri(s,"path");let e=0,t=-1,i=0,n=-1,o=!0,r=0;s.length>=2&&s.charCodeAt(1)===na&&sa(s.charCodeAt(0))&&(e=i=2);for(let a=s.length-1;a>=e;--a){const l=s.charCodeAt(a);if(Je(l)){if(!o){i=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===Ma?t===-1?t=a:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||n===-1||r===0||r===1&&t===n-1&&t===i+1?"":s.slice(t,n)},format:oM.bind(null,"\\"),parse(s){ri(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return e;const t=s.length;let i=0,n=s.charCodeAt(0);if(t===1)return Je(n)?(e.root=e.dir=s,e):(e.base=e.name=s,e);if(Je(n)){if(i=1,Je(s.charCodeAt(1))){let d=2,u=d;for(;d0&&(e.root=s.slice(0,i));let o=-1,r=i,a=-1,l=!0,c=s.length-1,h=0;for(;c>=i;--c){if(n=s.charCodeAt(c),Je(n)){if(!l){r=c+1;break}continue}a===-1&&(l=!1,a=c+1),n===Ma?o===-1?o=c:h!==1&&(h=1):o!==-1&&(h=-1)}return a!==-1&&(o===-1||h===0||h===1&&o===a-1&&o===r+1?e.base=e.name=s.slice(r,a):(e.name=s.slice(r,o),e.base=s.slice(r,a),e.ext=s.slice(o,a))),r>0&&r!==i?e.dir=s.slice(0,r-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},e7=(()=>{if(qr){const s=/\\/g;return()=>{const e=Tp().replace(s,"/");return e.slice(e.indexOf("/"))}}return()=>Tp()})(),zt={resolve(...s){let e="",t=!1;for(let i=s.length-1;i>=-1&&!t;i--){const n=i>=0?s[i]:e7();ri(n,`paths[${i}]`),n.length!==0&&(e=`${n}/${e}`,t=n.charCodeAt(0)===zi)}return e=Mp(e,!t,"/",KC),t?`/${e}`:e.length>0?e:"."},normalize(s){if(ri(s,"path"),s.length===0)return".";const e=s.charCodeAt(0)===zi,t=s.charCodeAt(s.length-1)===zi;return s=Mp(s,!e,"/",KC),s.length===0?e?"/":t?"./":".":(t&&(s+="/"),e?`/${s}`:s)},isAbsolute(s){return ri(s,"path"),s.length>0&&s.charCodeAt(0)===zi},join(...s){if(s.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=i:e+=`/${i}`)}return e===void 0?".":zt.normalize(e)},relative(s,e){if(ri(s,"from"),ri(e,"to"),s===e||(s=zt.resolve(s),e=zt.resolve(e),s===e))return"";const t=1,i=s.length,n=i-t,o=1,r=e.length-o,a=na){if(e.charCodeAt(o+c)===zi)return e.slice(o+c+1);if(c===0)return e.slice(o+c)}else n>a&&(s.charCodeAt(t+c)===zi?l=c:c===0&&(l=0));let h="";for(c=t+l+1;c<=i;++c)(c===i||s.charCodeAt(c)===zi)&&(h+=h.length===0?"..":"/..");return`${h}${e.slice(o+l)}`},toNamespacedPath(s){return s},dirname(s){if(ri(s,"path"),s.length===0)return".";const e=s.charCodeAt(0)===zi;let t=-1,i=!0;for(let n=s.length-1;n>=1;--n)if(s.charCodeAt(n)===zi){if(!i){t=n;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":s.slice(0,t)},basename(s,e){e!==void 0&&ri(e,"ext"),ri(s,"path");let t=0,i=-1,n=!0,o;if(e!==void 0&&e.length>0&&e.length<=s.length){if(e===s)return"";let r=e.length-1,a=-1;for(o=s.length-1;o>=0;--o){const l=s.charCodeAt(o);if(l===zi){if(!n){t=o+1;break}}else a===-1&&(n=!1,a=o+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=o):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=s.length),s.slice(t,i)}for(o=s.length-1;o>=0;--o)if(s.charCodeAt(o)===zi){if(!n){t=o+1;break}}else i===-1&&(n=!1,i=o+1);return i===-1?"":s.slice(t,i)},extname(s){ri(s,"path");let e=-1,t=0,i=-1,n=!0,o=0;for(let r=s.length-1;r>=0;--r){const a=s.charCodeAt(r);if(a===zi){if(!n){t=r+1;break}continue}i===-1&&(n=!1,i=r+1),a===Ma?e===-1?e=r:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||i===-1||o===0||o===1&&e===i-1&&e===t+1?"":s.slice(e,i)},format:oM.bind(null,"/"),parse(s){ri(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return e;const t=s.charCodeAt(0)===zi;let i;t?(e.root="/",i=1):i=0;let n=-1,o=0,r=-1,a=!0,l=s.length-1,c=0;for(;l>=i;--l){const h=s.charCodeAt(l);if(h===zi){if(!a){o=l+1;break}continue}r===-1&&(a=!1,r=l+1),h===Ma?n===-1?n=l:c!==1&&(c=1):n!==-1&&(c=-1)}if(r!==-1){const h=o===0&&t?1:o;n===-1||c===0||c===1&&n===r-1&&n===o+1?e.base=e.name=s.slice(h,r):(e.name=s.slice(h,n),e.base=s.slice(h,r),e.ext=s.slice(n,r))}return o>0?e.dir=s.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};zt.win32=un.win32=un;zt.posix=un.posix=zt;const rM=qr?un.normalize:zt.normalize,t7=qr?un.join:zt.join,i7=qr?un.resolve:zt.resolve,n7=qr?un.relative:zt.relative,s7=qr?un.dirname:zt.dirname,OL=qr?un.basename:zt.basename,o7=qr?un.extname:zt.extname,Ra=qr?un.sep:zt.sep,r7=/^\w[\w\d+.-]*$/,a7=/^\//,l7=/^\/\//;function c7(s,e){if(!s.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${s.authority}", path: "${s.path}", query: "${s.query}", fragment: "${s.fragment}"}`);if(s.scheme&&!r7.test(s.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(s.path){if(s.authority){if(!a7.test(s.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l7.test(s.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function h7(s,e){return!s&&!e?"file":s}function d7(s,e){switch(s){case"https":case"http":case"file":e?e[0]!==js&&(e=js+e):e=js;break}return e}const Vt="",js="/",u7=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class De{static isUri(e){return e instanceof De?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,n,o,r=!1){typeof e=="object"?(this.scheme=e.scheme||Vt,this.authority=e.authority||Vt,this.path=e.path||Vt,this.query=e.query||Vt,this.fragment=e.fragment||Vt):(this.scheme=h7(e,r),this.authority=t||Vt,this.path=d7(this.scheme,i||Vt),this.query=n||Vt,this.fragment=o||Vt,c7(this,r))}get fsPath(){return Rp(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:o,fragment:r}=e;return t===void 0?t=this.scheme:t===null&&(t=Vt),i===void 0?i=this.authority:i===null&&(i=Vt),n===void 0?n=this.path:n===null&&(n=Vt),o===void 0?o=this.query:o===null&&(o=Vt),r===void 0?r=this.fragment:r===null&&(r=Vt),t===this.scheme&&i===this.authority&&n===this.path&&o===this.query&&r===this.fragment?this:new Qc(t,i,n,o,r)}static parse(e,t=!1){const i=u7.exec(e);return i?new Qc(i[2]||Vt,om(i[4]||Vt),om(i[5]||Vt),om(i[7]||Vt),om(i[9]||Vt),t):new Qc(Vt,Vt,Vt,Vt,Vt)}static file(e){let t=Vt;if(gn&&(e=e.replace(/\\/g,js)),e[0]===js&&e[1]===js){const i=e.indexOf(js,2);i===-1?(t=e.substring(2),e=js):(t=e.substring(2,i),e=e.substring(i)||js)}return new Qc("file",t,e,Vt,Vt)}static from(e,t){return new Qc(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return gn&&e.scheme==="file"?i=De.file(un.join(Rp(e,!0),...t)).path:i=zt.join(e.path,...t),e.with({path:i})}toString(e=!1){return qC(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof De)return e;{const t=new Qc(e);return t._formatted=e.external??null,t._fsPath=e._sep===aM?e.fsPath??null:null,t}}else return e}}const aM=gn?1:void 0;let Qc=class extends De{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Rp(this,!1)),this._fsPath}toString(e=!1){return e?qC(this,!0):(this._formatted||(this._formatted=qC(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=aM),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const lM={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function LD(s,e,t){let i,n=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===46||r===95||r===126||e&&r===47||t&&r===91||t&&r===93||t&&r===58)n!==-1&&(i+=encodeURIComponent(s.substring(n,o)),n=-1),i!==void 0&&(i+=s.charAt(o));else{i===void 0&&(i=s.substr(0,o));const a=lM[r];a!==void 0?(n!==-1&&(i+=encodeURIComponent(s.substring(n,o)),n=-1),i+=a):n===-1&&(n=o)}}return n!==-1&&(i+=encodeURIComponent(s.substring(n))),i!==void 0?i:s}function f7(s){let e;for(let t=0;t1&&s.scheme==="file"?t=`//${s.authority}${s.path}`:s.path.charCodeAt(0)===47&&(s.path.charCodeAt(1)>=65&&s.path.charCodeAt(1)<=90||s.path.charCodeAt(1)>=97&&s.path.charCodeAt(1)<=122)&&s.path.charCodeAt(2)===58?e?t=s.path.substr(1):t=s.path[1].toLowerCase()+s.path.substr(2):t=s.path,gn&&(t=t.replace(/\//g,"\\")),t}function qC(s,e){const t=e?f7:LD;let i="",{scheme:n,authority:o,path:r,query:a,fragment:l}=s;if(n&&(i+=n,i+=":"),(o||n==="file")&&(i+=js,i+=js),o){let c=o.indexOf("@");if(c!==-1){const h=o.substr(0,c);o=o.substr(c+1),c=h.lastIndexOf(":"),c===-1?i+=t(h,!1,!1):(i+=t(h.substr(0,c),!1,!1),i+=":",i+=t(h.substr(c+1),!1,!0)),i+="@"}o=o.toLowerCase(),c=o.lastIndexOf(":"),c===-1?i+=t(o,!1,!0):(i+=t(o.substr(0,c),!1,!0),i+=o.substr(c))}if(r){if(r.length>=3&&r.charCodeAt(0)===47&&r.charCodeAt(2)===58){const c=r.charCodeAt(1);c>=65&&c<=90&&(r=`/${String.fromCharCode(c+32)}:${r.substr(3)}`)}else if(r.length>=2&&r.charCodeAt(1)===58){const c=r.charCodeAt(0);c>=65&&c<=90&&(r=`${String.fromCharCode(c+32)}:${r.substr(2)}`)}i+=t(r,!0,!1)}return a&&(i+="?",i+=t(a,!1,!1)),l&&(i+="#",i+=e?l:LD(l,!1,!1)),i}function cM(s){try{return decodeURIComponent(s)}catch{return s.length>3?s.substr(0,3)+cM(s.substr(3)):s}}const kD=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function om(s){return s.match(kD)?s.replace(kD,e=>cM(e)):s}let W=class _l{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new _l(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return _l.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return _l.isBefore(this,e)}static isBefore(e,t){return e.lineNumberi||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return pi.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return pi.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return pi.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return pi.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return pi.plusRange(this,e)}static plusRange(e,t){let i,n,o,r;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,r=e.endColumn),new pi(i,n,o,r)}intersectRanges(e){return pi.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,c=t.endLineNumber,h=t.endColumn;return ic?(o=c,r=h):o===c&&(r=Math.min(r,h)),i>o||i===o&&n>r?null:new pi(i,n,o,r)}equalsRange(e){return pi.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return pi.getEndPosition(this)}static getEndPosition(e){return new W(e.endLineNumber,e.endColumn)}getStartPosition(){return pi.getStartPosition(this)}static getStartPosition(e){return new W(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new pi(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new pi(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return pi.collapseToStart(this)}static collapseToStart(e){return new pi(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return pi.collapseToEnd(this)}static collapseToEnd(e){return new pi(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new pi(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new pi(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new pi(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},tt=class ws extends R{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return ws.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new ws(this.startLineNumber,this.startColumn,e,t):new ws(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new W(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new W(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new ws(e,t,this.endLineNumber,this.endColumn):new ws(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new ws(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new ws(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new ws(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new ws(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const i=new p7(this,e,t);return this._factories.set(e,i),ve(()=>{const n=this._factories.get(e);!n||n!==i||(this._factories.delete(e),n.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class p7 extends K{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let Af=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class FL{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class fb{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var xD;(function(s){s[s.Increase=0]="Increase",s[s.Decrease=1]="Decrease"})(xD||(xD={}));var DD;(function(s){const e=new Map;e.set(0,re.symbolMethod),e.set(1,re.symbolFunction),e.set(2,re.symbolConstructor),e.set(3,re.symbolField),e.set(4,re.symbolVariable),e.set(5,re.symbolClass),e.set(6,re.symbolStruct),e.set(7,re.symbolInterface),e.set(8,re.symbolModule),e.set(9,re.symbolProperty),e.set(10,re.symbolEvent),e.set(11,re.symbolOperator),e.set(12,re.symbolUnit),e.set(13,re.symbolValue),e.set(15,re.symbolEnum),e.set(14,re.symbolConstant),e.set(15,re.symbolEnum),e.set(16,re.symbolEnumMember),e.set(17,re.symbolKeyword),e.set(27,re.symbolSnippet),e.set(18,re.symbolText),e.set(19,re.symbolColor),e.set(20,re.symbolFile),e.set(21,re.symbolReference),e.set(22,re.symbolCustomColor),e.set(23,re.symbolFolder),e.set(24,re.symbolTypeParameter),e.set(25,re.account),e.set(26,re.issues);function t(o){let r=e.get(o);return r||(console.info("No codicon found for CompletionItemKind "+o),r=re.symbolProperty),r}s.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function n(o,r){let a=i.get(o);return typeof a>"u"&&!r&&(a=9),a}s.fromString=n})(DD||(DD={}));var ED;(function(s){s[s.Automatic=0]="Automatic",s[s.Explicit=1]="Explicit"})(ED||(ED={}));class _7{constructor(e,t,i,n){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=n}equals(e){return R.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}var ID;(function(s){s[s.Automatic=0]="Automatic",s[s.PasteAs=1]="PasteAs"})(ID||(ID={}));var ND;(function(s){s[s.Invoke=1]="Invoke",s[s.TriggerCharacter=2]="TriggerCharacter",s[s.ContentChange=3]="ContentChange"})(ND||(ND={}));var TD;(function(s){s[s.Text=0]="Text",s[s.Read=1]="Read",s[s.Write=2]="Write"})(TD||(TD={}));function Ete(s){return s&&De.isUri(s.uri)&&R.isIRange(s.range)&&(R.isIRange(s.originSelectionRange)||R.isIRange(s.targetSelectionRange))}const b7={17:p("Array","array"),16:p("Boolean","boolean"),4:p("Class","class"),13:p("Constant","constant"),8:p("Constructor","constructor"),9:p("Enum","enumeration"),21:p("EnumMember","enumeration member"),23:p("Event","event"),7:p("Field","field"),0:p("File","file"),11:p("Function","function"),10:p("Interface","interface"),19:p("Key","key"),5:p("Method","method"),1:p("Module","module"),2:p("Namespace","namespace"),20:p("Null","null"),15:p("Number","number"),18:p("Object","object"),24:p("Operator","operator"),3:p("Package","package"),6:p("Property","property"),14:p("String","string"),22:p("Struct","struct"),25:p("TypeParameter","type parameter"),12:p("Variable","variable")};function Ite(s,e){return p("symbolAriaLabel","{0} ({1})",s,b7[e])}var GC;(function(s){const e=new Map;e.set(0,re.symbolFile),e.set(1,re.symbolModule),e.set(2,re.symbolNamespace),e.set(3,re.symbolPackage),e.set(4,re.symbolClass),e.set(5,re.symbolMethod),e.set(6,re.symbolProperty),e.set(7,re.symbolField),e.set(8,re.symbolConstructor),e.set(9,re.symbolEnum),e.set(10,re.symbolInterface),e.set(11,re.symbolFunction),e.set(12,re.symbolVariable),e.set(13,re.symbolConstant),e.set(14,re.symbolString),e.set(15,re.symbolNumber),e.set(16,re.symbolBoolean),e.set(17,re.symbolArray),e.set(18,re.symbolObject),e.set(19,re.symbolKey),e.set(20,re.symbolNull),e.set(21,re.symbolEnumMember),e.set(22,re.symbolStruct),e.set(23,re.symbolEvent),e.set(24,re.symbolOperator),e.set(25,re.symbolTypeParameter);function t(i){let n=e.get(i);return n||(console.info("No codicon found for SymbolKind "+i),n=re.symbolProperty),n}s.toIcon=t})(GC||(GC={}));const Ss=class Ss{static fromValue(e){switch(e){case"comment":return Ss.Comment;case"imports":return Ss.Imports;case"region":return Ss.Region}return new Ss(e)}constructor(e){this.value=e}};Ss.Comment=new Ss("comment"),Ss.Imports=new Ss("imports"),Ss.Region=new Ss("region");let ZC=Ss;var MD;(function(s){s[s.AIGenerated=1]="AIGenerated"})(MD||(MD={}));var RD;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(RD||(RD={}));var AD;(function(s){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}s.is=e})(AD||(AD={}));var PD;(function(s){s[s.Type=1]="Type",s[s.Parameter=2]="Parameter"})(PD||(PD={}));class C7{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const qt=new dM,YC=new dM;var OD;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(OD||(OD={}));var QC;(function(s){s[s.Unknown=0]="Unknown",s[s.Disabled=1]="Disabled",s[s.Enabled=2]="Enabled"})(QC||(QC={}));var XC;(function(s){s[s.Invoke=1]="Invoke",s[s.Auto=2]="Auto"})(XC||(XC={}));var JC;(function(s){s[s.None=0]="None",s[s.KeepWhitespace=1]="KeepWhitespace",s[s.InsertAsSnippet=4]="InsertAsSnippet"})(JC||(JC={}));var ew;(function(s){s[s.Method=0]="Method",s[s.Function=1]="Function",s[s.Constructor=2]="Constructor",s[s.Field=3]="Field",s[s.Variable=4]="Variable",s[s.Class=5]="Class",s[s.Struct=6]="Struct",s[s.Interface=7]="Interface",s[s.Module=8]="Module",s[s.Property=9]="Property",s[s.Event=10]="Event",s[s.Operator=11]="Operator",s[s.Unit=12]="Unit",s[s.Value=13]="Value",s[s.Constant=14]="Constant",s[s.Enum=15]="Enum",s[s.EnumMember=16]="EnumMember",s[s.Keyword=17]="Keyword",s[s.Text=18]="Text",s[s.Color=19]="Color",s[s.File=20]="File",s[s.Reference=21]="Reference",s[s.Customcolor=22]="Customcolor",s[s.Folder=23]="Folder",s[s.TypeParameter=24]="TypeParameter",s[s.User=25]="User",s[s.Issue=26]="Issue",s[s.Snippet=27]="Snippet"})(ew||(ew={}));var tw;(function(s){s[s.Deprecated=1]="Deprecated"})(tw||(tw={}));var iw;(function(s){s[s.Invoke=0]="Invoke",s[s.TriggerCharacter=1]="TriggerCharacter",s[s.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(iw||(iw={}));var nw;(function(s){s[s.EXACT=0]="EXACT",s[s.ABOVE=1]="ABOVE",s[s.BELOW=2]="BELOW"})(nw||(nw={}));var sw;(function(s){s[s.NotSet=0]="NotSet",s[s.ContentFlush=1]="ContentFlush",s[s.RecoverFromMarkers=2]="RecoverFromMarkers",s[s.Explicit=3]="Explicit",s[s.Paste=4]="Paste",s[s.Undo=5]="Undo",s[s.Redo=6]="Redo"})(sw||(sw={}));var ow;(function(s){s[s.LF=1]="LF",s[s.CRLF=2]="CRLF"})(ow||(ow={}));var rw;(function(s){s[s.Text=0]="Text",s[s.Read=1]="Read",s[s.Write=2]="Write"})(rw||(rw={}));var aw;(function(s){s[s.None=0]="None",s[s.Keep=1]="Keep",s[s.Brackets=2]="Brackets",s[s.Advanced=3]="Advanced",s[s.Full=4]="Full"})(aw||(aw={}));var lw;(function(s){s[s.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",s[s.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",s[s.accessibilitySupport=2]="accessibilitySupport",s[s.accessibilityPageSize=3]="accessibilityPageSize",s[s.ariaLabel=4]="ariaLabel",s[s.ariaRequired=5]="ariaRequired",s[s.autoClosingBrackets=6]="autoClosingBrackets",s[s.autoClosingComments=7]="autoClosingComments",s[s.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",s[s.autoClosingDelete=9]="autoClosingDelete",s[s.autoClosingOvertype=10]="autoClosingOvertype",s[s.autoClosingQuotes=11]="autoClosingQuotes",s[s.autoIndent=12]="autoIndent",s[s.automaticLayout=13]="automaticLayout",s[s.autoSurround=14]="autoSurround",s[s.bracketPairColorization=15]="bracketPairColorization",s[s.guides=16]="guides",s[s.codeLens=17]="codeLens",s[s.codeLensFontFamily=18]="codeLensFontFamily",s[s.codeLensFontSize=19]="codeLensFontSize",s[s.colorDecorators=20]="colorDecorators",s[s.colorDecoratorsLimit=21]="colorDecoratorsLimit",s[s.columnSelection=22]="columnSelection",s[s.comments=23]="comments",s[s.contextmenu=24]="contextmenu",s[s.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",s[s.cursorBlinking=26]="cursorBlinking",s[s.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",s[s.cursorStyle=28]="cursorStyle",s[s.cursorSurroundingLines=29]="cursorSurroundingLines",s[s.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",s[s.cursorWidth=31]="cursorWidth",s[s.disableLayerHinting=32]="disableLayerHinting",s[s.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",s[s.domReadOnly=34]="domReadOnly",s[s.dragAndDrop=35]="dragAndDrop",s[s.dropIntoEditor=36]="dropIntoEditor",s[s.emptySelectionClipboard=37]="emptySelectionClipboard",s[s.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",s[s.extraEditorClassName=39]="extraEditorClassName",s[s.fastScrollSensitivity=40]="fastScrollSensitivity",s[s.find=41]="find",s[s.fixedOverflowWidgets=42]="fixedOverflowWidgets",s[s.folding=43]="folding",s[s.foldingStrategy=44]="foldingStrategy",s[s.foldingHighlight=45]="foldingHighlight",s[s.foldingImportsByDefault=46]="foldingImportsByDefault",s[s.foldingMaximumRegions=47]="foldingMaximumRegions",s[s.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",s[s.fontFamily=49]="fontFamily",s[s.fontInfo=50]="fontInfo",s[s.fontLigatures=51]="fontLigatures",s[s.fontSize=52]="fontSize",s[s.fontWeight=53]="fontWeight",s[s.fontVariations=54]="fontVariations",s[s.formatOnPaste=55]="formatOnPaste",s[s.formatOnType=56]="formatOnType",s[s.glyphMargin=57]="glyphMargin",s[s.gotoLocation=58]="gotoLocation",s[s.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",s[s.hover=60]="hover",s[s.inDiffEditor=61]="inDiffEditor",s[s.inlineSuggest=62]="inlineSuggest",s[s.inlineEdit=63]="inlineEdit",s[s.letterSpacing=64]="letterSpacing",s[s.lightbulb=65]="lightbulb",s[s.lineDecorationsWidth=66]="lineDecorationsWidth",s[s.lineHeight=67]="lineHeight",s[s.lineNumbers=68]="lineNumbers",s[s.lineNumbersMinChars=69]="lineNumbersMinChars",s[s.linkedEditing=70]="linkedEditing",s[s.links=71]="links",s[s.matchBrackets=72]="matchBrackets",s[s.minimap=73]="minimap",s[s.mouseStyle=74]="mouseStyle",s[s.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",s[s.mouseWheelZoom=76]="mouseWheelZoom",s[s.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",s[s.multiCursorModifier=78]="multiCursorModifier",s[s.multiCursorPaste=79]="multiCursorPaste",s[s.multiCursorLimit=80]="multiCursorLimit",s[s.occurrencesHighlight=81]="occurrencesHighlight",s[s.overviewRulerBorder=82]="overviewRulerBorder",s[s.overviewRulerLanes=83]="overviewRulerLanes",s[s.padding=84]="padding",s[s.pasteAs=85]="pasteAs",s[s.parameterHints=86]="parameterHints",s[s.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",s[s.placeholder=88]="placeholder",s[s.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",s[s.quickSuggestions=90]="quickSuggestions",s[s.quickSuggestionsDelay=91]="quickSuggestionsDelay",s[s.readOnly=92]="readOnly",s[s.readOnlyMessage=93]="readOnlyMessage",s[s.renameOnType=94]="renameOnType",s[s.renderControlCharacters=95]="renderControlCharacters",s[s.renderFinalNewline=96]="renderFinalNewline",s[s.renderLineHighlight=97]="renderLineHighlight",s[s.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",s[s.renderValidationDecorations=99]="renderValidationDecorations",s[s.renderWhitespace=100]="renderWhitespace",s[s.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",s[s.roundedSelection=102]="roundedSelection",s[s.rulers=103]="rulers",s[s.scrollbar=104]="scrollbar",s[s.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",s[s.scrollBeyondLastLine=106]="scrollBeyondLastLine",s[s.scrollPredominantAxis=107]="scrollPredominantAxis",s[s.selectionClipboard=108]="selectionClipboard",s[s.selectionHighlight=109]="selectionHighlight",s[s.selectOnLineNumbers=110]="selectOnLineNumbers",s[s.showFoldingControls=111]="showFoldingControls",s[s.showUnused=112]="showUnused",s[s.snippetSuggestions=113]="snippetSuggestions",s[s.smartSelect=114]="smartSelect",s[s.smoothScrolling=115]="smoothScrolling",s[s.stickyScroll=116]="stickyScroll",s[s.stickyTabStops=117]="stickyTabStops",s[s.stopRenderingLineAfter=118]="stopRenderingLineAfter",s[s.suggest=119]="suggest",s[s.suggestFontSize=120]="suggestFontSize",s[s.suggestLineHeight=121]="suggestLineHeight",s[s.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",s[s.suggestSelection=123]="suggestSelection",s[s.tabCompletion=124]="tabCompletion",s[s.tabIndex=125]="tabIndex",s[s.unicodeHighlighting=126]="unicodeHighlighting",s[s.unusualLineTerminators=127]="unusualLineTerminators",s[s.useShadowDOM=128]="useShadowDOM",s[s.useTabStops=129]="useTabStops",s[s.wordBreak=130]="wordBreak",s[s.wordSegmenterLocales=131]="wordSegmenterLocales",s[s.wordSeparators=132]="wordSeparators",s[s.wordWrap=133]="wordWrap",s[s.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",s[s.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",s[s.wordWrapColumn=136]="wordWrapColumn",s[s.wordWrapOverride1=137]="wordWrapOverride1",s[s.wordWrapOverride2=138]="wordWrapOverride2",s[s.wrappingIndent=139]="wrappingIndent",s[s.wrappingStrategy=140]="wrappingStrategy",s[s.showDeprecated=141]="showDeprecated",s[s.inlayHints=142]="inlayHints",s[s.editorClassName=143]="editorClassName",s[s.pixelRatio=144]="pixelRatio",s[s.tabFocusMode=145]="tabFocusMode",s[s.layoutInfo=146]="layoutInfo",s[s.wrappingInfo=147]="wrappingInfo",s[s.defaultColorDecorators=148]="defaultColorDecorators",s[s.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",s[s.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"})(lw||(lw={}));var cw;(function(s){s[s.TextDefined=0]="TextDefined",s[s.LF=1]="LF",s[s.CRLF=2]="CRLF"})(cw||(cw={}));var hw;(function(s){s[s.LF=0]="LF",s[s.CRLF=1]="CRLF"})(hw||(hw={}));var dw;(function(s){s[s.Left=1]="Left",s[s.Center=2]="Center",s[s.Right=3]="Right"})(dw||(dw={}));var uw;(function(s){s[s.Increase=0]="Increase",s[s.Decrease=1]="Decrease"})(uw||(uw={}));var fw;(function(s){s[s.None=0]="None",s[s.Indent=1]="Indent",s[s.IndentOutdent=2]="IndentOutdent",s[s.Outdent=3]="Outdent"})(fw||(fw={}));var gw;(function(s){s[s.Both=0]="Both",s[s.Right=1]="Right",s[s.Left=2]="Left",s[s.None=3]="None"})(gw||(gw={}));var mw;(function(s){s[s.Type=1]="Type",s[s.Parameter=2]="Parameter"})(mw||(mw={}));var pw;(function(s){s[s.Automatic=0]="Automatic",s[s.Explicit=1]="Explicit"})(pw||(pw={}));var _w;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(_w||(_w={}));var bw;(function(s){s[s.DependsOnKbLayout=-1]="DependsOnKbLayout",s[s.Unknown=0]="Unknown",s[s.Backspace=1]="Backspace",s[s.Tab=2]="Tab",s[s.Enter=3]="Enter",s[s.Shift=4]="Shift",s[s.Ctrl=5]="Ctrl",s[s.Alt=6]="Alt",s[s.PauseBreak=7]="PauseBreak",s[s.CapsLock=8]="CapsLock",s[s.Escape=9]="Escape",s[s.Space=10]="Space",s[s.PageUp=11]="PageUp",s[s.PageDown=12]="PageDown",s[s.End=13]="End",s[s.Home=14]="Home",s[s.LeftArrow=15]="LeftArrow",s[s.UpArrow=16]="UpArrow",s[s.RightArrow=17]="RightArrow",s[s.DownArrow=18]="DownArrow",s[s.Insert=19]="Insert",s[s.Delete=20]="Delete",s[s.Digit0=21]="Digit0",s[s.Digit1=22]="Digit1",s[s.Digit2=23]="Digit2",s[s.Digit3=24]="Digit3",s[s.Digit4=25]="Digit4",s[s.Digit5=26]="Digit5",s[s.Digit6=27]="Digit6",s[s.Digit7=28]="Digit7",s[s.Digit8=29]="Digit8",s[s.Digit9=30]="Digit9",s[s.KeyA=31]="KeyA",s[s.KeyB=32]="KeyB",s[s.KeyC=33]="KeyC",s[s.KeyD=34]="KeyD",s[s.KeyE=35]="KeyE",s[s.KeyF=36]="KeyF",s[s.KeyG=37]="KeyG",s[s.KeyH=38]="KeyH",s[s.KeyI=39]="KeyI",s[s.KeyJ=40]="KeyJ",s[s.KeyK=41]="KeyK",s[s.KeyL=42]="KeyL",s[s.KeyM=43]="KeyM",s[s.KeyN=44]="KeyN",s[s.KeyO=45]="KeyO",s[s.KeyP=46]="KeyP",s[s.KeyQ=47]="KeyQ",s[s.KeyR=48]="KeyR",s[s.KeyS=49]="KeyS",s[s.KeyT=50]="KeyT",s[s.KeyU=51]="KeyU",s[s.KeyV=52]="KeyV",s[s.KeyW=53]="KeyW",s[s.KeyX=54]="KeyX",s[s.KeyY=55]="KeyY",s[s.KeyZ=56]="KeyZ",s[s.Meta=57]="Meta",s[s.ContextMenu=58]="ContextMenu",s[s.F1=59]="F1",s[s.F2=60]="F2",s[s.F3=61]="F3",s[s.F4=62]="F4",s[s.F5=63]="F5",s[s.F6=64]="F6",s[s.F7=65]="F7",s[s.F8=66]="F8",s[s.F9=67]="F9",s[s.F10=68]="F10",s[s.F11=69]="F11",s[s.F12=70]="F12",s[s.F13=71]="F13",s[s.F14=72]="F14",s[s.F15=73]="F15",s[s.F16=74]="F16",s[s.F17=75]="F17",s[s.F18=76]="F18",s[s.F19=77]="F19",s[s.F20=78]="F20",s[s.F21=79]="F21",s[s.F22=80]="F22",s[s.F23=81]="F23",s[s.F24=82]="F24",s[s.NumLock=83]="NumLock",s[s.ScrollLock=84]="ScrollLock",s[s.Semicolon=85]="Semicolon",s[s.Equal=86]="Equal",s[s.Comma=87]="Comma",s[s.Minus=88]="Minus",s[s.Period=89]="Period",s[s.Slash=90]="Slash",s[s.Backquote=91]="Backquote",s[s.BracketLeft=92]="BracketLeft",s[s.Backslash=93]="Backslash",s[s.BracketRight=94]="BracketRight",s[s.Quote=95]="Quote",s[s.OEM_8=96]="OEM_8",s[s.IntlBackslash=97]="IntlBackslash",s[s.Numpad0=98]="Numpad0",s[s.Numpad1=99]="Numpad1",s[s.Numpad2=100]="Numpad2",s[s.Numpad3=101]="Numpad3",s[s.Numpad4=102]="Numpad4",s[s.Numpad5=103]="Numpad5",s[s.Numpad6=104]="Numpad6",s[s.Numpad7=105]="Numpad7",s[s.Numpad8=106]="Numpad8",s[s.Numpad9=107]="Numpad9",s[s.NumpadMultiply=108]="NumpadMultiply",s[s.NumpadAdd=109]="NumpadAdd",s[s.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",s[s.NumpadSubtract=111]="NumpadSubtract",s[s.NumpadDecimal=112]="NumpadDecimal",s[s.NumpadDivide=113]="NumpadDivide",s[s.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",s[s.ABNT_C1=115]="ABNT_C1",s[s.ABNT_C2=116]="ABNT_C2",s[s.AudioVolumeMute=117]="AudioVolumeMute",s[s.AudioVolumeUp=118]="AudioVolumeUp",s[s.AudioVolumeDown=119]="AudioVolumeDown",s[s.BrowserSearch=120]="BrowserSearch",s[s.BrowserHome=121]="BrowserHome",s[s.BrowserBack=122]="BrowserBack",s[s.BrowserForward=123]="BrowserForward",s[s.MediaTrackNext=124]="MediaTrackNext",s[s.MediaTrackPrevious=125]="MediaTrackPrevious",s[s.MediaStop=126]="MediaStop",s[s.MediaPlayPause=127]="MediaPlayPause",s[s.LaunchMediaPlayer=128]="LaunchMediaPlayer",s[s.LaunchMail=129]="LaunchMail",s[s.LaunchApp2=130]="LaunchApp2",s[s.Clear=131]="Clear",s[s.MAX_VALUE=132]="MAX_VALUE"})(bw||(bw={}));var Cw;(function(s){s[s.Hint=1]="Hint",s[s.Info=2]="Info",s[s.Warning=4]="Warning",s[s.Error=8]="Error"})(Cw||(Cw={}));var ww;(function(s){s[s.Unnecessary=1]="Unnecessary",s[s.Deprecated=2]="Deprecated"})(ww||(ww={}));var vw;(function(s){s[s.Inline=1]="Inline",s[s.Gutter=2]="Gutter"})(vw||(vw={}));var Sw;(function(s){s[s.Normal=1]="Normal",s[s.Underlined=2]="Underlined"})(Sw||(Sw={}));var yw;(function(s){s[s.UNKNOWN=0]="UNKNOWN",s[s.TEXTAREA=1]="TEXTAREA",s[s.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",s[s.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",s[s.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",s[s.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",s[s.CONTENT_TEXT=6]="CONTENT_TEXT",s[s.CONTENT_EMPTY=7]="CONTENT_EMPTY",s[s.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",s[s.CONTENT_WIDGET=9]="CONTENT_WIDGET",s[s.OVERVIEW_RULER=10]="OVERVIEW_RULER",s[s.SCROLLBAR=11]="SCROLLBAR",s[s.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",s[s.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(yw||(yw={}));var Lw;(function(s){s[s.AIGenerated=1]="AIGenerated"})(Lw||(Lw={}));var kw;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(kw||(kw={}));var xw;(function(s){s[s.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",s[s.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",s[s.TOP_CENTER=2]="TOP_CENTER"})(xw||(xw={}));var Dw;(function(s){s[s.Left=1]="Left",s[s.Center=2]="Center",s[s.Right=4]="Right",s[s.Full=7]="Full"})(Dw||(Dw={}));var Ew;(function(s){s[s.Word=0]="Word",s[s.Line=1]="Line",s[s.Suggest=2]="Suggest"})(Ew||(Ew={}));var Iw;(function(s){s[s.Left=0]="Left",s[s.Right=1]="Right",s[s.None=2]="None",s[s.LeftOfInjectedText=3]="LeftOfInjectedText",s[s.RightOfInjectedText=4]="RightOfInjectedText"})(Iw||(Iw={}));var Nw;(function(s){s[s.Off=0]="Off",s[s.On=1]="On",s[s.Relative=2]="Relative",s[s.Interval=3]="Interval",s[s.Custom=4]="Custom"})(Nw||(Nw={}));var Tw;(function(s){s[s.None=0]="None",s[s.Text=1]="Text",s[s.Blocks=2]="Blocks"})(Tw||(Tw={}));var Mw;(function(s){s[s.Smooth=0]="Smooth",s[s.Immediate=1]="Immediate"})(Mw||(Mw={}));var Rw;(function(s){s[s.Auto=1]="Auto",s[s.Hidden=2]="Hidden",s[s.Visible=3]="Visible"})(Rw||(Rw={}));var Aw;(function(s){s[s.LTR=0]="LTR",s[s.RTL=1]="RTL"})(Aw||(Aw={}));var Pw;(function(s){s.Off="off",s.OnCode="onCode",s.On="on"})(Pw||(Pw={}));var Ow;(function(s){s[s.Invoke=1]="Invoke",s[s.TriggerCharacter=2]="TriggerCharacter",s[s.ContentChange=3]="ContentChange"})(Ow||(Ow={}));var Fw;(function(s){s[s.File=0]="File",s[s.Module=1]="Module",s[s.Namespace=2]="Namespace",s[s.Package=3]="Package",s[s.Class=4]="Class",s[s.Method=5]="Method",s[s.Property=6]="Property",s[s.Field=7]="Field",s[s.Constructor=8]="Constructor",s[s.Enum=9]="Enum",s[s.Interface=10]="Interface",s[s.Function=11]="Function",s[s.Variable=12]="Variable",s[s.Constant=13]="Constant",s[s.String=14]="String",s[s.Number=15]="Number",s[s.Boolean=16]="Boolean",s[s.Array=17]="Array",s[s.Object=18]="Object",s[s.Key=19]="Key",s[s.Null=20]="Null",s[s.EnumMember=21]="EnumMember",s[s.Struct=22]="Struct",s[s.Event=23]="Event",s[s.Operator=24]="Operator",s[s.TypeParameter=25]="TypeParameter"})(Fw||(Fw={}));var Bw;(function(s){s[s.Deprecated=1]="Deprecated"})(Bw||(Bw={}));var Ww;(function(s){s[s.Hidden=0]="Hidden",s[s.Blink=1]="Blink",s[s.Smooth=2]="Smooth",s[s.Phase=3]="Phase",s[s.Expand=4]="Expand",s[s.Solid=5]="Solid"})(Ww||(Ww={}));var Vw;(function(s){s[s.Line=1]="Line",s[s.Block=2]="Block",s[s.Underline=3]="Underline",s[s.LineThin=4]="LineThin",s[s.BlockOutline=5]="BlockOutline",s[s.UnderlineThin=6]="UnderlineThin"})(Vw||(Vw={}));var Hw;(function(s){s[s.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",s[s.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",s[s.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",s[s.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(Hw||(Hw={}));var zw;(function(s){s[s.None=0]="None",s[s.Same=1]="Same",s[s.Indent=2]="Indent",s[s.DeepIndent=3]="DeepIndent"})(zw||(zw={}));var Mr;let w7=(Mr=class{static chord(e,t){return KO(e,t)}},Mr.CtrlCmd=2048,Mr.Shift=1024,Mr.Alt=512,Mr.WinCtrl=256,Mr);function uM(){return{editor:void 0,languages:void 0,CancellationTokenSource:ao,Emitter:A,KeyCode:bw,KeyMod:w7,Position:W,Range:R,Selection:tt,SelectionDirection:Aw,MarkerSeverity:Cw,MarkerTag:ww,Uri:De,Token:Af}}function v7(s,e){const t=s;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const ht=window;function fM(s){return s}class S7{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=fM):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class FD{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,typeof e=="function"?(this._fn=e,this._computeKey=fM):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const i=this._fn(e);return this._map.set(e,i),this._map2.set(t,i),i}}class Wa{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function y7(s){return!s||typeof s!="string"?!0:s.trim().length===0}const L7=/{(\d+)}/g;function Ap(s,...e){return e.length===0?s:s.replace(L7,function(t,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=e.length?t:e[n]})}function k7(s){return s.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function Fu(s){return s.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function $r(s){return s.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Nte(s,e=" "){const t=Dg(s,e);return gM(t,e)}function Dg(s,e){if(!s||!e)return s;const t=e.length;if(t===0||s.length===0)return s;let i=0;for(;s.indexOf(e,i)===i;)i=i+t;return s.substring(i)}function gM(s,e){if(!s||!e)return s;const t=e.length,i=s.length;if(t===0||i===0)return s;let n=i,o=-1;for(;o=s.lastIndexOf(e,n-1),!(o===-1||o+t!==n);){if(o===0)return"";n=o}return s.substring(0,n)}function x7(s){return s.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function Tte(s){return s.replace(/\*/g,"")}function mM(s,e,t={}){if(!s)throw new Error("Cannot create regex from empty string");e||(s=$r(s)),t.wholeWord&&(/\B/.test(s.charAt(0))||(s="\\b"+s),/\B/.test(s.charAt(s.length-1))||(s=s+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(s,i)}function D7(s){return s.source==="^"||s.source==="^$"||s.source==="$"||s.source==="^\\s*$"?!1:!!(s.exec("")&&s.lastIndex===0)}function Fd(s){return s.split(/\r\n|\r|\n/)}function Mte(s){const e=[],t=s.split(/(\r\n|\r|\n)/);for(let i=0;i=0;t--){const i=s.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function Uw(s,e){return se?1:0}function BL(s,e,t=0,i=s.length,n=0,o=e.length){for(;tc)return 1}const r=i-t,a=o-n;return ra?1:0}function BD(s,e){return Eg(s,e,0,s.length,0,e.length)}function Eg(s,e,t=0,i=s.length,n=0,o=e.length){for(;t=128||c>=128)return BL(s.toLowerCase(),e.toLowerCase(),t,i,n,o);fh(l)&&(l-=32),fh(c)&&(c-=32);const h=l-c;if(h!==0)return h}const r=i-t,a=o-n;return ra?1:0}function rm(s){return s>=48&&s<=57}function fh(s){return s>=97&&s<=122}function ha(s){return s>=65&&s<=90}function gh(s,e){return s.length===e.length&&Eg(s,e)===0}function WL(s,e){const t=e.length;return e.length>s.length?!1:Eg(s,e,0,t)===0}function $w(s,e){const t=Math.min(s.length,e.length);let i;for(i=0;i1){const i=s.charCodeAt(e-2);if(ai(i))return VL(i,t)}return t}class HL{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=E7(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=Pp(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class Op{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new HL(e,t)}nextGraphemeLength(){const e=Fp.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const o=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(WD(n,r)){t.setOffset(o);break}n=r}return t.offset-i}prevGraphemeLength(){const e=Fp.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const o=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(WD(r,n)){t.setOffset(o);break}n=r}return i-t.offset}eol(){return this._iterator.eol()}}function zL(s,e){return new Op(s,e).nextGraphemeLength()}function pM(s,e){return new Op(s,e).prevGraphemeLength()}function I7(s,e){e>0&&_d(s.charCodeAt(e))&&e--;const t=e+zL(s,e);return[t-pM(s,t),t]}let g0;function N7(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function Pf(s){return g0||(g0=N7()),g0.test(s)}const T7=/^[\t\n\r\x20-\x7E]*$/;function UL(s){return T7.test(s)}const _M=/[\u2028\u2029]/;function bM(s){return _M.test(s)}function Va(s){return s>=11904&&s<=55215||s>=63744&&s<=64255||s>=65281&&s<=65374}function $L(s){return s>=127462&&s<=127487||s===8986||s===8987||s===9200||s===9203||s>=9728&&s<=10175||s===11088||s===11093||s>=127744&&s<=128591||s>=128640&&s<=128764||s>=128992&&s<=129008||s>=129280&&s<=129535||s>=129648&&s<=129782}const M7="\uFEFF";function KL(s){return!!(s&&s.length>0&&s.charCodeAt(0)===65279)}function Rte(s,e=!1){return s?(e&&(s=s.replace(/\\./g,"")),s.toLowerCase()!==s):!1}function CM(s){return s=s%(2*26),s<26?String.fromCharCode(97+s):String.fromCharCode(65+s-26)}function WD(s,e){return s===0?e!==5&&e!==7:s===2&&e===3?!1:s===4||s===2||s===3||e===4||e===2||e===3?!0:!(s===8&&(e===8||e===9||e===11||e===12)||(s===11||s===9)&&(e===9||e===10)||(s===12||s===10)&&e===10||e===5||e===13||e===7||s===1||s===13&&e===14||s===6&&e===6)}const Bl=class Bl{static getInstance(){return Bl._INSTANCE||(Bl._INSTANCE=new Bl),Bl._INSTANCE}constructor(){this._data=R7()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(et[3*n+1])n=2*n+1;else return t[3*n+2];return 0}};Bl._INSTANCE=null;let Fp=Bl;function R7(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function A7(s,e){if(s===0)return 0;const t=P7(s,e);if(t!==void 0)return t;const i=new HL(e,s);return i.prevCodePoint(),i.offset}function P7(s,e){const t=new HL(e,s);let i=t.prevCodePoint();for(;O7(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!$L(i))return;let n=t.offset;return n>0&&t.prevCodePoint()===8205&&(n=t.offset),n}function O7(s){return 127995<=s&&s<=127999}const Ate=" ",ko=class ko{static getInstance(e){return ko.cache.get(Array.from(e))}static getLocales(){return ko._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}};ko.ambiguousCharacterData=new Wa(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')),ko.cache=new S7({getCacheKey:JSON.stringify},e=>{function t(h){const d=new Map;for(let u=0;u!h.startsWith("_")&&h in o);r.length===0&&(r=["_default"]);let a;for(const h of r){const d=t(o[h]);a=n(a,d)}const l=t(o._common),c=i(l,a);return new ko(c)}),ko._locales=new Wa(()=>Object.keys(ko.ambiguousCharacterData.value).filter(e=>!e.startsWith("_")));let Of=ko;const Rh=class Rh{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Rh.getRawData())),this._data}static isInvisibleCharacter(e){return Rh.getData().has(e)}static get codePoints(){return Rh.getData()}};Rh._data=void 0;let Bu=Rh;const b1=class b1{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};b1.INSTANCE=new b1;let qw=b1;function wM(s,e,t){typeof e=="string"&&(e=s.matchMedia(e)),e.addEventListener("change",t)}function F7(s){return qw.INSTANCE.getZoomFactor(s)}const Bd=navigator.userAgent,Rs=Bd.indexOf("Firefox")>=0,gb=Bd.indexOf("AppleWebKit")>=0,Ig=Bd.indexOf("Chrome")>=0,Ha=!Ig&&Bd.indexOf("Safari")>=0,vM=!Ig&&!Ha&&gb;Bd.indexOf("Electron/")>=0;const VD=Bd.indexOf("Android")>=0;let m0=!1;if(typeof ht.matchMedia=="function"){const s=ht.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=ht.matchMedia("(display-mode: fullscreen)");m0=s.matches,wM(ht,s,({matches:t})=>{m0&&e.matches||(m0=t)})}const qL={clipboard:{writeText:Ep||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Ep||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:ht.PointerEvent&&("ontouchstart"in ht||navigator.maxTouchPoints>0)};function jw(s,e){if(typeof s=="number"){if(s===0)return null;const t=(s&65535)>>>0,i=(s&4294901760)>>>16;return i!==0?new p0([am(t,e),am(i,e)]):new p0([am(t,e)])}else{const t=[];for(let i=0;i{const r=e.token.onCancellationRequested(()=>{r.dispose(),o(new Ba)});Promise.resolve(t).then(a=>{r.dispose(),e.dispose(),n(a)},a=>{r.dispose(),e.dispose(),o(a)})});return new class{cancel(){e.cancel(),e.dispose()}then(n,o){return i.then(n,o)}catch(n){return this.then(void 0,n)}finally(n){return i.finally(n)}}}function Pte(s,e,t){return new Promise((i,n)=>{const o=e.onCancellationRequested(()=>{o.dispose(),i(t)});s.then(i,n).finally(()=>o.dispose())})}class j7{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(n=>{this.activePromise=null,t(n)},n=>{this.activePromise=null,i(n)})})}dispose(){this.isDisposed=!0}}const G7=(s,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},s);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},Z7=s=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,s())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class Ng{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,o)=>{this.doResolve=n,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const n=this.task;return this.task=null,n()}}));const i=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===SM?Z7(i):G7(t,i),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new Ba),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}class LM{constructor(e){this.delayer=new Ng(e),this.throttler=new j7}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function Ff(s,e){return e?new Promise((t,i)=>{const n=setTimeout(()=>{o.dispose(),t()},s),o=e.onCancellationRequested(()=>{clearTimeout(n),o.dispose(),i(new Ba)})}):yM(t=>Ff(s,t))}function Zw(s,e=0,t){const i=setTimeout(()=>{s(),t&&n.dispose()},e),n=ve(()=>{clearTimeout(i),t?.deleteAndLeak(n)});return t?.add(n),n}function Ote(s,e=i=>!!i,t=null){let i=0;const n=s.length,o=()=>{if(i>=n)return Promise.resolve(t);const r=s[i++];return Promise.resolve(r()).then(l=>e(l)?Promise.resolve(l):o())};return o()}class Mc{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new et("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new et("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class jL{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new et("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const n=i.setInterval(()=>{e()},t);this.disposable=ve(()=>{i.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}class Gi{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let kM,Wu;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?Wu=(s,e)=>{qT(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:Wu=(s,e,t)=>{const i=s.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let n=!1;return{dispose(){n||(n=!0,s.cancelIdleCallback(i))}}},kM=s=>Wu(globalThis,s)})();class xM{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=Wu(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class Y7 extends xM{constructor(e){super(globalThis,e)}}class DM{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new Ba)}}var Yw;(function(s){async function e(i){let n;const o=await Promise.all(i.map(r=>r.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return o}s.settled=e;function t(i){return new Promise(async(n,o)=>{try{await i(n,o)}catch(r){o(r)}})}s.withAsyncBody=t})(Yw||(Yw={}));const yn=class yn{static fromArray(e){return new yn(t=>{t.emitMany(e)})}static fromPromise(e){return new yn(async t=>{t.emitMany(await e)})}static fromPromises(e){return new yn(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new yn(async t=>{await Promise.all(e.map(async i=>{for await(const n of i)t.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new A,queueMicrotask(async()=>{const i={emitOne:n=>this.emitOne(n),emitMany:n=>this.emitMany(n),reject:n=>this.reject(n)};try{await Promise.resolve(e(i)),this.resolve()}catch(n){this.reject(n)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new yn(async i=>{for await(const n of e)i.emitOne(t(n))})}map(e){return yn.map(this,e)}static filter(e,t){return new yn(async i=>{for await(const n of e)t(n)&&i.emitOne(n)})}filter(e){return yn.filter(this,e)}static coalesce(e){return yn.filter(e,t=>!!t)}coalesce(){return yn.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return yn.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};yn.EMPTY=yn.fromArray([]);let Qw=yn;class Q7 extends Qw{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function Fte(s){const e=new ao,t=s(e.token);return new Q7(e,async i=>{const n=e.token.onCancellationRequested(()=>{n.dispose(),e.dispose(),i.reject(new Ba)});try{for await(const o of t){if(e.token.isCancellationRequested)return;i.emitOne(o)}n.dispose(),e.dispose()}catch(o){n.dispose(),e.dispose(),i.reject(o)}})}/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */const{entries:EM,setPrototypeOf:zD,isFrozen:X7,getPrototypeOf:J7,getOwnPropertyDescriptor:e9}=Object;let{freeze:Nn,seal:As,create:IM}=Object,{apply:Xw,construct:Jw}=typeof Reflect<"u"&&Reflect;Nn||(Nn=function(e){return e});As||(As=function(e){return e});Xw||(Xw=function(e,t,i){return e.apply(t,i)});Jw||(Jw=function(e,t){return new e(...t)});const lm=ms(Array.prototype.forEach),UD=ms(Array.prototype.pop),iu=ms(Array.prototype.push),Jm=ms(String.prototype.toLowerCase),_0=ms(String.prototype.toString),$D=ms(String.prototype.match),nu=ms(String.prototype.replace),t9=ms(String.prototype.indexOf),i9=ms(String.prototype.trim),$s=ms(Object.prototype.hasOwnProperty),wn=ms(RegExp.prototype.test),su=n9(TypeError);function ms(s){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:Jm;zD&&zD(s,null);let i=e.length;for(;i--;){let n=e[i];if(typeof n=="string"){const o=t(n);o!==n&&(X7(e)||(e[i]=o),n=o)}s[n]=!0}return s}function s9(s){for(let e=0;e/gm),c9=As(/\${[\w\W]*}/gm),h9=As(/^data-[\-\w.\u00B7-\uFFFF]/),d9=As(/^aria-[\-\w]+$/),NM=As(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),u9=As(/^(?:\w+script|data):/i),f9=As(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),TM=As(/^html$/i),g9=As(/^[a-z][.\w]*(-[.\w]+)+$/i);var ZD=Object.freeze({__proto__:null,MUSTACHE_EXPR:a9,ERB_EXPR:l9,TMPLIT_EXPR:c9,DATA_ATTR:h9,ARIA_ATTR:d9,IS_ALLOWED_URI:NM,IS_SCRIPT_OR_DATA:u9,ATTR_WHITESPACE:f9,DOCTYPE_NAME:TM,CUSTOM_ELEMENT:g9});const ru={element:1,text:3,progressingInstruction:7,comment:8,document:9},m9=function(){return typeof window>"u"?null:window},p9=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));const o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function MM(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m9();const e=xe=>MM(xe);if(e.version="3.1.7",e.removed=[],!s||!s.document||s.document.nodeType!==ru.document)return e.isSupported=!1,e;let{document:t}=s;const i=t,n=i.currentScript,{DocumentFragment:o,HTMLTemplateElement:r,Node:a,Element:l,NodeFilter:c,NamedNodeMap:h=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:d,DOMParser:u,trustedTypes:f}=s,g=l.prototype,m=ou(g,"cloneNode"),_=ou(g,"remove"),b=ou(g,"nextSibling"),C=ou(g,"childNodes"),v=ou(g,"parentNode");if(typeof r=="function"){const xe=t.createElement("template");xe.content&&xe.content.ownerDocument&&(t=xe.content.ownerDocument)}let w,y="";const{implementation:L,createNodeIterator:k,createDocumentFragment:D,getElementsByTagName:E}=t,{importNode:U}=i;let O={};e.isSupported=typeof EM=="function"&&typeof v=="function"&&L&&L.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:B,ERB_EXPR:z,TMPLIT_EXPR:F,DATA_ATTR:q,ARIA_ATTR:X,IS_SCRIPT_OR_DATA:ie,ATTR_WHITESPACE:se,CUSTOM_ELEMENT:ee}=ZD;let{IS_ALLOWED_URI:ge}=ZD,me=null;const yt=lt({},[...KD,...b0,...C0,...w0,...qD]);let it=null;const Et=lt({},[...jD,...v0,...GD,...cm]);let ot=Object.seal(IM(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Wt=null,es=null,jt=!0,bs=!0,Xr=!1,Qg=!0,Jr=!1,Yd=!0,Yo=!1,Qd=!1,Xd=!1,ea=!1,qc=!1,jc=!1,nl=!0,Xg=!1;const Jg="user-content-";let Gc=!0,sl=!1,fo={},ta=null;const Zc=lt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let em=null;const ol=lt({},["audio","video","img","source","image","track"]);let Qo=null;const An=lt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),go="http://www.w3.org/1998/Math/MathML",Xo="http://www.w3.org/2000/svg",mi="http://www.w3.org/1999/xhtml";let Cs=mi,Yc=!1,Bs=null;const kt=lt({},[go,Xo,mi],_0);let rl=null;const l0=["application/xhtml+xml","text/html"],c0="text/html";let yi=null,ia=null;const h0=t.createElement("form"),tm=function(H){return H instanceof RegExp||H instanceof Function},Jd=function(){let H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ia&&ia===H)){if((!H||typeof H!="object")&&(H={}),H=bl(H),rl=l0.indexOf(H.PARSER_MEDIA_TYPE)===-1?c0:H.PARSER_MEDIA_TYPE,yi=rl==="application/xhtml+xml"?_0:Jm,me=$s(H,"ALLOWED_TAGS")?lt({},H.ALLOWED_TAGS,yi):yt,it=$s(H,"ALLOWED_ATTR")?lt({},H.ALLOWED_ATTR,yi):Et,Bs=$s(H,"ALLOWED_NAMESPACES")?lt({},H.ALLOWED_NAMESPACES,_0):kt,Qo=$s(H,"ADD_URI_SAFE_ATTR")?lt(bl(An),H.ADD_URI_SAFE_ATTR,yi):An,em=$s(H,"ADD_DATA_URI_TAGS")?lt(bl(ol),H.ADD_DATA_URI_TAGS,yi):ol,ta=$s(H,"FORBID_CONTENTS")?lt({},H.FORBID_CONTENTS,yi):Zc,Wt=$s(H,"FORBID_TAGS")?lt({},H.FORBID_TAGS,yi):{},es=$s(H,"FORBID_ATTR")?lt({},H.FORBID_ATTR,yi):{},fo=$s(H,"USE_PROFILES")?H.USE_PROFILES:!1,jt=H.ALLOW_ARIA_ATTR!==!1,bs=H.ALLOW_DATA_ATTR!==!1,Xr=H.ALLOW_UNKNOWN_PROTOCOLS||!1,Qg=H.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Jr=H.SAFE_FOR_TEMPLATES||!1,Yd=H.SAFE_FOR_XML!==!1,Yo=H.WHOLE_DOCUMENT||!1,ea=H.RETURN_DOM||!1,qc=H.RETURN_DOM_FRAGMENT||!1,jc=H.RETURN_TRUSTED_TYPE||!1,Xd=H.FORCE_BODY||!1,nl=H.SANITIZE_DOM!==!1,Xg=H.SANITIZE_NAMED_PROPS||!1,Gc=H.KEEP_CONTENT!==!1,sl=H.IN_PLACE||!1,ge=H.ALLOWED_URI_REGEXP||NM,Cs=H.NAMESPACE||mi,ot=H.CUSTOM_ELEMENT_HANDLING||{},H.CUSTOM_ELEMENT_HANDLING&&tm(H.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ot.tagNameCheck=H.CUSTOM_ELEMENT_HANDLING.tagNameCheck),H.CUSTOM_ELEMENT_HANDLING&&tm(H.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ot.attributeNameCheck=H.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),H.CUSTOM_ELEMENT_HANDLING&&typeof H.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ot.allowCustomizedBuiltInElements=H.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Jr&&(bs=!1),qc&&(ea=!0),fo&&(me=lt({},qD),it=[],fo.html===!0&&(lt(me,KD),lt(it,jD)),fo.svg===!0&&(lt(me,b0),lt(it,v0),lt(it,cm)),fo.svgFilters===!0&&(lt(me,C0),lt(it,v0),lt(it,cm)),fo.mathMl===!0&&(lt(me,w0),lt(it,GD),lt(it,cm))),H.ADD_TAGS&&(me===yt&&(me=bl(me)),lt(me,H.ADD_TAGS,yi)),H.ADD_ATTR&&(it===Et&&(it=bl(it)),lt(it,H.ADD_ATTR,yi)),H.ADD_URI_SAFE_ATTR&<(Qo,H.ADD_URI_SAFE_ATTR,yi),H.FORBID_CONTENTS&&(ta===Zc&&(ta=bl(ta)),lt(ta,H.FORBID_CONTENTS,yi)),Gc&&(me["#text"]=!0),Yo&<(me,["html","head","body"]),me.table&&(lt(me,["tbody"]),delete Wt.tbody),H.TRUSTED_TYPES_POLICY){if(typeof H.TRUSTED_TYPES_POLICY.createHTML!="function")throw su('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof H.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw su('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=H.TRUSTED_TYPES_POLICY,y=w.createHTML("")}else w===void 0&&(w=p9(f,n)),w!==null&&typeof y=="string"&&(y=w.createHTML(""));Nn&&Nn(H),ia=H}},Ae=lt({},["mi","mo","mn","ms","mtext"]),I=lt({},["annotation-xml"]),T=lt({},["title","style","font","a","script"]),M=lt({},[...b0,...C0,...o9]),P=lt({},[...w0,...r9]),V=function(H){let ce=v(H);(!ce||!ce.tagName)&&(ce={namespaceURI:Cs,tagName:"template"});const we=Jm(H.tagName),Kt=Jm(ce.tagName);return Bs[H.namespaceURI]?H.namespaceURI===Xo?ce.namespaceURI===mi?we==="svg":ce.namespaceURI===go?we==="svg"&&(Kt==="annotation-xml"||Ae[Kt]):!!M[we]:H.namespaceURI===go?ce.namespaceURI===mi?we==="math":ce.namespaceURI===Xo?we==="math"&&I[Kt]:!!P[we]:H.namespaceURI===mi?ce.namespaceURI===Xo&&!I[Kt]||ce.namespaceURI===go&&!Ae[Kt]?!1:!P[we]&&(T[we]||!M[we]):!!(rl==="application/xhtml+xml"&&Bs[H.namespaceURI]):!1},j=function(H){iu(e.removed,{element:H});try{v(H).removeChild(H)}catch{_(H)}},Y=function(H,ce){try{iu(e.removed,{attribute:ce.getAttributeNode(H),from:ce})}catch{iu(e.removed,{attribute:null,from:ce})}if(ce.removeAttribute(H),H==="is"&&!it[H])if(ea||qc)try{j(ce)}catch{}else try{ce.setAttribute(H,"")}catch{}},de=function(H){let ce=null,we=null;if(Xd)H=""+H;else{const Xi=$D(H,/^[\r\n\t ]+/);we=Xi&&Xi[0]}rl==="application/xhtml+xml"&&Cs===mi&&(H=''+H+"");const Kt=w?w.createHTML(H):H;if(Cs===mi)try{ce=new u().parseFromString(Kt,rl)}catch{}if(!ce||!ce.documentElement){ce=L.createDocument(Cs,"template",null);try{ce.documentElement.innerHTML=Yc?y:Kt}catch{}}const rn=ce.body||ce.documentElement;return H&&we&&rn.insertBefore(t.createTextNode(we),rn.childNodes[0]||null),Cs===mi?E.call(ce,Yo?"html":"body")[0]:Yo?ce.documentElement:rn},_e=function(H){return k.call(H.ownerDocument||H,H,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ne=function(H){return H instanceof d&&(typeof H.nodeName!="string"||typeof H.textContent!="string"||typeof H.removeChild!="function"||!(H.attributes instanceof h)||typeof H.removeAttribute!="function"||typeof H.setAttribute!="function"||typeof H.namespaceURI!="string"||typeof H.insertBefore!="function"||typeof H.hasChildNodes!="function")},rt=function(H){return typeof a=="function"&&H instanceof a},ft=function(H,ce,we){O[H]&&lm(O[H],Kt=>{Kt.call(e,ce,we,ia)})},ni=function(H){let ce=null;if(ft("beforeSanitizeElements",H,null),Ne(H))return j(H),!0;const we=yi(H.nodeName);if(ft("uponSanitizeElement",H,{tagName:we,allowedTags:me}),H.hasChildNodes()&&!rt(H.firstElementChild)&&wn(/<[/\w]/g,H.innerHTML)&&wn(/<[/\w]/g,H.textContent)||H.nodeType===ru.progressingInstruction||Yd&&H.nodeType===ru.comment&&wn(/<[/\w]/g,H.data))return j(H),!0;if(!me[we]||Wt[we]){if(!Wt[we]&&bn(we)&&(ot.tagNameCheck instanceof RegExp&&wn(ot.tagNameCheck,we)||ot.tagNameCheck instanceof Function&&ot.tagNameCheck(we)))return!1;if(Gc&&!ta[we]){const Kt=v(H)||H.parentNode,rn=C(H)||H.childNodes;if(rn&&Kt){const Xi=rn.length;for(let Pn=Xi-1;Pn>=0;--Pn){const mo=m(rn[Pn],!0);mo.__removalCount=(H.__removalCount||0)+1,Kt.insertBefore(mo,b(H))}}}return j(H),!0}return H instanceof l&&!V(H)||(we==="noscript"||we==="noembed"||we==="noframes")&&wn(/<\/no(script|embed|frames)/i,H.innerHTML)?(j(H),!0):(Jr&&H.nodeType===ru.text&&(ce=H.textContent,lm([B,z,F],Kt=>{ce=nu(ce,Kt," ")}),H.textContent!==ce&&(iu(e.removed,{element:H.cloneNode()}),H.textContent=ce)),ft("afterSanitizeElements",H,null),!1)},Rt=function(H,ce,we){if(nl&&(ce==="id"||ce==="name")&&(we in t||we in h0))return!1;if(!(bs&&!es[ce]&&wn(q,ce))){if(!(jt&&wn(X,ce))){if(!it[ce]||es[ce]){if(!(bn(H)&&(ot.tagNameCheck instanceof RegExp&&wn(ot.tagNameCheck,H)||ot.tagNameCheck instanceof Function&&ot.tagNameCheck(H))&&(ot.attributeNameCheck instanceof RegExp&&wn(ot.attributeNameCheck,ce)||ot.attributeNameCheck instanceof Function&&ot.attributeNameCheck(ce))||ce==="is"&&ot.allowCustomizedBuiltInElements&&(ot.tagNameCheck instanceof RegExp&&wn(ot.tagNameCheck,we)||ot.tagNameCheck instanceof Function&&ot.tagNameCheck(we))))return!1}else if(!Qo[ce]){if(!wn(ge,nu(we,se,""))){if(!((ce==="src"||ce==="xlink:href"||ce==="href")&&H!=="script"&&t9(we,"data:")===0&&em[H])){if(!(Xr&&!wn(ie,nu(we,se,"")))){if(we)return!1}}}}}}return!0},bn=function(H){return H!=="annotation-xml"&&$D(H,ee)},ts=function(H){ft("beforeSanitizeAttributes",H,null);const{attributes:ce}=H;if(!ce)return;const we={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:it};let Kt=ce.length;for(;Kt--;){const rn=ce[Kt],{name:Xi,namespaceURI:Pn,value:mo}=rn,tu=yi(Xi);let Cn=Xi==="value"?mo:i9(mo);if(we.attrName=tu,we.attrValue=Cn,we.keepAttr=!0,we.forceKeepAttr=void 0,ft("uponSanitizeAttribute",H,we),Cn=we.attrValue,we.forceKeepAttr||(Y(Xi,H),!we.keepAttr))continue;if(!Qg&&wn(/\/>/i,Cn)){Y(Xi,H);continue}Jr&&lm([B,z,F],uD=>{Cn=nu(Cn,uD," ")});const dD=yi(H.nodeName);if(Rt(dD,tu,Cn)){if(Xg&&(tu==="id"||tu==="name")&&(Y(Xi,H),Cn=Jg+Cn),Yd&&wn(/((--!?|])>)|<\/(style|title)/i,Cn)){Y(Xi,H);continue}if(w&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!Pn)switch(f.getAttributeType(dD,tu)){case"TrustedHTML":{Cn=w.createHTML(Cn);break}case"TrustedScriptURL":{Cn=w.createScriptURL(Cn);break}}try{Pn?H.setAttributeNS(Pn,Xi,Cn):H.setAttribute(Xi,Cn),Ne(H)?j(H):UD(e.removed)}catch{}}}ft("afterSanitizeAttributes",H,null)},eu=function xe(H){let ce=null;const we=_e(H);for(ft("beforeSanitizeShadowDOM",H,null);ce=we.nextNode();)ft("uponSanitizeShadowNode",ce,null),!ni(ce)&&(ce.content instanceof o&&xe(ce.content),ts(ce));ft("afterSanitizeShadowDOM",H,null)};return e.sanitize=function(xe){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ce=null,we=null,Kt=null,rn=null;if(Yc=!xe,Yc&&(xe=""),typeof xe!="string"&&!rt(xe))if(typeof xe.toString=="function"){if(xe=xe.toString(),typeof xe!="string")throw su("dirty is not a string, aborting")}else throw su("toString is not a function");if(!e.isSupported)return xe;if(Qd||Jd(H),e.removed=[],typeof xe=="string"&&(sl=!1),sl){if(xe.nodeName){const mo=yi(xe.nodeName);if(!me[mo]||Wt[mo])throw su("root node is forbidden and cannot be sanitized in-place")}}else if(xe instanceof a)ce=de(""),we=ce.ownerDocument.importNode(xe,!0),we.nodeType===ru.element&&we.nodeName==="BODY"||we.nodeName==="HTML"?ce=we:ce.appendChild(we);else{if(!ea&&!Jr&&!Yo&&xe.indexOf("<")===-1)return w&&jc?w.createHTML(xe):xe;if(ce=de(xe),!ce)return ea?null:jc?y:""}ce&&Xd&&j(ce.firstChild);const Xi=_e(sl?xe:ce);for(;Kt=Xi.nextNode();)ni(Kt)||(Kt.content instanceof o&&eu(Kt.content),ts(Kt));if(sl)return xe;if(ea){if(qc)for(rn=D.call(ce.ownerDocument);ce.firstChild;)rn.appendChild(ce.firstChild);else rn=ce;return(it.shadowroot||it.shadowrootmode)&&(rn=U.call(i,rn,!0)),rn}let Pn=Yo?ce.outerHTML:ce.innerHTML;return Yo&&me["!doctype"]&&ce.ownerDocument&&ce.ownerDocument.doctype&&ce.ownerDocument.doctype.name&&wn(TM,ce.ownerDocument.doctype.name)&&(Pn=" `+Pn),Jr&&lm([B,z,F],mo=>{Pn=nu(Pn,mo," ")}),w&&jc?w.createHTML(Pn):Pn},e.setConfig=function(){let xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Jd(xe),Qd=!0},e.clearConfig=function(){ia=null,Qd=!1},e.isValidAttribute=function(xe,H,ce){ia||Jd({});const we=yi(xe),Kt=yi(H);return Rt(we,Kt,ce)},e.addHook=function(xe,H){typeof H=="function"&&(O[xe]=O[xe]||[],iu(O[xe],H))},e.removeHook=function(xe){if(O[xe])return UD(O[xe])},e.removeHooks=function(xe){O[xe]&&(O[xe]=[])},e.removeAllHooks=function(){O={}},e}var Ko=MM();Ko.version;Ko.isSupported;const RM=Ko.sanitize;Ko.setConfig;Ko.clearConfig;Ko.isValidAttribute;const AM=Ko.addHook,PM=Ko.removeHook;Ko.removeHooks;Ko.removeAllHooks;var Ie;(function(s){s.inMemory="inmemory",s.vscode="vscode",s.internal="private",s.walkThrough="walkThrough",s.walkThroughSnippet="walkThroughSnippet",s.http="http",s.https="https",s.file="file",s.mailto="mailto",s.untitled="untitled",s.data="data",s.command="command",s.vscodeRemote="vscode-remote",s.vscodeRemoteResource="vscode-remote-resource",s.vscodeManagedRemoteResource="vscode-managed-remote-resource",s.vscodeUserData="vscode-userdata",s.vscodeCustomEditor="vscode-custom-editor",s.vscodeNotebookCell="vscode-notebook-cell",s.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",s.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",s.vscodeNotebookCellOutput="vscode-notebook-cell-output",s.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",s.vscodeNotebookMetadata="vscode-notebook-metadata",s.vscodeInteractiveInput="vscode-interactive-input",s.vscodeSettings="vscode-settings",s.vscodeWorkspaceTrust="vscode-workspace-trust",s.vscodeTerminal="vscode-terminal",s.vscodeChatCodeBlock="vscode-chat-code-block",s.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",s.vscodeChatSesssion="vscode-chat-editor",s.webviewPanel="webview-panel",s.vscodeWebview="vscode-webview",s.extension="extension",s.vscodeFileResource="vscode-file",s.tmp="tmp",s.vsls="vsls",s.vscodeSourceControl="vscode-scm",s.commentsInput="comment",s.codeSetting="code-setting",s.outputChannel="output"})(Ie||(Ie={}));function GL(s,e){return De.isUri(s)?gh(s.scheme,e):WL(s,e+":")}function YD(s,...e){return e.some(t=>GL(s,t))}const _9="tkn";class b9{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return zt.join(this._serverRootPath,Ie.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return ut(a),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i=`[${i}]`);const n=this._ports[t],o=this._connectionTokens[t];let r=`path=${encodeURIComponent(e.path)}`;return typeof o=="string"&&(r+=`&${_9}=${encodeURIComponent(o)}`),De.from({scheme:Pd?this._preferredWebSchema:Ie.vscodeRemoteResource,authority:`${i}:${n}`,path:this._remoteResourcesPath,query:r})}}const OM=new b9,C9="vscode-app",pf=class pf{asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===Ie.vscodeRemote?OM.rewrite(e):e.scheme===Ie.file&&(Ep||T5===`${Ie.vscodeFileResource}://${pf.FALLBACK_AUTHORITY}`)?e.with({scheme:Ie.vscodeFileResource,authority:e.authority||pf.FALLBACK_AUTHORITY,query:null,fragment:null}):e}toUri(e,t){if(De.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const i=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(i))return De.joinPath(De.parse(i,!0),e);const n=t7(i,e);return De.file(n)}return De.parse(t.toUrl(e))}};pf.FALLBACK_AUTHORITY=C9;let ev=pf;const mb=new ev;var tv;(function(s){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);s.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(o){let r;typeof o=="string"?r=new URL(o).searchParams:o instanceof URL?r=o.searchParams:De.isUri(o)&&(r=new URL(o.toString(!0)).searchParams);const a=r?.get(t);if(a)return e.get(a)}s.getHeadersFromQuery=i;function n(o,r,a){if(!globalThis.crossOriginIsolated)return;const l=r&&a?"3":a?"2":"1";o instanceof URLSearchParams?o.set(t,l):o[t]=l}s.addSearchParam=n})(tv||(tv={}));function FM(s){return pb(s,0)}function pb(s,e){switch(typeof s){case"object":return s===null?xr(349,e):Array.isArray(s)?v9(s,e):S9(s,e);case"string":return ZL(s,e);case"boolean":return w9(s,e);case"number":return xr(s,e);case"undefined":return xr(937,e);default:return xr(617,e)}}function xr(s,e){return(e<<5)-e+s|0}function w9(s,e){return xr(s?433:863,e)}function ZL(s,e){e=xr(149417,e);for(let t=0,i=s.length;tpb(i,t),e)}function S9(s,e){return e=xr(181387,e),Object.keys(s).sort().reduce((t,i)=>(t=ZL(i,t),pb(s[i],t)),e)}function S0(s,e,t=32){const i=t-e,n=~((1<>>i)>>>0}function QD(s,e=0,t=s.byteLength,i=0){for(let n=0;nt.toString(16).padStart(2,"0")).join(""):y9((s>>>0).toString(16),e/4)}const C1=class C1{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let n=this._buffLen,o=this._leftoverHighSurrogate,r,a;for(o!==0?(r=o,a=-1,o=0):(r=e.charCodeAt(0),a=0);;){let l=r;if(ai(r))if(a+1>>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),au(this._h0)+au(this._h1)+au(this._h2)+au(this._h3)+au(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,QD(this._buff,this._buffLen),this._buffLen>56&&(this._step(),QD(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=C1._bigBlock32,t=this._buffDV;for(let d=0;d<64;d+=4)e.setUint32(d,t.getUint32(d,!1),!1);for(let d=64;d<320;d+=4)e.setUint32(d,S0(e.getUint32(d-12,!1)^e.getUint32(d-32,!1)^e.getUint32(d-56,!1)^e.getUint32(d-64,!1),1),!1);let i=this._h0,n=this._h1,o=this._h2,r=this._h3,a=this._h4,l,c,h;for(let d=0;d<80;d++)d<20?(l=n&o|~n&r,c=1518500249):d<40?(l=n^o^r,c=1859775393):d<60?(l=n&o|n&r|o&r,c=2400959708):(l=n^o^r,c=3395469782),h=S0(i,5)+l+a+c+e.getUint32(d*4,!1)&4294967295,a=r,r=o,o=S0(n,30),n=i,i=h;this._h0=this._h0+i&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+r&4294967295,this._h4=this._h4+a&4294967295}};C1._bigBlock32=new DataView(new ArrayBuffer(320));let iv=C1;const{getWindow:ue,getWindows:BM,getWindowsCount:L9,getWindowId:Bp,getWindowById:XD,onDidRegisterWindow:_b,onWillUnregisterWindow:k9,onDidUnregisterWindow:x9}=function(){const s=new Map;v7(ht,1);const e={window:ht,disposables:new ae};s.set(ht.vscodeWindowId,e);const t=new A,i=new A,n=new A;function o(r,a){return(typeof r=="number"?s.get(r):void 0)??(a?e:void 0)}return{onDidRegisterWindow:t.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:i.event,registerWindow(r){if(s.has(r.vscodeWindowId))return K.None;const a=new ae,l={window:r,disposables:a.add(new ae)};return s.set(r.vscodeWindowId,l),a.add(ve(()=>{s.delete(r.vscodeWindowId),i.fire(r)})),a.add($(r,J.BEFORE_UNLOAD,()=>{n.fire(r)})),t.fire(l),a},getWindows(){return s.values()},getWindowsCount(){return s.size},getWindowId(r){return r.vscodeWindowId},hasWindow(r){return s.has(r)},getWindowById:o,getWindow(r){const a=r;if(a?.ownerDocument?.defaultView)return a.ownerDocument.defaultView.window;const l=r;return l?.view?l.view.window:ht},getDocument(r){return ue(r).document}}}();function to(s){for(;s.firstChild;)s.firstChild.remove()}class D9{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function $(s,e,t,i){return new D9(s,e,t,i)}function WM(s,e){return function(t){return e(new Qs(s,t))}}function E9(s){return function(e){return s(new vt(e))}}const di=function(e,t,i,n){let o=i;return t==="click"||t==="mousedown"||t==="contextmenu"?o=WM(ue(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(o=E9(i)),$(e,t,o,n)},Bte=function(e,t,i){const n=WM(ue(e),t);return I9(e,n,i)};function I9(s,e,t){return $(s,Fa&&qL.pointerEvents?J.POINTER_DOWN:J.MOUSE_DOWN,e,t)}function hm(s,e,t){return Wu(s,e,t)}class Wte extends xM{constructor(e,t){super(e,t)}}let VM,Tn;class YL extends jL{constructor(e){super(),this.defaultTarget=e&&ue(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class y0{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){ut(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const s=new Map,e=new Map,t=new Map,i=new Map,n=o=>{t.set(o,!1);const r=s.get(o)??[];for(e.set(o,r),s.set(o,[]),i.set(o,!0);r.length>0;)r.sort(y0.sort),r.shift().execute();i.set(o,!1)};Tn=(o,r,a=0)=>{const l=Bp(o),c=new y0(r,a);let h=s.get(l);return h||(h=[],s.set(l,h)),h.push(c),t.get(l)||(t.set(l,!0),o.requestAnimationFrame(()=>n(l))),c},VM=(o,r,a)=>{const l=Bp(o);if(i.get(l)){const c=new y0(r,a);let h=e.get(l);return h||(h=[],e.set(l,h)),h.push(c),c}else return Tn(o,r,a)}})();function QL(s){return ue(s).getComputedStyle(s,null)}function nv(s,e){const t=ue(s),i=t.document;if(s!==i.body)return new wr(s.clientWidth,s.clientHeight);if(Fa&&t?.visualViewport)return new wr(t.visualViewport.width,t.visualViewport.height);if(t?.innerWidth&&t.innerHeight)return new wr(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new wr(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new wr(i.documentElement.clientWidth,i.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class Pt{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const n=QL(e),o=n?n.getPropertyValue(t):"0";return Pt.convertToPixels(e,o)}static getBorderLeftWidth(e){return Pt.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Pt.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Pt.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Pt.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Pt.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Pt.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Pt.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Pt.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Pt.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Pt.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Pt.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Pt.getDimension(e,"margin-bottom","marginBottom")}}const Wl=class Wl{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Wl(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof Wl?e:new Wl(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};Wl.None=new Wl(0,0);let wr=Wl;function N9(s){let e=s.offsetParent,t=s.offsetTop,i=s.offsetLeft;for(;(s=s.parentNode)!==null&&s!==s.ownerDocument.body&&s!==s.ownerDocument.documentElement;){t-=s.scrollTop;const n=zM(s)?null:QL(s);n&&(i-=n.direction!=="rtl"?s.scrollLeft:-s.scrollLeft),s===e&&(i+=Pt.getBorderLeftWidth(s),t+=Pt.getBorderTopWidth(s),t+=s.offsetTop,i+=s.offsetLeft,e=s.offsetParent)}return{left:i,top:t}}function Vte(s,e,t){typeof e=="number"&&(s.style.width=`${e}px`),typeof t=="number"&&(s.style.height=`${t}px`)}function ds(s){const e=s.getBoundingClientRect(),t=ue(s);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function HM(s){let e=s,t=1;do{const i=QL(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function XL(s){const e=Pt.getMarginLeft(s)+Pt.getMarginRight(s);return s.offsetWidth+e}function L0(s){const e=Pt.getBorderLeftWidth(s)+Pt.getBorderRightWidth(s),t=Pt.getPaddingLeft(s)+Pt.getPaddingRight(s);return s.offsetWidth-e-t}function T9(s){const e=Pt.getBorderTopWidth(s)+Pt.getBorderBottomWidth(s),t=Pt.getPaddingTop(s)+Pt.getPaddingBottom(s);return s.offsetHeight-e-t}function sv(s){const e=Pt.getMarginTop(s)+Pt.getMarginBottom(s);return s.offsetHeight+e}function ci(s,e){return!!e?.contains(s)}function M9(s,e,t){for(;s&&s.nodeType===s.ELEMENT_NODE;){if(s.classList.contains(e))return s;if(t){if(typeof t=="string"){if(s.classList.contains(t))return null}else if(s===t)return null}s=s.parentNode}return null}function k0(s,e,t){return!!M9(s,e,t)}function zM(s){return s&&!!s.host&&!!s.mode}function Wp(s){return!!bd(s)}function bd(s){for(;s.parentNode;){if(s===s.ownerDocument?.body)return null;s=s.parentNode}return zM(s)?s:null}function Zi(){let s=ek().activeElement;for(;s?.shadowRoot;)s=s.shadowRoot.activeElement;return s}function JL(s){return Zi()===s}function UM(s){return ci(Zi(),s)}function ek(){return L9()<=1?ht.document:Array.from(BM()).map(({window:e})=>e.document).find(e=>e.hasFocus())??ht.document}function Lu(){return ek().defaultView?.window??ht}const tk=new Map;function Hte(){return new R9}class R9{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=Yn(ht.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function Yn(s=ht.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e?.(i),s.appendChild(i),t&&t.add(ve(()=>i.remove())),s===ht.document.head){const n=new Set;tk.set(i,n);for(const{window:o,disposables:r}of BM()){if(o===ht)continue;const a=r.add(A9(i,n,o));t?.add(a)}}return i}function A9(s,e,t){const i=new ae,n=s.cloneNode(!0);t.document.head.appendChild(n),i.add(ve(()=>n.remove()));for(const o of KM(s))n.sheet?.insertRule(o.cssText,n.sheet?.cssRules.length);return i.add(P9.observe(s,i,{childList:!0})(()=>{n.textContent=s.textContent})),e.add(n),i.add(ve(()=>e.delete(n))),i}const P9=new class{constructor(){this.mutationObservers=new Map}observe(s,e,t){let i=this.mutationObservers.get(s);i||(i=new Map,this.mutationObservers.set(s,i));const n=FM(t);let o=i.get(n);if(o)o.users+=1;else{const r=new A,a=new MutationObserver(c=>r.fire(c));a.observe(s,t);const l=o={users:1,observer:a,onDidMutate:r.event};e.add(ve(()=>{l.users-=1,l.users===0&&(r.dispose(),a.disconnect(),i?.delete(n),i?.size===0&&this.mutationObservers.delete(s))})),i.set(n,o)}return o.onDidMutate}};let x0=null;function $M(){return x0||(x0=Yn()),x0}function KM(s){return s?.sheet?.rules?s.sheet.rules:s?.sheet?.cssRules?s.sheet.cssRules:[]}function ov(s,e,t=$M()){if(!(!t||!e)){t.sheet?.insertRule(`${s} {${e}}`,0);for(const i of tk.get(t)??[])ov(s,e,i)}}function O9(s,e=$M()){if(!e)return;const t=KM(e),i=[];for(let n=0;n=0;n--)e.sheet?.deleteRule(i[n]);for(const n of tk.get(e)??[])O9(s,n)}function F9(s){return typeof s.selectorText=="string"}function ui(s){return s instanceof HTMLElement||s instanceof ue(s).HTMLElement}function JD(s){return s instanceof HTMLAnchorElement||s instanceof ue(s).HTMLAnchorElement}function B9(s){return s instanceof SVGElement||s instanceof ue(s).SVGElement}function ik(s){return s instanceof MouseEvent||s instanceof ue(s).MouseEvent}function pr(s){return s instanceof KeyboardEvent||s instanceof ue(s).KeyboardEvent}const J={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function W9(s){const e=s;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const Oe={stop:(s,e)=>(s.preventDefault(),e&&s.stopPropagation(),s)};function V9(s){const e=[];for(let t=0;s&&s.nodeType===s.ELEMENT_NODE;t++)e[t]=s.scrollTop,s=s.parentNode;return e}function H9(s,e){for(let t=0;s&&s.nodeType===s.ELEMENT_NODE;t++)s.scrollTop!==e[t]&&(s.scrollTop=e[t]),s=s.parentNode}class Vp extends K{static hasFocusWithin(e){if(ui(e)){const t=bd(e),i=t?t.activeElement:e.ownerDocument.activeElement;return ci(i,e)}else{const t=e;return ci(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new A),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new A),this.onDidBlur=this._onDidBlur.event;let t=Vp.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(i=!0,(ui(e)?ue(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{Vp.hasFocusWithin(e)!==t&&(t?o():n())},this._register($(e,J.FOCUS,n,!0)),this._register($(e,J.BLUR,o,!0)),ui(e)&&(this._register($(e,J.FOCUS_IN,()=>this._refreshStateHandler())),this._register($(e,J.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Bf(s){return new Vp(s)}function z9(s,e){return s.after(e),e}function le(s,...e){if(s.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function nk(s,e){return s.insertBefore(e,s.firstChild),e}function tn(s,...e){s.innerText="",le(s,...e)}const U9=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Wf;(function(s){s.HTML="http://www.w3.org/1999/xhtml",s.SVG="http://www.w3.org/2000/svg"})(Wf||(Wf={}));function qM(s,e,t,...i){const n=U9.exec(e);if(!n)throw new Error("Bad use of emmet");const o=n[1]||"div";let r;return s!==Wf.HTML?r=document.createElementNS(s,o):r=document.createElement(o),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([a,l])=>{typeof l>"u"||(/^on\w+$/.test(a)?r[a]=l:a==="selected"?l&&r.setAttribute(a,"true"):r.setAttribute(a,l))}),r.append(...i),r}function pe(s,e,...t){return qM(Wf.HTML,s,e,...t)}pe.SVG=function(s,e,...t){return qM(Wf.SVG,s,e,...t)};function zte(s,...e){s?sk(...e):rv(...e)}function sk(...s){for(const e of s)e.style.display="",e.removeAttribute("aria-hidden")}function rv(...s){for(const e of s)e.style.display="none",e.setAttribute("aria-hidden","true")}function e2(s,e){const t=s.devicePixelRatio*e;return Math.max(1,Math.floor(t))/s.devicePixelRatio}function jM(s){ht.open(s,"_blank","noopener")}function $9(s,e){const t=()=>{e(),i=Tn(s,t)};let i=Tn(s,t);return ve(()=>i.dispose())}OM.setPreferredWebSchema(/^https:/.test(ht.location.href)?"https":"http");function Kr(s){return s?`url('${mb.uriToBrowserUri(s).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function D0(s){return`'${s.replace(/'/g,"%27")}'`}function Pr(s,e){if(s!==void 0){const t=s.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=Pr(i[1].trim(),e)),`var(${i[0]}, ${e})`}return s}return e}function K9(s,e=!1){const t=document.createElement("a");return AM("afterSanitizeAttributes",i=>{for(const n of["href","src"])if(i.hasAttribute(n)){const o=i.getAttribute(n);if(n==="href"&&o.startsWith("#"))continue;if(t.href=o,!s.includes(t.protocol.replace(/:$/,""))){if(e&&n==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(n)}}}),ve(()=>{PM("afterSanitizeAttributes")})}const q9=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);class Sa extends A{constructor(){super(),this._subscriptions=new ae,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(Q.runAndSubscribe(_b,({window:e,disposables:t})=>this.registerListeners(e,t),{window:ht,disposables:this._subscriptions}))}registerListeners(e,t){t.add($(e,"keydown",i=>{if(i.defaultPrevented)return;const n=new vt(i);if(!(n.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(n.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add($(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add($(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add($(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add($(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add($(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Sa.instance||(Sa.instance=new Sa),Sa.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class j9 extends K{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register($(this.element,J.DRAG_START,e=>{this.callbacks.onDragStart?.(e)})),this.callbacks.onDrag&&this._register($(this.element,J.DRAG,e=>{this.callbacks.onDrag?.(e)})),this._register($(this.element,J.DRAG_ENTER,e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)})),this._register($(this.element,J.DRAG_OVER,e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)})),this._register($(this.element,J.DRAG_LEAVE,e=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))})),this._register($(this.element,J.DRAG_END,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)})),this._register($(this.element,J.DROP,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)}))}}const GM=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function ze(s,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const n=GM.exec(s);if(!n||!n.groups)throw new Error("Bad use of h");const o=n.groups.tag||"div",r=document.createElement(o);n.groups.id&&(r.id=n.groups.id);const a=[];if(n.groups.class)for(const c of n.groups.class.split("."))c!==""&&a.push(c);if(t.className!==void 0)for(const c of t.className.split("."))c!==""&&a.push(c);a.length>0&&(r.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=r),i)for(const c of i)ui(c)?r.appendChild(c):typeof c=="string"?r.append(c):"root"in c&&(Object.assign(l,c),r.appendChild(c.root));for(const[c,h]of Object.entries(t))if(c!=="className")if(c==="style")for(const[d,u]of Object.entries(h))r.style.setProperty(Hp(d),typeof u=="number"?u+"px":""+u);else c==="tabIndex"?r.tabIndex=h:r.setAttribute(Hp(c),h.toString());return l.root=r,l}function Ute(s,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const n=GM.exec(s);if(!n||!n.groups)throw new Error("Bad use of h");const o=n.groups.tag||"div",r=document.createElementNS("http://www.w3.org/2000/svg",o);n.groups.id&&(r.id=n.groups.id);const a=[];if(n.groups.class)for(const c of n.groups.class.split("."))c!==""&&a.push(c);if(t.className!==void 0)for(const c of t.className.split("."))c!==""&&a.push(c);a.length>0&&(r.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=r),i)for(const c of i)ui(c)?r.appendChild(c):typeof c=="string"?r.append(c):"root"in c&&(Object.assign(l,c),r.appendChild(c.root));for(const[c,h]of Object.entries(t))if(c!=="className")if(c==="style")for(const[d,u]of Object.entries(h))r.style.setProperty(Hp(d),typeof u=="number"?u+"px":""+u);else c==="tabIndex"?r.tabIndex=h:r.setAttribute(Hp(c),h.toString());return l.root=r,l}function Hp(s){return s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class G9 extends K{constructor(e){super(),this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_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()}}class Z9 extends K{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new G9(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d"),i=e.devicePixelRatio||1,n=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/n}}class Y9{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=Bp(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=new Z9(e),this.mapWindowIdToPixelRatioMonitor.set(t,i),Q.once(x9)(({vscodeWindowId:n})=>{n===t&&(i?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}}const zp=new Y9;class ZM{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=""}setMaxWidth(e){const t=Vs(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=Vs(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=Vs(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=Vs(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=Vs(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=Vs(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=Vs(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=Vs(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){const t=Vs(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){const t=Vs(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=Vs(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 Vs(s){return typeof s=="number"?`${s}px`:s}function qe(s){return new ZM(s)}function Pi(s,e){s instanceof ZM?(s.setFontFamily(e.getMassagedFontFamily()),s.setFontWeight(e.fontWeight),s.setFontSize(e.fontSize),s.setFontFeatureSettings(e.fontFeatureSettings),s.setFontVariationSettings(e.fontVariationSettings),s.setLineHeight(e.lineHeight),s.setLetterSpacing(e.letterSpacing)):(s.style.fontFamily=e.getMassagedFontFamily(),s.style.fontWeight=e.fontWeight,s.style.fontSize=e.fontSize+"px",s.style.fontFeatureSettings=e.fontFeatureSettings,s.style.fontVariationSettings=e.fontVariationSettings,s.style.lineHeight=e.lineHeight+"px",s.style.letterSpacing=e.letterSpacing+"px")}class Q9{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class ok{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(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");Pi(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");Pi(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");Pi(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const o=[];for(const r of this._requests){let a;r.type===0&&(a=t),r.type===2&&(a=i),r.type===1&&(a=n),a.appendChild(document.createElement("br"));const l=document.createElement("span");ok._render(l,r),a.appendChild(l),o.push(l)}this._container=e,this._testElements=o}static _render(e,t){if(t.chr===" "){let i=" ";for(let n=0;n<8;n++)i+=i;e.innerText=i}else{let i=t.chr;for(let n=0;n<8;n++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let n=!1;for(const o of i)o.isTrusted||(n=!0,t.remove(o));n&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let n=this._actualReadFontInfo(e,t);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new av({pixelRatio:zp.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 i.get(t)}_createRequest(e,t,i,n){const o=new Q9(e,t);return i.push(o),n?.push(o),o}_actualReadFontInfo(e,t){const i=[],n=[],o=this._createRequest("n",0,i,n),r=this._createRequest("m",0,i,null),a=this._createRequest(" ",0,i,n),l=this._createRequest("0",0,i,n),c=this._createRequest("1",0,i,n),h=this._createRequest("2",0,i,n),d=this._createRequest("3",0,i,n),u=this._createRequest("4",0,i,n),f=this._createRequest("5",0,i,n),g=this._createRequest("6",0,i,n),m=this._createRequest("7",0,i,n),_=this._createRequest("8",0,i,n),b=this._createRequest("9",0,i,n),C=this._createRequest("→",0,i,n),v=this._createRequest("→",0,i,null),w=this._createRequest("·",0,i,n),y=this._createRequest("⸱",0,i,null),L="|/-_ilm%";for(let O=0,B=L.length;O.001){D=!1;break}}let U=!0;return D&&v.width!==E&&(U=!1),v.width>C.width&&(U=!1),new av({pixelRatio:zp.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:D,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:r.width,canUseHalfwidthRightwardsArrow:U,spaceWidth:a.width,middotWidth:w.width,wsmiddotWidth:y.width,maxDigitWidth:k},!0)}}class i3{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const lv=new t3;var Xs;(function(s){s.serviceIds=new Map,s.DI_TARGET="$di$target",s.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[s.DI_DEPENDENCIES]||[]}s.getServiceDependencies=e})(Xs||(Xs={}));const Qe=Be("instantiationService");function n3(s,e,t){e[Xs.DI_TARGET]===e?e[Xs.DI_DEPENDENCIES].push({id:s,index:t}):(e[Xs.DI_DEPENDENCIES]=[{id:s,index:t}],e[Xs.DI_TARGET]=e)}function Be(s){if(Xs.serviceIds.has(s))return Xs.serviceIds.get(s);const e=function(t,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");n3(e,t,n)};return e.toString=()=>s,Xs.serviceIds.set(s,e),e}const Qt=Be("codeEditorService"),Qi=Be("modelService"),Tg=Be("textModelService");class Or extends K{constructor(e,t="",i="",n=!0,o){super(),this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=n,this._actionCallback=o}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class bc extends K{constructor(){super(...arguments),this._onWillRun=this._register(new A),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new A),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});let i;try{await this.runAction(e,t)}catch(n){i=n}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}const _f=class _f{constructor(){this.id=_f.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[...t,new _f,...i]:t=i);return t}async run(){}};_f.ID="vs.actions.separator";let Yi=_f;class bb{get actions(){return this._actions}constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=n,this._actions=i}async run(){}}const w1=class w1 extends Or{constructor(){super(w1.ID,p("submenu.empty","(empty)"),void 0,!1)}};w1.ID="vs.actions.empty";let cv=w1;function qh(s){return{id:s.id,label:s.label,tooltip:s.tooltip??s.label,class:s.class,enabled:s.enabled??!0,checked:s.checked,run:async(...e)=>s.run(...e)}}var hv;(function(s){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}s.isThemeColor=e})(hv||(hv={}));var Ue;(function(s){s.iconNameSegment="[A-Za-z0-9]+",s.iconNameExpression="[A-Za-z0-9-]+",s.iconModifierExpression="~[A-Za-z]+",s.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp(`^(${s.iconNameExpression})(${s.iconModifierExpression})?$`);function t(u){const f=e.exec(u.id);if(!f)return t(re.error);const[,g,m]=f,_=["codicon","codicon-"+g];return m&&_.push("codicon-modifier-"+m.substring(1)),_}s.asClassNameArray=t;function i(u){return t(u).join(" ")}s.asClassName=i;function n(u){return"."+t(u).join(".")}s.asCSSSelector=n;function o(u){return u&&typeof u=="object"&&typeof u.id=="string"&&(typeof u.color>"u"||hv.isThemeColor(u.color))}s.isThemeIcon=o;const r=new RegExp(`^\\$\\((${s.iconNameExpression}(?:${s.iconModifierExpression})?)\\)$`);function a(u){const f=r.exec(u);if(!f)return;const[,g]=f;return{id:g}}s.fromString=a;function l(u){return{id:u}}s.fromId=l;function c(u,f){let g=u.id;const m=g.lastIndexOf("~");return m!==-1&&(g=g.substring(0,m)),f&&(g=`${g}~${f}`),{id:g}}s.modify=c;function h(u){const f=u.id.lastIndexOf("~");if(f!==-1)return u.id.substring(f+1)}s.getModifier=h;function d(u,f){return u.id===f.id&&u.color?.id===f.color?.id}s.isEqual=d})(Ue||(Ue={}));const Jn=Be("commandService"),Oi=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new A,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(s,e){if(!s)throw new Error("invalid command");if(typeof s=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:s,handler:e})}if(s.metadata&&Array.isArray(s.metadata.args)){const r=[];for(const l of s.metadata.args)r.push(l.constraint);const a=s.handler;s.handler=function(l,...c){return w5(c,r),a(l,...c)}}const{id:t}=s;let i=this._commands.get(t);i||(i=new Dn,this._commands.set(t,i));const n=i.unshift(s),o=ve(()=>{n(),this._commands.get(t)?.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),o}registerCommandAlias(s,e){return Oi.registerCommand(s,(t,...i)=>t.get(Jn).executeCommand(e,...i))}getCommand(s){const e=this._commands.get(s);if(!(!e||e.isEmpty()))return Ge.first(e)}getCommands(){const s=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&s.set(e,t)}return s}};Oi.registerCommand("noop",()=>{});function I0(...s){switch(s.length){case 1:return p("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",s[0]);case 2:return p("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",s[0],s[1]);case 3:return p("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",s[0],s[1],s[2]);default:return}}const s3=p("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),o3=p("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'."),Ah=class Ah{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw TL(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(I0("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(I0("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(I0("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=Ah._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(s3);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(o3);return}const o=this._input.charCodeAt(e);if(t)t=!1;else if(o===47&&!i){e++;break}else o===91?i=!0:o===92?t=!0:o===93&&(i=!1);e++}for(;e=this._input.length}};Ah._regexFlags=new Set(["i","g","s","m","y","u"].map(e=>e.charCodeAt(0))),Ah._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);let Ll=Ah;const Fi=new Map;Fi.set("false",!1);Fi.set("true",!0);Fi.set("isMac",Ve);Fi.set("isLinux",mn);Fi.set("isWindows",gn);Fi.set("isWeb",Pd);Fi.set("isMacNative",Ve&&!Pd);Fi.set("isEdge",O5);Fi.set("isFirefox",A5);Fi.set("isChrome",jT);Fi.set("isSafari",P5);const r3=Object.prototype.hasOwnProperty,a3={regexParsingWithErrorRecovery:!0},l3=p("contextkey.parser.error.emptyString","Empty context key expression"),c3=p("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),h3=p("contextkey.parser.error.noInAfterNot","'in' after 'not'."),t2=p("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),d3=p("contextkey.parser.error.unexpectedToken","Unexpected token"),u3=p("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),f3=p("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),g3=p("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");var Ro;let m3=(Ro=class{constructor(e=a3){this._config=e,this._scanner=new Ll,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:l3,offset:0,lexeme:"",additionalInfo:c3});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),n=i.type===17?u3:void 0;throw this._parsingErrors.push({message:d3,offset:i.offset,lexeme:Ll.getLexeme(i),additionalInfo:n}),Ro._parseError}return t}catch(t){if(t!==Ro._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:$e.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:$e.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),nn.INSTANCE;case 12:return this._advance(),pn.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,t2),t?.negate()}case 17:return this._advance(),Ac.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),$e.true();case 12:return this._advance(),$e.false();case 0:{this._advance();const t=this._expr();return this._consume(1,t2),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);const o=n.lexeme,r=o.lastIndexOf("/"),a=r===o.length-1?void 0:this._removeFlagsGY(o.substring(r+1));let l;try{l=new RegExp(o.substring(1,r),a)}catch{throw this._errExpectedButGot("REGEX",n)}return Vf.create(t,l)}switch(n.type){case 10:case 19:{const o=[n.lexeme];this._advance();let r=this._peek(),a=0;for(let u=0;u=0){const c=o.slice(a+1,l),h=o[l+1]==="i"?"i":"";try{r=new RegExp(c,h)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(r===null)throw this._errExpectedButGot("REGEX",n);return Vf.create(t,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,h3);const n=this._value();return $e.notIn(t,n)}switch(this._peek().type){case 3:{this._advance();const n=this._value();if(this._previous().type===18)return $e.equals(t,n);switch(n){case"true":return $e.has(t);case"false":return $e.not(t);default:return $e.equals(t,n)}}case 4:{this._advance();const n=this._value();if(this._previous().type===18)return $e.notEquals(t,n);switch(n){case"true":return $e.not(t);case"false":return $e.has(t);default:return $e.notEquals(t,n)}}case 5:return this._advance(),kb.create(t,this._value());case 6:return this._advance(),xb.create(t,this._value());case 7:return this._advance(),yb.create(t,this._value());case 8:return this._advance(),Lb.create(t,this._value());case 13:return this._advance(),$e.in(t,this._value());default:return $e.has(t)}}case 20:throw this._parsingErrors.push({message:f3,offset:e.offset,lexeme:"",additionalInfo:g3}),Ro._parseError;default:throw this._errExpectedButGot(`true | false | KEY | KEY '=~' REGEX | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=p("contextkey.parser.error.expectedButGot",`Expected: {0} Received: '{1}'.`,e,Ll.getLexeme(t)),o=t.offset,r=Ll.getLexeme(t);return this._parsingErrors.push({message:n,offset:o,lexeme:r,additionalInfo:i}),Ro._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},Ro._parseError=new Error,Ro);const lD=class lD{static false(){return nn.INSTANCE}static true(){return pn.INSTANCE}static has(e){return Rc.create(e)}static equals(e,t){return Mg.create(e,t)}static notEquals(e,t){return vb.create(e,t)}static regex(e,t){return Vf.create(e,t)}static in(e,t){return Cb.create(e,t)}static notIn(e,t){return wb.create(e,t)}static not(e){return Ac.create(e)}static and(...e){return Ul.create(e,null,!0)}static or(...e){return vr.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}};lD._parser=new m3({regexParsingWithErrorRecovery:!1});let $e=lD;function p3(s,e){const t=s?s.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function Vu(s,e){return s.cmp(e)}const v1=class v1{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return pn.INSTANCE}};v1.INSTANCE=new v1;let nn=v1;const S1=class S1{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return nn.INSTANCE}};S1.INSTANCE=new S1;let pn=S1;class Rc{static create(e,t=null){const i=Fi.get(e);return typeof i=="boolean"?i?pn.INSTANCE:nn.INSTANCE:new Rc(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:QM(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=Fi.get(this.key);return typeof e=="boolean"?e?pn.INSTANCE:nn.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ac.create(this.key,this)),this.negated}}class Mg{static create(e,t,i=null){if(typeof t=="boolean")return t?Rc.create(e,i):Ac.create(e,i);const n=Fi.get(e);return typeof n=="boolean"?t===(n?"true":"false")?pn.INSTANCE:nn.INSTANCE:new Mg(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Fi.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?pn.INSTANCE:nn.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=vb.create(this.key,this.value,this)),this.negated}}class Cb{static create(e,t){return new Cb(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?r3.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=wb.create(this.key,this.valueKey)),this.negated}}class wb{static create(e,t){return new wb(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=Cb.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class vb{static create(e,t,i=null){if(typeof t=="boolean")return t?Ac.create(e,i):Rc.create(e,i);const n=Fi.get(e);return typeof n=="boolean"?t===(n?"true":"false")?nn.INSTANCE:pn.INSTANCE:new vb(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Fi.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?nn.INSTANCE:pn.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Mg.create(this.key,this.value,this)),this.negated}}class Ac{static create(e,t=null){const i=Fi.get(e);return typeof i=="boolean"?i?nn.INSTANCE:pn.INSTANCE:new Ac(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:QM(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=Fi.get(this.key);return typeof e=="boolean"?e?nn.INSTANCE:pn.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Rc.create(this.key,this)),this.negated}}function Sb(s,e){if(typeof s=="string"){const t=parseFloat(s);isNaN(t)||(s=t)}return typeof s=="string"||typeof s=="number"?e(s):nn.INSTANCE}class yb{static create(e,t,i=null){return Sb(t,n=>new yb(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=xb.create(this.key,this.value,this)),this.negated}}class Lb{static create(e,t,i=null){return Sb(t,n=>new Lb(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=kb.create(this.key,this.value,this)),this.negated}}class kb{static create(e,t,i=null){return Sb(t,n=>new kb(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))new xb(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:Pc(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=yb.create(this.key,this.value,this)),this.negated}}class Vf{static create(e,t){return new Vf(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=rk.create(this)),this.negated}}class rk{static create(e){return new rk(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function YM(s){let e=null;for(let t=0,i=s.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const r=n[n.length-1];if(r.type!==9)break;n.pop();const a=n.pop(),l=n.length===0,c=vr.create(r.expr.map(h=>Ul.create([h,a],null,i)),null,l);c&&(n.push(c),n.sort(Vu))}if(n.length===1)return n[0];if(i){for(let r=0;re.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=vr.create(e,this,!0)}return this.negated}}class vr{static create(e,t,i){return vr._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const o of n2(t))for(const r of n2(i))n.push(Ul.create([o,r],null,!1));e.unshift(vr.create(n,null,!1))}this.negated=vr.create(e,this,!0)}return this.negated}}const Ph=class Ph extends Rc{static all(){return Ph._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?Ph._info.push({...i,key:e}):i!==!0&&Ph._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return Mg.create(this.key,e)}};Ph._info=[];let he=Ph;const Xe=Be("contextKeyService");function QM(s,e){return se?1:0}function Pc(s,e,t,i){return st?1:ei?1:0}function dv(s,e){if(s.type===0||e.type===1)return!0;if(s.type===9)return e.type===9?i2(s.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(dv(s,t))return!0;return!1}if(s.type===6){if(e.type===6)return i2(e.expr,s.expr);for(const t of s.expr)if(dv(t,e))return!0;return!1}return s.equals(e)}function i2(s,e){let t=0,i=0;for(;t{a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(C3)),this._cachedMergedKeybindings.slice(0)}}const wc=new ck,b3={EditorModes:"platform.keybindingsRegistry"};Si.add(b3.EditorModes,wc);function C3(s,e){if(s.weight1!==e.weight1)return s.weight1-e.weight1;if(s.command&&e.command){if(s.commande.command)return 1}return s.weight2-e.weight2}var w3=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},o2=function(s,e){return function(t,i){e(t,i,s)}},ep;function Hu(s){return s.command!==void 0}function v3(s){return s.submenu!==void 0}const x=class x{constructor(e){if(x._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);x._instances.set(e,this),this.id=e}};x._instances=new Map,x.CommandPalette=new x("CommandPalette"),x.DebugBreakpointsContext=new x("DebugBreakpointsContext"),x.DebugCallStackContext=new x("DebugCallStackContext"),x.DebugConsoleContext=new x("DebugConsoleContext"),x.DebugVariablesContext=new x("DebugVariablesContext"),x.NotebookVariablesContext=new x("NotebookVariablesContext"),x.DebugHoverContext=new x("DebugHoverContext"),x.DebugWatchContext=new x("DebugWatchContext"),x.DebugToolBar=new x("DebugToolBar"),x.DebugToolBarStop=new x("DebugToolBarStop"),x.DebugCallStackToolbar=new x("DebugCallStackToolbar"),x.DebugCreateConfiguration=new x("DebugCreateConfiguration"),x.EditorContext=new x("EditorContext"),x.SimpleEditorContext=new x("SimpleEditorContext"),x.EditorContent=new x("EditorContent"),x.EditorLineNumberContext=new x("EditorLineNumberContext"),x.EditorContextCopy=new x("EditorContextCopy"),x.EditorContextPeek=new x("EditorContextPeek"),x.EditorContextShare=new x("EditorContextShare"),x.EditorTitle=new x("EditorTitle"),x.EditorTitleRun=new x("EditorTitleRun"),x.EditorTitleContext=new x("EditorTitleContext"),x.EditorTitleContextShare=new x("EditorTitleContextShare"),x.EmptyEditorGroup=new x("EmptyEditorGroup"),x.EmptyEditorGroupContext=new x("EmptyEditorGroupContext"),x.EditorTabsBarContext=new x("EditorTabsBarContext"),x.EditorTabsBarShowTabsSubmenu=new x("EditorTabsBarShowTabsSubmenu"),x.EditorTabsBarShowTabsZenModeSubmenu=new x("EditorTabsBarShowTabsZenModeSubmenu"),x.EditorActionsPositionSubmenu=new x("EditorActionsPositionSubmenu"),x.ExplorerContext=new x("ExplorerContext"),x.ExplorerContextShare=new x("ExplorerContextShare"),x.ExtensionContext=new x("ExtensionContext"),x.GlobalActivity=new x("GlobalActivity"),x.CommandCenter=new x("CommandCenter"),x.CommandCenterCenter=new x("CommandCenterCenter"),x.LayoutControlMenuSubmenu=new x("LayoutControlMenuSubmenu"),x.LayoutControlMenu=new x("LayoutControlMenu"),x.MenubarMainMenu=new x("MenubarMainMenu"),x.MenubarAppearanceMenu=new x("MenubarAppearanceMenu"),x.MenubarDebugMenu=new x("MenubarDebugMenu"),x.MenubarEditMenu=new x("MenubarEditMenu"),x.MenubarCopy=new x("MenubarCopy"),x.MenubarFileMenu=new x("MenubarFileMenu"),x.MenubarGoMenu=new x("MenubarGoMenu"),x.MenubarHelpMenu=new x("MenubarHelpMenu"),x.MenubarLayoutMenu=new x("MenubarLayoutMenu"),x.MenubarNewBreakpointMenu=new x("MenubarNewBreakpointMenu"),x.PanelAlignmentMenu=new x("PanelAlignmentMenu"),x.PanelPositionMenu=new x("PanelPositionMenu"),x.ActivityBarPositionMenu=new x("ActivityBarPositionMenu"),x.MenubarPreferencesMenu=new x("MenubarPreferencesMenu"),x.MenubarRecentMenu=new x("MenubarRecentMenu"),x.MenubarSelectionMenu=new x("MenubarSelectionMenu"),x.MenubarShare=new x("MenubarShare"),x.MenubarSwitchEditorMenu=new x("MenubarSwitchEditorMenu"),x.MenubarSwitchGroupMenu=new x("MenubarSwitchGroupMenu"),x.MenubarTerminalMenu=new x("MenubarTerminalMenu"),x.MenubarViewMenu=new x("MenubarViewMenu"),x.MenubarHomeMenu=new x("MenubarHomeMenu"),x.OpenEditorsContext=new x("OpenEditorsContext"),x.OpenEditorsContextShare=new x("OpenEditorsContextShare"),x.ProblemsPanelContext=new x("ProblemsPanelContext"),x.SCMInputBox=new x("SCMInputBox"),x.SCMChangesSeparator=new x("SCMChangesSeparator"),x.SCMChangesContext=new x("SCMChangesContext"),x.SCMIncomingChanges=new x("SCMIncomingChanges"),x.SCMIncomingChangesContext=new x("SCMIncomingChangesContext"),x.SCMIncomingChangesSetting=new x("SCMIncomingChangesSetting"),x.SCMOutgoingChanges=new x("SCMOutgoingChanges"),x.SCMOutgoingChangesContext=new x("SCMOutgoingChangesContext"),x.SCMOutgoingChangesSetting=new x("SCMOutgoingChangesSetting"),x.SCMIncomingChangesAllChangesContext=new x("SCMIncomingChangesAllChangesContext"),x.SCMIncomingChangesHistoryItemContext=new x("SCMIncomingChangesHistoryItemContext"),x.SCMOutgoingChangesAllChangesContext=new x("SCMOutgoingChangesAllChangesContext"),x.SCMOutgoingChangesHistoryItemContext=new x("SCMOutgoingChangesHistoryItemContext"),x.SCMChangeContext=new x("SCMChangeContext"),x.SCMResourceContext=new x("SCMResourceContext"),x.SCMResourceContextShare=new x("SCMResourceContextShare"),x.SCMResourceFolderContext=new x("SCMResourceFolderContext"),x.SCMResourceGroupContext=new x("SCMResourceGroupContext"),x.SCMSourceControl=new x("SCMSourceControl"),x.SCMSourceControlInline=new x("SCMSourceControlInline"),x.SCMSourceControlTitle=new x("SCMSourceControlTitle"),x.SCMHistoryTitle=new x("SCMHistoryTitle"),x.SCMTitle=new x("SCMTitle"),x.SearchContext=new x("SearchContext"),x.SearchActionMenu=new x("SearchActionContext"),x.StatusBarWindowIndicatorMenu=new x("StatusBarWindowIndicatorMenu"),x.StatusBarRemoteIndicatorMenu=new x("StatusBarRemoteIndicatorMenu"),x.StickyScrollContext=new x("StickyScrollContext"),x.TestItem=new x("TestItem"),x.TestItemGutter=new x("TestItemGutter"),x.TestProfilesContext=new x("TestProfilesContext"),x.TestMessageContext=new x("TestMessageContext"),x.TestMessageContent=new x("TestMessageContent"),x.TestPeekElement=new x("TestPeekElement"),x.TestPeekTitle=new x("TestPeekTitle"),x.TestCallStack=new x("TestCallStack"),x.TouchBarContext=new x("TouchBarContext"),x.TitleBarContext=new x("TitleBarContext"),x.TitleBarTitleContext=new x("TitleBarTitleContext"),x.TunnelContext=new x("TunnelContext"),x.TunnelPrivacy=new x("TunnelPrivacy"),x.TunnelProtocol=new x("TunnelProtocol"),x.TunnelPortInline=new x("TunnelInline"),x.TunnelTitle=new x("TunnelTitle"),x.TunnelLocalAddressInline=new x("TunnelLocalAddressInline"),x.TunnelOriginInline=new x("TunnelOriginInline"),x.ViewItemContext=new x("ViewItemContext"),x.ViewContainerTitle=new x("ViewContainerTitle"),x.ViewContainerTitleContext=new x("ViewContainerTitleContext"),x.ViewTitle=new x("ViewTitle"),x.ViewTitleContext=new x("ViewTitleContext"),x.CommentEditorActions=new x("CommentEditorActions"),x.CommentThreadTitle=new x("CommentThreadTitle"),x.CommentThreadActions=new x("CommentThreadActions"),x.CommentThreadAdditionalActions=new x("CommentThreadAdditionalActions"),x.CommentThreadTitleContext=new x("CommentThreadTitleContext"),x.CommentThreadCommentContext=new x("CommentThreadCommentContext"),x.CommentTitle=new x("CommentTitle"),x.CommentActions=new x("CommentActions"),x.CommentsViewThreadActions=new x("CommentsViewThreadActions"),x.InteractiveToolbar=new x("InteractiveToolbar"),x.InteractiveCellTitle=new x("InteractiveCellTitle"),x.InteractiveCellDelete=new x("InteractiveCellDelete"),x.InteractiveCellExecute=new x("InteractiveCellExecute"),x.InteractiveInputExecute=new x("InteractiveInputExecute"),x.InteractiveInputConfig=new x("InteractiveInputConfig"),x.ReplInputExecute=new x("ReplInputExecute"),x.IssueReporter=new x("IssueReporter"),x.NotebookToolbar=new x("NotebookToolbar"),x.NotebookStickyScrollContext=new x("NotebookStickyScrollContext"),x.NotebookCellTitle=new x("NotebookCellTitle"),x.NotebookCellDelete=new x("NotebookCellDelete"),x.NotebookCellInsert=new x("NotebookCellInsert"),x.NotebookCellBetween=new x("NotebookCellBetween"),x.NotebookCellListTop=new x("NotebookCellTop"),x.NotebookCellExecute=new x("NotebookCellExecute"),x.NotebookCellExecuteGoTo=new x("NotebookCellExecuteGoTo"),x.NotebookCellExecutePrimary=new x("NotebookCellExecutePrimary"),x.NotebookDiffCellInputTitle=new x("NotebookDiffCellInputTitle"),x.NotebookDiffCellMetadataTitle=new x("NotebookDiffCellMetadataTitle"),x.NotebookDiffCellOutputsTitle=new x("NotebookDiffCellOutputsTitle"),x.NotebookOutputToolbar=new x("NotebookOutputToolbar"),x.NotebookOutlineFilter=new x("NotebookOutlineFilter"),x.NotebookOutlineActionMenu=new x("NotebookOutlineActionMenu"),x.NotebookEditorLayoutConfigure=new x("NotebookEditorLayoutConfigure"),x.NotebookKernelSource=new x("NotebookKernelSource"),x.BulkEditTitle=new x("BulkEditTitle"),x.BulkEditContext=new x("BulkEditContext"),x.TimelineItemContext=new x("TimelineItemContext"),x.TimelineTitle=new x("TimelineTitle"),x.TimelineTitleContext=new x("TimelineTitleContext"),x.TimelineFilterSubMenu=new x("TimelineFilterSubMenu"),x.AccountsContext=new x("AccountsContext"),x.SidebarTitle=new x("SidebarTitle"),x.PanelTitle=new x("PanelTitle"),x.AuxiliaryBarTitle=new x("AuxiliaryBarTitle"),x.AuxiliaryBarHeader=new x("AuxiliaryBarHeader"),x.TerminalInstanceContext=new x("TerminalInstanceContext"),x.TerminalEditorInstanceContext=new x("TerminalEditorInstanceContext"),x.TerminalNewDropdownContext=new x("TerminalNewDropdownContext"),x.TerminalTabContext=new x("TerminalTabContext"),x.TerminalTabEmptyAreaContext=new x("TerminalTabEmptyAreaContext"),x.TerminalStickyScrollContext=new x("TerminalStickyScrollContext"),x.WebviewContext=new x("WebviewContext"),x.InlineCompletionsActions=new x("InlineCompletionsActions"),x.InlineEditsActions=new x("InlineEditsActions"),x.InlineEditActions=new x("InlineEditActions"),x.NewFile=new x("NewFile"),x.MergeInput1Toolbar=new x("MergeToolbar1Toolbar"),x.MergeInput2Toolbar=new x("MergeToolbar2Toolbar"),x.MergeBaseToolbar=new x("MergeBaseToolbar"),x.MergeInputResultToolbar=new x("MergeToolbarResultToolbar"),x.InlineSuggestionToolbar=new x("InlineSuggestionToolbar"),x.InlineEditToolbar=new x("InlineEditToolbar"),x.ChatContext=new x("ChatContext"),x.ChatCodeBlock=new x("ChatCodeblock"),x.ChatCompareBlock=new x("ChatCompareBlock"),x.ChatMessageTitle=new x("ChatMessageTitle"),x.ChatExecute=new x("ChatExecute"),x.ChatExecuteSecondary=new x("ChatExecuteSecondary"),x.ChatInputSide=new x("ChatInputSide"),x.AccessibleView=new x("AccessibleView"),x.MultiDiffEditorFileToolbar=new x("MultiDiffEditorFileToolbar"),x.DiffEditorHunkToolbar=new x("DiffEditorHunkToolbar"),x.DiffEditorSelectionToolbar=new x("DiffEditorSelectionToolbar");let fi=x;const Oc=Be("menuService"),bf=class bf{static for(e){let t=this._all.get(e);return t||(t=new bf(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof bf&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}};bf._all=new Map;let kl=bf;const Ao=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new HO({merge:kl.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(s){return this._commands.set(s.id,s),this._onDidChangeMenu.fire(kl.for(fi.CommandPalette)),ve(()=>{this._commands.delete(s.id)&&this._onDidChangeMenu.fire(kl.for(fi.CommandPalette))})}getCommand(s){return this._commands.get(s)}getCommands(){const s=new Map;return this._commands.forEach((e,t)=>s.set(t,e)),s}appendMenuItem(s,e){let t=this._menuItems.get(s);t||(t=new Dn,this._menuItems.set(s,t));const i=t.push(e);return this._onDidChangeMenu.fire(kl.for(s)),ve(()=>{i(),this._onDidChangeMenu.fire(kl.for(s))})}appendMenuItems(s){const e=new ae;for(const{id:t,item:i}of s)e.add(this.appendMenuItem(t,i));return e}getMenuItems(s){let e;return this._menuItems.has(s)?e=[...this._menuItems.get(s)]:e=[],s===fi.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(s){const e=new Set;for(const t of s)Hu(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||s.push({command:t})})}};class zu extends bb{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Fr=ep=class{static label(e,t){return t?.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,n,o,r,a){this.hideActions=n,this.menuKeybinding=o,this._commandService=a,this.id=e.id,this.label=ep.label(e,i),this.tooltip=(typeof e.tooltip=="string"?e.tooltip:e.tooltip?.value)??"",this.enabled=!e.precondition||r.contextMatchesRules(e.precondition),this.checked=void 0;let l;if(e.toggled){const c=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=r.contextMatchesRules(c.condition),this.checked&&c.tooltip&&(this.tooltip=typeof c.tooltip=="string"?c.tooltip:c.tooltip.value),this.checked&&Ue.isThemeIcon(c.icon)&&(l=c.icon),this.checked&&c.title&&(this.label=typeof c.title=="string"?c.title:c.title.value)}l||(l=Ue.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new ep(t,void 0,i,n,void 0,r,a):void 0,this._options=i,this.class=l&&Ue.asClassName(l)}run(...e){let t=[];return this._options?.arg&&(t=[...t,this._options.arg]),this._options?.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};Fr=ep=w3([o2(5,Xe),o2(6,Jn)],Fr);class S3{constructor(e){this.desc=e}}function Kte(s){const e=[],t=new s,{f1:i,menu:n,keybinding:o,...r}=t.desc;if(Oi.getCommand(r.id))throw new Error(`Cannot register two commands with the same id: ${r.id}`);if(e.push(Oi.registerCommand({id:r.id,handler:(a,...l)=>t.run(a,...l),metadata:r.metadata})),Array.isArray(n))for(const a of n)e.push(Ao.appendMenuItem(a.id,{command:{...r,precondition:a.precondition===null?void 0:r.precondition},...a}));else n&&e.push(Ao.appendMenuItem(n.id,{command:{...r,precondition:n.precondition===null?void 0:r.precondition},...n}));if(i&&(e.push(Ao.appendMenuItem(fi.CommandPalette,{command:r,when:r.precondition})),e.push(Ao.addCommand(r))),Array.isArray(o))for(const a of o)e.push(wc.registerKeybindingRule({...a,id:r.id,when:r.precondition?$e.and(r.precondition,a.when):a.when}));else o&&e.push(wc.registerKeybindingRule({...o,id:r.id,when:r.precondition?$e.and(r.precondition,o.when):o.when}));return{dispose(){wi(e)}}}const Xa=Be("telemetryService"),ps=Be("logService");var hn;(function(s){s[s.Off=0]="Off",s[s.Trace=1]="Trace",s[s.Debug=2]="Debug",s[s.Info=3]="Info",s[s.Warning=4]="Warning",s[s.Error=5]="Error"})(hn||(hn={}));const XM=hn.Info;class JM extends K{constructor(){super(...arguments),this.level=XM,this._onDidChangeLogLevel=this._register(new A),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==hn.Off&&this.level<=e}}class y3 extends JM{constructor(e=XM,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(hn.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(hn.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(hn.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(hn.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(hn.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class L3 extends JM{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}function k3(s){switch(s){case hn.Trace:return"trace";case hn.Debug:return"debug";case hn.Info:return"info";case hn.Warning:return"warn";case hn.Error:return"error";case hn.Off:return"off"}}new he("logLevel",k3(hn.Info));class Db{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=$e.and(i,this.precondition):i=this.precondition);const n={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};wc.registerKeybindingRule(n)}}Oi.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){Ao.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class hk extends Db{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,n){return this._implementations.push({priority:e,name:t,implementation:i,when:n}),this._implementations.sort((o,r)=>r.priority-o.priority),{dispose:()=>{for(let o=0;o{if(a.get(Xe).contextMatchesRules(i??void 0))return n(a,r,t)})}runCommand(e,t){return za.runEditorCommand(e,t,this.precondition,(i,n,o)=>this.runEditorCommand(i,n,o))}}class dk extends za{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(n){return n.menuId||(n.menuId=fi.EditorContext),n.title||(n.title=e.label),n.when=$e.and(e.precondition,n.when),n}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(dk.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(Xa).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class jte extends dk{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,n)=>n[0]-i[0]),{dispose:()=>{for(let i=0;i{const r=o.get(Xe),a=o.get(ps);if(!r.contextMatchesRules(this.desc.precondition??void 0)){a.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,this.desc.precondition?.serialize());return}return this.runEditorCommand(o,n,...t)})}}function Zte(s,e){Oi.registerCommand(s,function(t,...i){const n=t.get(Qe),[o,r]=i;Po(De.isUri(o)),Po(W.isIPosition(r));const a=t.get(Qi).getModel(o);if(a){const l=W.lift(r);return n.invokeFunction(e,a,l,...i.slice(2))}return t.get(Tg).createModelReference(o).then(l=>new Promise((c,h)=>{try{const d=n.invokeFunction(e,l.object.textEditorModel,W.lift(r),i.slice(2));c(d)}catch(d){h(d)}}).finally(()=>{l.dispose()}))})}function Se(s){return rs.INSTANCE.registerEditorCommand(s),s}function Yte(s){const e=new s;return rs.INSTANCE.registerEditorAction(e),e}function Qte(s){return rs.INSTANCE.registerEditorAction(s),s}function Xte(s){rs.INSTANCE.registerEditorAction(s)}function tR(s,e,t){rs.INSTANCE.registerEditorContribution(s,e,t)}var jh;(function(s){function e(r){return rs.INSTANCE.getEditorCommand(r)}s.getEditorCommand=e;function t(){return rs.INSTANCE.getEditorActions()}s.getEditorActions=t;function i(){return rs.INSTANCE.getEditorContributions()}s.getEditorContributions=i;function n(r){return rs.INSTANCE.getEditorContributions().filter(a=>r.indexOf(a.id)>=0)}s.getSomeEditorContributions=n;function o(){return rs.INSTANCE.getDiffEditorContributions()}s.getDiffEditorContributions=o})(jh||(jh={}));const x3={EditorCommonContributions:"editor.contributions"},y1=class y1{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}};y1.INSTANCE=new y1;let rs=y1;Si.add(x3.EditorCommonContributions,rs.INSTANCE);function Rg(s){return s.register(),s}const iR=Rg(new hk({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:fi.MenubarEditMenu,group:"1_do",title:p({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:fi.CommandPalette,group:"",title:p("undo","Undo"),order:1}]}));Rg(new eR(iR,{id:"default:undo",precondition:void 0}));const nR=Rg(new hk({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:fi.MenubarEditMenu,group:"1_do",title:p({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:fi.CommandPalette,group:"",title:p("redo","Redo"),order:1}]}));Rg(new eR(nR,{id:"default:redo",precondition:void 0}));const D3=Rg(new hk({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:fi.MenubarSelectionMenu,group:"1_basic",title:p({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:fi.CommandPalette,group:"",title:p("selectAll","Select All"),order:1}]})),r2="default",E3="$initialize";let a2=!1;function uv(s){Pd&&(a2||(a2=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(s.message))}class I3{constructor(e,t,i,n,o){this.vsWorker=e,this.req=t,this.channel=i,this.method=n,this.args=o,this.type=0}}class l2{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class N3{constructor(e,t,i,n,o){this.vsWorker=e,this.req=t,this.channel=i,this.eventName=n,this.arg=o,this.type=2}}class T3{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class M3{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class R3{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,i){const n=String(++this._lastSentReq);return new Promise((o,r)=>{this._pendingReplies[n]={resolve:o,reject:r},this._send(new I3(this._workerId,n,e,t,i))})}listen(e,t,i){let n=null;const o=new A({onWillAddFirstListener:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,o),this._send(new N3(this._workerId,n,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(n),this._send(new M3(this._workerId,n)),n=null}});return o.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}createProxyToRemoteChannel(e,t){const i={get:(n,o)=>(typeof o=="string"&&!n[o]&&(oR(o)?n[o]=r=>this.listen(e,o,r):sR(o)?n[o]=this.listen(e,o,void 0):o.charCodeAt(0)===36&&(n[o]=async(...r)=>(await t?.(),this.sendMessage(e,o,r)))),n[o])};return new Proxy(Object.create(null),i)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then(n=>{this._send(new l2(this._workerId,t,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=vD(n.detail)),this._send(new l2(this._workerId,t,void 0,vD(n)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.channel,e.eventName,e.arg)(n=>{this._send(new T3(this._workerId,t,n))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i{this._protocol.handleMessage(o)},o=>{ut(o)})),this._protocol=new R3({sendMessage:(o,r)=>{this._worker.postMessage(o,r)},handleMessage:(o,r,a)=>this._handleMessage(o,r,a),handleEvent:(o,r,a)=>this._handleEvent(o,r,a)}),this._protocol.setWorkerId(this._worker.getId());let i=null;const n=globalThis.require;typeof n<"u"&&typeof n.getConfig=="function"?i=n.getConfig():typeof globalThis.requirejs<"u"&&(i=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(r2,E3,[this._worker.getId(),JSON.parse(JSON.stringify(i)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(r2,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(o=>{this._onError("Worker failed to load "+t.amdModuleId,o)})}_handleMessage(e,t,i){const n=this._localChannels.get(e);if(!n)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if(typeof n[t]!="function")return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(n[t].apply(n,i))}catch(o){return Promise.reject(o)}}_handleEvent(e,t,i){const n=this._localChannels.get(e);if(!n)throw new Error(`Missing channel ${e} on main thread`);if(oR(t)){const o=n[t].call(n,i);if(typeof o!="function")throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return o}if(sR(t)){const o=n[t];if(typeof o!="function")throw new Error(`Missing event ${t} on main thread channel ${e}.`);return o}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function sR(s){return s[0]==="o"&&s[1]==="n"&&ha(s.charCodeAt(2))}function oR(s){return/^onDynamic/.test(s)&&ha(s.charCodeAt(9))}function Fc(s,e){const t=globalThis.MonacoEnvironment;if(t?.createTrustedTypesPolicy)try{return t.createTrustedTypesPolicy(s,e)}catch(i){ut(i);return}try{return globalThis.trustedTypes?.createPolicy(s,e)}catch(i){ut(i);return}}let mh;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?mh=globalThis.workerttPolicy:mh=Fc("defaultWorkerFactory",{createScriptURL:s=>s});function P3(s,e){const t=globalThis.MonacoEnvironment;if(t){if(typeof t.getWorker=="function")return t.getWorker("workerMain.js",e);if(typeof t.getWorkerUrl=="function"){const i=t.getWorkerUrl("workerMain.js",e);return new Worker(mh?mh.createScriptURL(i):i,{name:e,type:"module"})}}if(s){const i=O3(e,s.toString(!0)),n=new Worker(mh?mh.createScriptURL(i):i,{name:e,type:"module"});return F3(n)}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function O3(s,e,t){if(!(/^((http:)|(https:)|(file:)|(vscode-file:))/.test(e)&&e.substring(0,globalThis.origin.length)!==globalThis.origin)){const o=e.lastIndexOf("?"),r=e.lastIndexOf("#",o),a=o>0?new URLSearchParams(e.substring(o+1,~r?r:void 0)):new URLSearchParams;tv.addSearchParam(a,!0,!0),a.toString()?e=`${e}?${a.toString()}#${s}`:e=`${e}#${s}`}const n=new Blob([yL([`/*${s}*/`,void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(HT())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(kL())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",`await import(ttPolicy?.createScriptURL('${e}') ?? '${e}');`,"globalThis.postMessage({ type: 'vscode-worker-ready' });",`/*${s}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(n)}function F3(s){return new Promise((e,t)=>{s.onmessage=function(i){i.data.type==="vscode-worker-ready"&&(s.onmessage=null,e(s))},s.onerror=t})}function B3(s){return typeof s.then=="function"}class W3 extends K{constructor(e,t,i,n,o,r){super(),this.id=i,this.label=n;const a=P3(e,n);B3(a)?this.worker=a:this.worker=Promise.resolve(a),this.postMessage(t,[]),this.worker.then(l=>{l.onmessage=function(c){o(c.data)},l.onmessageerror=r,typeof l.addEventListener=="function"&&l.addEventListener("error",r)}),this._register(ve(()=>{this.worker?.then(l=>{l.onmessage=null,l.onmessageerror=null,l.removeEventListener("error",r),l.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){this.worker?.then(i=>{try{i.postMessage(e,t)}catch(n){ut(n),ut(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:n}))}})}}class V3{constructor(e,t){this.amdModuleId=e,this.label=t,this.esmModuleLocation=mb.asBrowserUri(`${e}.esm.js`)}}const L1=class L1{constructor(){this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++L1.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new W3(e.esmModuleLocation,e.amdModuleId,n,e.label||"anonymous"+n,t,o=>{uv(o),this._webWorkerFailedBeforeError=o,i(o)})}};L1.LAST_WORKER_ID=0;let fv=L1;function H3(s,e){const t=typeof s=="string"?new V3(s,e):s;return new A3(new fv,t)}var hi;(function(s){s[s.None=0]="None",s[s.Indent=1]="Indent",s[s.IndentOutdent=2]="IndentOutdent",s[s.Outdent=3]="Outdent"})(hi||(hi={}));class T0{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;tnew T0(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new T0({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new T0({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:Oh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:Oh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}};Oh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> `,Oh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> `;let gv=Oh;function $l(s,e){const t=s.getCount(),i=s.findTokenIndexAtOffset(e),n=s.getLanguageId(i);let o=i;for(;o+10&&s.getLanguageId(r-1)===n;)r--;return new U3(s,n,r,o+1,s.getStartOffset(r),s.getEndOffset(o))}class U3{constructor(e,t,i,n,o,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=o,this._lastCharOffset=r,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function vo(s){return(s&3)!==0}const c2=typeof Buffer<"u";let M0;class uk{static wrap(e){return c2&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new uk(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return c2?this.buffer.toString():(M0||(M0=new TextDecoder),M0.decode(this.buffer))}}function $3(s,e){return s[e+0]<<0>>>0|s[e+1]<<8>>>0}function K3(s,e,t){s[t+0]=e&255,e=e>>>8,s[t+1]=e&255}function Ks(s,e){return s[e]*2**24+s[e+1]*2**16+s[e+2]*2**8+s[e+3]}function qs(s,e,t){s[t+3]=e,e=e>>>8,s[t+2]=e,e=e>>>8,s[t+1]=e,e=e>>>8,s[t]=e}function h2(s,e){return s[e]}function d2(s,e,t){s[t]=e}let R0;function rR(){return R0||(R0=new TextDecoder("UTF-16LE")),R0}let A0;function q3(){return A0||(A0=new TextDecoder("UTF-16BE")),A0}let P0;function aR(){return P0||(P0=R5()?rR():q3()),P0}function j3(s,e,t){const i=new Uint16Array(s.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?G3(s,e,t):rR().decode(i)}function G3(s,e,t){const i=[];let n=0;for(let o=0;o=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i[r[0].toLowerCase(),r[1].toLowerCase()]);const t=[];for(let r=0;r{const[l,c]=r,[h,d]=a;return l===h||l===d||c===h||c===d},n=(r,a)=>{const l=Math.min(r,a),c=Math.max(r,a);for(let h=0;h0&&o.push({open:a,close:l})}return o}class Y3{constructor(e,t){this._richEditBracketsBrand=void 0;const i=Z3(t);this.brackets=i.map((n,o)=>new Up(e,o,n.open,n.close,Q3(n.open,n.close,i,o),X3(n.open,n.close,i,o))),this.forwardRegex=J3(this.brackets),this.reversedRegex=eF(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const n of this.brackets){for(const o of n.open)this.textIsBracket[o]=n,this.textIsOpenBracket[o]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,o.length);for(const o of n.close)this.textIsBracket[o]=n,this.textIsOpenBracket[o]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,o.length)}}}function lR(s,e,t,i){for(let n=0,o=e.length;n=0&&i.push(a);for(const a of r.close)a.indexOf(s)>=0&&i.push(a)}}function cR(s,e){return s.length-e.length}function Ib(s){if(s.length<=1)return s;const e=[],t=new Set;for(const i of s)t.has(i)||(e.push(i),t.add(i));return e}function Q3(s,e,t,i){let n=[];n=n.concat(s),n=n.concat(e);for(let o=0,r=n.length;o=0;r--)n[o++]=i.charCodeAt(r);return aR().decode(n)}let e=null,t=null;return function(n){return e!==n&&(e=n,t=s(e)),t}}();class vs{static _findPrevBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const r=i.length-(o.index||0),a=o[0].length,l=n+r;return new R(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,o){const a=fk(i).substring(i.length-o,i.length-n);return this._findPrevBracketInText(e,t,a,n)}static findNextBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const r=o.index||0,a=o[0].length;if(a===0)return null;const l=n+r;return new R(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,o){const r=i.substring(n,o);return this.findNextBracketInText(e,t,r,n)}}class iF{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const n=i.charAt(i.length-1);e.push(n)}return gc(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const n=t.findTokenIndexAtOffset(i-1);if(vo(t.getStandardTokenType(n)))return null;const o=this._richEditBrackets.reversedRegex,r=t.getLineContent().substring(0,i-1)+e,a=vs.findPrevBracketInRange(o,1,r,0,r.length);if(!a)return null;const l=r.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const h=t.getActualLineContentBefore(a.startColumn-1);return/^\s*$/.test(h)?{matchOpenBracket:l}:null}}function dm(s){return s.global&&(s.lastIndex=0),!0}class nF{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&dm(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&dm(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&dm(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&dm(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class ph{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=ph._createOpenBracketRegExp(t[0]),n=ph._createCloseBracketRegExp(t[1]);i&&n&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:n})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let o=0,r=this._regExpRules.length;oc.reg?(c.reg.lastIndex=0,c.reg.test(c.text)):!0))return a.action}if(e>=2&&i.length>0&&n.length>0)for(let o=0,r=this._brackets.length;o=2&&i.length>0){for(let o=0,r=this._brackets.length;o"u"?t:o}function oF(s){return s.replace(/[\[\]]/g,"")}const gi=Be("languageService");class No{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const uR=[];function je(s,e,t){e instanceof No||(e=new No(e,[],!!t)),uR.push([s,e])}function f2(){return uR}const Sr=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),Nb={JSONContribution:"base.contributions.json"};function rF(s){return s.length>0&&s.charAt(s.length-1)==="#"?s.substring(0,s.length-1):s}class aF{constructor(){this._onDidChangeSchema=new A,this.schemasById={}}registerSchema(e,t){this.schemasById[rF(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const lF=new aF;Si.add(Nb.JSONContribution,lF);const Bc={Configuration:"base.contributions.configuration"},um="vscode://schemas/settings/resourceLanguage",g2=Si.as(Nb.JSONContribution);class cF{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new A,this._onDidUpdateConfiguration=new A,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:p("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},g2.registerSchema(um,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),g2.registerSchema(um,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const i=[];for(const{overrides:n,source:o}of e)for(const r in n){t.add(r);const a=this.configurationDefaultsOverrides.get(r)??this.configurationDefaultsOverrides.set(r,{configurationDefaultOverrides:[]}).get(r),l=n[r];if(a.configurationDefaultOverrides.push({value:l,source:o}),Ua.test(r)){const c=this.mergeDefaultConfigurationsForOverrideIdentifier(r,l,o,a.configurationDefaultOverrideValue);if(!c)continue;a.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(r,c,o),i.push(...$p(r))}else{const c=this.mergeDefaultConfigurationsForConfigurationProperty(r,l,o,a.configurationDefaultOverrideValue);if(!c)continue;a.configurationDefaultOverrideValue=c;const h=this.configurationProperties[r];h&&(this.updatePropertyDefaultValue(r,h),this.updateSchema(r,h))}}this.doRegisterOverrideIdentifiers(i)}updateDefaultOverrideProperty(e,t,i){const n={type:"object",default:t.value,description:p("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",oF(e)),$ref:um,defaultDefaultValue:t.value,source:i,defaultValueSource:i};this.configurationProperties[e]=n,this.defaultLanguageConfigurationOverridesNode.properties[e]=n}mergeDefaultConfigurationsForOverrideIdentifier(e,t,i,n){const o=n?.value||{},r=n?.source??new Map;if(!(r instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(const a of Object.keys(t)){const l=t[a];if(Ii(l)&&(hs(o[a])||Ii(o[a]))){if(o[a]={...o[a]??{},...l},i)for(const h in l)r.set(`${a}.${h}`,i)}else o[a]=l,i?r.set(a,i):r.delete(a)}return{value:o,source:r}}mergeDefaultConfigurationsForConfigurationProperty(e,t,i,n){const o=this.configurationProperties[e],r=n?.value??o?.defaultDefaultValue;let a=i;if(Ii(t)&&(o!==void 0&&o.type==="object"||o===void 0&&(hs(r)||Ii(r)))){if(a=n?.source??new Map,!(a instanceof Map)){console.error("defaultValueSource is not a Map");return}for(const c in t)i&&a.set(`${e}.${c}`,i);t={...Ii(r)?r:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(n=>{this.validateAndRegisterProperties(n,t,n.extensionInfo,n.restrictedProperties,void 0,i),this.configurationContributors.push(n),this.registerJSONConfiguration(n)})}validateAndRegisterProperties(e,t=!0,i,n,o=3,r){o=zn(e.scope)?o:e.scope;const a=e.properties;if(a)for(const c in a){const h=a[c];if(t&&uF(c,h)){delete a[c];continue}if(h.source=i,h.defaultDefaultValue=a[c].default,this.updatePropertyDefaultValue(c,h),Ua.test(c)?h.scope=void 0:(h.scope=zn(h.scope)?o:h.scope,h.restricted=zn(h.restricted)?!!n?.includes(c):h.restricted),a[c].hasOwnProperty("included")&&!a[c].included){this.excludedConfigurationProperties[c]=a[c],delete a[c];continue}else this.configurationProperties[c]=a[c],a[c].policy?.name&&this.policyConfigurations.set(a[c].policy.name,c);!a[c].deprecationMessage&&a[c].markdownDeprecationMessage&&(a[c].deprecationMessage=a[c].markdownDeprecationMessage),r.add(c)}const l=e.allOf;if(l)for(const c of l)this.validateAndRegisterProperties(c,t,i,n,o,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const n=i.properties;if(n)for(const r in n)this.updateSchema(r,n[r]);i.allOf?.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:p("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:p("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:um};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){p("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),p("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let n,o;i&&(!t.disallowConfigurationDefault||!i.source)&&(n=i.value,o=i.source),hs(n)&&(n=t.defaultDefaultValue,o=void 0),hs(n)&&(n=dF(t.type)),t.default=n,t.defaultValueSource=o}}const fR="\\[([^\\]]+)\\]",m2=new RegExp(fR,"g"),hF=`^(${fR})+$`,Ua=new RegExp(hF);function $p(s){const e=[];if(Ua.test(s)){let t=m2.exec(s);for(;t?.length;){const i=t[1].trim();i&&e.push(i),t=m2.exec(s)}}return gc(e)}function dF(s){switch(Array.isArray(s)?s[0]:s){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const tp=new cF;Si.add(Bc.Configuration,tp);function uF(s,e){return s.trim()?Ua.test(s)?p("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",s):tp.getConfigurationProperties()[s]!==void 0?p("config.property.duplicate","Cannot register '{0}'. This property is already registered.",s):e.policy?.name&&tp.getPolicyConfigurations().get(e.policy?.name)!==void 0?p("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",s,e.policy?.name,tp.getPolicyConfigurations().get(e.policy?.name)):null:p("config.property.empty","Cannot register an empty property")}const fF={ModesRegistry:"editor.modesRegistry"};class gF{constructor(){this._onDidChangeLanguages=new A,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const l=new Set;return{info:new _F(this,a,l),closing:l}}),o=new FD(a=>{const l=new Set,c=new Set;return{info:new bF(this,a,l,c),opening:l,openingColorized:c}});for(const[a,l]of i){const c=n.get(a),h=o.get(l);c.closing.add(h.info),h.opening.add(c.info)}const r=t.colorizedBracketPairs?p2(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of r){const c=n.get(a),h=o.get(l);c.closing.add(h.info),h.openingColorized.add(c.info),h.opening.add(c.info)}this._openingBrackets=new Map([...n.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...o.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return Ag(t,e)}}function p2(s){return s.filter(([e,t])=>e!==""&&t!=="")}class gR{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class _F extends gR{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class bF extends gR{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var CF=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},_2=function(s,e){return function(t,i){e(t,i,s)}};class O0{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const qo=Be("languageConfigurationService");let pv=class extends K{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new yF),this.onDidChangeEmitter=this._register(new A),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(_v));this._register(this.configurationService.onDidChangeConfiguration(n=>{const o=n.change.keys.some(a=>i.has(a)),r=n.change.overrides.filter(([a,l])=>l.some(c=>i.has(c))).map(([a])=>a);if(o)this.configurations.clear(),this.onDidChangeEmitter.fire(new O0(void 0));else for(const a of r)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new O0(a)))})),this._register(this._registry.onDidChange(n=>{this.configurations.delete(n.languageId),this.onDidChangeEmitter.fire(new O0(n.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=wF(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};pv=CF([_2(0,Ft),_2(1,gi)],pv);function wF(s,e,t,i){let n=e.getLanguageConfiguration(s);if(!n){if(!i.isRegisteredLanguageId(s))return new Gh(s,{});n=new Gh(s,{})}const o=vF(n.languageId,t),r=pR([n.underlyingConfig,o]);return new Gh(n.languageId,r)}const _v={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function vF(s,e){const t=e.getValue(_v.brackets,{overrideIdentifier:s}),i=e.getValue(_v.colorizedBracketPairs,{overrideIdentifier:s});return{brackets:b2(t),colorizedBracketPairs:b2(i)}}function b2(s){if(Array.isArray(s))return s.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function mR(s,e,t){const i=s.getLineContent(e);let n=Ri(i);return n.length>t-1&&(n=n.substring(0,t-1)),n}class SF{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new C2(e,t,++this._order);return this._entries.push(i),this._resolved=null,ve(()=>{for(let n=0;ne.configuration)))}}function pR(s){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const t of s)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class C2{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class w2{constructor(e){this.languageId=e}}class yF extends K{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._register(this.register(Ts,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new SF(e),this._entries.set(e,n));const o=n.register(t,i);return this._onDidChange.fire(new w2(e)),ve(()=>{o.dispose(),this._onDidChange.fire(new w2(e))})}getLanguageConfiguration(e){return this._entries.get(e)?.getResolvedConfiguration()||null}}class Gh{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new ph(this.underlyingConfig):null,this.comments=Gh._handleComments(this.underlyingConfig),this.characterPair=new gv(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||EL,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new nF(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new pF(e,this.underlyingConfig)}getWordDefinition(){return IL(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new Y3(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new iF(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new z3(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[n,o]=t.blockComment;i.blockCommentStartToken=n,i.blockCommentEndToken=o}return i}}je(qo,pv,1);class ra{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class v2{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new ra(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class yr{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,o,r]=yr._getElements(e),[a,l,c]=yr._getElements(t);this._hasStrings=r&&c,this._originalStringElements=n,this._originalElementsOrHash=o,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(yr._isStringArray(t)){const i=new Int32Array(t.length);for(let n=0,o=t.length;n=e&&n>=i&&this.ElementsAreEqual(t,n);)t--,n--;if(e>t||i>n){let d;return i<=n?(Xc.Assert(e===t+1,"originalStart should only be one more than originalEnd"),d=[new ra(e,0,i,n-i+1)]):e<=t?(Xc.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),d=[new ra(e,t-e+1,i,0)]):(Xc.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Xc.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const r=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,n,r,a,o),c=r[0],h=a[0];if(l!==null)return l;if(!o[0]){const d=this.ComputeDiffRecursive(e,c,i,h,o);let u=[];return o[0]?u=[new ra(c+1,t-(c+1)+1,h+1,n-(h+1)+1)]:u=this.ComputeDiffRecursive(c+1,t,h+1,n,o),this.ConcatenateChanges(d,u)}return[new ra(e,t-e+1,i,n-i+1)]}WALKTRACE(e,t,i,n,o,r,a,l,c,h,d,u,f,g,m,_,b,C){let v=null,w=null,y=new S2,L=t,k=i,D=f[0]-_[0]-n,E=-1073741824,U=this.m_forwardHistory.length-1;do{const O=D+e;O===L||O=0&&(c=this.m_forwardHistory[U],e=c[0],L=1,k=c.length-1)}while(--U>=-1);if(v=y.getReverseChanges(),C[0]){let O=f[0]+1,B=_[0]+1;if(v!==null&&v.length>0){const z=v[v.length-1];O=Math.max(O,z.getOriginalEnd()),B=Math.max(B,z.getModifiedEnd())}w=[new ra(O,u-O+1,B,m-B+1)]}else{y=new S2,L=r,k=a,D=f[0]-_[0]-l,E=1073741824,U=b?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const O=D+o;O===L||O=h[O+1]?(d=h[O+1]-1,g=d-D-l,d>E&&y.MarkNextChange(),E=d+1,y.AddOriginalElement(d+1,g+1),D=O+1-o):(d=h[O-1],g=d-D-l,d>E&&y.MarkNextChange(),E=d,y.AddModifiedElement(d+1,g+1),D=O-1-o),U>=0&&(h=this.m_reverseHistory[U],o=h[0],L=1,k=h.length-1)}while(--U>=-1);w=y.getChanges()}return this.ConcatenateChanges(v,w)}ComputeRecursionPoint(e,t,i,n,o,r,a){let l=0,c=0,h=0,d=0,u=0,f=0;e--,i--,o[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const g=t-e+(n-i),m=g+1,_=new Int32Array(m),b=new Int32Array(m),C=n-i,v=t-e,w=e-i,y=t-n,k=(v-C)%2===0;_[C]=e,b[v]=t,a[0]=!1;for(let D=1;D<=g/2+1;D++){let E=0,U=0;h=this.ClipDiagonalBound(C-D,D,C,m),d=this.ClipDiagonalBound(C+D,D,C,m);for(let B=h;B<=d;B+=2){B===h||BE+U&&(E=l,U=c),!k&&Math.abs(B-v)<=D-1&&l>=b[B])return o[0]=l,r[0]=c,z<=b[B]&&D<=1448?this.WALKTRACE(C,h,d,w,v,u,f,y,_,b,l,t,o,c,n,r,k,a):null}const O=(E-e+(U-i)-D)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(E,O))return a[0]=!0,o[0]=E,r[0]=U,O>0&&D<=1448?this.WALKTRACE(C,h,d,w,v,u,f,y,_,b,l,t,o,c,n,r,k,a):(e++,i++,[new ra(e,t-e+1,i,n-i+1)]);u=this.ClipDiagonalBound(v-D,D,v,m),f=this.ClipDiagonalBound(v+D,D,v,m);for(let B=u;B<=f;B+=2){B===u||B=b[B+1]?l=b[B+1]-1:l=b[B-1],c=l-(B-v)-y;const z=l;for(;l>e&&c>i&&this.ElementsAreEqual(l,c);)l--,c--;if(b[B]=l,k&&Math.abs(B-C)<=D&&l<=_[B])return o[0]=l,r[0]=c,z>=_[B]&&D<=1448?this.WALKTRACE(C,h,d,w,v,u,f,y,_,b,l,t,o,c,n,r,k,a):null}if(D<=1447){let B=new Int32Array(d-h+2);B[0]=C-h+1,Jc.Copy2(_,h,B,1,d-h+1),this.m_forwardHistory.push(B),B=new Int32Array(f-u+2),B[0]=v-u+1,Jc.Copy2(b,u,B,1,f-u+1),this.m_reverseHistory.push(B)}}return this.WALKTRACE(C,h,d,w,v,u,f,y,_,b,l,t,o,c,n,r,k,a)}PrettifyChanges(e){for(let t=0;t0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let n=0,o=0;if(t>0){const d=e[t-1];n=d.originalStart+d.originalLength,o=d.modifiedStart+d.modifiedLength}const r=i.originalLength>0,a=i.modifiedLength>0;let l=0,c=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let d=1;;d++){const u=i.originalStart-d,f=i.modifiedStart-d;if(uc&&(c=m,l=d)}i.originalStart-=l,i.modifiedStart-=l;const h=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],h)){e[t-1]=h[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&f>l&&(l=f,c=d,h=u)}return l>0?[c,h]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let o=0;o=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){const o=this._OriginalRegionIsBoundary(e,t)?1:0,r=this._ModifiedRegionIsBoundary(i,n)?1:0;return o+r}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return Jc.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],Jc.Copy(t,1,n,e.length,t.length-1),n}else{const n=new Array(e.length+t.length);return Jc.Copy(e,0,n,0,e.length),Jc.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,i){if(Xc.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Xc.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const n=e.originalStart;let o=e.originalLength;const r=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new ra(n,o,r,a),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&e255?255:s|0}function eh(s){return s<0?0:s>4294967295?4294967295:s|0}class Wd{constructor(e){const t=Kp(e);this._defaultValue=t,this._asciiMap=Wd._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=Kp(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class eie{constructor(){this._actual=new Wd(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class kF{constructor(e,t,i){const n=new Uint8Array(e*t);for(let o=0,r=e*t;ot&&(t=l),a>i&&(i=a),c>i&&(i=c)}t++,i++;const n=new kF(i,t,0);for(let o=0,r=e.length;o=this._maxCharCode?0:this._states.get(e,t)}}let F0=null;function DF(){return F0===null&&(F0=new xF([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),F0}let cu=null;function EF(){if(cu===null){cu=new Wd(0);const s=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let t=0;tn);if(n>0){const a=t.charCodeAt(n-1),l=t.charCodeAt(r);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&r--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:r+2},url:t.substring(n,r+1)}}static computeLinks(e,t=DF()){const i=EF(),n=[];for(let o=1,r=e.getLineCount();o<=r;o++){const a=e.getLineContent(o),l=a.length;let c=0,h=0,d=0,u=1,f=!1,g=!1,m=!1,_=!1;for(;c=0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}};k1.INSTANCE=new k1;let bv=k1;const Cf=class Cf{static getChannel(e){return e.getChannel(Cf.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(Cf.CHANNEL_NAME,t)}};Cf.CHANNEL_NAME="editorWorkerHost";let Cv=Cf;var y2,L2;class NF{constructor(e,t){this.uri=e,this.value=t}}function TF(s){return Array.isArray(s)}const Vl=class Vl{constructor(e,t){if(this[y2]="ResourceMap",e instanceof Vl)this.map=new Map(e.map),this.toKey=t??Vl.defaultToKey;else if(TF(e)){this.map=new Map,this.toKey=t??Vl.defaultToKey;for(const[i,n]of e)this.set(i,n)}else this.map=new Map,this.toKey=e??Vl.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new NF(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(const[i,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(y2=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}};Vl.defaultToKey=e=>e.toString();let Gn=Vl;class MF{constructor(){this[L2]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let n=this._map.get(e);if(n)n.value=t,i!==0&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.key,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return n}values(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.value,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return n}entries(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:[i.key,i.value],done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return n}[(L2=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.previous,i--;this._tail=t,this._size=i,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;const i=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(i.previous=n,n.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;const i=e.next,n=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=n,n.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class RF extends MF{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class Pg extends RF{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class AF{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class _R{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}class PF extends Wd{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,n=e.length;it)break;i=n}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index=0;let t=null;try{t=mM(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new FF(t,this.wordSeparators?wd(this.wordSeparators,[]):null,i?this.searchString:null)}}function HF(s){if(!s||s.length===0)return!1;for(let e=0,t=s.length;e=t)break;const n=s.charCodeAt(e);if(n===110||n===114||n===87)return!0}}return!1}function xl(s,e,t){if(!t)return new Hf(s,null);const i=[];for(let n=0,o=e.length;n>0);t[o]>=e?n=o-1:t[o+1]>=e?(i=o,n=o):i=o+1}return i+1}}class fm{static findMatches(e,t,i,n,o){const r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,i,new _h(r.wordSeparators,r.regex),n,o):this._doFindMatchesLineByLine(e,i,r,n,o):[]}static _getMultilineMatchRange(e,t,i,n,o,r){let a,l=0;n?(l=n.findLineFeedCountBeforeOffset(o),a=t+o+l):a=t+o;let c;if(n){const f=n.findLineFeedCountBeforeOffset(o+r.length)-l;c=a+r.length+f}else c=a+r.length;const h=e.getPositionAt(a),d=e.getPositionAt(c);return new R(h.lineNumber,h.column,d.lineNumber,d.column)}static _doFindMatchesMultiline(e,t,i,n,o){const r=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r `?new x2(a):null,c=[];let h=0,d;for(i.reset(0);d=i.next(a);)if(c[h++]=xl(this._getMultilineMatchRange(e,r,a,l,d.index,d[0]),d,n),h>=o)return c;return c}static _doFindMatchesLineByLine(e,t,i,n,o){const r=[];let a=0;if(t.startLineNumber===t.endLineNumber){const c=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,c,t.startLineNumber,t.startColumn-1,a,r,n,o),r}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,r,n,o);for(let c=t.startLineNumber+1;c=l))return o;return o}const h=new _h(e.wordSeparators,e.regex);let d;h.reset(0);do if(d=h.next(t),d&&(r[o++]=xl(new R(i,d.index+1+n,i,d.index+1+d[0].length+n),d,a),o>=l))return o;while(d);return o}static findNextMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const r=new _h(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,i,r,n):this._doFindNextMatchLineByLine(e,i,r,n)}static _doFindNextMatchMultiline(e,t,i,n){const o=new W(t.lineNumber,1),r=e.getOffsetAt(o),a=e.getLineCount(),l=e.getValueInRange(new R(o.lineNumber,o.column,a,e.getLineMaxColumn(a)),1),c=e.getEOL()===`\r `?new x2(l):null;i.reset(t.column-1);const h=i.next(l);return h?xl(this._getMultilineMatchRange(e,r,l,c,h.index,h[0]),h,n):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new W(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const o=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r),l=this._findFirstMatchInLine(i,a,r,t.column,n);if(l)return l;for(let c=1;c<=o;c++){const h=(r+c-1)%o,d=e.getLineContent(h+1),u=this._findFirstMatchInLine(i,d,h+1,1,n);if(u)return u}return null}static _findFirstMatchInLine(e,t,i,n,o){e.reset(n-1);const r=e.next(t);return r?xl(new R(i,r.index+1,i,r.index+1+r[0].length),r,o):null}static findPreviousMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const r=new _h(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,i,r,n):this._doFindPreviousMatchLineByLine(e,i,r,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const o=this._doFindMatchesMultiline(e,new R(1,1,t.lineNumber,t.column),i,n,10*VF);if(o.length>0)return o[o.length-1];const r=e.getLineCount();return t.lineNumber!==r||t.column!==e.getLineMaxColumn(r)?this._doFindPreviousMatchMultiline(e,new W(r,e.getLineMaxColumn(r)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const o=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,r,n);if(l)return l;for(let c=1;c<=o;c++){const h=(o+r-c-1)%o,d=e.getLineContent(h+1),u=this._findLastMatchInLine(i,d,h+1,n);if(u)return u}return null}static _findLastMatchInLine(e,t,i,n){let o=null,r;for(e.reset(0);r=e.next(t);)o=xl(new R(i,r.index+1,i,r.index+1+r[0].length),r,n);return o}}function zF(s,e,t,i,n){if(i===0)return!0;const o=e.charCodeAt(i-1);if(s.get(o)!==0||o===13||o===10)return!0;if(n>0){const r=e.charCodeAt(i);if(s.get(r)!==0)return!0}return!1}function UF(s,e,t,i,n){if(i+n===t)return!0;const o=e.charCodeAt(i+n);if(s.get(o)!==0||o===13||o===10)return!0;if(n>0){const r=e.charCodeAt(i+n-1);if(s.get(r)!==0)return!0}return!1}function gk(s,e,t,i,n){return zF(s,e,t,i,n)&&UF(s,e,t,i,n)}class _h{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const n=i.index,o=i[0].length;if(n===this._prevMatchStartIndex&&o===this._prevMatchLength){if(o===0){Pp(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=o,!this._wordSeparators||gk(this._wordSeparators,e,t,n,o))return i}while(i);return null}}class $F{static computeUnicodeHighlights(e,t,i){const n=i?i.startLineNumber:1,o=i?i.endLineNumber:e.getLineCount(),r=new D2(t),a=r.getCandidateCodePoints();let l;a==="allNonBasicAscii"?l=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):l=new RegExp(`${KF(Array.from(a))}`,"g");const c=new _h(null,l),h=[];let d=!1,u,f=0,g=0,m=0;e:for(let _=n,b=o;_<=b;_++){const C=e.getLineContent(_),v=C.length;c.reset(0);do if(u=c.next(C),u){let w=u.index,y=u.index+u[0].length;if(w>0){const E=C.charCodeAt(w-1);ai(E)&&w--}if(y+1=1e3){d=!0;break e}h.push(new R(_,w+1,_,y+1))}}while(u)}return{ranges:h,hasMore:d,ambiguousCharacterCount:f,invisibleCharacterCount:g,nonBasicAsciiCharacterCount:m}}static computeUnicodeHighlightReason(e,t){const i=new D2(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const o=e.codePointAt(0),r=i.ambiguousCharacters.getPrimaryConfusable(o),a=Of.getLocales().filter(l=>!Of.getInstance(new Set([...t.allowedLocales,l])).isAmbiguous(o));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:a}}case 1:return{kind:2}}}}function KF(s,e){return`[${$r(s.map(i=>String.fromCodePoint(i)).join(""))}]`}class D2{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=Of.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of Bu.codePoints)E2(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,o=!1;if(t)for(const r of t){const a=r.codePointAt(0),l=UL(r);n=n||l,!l&&!this.ambiguousCharacters.isAmbiguous(a)&&!Bu.isInvisibleCharacter(a)&&(o=!0)}return!n&&o?0:this.options.invisibleCharacters&&!E2(e)&&Bu.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function E2(s){return s===" "||s===` `||s===" "}class np{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class bR{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class ke{static addRange(e,t){let i=0;for(;it))return new ke(e,t)}static ofLength(e){return new ke(0,e)}static ofStartAndLength(e,t){return new ke(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new et(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new ke(this.start+e,this.endExclusive+e)}deltaStart(e){return new ke(this.start+e,this.endExclusive)}deltaEnd(e){return new ke(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new et(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new et(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length,0)}}function Gp(s,e){const t=qF(s,e);if(t!==-1)return s[t]}function qF(s,e,t=s.length-1){for(let i=t;i>=0;i--){const n=s[i];if(e(n))return i}return-1}function Sd(s,e){const t=zf(s,e);return t===-1?void 0:s[t]}function zf(s,e,t=0,i=s.length){let n=t,o=i;for(;n0&&(t=n)}return t}function GF(s,e){if(s.length===0)return;let t=s[0];for(let i=1;i=0&&(t=n)}return t}function ZF(s,e){return CR(s,(t,i)=>-e(t,i))}function YF(s,e){if(s.length===0)return-1;let t=0;for(let i=1;i0&&(t=i)}return t}function tie(s,e){for(const t of s){const i=e(t);if(i!==void 0)return i}}let Ce=class or{static fromRangeInclusive(e){return new or(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new as(e[0].slice());for(let i=1;it)throw new et(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&en.endLineNumberExclusive>=e.startLineNumber),i=zf(this._normalizedRanges,n=>n.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const n=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,n)}}contains(e){const t=Sd(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=Sd(this._normalizedRanges,i=>i.startLineNumbere.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,n=0,o=null;for(;i=r.startLineNumber?o=new Ce(o.startLineNumber,Math.max(o.endLineNumberExclusive,r.endLineNumberExclusive)):(t.push(o),o=r)}return o!==null&&t.push(o),new as(t)}subtractFrom(e){const t=wv(this._normalizedRanges,r=>r.endLineNumberExclusive>=e.startLineNumber),i=zf(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new as([e]);const n=[];let o=e.startLineNumber;for(let r=t;ro&&n.push(new Ce(o,a.startLineNumber)),o=a.endLineNumberExclusive}return oe.toString()).join(", ")}getIntersection(e){const t=[];let i=0,n=0;for(;it.delta(e)))}}const ua=class ua{static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new ua(0,t.column-e.column):new ua(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return ua.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,i=0;for(const n of e)n===` `?(t++,i=0):i++;return new ua(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return this.lineCount===0?new R(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new R(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return this.lineCount===0?new W(e.lineNumber,e.column+this.columnCount):new W(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};ua.zero=new ua(0,0);let Ka=ua;class QF{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tlk(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}apply(e){let t="",i=new W(1,1);for(const o of this.edits){const r=o.range,a=r.getStartPosition(),l=r.getEndPosition(),c=I2(i,a);c.isEmpty()||(t+=e.getValueOfRange(c)),t+=o.text,i=l}const n=I2(i,e.endPositionExclusive);return n.isEmpty()||(t+=e.getValueOfRange(n)),t}applyToString(e){const t=new e8(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,n=0;for(const o of this.edits){const r=Ka.ofText(o.text),a=W.lift({lineNumber:o.range.startLineNumber+i,column:o.range.startColumn+(o.range.startLineNumber===t?n:0)}),l=r.createRange(a);e.push(l),i=l.endLineNumber-o.range.endLineNumber,n=l.endColumn-o.range.endColumn,t=o.range.endLineNumber}return e}}class JF{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}function I2(s,e){if(s.lineNumber===e.lineNumber&&s.column===Number.MAX_SAFE_INTEGER)return R.fromPositions(e,e);if(!s.isBeforeOrEqual(e))throw new et("start must be before end");return new R(s.lineNumber,s.column,e.lineNumber,e.column)}class wR{get endPositionExclusive(){return this.length.addToPosition(new W(1,1))}}class e8 extends wR{constructor(e){super(),this.value=e,this._t=new QF(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class ji{static inverse(e,t,i){const n=[];let o=1,r=1;for(const l of e){const c=new ji(new Ce(o,l.original.startLineNumber),new Ce(r,l.modified.startLineNumber));c.modified.isEmpty||n.push(c),o=l.original.endLineNumberExclusive,r=l.modified.endLineNumberExclusive}const a=new ji(new Ce(o,t+1),new Ce(r,i+1));return a.modified.isEmpty||n.push(a),n}static clip(e,t,i){const n=[];for(const o of e){const r=o.original.intersect(t),a=o.modified.intersect(i);r&&!r.isEmpty&&a&&!a.isEmpty&&n.push(new ji(r,a))}return n}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ji(this.modified,this.original)}join(e){return new ji(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new Hn(e,t);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new et("not a valid diff");return new Hn(new R(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new R(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Hn(new R(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new R(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(N2(this.original.endLineNumberExclusive,e)&&N2(this.modified.endLineNumberExclusive,t))return new Hn(new R(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new R(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new Hn(R.fromPositions(new W(this.original.startLineNumber,1),ih(new W(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),R.fromPositions(new W(this.modified.startLineNumber,1),ih(new W(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new Hn(R.fromPositions(ih(new W(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),ih(new W(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),R.fromPositions(ih(new W(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),ih(new W(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new et}}function ih(s,e){if(s.lineNumber<1)return new W(1,1);if(s.lineNumber>e.length)return new W(e.length,e[e.length-1].length+1);const t=e[s.lineNumber-1];return s.column>t.length+1?new W(s.lineNumber,t.length+1):s}function N2(s,e){return s>=1&&s<=e.length}class Zn extends ji{static fromRangeMappings(e){const t=Ce.join(e.map(n=>Ce.fromRangeInclusive(n.originalRange))),i=Ce.join(e.map(n=>Ce.fromRangeInclusive(n.modifiedRange)));return new Zn(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){return new Zn(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Zn(this.original,this.modified,[this.toRangeMapping()])}}class Hn{static assertSorted(e){for(let t=1;t${this.modifiedRange.toString()}}`}flip(){return new Hn(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new JF(this.originalRange,t)}}const t8=3;class i8{computeDiff(e,t,i){const o=new o8(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),r=[];let a=null;for(const l of o.changes){let c;l.originalEndLineNumber===0?c=new Ce(l.originalStartLineNumber+1,l.originalStartLineNumber+1):c=new Ce(l.originalStartLineNumber,l.originalEndLineNumber+1);let h;l.modifiedEndLineNumber===0?h=new Ce(l.modifiedStartLineNumber+1,l.modifiedStartLineNumber+1):h=new Ce(l.modifiedStartLineNumber,l.modifiedEndLineNumber+1);let d=new Zn(c,h,l.charChanges?.map(u=>new Hn(new R(u.originalStartLineNumber,u.originalStartColumn,u.originalEndLineNumber,u.originalEndColumn),new R(u.modifiedStartLineNumber,u.modifiedStartColumn,u.modifiedEndLineNumber,u.modifiedEndColumn))));a&&(a.modified.endLineNumberExclusive===d.modified.startLineNumber||a.original.endLineNumberExclusive===d.original.startLineNumber)&&(d=new Zn(a.original.join(d.original),a.modified.join(d.modified),a.innerChanges&&d.innerChanges?a.innerChanges.concat(d.innerChanges):void 0),r.pop()),r.push(d),a=d}return Cc(()=>lk(r,(l,c)=>c.original.startLineNumber-l.original.endLineNumberExclusive===c.modified.startLineNumber-l.modified.endLineNumberExclusive&&l.original.endLineNumberExclusive(e===10?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class Zh{constructor(e,t,i,n,o,r,a,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=o,this.modifiedStartColumn=r,this.modifiedEndLineNumber=a,this.modifiedEndColumn=l}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),r=t.getEndLineNumber(e.originalStart+e.originalLength-1),a=t.getEndColumn(e.originalStart+e.originalLength-1),l=i.getStartLineNumber(e.modifiedStart),c=i.getStartColumn(e.modifiedStart),h=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),d=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new Zh(n,o,r,a,l,c,h,d)}}function s8(s){if(s.length<=1)return s;const e=[s[0]];let t=e[0];for(let i=1,n=s.length;i0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const f=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),g=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(f.getElements().length>0&&g.getElements().length>0){let m=vR(f,g,o,!0).changes;a&&(m=s8(m)),u=[];for(let _=0,b=m.length;_1&&m>1;){const _=u.charCodeAt(g-2),b=f.charCodeAt(m-2);if(_!==b)break;g--,m--}(g>1||m>1)&&this._pushTrimWhitespaceCharChange(n,o+1,1,g,r+1,1,m)}{let g=Sv(u,1),m=Sv(f,1);const _=u.length+1,b=f.length+1;for(;g<_&&m!0;const e=Date.now();return()=>Date.now()-e{i.push(Jt.fromOffsetPairs(n?n.getEndExclusives():Dr.zero,o?o.getStarts():new Dr(t,(n?n.seq2Range.endExclusive-n.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new Jt(new ke(e.offset1,t.offset1),new ke(e.offset2,t.offset2))}static assertSorted(e){let t;for(const i of e){if(t&&!(t.seq1Range.endExclusive<=i.seq1Range.start&&t.seq2Range.endExclusive<=i.seq2Range.start))throw new et("Sequence diffs must be sorted");t=i}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Jt(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new Jt(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new Jt(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new Jt(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new Jt(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new Jt(t,i)}getStarts(){return new Dr(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Dr(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}const Hl=class Hl{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return e===0?this:new Hl(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}};Hl.zero=new Hl(0,0),Hl.max=new Hl(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);let Dr=Hl;const D1=class D1{isValid(){return!0}};D1.instance=new D1;let Uf=D1;class r8{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new et("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime0&&m>0&&r.get(g-1,m-1)===3&&(C+=a.get(g-1,m-1)),C+=n?n(g,m):1):C=-1;const v=Math.max(_,b,C);if(v===C){const w=g>0&&m>0?a.get(g-1,m-1):0;a.set(g,m,w+1),r.set(g,m,3)}else v===_?(a.set(g,m,0),r.set(g,m,1)):v===b&&(a.set(g,m,0),r.set(g,m,2));o.set(g,m,v)}const l=[];let c=e.length,h=t.length;function d(g,m){(g+1!==c||m+1!==h)&&l.push(new Jt(new ke(g+1,c),new ke(m+1,h))),c=g,h=m}let u=e.length-1,f=t.length-1;for(;u>=0&&f>=0;)r.get(u,f)===3?(d(u,f),u--,f--):r.get(u,f)===1?u--:f--;return d(-1,-1),l.reverse(),new Br(l,!1)}}class SR{compute(e,t,i=Uf.instance){if(e.length===0||t.length===0)return Br.trivial(e,t);const n=e,o=t;function r(m,_){for(;mn.length||w>o.length)continue;const y=r(v,w);l.set(h,y);const L=v===b?c.get(h+1):c.get(h-1);if(c.set(h,y!==v?new R2(L,v,w,y-v):L),l.get(h)===n.length&&l.get(h)-h===o.length)break e}}let d=c.get(h);const u=[];let f=n.length,g=o.length;for(;;){const m=d?d.x+d.length:0,_=d?d.y+d.length:0;if((m!==f||_!==g)&&u.push(new Jt(new ke(m,f),new ke(_,g))),!d)break;f=d.x,g=d.y,d=d.prev}return u.reverse(),new Br(u,!1)}}class R2{constructor(e,t,i,n){this.prev=e,this.x=t,this.y=i,this.length=n}}class l8{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class c8{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class Qp{constructor(e,t,i){this.lines=e,this.range=t,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let n=this.range.startLineNumber;n<=this.range.endLineNumber;n++){let o=e[n-1],r=0;n===this.range.startLineNumber&&this.range.startColumn>1&&(r=this.range.startColumn-1,o=o.substring(r)),this.lineStartOffsets.push(r);let a=0;if(!i){const c=o.trimStart();a=o.length-c.length,o=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(a);const l=n===this.range.endLineNumber?Math.min(this.range.endColumn-1-r-a,o.length):o.length;for(let c=0;cString.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=P2(e>0?this.elements[e-1]:-1),i=P2(eo<=e),n=e-this.firstElementOffsetByLineIdx[i];return new W(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+n+(n===0&&t==="left"?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const t=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(t)?R.fromPositions(i,i):R.fromPositions(t,i)}findWordContaining(e){if(e<0||e>=this.elements.length||!V0(this.elements[e]))return;let t=e;for(;t>0&&V0(this.elements[t-1]);)t--;let i=e;for(;in<=e.start)??0,i=jF(this.firstElementOffsetByLineIdx,n=>e.endExclusive<=n)??this.elements.length;return new ke(t,i)}}function V0(s){return s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57}const h8={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function A2(s){return h8[s]}function P2(s){return s===10?8:s===13?7:yv(s)?6:s>=97&&s<=122?0:s>=65&&s<=90?1:s>=48&&s<=57?2:s===-1?3:s===44||s===59?5:4}function d8(s,e,t,i,n,o){let{moves:r,excludedChanges:a}=f8(s,e,t,o);if(!o.isValid())return[];const l=s.filter(h=>!a.has(h)),c=g8(l,i,n,e,t,o);return PC(r,c),r=m8(r),r=r.filter(h=>{const d=h.original.toOffsetRange().slice(e).map(f=>f.trim());return d.join(` `).length>=15&&u8(d,f=>f.length>=2)>=2}),r=p8(s,r),r}function u8(s,e){let t=0;for(const i of s)e(i)&&t++;return t}function f8(s,e,t,i){const n=[],o=s.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new Yp(l.original,e,l)),r=new Set(s.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new Yp(l.modified,t,l))),a=new Set;for(const l of o){let c=-1,h;for(const d of r){const u=l.computeSimilarity(d);u>c&&(c=u,h=d)}if(c>.9&&h&&(r.delete(h),n.push(new ji(l.range,h.range)),a.add(l.source),a.add(h.source)),!i.isValid())return{moves:n,excludedChanges:a}}return{moves:n,excludedChanges:a}}function g8(s,e,t,i,n,o){const r=[],a=new _R;for(const u of s)for(let f=u.original.startLineNumber;fu.modified.startLineNumber,Ta));for(const u of s){let f=[];for(let g=u.modified.startLineNumber;g{for(const w of f)if(w.originalLineRange.endLineNumberExclusive+1===C.endLineNumberExclusive&&w.modifiedLineRange.endLineNumberExclusive+1===_.endLineNumberExclusive){w.originalLineRange=new Ce(w.originalLineRange.startLineNumber,C.endLineNumberExclusive),w.modifiedLineRange=new Ce(w.modifiedLineRange.startLineNumber,_.endLineNumberExclusive),b.push(w);return}const v={modifiedLineRange:_,originalLineRange:C};l.push(v),b.push(v)}),f=b}if(!o.isValid())return[]}l.sort(b5(Ns(u=>u.modifiedLineRange.length,Ta)));const c=new as,h=new as;for(const u of l){const f=u.modifiedLineRange.startLineNumber-u.originalLineRange.startLineNumber,g=c.subtractFrom(u.modifiedLineRange),m=h.subtractFrom(u.originalLineRange).getWithDelta(f),_=g.getIntersection(m);for(const b of _.ranges){if(b.length<3)continue;const C=b,v=b.delta(-f);r.push(new ji(v,C)),c.addRange(C),h.addRange(v)}}r.sort(Ns(u=>u.original.startLineNumber,Ta));const d=new Zp(s);for(let u=0;uL.original.startLineNumber<=f.original.startLineNumber),m=Sd(s,L=>L.modified.startLineNumber<=f.modified.startLineNumber),_=Math.max(f.original.startLineNumber-g.original.startLineNumber,f.modified.startLineNumber-m.modified.startLineNumber),b=d.findLastMonotonous(L=>L.original.startLineNumberL.modified.startLineNumberi.length||k>n.length||c.contains(k)||h.contains(L)||!O2(i[L-1],n[k-1],o))break}w>0&&(h.addRange(new Ce(f.original.startLineNumber-w,f.original.startLineNumber)),c.addRange(new Ce(f.modified.startLineNumber-w,f.modified.startLineNumber)));let y;for(y=0;yi.length||k>n.length||c.contains(k)||h.contains(L)||!O2(i[L-1],n[k-1],o))break}y>0&&(h.addRange(new Ce(f.original.endLineNumberExclusive,f.original.endLineNumberExclusive+y)),c.addRange(new Ce(f.modified.endLineNumberExclusive,f.modified.endLineNumberExclusive+y))),(w>0||y>0)&&(r[u]=new ji(new Ce(f.original.startLineNumber-w,f.original.endLineNumberExclusive+y),new Ce(f.modified.startLineNumber-w,f.modified.endLineNumberExclusive+y)))}return r}function O2(s,e,t){if(s.trim()===e.trim())return!0;if(s.length>300&&e.length>300)return!1;const n=new SR().compute(new Qp([s],new R(1,1,1,s.length),!1),new Qp([e],new R(1,1,1,e.length),!1),t);let o=0;const r=Jt.invert(n.diffs,s.length);for(const h of r)h.seq1Range.forEach(d=>{yv(s.charCodeAt(d))||o++});function a(h){let d=0;for(let u=0;ue.length?s:e);return o/l>.6&&l>10}function m8(s){if(s.length===0)return s;s.sort(Ns(t=>t.original.startLineNumber,Ta));const e=[s[0]];for(let t=1;t=0&&r>=0&&o+r<=2){e[e.length-1]=i.join(n);continue}e.push(n)}return e}function p8(s,e){const t=new Zp(s);return e=e.filter(i=>{const n=t.findLastMonotonous(a=>a.original.startLineNumbera.modified.startLineNumber0&&(a=a.delta(c))}n.push(a)}return i.length>0&&n.push(i[i.length-1]),n}function _8(s,e,t){if(!s.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i0?t[i-1]:void 0,o=t[i],r=i+1=i.start&&s.seq2Range.start-r>=n.start&&t.isStronglyEqual(s.seq2Range.start-r,s.seq2Range.endExclusive-r)&&r<100;)r++;r--;let a=0;for(;s.seq1Range.start+ac&&(c=g,l=h)}return s.delta(l)}function b8(s,e,t){const i=[];for(const n of t){const o=i[i.length-1];if(!o){i.push(n);continue}n.seq1Range.start-o.seq1Range.endExclusive<=2||n.seq2Range.start-o.seq2Range.endExclusive<=2?i[i.length-1]=new Jt(o.seq1Range.join(n.seq1Range),o.seq2Range.join(n.seq2Range)):i.push(n)}return i}function C8(s,e,t){const i=Jt.invert(t,s.length),n=[];let o=new Dr(0,0);function r(l,c){if(l.offset10;){const _=i[0];if(!(_.seq1Range.intersects(u.seq1Range)||_.seq2Range.intersects(u.seq2Range)))break;const C=s.findWordContaining(_.seq1Range.start),v=e.findWordContaining(_.seq2Range.start),w=new Jt(C,v),y=w.intersect(_);if(g+=y.seq1Range.length,m+=y.seq2Range.length,u=u.join(w),u.seq1Range.endExclusive>=_.seq1Range.endExclusive)i.shift();else break}g+m<(u.seq1Range.length+u.seq2Range.length)*2/3&&n.push(u),o=u.getEndExclusives()}for(;i.length>0;){const l=i.shift();l.seq1Range.isEmpty||(r(l.getStarts(),l),r(l.getEndExclusives().delta(-1),l))}return w8(t,n)}function w8(s,e){const t=[];for(;s.length>0||e.length>0;){const i=s[0],n=e[0];let o;i&&(!n||i.seq1Range.start0&&t[t.length-1].seq1Range.endExclusive>=o.seq1Range.start?t[t.length-1]=t[t.length-1].join(o):t.push(o)}return t}function v8(s,e,t){let i=t;if(i.length===0)return i;let n=0,o;do{o=!1;const r=[i[0]];for(let a=1;a5||f.seq1Range.length+f.seq2Range.length>5)};const l=i[a],c=r[r.length-1];h(c,l)?(o=!0,r[r.length-1]=r[r.length-1].join(l)):r.push(l)}i=r}while(n++<10&&o);return i}function S8(s,e,t){let i=t;if(i.length===0)return i;let n=0,o;do{o=!1;const a=[i[0]];for(let l=1;l5||m.length>500)return!1;const b=s.getText(m).trim();if(b.length>20||b.split(/\r\n|\r|\n/).length>1)return!1;const C=s.countLinesIn(f.seq1Range),v=f.seq1Range.length,w=e.countLinesIn(f.seq2Range),y=f.seq2Range.length,L=s.countLinesIn(g.seq1Range),k=g.seq1Range.length,D=e.countLinesIn(g.seq2Range),E=g.seq2Range.length,U=2*40+50;function O(B){return Math.min(B,U)}return Math.pow(Math.pow(O(C*40+v),1.5)+Math.pow(O(w*40+y),1.5),1.5)+Math.pow(Math.pow(O(L*40+k),1.5)+Math.pow(O(D*40+E),1.5),1.5)>(U**1.5)**1.5*1.3};const c=i[l],h=a[a.length-1];d(h,c)?(o=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}i=a}while(n++<10&&o);const r=[];return u5(i,(a,l,c)=>{let h=l;function d(b){return b.length>0&&b.trim().length<=3&&l.seq1Range.length+l.seq2Range.length>100}const u=s.extendToFullLines(l.seq1Range),f=s.getText(new ke(u.start,l.seq1Range.start));d(f)&&(h=h.deltaStart(-f.length));const g=s.getText(new ke(l.seq1Range.endExclusive,u.endExclusive));d(g)&&(h=h.deltaEnd(g.length));const m=Jt.fromOffsetPairs(a?a.getEndExclusives():Dr.zero,c?c.getStarts():Dr.max),_=h.intersect(m);r.length>0&&_.getStarts().equals(r[r.length-1].getEndExclusives())?r[r.length-1]=r[r.length-1].join(_):r.push(_)}),r}class W2{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:V2(this.lines[e-1]),i=e===this.lines.length?0:V2(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join(` `)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function V2(s){let e=0;for(;ey===L))return new np([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new np([new Zn(new Ce(1,e.length+1),new Ce(1,t.length+1),[new Hn(new R(1,1,e.length,e[e.length-1].length+1),new R(1,1,t.length,t[t.length-1].length+1))])],[],!1);const n=i.maxComputationTimeMs===0?Uf.instance:new r8(i.maxComputationTimeMs),o=!i.ignoreTrimWhitespace,r=new Map;function a(y){let L=r.get(y);return L===void 0&&(L=r.size,r.set(y,L)),L}const l=e.map(y=>a(y.trim())),c=t.map(y=>a(y.trim())),h=new W2(l,e),d=new W2(c,t),u=h.length+d.length<1700?this.dynamicProgrammingDiffing.compute(h,d,n,(y,L)=>e[y]===t[L]?t[L].length===0?.1:1+Math.log(1+t[L].length):.99):this.myersDiffingAlgorithm.compute(h,d,n);let f=u.diffs,g=u.hitTimeout;f=Lv(h,d,f),f=v8(h,d,f);const m=[],_=y=>{if(o)for(let L=0;Ly.seq1Range.start-b===y.seq2Range.start-C);const L=y.seq1Range.start-b;_(L),b=y.seq1Range.endExclusive,C=y.seq2Range.endExclusive;const k=this.refineDiff(e,t,y,n,o);k.hitTimeout&&(g=!0);for(const D of k.mappings)m.push(D)}_(e.length-b);const v=H2(m,e,t);let w=[];return i.computeMoves&&(w=this.computeMoves(v,e,t,l,c,n,o)),Cc(()=>{function y(k,D){if(k.lineNumber<1||k.lineNumber>D.length)return!1;const E=D[k.lineNumber-1];return!(k.column<1||k.column>E.length+1)}function L(k,D){return!(k.startLineNumber<1||k.startLineNumber>D.length+1||k.endLineNumberExclusive<1||k.endLineNumberExclusive>D.length+1)}for(const k of v){if(!k.innerChanges)return!1;for(const D of k.innerChanges)if(!(y(D.modifiedRange.getStartPosition(),t)&&y(D.modifiedRange.getEndPosition(),t)&&y(D.originalRange.getStartPosition(),e)&&y(D.originalRange.getEndPosition(),e)))return!1;if(!L(k.modified,t)||!L(k.original,e))return!1}return!0}),new np(v,w,g)}computeMoves(e,t,i,n,o,r,a){return d8(e,t,i,n,o,r).map(h=>{const d=this.refineDiff(t,i,new Jt(h.original.toOffsetRange(),h.modified.toOffsetRange()),r,a),u=H2(d.mappings,t,i,!0);return new bR(h,u)})}refineDiff(e,t,i,n,o){const a=L8(i).toRangeMapping2(e,t),l=new Qp(e,a.originalRange,o),c=new Qp(t,a.modifiedRange,o),h=l.length+c.length<500?this.dynamicProgrammingDiffing.compute(l,c,n):this.myersDiffingAlgorithm.compute(l,c,n);let d=h.diffs;return d=Lv(l,c,d),d=C8(l,c,d),d=b8(l,c,d),d=S8(l,c,d),{mappings:d.map(f=>new Hn(l.translateRange(f.seq1Range),c.translateRange(f.seq2Range))),hitTimeout:h.hitTimeout}}}function H2(s,e,t,i=!1){const n=[];for(const o of SL(s.map(r=>y8(r,e,t)),(r,a)=>r.original.overlapOrTouch(a.original)||r.modified.overlapOrTouch(a.modified))){const r=o[0],a=o[o.length-1];n.push(new Zn(r.original.join(a.original),r.modified.join(a.modified),o.map(l=>l.innerChanges[0])))}return Cc(()=>!i&&n.length>0&&(n[0].modified.startLineNumber!==n[0].original.startLineNumber||t.length-n[n.length-1].modified.endLineNumberExclusive!==e.length-n[n.length-1].original.endLineNumberExclusive)?!1:lk(n,(o,r)=>r.original.startLineNumber-o.original.endLineNumberExclusive===r.modified.startLineNumber-o.modified.endLineNumberExclusive&&o.original.endLineNumberExclusive=t[s.modifiedRange.startLineNumber-1].length&&s.originalRange.startColumn-1>=e[s.originalRange.startLineNumber-1].length&&s.originalRange.startLineNumber<=s.originalRange.endLineNumber+n&&s.modifiedRange.startLineNumber<=s.modifiedRange.endLineNumber+n&&(i=1);const o=new Ce(s.originalRange.startLineNumber+i,s.originalRange.endLineNumber+1+n),r=new Ce(s.modifiedRange.startLineNumber+i,s.modifiedRange.endLineNumber+1+n);return new Zn(o,r,[s])}function L8(s){return new ji(new Ce(s.seq1Range.start+1,s.seq1Range.endExclusive+1),new Ce(s.seq2Range.start+1,s.seq2Range.endExclusive+1))}const z2={getLegacy:()=>new i8,getDefault:()=>new yR};function Aa(s,e){const t=Math.pow(10,e);return Math.round(s*t)/t}class Ke{constructor(e,t,i,n=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,i))|0,this.a=Aa(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class Ls{constructor(e,t,i,n){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Aa(Math.max(Math.min(1,t),0),3),this.l=Aa(Math.max(Math.min(1,i),0),3),this.a=Aa(Math.max(Math.min(1,n),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(e){const t=e.r/255,i=e.g/255,n=e.b/255,o=e.a,r=Math.max(t,i,n),a=Math.min(t,i,n);let l=0,c=0;const h=(a+r)/2,d=r-a;if(d>0){switch(c=Math.min(h<=.5?d/(2*h):d/(2-2*h),1),r){case t:l=(i-n)/d+(i1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:n,a:o}=e;let r,a,l;if(i===0)r=a=l=n;else{const c=n<.5?n*(1+i):n+i-n*i,h=2*n-c;r=Ls._hue2rgb(h,c,t+1/3),a=Ls._hue2rgb(h,c,t),l=Ls._hue2rgb(h,c,t-1/3)}return new Ke(Math.round(r*255),Math.round(a*255),Math.round(l*255),o)}}class bh{constructor(e,t,i,n){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Aa(Math.max(Math.min(1,t),0),3),this.v=Aa(Math.max(Math.min(1,i),0),3),this.a=Aa(Math.max(Math.min(1,n),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(e){const t=e.r/255,i=e.g/255,n=e.b/255,o=Math.max(t,i,n),r=Math.min(t,i,n),a=o-r,l=o===0?0:a/o;let c;return a===0?c=0:o===t?c=((i-n)/a%6+6)%6:o===i?c=(n-t)/a+2:c=(t-i)/a+4,new bh(Math.round(c*60),l,o,e.a)}static toRGBA(e){const{h:t,s:i,v:n,a:o}=e,r=n*i,a=r*(1-Math.abs(t/60%2-1)),l=n-r;let[c,h,d]=[0,0,0];return t<60?(c=r,h=a):t<120?(c=a,h=r):t<180?(h=r,d=a):t<240?(h=a,d=r):t<300?(c=a,d=r):t<=360&&(c=r,d=a),c=Math.round((c+l)*255),h=Math.round((h+l)*255),d=Math.round((d+l)*255),new Ke(c,h,d,o)}}const Mt=class Mt{static fromHex(e){return Mt.Format.CSS.parseHex(e)||Mt.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:Ls.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:bh.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof Ke)this.rgba=e;else if(e instanceof Ls)this._hsla=e,this.rgba=Ls.toRGBA(e);else if(e instanceof bh)this._hsva=e,this.rgba=bh.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&Ke.equals(this.rgba,e.rgba)&&Ls.equals(this.hsla,e.hsla)&&bh.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=Mt._relativeLuminanceForComponent(this.rgba.r),t=Mt._relativeLuminanceForComponent(this.rgba.g),i=Mt._relativeLuminanceForComponent(this.rgba.b),n=.2126*e+.7152*t+.0722*i;return Aa(n,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t0)for(const n of i){const o=n.filter(c=>c!==void 0),r=o[1],a=o[2];if(!a)continue;let l;if(r==="rgb"){const c=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;l=U2(hu(s,n),du(a,c),!1)}else if(r==="rgba"){const c=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=U2(hu(s,n),du(a,c),!0)}else if(r==="hsl"){const c=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;l=$2(hu(s,n),du(a,c),!1)}else if(r==="hsla"){const c=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=$2(hu(s,n),du(a,c),!0)}else r==="#"&&(l=k8(hu(s,n),r+a));l&&e.push(l)}return e}function D8(s){return!s||typeof s.getValue!="function"||typeof s.positionAt!="function"?[]:x8(s)}const K2=new RegExp("\\bMARK:\\s*(.*)$","d"),E8=/^-+|-+$/g;function I8(s,e){let t=[];if(e.findRegionSectionHeaders&&e.foldingRules?.markers){const i=N8(s,e);t=t.concat(i)}if(e.findMarkSectionHeaders){const i=T8(s);t=t.concat(i)}return t}function N8(s,e){const t=[],i=s.getLineCount();for(let n=1;n<=i;n++){const o=s.getLineContent(n),r=o.match(e.foldingRules.markers.start);if(r){const a={startLineNumber:n,startColumn:r[0].length+1,endLineNumber:n,endColumn:o.length+1};if(a.endColumn>a.startColumn){const l={range:a,...kR(o.substring(r[0].length)),shouldBeInComments:!1};(l.text||l.hasSeparatorLine)&&t.push(l)}}}return t}function T8(s){const e=[],t=s.getLineCount();for(let i=1;i<=t;i++){const n=s.getLineContent(i);M8(n,i,e)}return e}function M8(s,e,t){K2.lastIndex=0;const i=K2.exec(s);if(i){const n=i.indices[1][0]+1,o=i.indices[1][1]+1,r={startLineNumber:e,startColumn:n,endLineNumber:e,endColumn:o};if(r.endColumn>r.startColumn){const a={range:r,...kR(i[1]),shouldBeInComments:!0};(a.text||a.hasSeparatorLine)&&t.push(a)}}}function kR(s){s=s.trim();const e=s.startsWith("-");return s=s.replace(E8,""),{text:s,hasSeparatorLine:e}}class R8{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=eh(e);const i=this.values,n=this.prefixSum,o=t.length;return o===0?!1:(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=eh(e),t=eh(t),this.values[e]===t?!1:(this.values[e]=t,e-1=i.length)return!1;const o=i.length-e;return t>=o&&(t=o),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(n.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=eh(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 i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,o=0,r=0;for(;t<=i;)if(n=t+(i-t)/2|0,o=this.prefixSum[n],r=o-this.values[n],e=o)t=n+1;else break;return new xR(n,e-r)}}class A8{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();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new xR(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=hb(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;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+i;for(let o=0;othis._checkStopModelSync(),Math.round(q2/2)),this._register(n)}}dispose(){for(const e in this._syncedModels)wi(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const i of e){const n=i.toString();this._syncedModels[n]||this._beginModelSync(i,t),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>q2&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.$acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const o=new ae;o.add(i.onDidChangeContent(r=>{this._proxy.$acceptModelChanged(n.toString(),r)})),o.add(i.onWillDispose(()=>{this._stopModelSync(n)})),o.add(ve(()=>{this._proxy.$acceptRemovedModel(n)})),this._syncedModels[n]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],wi(t)}}class F8{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new B8(De.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class B8 extends P8{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const o=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>o&&(i=o,n=!0)}return n?{lineNumber:t,column:i}:e}}const E1=class E1{constructor(){this._workerTextModelSyncServer=new F8}dispose(){}_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,i){const n=this._getModel(e);return n?$F.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const i=this._getModel(e);return i?I8(i,t):[]}async $computeDiff(e,t,i,n){const o=this._getModel(e),r=this._getModel(t);return!o||!r?null:sp.computeDiff(o,r,i,n)}static computeDiff(e,t,i,n){const o=n==="advanced"?z2.getDefault():z2.getLegacy(),r=e.getLinesContent(),a=t.getLinesContent(),l=o.computeDiff(r,a,i),c=l.changes.length>0?!1:this._modelsAreIdentical(e,t);function h(d){return d.map(u=>[u.original.startLineNumber,u.original.endLineNumberExclusive,u.modified.startLineNumber,u.modified.endLineNumberExclusive,u.innerChanges?.map(f=>[f.originalRange.startLineNumber,f.originalRange.startColumn,f.originalRange.endLineNumber,f.originalRange.endColumn,f.modifiedRange.startLineNumber,f.modifiedRange.startColumn,f.modifiedRange.endLineNumber,f.modifiedRange.endColumn])])}return{identical:c,quitEarly:l.hitTimeout,changes:h(l.changes),moves:l.moves.map(d=>[d.lineRangeMapping.original.startLineNumber,d.lineRangeMapping.original.endLineNumberExclusive,d.lineRangeMapping.modified.startLineNumber,d.lineRangeMapping.modified.endLineNumberExclusive,h(d.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),n=t.getLineCount();if(i!==n)return!1;for(let o=1;o<=i;o++){const r=e.getLineContent(o),a=t.getLineContent(o);if(r!==a)return!1}return!0}async $computeMoreMinimalEdits(e,t,i){const n=this._getModel(e);if(!n)return t;const o=[];let r;t=t.slice(0).sort((l,c)=>{if(l.range&&c.range)return R.compareRangesUsingStarts(l.range,c.range);const h=l.range?0:1,d=c.range?0:1;return h-d});let a=0;for(let l=1;lsp._diffLimit){o.push({range:l,text:c});continue}const u=LF(d,c,i),f=n.offsetAt(R.lift(l).getStartPosition());for(const g of u){const m=n.positionAt(f+g.originalStart),_=n.positionAt(f+g.originalStart+g.originalLength),b={text:c.substr(g.modifiedStart,g.modifiedLength),range:{startLineNumber:m.lineNumber,startColumn:m.column,endLineNumber:_.lineNumber,endColumn:_.column}};n.getValueInRange(b.range)!==b.text&&o.push(b)}}return typeof r=="number"&&o.push({eol:r,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),o}async $computeLinks(e){const t=this._getModel(e);return t?IF(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?D8(t):null}async $textualSuggest(e,t,i,n){const o=new Nc,r=new RegExp(i,n),a=new Set;e:for(const l of e){const c=this._getModel(l);if(c){for(const h of c.words(r))if(!(h===t||!isNaN(Number(h)))&&(a.add(h),a.size>sp._suggestionsLimit))break e}}return{words:Array.from(a),duration:o.elapsed()}}async $computeWordRanges(e,t,i,n){const o=this._getModel(e);if(!o)return Object.create(null);const r=new RegExp(i,n),a=Object.create(null);for(let l=t.startLineNumber;lthis._host.$fhr(a,l)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(BC(this._foreignModule))):new Promise((a,l)=>{const c=h=>{this._foreignModule=h.create(r,t),a(BC(this._foreignModule))};{const h=mb.asBrowserUri(`${e}.js`).toString(!0);a5(()=>import(`${h}`),[]).then(c).catch(l)}})}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}typeof importScripts=="function"&&(globalThis.monaco=uM());const _k=Be("textResourceConfigurationService"),DR=Be("textResourcePropertiesService"),at=Be("ILanguageFeaturesService");var bk=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Dl=function(s,e){return function(t,i){e(t,i,s)}};const j2=5*60*1e3;function El(s,e){const t=s.getModel(e);return!(!t||t.isTooLargeForSyncing())}let xv=class extends K{constructor(e,t,i,n,o,r){super(),this._languageConfigurationService=o,this._modelService=t,this._workerManager=this._register(new Dv(e,this._modelService)),this._logService=n,this._register(r.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(a,l)=>{if(!El(this._modelService,a.uri))return Promise.resolve({links:[]});const h=await(await this._workerWithResources([a.uri])).$computeLinks(a.uri.toString());return h&&{links:h}}})),this._register(r.completionProvider.register("*",new W8(this._workerManager,i,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return El(this._modelService,e)}async computedUnicodeHighlights(e,t,i){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,i)}async computeDiff(e,t,i,n){const r=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),i,n);if(!r)return null;return{identical:r.identical,quitEarly:r.quitEarly,changes:l(r.changes),moves:r.moves.map(c=>new bR(new ji(new Ce(c[0],c[1]),new Ce(c[2],c[3])),l(c[4])))};function l(c){return c.map(h=>new Zn(new Ce(h[0],h[1]),new Ce(h[2],h[3]),h[4]?.map(d=>new Hn(new R(d[0],d[1],d[2],d[3]),new R(d[4],d[5],d[6],d[7])))))}}async computeMoreMinimalEdits(e,t,i=!1){if(cb(t)){if(!El(this._modelService,e))return Promise.resolve(t);const n=Nc.create(),o=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,i));return o.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),n.elapsed())),Promise.race([o,Ff(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return El(this._modelService,e)}async navigateValueSet(e,t,i){const n=this._modelService.getModel(e);if(!n)return null;const o=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=o.source,a=o.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,i,r,a)}canComputeWordRanges(e){return El(this._modelService,e)}async computeWordRanges(e,t){const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const n=this._languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),o=n.source,r=n.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,o,r)}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)}};xv=bk([Dl(1,Qi),Dl(2,_k),Dl(3,ps),Dl(4,qo),Dl(5,at)],xv);class W8{constructor(e,t,i,n){this.languageConfigurationService=n,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const n=[];if(i.wordBasedSuggestions==="currentDocument")El(this._modelService,e.uri)&&n.push(e.uri);else for(const d of this._modelService.getModels())El(this._modelService,d.uri)&&(d===e?n.unshift(d.uri):(i.wordBasedSuggestions==="allDocuments"||d.getLanguageId()===e.getLanguageId())&&n.push(d.uri));if(n.length===0)return;const o=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),r=e.getWordAtPosition(t),a=r?new R(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn):R.fromPositions(t),l=a.setEndPosition(t.lineNumber,t.column),h=await(await this._workerManager.withWorker()).textualSuggest(n,r?.word,o);if(h)return{duration:h.duration,suggestions:h.words.map(d=>({kind:18,label:d,insertText:d,range:{insert:l,replace:a}}))}}}let Dv=class extends K{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new YL).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(j2/2),ht),this._register(this._modelService.onModelRemoved(n=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>j2&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new Xp(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};Dv=bk([Dl(1,Qi)],Dv);class V8{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw new Error("Not supported")}}let Xp=class extends K{constructor(e,t,i){super(),this._workerDescriptor=e,this._disposed=!1,this._modelService=i,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(H3(this._workerDescriptor)),Cv.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){uv(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return uv(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new V8(new sp(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new O8(e,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(MO());const i=await this._getProxy();return this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i}async textualSuggest(e,t,i){const n=await this.workerWithSyncedResources(e),o=i.source,r=i.flags;return n.$textualSuggest(e.map(a=>a.toString()),t,o,r)}dispose(){super.dispose(),this._disposed=!0}};Xp=bk([Dl(2,Qi)],Xp);var us;(function(s){s.DARK="dark",s.LIGHT="light",s.HIGH_CONTRAST_DARK="hcDark",s.HIGH_CONTRAST_LIGHT="hcLight"})(us||(us={}));function Yh(s){return s===us.HIGH_CONTRAST_DARK||s===us.HIGH_CONTRAST_LIGHT}function Tb(s){return s===us.DARK||s===us.HIGH_CONTRAST_DARK}const Os=Be("themeService");function nh(s){return{id:s}}function Ev(s){switch(s){case us.DARK:return"vs-dark";case us.HIGH_CONTRAST_DARK:return"hc-black";case us.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const ER={ThemingContribution:"base.contributions.theming"};class H8{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new A}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),ve(()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)})}getThemingParticipants(){return this.themingParticipants}}const IR=new H8;Si.add(ER.ThemingContribution,IR);function jr(s){return IR.onColorThemeChange(s)}class z8 extends K{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(t=>this.onThemeChange(t)))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}var U8=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},$8=function(s,e){return function(t,i){e(t,i,s)}};let Iv=class extends K{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new A),this._onCodeEditorAdd=this._register(new A),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new A),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new A),this._onDiffEditorAdd=this._register(new A),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new A),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new Dn,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(i=>i.removeDecorationsByType(e))))}setModelProperty(e,t,i){const n=e.toString();let o;this._modelProperties.has(n)?o=this._modelProperties.get(n):(o=new Map,this._modelProperties.set(n,o)),o.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i))return this._modelProperties.get(i).get(t)}async openCodeEditor(e,t,i){for(const n of this._codeEditorOpenHandlers){const o=await n(e,t,i);if(o!==null)return o}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return ve(t)}};Iv=U8([$8(0,Os)],Iv);var K8=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},G2=function(s,e){return function(t,i){e(t,i,s)}};let Jp=class extends Iv{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(i,n,o)=>n?this.doOpenEditor(n,i):null))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const o=t.resource.scheme;if(o===Ie.http||o===Ie.https)return jM(t.resource.toString()),e}return null}const n=t.options?t.options.selection:null;if(n)if(typeof n.endLineNumber=="number"&&typeof n.endColumn=="number")e.setSelection(n),e.revealRangeInCenter(n,1);else{const o={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(o),e.revealPositionInCenter(o,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};Jp=K8([G2(0,Xe),G2(1,Os)],Jp);je(Qt,Jp,0);const Ja=Be("layoutService");var NR=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},TR=function(s,e){return function(t,i){e(t,i,s)}};let e_=class{get mainContainer(){return LL(this._codeEditorService.listCodeEditors())?.getContainerDomNode()??ht.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return nv(this.mainContainer)}get activeContainerDimension(){return nv(this.activeContainer)}get containers(){return yL(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=Q.None,this.onDidLayoutActiveContainer=Q.None,this.onDidLayoutContainer=Q.None,this.onDidChangeActiveContainer=Q.None,this.onDidAddContainer=Q.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};e_=NR([TR(0,Qt)],e_);let Nv=class extends e_{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};Nv=NR([TR(1,Qt)],Nv);je(Ja,e_,1);var $f;(function(s){s[s.Ignore=0]="Ignore",s[s.Info=1]="Info",s[s.Warning=2]="Warning",s[s.Error=3]="Error"})($f||($f={}));(function(s){const e="error",t="warning",i="warn",n="info",o="ignore";function r(l){return l?gh(e,l)?s.Error:gh(t,l)||gh(i,l)?s.Warning:gh(n,l)?s.Info:s.Ignore:s.Ignore}s.fromValue=r;function a(l){switch(l){case s.Error:return e;case s.Warning:return t;case s.Info:return n;default:return o}}s.toString=a})($f||($f={}));const Yt=$f,MR=Be("dialogService");var q8=Yt;const lo=Be("notificationService");class j8{}const Ck=Be("undoRedoService");class RR{constructor(e,t){this.resource=e,this.elements=t}}const Fh=class Fh{constructor(){this.id=Fh._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}};Fh._ID=0,Fh.None=new Fh;let Tv=Fh;const Bh=class Bh{constructor(){this.id=Bh._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}};Bh._ID=0,Bh.None=new Bh;let Il=Bh;var G8=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Z2=function(s,e){return function(t,i){e(t,i,s)}};function gm(s){return s.scheme===Ie.file?s.fsPath:s.path}let AR=0;class mm{constructor(e,t,i,n,o,r,a){this.id=++AR,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=n,this.groupOrder=o,this.sourceId=r,this.sourceOrder=a,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Y2{constructor(e,t){this.resourceLabel=e,this.reason=t}}class Q2{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);const i=[];return e.length>0&&i.push(p({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(p({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join(` `)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class Z8{constructor(e,t,i,n,o,r,a){this.id=++AR,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=n,this.groupOrder=o,this.sourceId=r,this.sourceOrder=a,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new Q2),this.removedResources.has(t)||this.removedResources.set(t,new Y2(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Q2),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new Y2(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class PR{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(` `)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,n=this._past.length;i=0;i--)t.push(this._future[i].id);return new RR(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,n=0,o=-1;for(let a=0,l=this._past.length;a=t||c.id!==e.elements[n])&&(i=!1,o=0),!i&&c.type===1&&c.removeResource(this.resourceLabel,this.strResource,0)}let r=-1;for(let a=this._future.length-1;a>=0;a--,n++){const l=this._future[a];i&&(n>=t||l.id!==e.elements[n])&&(i=!1,r=a),!i&&l.type===1&&l.removeResource(this.resourceLabel,this.strResource,0)}o!==-1&&(this._past=this._past.slice(0,o)),r!==-1&&(this._future=this._future.slice(r+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class H0{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=r,i=n)}return[t,i]}canUndo(e){if(e instanceof Il){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){ut(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,n,o){const r=this._acquireLocks(i);let a;try{a=t()}catch(l){return r(),n.dispose(),this._onError(l,e)}return a?a.then(()=>(r(),n.dispose(),o()),l=>(r(),n.dispose(),this._onError(l,e))):(r(),n.dispose(),o())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return K.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?K.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(K.None);const i=e.actual.prepareUndoRedo();return i?JT(i)?t(i):i.then(n=>t(n)):t(K.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||OR);return new H0(t)}_tryToSplitAndUndo(e,t,i,n){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(n),new pm(this._undo(e,0,!0));for(const o of t.strResources)this.removeElements(o);return this._notificationService.warn(n),new pm}_checkWorkspaceUndo(e,t,i,n){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,p({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(n&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,p({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const o=[];for(const a of i.editStacks)a.getClosestPastElement()!==t&&o.push(a.resourceLabel);if(o.length>0)return this._tryToSplitAndUndo(e,t,null,p({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const r=[];for(const a of i.editStacks)a.locked&&r.push(a.resourceLabel);return r.length>0?this._tryToSplitAndUndo(e,t,null,p({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,p({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const n=this._getAffectedEditStacks(t),o=this._checkWorkspaceUndo(e,t,n,!1);return o?o.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,n,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,n){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let a;(function(h){h[h.All=0]="All",h[h.This=1]="This",h[h.Cancel=2]="Cancel"})(a||(a={}));const{result:l}=await this._dialogService.prompt({type:Yt.Info,message:p("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:p({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>a.All},{label:p({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>a.This}],cancelButton:{run:()=>a.Cancel}});if(l===a.Cancel)return;if(l===a.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const c=this._checkWorkspaceUndo(e,t,i,!1);if(c)return c.returnValue;n=!0}let o;try{o=await this._invokeWorkspacePrepare(t)}catch(a){return this._onError(a,t)}const r=this._checkWorkspaceUndo(e,t,i,!0);if(r)return o.dispose(),r.returnValue;for(const a of i.editStacks)a.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,o,()=>this._continueUndoInGroup(t.groupId,n))}_resourceUndo(e,t,i){if(!t.isValid){e.flushAllElements();return}if(e.locked){const n=p({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(n);return}return this._invokeResourcePrepare(t,n=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new H0([e]),n,()=>this._continueUndoInGroup(t.groupId,i))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,o]of this._editStacks){const r=o.getClosestPastElement();r&&r.groupId===e&&(!t||r.groupOrder>t.groupOrder)&&(t=r,i=n)}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);if(i)return this._undo(i,0,t)}undo(e){if(e instanceof Il){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e=="string"?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const n=this._editStacks.get(e),o=n.getClosestPastElement();if(!o)return;if(o.groupId){const[a,l]=this._findClosestUndoElementInGroup(o.groupId);if(o!==a&&l)return this._undo(l,t,i)}if((o.sourceId!==t||o.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,o);try{return o.type===1?this._workspaceUndo(e,o,i):this._resourceUndo(n,o,i)}finally{}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:p("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:p({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:p("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[n,o]of this._editStacks){const r=o.getClosestFutureElement();r&&r.sourceId===e&&(!t||r.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,p({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const r=[];for(const a of i.editStacks)a.locked&&r.push(a.resourceLabel);return r.length>0?this._tryToSplitAndRedo(e,t,null,p({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,p({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),n=this._checkWorkspaceRedo(e,t,i,!1);return n?n.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let n;try{n=await this._invokeWorkspacePrepare(t)}catch(r){return this._onError(r,t)}const o=this._checkWorkspaceRedo(e,t,i,!0);if(o)return n.dispose(),o.returnValue;for(const r of i.editStacks)r.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,n,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){const i=p({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(i);return}return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new H0([e]),i,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,o]of this._editStacks){const r=o.getClosestFutureElement();r&&r.groupId===e&&(!t||r.groupOrder=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},X2=function(s,e){return function(t,i){e(t,i,s)}};const X8=Be("ILanguageFeatureDebounceService");var t_;(function(s){const e=new WeakMap;let t=0;function i(n){let o=e.get(n);return o===void 0&&(o=++t,e.set(n,o)),o}s.of=i})(t_||(t_={}));class J8{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class e6{constructor(e,t,i,n,o,r){this._logService=e,this._name=t,this._registry=i,this._default=n,this._min=o,this._max=r,this._cache=new Pg(50,.7)}_key(e){return e.id+this._registry.all(e).reduce((t,i)=>pb(t_.of(i),t),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?cn(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let n=this._cache.get(i);n||(n=new Y8(6),this._cache.set(i,n));const o=cn(n.update(t),this._min,this._max);return GL(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new FR;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=this._overall()|0||this._default;return cn(e,this._min,this._max)}}let Rv=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){const n=i?.min??50,o=i?.max??n**2,r=i?.key??void 0,a=`${t_.of(e)},${n}${r?","+r:""}`;let l=this._data.get(a);return l||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),l=new J8(n*1.5)):l=new e6(this._logService,t,e,this._overallAverage()|0||n*1.5,n,o),this._data.set(a,l)),l}_overallAverage(){const e=new FR;for(const t of this._data.values())e.update(t.default());return e.value}};Rv=Q8([X2(0,ps),X2(1,BR)],Rv);je(X8,Rv,1);class Gs{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return n&1&&(i+=" mtki"),n&2&&(i+=" mtkb"),n&4&&(i+=" mtku"),n&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let o=`color: ${t[i]};`;n&1&&(o+="font-style: italic;"),n&2&&(o+="font-weight: bold;");let r="";return n&4&&(r+=" underline"),n&8&&(r+=" line-through"),r&&(o+=`text-decoration:${r};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}function vc(s){let e=0,t=0,i=0,n=0;for(let o=0,r=s.length;o0?t.charCodeAt(0):0)}acceptEdit(e,t,i,n,o){this._acceptDeleteRange(e),this._acceptInsertText(new W(e.startLineNumber,e.startColumn),t,i,n,o),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const o=i-t;this._startLineNumber-=o;return}const n=this._tokens.getMaxDeltaLine();if(!(t>=n+1)){if(t<0&&i>=n+1){this._startLineNumber=0,this._tokens.clear();return}if(t<0){const o=-t;this._startLineNumber-=o,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,n,o){if(t===0&&i===0)return;const r=e.lineNumber-this._startLineNumber;if(r<0){this._startLineNumber+=t;return}const a=this._tokens.getMaxDeltaLine();r>=a+1||this._tokens.acceptInsertText(r,e.column-1,t,i,n,o)}}class i_{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)i=n-1;else{let r=n;for(;r>t&&this._getDeltaLine(r-1)===e;)r--;let a=n;for(;ae||u===e&&g>=t)&&(ue||g===e&&_>=t){if(go?m-=o-i:m=i;else if(f===t&&g===i)if(f===n&&m>o)m-=o-i;else{h=!0;continue}else if(fo)f=t,g=i,m=g+(m-o);else{h=!0;continue}else if(f>n){if(l===0&&!h){c=a;break}f-=l}else if(f===n&&g>=o)e&&f===0&&(g+=e,m+=e),f-=l,g-=o-i,m-=o-i;else throw new Error("Not possible!");const b=4*c;r[b]=f,r[b+1]=g,r[b+2]=m,r[b+3]=_,c++}this._tokenCount=c}acceptInsertText(e,t,i,n,o,r){const a=i===0&&n===1&&(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122),l=this._tokens,c=this._tokenCount;for(let h=0;h=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},z0=function(s,e){return function(t,i){e(t,i,s)}};let Av=class{constructor(e,t,i,n){this._legend=e,this._themeService=t,this._languageService=i,this._logService=n,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new Pv}getMetadata(e,t,i){const n=this._languageService.languageIdCodec.encodeLanguageId(i),o=this._hashTable.get(e,t,n);let r;if(o)r=o.metadata;else{let a=this._legend.tokenTypes[e];const l=[];if(a){let c=t;for(let d=0;c>0&&d>1;const h=this._themeService.getColorTheme().getTokenStyleMetadata(a,l,i);if(typeof h>"u")r=2147483647;else{if(r=0,typeof h.italic<"u"){const d=(h.italic?1:0)<<11;r|=d|1}if(typeof h.bold<"u"){const d=(h.bold?2:0)<<11;r|=d|2}if(typeof h.underline<"u"){const d=(h.underline?4:0)<<11;r|=d|4}if(typeof h.strikethrough<"u"){const d=(h.strikethrough?8:0)<<11;r|=d|8}if(h.foreground){const d=h.foreground<<15;r|=d|16}r===0&&(r=2147483647)}}else r=2147483647,a="not-in-legend";this._hashTable.add(e,t,n,r)}return r}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,n,o){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${n} is outside the previous data (length ${o}).`))}};Av=t6([z0(1,Os),z0(2,gi),z0(3,ps)],Av);function fie(s,e,t){const i=s.data,n=s.data.length/5|0,o=Math.max(Math.ceil(n/1024),400),r=[];let a=0,l=1,c=0;for(;ah&&i[5*C]===0;)C--;if(C-1===h){let v=d;for(;v+1L)e.warnOverlappingSemanticTokens(y,L+1);else{const O=e.getMetadata(E,U,t);O!==2147483647&&(g===0&&(g=y),u[f]=y-g,u[f+1]=L,u[f+2]=D,u[f+3]=O,f+=4,m=y,_=D)}l=y,c=L,a++}f!==u.length&&(u=u.subarray(0,f));const b=$u.create(g,u);r.push(b)}return r}class i6{constructor(e,t,i,n){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=n,this.next=null}}const fr=class fr{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=fr._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const o=this._elements;this._currentLengthIndex++,this._currentLength=fr._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},U0=function(s,e){return function(t,i){e(t,i,s)}};let Ov=class extends K{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new Av(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};Ov=s6([U0(0,Os),U0(1,ps),U0(2,gi)],Ov);je(n6,Ov,1);function oa(s){return s===47||s===92}function WR(s){return s.replace(/[\\/]/g,zt.sep)}function o6(s){return s.indexOf("/")===-1&&(s=WR(s)),/^[a-zA-Z]:(\/|$)/.test(s)&&(s="/"+s),s}function eE(s,e=zt.sep){if(!s)return"";const t=s.length,i=s.charCodeAt(0);if(oa(i)){if(oa(s.charCodeAt(1))&&!oa(s.charCodeAt(2))){let o=3;const r=o;for(;os.length)return!1;if(t){if(!WL(s,e))return!1;if(e.length===s.length)return!0;let o=e.length;return e.charAt(e.length-1)===i&&o--,s.charAt(o)===i}return e.charAt(e.length-1)!==i&&(e+=i),s.indexOf(e)===0}function VR(s){return s>=65&&s<=90||s>=97&&s<=122}function mie(s,e=gn){return e?VR(s.charCodeAt(0))&&s.charCodeAt(1)===58:!1}const _m="**",tE="/",op="[/\\\\]",rp="[^/\\\\]",r6=/\//g;function iE(s,e){switch(s){case 0:return"";case 1:return`${rp}*?`;default:return`(?:${op}|${rp}+${op}${e?`|${op}${rp}+`:""})*?`}}function nE(s,e){if(!s)return[];const t=[];let i=!1,n=!1,o="";for(const r of s){switch(r){case e:if(!i&&!n){t.push(o),o="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":n=!0;break;case"]":n=!1;break}o+=r}return o&&t.push(o),t}function HR(s){if(!s)return"";let e="";const t=nE(s,tE);if(t.every(i=>i===_m))e=".*";else{let i=!1;t.forEach((n,o)=>{if(n===_m){if(i)return;e+=iE(2,o===t.length-1)}else{let r=!1,a="",l=!1,c="";for(const h of n){if(h!=="}"&&r){a+=h;continue}if(l&&(h!=="]"||!c)){let d;h==="-"?d=h:(h==="^"||h==="!")&&!c?d="^":h===tE?d="":d=$r(h),c+=d;continue}switch(h){case"{":r=!0;continue;case"[":l=!0;continue;case"}":{const u=`(?:${nE(a,",").map(f=>HR(f)).join("|")})`;e+=u,r=!1,a="";break}case"]":{e+="["+c+"]",l=!1,c="";break}case"?":e+=rp;continue;case"*":e+=iE(1);continue;default:e+=$r(h)}}owk(a,e)).filter(a=>a!==Fo),s),i=t.length;if(!i)return Fo;if(i===1)return t[0];const n=function(a,l){for(let c=0,h=t.length;c!!a.allBasenames);o&&(n.allBasenames=o.allBasenames);const r=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return r.length&&(n.allPaths=r),n}function aE(s,e,t){const i=Ra===zt.sep,n=i?s:s.replace(r6,Ra),o=Ra+n,r=zt.sep+s;let a;return t?a=function(l,c){return typeof l=="string"&&(l===n||l.endsWith(o)||!i&&(l===s||l.endsWith(r)))?e:null}:a=function(l,c){return typeof l=="string"&&(l===n||!i&&l===s)?e:null},a.allPaths=[(t?"*/":"./")+s],a}function p6(s){try{const e=new RegExp(`^${HR(s)}$`);return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?s:null}}catch{return Fo}}function _6(s,e,t){return!s||typeof e!="string"?!1:zR(s)(e,void 0,t)}function zR(s,e={}){if(!s)return oE;if(typeof s=="string"||b6(s)){const t=wk(s,e);if(t===Fo)return oE;const i=function(n,o){return!!t(n,o)};return t.allBasenames&&(i.allBasenames=t.allBasenames),t.allPaths&&(i.allPaths=t.allPaths),i}return C6(s,e)}function b6(s){const e=s;return e?typeof e.base=="string"&&typeof e.pattern=="string":!1}function C6(s,e){const t=UR(Object.getOwnPropertyNames(s).map(a=>w6(a,s[a],e)).filter(a=>a!==Fo)),i=t.length;if(!i)return Fo;if(!t.some(a=>!!a.requiresSiblings)){if(i===1)return t[0];const a=function(h,d){let u;for(let f=0,g=t.length;f{for(const f of u){const g=await f;if(typeof g=="string")return g}return null})():null},l=t.find(h=>!!h.allBasenames);l&&(a.allBasenames=l.allBasenames);const c=t.reduce((h,d)=>d.allPaths?h.concat(d.allPaths):h,[]);return c.length&&(a.allPaths=c),a}const n=function(a,l,c){let h,d;for(let u=0,f=t.length;u{for(const u of d){const f=await u;if(typeof f=="string")return f}return null})():null},o=t.find(a=>!!a.allBasenames);o&&(n.allBasenames=o.allBasenames);const r=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return r.length&&(n.allPaths=r),n}function w6(s,e,t){if(e===!1)return Fo;const i=wk(s,t);if(i===Fo)return Fo;if(typeof e=="boolean")return i;if(e){const n=e.when;if(typeof n=="string"){const o=(r,a,l,c)=>{if(!c||!i(r,a))return null;const h=n.replace("$(basename)",()=>l),d=c(h);return Gw(d)?d.then(u=>u?s:null):d?s:null};return o.requiresSiblings=!0,o}}return i}function UR(s,e){const t=s.filter(a=>!!a.basenames);if(t.length<2)return s;const i=t.reduce((a,l)=>{const c=l.basenames;return c?a.concat(c):a},[]);let n;if(e){n=[];for(let a=0,l=i.length;a{const c=l.patterns;return c?a.concat(c):a},[]);const o=function(a,l){if(typeof a!="string")return null;if(!l){let h;for(h=a.length;h>0;h--){const d=a.charCodeAt(h-1);if(d===47||d===92)break}l=a.substr(h)}const c=i.indexOf(l);return c!==-1?n[c]:null};o.basenames=i,o.patterns=n,o.allBasenames=i;const r=s.filter(a=>!a.basenames);return r.push(o),r}function $R(s,e,t,i,n,o){if(Array.isArray(s)){let r=0;for(const a of s){const l=$R(a,e,t,i,n,o);if(l===10)return l;l>r&&(r=l)}return r}else{if(typeof s=="string")return i?s==="*"?5:s===t?10:0:0;if(s){const{language:r,pattern:a,scheme:l,hasAccessToAllModels:c,notebookType:h}=s;if(!i&&!c)return 0;h&&n&&(e=n);let d=0;if(l)if(l===e.scheme)d=10;else if(l==="*")d=5;else return 0;if(r)if(r===t)d=10;else if(r==="*")d=Math.max(d,5);else return 0;if(h)if(h===o)d=10;else if(h==="*"&&o!==void 0)d=Math.max(d,5);else return 0;if(a){let u;if(typeof a=="string"?u=a:u={...a,base:rM(a.base)},u===e.fsPath||_6(u,e.fsPath))d=10;else return 0}return d}else return 0}}function KR(s){return typeof s=="string"?!1:Array.isArray(s)?s.every(KR):!!s.exclusive}class lE{constructor(e,t,i,n,o){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=n,this.recursive=o}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class xt{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new A,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),ve(()=>{if(i){const n=this._entries.indexOf(i);n>=0&&(this._entries.splice(n,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e,t=!1){const i=[];return this._orderedForEach(e,t,n=>i.push(n.provider)),i}orderedGroups(e){const t=[];let i,n;return this._orderedForEach(e,!1,o=>{i&&n===o._score?i.push(o.provider):(n=o._score,i=[o.provider],t.push(i))}),t}_orderedForEach(e,t,i){this._updateScores(e,t);for(const n of this._entries)n._score>0&&i(n)}_updateScores(e,t){const i=this._notebookInfoResolver?.(e.uri),n=i?new lE(e.uri,e.getLanguageId(),i.uri,i.type,t):new lE(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(n)){this._lastCandidate=n;for(const o of this._entries)if(o._score=$R(o.selector,n.uri,n.languageId,WF(e),n.notebookUri,n.notebookType),KR(o.selector)&&o._score>0)if(t)o._score=0;else{for(const r of this._entries)r._score=0;o._score=1e3;break}this._entries.sort(xt._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:ku(e.selector)&&!ku(t.selector)?1:!ku(e.selector)&&ku(t.selector)?-1:e._timet._time?-1:0}}function ku(s){return typeof s=="string"?!1:Array.isArray(s)?s.some(ku):!!s.isBuiltin}class v6{constructor(){this.referenceProvider=new xt(this._score.bind(this)),this.renameProvider=new xt(this._score.bind(this)),this.newSymbolNamesProvider=new xt(this._score.bind(this)),this.codeActionProvider=new xt(this._score.bind(this)),this.definitionProvider=new xt(this._score.bind(this)),this.typeDefinitionProvider=new xt(this._score.bind(this)),this.declarationProvider=new xt(this._score.bind(this)),this.implementationProvider=new xt(this._score.bind(this)),this.documentSymbolProvider=new xt(this._score.bind(this)),this.inlayHintsProvider=new xt(this._score.bind(this)),this.colorProvider=new xt(this._score.bind(this)),this.codeLensProvider=new xt(this._score.bind(this)),this.documentFormattingEditProvider=new xt(this._score.bind(this)),this.documentRangeFormattingEditProvider=new xt(this._score.bind(this)),this.onTypeFormattingEditProvider=new xt(this._score.bind(this)),this.signatureHelpProvider=new xt(this._score.bind(this)),this.hoverProvider=new xt(this._score.bind(this)),this.documentHighlightProvider=new xt(this._score.bind(this)),this.multiDocumentHighlightProvider=new xt(this._score.bind(this)),this.selectionRangeProvider=new xt(this._score.bind(this)),this.foldingRangeProvider=new xt(this._score.bind(this)),this.linkProvider=new xt(this._score.bind(this)),this.inlineCompletionsProvider=new xt(this._score.bind(this)),this.inlineEditProvider=new xt(this._score.bind(this)),this.completionProvider=new xt(this._score.bind(this)),this.linkedEditingRangeProvider=new xt(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new xt(this._score.bind(this)),this.documentSemanticTokensProvider=new xt(this._score.bind(this)),this.documentDropEditProvider=new xt(this._score.bind(this)),this.documentPasteEditProvider=new xt(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}je(at,v6,1);function vk(s){return`--vscode-${s.replace(/\./g,"-")}`}function te(s){return`var(${vk(s)})`}function S6(s,e){return`var(${vk(s)}, ${e})`}function y6(s){return s!==null&&typeof s=="object"&&"light"in s&&"dark"in s}const qR={ColorContribution:"base.contributions.colors"},L6="default";class k6{constructor(){this._onDidChangeSchema=new A,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,n=!1,o){const r={id:e,description:i,defaults:t,needsTransparency:n,deprecationMessage:o};this.colorsById[e]=r;const a={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return o&&(a.deprecationMessage=o),n&&(a.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",a.patternErrorMessage=p("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:i,oneOf:[a,{type:"string",const:L6,description:p("useDefault","Use the default color.")}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i?.defaults){const n=y6(i.defaults)?i.defaults[t.type]:i.defaults;return Hs(n,t)}}getColorSchema(){return this.colorSchema}toString(){const e=(t,i)=>{const n=t.indexOf(".")===-1?0:1,o=i.indexOf(".")===-1?0:1;return n!==o?n-o:t.localeCompare(i)};return Object.keys(this.colorsById).sort(e).map(t=>`- \`${t}\`: ${this.colorsById[t].description}`).join(` `)}}const Mb=new k6;Si.add(qR.ColorContribution,Mb);function N(s,e,t,i,n){return Mb.registerColor(s,e,t,i,n)}function x6(s,e){switch(s.op){case 0:return Hs(s.value,e)?.darken(s.factor);case 1:return Hs(s.value,e)?.lighten(s.factor);case 2:return Hs(s.value,e)?.transparent(s.factor);case 3:{const t=Hs(s.background,e);return t?Hs(s.value,e)?.makeOpaque(t):Hs(s.value,e)}case 4:for(const t of s.values){const i=Hs(t,e);if(i)return i}return;case 6:return Hs(e.defines(s.if)?s.then:s.else,e);case 5:{const t=Hs(s.value,e);if(!t)return;const i=Hs(s.background,e);return i?t.isDarkerThan(i)?Z.getLighterColor(t,i,s.factor).transparent(s.transparency):Z.getDarkerColor(t,i,s.factor).transparent(s.transparency):t.transparent(s.factor*s.transparency)}default:throw ak()}}function Wc(s,e){return{op:0,value:s,factor:e}}function Js(s,e){return{op:1,value:s,factor:e}}function Me(s,e){return{op:2,value:s,factor:e}}function cE(...s){return{op:4,values:s}}function D6(s,e,t){return{op:6,if:s,then:e,else:t}}function hE(s,e,t,i){return{op:5,value:s,background:e,factor:t,transparency:i}}function Hs(s,e){if(s!==null){if(typeof s=="string")return s[0]==="#"?Z.fromHex(s):e.getColor(s);if(s instanceof Z)return s;if(typeof s=="object")return x6(s,e)}}const jR="vscode://schemas/workbench-colors",GR=Si.as(Nb.JSONContribution);GR.registerSchema(jR,Mb.getColorSchema());const dE=new Gi(()=>GR.notifySchemaChanged(jR),200);Mb.onDidChangeSchema(()=>{dE.isScheduled()||dE.schedule()});const dt=N("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},p("foreground","Overall foreground color. This color is only used if not overridden by a component."));N("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},p("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component."));N("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},p("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component."));N("descriptionForeground",{light:"#717171",dark:Me(dt,.7),hcDark:Me(dt,.7),hcLight:Me(dt,.7)},p("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const Bv=N("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},p("iconForeground","The default color for icons in the workbench.")),Vo=N("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},p("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),Ye=N("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},p("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),$t=N("contrastActiveBorder",{light:null,dark:null,hcDark:Vo,hcLight:Vo},p("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));N("selection.background",null,p("selectionBackground","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const E6=N("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},p("textLinkForeground","Foreground color for links in text."));N("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},p("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover."));N("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Z.black,hcLight:"#292929"},p("textSeparatorForeground","Color for text separators."));N("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},p("textPreformatForeground","Foreground color for preformatted text segments."));N("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},p("textPreformatBackground","Background color for preformatted text segments."));N("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},p("textBlockQuoteBackground","Background color for block quotes in text."));N("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Z.white,hcLight:"#292929"},p("textBlockQuoteBorder","Border color for block quotes in text."));N("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Z.black,hcLight:"#F2F2F2"},p("textCodeBlockBackground","Background color for code blocks in text."));N("sash.hoverBorder",Vo,p("sashActiveBorder","Border color of active sashes."));const ap=N("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Z.black,hcLight:"#0F4A85"},p("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),I6=N("badge.foreground",{dark:Z.white,light:"#333",hcDark:Z.white,hcLight:Z.white},p("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),Sk=N("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},p("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),ZR=N("scrollbarSlider.background",{dark:Z.fromHex("#797979").transparent(.4),light:Z.fromHex("#646464").transparent(.4),hcDark:Me(Ye,.6),hcLight:Me(Ye,.4)},p("scrollbarSliderBackground","Scrollbar slider background color.")),YR=N("scrollbarSlider.hoverBackground",{dark:Z.fromHex("#646464").transparent(.7),light:Z.fromHex("#646464").transparent(.7),hcDark:Me(Ye,.8),hcLight:Me(Ye,.8)},p("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),QR=N("scrollbarSlider.activeBackground",{dark:Z.fromHex("#BFBFBF").transparent(.4),light:Z.fromHex("#000000").transparent(.6),hcDark:Ye,hcLight:Ye},p("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),N6=N("progressBar.background",{dark:Z.fromHex("#0E70C0"),light:Z.fromHex("#0E70C0"),hcDark:Ye,hcLight:Ye},p("progressBarBackground","Background color of the progress bar that can show for long running operations.")),io=N("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Z.black,hcLight:Z.white},p("editorBackground","Editor background color.")),Og=N("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Z.white,hcLight:dt},p("editorForeground","Editor default foreground color."));N("editorStickyScroll.background",io,p("editorStickyScrollBackground","Background color of sticky scroll in the editor"));N("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Z.fromHex("#0F4A85").transparent(.1)},p("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor"));N("editorStickyScroll.border",{dark:null,light:null,hcDark:Ye,hcLight:Ye},p("editorStickyScrollBorder","Border color of sticky scroll in the editor"));N("editorStickyScroll.shadow",Sk,p("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const Es=N("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Z.white},p("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),Rb=N("editorWidget.foreground",dt,p("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),XR=N("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:Ye,hcLight:Ye},p("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));N("editorWidget.resizeBorder",null,p("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget."));N("editorError.background",null,p("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const yk=N("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},p("editorError.foreground","Foreground color of error squigglies in the editor.")),pie=N("editorError.border",{dark:null,light:null,hcDark:Z.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},p("errorBorder","If set, color of double underlines for errors in the editor.")),T6=N("editorWarning.background",null,p("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),qa=N("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},p("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),n_=N("editorWarning.border",{dark:null,light:null,hcDark:Z.fromHex("#FFCC00").transparent(.8),hcLight:Z.fromHex("#FFCC00").transparent(.8)},p("warningBorder","If set, color of double underlines for warnings in the editor."));N("editorInfo.background",null,p("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Sc=N("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},p("editorInfo.foreground","Foreground color of info squigglies in the editor.")),s_=N("editorInfo.border",{dark:null,light:null,hcDark:Z.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},p("infoBorder","If set, color of double underlines for infos in the editor.")),M6=N("editorHint.foreground",{dark:Z.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},p("editorHint.foreground","Foreground color of hint squigglies in the editor."));N("editorHint.border",{dark:null,light:null,hcDark:Z.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},p("hintBorder","If set, color of double underlines for hints in the editor."));const _ie=N("editorLink.activeForeground",{dark:"#4E94CE",light:Z.blue,hcDark:Z.cyan,hcLight:"#292929"},p("activeLinkForeground","Color of active links.")),Ch=N("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},p("editorSelectionBackground","Color of the editor selection.")),R6=N("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Z.white},p("editorSelectionForeground","Color of the selected text for high contrast.")),JR=N("editor.inactiveSelectionBackground",{light:Me(Ch,.5),dark:Me(Ch,.5),hcDark:Me(Ch,.7),hcLight:Me(Ch,.5)},p("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),eA=N("editor.selectionHighlightBackground",{light:hE(Ch,io,.3,.6),dark:hE(Ch,io,.3,.6),hcDark:null,hcLight:null},p("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:$t,hcLight:$t},p("editorSelectionHighlightBorder","Border color for regions with the same content as the selection."));N("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},p("editorFindMatch","Color of the current search match."));const bie=N("editor.findMatchForeground",null,p("editorFindMatchForeground","Text color of the current search match.")),ya=N("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},p("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),Cie=N("editor.findMatchHighlightForeground",null,p("findMatchHighlightForeground","Foreground color of the other search matches."),!0);N("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},p("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.findMatchBorder",{light:null,dark:null,hcDark:$t,hcLight:$t},p("editorFindMatchBorder","Border color of the current search match."));const wh=N("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:$t,hcLight:$t},p("findMatchHighlightBorder","Border color of the other search matches.")),wie=N("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:Me($t,.4),hcLight:Me($t,.4)},p("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},p("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const uE=N("editorHoverWidget.background",Es,p("hoverBackground","Background color of the editor hover."));N("editorHoverWidget.foreground",Rb,p("hoverForeground","Foreground color of the editor hover."));const A6=N("editorHoverWidget.border",XR,p("hoverBorder","Border color of the editor hover."));N("editorHoverWidget.statusBarBackground",{dark:Js(uE,.2),light:Wc(uE,.05),hcDark:Es,hcLight:Es},p("statusBarBackground","Background color of the editor hover status bar."));const tA=N("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Z.white,hcLight:Z.black},p("editorInlayHintForeground","Foreground color of inline hints")),iA=N("editorInlayHint.background",{dark:Me(ap,.1),light:Me(ap,.1),hcDark:Me(Z.white,.1),hcLight:Me(ap,.1)},p("editorInlayHintBackground","Background color of inline hints")),vie=N("editorInlayHint.typeForeground",tA,p("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),Sie=N("editorInlayHint.typeBackground",iA,p("editorInlayHintBackgroundTypes","Background color of inline hints for types")),yie=N("editorInlayHint.parameterForeground",tA,p("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),Lie=N("editorInlayHint.parameterBackground",iA,p("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),P6=N("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},p("editorLightBulbForeground","The color used for the lightbulb actions icon."));N("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},p("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon."));N("editorLightBulbAi.foreground",P6,p("editorLightBulbAiForeground","The color used for the lightbulb AI icon."));N("editor.snippetTabstopHighlightBackground",{dark:new Z(new Ke(124,124,124,.3)),light:new Z(new Ke(10,50,100,.2)),hcDark:new Z(new Ke(124,124,124,.3)),hcLight:new Z(new Ke(10,50,100,.2))},p("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop."));N("editor.snippetTabstopHighlightBorder",null,p("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop."));N("editor.snippetFinalTabstopHighlightBackground",null,p("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet."));N("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Z(new Ke(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},p("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const Wv=new Z(new Ke(155,185,85,.2)),Vv=new Z(new Ke(255,0,0,.2)),O6=N("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},p("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),F6=N("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},p("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);N("diffEditor.insertedLineBackground",{dark:Wv,light:Wv,hcDark:null,hcLight:null},p("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0);N("diffEditor.removedLineBackground",{dark:Vv,light:Vv,hcDark:null,hcLight:null},p("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);N("diffEditorGutter.insertedLineBackground",null,p("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted."));N("diffEditorGutter.removedLineBackground",null,p("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const B6=N("diffEditorOverview.insertedForeground",null,p("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),W6=N("diffEditorOverview.removedForeground",null,p("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));N("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},p("diffEditorInsertedOutline","Outline color for the text that got inserted."));N("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},p("diffEditorRemovedOutline","Outline color for text that got removed."));N("diffEditor.border",{dark:null,light:null,hcDark:Ye,hcLight:Ye},p("diffEditorBorder","Border color between the two text editors."));N("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},p("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views."));N("diffEditor.unchangedRegionBackground","sideBar.background",p("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor."));N("diffEditor.unchangedRegionForeground","foreground",p("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor."));N("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},p("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const Fg=N("widget.shadow",{dark:Me(Z.black,.36),light:Me(Z.black,.16),hcDark:null,hcLight:null},p("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),V6=N("widget.border",{dark:null,light:null,hcDark:Ye,hcLight:Ye},p("widgetBorder","Border color of widgets such as find/replace inside the editor.")),fE=N("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},p("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));N("toolbar.hoverOutline",{dark:null,light:null,hcDark:$t,hcLight:$t},p("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse"));N("toolbar.activeBackground",{dark:Js(fE,.1),light:Wc(fE,.1),hcDark:null,hcLight:null},p("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const H6=N("breadcrumb.foreground",Me(dt,.8),p("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),z6=N("breadcrumb.background",io,p("breadcrumbsBackground","Background color of breadcrumb items.")),gE=N("breadcrumb.focusForeground",{light:Wc(dt,.2),dark:Js(dt,.1),hcDark:Js(dt,.1),hcLight:Js(dt,.1)},p("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),U6=N("breadcrumb.activeSelectionForeground",{light:Wc(dt,.2),dark:Js(dt,.1),hcDark:Js(dt,.1),hcLight:Js(dt,.1)},p("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));N("breadcrumbPicker.background",Es,p("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const nA=.5,mE=Z.fromHex("#40C8AE").transparent(nA),pE=Z.fromHex("#40A6FF").transparent(nA),_E=Z.fromHex("#606060").transparent(.4),Lk=.4,yd=1,Hv=N("merge.currentHeaderBackground",{dark:mE,light:mE,hcDark:null,hcLight:null},p("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);N("merge.currentContentBackground",Me(Hv,Lk),p("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const zv=N("merge.incomingHeaderBackground",{dark:pE,light:pE,hcDark:null,hcLight:null},p("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);N("merge.incomingContentBackground",Me(zv,Lk),p("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Uv=N("merge.commonHeaderBackground",{dark:_E,light:_E,hcDark:null,hcLight:null},p("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);N("merge.commonContentBackground",Me(Uv,Lk),p("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Ld=N("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},p("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));N("editorOverviewRuler.currentContentForeground",{dark:Me(Hv,yd),light:Me(Hv,yd),hcDark:Ld,hcLight:Ld},p("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts."));N("editorOverviewRuler.incomingContentForeground",{dark:Me(zv,yd),light:Me(zv,yd),hcDark:Ld,hcLight:Ld},p("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts."));N("editorOverviewRuler.commonContentForeground",{dark:Me(Uv,yd),light:Me(Uv,yd),hcDark:Ld,hcLight:Ld},p("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const kie=N("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},p("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),xie=N("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",p("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),$6=N("problemsErrorIcon.foreground",yk,p("problemsErrorIconForeground","The color used for the problems error icon.")),K6=N("problemsWarningIcon.foreground",qa,p("problemsWarningIconForeground","The color used for the problems warning icon.")),q6=N("problemsInfoIcon.foreground",Sc,p("problemsInfoIconForeground","The color used for the problems info icon.")),j6=N("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},p("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),Die=N("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},p("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),bE=N("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},p("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),G6=N("minimap.infoHighlight",{dark:Sc,light:Sc,hcDark:s_,hcLight:s_},p("minimapInfo","Minimap marker color for infos.")),Z6=N("minimap.warningHighlight",{dark:qa,light:qa,hcDark:n_,hcLight:n_},p("overviewRuleWarning","Minimap marker color for warnings.")),Y6=N("minimap.errorHighlight",{dark:new Z(new Ke(255,18,18,.7)),light:new Z(new Ke(255,18,18,.7)),hcDark:new Z(new Ke(255,50,50,1)),hcLight:"#B5200D"},p("minimapError","Minimap marker color for errors.")),Q6=N("minimap.background",null,p("minimapBackground","Minimap background color.")),X6=N("minimap.foregroundOpacity",Z.fromHex("#000f"),p("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));N("minimapSlider.background",Me(ZR,.5),p("minimapSliderBackground","Minimap slider background color."));N("minimapSlider.hoverBackground",Me(YR,.5),p("minimapSliderHoverBackground","Minimap slider background color when hovering."));N("minimapSlider.activeBackground",Me(QR,.5),p("minimapSliderActiveBackground","Minimap slider background color when clicked on."));N("charts.foreground",dt,p("chartsForeground","The foreground color used in charts."));N("charts.lines",Me(dt,.5),p("chartsLines","The color used for horizontal lines in charts."));N("charts.red",yk,p("chartsRed","The red color used in chart visualizations."));N("charts.blue",Sc,p("chartsBlue","The blue color used in chart visualizations."));N("charts.yellow",qa,p("chartsYellow","The yellow color used in chart visualizations."));N("charts.orange",j6,p("chartsOrange","The orange color used in chart visualizations."));N("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},p("chartsGreen","The green color used in chart visualizations."));N("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},p("chartsPurple","The purple color used in chart visualizations."));const J6=N("input.background",{dark:"#3C3C3C",light:Z.white,hcDark:Z.black,hcLight:Z.white},p("inputBoxBackground","Input box background.")),eB=N("input.foreground",dt,p("inputBoxForeground","Input box foreground.")),tB=N("input.border",{dark:null,light:null,hcDark:Ye,hcLight:Ye},p("inputBoxBorder","Input box border.")),sA=N("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:Ye,hcLight:Ye},p("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),iB=N("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},p("inputOption.hoverBackground","Background color of activated options in input fields.")),oA=N("inputOption.activeBackground",{dark:Me(Vo,.4),light:Me(Vo,.2),hcDark:Z.transparent,hcLight:Z.transparent},p("inputOption.activeBackground","Background hover color of options in input fields.")),rA=N("inputOption.activeForeground",{dark:Z.white,light:Z.black,hcDark:dt,hcLight:dt},p("inputOption.activeForeground","Foreground color of activated options in input fields."));N("input.placeholderForeground",{light:Me(dt,.5),dark:Me(dt,.5),hcDark:Me(dt,.7),hcLight:Me(dt,.7)},p("inputPlaceholderForeground","Input box foreground color for placeholder text."));const nB=N("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Z.black,hcLight:Z.white},p("inputValidationInfoBackground","Input validation background color for information severity.")),sB=N("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:dt},p("inputValidationInfoForeground","Input validation foreground color for information severity.")),oB=N("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:Ye,hcLight:Ye},p("inputValidationInfoBorder","Input validation border color for information severity.")),rB=N("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Z.black,hcLight:Z.white},p("inputValidationWarningBackground","Input validation background color for warning severity.")),aB=N("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:dt},p("inputValidationWarningForeground","Input validation foreground color for warning severity.")),lB=N("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:Ye,hcLight:Ye},p("inputValidationWarningBorder","Input validation border color for warning severity.")),cB=N("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Z.black,hcLight:Z.white},p("inputValidationErrorBackground","Input validation background color for error severity.")),hB=N("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:dt},p("inputValidationErrorForeground","Input validation foreground color for error severity.")),dB=N("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:Ye,hcLight:Ye},p("inputValidationErrorBorder","Input validation border color for error severity.")),Ab=N("dropdown.background",{dark:"#3C3C3C",light:Z.white,hcDark:Z.black,hcLight:Z.white},p("dropdownBackground","Dropdown background.")),uB=N("dropdown.listBackground",{dark:null,light:null,hcDark:Z.black,hcLight:Z.white},p("dropdownListBackground","Dropdown list background.")),kk=N("dropdown.foreground",{dark:"#F0F0F0",light:dt,hcDark:Z.white,hcLight:dt},p("dropdownForeground","Dropdown foreground.")),xk=N("dropdown.border",{dark:Ab,light:"#CECECE",hcDark:Ye,hcLight:Ye},p("dropdownBorder","Dropdown border.")),aA=N("button.foreground",Z.white,p("buttonForeground","Button foreground color.")),fB=N("button.separator",Me(aA,.4),p("buttonSeparator","Button separator color.")),xu=N("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},p("buttonBackground","Button background color.")),gB=N("button.hoverBackground",{dark:Js(xu,.2),light:Wc(xu,.2),hcDark:xu,hcLight:xu},p("buttonHoverBackground","Button background color when hovering.")),mB=N("button.border",Ye,p("buttonBorder","Button border color.")),pB=N("button.secondaryForeground",{dark:Z.white,light:Z.white,hcDark:Z.white,hcLight:dt},p("buttonSecondaryForeground","Secondary button foreground color.")),$v=N("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Z.white},p("buttonSecondaryBackground","Secondary button background color.")),_B=N("button.secondaryHoverBackground",{dark:Js($v,.2),light:Wc($v,.2),hcDark:null,hcLight:null},p("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),Du=N("radio.activeForeground",rA,p("radioActiveForeground","Foreground color of active radio option.")),bB=N("radio.activeBackground",oA,p("radioBackground","Background color of active radio option.")),CB=N("radio.activeBorder",sA,p("radioActiveBorder","Border color of the active radio option.")),wB=N("radio.inactiveForeground",null,p("radioInactiveForeground","Foreground color of inactive radio option.")),vB=N("radio.inactiveBackground",null,p("radioInactiveBackground","Background color of inactive radio option.")),SB=N("radio.inactiveBorder",{light:Me(Du,.2),dark:Me(Du,.2),hcDark:Me(Du,.4),hcLight:Me(Du,.2)},p("radioInactiveBorder","Border color of the inactive radio option.")),yB=N("radio.inactiveHoverBackground",iB,p("radioHoverBackground","Background color of inactive active radio option when hovering.")),LB=N("checkbox.background",Ab,p("checkbox.background","Background color of checkbox widget."));N("checkbox.selectBackground",Es,p("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const kB=N("checkbox.foreground",kk,p("checkbox.foreground","Foreground color of checkbox widget.")),xB=N("checkbox.border",xk,p("checkbox.border","Border color of checkbox widget."));N("checkbox.selectBorder",Bv,p("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const DB=N("keybindingLabel.background",{dark:new Z(new Ke(128,128,128,.17)),light:new Z(new Ke(221,221,221,.4)),hcDark:Z.transparent,hcLight:Z.transparent},p("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),EB=N("keybindingLabel.foreground",{dark:Z.fromHex("#CCCCCC"),light:Z.fromHex("#555555"),hcDark:Z.white,hcLight:dt},p("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),IB=N("keybindingLabel.border",{dark:new Z(new Ke(51,51,51,.6)),light:new Z(new Ke(204,204,204,.4)),hcDark:new Z(new Ke(111,195,223)),hcLight:Ye},p("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),NB=N("keybindingLabel.bottomBorder",{dark:new Z(new Ke(68,68,68,.6)),light:new Z(new Ke(187,187,187,.4)),hcDark:new Z(new Ke(111,195,223)),hcLight:dt},p("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),TB=N("list.focusBackground",null,p("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),MB=N("list.focusForeground",null,p("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),RB=N("list.focusOutline",{dark:Vo,light:Vo,hcDark:$t,hcLight:$t},p("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),AB=N("list.focusAndSelectionOutline",null,p("listFocusAndSelectionOutline","List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),yc=N("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Z.fromHex("#0F4A85").transparent(.1)},p("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Kf=N("list.activeSelectionForeground",{dark:Z.white,light:Z.white,hcDark:null,hcLight:null},p("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),lA=N("list.activeSelectionIconForeground",null,p("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),PB=N("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Z.fromHex("#0F4A85").transparent(.1)},p("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),OB=N("list.inactiveSelectionForeground",null,p("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),FB=N("list.inactiveSelectionIconForeground",null,p("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),BB=N("list.inactiveFocusBackground",null,p("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),WB=N("list.inactiveFocusOutline",null,p("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),cA=N("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Z.white.transparent(.1),hcLight:Z.fromHex("#0F4A85").transparent(.1)},p("listHoverBackground","List/Tree background when hovering over items using the mouse.")),hA=N("list.hoverForeground",null,p("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),VB=N("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},p("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),HB=N("list.dropBetweenBackground",{dark:Bv,light:Bv,hcDark:null,hcLight:null},p("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),bm=N("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:Vo,hcLight:Vo},p("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),Eie=N("list.focusHighlightForeground",{dark:bm,light:D6(yc,bm,"#BBE7FF"),hcDark:bm,hcLight:bm},p("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));N("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},p("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer."));N("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},p("listErrorForeground","Foreground color of list items containing errors."));N("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},p("listWarningForeground","Foreground color of list items containing warnings."));const zB=N("listFilterWidget.background",{light:Wc(Es,0),dark:Js(Es,0),hcDark:Es,hcLight:Es},p("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),UB=N("listFilterWidget.outline",{dark:Z.transparent,light:Z.transparent,hcDark:"#f38518",hcLight:"#007ACC"},p("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),$B=N("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:Ye,hcLight:Ye},p("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),KB=N("listFilterWidget.shadow",Fg,p("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));N("list.filterMatchBackground",{dark:ya,light:ya,hcDark:null,hcLight:null},p("listFilterMatchHighlight","Background color of the filtered match."));N("list.filterMatchBorder",{dark:wh,light:wh,hcDark:Ye,hcLight:$t},p("listFilterMatchHighlightBorder","Border color of the filtered match."));N("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},p("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const dA=N("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},p("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),qB=N("tree.inactiveIndentGuidesStroke",Me(dA,.4),p("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),jB=N("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},p("tableColumnsBorder","Table border color between columns.")),GB=N("tree.tableOddRowsBackground",{dark:Me(dt,.04),light:Me(dt,.04),hcDark:null,hcLight:null},p("tableOddRowsBackgroundColor","Background color for odd table rows."));N("editorActionList.background",Es,p("editorActionListBackground","Action List background color."));N("editorActionList.foreground",Rb,p("editorActionListForeground","Action List foreground color."));N("editorActionList.focusForeground",Kf,p("editorActionListFocusForeground","Action List foreground color for the focused item."));N("editorActionList.focusBackground",yc,p("editorActionListFocusBackground","Action List background color for the focused item."));const ZB=N("menu.border",{dark:null,light:null,hcDark:Ye,hcLight:Ye},p("menuBorder","Border color of menus.")),YB=N("menu.foreground",kk,p("menuForeground","Foreground color of menu items.")),QB=N("menu.background",Ab,p("menuBackground","Background color of menu items.")),XB=N("menu.selectionForeground",Kf,p("menuSelectionForeground","Foreground color of the selected menu item in menus.")),JB=N("menu.selectionBackground",yc,p("menuSelectionBackground","Background color of the selected menu item in menus.")),eW=N("menu.selectionBorder",{dark:null,light:null,hcDark:$t,hcLight:$t},p("menuSelectionBorder","Border color of the selected menu item in menus.")),tW=N("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:Ye,hcLight:Ye},p("menuSeparatorBackground","Color of a separator menu item in menus.")),CE=N("quickInput.background",Es,p("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),iW=N("quickInput.foreground",Rb,p("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),nW=N("quickInputTitle.background",{dark:new Z(new Ke(255,255,255,.105)),light:new Z(new Ke(0,0,0,.06)),hcDark:"#000000",hcLight:Z.white},p("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),uA=N("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Z.white,hcLight:"#0F4A85"},p("pickerGroupForeground","Quick picker color for grouping labels.")),sW=N("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Z.white,hcLight:"#0F4A85"},p("pickerGroupBorder","Quick picker color for grouping borders.")),wE=N("quickInput.list.focusBackground",null,"",void 0,p("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),Kv=N("quickInputList.focusForeground",Kf,p("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),fA=N("quickInputList.focusIconForeground",lA,p("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),qv=N("quickInputList.focusBackground",{dark:cE(wE,yc),light:cE(wE,yc),hcDark:null,hcLight:null},p("quickInput.listFocusBackground","Quick picker background color for the focused item."));N("search.resultsInfoForeground",{light:dt,dark:Me(dt,.65),hcDark:dt,hcLight:dt},p("search.resultsInfoForeground","Color of the text in the search viewlet's completion message."));N("searchEditor.findMatchBackground",{light:Me(ya,.66),dark:Me(ya,.66),hcDark:ya,hcLight:ya},p("searchEditor.queryMatch","Color of the Search Editor query matches."));N("searchEditor.findMatchBorder",{light:Me(wh,.66),dark:Me(wh,.66),hcDark:wh,hcLight:wh},p("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));var oW=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},vE=function(s,e){return function(t,i){e(t,i,s)}};const Bg=Be("hoverService");let qf=class extends K{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},n,o){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=n,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new ae),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(r=>{r.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(e,t){const i=typeof this.overrideOptions=="function"?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const n=ui(e.target)?[e.target]:e.target.targetElements;for(const r of n)this.hoverDisposables.add(di(r,"keydown",a=>{a.equals(9)&&this.hoverService.hideHover()}));const o=ui(e.content)?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:o,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime{try{e.releasePointerCapture(t)}catch{}}))}catch{r=ue(e)}this._hooks.add($(r,J.POINTER_MOVE,a=>{if(a.buttons!==i){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add($(r,J.POINTER_UP,a=>this.stopMonitoring(!0)))}}function Bt(s,e,t){let i=null,n=null;if(typeof t.value=="function"?(i="value",n=t.value,n.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof t.get=="function"&&(i="get",n=t.get),!n)throw new Error("not supported");const o=`$memoize$${e}`;t[i]=function(...r){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,r)}),this[o]}}var rW=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},pt;(function(s){s.Tap="-monaco-gesturetap",s.Change="-monaco-gesturechange",s.Start="-monaco-gesturestart",s.End="-monaco-gesturesend",s.Contextmenu="-monaco-gesturecontextmenu"})(pt||(pt={}));const Di=class Di extends K{constructor(){super(),this.dispatched=!1,this.targets=new Dn,this.ignoreTargets=new Dn,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(Q.runAndSubscribe(_b,({window:e,disposables:t})=>{t.add($(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add($(e.document,"touchend",i=>this.onTouchEnd(e,i))),t.add($(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:ht,disposables:this._store}))}static addTarget(e){if(!Di.isTouchDevice())return K.None;Di.INSTANCE||(Di.INSTANCE=new Di);const t=Di.INSTANCE.targets.push(e);return ve(t)}static ignoreTarget(e){if(!Di.isTouchDevice())return K.None;Di.INSTANCE||(Di.INSTANCE=new Di);const t=Di.INSTANCE.ignoreTargets.push(e);return ve(t)}static isTouchDevice(){return"ontouchstart"in ht||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=e.targetTouches.length;i=Di.HOLD_DELAY&&Math.abs(l.initialPageX-is(l.rollingPageX))<30&&Math.abs(l.initialPageY-is(l.rollingPageY))<30){const h=this.newGestureEvent(pt.Contextmenu,l.initialTarget);h.pageX=is(l.rollingPageX),h.pageY=is(l.rollingPageY),this.dispatchEvent(h)}else if(n===1){const h=is(l.rollingPageX),d=is(l.rollingPageY),u=is(l.rollingTimestamps)-l.rollingTimestamps[0],f=h-l.rollingPageX[0],g=d-l.rollingPageY[0],m=[...this.targets].filter(_=>l.initialTarget instanceof Node&&_.contains(l.initialTarget));this.inertia(e,m,i,Math.abs(f)/u,f>0?1:-1,h,Math.abs(g)/u,g>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(pt.End,l.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===pt.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>Di.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,e.tapCount=i}else(e.type===pt.Change||e.type===pt.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let n=0,o=e.initialTarget;for(;o&&o!==i;)n++,o=o.parentElement;t.push([n,i])}t.sort((i,n)=>i[0]-n[0]);for(const[i,n]of t)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,n,o,r,a,l,c){this.handle=Tn(e,()=>{const h=Date.now(),d=h-i;let u=0,f=0,g=!0;n+=Di.SCROLL_FRICTION*d,a+=Di.SCROLL_FRICTION*d,n>0&&(g=!1,u=o*n*d),a>0&&(g=!1,f=l*a*d);const m=this.newGestureEvent(pt.Change);m.translationX=u,m.translationY=f,t.forEach(_=>_.dispatchEvent(m)),g||this.inertia(e,t,h,n,o,r+u,a,l,c+f)})}onTouchMove(e){const t=Date.now();for(let i=0,n=e.changedTouches.length;i3&&(r.rollingPageX.shift(),r.rollingPageY.shift(),r.rollingTimestamps.shift()),r.rollingPageX.push(o.pageX),r.rollingPageY.push(o.pageY),r.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};Di.SCROLL_FRICTION=-.005,Di.HOLD_DELAY=700,Di.CLEAR_TAP_COUNT_TIME=400;let sn=Di;rW([Bt],sn,"isTouchDevice",null);let Zr=class extends K{onclick(e,t){this._register($(e,J.CLICK,i=>t(new Qs(ue(e),i))))}onmousedown(e,t){this._register($(e,J.MOUSE_DOWN,i=>t(new Qs(ue(e),i))))}onmouseover(e,t){this._register($(e,J.MOUSE_OVER,i=>t(new Qs(ue(e),i))))}onmouseleave(e,t){this._register($(e,J.MOUSE_LEAVE,i=>t(new Qs(ue(e),i))))}onkeydown(e,t){this._register($(e,J.KEY_DOWN,i=>t(new vt(i))))}onkeyup(e,t){this._register($(e,J.KEY_UP,i=>t(new vt(i))))}oninput(e,t){this._register($(e,J.INPUT,t))}onblur(e,t){this._register($(e,J.BLUR,t))}onfocus(e,t){this._register($(e,J.FOCUS,t))}ignoreGesture(e){return sn.ignoreTarget(e)}};const kd=11;class aW extends Zr{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...Ue.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=kd+"px",this.domNode.style.height=kd+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new Pb),this._register(di(this.bgDomNode,J.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(di(this.domNode,J.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new YL),this._pointerdownScheduleRepeatTimer=this._register(new Mc)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,ue(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}}class lW extends K{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Mc)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?" fade":"")))}}const cW=140;class gA extends Zr{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new lW(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Pb),this._shouldRender=!0,this.domNode=qe(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register($(this.domNode.domNode,J.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){const t=this._register(new aW(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,n){this.slider=qe(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof n=="number"&&this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register($(this.slider.domNode,J.POINTER_DOWN,o=>{o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))})),this.onclick(this.slider.domNode,o=>{o.leftButton&&o.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);i<=o&&o<=n?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{const o=ds(this.domNode.domNode);t=e.pageX-o.left,i=e.pageY-o.top}const n=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),n=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>{const r=this._sliderOrthogonalPointerPosition(o),a=Math.abs(r-i);if(gn&&a>cW){this._setDesiredScrollPositionNow(n.getScrollPosition());return}const c=this._sliderPointerPosition(o)-t;this._setDesiredScrollPositionNow(n.getDesiredScrollPositionFromDelta(c))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const hW=20;class xd{constructor(e,t,i,n,o,r){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=n,this._scrollSize=o,this._scrollPosition=r,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new xd(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t?(this._visibleSize=t,this._refreshComputedValues(),!0):!1}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t?(this._scrollSize=t,this._refreshComputedValues(),!0):!1}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t?(this._scrollPosition=t,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,n,o){const r=Math.max(0,i-e),a=Math.max(0,r-2*t),l=n>0&&n>i;if(!l)return{computedAvailableSize:Math.round(r),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:0,computedSliderPosition:0};const c=Math.round(Math.max(hW,Math.floor(i*a/n))),h=(a-c)/(n-i),d=o*h;return{computedAvailableSize:Math.round(r),computedIsNeeded:l,computedSliderSize:Math.round(c),computedSliderRatio:h,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=xd._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new _c(null,1,0))}),this._createArrow({className:"scra",icon:re.scrollbarButtonRight,top:a,left:void 0,bottom:void 0,right:r,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new _c(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class uW extends gA{constructor(e,t,i){const n=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new xd(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,n.height,n.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const r=(t.arrowSize-kd)/2,a=(t.verticalScrollbarSize-kd)/2;this._createArrow({className:"scra",icon:re.scrollbarButtonUp,top:r,left:a,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new _c(null,0,1))}),this._createArrow({className:"scra",icon:re.scrollbarButtonDown,top:void 0,left:a,bottom:r,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new _c(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class o_{constructor(e,t,i,n,o,r,a){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t=t|0,i=i|0,n=n|0,o=o|0,r=r|0,a=a|0),this.rawScrollLeft=n,this.rawScrollTop=a,t<0&&(t=0),n+t>i&&(n=i-t),n<0&&(n=0),o<0&&(o=0),a+o>r&&(a=r-o),a<0&&(a=0),this.width=t,this.scrollWidth=i,this.scrollLeft=n,this.height=o,this.scrollHeight=r,this.scrollTop=a}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new o_(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new o_(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,r=this.height!==e.height,a=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:o,heightChanged:r,scrollHeightChanged:a,scrollTopChanged:l}}}class Vd extends K{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new A),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new o_(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let n;t?n=new jf(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):n=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{const i=this._state.withScrollPosition(e);this._smoothScrolling=jf.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class SE{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function K0(s,e){const t=e-s;return function(i){return s+t*mW(i)}}function fW(s,e,t){return function(i){return i2.5*i){let o,r;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),t){const n=Math.abs(e.deltaX),o=Math.abs(e.deltaY),r=Math.abs(t.deltaX),a=Math.abs(t.deltaY),l=Math.max(Math.min(n,r),1),c=Math.max(Math.min(o,a),1),h=Math.max(n,r),d=Math.max(o,a);h%l===0&&d%c===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};I1.INSTANCE=new I1;let r_=I1;class Dk extends Zr{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new A),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new A),e.style.overflow="hidden",this._options=CW(t),this._scrollable=i,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));const n={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new uW(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new dW(this._scrollable,this._options,n)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=qe(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=qe(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=qe(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new Mc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=wi(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Ve&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new _c(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=wi(this._mouseWheelToDispose),e)){const i=n=>{this._onMouseWheel(new _c(n))};this._mouseWheelToDispose.push($(this._listenOnDomNode,J.MOUSE_WHEEL,i,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;const t=r_.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let o=e.deltaY*this._options.mouseWheelScrollSensitivity,r=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&r+o===0?r=o=0:Math.abs(o)>=Math.abs(r)?r=0:o=0),this._options.flipAxes&&([o,r]=[r,o]);const a=!Ve&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!r&&(r=o,o=0),e.browserEvent&&e.browserEvent.altKey&&(r=r*this._options.fastScrollSensitivity,o=o*this._options.fastScrollSensitivity);const l=this._scrollable.getFutureScrollPosition();let c={};if(o){const h=yE*o,d=l.scrollTop-(h<0?Math.floor(h):Math.ceil(h));this._verticalScrollbar.writeScrollPosition(c,d)}if(r){const h=yE*r,d=l.scrollLeft-(h<0?Math.floor(h):Math.ceil(h));this._horizontalScrollbar.writeScrollPosition(c,d)}c=this._scrollable.validateScrollPosition(c),(l.scrollLeft!==c.scrollLeft||l.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),i=!0)}let n=i;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,n=i?" left":"",o=t?" top":"",r=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${r}${o}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),pW)}}class bW extends Dk{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new Vd({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:n=>Tn(ue(e),n)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class Ob extends Dk{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Ek extends Dk{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new Vd({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:n=>Tn(ue(e),n)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(n=>{n.scrollTopChanged&&(this._element.scrollTop=n.scrollTop),n.scrollLeftChanged&&(this._element.scrollLeft=n.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function CW(s){const e={lazyRender:typeof s.lazyRender<"u"?s.lazyRender:!1,className:typeof s.className<"u"?s.className:"",useShadows:typeof s.useShadows<"u"?s.useShadows:!0,handleMouseWheel:typeof s.handleMouseWheel<"u"?s.handleMouseWheel:!0,flipAxes:typeof s.flipAxes<"u"?s.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof s.consumeMouseWheelIfScrollbarIsNeeded<"u"?s.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof s.alwaysConsumeMouseWheel<"u"?s.alwaysConsumeMouseWheel:!1,scrollYToX:typeof s.scrollYToX<"u"?s.scrollYToX:!1,mouseWheelScrollSensitivity:typeof s.mouseWheelScrollSensitivity<"u"?s.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof s.fastScrollSensitivity<"u"?s.fastScrollSensitivity:5,scrollPredominantAxis:typeof s.scrollPredominantAxis<"u"?s.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof s.mouseWheelSmoothScroll<"u"?s.mouseWheelSmoothScroll:!0,arrowSize:typeof s.arrowSize<"u"?s.arrowSize:11,listenOnDomNode:typeof s.listenOnDomNode<"u"?s.listenOnDomNode:null,horizontal:typeof s.horizontal<"u"?s.horizontal:1,horizontalScrollbarSize:typeof s.horizontalScrollbarSize<"u"?s.horizontalScrollbarSize:10,horizontalSliderSize:typeof s.horizontalSliderSize<"u"?s.horizontalSliderSize:0,horizontalHasArrows:typeof s.horizontalHasArrows<"u"?s.horizontalHasArrows:!1,vertical:typeof s.vertical<"u"?s.vertical:1,verticalScrollbarSize:typeof s.verticalScrollbarSize<"u"?s.verticalScrollbarSize:10,verticalHasArrows:typeof s.verticalHasArrows<"u"?s.verticalHasArrows:!1,verticalSliderSize:typeof s.verticalSliderSize<"u"?s.verticalSliderSize:0,scrollByPage:typeof s.scrollByPage<"u"?s.scrollByPage:!1};return e.horizontalSliderSize=typeof s.horizontalSliderSize<"u"?s.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof s.verticalSliderSize<"u"?s.verticalSliderSize:e.verticalScrollbarSize,Ve&&(e.className+=" mac"),e}const Cm=pe;let wW=class extends K{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new Ek(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}};class Ik extends K{static render(e,t,i){return new Ik(e,t,i)}constructor(e,t,i){super(),this.actionLabel=t.label,this.actionKeybindingLabel=i,this.actionContainer=le(e,Cm("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=le(this.actionContainer,Cm("a.action")),this.action.setAttribute("role","button"),t.iconClass&&le(this.action,Cm(`span.icon.${t.iconClass}`));const n=le(this.action,Cm("span"));n.textContent=i?`${t.label} (${i})`:t.label,this._store.add(new SW(this.actionContainer,t.run)),this._store.add(new yW(this.actionContainer,t.run,[3,10])),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function vW(s,e){return s&&e?p("acessibleViewHint","Inspect this in the accessible view with {0}.",e):s?p("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class SW extends K{constructor(e,t){super(),this._register($(e,J.CLICK,i=>{i.stopPropagation(),i.preventDefault(),t(e)}))}}class yW extends K{constructor(e,t,i){super(),this._register($(e,J.KEY_DOWN,n=>{const o=new vt(n);i.some(r=>o.equals(r))&&(n.stopPropagation(),n.preventDefault(),t(e))}))}}const Vg=Be("openerService");function LW(s){let e;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(s.fragment);return t&&(e={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},s=s.with({fragment:""})),{selection:e,uri:s}}class Te{get event(){return this.emitter.event}constructor(e,t,i){const n=o=>this.emitter.fire(o);this.emitter=new A({onWillAddFirstListener:()=>e.addEventListener(t,n,i),onDidRemoveLastListener:()=>e.removeEventListener(t,n,i)})}dispose(){this.emitter.dispose()}}function kW(s,e={}){const t=Nk(e);return t.textContent=s,t}function xW(s,e={}){const t=Nk(e);return mA(t,EW(s,!!e.renderCodeSegments),e.actionHandler,e.renderCodeSegments),t}function Nk(s){const e=s.inline?"span":"div",t=document.createElement(e);return s.className&&(t.className=s.className),t}class DW{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function mA(s,e,t,i){let n;if(e.type===2)n=document.createTextNode(e.content||"");else if(e.type===3)n=document.createElement("b");else if(e.type===4)n=document.createElement("i");else if(e.type===7&&i)n=document.createElement("code");else if(e.type===5&&t){const o=document.createElement("a");t.disposables.add(di(o,"click",r=>{t.callback(String(e.index),r)})),n=o}else e.type===8?n=document.createElement("br"):e.type===1&&(n=s);n&&s!==n&&s.appendChild(n),n&&Array.isArray(e.children)&&e.children.forEach(o=>{mA(n,o,t,i)})}function EW(s,e){const t={type:1,children:[]};let i=0,n=t;const o=[],r=new DW(s);for(;!r.eos();){let a=r.next();const l=a==="\\"&&jv(r.peek(),e)!==0;if(l&&(a=r.next()),!l&&IW(a,e)&&a===r.peek()){r.advance(),n.type===2&&(n=o.pop());const c=jv(a,e);if(n.type===c||n.type===5&&c===6)n=o.pop();else{const h={type:c,children:[]};c===5&&(h.index=i,i++),n.children.push(h),o.push(n),n=h}}else if(a===` `)n.type===2&&(n=o.pop()),n.children.push({type:8});else if(n.type!==2){const c={type:2,content:a};n.children.push(c),o.push(n),n=c}else n.content+=a}return n.type===2&&(n=o.pop()),t}function IW(s,e){return jv(s,e)!==0}function jv(s,e){switch(s){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return e?7:0;default:return 0}}const NW=new RegExp(`(\\\\)?\\$\\((${Ue.iconNameExpression}(?:${Ue.iconModifierExpression})?)\\)`,"g");function Ql(s){const e=new Array;let t,i=0,n=0;for(;(t=NW.exec(s))!==null;){n=t.index||0,i0)return new Uint32Array(e)}let Bn=0;const pa=new Uint32Array(10);function MW(s){if(Bn=0,po(s,q0,4352),Bn>0||(po(s,j0,4449),Bn>0)||(po(s,G0,4520),Bn>0)||(po(s,ll,12593),Bn))return pa.subarray(0,Bn);if(s>=44032&&s<=55203){const e=s-44032,t=e%588,i=Math.floor(e/588),n=Math.floor(t/28),o=t%28-1;if(i=0&&(o0)return pa.subarray(0,Bn)}}function po(s,e,t){s>=t&&s>8&&(pa[Bn++]=s>>8&255),s>>16&&(pa[Bn++]=s>>16&255))}const q0=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),j0=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),G0=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),ll=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function pA(...s){return function(e,t){for(let i=0,n=s.length;i0?[{start:0,end:e.length}]:[]:null}function AW(s,e){const t=e.toLowerCase().indexOf(s.toLowerCase());return t===-1?null:[{start:t,end:t+s.length}]}function PW(s,e){return Gv(s.toLowerCase(),e.toLowerCase(),0,0)}function Gv(s,e,t,i){if(t===s.length)return[];if(i===e.length)return null;if(s[t]===e[i]){let n=null;return(n=Gv(s,e,t+1,i+1))?Rk({start:i,end:i+1},n):null}return Gv(s,e,t,i+1)}function Tk(s){return 97<=s&&s<=122}function Fb(s){return 65<=s&&s<=90}function Mk(s){return 48<=s&&s<=57}function bA(s){return s===32||s===9||s===10||s===13}const CA=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(s=>CA.add(s.charCodeAt(0)));function c_(s){return bA(s)||CA.has(s)}function LE(s,e){return s===e||c_(s)&&c_(e)}const Z0=new Map;function kE(s){if(Z0.has(s))return Z0.get(s);let e;const t=TW(s);return t&&(e=t),Z0.set(s,e),e}function wA(s){return Tk(s)||Fb(s)||Mk(s)}function Rk(s,e){return e.length===0?e=[s]:s.end===e[0].start?e[0].start=s.start:e.unshift(s),e}function vA(s,e){for(let t=e;t0&&!wA(s.charCodeAt(t-1)))return t}return s.length}function Zv(s,e,t,i){if(t===s.length)return[];if(i===e.length)return null;if(s[t]!==e[i].toLowerCase())return null;{let n=null,o=i+1;for(n=Zv(s,e,t+1,i+1);!n&&(o=vA(e,o)).6}function BW(s){const{upperPercent:e,lowerPercent:t,alphaPercent:i,numericPercent:n}=s;return t>.2&&e<.8&&i>.6&&n<.2}function WW(s){let e=0,t=0,i=0,n=0;for(let o=0;o60&&(e=e.substring(0,60));const t=OW(e);if(!BW(t)){if(!FW(t))return null;e=e.toLowerCase()}let i=null,n=0;for(s=s.toLowerCase();n0&&c_(s.charCodeAt(t-1)))return t;return s.length}const VW=pA(l_,SA,AW),HW=pA(l_,SA,PW),xE=new Pg(1e4);function DE(s,e,t=!1){if(typeof s!="string"||typeof e!="string")return null;let i=xE.get(s);i||(i=new RegExp(x7(s),"i"),xE.set(s,i));const n=i.exec(e);return n?[{start:n.index,end:n.index+n[0].length}]:t?HW(s,e):VW(s,e)}function zW(s,e){const t=Gf(s,s.toLowerCase(),0,e,e.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return t?UW(t):null}function Rie(s,e,t,i,n,o){const r=Math.min(13,s.length);for(;t"u")return[];const e=[],t=s[1];for(let i=s.length-1;i>1;i--){const n=s[i]+t,o=e[e.length-1];o&&o.end===n?o.end=n+1:e.push({start:n,end:n+1})}return e}const La=128;function Ak(){const s=[],e=[];for(let t=0;t<=La;t++)e[t]=0;for(let t=0;t<=La;t++)s.push(e.slice(0));return s}function LA(s){const e=[];for(let t=0;t<=s;t++)e[t]=0;return e}const kA=LA(2*La),Qv=LA(2*La),Jo=Ak(),cl=Ak(),wm=Ak();function vm(s,e){if(e<0||e>=s.length)return!1;const t=s.codePointAt(e);switch(t){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!$L(t)}}function EE(s,e){if(e<0||e>=s.length)return!1;switch(s.charCodeAt(e)){case 32:case 9:return!0;default:return!1}}function lp(s,e,t){return e[s]!==t[s]}function $W(s,e,t,i,n,o,r=!1){for(;eLa?La:s.length,l=i.length>La?La:i.length;if(t>=a||o>=l||a-t>l-o||!$W(e,t,a,n,o,l,!0))return;KW(a,l,t,o,e,n);let c=1,h=1,d=t,u=o;const f=[!1];for(c=1,d=t;dC,E=D?cl[c][h-1]+(Jo[c][h-1]>0?-5:0):0,U=u>C+1&&Jo[c][h-1]>0,O=U?cl[c][h-2]+(Jo[c][h-2]>0?-5:0):0;if(U&&(!D||O>=E)&&(!L||O>=k))cl[c][h]=O,wm[c][h]=3,Jo[c][h]=0;else if(D&&(!L||E>=k))cl[c][h]=E,wm[c][h]=2,Jo[c][h]=0;else if(L)cl[c][h]=k,wm[c][h]=1,Jo[c][h]=Jo[c-1][h-1]+1;else throw new Error("not possible")}}if(!f[0]&&!r.firstMatchCanBeWeak)return;c--,h--;const g=[cl[c][h],o];let m=0,_=0;for(;c>=1;){let C=h;do{const v=wm[c][C];if(v===3)C=C-2;else if(v===2)C=C-1;else break}while(C>=1);m>1&&e[t+c-1]===n[o+h-1]&&!lp(C+o-1,i,n)&&m+1>Jo[c][C]&&(C=h),C===h?m++:m=1,_||(_=C),c--,h=C-1,g.push(h)}l-o===a&&r.boostFullMatch&&(g[0]+=2);const b=_-a;return g[0]-=b,g}function KW(s,e,t,i,n,o){let r=s-1,a=e-1;for(;r>=t&&a>=i;)n[r]===o[a]&&(Qv[r]=a,r--),a--}function qW(s,e,t,i,n,o,r,a,l,c,h){if(e[t]!==o[r])return Number.MIN_SAFE_INTEGER;let d=1,u=!1;return r===t-i?d=s[t]===n[r]?7:5:lp(r,n,o)&&(r===0||!lp(r-1,n,o))?(d=s[t]===n[r]?7:5,u=!0):vm(o,r)&&(r===0||!vm(o,r-1))?d=5:(vm(o,r-1)||EE(o,r-1))&&(d=5,u=!0),d>1&&t===i&&(h[0]=!0),u||(u=lp(r,n,o)||vm(o,r-1)||EE(o,r-1)),t===i?r>l&&(d-=u?3:5):c?d+=u?2:0:d+=u?0:1,r+1===a&&(d-=u?3:5),d}function Aie(s,e,t,i,n,o,r){return jW(s,e,t,i,n,o,!0,r)}function jW(s,e,t,i,n,o,r,a){let l=Gf(s,e,t,i,n,o,a);if(s.length>=3){const c=Math.min(7,s.length-1);for(let h=t+1;hl[0])&&(l=u))}}}return l}function GW(s,e){if(e+1>=s.length)return;const t=s[e],i=s[e+1];if(t!==i)return s.slice(0,e)+i+t+s.slice(e+2)}const ZW="$(",Pk=new RegExp(`\\$\\(${Ue.iconNameExpression}(?:${Ue.iconModifierExpression})?\\)`,"g"),YW=new RegExp(`(\\\\)?${Pk.source}`,"g");function QW(s){return s.replace(YW,(e,t)=>t?e:`\\${e}`)}const XW=new RegExp(`\\\\${Pk.source}`,"g");function JW(s){return s.replace(XW,e=>`\\${e}`)}const eV=new RegExp(`(\\s)?(\\\\)?${Pk.source}(\\s)?`,"g");function xA(s){return s.indexOf(ZW)===-1?s:s.replace(eV,(e,t,i,n)=>i?e:t||n||"")}function tV(s){return s?s.replace(/\$\((.*?)\)/g,(e,t)=>` ${t} `).trim():""}const Y0=new RegExp(`\\$\\(${Ue.iconNameCharacter}+\\)`,"g");function Eu(s){Y0.lastIndex=0;let e="";const t=[];let i=0;for(;;){const n=Y0.lastIndex,o=Y0.exec(s),r=s.substring(n,o?.index);if(r.length>0){e+=r;for(let a=0;aeE(i).length&&i[i.length-1]===t}else{const i=e.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Ra){return TE(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Ra){let i=!1;if(e.scheme===Ie.file){const n=er(e);i=n!==void 0&&n.length===eE(n).length&&n[n.length-1]===t}else{t="/";const n=e.path;i=n.length===1&&n.charCodeAt(n.length-1)===47}return!i&&!TE(e,t)?e.with({path:e.path+"/"}):e}}const Dt=new iV(()=>!1),nV=Dt.isEqual.bind(Dt);Dt.isEqualOrParent.bind(Dt);Dt.getComparisonKey.bind(Dt);const Pie=Dt.basenameOrAuthority.bind(Dt),Ok=Dt.basename.bind(Dt),Oie=Dt.extname.bind(Dt),sV=Dt.dirname.bind(Dt),Fie=Dt.joinPath.bind(Dt),oV=Dt.normalizePath.bind(Dt),Bie=Dt.relativePath.bind(Dt),IE=Dt.resolvePath.bind(Dt);Dt.isAbsolutePath.bind(Dt);const NE=Dt.isEqualAuthority.bind(Dt),TE=Dt.hasTrailingPathSeparator.bind(Dt);Dt.removeTrailingPathSeparator.bind(Dt);Dt.addTrailingPathSeparator.bind(Dt);var h_;(function(s){s.META_DATA_LABEL="label",s.META_DATA_DESCRIPTION="description",s.META_DATA_SIZE="size",s.META_DATA_MIME="mime";function e(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(r=>{const[a,l]=r.split(":");a&&l&&i.set(a,l)});const o=t.path.substring(0,t.path.indexOf(";"));return o&&i.set(s.META_DATA_MIME,o),i}s.parseMetaData=e})(h_||(h_={}));class DA{constructor(e="",t=!1){if(this.value=e,typeof this.value!="string")throw ub("value");typeof t=="boolean"?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=t.isTrusted??void 0,this.supportThemeIcons=t.supportThemeIcons??!1,this.supportHtml=t.supportHtml??!1)}appendText(e,t=0){return this.value+=lV(this.supportThemeIcons?QW(e):e).replace(/([ \t]+)/g,(i,n)=>" ".repeat(n.length)).replace(/\>/gm,"\\>").replace(/\n/g,t===1?`\\ `:` `),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=` ${cV(t,e)} `,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp($r(t),"g");return e.replace(i,(n,o)=>e.charAt(o-1)!=="\\"?`\\${n}`:n)}}function rV(s){return Xl(s)?!s.value:Array.isArray(s)?s.every(rV):!0}function Xl(s){return s instanceof DA?!0:s&&typeof s=="object"?typeof s.value=="string"&&(typeof s.isTrusted=="boolean"||typeof s.isTrusted=="object"||s.isTrusted===void 0)&&(typeof s.supportThemeIcons=="boolean"||s.supportThemeIcons===void 0):!1}function aV(s,e){return s===e?!0:!s||!e?!1:s.value===e.value&&s.isTrusted===e.isTrusted&&s.supportThemeIcons===e.supportThemeIcons&&s.supportHtml===e.supportHtml&&(s.baseUri===e.baseUri||!!s.baseUri&&!!e.baseUri&&nV(De.from(s.baseUri),De.from(e.baseUri)))}function lV(s){return s.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function cV(s,e){const t=s.match(/^`+/gm)?.reduce((n,o)=>n.length>o.length?n:o).length??0,i=t>=3?t+1:3;return[`${"`".repeat(i)}${e}`,s,`${"`".repeat(i)}`].join(` `)}function Sm(s){return s.replace(/"/g,""")}function X0(s){return s&&s.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function hV(s){const e=[],t=s.split("|").map(n=>n.trim());s=t[0];const i=t[1];if(i){const n=/height=(\d+)/.exec(i),o=/width=(\d+)/.exec(i),r=n?n[1]:"",a=o?o[1]:"",l=isFinite(parseInt(a)),c=isFinite(parseInt(r));l&&e.push(`width="${a}"`),c&&e.push(`height="${r}"`)}return{href:s,dimensions:e}}class EA{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const ME=new EA("id#");let Wi={};(function(){function s(e,t){t(Wi)}s.amd=!0,function(e,t){typeof s=="function"&&s.amd?s(["exports"],t):typeof exports=="object"&&typeof module<"u"?t(exports):(e=typeof globalThis<"u"?globalThis:e||self,t(e.marked={}))}(this,function(e){function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}e.defaults=t();function i(Ae){e.defaults=Ae}const n=/[&<>"']/,o=new RegExp(n.source,"g"),r=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,a=new RegExp(r.source,"g"),l={"&":"&","<":"<",">":">",'"':""","'":"'"},c=Ae=>l[Ae];function h(Ae,I){if(I){if(n.test(Ae))return Ae.replace(o,c)}else if(r.test(Ae))return Ae.replace(a,c);return Ae}const d=/(^|[^\[])\^/g;function u(Ae,I){let T=typeof Ae=="string"?Ae:Ae.source;I=I||"";const M={replace:(P,V)=>{let j=typeof V=="string"?V:V.source;return j=j.replace(d,"$1"),T=T.replace(P,j),M},getRegex:()=>new RegExp(T,I)};return M}function f(Ae){try{Ae=encodeURI(Ae).replace(/%25/g,"%")}catch{return null}return Ae}const g={exec:()=>null};function m(Ae,I){const T=Ae.replace(/\|/g,(V,j,Y)=>{let de=!1,_e=j;for(;--_e>=0&&Y[_e]==="\\";)de=!de;return de?"|":" |"}),M=T.split(/ \|/);let P=0;if(M[0].trim()||M.shift(),M.length>0&&!M[M.length-1].trim()&&M.pop(),I)if(M.length>I)M.splice(I);else for(;M.length{const V=P.match(/^\s+/);if(V===null)return P;const[j]=V;return j.length>=M.length?P.slice(M.length):P}).join(` `)}class w{options;rules;lexer;constructor(I){this.options=I||e.defaults}space(I){const T=this.rules.block.newline.exec(I);if(T&&T[0].length>0)return{type:"space",raw:T[0]}}code(I){const T=this.rules.block.code.exec(I);if(T){const M=T[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:T[0],codeBlockStyle:"indented",text:this.options.pedantic?M:_(M,` `)}}}fences(I){const T=this.rules.block.fences.exec(I);if(T){const M=T[0],P=v(M,T[3]||"");return{type:"code",raw:M,lang:T[2]?T[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):T[2],text:P}}}heading(I){const T=this.rules.block.heading.exec(I);if(T){let M=T[2].trim();if(/#$/.test(M)){const P=_(M,"#");(this.options.pedantic||!P||/ $/.test(P))&&(M=P.trim())}return{type:"heading",raw:T[0],depth:T[1].length,text:M,tokens:this.lexer.inline(M)}}}hr(I){const T=this.rules.block.hr.exec(I);if(T)return{type:"hr",raw:_(T[0],` `)}}blockquote(I){const T=this.rules.block.blockquote.exec(I);if(T){let M=_(T[0],` `).split(` `),P="",V="";const j=[];for(;M.length>0;){let Y=!1;const de=[];let _e;for(_e=0;_e/.test(M[_e]))de.push(M[_e]),Y=!0;else if(!Y)de.push(M[_e]);else break;M=M.slice(_e);const Ne=de.join(` `),rt=Ne.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` $1`).replace(/^ {0,3}>[ \t]?/gm,"");P=P?`${P} ${Ne}`:Ne,V=V?`${V} ${rt}`:rt;const ft=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(rt,j,!0),this.lexer.state.top=ft,M.length===0)break;const ni=j[j.length-1];if(ni?.type==="code")break;if(ni?.type==="blockquote"){const Rt=ni,bn=Rt.raw+` `+M.join(` `),ts=this.blockquote(bn);j[j.length-1]=ts,P=P.substring(0,P.length-Rt.raw.length)+ts.raw,V=V.substring(0,V.length-Rt.text.length)+ts.text;break}else if(ni?.type==="list"){const Rt=ni,bn=Rt.raw+` `+M.join(` `),ts=this.list(bn);j[j.length-1]=ts,P=P.substring(0,P.length-ni.raw.length)+ts.raw,V=V.substring(0,V.length-Rt.raw.length)+ts.raw,M=bn.substring(j[j.length-1].raw.length).split(` `);continue}}return{type:"blockquote",raw:P,tokens:j,text:V}}}list(I){let T=this.rules.block.list.exec(I);if(T){let M=T[1].trim();const P=M.length>1,V={type:"list",raw:"",ordered:P,start:P?+M.slice(0,-1):"",loose:!1,items:[]};M=P?`\\d{1,9}\\${M.slice(-1)}`:`\\${M}`,this.options.pedantic&&(M=P?M:"[*+-]");const j=new RegExp(`^( {0,3}${M})((?:[ ][^\\n]*)?(?:\\n|$))`);let Y=!1;for(;I;){let de=!1,_e="",Ne="";if(!(T=j.exec(I))||this.rules.block.hr.test(I))break;_e=T[0],I=I.substring(_e.length);let rt=T[2].split(` `,1)[0].replace(/^\t+/,eu=>" ".repeat(3*eu.length)),ft=I.split(` `,1)[0],ni=!rt.trim(),Rt=0;if(this.options.pedantic?(Rt=2,Ne=rt.trimStart()):ni?Rt=T[1].length+1:(Rt=T[2].search(/[^ ]/),Rt=Rt>4?1:Rt,Ne=rt.slice(Rt),Rt+=T[1].length),ni&&/^ *$/.test(ft)&&(_e+=ft+` `,I=I.substring(ft.length+1),de=!0),!de){const eu=new RegExp(`^ {0,${Math.min(3,Rt-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),xe=new RegExp(`^ {0,${Math.min(3,Rt-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),H=new RegExp(`^ {0,${Math.min(3,Rt-1)}}(?:\`\`\`|~~~)`),ce=new RegExp(`^ {0,${Math.min(3,Rt-1)}}#`);for(;I;){const we=I.split(` `,1)[0];if(ft=we,this.options.pedantic&&(ft=ft.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),H.test(ft)||ce.test(ft)||eu.test(ft)||xe.test(I))break;if(ft.search(/[^ ]/)>=Rt||!ft.trim())Ne+=` `+ft.slice(Rt);else{if(ni||rt.search(/[^ ]/)>=4||H.test(rt)||ce.test(rt)||xe.test(rt))break;Ne+=` `+ft}!ni&&!ft.trim()&&(ni=!0),_e+=we+` `,I=I.substring(we.length+1),rt=ft.slice(Rt)}}V.loose||(Y?V.loose=!0:/\n *\n *$/.test(_e)&&(Y=!0));let bn=null,ts;this.options.gfm&&(bn=/^\[[ xX]\] /.exec(Ne),bn&&(ts=bn[0]!=="[ ] ",Ne=Ne.replace(/^\[[ xX]\] +/,""))),V.items.push({type:"list_item",raw:_e,task:!!bn,checked:ts,loose:!1,text:Ne,tokens:[]}),V.raw+=_e}V.items[V.items.length-1].raw=V.items[V.items.length-1].raw.trimEnd(),V.items[V.items.length-1].text=V.items[V.items.length-1].text.trimEnd(),V.raw=V.raw.trimEnd();for(let de=0;dert.type==="space"),Ne=_e.length>0&&_e.some(rt=>/\n.*\n/.test(rt.raw));V.loose=Ne}if(V.loose)for(let de=0;de$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",V=T[3]?T[3].substring(1,T[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):T[3];return{type:"def",tag:M,raw:T[0],href:P,title:V}}}table(I){const T=this.rules.block.table.exec(I);if(!T||!/[:|]/.test(T[2]))return;const M=m(T[1]),P=T[2].replace(/^\||\| *$/g,"").split("|"),V=T[3]&&T[3].trim()?T[3].replace(/\n[ \t]*$/,"").split(` `):[],j={type:"table",raw:T[0],header:[],align:[],rows:[]};if(M.length===P.length){for(const Y of P)/^ *-+: *$/.test(Y)?j.align.push("right"):/^ *:-+: *$/.test(Y)?j.align.push("center"):/^ *:-+ *$/.test(Y)?j.align.push("left"):j.align.push(null);for(let Y=0;Y({text:de,tokens:this.lexer.inline(de),header:!1,align:j.align[_e]})));return j}}lheading(I){const T=this.rules.block.lheading.exec(I);if(T)return{type:"heading",raw:T[0],depth:T[2].charAt(0)==="="?1:2,text:T[1],tokens:this.lexer.inline(T[1])}}paragraph(I){const T=this.rules.block.paragraph.exec(I);if(T){const M=T[1].charAt(T[1].length-1)===` `?T[1].slice(0,-1):T[1];return{type:"paragraph",raw:T[0],text:M,tokens:this.lexer.inline(M)}}}text(I){const T=this.rules.block.text.exec(I);if(T)return{type:"text",raw:T[0],text:T[0],tokens:this.lexer.inline(T[0])}}escape(I){const T=this.rules.inline.escape.exec(I);if(T)return{type:"escape",raw:T[0],text:h(T[1])}}tag(I){const T=this.rules.inline.tag.exec(I);if(T)return!this.lexer.state.inLink&&/^/i.test(T[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(T[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(T[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:T[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:T[0]}}link(I){const T=this.rules.inline.link.exec(I);if(T){const M=T[2].trim();if(!this.options.pedantic&&/^$/.test(M))return;const j=_(M.slice(0,-1),"\\");if((M.length-j.length)%2===0)return}else{const j=b(T[2],"()");if(j>-1){const de=(T[0].indexOf("!")===0?5:4)+T[1].length+j;T[2]=T[2].substring(0,j),T[0]=T[0].substring(0,de).trim(),T[3]=""}}let P=T[2],V="";if(this.options.pedantic){const j=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(P);j&&(P=j[1],V=j[3])}else V=T[3]?T[3].slice(1,-1):"";return P=P.trim(),/^$/.test(M)?P=P.slice(1):P=P.slice(1,-1)),C(T,{href:P&&P.replace(this.rules.inline.anyPunctuation,"$1"),title:V&&V.replace(this.rules.inline.anyPunctuation,"$1")},T[0],this.lexer)}}reflink(I,T){let M;if((M=this.rules.inline.reflink.exec(I))||(M=this.rules.inline.nolink.exec(I))){const P=(M[2]||M[1]).replace(/\s+/g," "),V=T[P.toLowerCase()];if(!V){const j=M[0].charAt(0);return{type:"text",raw:j,text:j}}return C(M,V,M[0],this.lexer)}}emStrong(I,T,M=""){let P=this.rules.inline.emStrongLDelim.exec(I);if(!P||P[3]&&M.match(/[\p{L}\p{N}]/u))return;if(!(P[1]||P[2]||"")||!M||this.rules.inline.punctuation.exec(M)){const j=[...P[0]].length-1;let Y,de,_e=j,Ne=0;const rt=P[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(rt.lastIndex=0,T=T.slice(-1*I.length+j);(P=rt.exec(T))!=null;){if(Y=P[1]||P[2]||P[3]||P[4]||P[5]||P[6],!Y)continue;if(de=[...Y].length,P[3]||P[4]){_e+=de;continue}else if((P[5]||P[6])&&j%3&&!((j+de)%3)){Ne+=de;continue}if(_e-=de,_e>0)continue;de=Math.min(de,de+_e+Ne);const ft=[...P[0]][0].length,ni=I.slice(0,j+P.index+ft+de);if(Math.min(j,de)%2){const bn=ni.slice(1,-1);return{type:"em",raw:ni,text:bn,tokens:this.lexer.inlineTokens(bn)}}const Rt=ni.slice(2,-2);return{type:"strong",raw:ni,text:Rt,tokens:this.lexer.inlineTokens(Rt)}}}}codespan(I){const T=this.rules.inline.code.exec(I);if(T){let M=T[2].replace(/\n/g," ");const P=/[^ ]/.test(M),V=/^ /.test(M)&&/ $/.test(M);return P&&V&&(M=M.substring(1,M.length-1)),M=h(M,!0),{type:"codespan",raw:T[0],text:M}}}br(I){const T=this.rules.inline.br.exec(I);if(T)return{type:"br",raw:T[0]}}del(I){const T=this.rules.inline.del.exec(I);if(T)return{type:"del",raw:T[0],text:T[2],tokens:this.lexer.inlineTokens(T[2])}}autolink(I){const T=this.rules.inline.autolink.exec(I);if(T){let M,P;return T[2]==="@"?(M=h(T[1]),P="mailto:"+M):(M=h(T[1]),P=M),{type:"link",raw:T[0],text:M,href:P,tokens:[{type:"text",raw:M,text:M}]}}}url(I){let T;if(T=this.rules.inline.url.exec(I)){let M,P;if(T[2]==="@")M=h(T[0]),P="mailto:"+M;else{let V;do V=T[0],T[0]=this.rules.inline._backpedal.exec(T[0])?.[0]??"";while(V!==T[0]);M=h(T[0]),T[1]==="www."?P="http://"+T[0]:P=T[0]}return{type:"link",raw:T[0],text:M,href:P,tokens:[{type:"text",raw:M,text:M}]}}}inlineText(I){const T=this.rules.inline.text.exec(I);if(T){let M;return this.lexer.state.inRawBlock?M=T[0]:M=h(T[0]),{type:"text",raw:T[0],text:M}}}}const y=/^(?: *(?:\n|$))+/,L=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,k=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,D=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,E=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,U=/(?:[*+-]|\d{1,9}[.)])/,O=u(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,U).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),B=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,z=/^[^\n]+/,F=/(?!\s*\])(?:\\.|[^\[\]\\])+/,q=u(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",F).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),X=u(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,U).getRegex(),ie="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",se=/|$))/,ee=u("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",se).replace("tag",ie).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ge=u(B).replace("hr",D).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ie).getRegex(),yt={blockquote:u(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ge).getRegex(),code:L,def:q,fences:k,heading:E,hr:D,html:ee,lheading:O,list:X,newline:y,paragraph:ge,table:g,text:z},it=u("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",D).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ie).getRegex(),Et={...yt,table:it,paragraph:u(B).replace("hr",D).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",it).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ie).getRegex()},ot={...yt,html:u(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",se).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:u(B).replace("hr",D).replace("heading",` *#{1,6} *[^ ]`).replace("lheading",O).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Wt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,es=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jt=/^( {2,}|\\)\n(?!\s*$)/,bs=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,Yd=u(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Xr).getRegex(),Yo=u("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Xr).getRegex(),Qd=u("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Xr).getRegex(),Xd=u(/\\([punct])/,"gu").replace(/punct/g,Xr).getRegex(),ea=u(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),qc=u(se).replace("(?:-->|$)","-->").getRegex(),jc=u("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",qc).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),nl=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Xg=u(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",nl).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Jg=u(/^!?\[(label)\]\[(ref)\]/).replace("label",nl).replace("ref",F).getRegex(),Gc=u(/^!?\[(ref)\](?:\[\])?/).replace("ref",F).getRegex(),sl=u("reflink|nolink(?!\\()","g").replace("reflink",Jg).replace("nolink",Gc).getRegex(),fo={_backpedal:g,anyPunctuation:Xd,autolink:ea,blockSkip:Jr,br:jt,code:es,del:g,emStrongLDelim:Yd,emStrongRDelimAst:Yo,emStrongRDelimUnd:Qd,escape:Wt,link:Xg,nolink:Gc,punctuation:Qg,reflink:Jg,reflinkSearch:sl,tag:jc,text:bs,url:g},ta={...fo,link:u(/^!?\[(label)\]\((.*?)\)/).replace("label",nl).getRegex(),reflink:u(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",nl).getRegex()},Zc={...fo,escape:u(Wt).replace("])","~|])").getRegex(),url:u(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\de+" ".repeat(_e.length));let P,V,j;for(;I;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(Y=>(P=Y.call({lexer:this},I,T))?(I=I.substring(P.raw.length),T.push(P),!0):!1))){if(P=this.tokenizer.space(I)){I=I.substring(P.raw.length),P.raw.length===1&&T.length>0?T[T.length-1].raw+=` `:T.push(P);continue}if(P=this.tokenizer.code(I)){I=I.substring(P.raw.length),V=T[T.length-1],V&&(V.type==="paragraph"||V.type==="text")?(V.raw+=` `+P.raw,V.text+=` `+P.text,this.inlineQueue[this.inlineQueue.length-1].src=V.text):T.push(P);continue}if(P=this.tokenizer.fences(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.heading(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.hr(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.blockquote(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.list(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.html(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.def(I)){I=I.substring(P.raw.length),V=T[T.length-1],V&&(V.type==="paragraph"||V.type==="text")?(V.raw+=` `+P.raw,V.text+=` `+P.raw,this.inlineQueue[this.inlineQueue.length-1].src=V.text):this.tokens.links[P.tag]||(this.tokens.links[P.tag]={href:P.href,title:P.title});continue}if(P=this.tokenizer.table(I)){I=I.substring(P.raw.length),T.push(P);continue}if(P=this.tokenizer.lheading(I)){I=I.substring(P.raw.length),T.push(P);continue}if(j=I,this.options.extensions&&this.options.extensions.startBlock){let Y=1/0;const de=I.slice(1);let _e;this.options.extensions.startBlock.forEach(Ne=>{_e=Ne.call({lexer:this},de),typeof _e=="number"&&_e>=0&&(Y=Math.min(Y,_e))}),Y<1/0&&Y>=0&&(j=I.substring(0,Y+1))}if(this.state.top&&(P=this.tokenizer.paragraph(j))){V=T[T.length-1],M&&V?.type==="paragraph"?(V.raw+=` `+P.raw,V.text+=` `+P.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=V.text):T.push(P),M=j.length!==I.length,I=I.substring(P.raw.length);continue}if(P=this.tokenizer.text(I)){I=I.substring(P.raw.length),V=T[T.length-1],V&&V.type==="text"?(V.raw+=` `+P.raw,V.text+=` `+P.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=V.text):T.push(P);continue}if(I){const Y="Infinite loop on byte: "+I.charCodeAt(0);if(this.options.silent){console.error(Y);break}else throw new Error(Y)}}return this.state.top=!0,T}inline(I,T=[]){return this.inlineQueue.push({src:I,tokens:T}),T}inlineTokens(I,T=[]){let M,P,V,j=I,Y,de,_e;if(this.tokens.links){const Ne=Object.keys(this.tokens.links);if(Ne.length>0)for(;(Y=this.tokenizer.rules.inline.reflinkSearch.exec(j))!=null;)Ne.includes(Y[0].slice(Y[0].lastIndexOf("[")+1,-1))&&(j=j.slice(0,Y.index)+"["+"a".repeat(Y[0].length-2)+"]"+j.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Y=this.tokenizer.rules.inline.blockSkip.exec(j))!=null;)j=j.slice(0,Y.index)+"["+"a".repeat(Y[0].length-2)+"]"+j.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(Y=this.tokenizer.rules.inline.anyPunctuation.exec(j))!=null;)j=j.slice(0,Y.index)+"++"+j.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;I;)if(de||(_e=""),de=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(Ne=>(M=Ne.call({lexer:this},I,T))?(I=I.substring(M.raw.length),T.push(M),!0):!1))){if(M=this.tokenizer.escape(I)){I=I.substring(M.raw.length),T.push(M);continue}if(M=this.tokenizer.tag(I)){I=I.substring(M.raw.length),P=T[T.length-1],P&&M.type==="text"&&P.type==="text"?(P.raw+=M.raw,P.text+=M.text):T.push(M);continue}if(M=this.tokenizer.link(I)){I=I.substring(M.raw.length),T.push(M);continue}if(M=this.tokenizer.reflink(I,this.tokens.links)){I=I.substring(M.raw.length),P=T[T.length-1],P&&M.type==="text"&&P.type==="text"?(P.raw+=M.raw,P.text+=M.text):T.push(M);continue}if(M=this.tokenizer.emStrong(I,j,_e)){I=I.substring(M.raw.length),T.push(M);continue}if(M=this.tokenizer.codespan(I)){I=I.substring(M.raw.length),T.push(M);continue}if(M=this.tokenizer.br(I)){I=I.substring(M.raw.length),T.push(M);continue}if(M=this.tokenizer.del(I)){I=I.substring(M.raw.length),T.push(M);continue}if(M=this.tokenizer.autolink(I)){I=I.substring(M.raw.length),T.push(M);continue}if(!this.state.inLink&&(M=this.tokenizer.url(I))){I=I.substring(M.raw.length),T.push(M);continue}if(V=I,this.options.extensions&&this.options.extensions.startInline){let Ne=1/0;const rt=I.slice(1);let ft;this.options.extensions.startInline.forEach(ni=>{ft=ni.call({lexer:this},rt),typeof ft=="number"&&ft>=0&&(Ne=Math.min(Ne,ft))}),Ne<1/0&&Ne>=0&&(V=I.substring(0,Ne+1))}if(M=this.tokenizer.inlineText(V)){I=I.substring(M.raw.length),M.raw.slice(-1)!=="_"&&(_e=M.raw.slice(-1)),de=!0,P=T[T.length-1],P&&P.type==="text"?(P.raw+=M.raw,P.text+=M.text):T.push(M);continue}if(I){const Ne="Infinite loop on byte: "+I.charCodeAt(0);if(this.options.silent){console.error(Ne);break}else throw new Error(Ne)}}return T}}class go{options;parser;constructor(I){this.options=I||e.defaults}space(I){return""}code({text:I,lang:T,escaped:M}){const P=(T||"").match(/^\S*/)?.[0],V=I.replace(/\n$/,"")+` `;return P?'
'+(M?V:h(V,!0))+`
`:"
"+(M?V:h(V,!0))+`
`}blockquote({tokens:I}){return`
${this.parser.parse(I)}
`}html({text:I}){return I}heading({tokens:I,depth:T}){return`${this.parser.parseInline(I)} `}hr(I){return`
`}list(I){const T=I.ordered,M=I.start;let P="";for(let Y=0;Y `+P+" `}listitem(I){let T="";if(I.task){const M=this.checkbox({checked:!!I.checked});I.loose?I.tokens.length>0&&I.tokens[0].type==="paragraph"?(I.tokens[0].text=M+" "+I.tokens[0].text,I.tokens[0].tokens&&I.tokens[0].tokens.length>0&&I.tokens[0].tokens[0].type==="text"&&(I.tokens[0].tokens[0].text=M+" "+I.tokens[0].tokens[0].text)):I.tokens.unshift({type:"text",raw:M+" ",text:M+" "}):T+=M+" "}return T+=this.parser.parse(I.tokens,!!I.loose),`
  • ${T}
  • `}checkbox({checked:I}){return"'}paragraph({tokens:I}){return`

    ${this.parser.parseInline(I)}

    `}table(I){let T="",M="";for(let V=0;V${P}`),` `+T+` `+P+`
    `}tablerow({text:I}){return` ${I} `}tablecell(I){const T=this.parser.parseInline(I.tokens),M=I.header?"th":"td";return(I.align?`<${M} align="${I.align}">`:`<${M}>`)+T+` `}strong({tokens:I}){return`${this.parser.parseInline(I)}`}em({tokens:I}){return`${this.parser.parseInline(I)}`}codespan({text:I}){return`${I}`}br(I){return"
    "}del({tokens:I}){return`${this.parser.parseInline(I)}`}link({href:I,title:T,tokens:M}){const P=this.parser.parseInline(M),V=f(I);if(V===null)return P;I=V;let j='
    ",j}image({href:I,title:T,text:M}){const P=f(I);if(P===null)return M;I=P;let V=`${M}{const Y=V[j].flat(1/0);M=M.concat(this.walkTokens(Y,T))}):V.tokens&&(M=M.concat(this.walkTokens(V.tokens,T)))}}return M}use(...I){const T=this.defaults.extensions||{renderers:{},childTokens:{}};return I.forEach(M=>{const P={...M};if(P.async=this.defaults.async||P.async||!1,M.extensions&&(M.extensions.forEach(V=>{if(!V.name)throw new Error("extension name required");if("renderer"in V){const j=T.renderers[V.name];j?T.renderers[V.name]=function(...Y){let de=V.renderer.apply(this,Y);return de===!1&&(de=j.apply(this,Y)),de}:T.renderers[V.name]=V.renderer}if("tokenizer"in V){if(!V.level||V.level!=="block"&&V.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const j=T[V.level];j?j.unshift(V.tokenizer):T[V.level]=[V.tokenizer],V.start&&(V.level==="block"?T.startBlock?T.startBlock.push(V.start):T.startBlock=[V.start]:V.level==="inline"&&(T.startInline?T.startInline.push(V.start):T.startInline=[V.start]))}"childTokens"in V&&V.childTokens&&(T.childTokens[V.name]=V.childTokens)}),P.extensions=T),M.renderer){const V=this.defaults.renderer||new go(this.defaults);for(const j in M.renderer){if(!(j in V))throw new Error(`renderer '${j}' does not exist`);if(["options","parser"].includes(j))continue;const Y=j,de=M.renderer[Y],_e=V[Y];V[Y]=(...Ne)=>{let rt=de.apply(V,Ne);return rt===!1&&(rt=_e.apply(V,Ne)),rt||""}}P.renderer=V}if(M.tokenizer){const V=this.defaults.tokenizer||new w(this.defaults);for(const j in M.tokenizer){if(!(j in V))throw new Error(`tokenizer '${j}' does not exist`);if(["options","rules","lexer"].includes(j))continue;const Y=j,de=M.tokenizer[Y],_e=V[Y];V[Y]=(...Ne)=>{let rt=de.apply(V,Ne);return rt===!1&&(rt=_e.apply(V,Ne)),rt}}P.tokenizer=V}if(M.hooks){const V=this.defaults.hooks||new Cs;for(const j in M.hooks){if(!(j in V))throw new Error(`hook '${j}' does not exist`);if(j==="options")continue;const Y=j,de=M.hooks[Y],_e=V[Y];Cs.passThroughHooks.has(j)?V[Y]=Ne=>{if(this.defaults.async)return Promise.resolve(de.call(V,Ne)).then(ft=>_e.call(V,ft));const rt=de.call(V,Ne);return _e.call(V,rt)}:V[Y]=(...Ne)=>{let rt=de.apply(V,Ne);return rt===!1&&(rt=_e.apply(V,Ne)),rt}}P.hooks=V}if(M.walkTokens){const V=this.defaults.walkTokens,j=M.walkTokens;P.walkTokens=function(Y){let de=[];return de.push(j.call(this,Y)),V&&(de=de.concat(V.call(this,Y))),de}}this.defaults={...this.defaults,...P}}),this}setOptions(I){return this.defaults={...this.defaults,...I},this}lexer(I,T){return An.lex(I,T??this.defaults)}parser(I,T){return mi.parse(I,T??this.defaults)}parseMarkdown(I,T){return(P,V)=>{const j={...V},Y={...this.defaults,...j},de=this.onError(!!Y.silent,!!Y.async);if(this.defaults.async===!0&&j.async===!1)return de(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof P>"u"||P===null)return de(new Error("marked(): input parameter is undefined or null"));if(typeof P!="string")return de(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(P)+", string expected"));if(Y.hooks&&(Y.hooks.options=Y),Y.async)return Promise.resolve(Y.hooks?Y.hooks.preprocess(P):P).then(_e=>I(_e,Y)).then(_e=>Y.hooks?Y.hooks.processAllTokens(_e):_e).then(_e=>Y.walkTokens?Promise.all(this.walkTokens(_e,Y.walkTokens)).then(()=>_e):_e).then(_e=>T(_e,Y)).then(_e=>Y.hooks?Y.hooks.postprocess(_e):_e).catch(de);try{Y.hooks&&(P=Y.hooks.preprocess(P));let _e=I(P,Y);Y.hooks&&(_e=Y.hooks.processAllTokens(_e)),Y.walkTokens&&this.walkTokens(_e,Y.walkTokens);let Ne=T(_e,Y);return Y.hooks&&(Ne=Y.hooks.postprocess(Ne)),Ne}catch(_e){return de(_e)}}}onError(I,T){return M=>{if(M.message+=` Please report this to https://github.com/markedjs/marked.`,I){const P="

    An error occurred:

    "+h(M.message+"",!0)+"
    ";return T?Promise.resolve(P):P}if(T)return Promise.reject(M);throw M}}}const Bs=new Yc;function kt(Ae,I){return Bs.parse(Ae,I)}kt.options=kt.setOptions=function(Ae){return Bs.setOptions(Ae),kt.defaults=Bs.defaults,i(kt.defaults),kt},kt.getDefaults=t,kt.defaults=e.defaults,kt.use=function(...Ae){return Bs.use(...Ae),kt.defaults=Bs.defaults,i(kt.defaults),kt},kt.walkTokens=function(Ae,I){return Bs.walkTokens(Ae,I)},kt.parseInline=Bs.parseInline,kt.Parser=mi,kt.parser=mi.parse,kt.Renderer=go,kt.TextRenderer=Xo,kt.Lexer=An,kt.lexer=An.lex,kt.Tokenizer=w,kt.Hooks=Cs,kt.parse=kt;const rl=kt.options,l0=kt.setOptions,c0=kt.use,yi=kt.walkTokens,ia=kt.parseInline,h0=kt,tm=mi.parse,Jd=An.lex;e.Hooks=Cs,e.Lexer=An,e.Marked=Yc,e.Parser=mi,e.Renderer=go,e.TextRenderer=Xo,e.Tokenizer=w,e.getDefaults=t,e.lexer=Jd,e.marked=kt,e.options=rl,e.parse=h0,e.parseInline=ia,e.parser=tm,e.setOptions=l0,e.use=c0,e.walkTokens=yi})})();Wi.Hooks||exports.Hooks;Wi.Lexer||exports.Lexer;Wi.Marked||exports.Marked;Wi.Parser||exports.Parser;var IA=Wi.Renderer||exports.Renderer;Wi.TextRenderer||exports.TextRenderer;Wi.Tokenizer||exports.Tokenizer;var dV=Wi.defaults||exports.defaults;Wi.getDefaults||exports.getDefaults;var Bb=Wi.lexer||exports.lexer;Wi.marked||exports.marked;Wi.options||exports.options;var NA=Wi.parse||exports.parse;Wi.parseInline||exports.parseInline;var uV=Wi.parser||exports.parser;Wi.setOptions||exports.setOptions;Wi.use||exports.use;Wi.walkTokens||exports.walkTokens;function fV(s){return JSON.stringify(s,gV)}function Jv(s){let e=JSON.parse(s);return e=eS(e),e}function gV(s,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function eS(s,e=0){if(!s||e>200)return s;if(typeof s=="object"){switch(s.$mid){case 1:return De.revive(s);case 2:return new RegExp(s.source,s.flags);case 17:return new Date(s.source)}if(s instanceof uk||s instanceof Uint8Array)return s;if(Array.isArray(s))for(let t=0;t{let i=[],n=[];return s&&({href:s,dimensions:i}=hV(s),n.push(`src="${Sm(s)}"`)),t&&n.push(`alt="${Sm(t)}"`),e&&n.push(`title="${Sm(e)}"`),i.length&&(n=n.concat(i)),""},paragraph({tokens:s}){return`

    ${this.parser.parseInline(s)}

    `},link({href:s,title:e,tokens:t}){let i=this.parser.parseInline(t);return typeof s!="string"?"":(s===i&&(i=X0(i)),e=typeof e=="string"?Sm(X0(e)):"",s=X0(s),s=s.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),`
    ${i}`)}});function Fk(s,e={},t={}){const i=new ae;let n=!1;const o=Nk(e),r=function(m){let _;try{_=Jv(decodeURIComponent(m))}catch{}return _?(_=VT(_,b=>{if(s.uris&&s.uris[b])return De.revive(s.uris[b])}),encodeURIComponent(JSON.stringify(_))):m},a=function(m,_){const b=s.uris&&s.uris[m];let C=De.revive(b);return _?m.startsWith(Ie.data+":")?m:(C||(C=De.parse(m)),mb.uriToBrowserUri(C).toString(!0)):!C||De.parse(m).toString()===C.toString()?m:(C.query&&(C=C.with({query:r(C.query)})),C.toString())},l=new IA;l.image=J0.image,l.link=J0.link,l.paragraph=J0.paragraph;const c=[],h=[];if(e.codeBlockRendererSync?l.code=({text:m,lang:_})=>{const b=ME.nextId(),C=e.codeBlockRendererSync(RE(_),m);return h.push([b,C]),`
    ${Fu(m)}
    `}:e.codeBlockRenderer&&(l.code=({text:m,lang:_})=>{const b=ME.nextId(),C=e.codeBlockRenderer(RE(_),m);return c.push(C.then(v=>[b,v])),`
    ${Fu(m)}
    `}),e.actionHandler){const m=function(C){let v=C.target;if(!(v.tagName!=="A"&&(v=v.parentElement,!v||v.tagName!=="A")))try{let w=v.dataset.href;w&&(s.baseUri&&(w=eC(De.from(s.baseUri),w)),e.actionHandler.callback(w,C))}catch(w){ut(w)}finally{C.preventDefault()}},_=e.actionHandler.disposables.add(new Te(o,"click")),b=e.actionHandler.disposables.add(new Te(o,"auxclick"));e.actionHandler.disposables.add(Q.any(_.event,b.event)(C=>{const v=new Qs(ue(o),C);!v.leftButton&&!v.middleButton||m(v)})),e.actionHandler.disposables.add($(o,"keydown",C=>{const v=new vt(C);!v.equals(10)&&!v.equals(3)||m(v)}))}s.supportHtml||(l.html=({text:m})=>e.sanitizerOptions?.replaceWithPlaintext?Fu(m):(s.isTrusted?m.match(/^(]+>)|(<\/\s*span>)$/):void 0)?m:""),t.renderer=l;let d=s.value??"";d.length>1e5&&(d=`${d.substr(0,1e5)}…`),s.supportThemeIcons&&(d=JW(d));let u;if(e.fillInIncompleteTokens){const m={...dV,...t},_=Bb(d,m),b=DV(_);u=uV(b,m)}else u=NA(d,{...t,async:!1});s.supportThemeIcons&&(u=Ql(u).map(_=>typeof _=="string"?_:_.outerHTML).join(""));const g=new DOMParser().parseFromString(tS({isTrusted:s.isTrusted,...e.sanitizerOptions},u),"text/html");if(g.body.querySelectorAll("img, audio, video, source").forEach(m=>{const _=m.getAttribute("src");if(_){let b=_;try{s.baseUri&&(b=eC(De.from(s.baseUri),b))}catch{}if(m.setAttribute("src",a(b,!0)),e.remoteImageIsAllowed){const C=De.parse(b);C.scheme!==Ie.file&&C.scheme!==Ie.data&&!e.remoteImageIsAllowed(C)&&m.replaceWith(pe("",void 0,m.outerHTML))}}}),g.body.querySelectorAll("a").forEach(m=>{const _=m.getAttribute("href");if(m.setAttribute("href",""),!_||/^data:|javascript:/i.test(_)||/^command:/i.test(_)&&!s.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(_))m.replaceWith(...m.childNodes);else{let b=a(_,!1);s.baseUri&&(b=eC(De.from(s.baseUri),_)),m.dataset.href=b}}),o.innerHTML=tS({isTrusted:s.isTrusted,...e.sanitizerOptions},g.body.innerHTML),c.length>0)Promise.all(c).then(m=>{if(n)return;const _=new Map(m),b=o.querySelectorAll("div[data-code]");for(const C of b){const v=_.get(C.dataset.code??"");v&&tn(C,v)}e.asyncRenderCallback?.()});else if(h.length>0){const m=new Map(h),_=o.querySelectorAll("div[data-code]");for(const b of _){const C=m.get(b.dataset.code??"");C&&tn(b,C)}}if(e.asyncRenderCallback)for(const m of o.getElementsByTagName("img")){const _=i.add($(m,"load",()=>{_.dispose(),e.asyncRenderCallback()}))}return{element:o,dispose:()=>{n=!0,i.dispose()}}}function RE(s){if(!s)return"";const e=s.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:s}function eC(s,e){return/^\w[\w\d+.-]*:/.test(e)?e:s.path.endsWith("/")?IE(s,e).toString():IE(sV(s),e).toString()}const mV=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function tS(s,e){const{config:t,allowedSchemes:i}=_V(s),n=new ae;n.add(AE("uponSanitizeAttribute",(o,r)=>{if(r.attrName==="style"||r.attrName==="class"){if(o.tagName==="SPAN"){if(r.attrName==="style"){r.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(border-radius:[0-9]+px;)?$/.test(r.attrValue);return}else if(r.attrName==="class"){r.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(r.attrValue);return}}r.keepAttr=!1;return}else if(o.tagName==="INPUT"&&o.attributes.getNamedItem("type")?.value==="checkbox"){if(r.attrName==="type"&&r.attrValue==="checkbox"||r.attrName==="disabled"||r.attrName==="checked"){r.keepAttr=!0;return}r.keepAttr=!1}})),n.add(AE("uponSanitizeElement",(o,r)=>{if(r.tagName==="input"&&(o.attributes.getNamedItem("type")?.value==="checkbox"?o.setAttribute("disabled",""):s.replaceWithPlaintext||o.remove()),s.replaceWithPlaintext&&!r.allowedTags[r.tagName]&&r.tagName!=="body"&&o.parentElement){let a,l;if(r.tagName==="#comment")a=``;else{const u=mV.includes(r.tagName),f=o.attributes.length?" "+Array.from(o.attributes).map(g=>`${g.name}="${g.value}"`).join(" "):"";a=`<${r.tagName}${f}>`,u||(l=``)}const c=document.createDocumentFragment(),h=o.parentElement.ownerDocument.createTextNode(a);c.appendChild(h);const d=l?o.parentElement.ownerDocument.createTextNode(l):void 0;for(;o.firstChild;)c.appendChild(o.firstChild);d&&c.appendChild(d),o.nodeType===Node.COMMENT_NODE?o.parentElement.insertBefore(c,o):o.parentElement.replaceChild(c,o)}})),n.add(K9(i));try{return RM(e,{...t,RETURN_TRUSTED_TYPE:!0})}finally{n.dispose()}}const pV=["align","autoplay","alt","checked","class","colspan","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","style","target","title","type","width","start"];function _V(s){const e=[Ie.http,Ie.https,Ie.mailto,Ie.data,Ie.file,Ie.vscodeFileResource,Ie.vscodeRemote,Ie.vscodeRemoteResource];return s.isTrusted&&e.push(Ie.command),{config:{ALLOWED_TAGS:s.allowedTags??[...q9],ALLOWED_ATTR:pV,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}function bV(s){return typeof s=="string"?s:CV(s)}function CV(s,e){let t=s.value??"";t.length>1e5&&(t=`${t.substr(0,1e5)}…`);const i=NA(t,{async:!1,renderer:SV.value}).replace(/&(#\d+|[a-zA-Z]+);/g,n=>wV.get(n)??n);return tS({isTrusted:!1},i).toString()}const wV=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]);function vV(){const s=new IA;return s.code=({text:e})=>e,s.blockquote=({text:e})=>e+` `,s.html=e=>"",s.heading=function({tokens:e}){return this.parser.parseInline(e)+` `},s.hr=()=>"",s.list=function({items:e}){return e.map(t=>this.listitem(t)).join(` `)+` `},s.listitem=({text:e})=>e+` `,s.paragraph=function({tokens:e}){return this.parser.parseInline(e)+` `},s.table=function({header:e,rows:t}){return e.map(i=>this.tablecell(i)).join(" ")+` `+t.map(i=>i.map(n=>this.tablecell(n)).join(" ")).join(` `)+` `},s.tablerow=({text:e})=>e,s.tablecell=function({tokens:e}){return this.parser.parseInline(e)},s.strong=({text:e})=>e,s.em=({text:e})=>e,s.codespan=({text:e})=>e,s.br=e=>` `,s.del=({text:e})=>e,s.image=e=>"",s.text=({text:e})=>e,s.link=({text:e})=>e,s}const SV=new Wa(s=>vV());function d_(s){let e="";return s.forEach(t=>{e+=t.raw}),e}function TA(s){if(s.tokens)for(let e=s.tokens.length-1;e>=0;e--){const t=s.tokens[e];if(t.type==="text"){const i=t.raw.split(` `),n=i[i.length-1];if(n.includes("`"))return IV(s);if(n.includes("**"))return PV(s);if(n.match(/\*\w/))return NV(s);if(n.match(/(^|\s)__\w/))return OV(s);if(n.match(/(^|\s)_\w/))return TV(s);if(yV(n)||LV(n)&&s.tokens.slice(0,e).some(o=>o.type==="text"&&o.raw.match(/\[[^\]]*$/))){const o=s.tokens.slice(e+1);return o[0]?.type==="link"&&o[1]?.type==="text"&&o[1].raw.match(/^ *"[^"]*$/)||n.match(/^[^"]* +"[^"]*$/)?RV(s):MV(s)}else if(n.match(/(^|\s)\[\w*/))return AV(s)}}}function yV(s){return!!s.match(/(^|\s)\[.*\]\(\w*/)}function LV(s){return!!s.match(/^[^\[]*\]\([^\)]*$/)}function kV(s){const e=s.items[s.items.length-1],t=e.tokens?e.tokens[e.tokens.length-1]:void 0;let i;if(t?.type==="text"&&!("inRawBlock"in e)&&(i=TA(t)),!i||i.type!=="paragraph")return;const n=d_(s.items.slice(0,-1)),o=e.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!o)return;const r=o+d_(e.tokens.slice(0,-1))+i.raw,a=Bb(n+r)[0];if(a.type==="list")return a}const xV=3;function DV(s){for(let e=0;e"u"&&r.match(/^\s*\|/)){const a=r.match(/(\|[^\|]+)(?=\||$)/g);a&&(i=a.length)}else if(typeof i=="number")if(r.match(/^\s*\|/)){if(o!==t.length-1)return;n=!0}else return}if(typeof i=="number"&&i>0){const o=n?t.slice(0,-1).join(` `):e,r=!!o.match(/\|\s*$/),a=o+(r?"":"|")+` |${" --- |".repeat(i)}`;return Bb(a)}}function AE(s,e){return AM(s,e),ve(()=>PM(s))}const gr=class gr{static createEmpty(e,t){const i=gr.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new gr(n,e,t)}static createFromTextAndMetadata(e,t){let i=0,n="";const o=new Array;for(const{text:r,metadata:a}of e)o.push(i+r.length,a),i+=r.length,n+=r;return new gr(new Uint32Array(o),n,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=i}equals(e){return e instanceof gr?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const n=t<<1,o=n+(i<<1);for(let r=n;r0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=Gs.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return Gs.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return Gs.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return Gs.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return Gs.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return Gs.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return gr.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new Bk(this,e,t,i)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let o=0;o>>1)-1;for(;it&&(n=o)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,n="";const o=new Array;let r=0;for(;;){const a=tr){n+=this._text.substring(r,l.offset);const c=this._tokens[(t<<1)+1];o.push(n.length,c),r=l.offset}n+=l.text,o.push(n.length,l.tokenMetadata),i++}else break}return new gr(new Uint32Array(o),n,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),i=this.getEndOffset(e);return this._text.substring(t,i)}forEach(e){const t=this.getCount();for(let i=0;i>>0;let vi=gr;class Bk{constructor(e,t,i,n){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let o=this._firstTokenIndex,r=e.getCount();o=i);o++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof Bk?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){const t=this._firstTokenIndex+e,i=this._source.getStartOffset(t),n=this._source.getEndOffset(t);let o=this._source.getTokenText(t);return ithis._endOffset&&(o=o.substring(0,o.length-(n-this._endOffset))),o}forEach(e){for(let t=0;t>>0,new fb(t,e===null?Zf:e)}const PE={getInitialState:()=>Zf,tokenizeEncoded:(s,e,t)=>Wk(0,t)};async function BV(s,e,t){if(!t)return OE(e,s.languageIdCodec,PE);const i=await qt.getOrCreate(t);return OE(e,s.languageIdCodec,i||PE)}function WV(s,e,t,i,n,o,r){let a="
    ",l=i,c=0,h=!0;for(let d=0,u=e.getCount();d0;)r&&h?(g+=" ",h=!1):(g+=" ",h=!0),_--;break}case 60:g+="<",h=!1;break;case 62:g+=">",h=!1;break;case 38:g+="&",h=!1;break;case 0:g+="�",h=!1;break;case 65279:case 8232:case 8233:case 133:g+="�",h=!1;break;case 13:g+="​",h=!1;break;case 32:r&&h?(g+=" ",h=!1):(g+=" ",h=!0);break;default:g+=String.fromCharCode(m),h=!1}}if(a+=`${g}`,f>n||l>=n)break}return a+="
    ",a}function OE(s,e,t){let i='
    ';const n=Fd(s);let o=t.getInitialState();for(let r=0,a=n.length;r0&&(i+="
    ");const c=t.tokenizeEncoded(l,!0,o);vi.convertToEndOffset(c.tokens,l.length);const d=new vi(c.tokens,l,e).inflate();let u=0;for(let f=0,g=d.getCount();f${Fu(l.substring(u,_))}`,u=_}o=c.endState}return i+="
    ",i}var VV=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},FE=function(s,e){return function(t,i){e(t,i,s)}},iS,oc;let nS=(oc=class{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new A,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const n=new ae,o=n.add(Fk(e,{...this._getRenderOptions(e,n),...t},i));return o.element.classList.add("rendered-markdown"),{element:o.element,dispose:()=>n.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(i,n)=>{let o;i?o=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(o=this._options.editor.getModel()?.getLanguageId()),o||(o=Ts);const r=await BV(this._languageService,n,o),a=document.createElement("span");if(a.innerHTML=iS._ttpTokenizer?.createHTML(r)??r,this._options.editor){const l=this._options.editor.getOption(50);Pi(a,l)}else this._options.codeBlockFontFamily&&(a.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(a.style.fontSize=this._options.codeBlockFontSize),a},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>RA(this._openerService,i,e.isTrusted),disposables:t}}}},iS=oc,oc._ttpTokenizer=Fc("tokenizeToString",{createHTML(e){return e}}),oc);nS=iS=VV([FE(1,gi),FE(2,Vg)],nS);async function RA(s,e,t){try{return await s.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:HV(t)})}catch(i){return ut(i),!1}}function HV(s){return s===!0?!0:s&&Array.isArray(s.enabledCommands)?s.enabledCommands:!1}const co=Be("accessibilityService"),zV=new he("accessibilityModeEnabled",!1),BE=2e4;let Nl,cp,sS,hp,oS;function UV(s){Nl=document.createElement("div"),Nl.className="monaco-aria-container";const e=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),Nl.appendChild(i),i};cp=e(),sS=e();const t=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),Nl.appendChild(i),i};hp=t(),oS=t(),s.appendChild(Nl)}function Yf(s){Nl&&(cp.textContent!==s?(to(sS),f_(cp,s)):(to(cp),f_(sS,s)))}function u_(s){Nl&&(hp.textContent!==s?(to(oS),f_(hp,s)):(to(hp),f_(oS,s)))}function f_(s,e){to(s),e.length>BE&&(e=e.substr(0,BE)),s.textContent=e,s.style.visibility="hidden",s.style.visibility="visible"}var $V=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},uu=function(s,e){return function(t,i){e(t,i,s)}};const _o=pe;let rS=class extends Zr{get _targetWindow(){return ue(this._target.targetElements[0])}get _targetDocumentElement(){return ue(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,n,o,r){super(),this._keybindingService=t,this._configurationService=i,this._openerService=n,this._instantiationService=o,this._accessibilityService=r,this._messageListeners=new ae,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new A),this._onRequestLayout=this._register(new A),this._linkHandler=e.linkHandler||(u=>RA(this._openerService,u,Xl(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new KV(e.target),this._hoverPointer=e.appearance?.showPointer?_o("div.workbench-hover-pointer"):void 0,this._hover=this._register(new wW),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),e.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),e.appearance?.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=e.position?.hoverPosition??3,this.onmousedown(this._hover.containerDomNode,u=>u.stopPropagation()),this.onkeydown(this._hover.containerDomNode,u=>{u.equals(9)&&this.dispose()}),this._register($(this._targetWindow,"blur",()=>this.dispose()));const a=_o("div.hover-row.markdown-hover"),l=_o("div.hover-contents");if(typeof e.content=="string")l.textContent=e.content,l.style.whiteSpace="pre-wrap";else if(ui(e.content))l.appendChild(e.content),l.classList.add("html-hover-contents");else{const u=e.content,f=this._instantiationService.createInstance(nS,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||jn.fontFamily}),{element:g}=f.render(u,{actionHandler:{callback:m=>this._linkHandler(m),disposables:this._messageListeners},asyncRenderCallback:()=>{l.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});l.appendChild(g)}if(a.appendChild(l),this._hover.contentsDomNode.appendChild(a),e.actions&&e.actions.length>0){const u=_o("div.hover-row.status-bar"),f=_o("div.actions");e.actions.forEach(g=>{const m=this._keybindingService.lookupKeybinding(g.commandId),_=m?m.getLabel():null;Ik.render(f,{label:g.label,commandId:g.commandId,run:b=>{g.run(b),this.dispose()},iconClass:g.iconClass},_)}),u.appendChild(f),this._hover.containerDomNode.appendChild(u)}this._hoverContainer=_o("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let c;if(e.actions&&e.actions.length>0?c=!1:e.persistence?.hideOnHover===void 0?c=typeof e.content=="string"||Xl(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):c=e.persistence.hideOnHover,e.appearance?.showHoverHint){const u=_o("div.hover-row.status-bar"),f=_o("div.info");f.textContent=p("hoverhint","Hold {0} key to mouse over",Ve?"Option":"Alt"),u.appendChild(f),this._hover.containerDomNode.appendChild(u)}const h=[...this._target.targetElements];c||h.push(this._hoverContainer);const d=this._register(new WE(h));if(this._register(d.onMouseOut(()=>{this._isLocked||this.dispose()})),c){const u=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new WE(u)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=d}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=nk(this._hoverContainer,_o("div")),n=le(this._hoverContainer,_o("div"));i.tabIndex=0,n.tabIndex=0,this._register($(n,"focus",o=>{e.focus(),o.preventDefault()})),this._register($(i,"focus",o=>{t.focus(),o.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return o}const n=this.findLastFocusableChild(i);if(n)return n}}render(e){e.appendChild(this._hoverContainer);const i=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&vW(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel());i&&u_(i),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=h=>{const d=HM(h),u=h.getBoundingClientRect();return{top:u.top*d,bottom:u.bottom*d,right:u.right*d,left:u.left*d}},t=this._target.targetElements.map(h=>e(h)),{top:i,right:n,bottom:o,left:r}=t[0],a=n-r,l=o-i,c={top:i,right:n,bottom:o,left:r,width:a,height:l,center:{x:r+a/2,y:i+l/2}};if(this.adjustHorizontalHoverPosition(c),this.adjustVerticalHoverPosition(c),this.adjustHoverMaxHeight(c),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:c.left+=3,c.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:c.left-=3,c.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:c.top+=3,c.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:c.top-=3,c.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}c.center.x=c.left+a/2,c.center.y=c.top+l/2}this.computeXCordinate(c),this.computeYCordinate(c),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(c)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-i}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-i}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;const t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-i):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${Math.round(t/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const n=this._x+i;(ne.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left=`${i}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};rS=$V([uu(1,Ti),uu(2,Ft),uu(3,Vg),uu(4,Qe),uu(5,co)],rS);class WE extends Zr{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new A),this._elements.forEach(t=>this.onmouseover(t,()=>this._onTargetMouseOver(t))),this._elements.forEach(t=>this.onmouseleave(t,()=>this._onTargetMouseLeave(t)))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=ue(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(ue(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class KV{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var Mi;(function(s){function e(o,r){if(o.start>=r.end||r.start>=o.end)return{start:0,end:0};const a=Math.max(o.start,r.start),l=Math.min(o.end,r.end);return l-a<=0?{start:0,end:0}:{start:a,end:l}}s.intersect=e;function t(o){return o.end-o.start<=0}s.isEmpty=t;function i(o,r){return!t(e(o,r))}s.intersects=i;function n(o,r){const a=[],l={start:o.start,end:Math.min(r.start,o.end)},c={start:Math.max(r.end,o.start),end:o.end};return t(l)||a.push(l),t(c)||a.push(c),a}s.relativeComplement=n})(Mi||(Mi={}));function qV(s){const e=s;return!!e&&typeof e.x=="number"&&typeof e.y=="number"}var ka;(function(s){s[s.AVOID=0]="AVOID",s[s.ALIGN=1]="ALIGN"})(ka||(ka={}));function vh(s,e,t){const i=t.mode===ka.ALIGN?t.offset:t.offset+t.size,n=t.mode===ka.ALIGN?t.offset+t.size:t.offset;return t.position===0?e<=s-i?i:e<=n?n-e:Math.max(s-e,0):e<=n?n-e:e<=s-i?i:0}const Wh=class Wh extends K{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=K.None,this.toDisposeOnSetContainer=K.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=pe(".context-view"),rv(this.view),this.setContainer(e,t),this._register(ve(()=>this.setContainer(null,1)))}setContainer(e,t){this.useFixedPosition=t!==1;const i=this.useShadowDOM;if(this.useShadowDOM=t===3,!(e===this.container&&i===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=pe(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const o=document.createElement("style");o.textContent=jV,this.shadowRoot.appendChild(o),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(pe("slot"))}else this.container.appendChild(this.view);const n=new ae;Wh.BUBBLE_UP_EVENTS.forEach(o=>{n.add(di(this.container,o,r=>{this.onDOMEvent(r,!1)}))}),Wh.BUBBLE_DOWN_EVENTS.forEach(o=>{n.add(di(this.container,o,r=>{this.onDOMEvent(r,!0)},!0))}),this.toDisposeOnSetContainer=n}}show(e){this.isVisible()&&this.hide(),to(this.view),this.view.className="context-view monaco-component",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(e.layer??0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",sk(this.view),this.toDisposeOnClean=e.render(this.view)||K.None,this.delegate=e,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(Fa&&qL.pointerEvents)){this.hide();return}this.delegate?.layout?.(),this.doLayout()}}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(ui(e)){const u=ds(e),f=HM(e);t={top:u.top*f,left:u.left*f,width:u.width*f,height:u.height*f}}else qV(e)?t={top:e.y,left:e.x,width:e.width||1,height:e.height||2}:t={top:e.posy,left:e.posx,width:2,height:2};const i=XL(this.view),n=sv(this.view),o=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,a=this.delegate.anchorAxisAlignment||0;let l,c;const h=Lu();if(a===0){const u={offset:t.top-h.pageYOffset,size:t.height,position:o===0?0:1},f={offset:t.left,size:t.width,position:r===0?0:1,mode:ka.ALIGN};l=vh(h.innerHeight,n,u)+h.pageYOffset,Mi.intersects({start:l,end:l+n},{start:u.offset,end:u.offset+u.size})&&(f.mode=ka.AVOID),c=vh(h.innerWidth,i,f)}else{const u={offset:t.left,size:t.width,position:r===0?0:1},f={offset:t.top,size:t.height,position:o===0?0:1,mode:ka.ALIGN};c=vh(h.innerWidth,i,u),Mi.intersects({start:c,end:c+i},{start:u.offset,end:u.offset+u.size})&&(f.mode=ka.AVOID),l=vh(h.innerHeight,n,f)+h.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(o===0?"bottom":"top"),this.view.classList.add(r===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const d=ds(this.container);this.view.style.top=`${l-(this.useFixedPosition?ds(this.view).top:d.top)}px`,this.view.style.left=`${c-(this.useFixedPosition?ds(this.view).left:d.left)}px`,this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t?.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),rv(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,ue(e).document.activeElement):t&&!ci(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}};Wh.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],Wh.BUBBLE_DOWN_EVENTS=["click"];let aS=Wh;const jV=` :host { all: initial; /* 1st rule so subsequent properties are reset. */ } .codicon[class*='codicon-'] { font: normal normal normal 16px/1 codicon; display: inline-block; text-decoration: none; text-rendering: auto; text-align: center; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; user-select: none; -webkit-user-select: none; -ms-user-select: none; } :host { font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif; } :host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; } :host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; } :host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; } :host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; } :host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; } :host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; } :host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; } :host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; } :host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; } :host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; } :host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; } :host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; } :host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; } :host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; } :host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; } `;var GV=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},ZV=function(s,e){return function(t,i){e(t,i,s)}};let g_=class extends K{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new aS(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let n;t?t===this.layoutService.getContainer(ue(t))?n=1:i?n=3:n=2:n=1,this.contextView.setContainer(t??this.layoutService.activeContainer,n),this.contextView.show(e);const o={close:()=>{this.openContextView===o&&this.hideContextView()}};return this.openContextView=o,o}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};g_=GV([ZV(0,Ja)],g_);class YV extends g_{getContextViewElement(){return this.contextView.getViewElement()}}class QV{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(e===void 0||qn(e)||ui(e))n=e;else if(!Lp(e.markdown))n=e.markdown??e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(p("iconLabel.loading","Loading..."),t,i),this._cancellationTokenSource=new ao;const o=this._cancellationTokenSource.token;if(n=await e.markdown(o),n===void 0&&(n=e.markdownNotSupportedFallback),this.isDisposed||o.isCancellationRequested)return}this.show(n,t,i)}show(e,t,i){const n=this._hoverWidget;if(this.hasContent(e)){const o={content:e,target:this.target,actions:i?.actions,linkHandler:i?.linkHandler,trapFocus:i?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!n,showHoverHint:i?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(o,t)}n?.dispose()}hasContent(e){return e?Xl(e)?!!e.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var XV=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},fu=function(s,e){return function(t,i){e(t,i,s)}};let lS=class extends K{constructor(e,t,i,n,o){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=n,this._accessibilityService=o,this._managedHovers=new Map,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new g_(this._layoutService))}showHover(e,t,i){if(VE(this._currentHoverOptions)===VE(e)||this._currentHover&&this._currentHoverOptions?.persistence?.sticky)return;this._currentHoverOptions=e,this._lastHoverOptions=e;const n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),o=Zi();i||(n&&o?o.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=o):this._lastFocusedElementBeforeOpen=void 0);const r=new ae,a=this._instantiationService.createInstance(rS,e);if(e.persistence?.sticky&&(a.isLocked=!0),a.onDispose(()=>{this._currentHover?.domNode&&UM(this._currentHover.domNode)&&this._lastFocusedElementBeforeOpen?.focus(),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),r.dispose()},void 0,r),!e.container){const l=ui(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(ue(l))}if(this._contextViewHandler.showContextView(new JV(a,t),e.container),a.onRequestLayout(()=>this._contextViewHandler.layout(),void 0,r),e.persistence?.sticky)r.add($(ue(e.container).document,J.MOUSE_DOWN,l=>{ci(l.target,a.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const c of e.target.targetElements)r.add($(c,J.CLICK,()=>this.hideHover()));else r.add($(e.target,J.CLICK,()=>this.hideHover()));const l=Zi();if(l){const c=ue(l).document;r.add($(l,J.KEY_DOWN,h=>this._keyDown(h,a,!!e.persistence?.hideOnKeyDown))),r.add($(c,J.KEY_DOWN,h=>this._keyDown(h,a,!!e.persistence?.hideOnKeyDown))),r.add($(l,J.KEY_UP,h=>this._keyUp(h,a))),r.add($(c,J.KEY_UP,h=>this._keyUp(h,a)))}}if("IntersectionObserver"in ht){const l=new IntersectionObserver(h=>this._intersectionChange(h,a),{threshold:0}),c="targetElements"in e.target?e.target.targetElements[0]:e.target;l.observe(c),r.add(ve(()=>l.disconnect()))}return this._currentHover=a,a}hideHover(){this._currentHover?.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(e,t,i){if(e.key==="Alt"){t.isLocked=!0;return}const n=new vt(e);this._keybindingService.resolveKeyboardEvent(n).getSingleModifierDispatchChords().some(r=>!!r)||this._keybindingService.softDispatch(n,n.target).kind!==0||i&&(!this._currentHoverOptions?.trapFocus||e.key!=="Tab")&&(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus())}_keyUp(e,t){e.key==="Alt"&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus()))}setupManagedHover(e,t,i,n){t.setAttribute("custom-hover","true"),t.title!==""&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",t.title),t.title="");let o,r;const a=(v,w)=>{const y=r!==void 0;v&&(r?.dispose(),r=void 0),w&&(o?.dispose(),o=void 0),y&&(e.onDidHideHover?.(),r=void 0)},l=(v,w,y,L)=>new Mc(async()=>{(!r||r.isDisposed)&&(r=new QV(e,y||t,v>0),await r.update(typeof i=="function"?i():i,w,{...n,trapFocus:L}))},v);let c=!1;const h=$(t,J.MOUSE_DOWN,()=>{c=!0,a(!0,!0)},!0),d=$(t,J.MOUSE_UP,()=>{c=!1},!0),u=$(t,J.MOUSE_LEAVE,v=>{c=!1,a(!1,v.fromElement===t)},!0),f=v=>{if(o)return;const w=new ae,y={targetElements:[t],dispose:()=>{}};if(e.placement===void 0||e.placement==="mouse"){const L=k=>{y.x=k.x+10,ui(k.target)&&HE(k.target,t)!==t&&a(!0,!0)};w.add($(t,J.MOUSE_MOVE,L,!0))}o=w,!(ui(v.target)&&HE(v.target,t)!==t)&&w.add(l(e.delay,!1,y))},g=$(t,J.MOUSE_OVER,f,!0),m=()=>{if(c||o)return;const v={targetElements:[t],dispose:()=>{}},w=new ae,y=()=>a(!0,!0);w.add($(t,J.BLUR,y,!0)),w.add(l(e.delay,!1,v)),o=w};let _;const b=t.tagName.toLowerCase();b!=="input"&&b!=="textarea"&&(_=$(t,J.FOCUS,m,!0));const C={show:v=>{a(!1,!0),l(0,v,void 0,v)},hide:()=>{a(!0,!0)},update:async(v,w)=>{i=v,await r?.update(i,void 0,w)},dispose:()=>{this._managedHovers.delete(t),g.dispose(),u.dispose(),h.dispose(),d.dispose(),_?.dispose(),a(!0,!0)}};return this._managedHovers.set(t,C),C}showManagedHover(e){const t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};lS=XV([fu(0,Qe),fu(1,Gr),fu(2,Ti),fu(3,Ja),fu(4,co)],lS);function VE(s){if(s!==void 0)return s?.id??s}class JV{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function HE(s,e){for(e=e??ue(s).document.body;!s.hasAttribute("custom-hover")&&s!==e;)s=s.parentElement;return s}je(Bg,lS,1);jr((s,e)=>{const t=s.getColor(A6);t&&(e.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`))});const eH=Be("IWorkspaceEditService");class Vk{constructor(e){this.metadata=e}static convert(e){return e.edits.map(t=>{if(Jl.is(t))return Jl.lift(t);if(Xh.is(t))return Xh.lift(t);throw new Error("Unsupported edit")})}}class Jl extends Vk{static is(e){return e instanceof Jl?!0:Ii(e)&&De.isUri(e.resource)&&Ii(e.textEdit)}static lift(e){return e instanceof Jl?e:new Jl(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,n){super(n),this.resource=e,this.textEdit=t,this.versionId=i}}class Xh extends Vk{static is(e){return e instanceof Xh?!0:Ii(e)&&(!!e.newResource||!!e.oldResource)}static lift(e){return e instanceof Xh?e:new Xh(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},n){super(n),this.oldResource=e,this.newResource=t,this.options=i}}const Li={enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1},tH=Object.freeze({id:"editor",order:5,type:"object",title:p("editorConfigurationTitle","Editor"),scope:5}),m_={...tH,properties:{"editor.tabSize":{type:"number",default:Ai.tabSize,minimum:1,markdownDescription:p("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:p("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:Ai.insertSpaces,markdownDescription:p("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:Ai.detectIndentation,markdownDescription:p("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:Ai.trimAutoWhitespace,description:p("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:Ai.largeFileOptimizations,description:p("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[p("wordBasedSuggestions.off","Turn off Word Based Suggestions."),p("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),p("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),p("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:p("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[p("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),p("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),p("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:p("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:p("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:p("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:p("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:p("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:p("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:p("editor.experimental.treeSitterTelemetry","Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `editor.experimental.preferTreeSitter` for specific languages will take precedence."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:p("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:p("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:p("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:p("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:p("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:p("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:Li.maxComputationTime,description:p("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:Li.maxFileSize,description:p("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:Li.renderSideBySide,description:p("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:Li.renderSideBySideInlineBreakpoint,description:p("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:Li.useInlineViewWhenSpaceIsLimited,description:p("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:Li.renderMarginRevertIcon,description:p("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:Li.renderGutterMenu,description:p("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:Li.ignoreTrimWhitespace,description:p("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:Li.renderIndicators,description:p("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:Li.diffCodeLens,description:p("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:Li.diffWordWrap,markdownEnumDescriptions:[p("wordWrap.off","Lines will never wrap."),p("wordWrap.on","Lines will wrap at the viewport width."),p("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:Li.diffAlgorithm,markdownEnumDescriptions:[p("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),p("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:Li.hideUnchangedRegions.enabled,markdownDescription:p("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:Li.hideUnchangedRegions.revealLineCount,markdownDescription:p("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:Li.hideUnchangedRegions.minimumLineCount,markdownDescription:p("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:Li.hideUnchangedRegions.contextLineCount,markdownDescription:p("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:Li.experimental.showMoves,markdownDescription:p("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:Li.experimental.showEmptyDecorations,description:p("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:Li.experimental.useTrueInlineView,description:p("useTrueInlineView","If enabled and the editor uses the inline view, word changes are rendered inline.")}}};function iH(s){return typeof s.type<"u"||typeof s.anyOf<"u"}for(const s of uh){const e=s.schema;if(typeof e<"u")if(iH(e))m_.properties[`editor.${s.name}`]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(m_.properties[t]=e[t])}let ym=null;function AA(){return ym===null&&(ym=Object.create(null),Object.keys(m_.properties).forEach(s=>{ym[s]=!0})),ym}function nH(s){return AA()[`editor.${s}`]||!1}function sH(s){return AA()[`diffEditor.${s}`]||!1}const oH=Si.as(Bc.Configuration);oH.registerConfiguration(m_);class cS{static insert(e,t){return{range:new R(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}function Lm(s){return Object.isFrozen(s)?s:S5(s)}class Ci{static createEmptyModel(e){return new Ci({},[],[],void 0,e)}constructor(e,t,i,n,o){this._contents=e,this._keys=t,this._overrides=i,this.raw=n,this.logService=o,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this.raw?.length){const e=this.raw.map(t=>{if(t instanceof Ci)return t;const i=new rH("",this.logService);return i.parseRaw(t),i.configurationModel});this._rawConfiguration=e.reduce((t,i)=>i===t?i:t.merge(i),e[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?u2(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return Lm(i.rawConfiguration.getValue(e))},get override(){return t?Lm(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return Lm(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const n=[];for(const{contents:o,identifiers:r,keys:a}of i.rawConfiguration.overrides){const l=new Ci(o,a,[],void 0,i.logService).getValue(e);l!==void 0&&n.push({identifiers:r,value:l})}return n.length?Lm(n):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?u2(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){const t=ca(this.contents),i=ca(this.overrides),n=[...this.keys],o=this.raw?.length?[...this.raw]:[this];for(const r of e)if(o.push(...r.raw?.length?r.raw:[r]),!r.isEmpty()){this.mergeContents(t,r.contents);for(const a of r.overrides){const[l]=i.filter(c=>ii(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=gc(l.keys)):i.push(ca(a))}for(const a of r.keys)n.indexOf(a)===-1&&n.push(a)}return new Ci(t,n,i,o.every(r=>r instanceof Ci)?void 0:o,this.logService)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||typeof t!="object"||!Object.keys(t).length)return this;const i={};for(const n of gc([...Object.keys(this.contents),...Object.keys(t)])){let o=this.contents[n];const r=t[n];r&&(typeof o=="object"&&typeof r=="object"?(o=ca(o),this.mergeContents(o,r)):o=r),i[n]=o}return new Ci(i,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(const i of Object.keys(t)){if(i in e&&Ii(e[i])&&Ii(t[i])){this.mergeContents(e[i],t[i]);continue}e[i]=ca(t[i])}}getContentsForOverrideIdentifer(e){let t=null,i=null;const n=o=>{o&&(i?this.mergeContents(i,o):i=ca(o))};for(const o of this.overrides)o.identifiers.length===1&&o.identifiers[0]===e?t=o.contents:o.identifiers.includes(e)&&n(o.contents);return n(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),sF(this.contents,e),Ua.test(e)&&this.overrides.splice(this.overrides.findIndex(i=>ii(i.identifiers,$p(e))),1))}updateValue(e,t,i){if(hR(this.contents,e,t,n=>this.logService.error(n)),i=i||this.keys.indexOf(e)===-1,i&&this.keys.push(e),Ua.test(e)){const n=$p(e),o={identifiers:n,keys:Object.keys(this.contents[e]),contents:mv(this.contents[e],a=>this.logService.error(a))},r=this.overrides.findIndex(a=>ii(a.identifiers,n));r!==-1?this.overrides[r]=o:this.overrides.push(o)}}}class rH{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||Ci.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;const{contents:i,keys:n,overrides:o,restricted:r,hasExcludedProperties:a}=this.doParseRaw(e,t);this._configurationModel=new Ci(i,n,o,a?[e]:void 0,this.logService),this._restrictedConfigurations=r||[]}doParseRaw(e,t){const i=Si.as(Bc.Configuration).getConfigurationProperties(),n=this.filter(e,i,!0,t);e=n.raw;const o=mv(e,l=>this.logService.error(`Conflict in settings file ${this._name}: ${l}`)),r=Object.keys(e),a=this.toOverrides(e,l=>this.logService.error(`Conflict in settings file ${this._name}: ${l}`));return{contents:o,keys:r,overrides:a,restricted:n.restricted,hasExcludedProperties:n.hasExcludedProperties}}filter(e,t,i,n){let o=!1;if(!n?.scopes&&!n?.skipRestricted&&!n?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:o};const r={},a=[];for(const l in e)if(Ua.test(l)&&i){const c=this.filter(e[l],t,!1,n);r[l]=c.raw,o=o||c.hasExcludedProperties,a.push(...c.restricted)}else{const c=t[l],h=c?typeof c.scope<"u"?c.scope:3:void 0;c?.restricted&&a.push(l),!n.exclude?.includes(l)&&(n.include?.includes(l)||(h===void 0||n.scopes===void 0||n.scopes.includes(h))&&!(n.skipRestricted&&c?.restricted))?r[l]=e[l]:o=!0}return{raw:r,restricted:a,hasExcludedProperties:o}}toOverrides(e,t){const i=[];for(const n of Object.keys(e))if(Ua.test(n)){const o={};for(const r in e[n])o[r]=e[n][r];i.push({identifiers:$p(n),keys:Object.keys(o),contents:mv(o,t)})}return i}}class aH{constructor(e,t,i,n,o,r,a,l,c,h,d,u,f){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=n,this.defaultConfiguration=o,this.policyConfiguration=r,this.applicationConfiguration=a,this.userConfiguration=l,this.localUserConfiguration=c,this.remoteUserConfiguration=h,this.workspaceConfiguration=d,this.folderConfigurationModel=u,this.memoryConfigurationModel=f}toInspectValue(e){return e?.value!==void 0||e?.override!==void 0||e?.overrides!==void 0?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class Wb{constructor(e,t,i,n,o,r,a,l,c,h){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=n,this._remoteUserConfiguration=o,this._workspaceConfiguration=r,this._folderConfigurations=a,this._memoryConfiguration=l,this._memoryConfigurationByResource=c,this.logService=h,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new Gn,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let n;i.resource?(n=this._memoryConfigurationByResource.get(i.resource),n||(n=Ci.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(i.resource,n))):n=this._memoryConfiguration,t===void 0?n.removeValue(e):n.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const n=this.getConsolidatedConfigurationModel(e,t,i),o=this.getFolderConfigurationModelForResource(t.resource,i),r=t.resource?this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(const l of n.overrides)for(const c of l.identifiers)n.getOverrideValue(e,c)!==void 0&&a.add(c);return new aH(e,t,n.getValue(e),a.size?[...a]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,o||void 0,r)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let n=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(n=n.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0&&(n=n.merge(this._policyConfiguration)),n}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const n=t.getFolder(e);n&&(i=this.getFolderConsolidatedConfiguration(n.uri)||i);const o=this._memoryConfigurationByResource.get(e);o&&(i=i.merge(o))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(e);n?(t=i.merge(n),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{const{contents:i,overrides:n,keys:o}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:n,keys:o}]),e},[])}}static parse(e,t){const i=this.parseConfigurationModel(e.defaults,t),n=this.parseConfigurationModel(e.policy,t),o=this.parseConfigurationModel(e.application,t),r=this.parseConfigurationModel(e.user,t),a=this.parseConfigurationModel(e.workspace,t),l=e.folders.reduce((c,h)=>(c.set(De.revive(h[0]),this.parseConfigurationModel(h[1],t)),c),new Gn);return new Wb(i,n,o,r,Ci.createEmptyModel(t),a,l,Ci.createEmptyModel(t),new Gn,t)}static parseConfigurationModel(e,t){return new Ci(e.contents,e.keys,e.overrides,void 0,t)}}class lH{constructor(e,t,i,n,o){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=n,this.logService=o,this._marker=` `,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const r of e.keys)this.affectedKeys.add(r);for(const[,r]of e.overrides)for(const a of r)this.affectedKeys.add(a);this._affectsConfigStr=this._marker;for(const r of this.affectedKeys)this._affectsConfigStr+=r+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Wb.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){const i=this._marker+e,n=this._affectsConfigStr.indexOf(i);if(n<0)return!1;const o=n+i.length;if(o>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(o);if(r!==this._markerCode1&&r!==this._markerCode2)return!1;if(t){const a=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!En(a,l)}return!0}}class cH{constructor(){this._onDidChange=new A,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}const Ku=new cH,p_={kind:0},hH={kind:1};function dH(s,e,t){return{kind:2,commandId:s,commandArgs:e,isBubble:t}}class qu{constructor(e,t,i){this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const n of e){const o=n.command;o&&o.charAt(0)!=="-"&&this._defaultBoundCommands.set(o,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=qu.handleRemovals([].concat(e).concat(t));for(let n=0,o=this._keybindings.length;n"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let n=i.length-1;n>=0;n--){const o=i[n];if(o.command===t.command)continue;let r=!0;for(let a=1;a"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,n=t.length;i"u"||i.length===0)return null;if(i.length===1)return i[0];for(let n=i.length-1;n>=0;n--){const o=i[n];if(t.contextMatchesRules(o.when))return o}return i[i.length-1]}resolve(e,t,i){const n=[...t,i];this._log(`| Resolving ${n}`);const o=this._map.get(n[0]);if(o===void 0)return this._log("\\ No keybinding entries."),p_;let r=null;if(n.length<2)r=o;else{r=[];for(let l=0,c=o.length;lh.chords.length)continue;let d=!0;for(let u=1;u=0;i--){const n=t[i];if(qu._contextMatchesRules(e,n.when))return n}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}}function zE(s){return s?`${s.serialize()}`:"no when condition"}function UE(s){return s.extensionId?s.isBuiltinExtension?`built-in extension ${s.extensionId}`:`user extension ${s.extensionId}`:s.isDefault?"built-in":"user"}const uH=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class fH extends K{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:Q.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,n,o){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=n,this._logService=o,this._onDidUpdateKeybindings=this._register(new A),this._currentChords=[],this._currentChordChecker=new jL,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Sh.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new Mc,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),p_;const[n]=i.getDispatchChords();if(n===null)return this._log("\\ Keyboard event cannot be dispatched"),p_;const o=this._contextKeyService.getContext(t),r=this._currentChords.map(({keypress:a})=>a);return this._getResolver().resolve(o,r,n)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw TL("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(p("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const i=this._currentChords.map(({label:n})=>n).join(", ");this._currentChordStatusMessage=this._notificationService.status(p("next.chord","({0}) was pressed. Waiting for next key of chord...",i))}}this._scheduleLeaveChordMode(),Ku.enabled&&Ku.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],Ku.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[n]=i.getSingleModifierDispatchChords();if(n)return this._ignoreSingleModifiers.has(n)?(this._log(`+ Ignoring single modifier ${n} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Sh.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Sh.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${n}.`),this._currentSingleModifier=n,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):n===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${n} ${n}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${n}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[o]=i.getChords();return this._ignoreSingleModifiers=new Sh(o),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){let n=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let o=null,r=null;if(i){const[h]=e.getSingleModifierDispatchChords();o=h,r=h?[h]:[]}else[o]=e.getDispatchChords(),r=this._currentChords.map(({keypress:h})=>h);if(o===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),n;const a=this._contextKeyService.getContext(t),l=e.getLabel(),c=this._getResolver().resolve(a,r,o);switch(c.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",l,"[ No matching keybinding ]"),this.inChordMode){const h=this._currentChords.map(({label:d})=>d).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${h}, ${l}".`),this._notificationService.status(p("missing.chord","The key combination ({0}, {1}) is not a command.",h,l),{hideAfter:10*1e3}),this._leaveChordMode(),n=!0}return n}case 1:return this._logService.trace("KeybindingService#dispatch",l,"[ Several keybindings match - more chords needed ]"),n=!0,this._expectAnotherChord(o,l),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),n;case 2:{if(this._logService.trace("KeybindingService#dispatch",l,`[ Will dispatch command ${c.commandId} ]`),c.commandId===null||c.commandId===""){if(this.inChordMode){const h=this._currentChords.map(({label:d})=>d).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${h}, ${l}".`),this._notificationService.status(p("missing.chord","The key combination ({0}, {1}) is not a command.",h,l),{hideAfter:10*1e3}),this._leaveChordMode(),n=!0}}else{this.inChordMode&&this._leaveChordMode(),c.isBubble||(n=!0),this._log(`+ Invoking command ${c.commandId}.`),this._currentlyDispatchingCommandId=c.commandId;try{typeof c.commandArgs>"u"?this._commandService.executeCommand(c.commandId).then(void 0,h=>this._notificationService.warn(h)):this._commandService.executeCommand(c.commandId,c.commandArgs).then(void 0,h=>this._notificationService.warn(h))}finally{this._currentlyDispatchingCommandId=null}uH.test(c.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:c.commandId,from:"keybinding",detail:e.getUserSettingsLabel()??void 0})}return n}}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}}const N1=class N1{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}};N1.EMPTY=new N1(null);let Sh=N1;class $E{constructor(e,t,i,n,o,r,a){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?hS(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=hS(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=n,this.isDefault=o,this.extensionId=r,this.isBuiltinExtension=a}}function hS(s){const e=[];for(let t=0,i=s.length;tthis._getLabel(e))}getAriaLabel(){return gH.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:mH.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return pH.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new B7(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}}class Qf extends bH{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return Cr.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":Cr.toString(e.keyCode)}_getElectronAccelerator(e){return Cr.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=Cr.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(e){return Qf.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=Cr.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?"ctrl":e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?"shift":e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?"alt":e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?"meta":null}static _scanCodeToKeyCode(e){const t=PL[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof pc)return e;const t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new pc(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=hS(e.chords.map(n=>this._toKeyCodeChord(n)));return i.length>0?[new Qf(i,t)]:[]}}const CH=Be("labelService"),wH=Be("progressService"),hD=class hD{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}};hD.None=Object.freeze({report(){}});let KE=hD;const zk=Be("editorProgressService");class vH{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const i=this._value.charCodeAt(t);if(!(i===47||this._splitOnBackslash&&i===92))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new ju(new LH(e,t))}static forStrings(){return new ju(new vH)}static forConfigKeys(){return new ju(new SH)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let n;this._root||(this._root=new km,this._root.segment=i.value());const o=[];for(n=this._root;;){const a=i.cmp(n.segment);if(a>0)n.left||(n.left=new km,n.left.segment=i.value()),o.push([-1,n]),n=n.left;else if(a<0)n.right||(n.right=new km,n.right.segment=i.value()),o.push([1,n]),n=n.right;else if(i.hasNext())i.next(),n.mid||(n.mid=new km,n.mid.segment=i.value()),o.push([0,n]),n=n.mid;else break}const r=n.value;n.value=t,n.key=e;for(let a=o.length-1;a>=0;a--){const l=o[a][1];l.updateHeight();const c=l.balanceFactor();if(c<-1||c>1){const h=o[a][0],d=o[a+1][0];if(h===1&&d===1)o[a][1]=l.rotateLeft();else if(h===-1&&d===-1)o[a][1]=l.rotateRight();else if(h===1&&d===-1)l.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=l.rotateLeft();else if(h===-1&&d===1)l.left=o[a+1][1]=o[a+1][1].rotateLeft(),o[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}return r}get(e){return this._getNode(e)?.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const n=t.cmp(i.segment);if(n>0)i=i.left;else if(n<0)i=i.right;else if(t.hasNext())t.next(),i=i.mid;else break}return i}has(e){const t=this._getNode(e);return!(t?.value===void 0&&t?.mid===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){const i=this._iter.reset(e),n=[];let o=this._root;for(;o;){const r=i.cmp(o.segment);if(r>0)n.push([-1,o]),o=o.left;else if(r<0)n.push([1,o]),o=o.right;else if(i.hasNext())i.next(),n.push([0,o]),o=o.mid;else break}if(o){if(t?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){const r=this._min(o.right);if(r.key){const{key:a,value:l,segment:c}=r;this._delete(r.key,!1),o.key=a,o.value=l,o.segment=c}}else{const r=o.left??o.right;if(n.length>0){const[a,l]=n[n.length-1];switch(a){case-1:l.left=r;break;case 0:l.mid=r;break;case 1:l.right=r;break}}else this._root=r}for(let r=n.length-1;r>=0;r--){const a=n[r][1];a.updateHeight();const l=a.balanceFactor();if(l>1?(a.right.balanceFactor()>=0||(a.right=a.right.rotateRight()),n[r][1]=a.rotateLeft()):l<-1&&(a.left.balanceFactor()<=0||(a.left=a.left.rotateLeft()),n[r][1]=a.rotateRight()),r>0)switch(n[r-1][0]){case-1:n[r-1][1].left=n[r][1];break;case 1:n[r-1][1].right=n[r][1];break;case 0:n[r-1][1].mid=n[r][1];break}else this._root=n[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i=this._root,n;for(;i;){const o=t.cmp(i.segment);if(o>0)i=i.left;else if(o<0)i=i.right;else if(t.hasNext())t.next(),n=i.value||n,i=i.mid;else break}return i&&i.value||n}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let n=this._root;for(;n;){const o=i.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else if(i.hasNext())i.next(),n=n.mid;else return n.mid?this._entries(n.mid):t?n.value:void 0}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const kH=Be("contextService");function xH(s){const e=s;return typeof e?.id=="string"&&De.isUri(e.uri)}function Uie(s){return typeof s?.id=="string"&&!xH(s)&&!EH(s)}const DH={id:"empty-window"};function $ie(s,e){if(typeof s=="string"||typeof s>"u")return typeof s=="string"?{id:OL(s)}:DH;const t=s;return t.configuration?{id:t.id,configPath:t.configuration}:t.folders.length===1?{id:t.id,uri:t.folders[0].uri}:{id:t.id}}function EH(s){const e=s;return typeof e?.id=="string"&&De.isUri(e.configPath)}class IH{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const NH="code-workspace";p("codeWorkspace","Code Workspace");const PA="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function Kie(s){return s.id===PA}var qE;(function(s){s.inspectTokensAction=p("inspectTokens","Developer: Inspect Tokens")})(qE||(qE={}));var jE;(function(s){s.gotoLineActionLabel=p("gotoLineActionLabel","Go to Line/Column...")})(jE||(jE={}));var GE;(function(s){s.helpQuickAccessActionLabel=p("helpQuickAccess","Show all Quick Access Providers")})(GE||(GE={}));var ZE;(function(s){s.quickCommandActionLabel=p("quickCommandActionLabel","Command Palette"),s.quickCommandHelp=p("quickCommandActionHelp","Show And Run Commands")})(ZE||(ZE={}));var YE;(function(s){s.quickOutlineActionLabel=p("quickOutlineActionLabel","Go to Symbol..."),s.quickOutlineByCategoryActionLabel=p("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(YE||(YE={}));var dS;(function(s){s.editorViewAccessibleLabel=p("editorViewAccessibleLabel","Editor content")})(dS||(dS={}));var QE;(function(s){s.toggleHighContrast=p("toggleHighContrast","Toggle High Contrast Theme")})(QE||(QE={}));var uS;(function(s){s.bulkEditServiceSummary=p("bulkEditServiceSummary","Made {0} edits in {1} files")})(uS||(uS={}));const TH=Be("workspaceTrustManagementService");let Dd=[],Uk=[],OA=[];function xm(s,e=!1){MH(s,!1,e)}function MH(s,e,t){const i=RH(s,e);Dd.push(i),i.userConfigured?OA.push(i):Uk.push(i),t&&!i.userConfigured&&Dd.forEach(n=>{n.mime===i.mime||n.userConfigured||(i.extension&&n.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&n.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&n.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&n.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))})}function RH(s,e){return{id:s.id,mime:s.mime,filename:s.filename,extension:s.extension,filepattern:s.filepattern,firstline:s.firstline,userConfigured:e,filenameLowercase:s.filename?s.filename.toLowerCase():void 0,extensionLowercase:s.extension?s.extension.toLowerCase():void 0,filepatternLowercase:s.filepattern?zR(s.filepattern.toLowerCase()):void 0,filepatternOnPath:s.filepattern?s.filepattern.indexOf(zt.sep)>=0:!1}}function AH(){Dd=Dd.filter(s=>s.userConfigured),Uk=[]}function PH(s,e){return OH(s,e).map(t=>t.id)}function OH(s,e){let t;if(s)switch(s.scheme){case Ie.file:t=s.fsPath;break;case Ie.data:{t=h_.parseMetaData(s).get(h_.META_DATA_LABEL);break}case Ie.vscodeNotebookCell:t=void 0;break;default:t=s.path}if(!t)return[{id:"unknown",mime:Sr.unknown}];t=t.toLowerCase();const i=OL(t),n=XE(t,i,OA);if(n)return[n,{id:Ts,mime:Sr.text}];const o=XE(t,i,Uk);if(o)return[o,{id:Ts,mime:Sr.text}];if(e){const r=FH(e);if(r)return[r,{id:Ts,mime:Sr.text}]}return[{id:"unknown",mime:Sr.unknown}]}function XE(s,e,t){let i,n,o;for(let r=t.length-1;r>=0;r--){const a=t[r];if(e===a.filenameLowercase){i=a;break}if(a.filepattern&&(!n||a.filepattern.length>n.filepattern.length)){const l=a.filepatternOnPath?s:e;a.filepatternLowercase?.(l)&&(n=a)}a.extension&&(!o||a.extension.length>o.extension.length)&&e.endsWith(a.extensionLowercase)&&(o=a)}if(i)return i;if(n)return n;if(o)return o}function FH(s){if(KL(s)&&(s=s.substr(1)),s.length>0)for(let e=Dd.length-1;e>=0;e--){const t=Dd[e];if(!t.firstline)continue;const i=s.match(t.firstline);if(i&&i.length>0)return t}}const Dm=Object.prototype.hasOwnProperty,JE="vs.editor.nullLanguage";class BH{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(JE,0),this._register(Ts,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||JE}}const vf=class vf extends K{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,vf.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new BH,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(Cd.onDidChangeLanguages(i=>{this._initializeFromRegistry()})))}dispose(){vf.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},AH();const e=[].concat(Cd.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach(n=>{this._lowercaseNameMap[n.toLowerCase()]=i.identifier}),i.mimetypes.forEach(n=>{this._mimeTypesMap[n]=i.identifier})}),Si.as(Bc.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;Dm.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let n=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),n=t.mimetypes[0]),n||(n=`text/x-${i}`,e.mimetypes.push(n)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const a of t.extensions)xm({id:i,mime:n,extension:a},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const a of t.filenames)xm({id:i,mime:n,filename:a},this._warnOnOverwrite),e.filenames.push(a);if(Array.isArray(t.filenamePatterns))for(const a of t.filenamePatterns)xm({id:i,mime:n,filepattern:a},this._warnOnOverwrite);if(typeof t.firstLine=="string"&&t.firstLine.length>0){let a=t.firstLine;a.charAt(0)!=="^"&&(a="^"+a);try{const l=new RegExp(a);D7(l)||xm({id:i,mime:n,firstline:l},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${a}\`: `,l)}}e.aliases.push(i);let o=null;if(typeof t.aliases<"u"&&Array.isArray(t.aliases)&&(t.aliases.length===0?o=[null]:o=t.aliases),o!==null)for(const a of o)!a||a.length===0||e.aliases.push(a);const r=o!==null&&o.length>0;if(!(r&&o[0]===null)){const a=(r?o[0]:null)||i;(r||!e.name)&&(e.name=a)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?Dm.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return Dm.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&Dm.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:PH(e,t)}};vf.instanceCount=0;let fS=vf;const Qn=(s,e)=>s===e;function WH(s=Qn){return(e,t)=>ii(e,t,s)}function qie(){return(s,e)=>s.equals(e)}function eI(s,e,t){if(t!==void 0){const i=s;return i==null||e===void 0||e===null?e===i:t(i,e)}else{const i=s;return(n,o)=>n==null||o===void 0||o===null?o===n:i(n,o)}}function tI(s,e){if(s===e)return!0;if(Array.isArray(s)&&Array.isArray(e)){if(s.length!==e.length)return!1;for(let t=0;t{const o=$k(n);if(o!==void 0)return o;const a=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(n.toString());if(a)return`${this.debugName}.${a[2]}`;if(!i)return`${this.debugName} (mapped)`},debugReferenceFn:n},o=>n(this.read(o),o))}flatten(){return mS({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(BA(this,t)),this}keepObserved(e){return e.add(WA(this)),this}}class Hd extends VA{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),t===0&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function Gt(s,e){const t=new zd(s,e);try{s(t)}finally{t.finish()}}let Em;function Iu(s){if(Em)s(Em);else{const e=new zd(s,void 0);Em=e;try{s(e)}finally{e.finish(),Em=void 0}}}async function jie(s,e){const t=new zd(s,e);try{await s(t)}finally{t.finish()}}function Kk(s,e,t){s?e(s):Gt(e,t)}class zd{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():$k(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t{},()=>`Setting ${this.debugName}`));try{const o=this._value;this._setValue(e),FA()?.handleObservableChanged(this,{oldValue:o,newValue:e,change:i,didChange:!0,hadValue:!0});for(const r of this.observers)t.updateObserver(r,this),r.handleChange(this,i)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function HA(s,e){let t;return typeof s=="string"?t=new Bi(void 0,s,void 0):t=new Bi(s,void 0,void 0),new ZH(t,e,Qn)}class ZH extends qk{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}}function ye(s,e){return e!==void 0?new Lc(new Bi(s,void 0,e),e,void 0,void 0,void 0,Qn):new Lc(new Bi(void 0,void 0,s),s,void 0,void 0,void 0,Qn)}function jk(s,e,t){return new YH(new Bi(s,void 0,e),e,void 0,void 0,void 0,Qn,t)}function Hg(s,e){return new Lc(new Bi(s.owner,s.debugName,s.debugReferenceFn),e,void 0,void 0,s.onLastObserverRemoved,s.equalsFn??Qn)}GH(Hg);function Gie(s,e){return new Lc(new Bi(s.owner,s.debugName,void 0),e,s.createEmptyChangeSummary,s.handleChange,void 0,s.equalityComparer??Qn)}function Ud(s,e){let t,i;e===void 0?(t=s,i=void 0):(i=s,t=e);const n=new ae;return new Lc(new Bi(i,void 0,t),o=>(n.clear(),t(o,n)),void 0,void 0,()=>n.dispose(),Qn)}function So(s,e){let t,i;e===void 0?(t=s,i=void 0):(i=s,t=e);let n;return new Lc(new Bi(i,void 0,t),o=>{n?n.clear():n=new ae;const r=t(o);return r&&n.add(r),r},void 0,void 0,()=>{n&&(n.dispose(),n=void 0)},Qn)}class Lc extends Hd{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,n,o=void 0,r){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=n,this._handleLastObserverRemoved=o,this._equalityComparator=r,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.()}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(this.observers.size===0){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}else{do{if(this.state===1){for(const e of this.dependencies)if(e.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){if(this.state===3)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=this.state!==0,i=this.value;this.state=3;const n=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,n)}finally{for(const r of this.dependenciesToBeRemoved)r.removeObserver(this);this.dependenciesToBeRemoved.clear()}if(t&&!this._equalityComparator(i,this.value))for(const r of this.observers)r.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=this.updateCount===1;if(this.state===3&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,this.updateCount===0){const t=[...this.observers];for(const i of t)i.endUpdate(this)}Cc(()=>this.updateCount>=0)}handlePossibleChange(e){if(this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=this._handleChange?this._handleChange({changedObservable:e,change:t,didChange:o=>o===e},this.changeSummary):!0,n=this.state===3;if(i&&(this.state===1||n)&&(this.state=2,n))for(const o of this.observers)o.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}class YH extends Lc{constructor(e,t,i,n,o=void 0,r,a){super(e,t,i,n,o,r),this.set=a}}function Ze(s){return new zb(new Bi(void 0,void 0,s),s,void 0,void 0)}function Hb(s,e){return new zb(new Bi(s.owner,s.debugName,s.debugReferenceFn??e),e,void 0,void 0)}function zg(s,e){return new zb(new Bi(s.owner,s.debugName,s.debugReferenceFn??e),e,s.createEmptyChangeSummary,s.handleChange)}function QH(s,e){const t=new ae,i=zg({owner:s.owner,debugName:s.debugName,debugReferenceFn:s.debugReferenceFn??e,createEmptyChangeSummary:s.createEmptyChangeSummary,handleChange:s.handleChange},(n,o)=>{t.clear(),e(n,o,t)});return ve(()=>{i.dispose(),t.dispose()})}function eo(s){const e=new ae,t=Hb({owner:void 0,debugName:void 0,debugReferenceFn:s},i=>{e.clear(),s(i,e)});return ve(()=>{t.dispose(),e.dispose()})}class zb{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,n){this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=n,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),this._runIfNeeded()}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){if(this.state===3)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){FA()?.handleAutorunTriggered(this);const i=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,i)}}finally{for(const i of this.dependenciesToBeRemoved)i.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,Cc(()=>this.updateCount>=0)}handlePossibleChange(e){this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:n=>n===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}(function(s){s.Observer=zb})(Ze||(Ze={}));function __(s){return new XH(s)}class XH extends VA{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 Ot(...s){let e,t,i;return s.length===3?[e,t,i]=s:[t,i]=s,new xa(new Bi(e,void 0,i),t,i,()=>xa.globalTransaction,Qn)}function JH(s,e,t){return new xa(new Bi(s.owner,s.debugName,s.debugReferenceFn??t),e,t,()=>xa.globalTransaction,s.equalsFn??Qn)}class xa extends Hd{constructor(e,t,i,n,o){super(),this._debugNameData=e,this.event=t,this._getValue=i,this._getTransaction=n,this._equalityComparator=o,this.hasValue=!1,this.handleEvent=r=>{const a=this._getValue(r),l=this.value;(!this.hasValue||!this._equalityComparator(l,a))&&(this.value=a,this.hasValue&&Kk(this._getTransaction(),h=>{for(const d of this.observers)h.updateObserver(d,this),d.handleChange(this,void 0)},()=>{const h=this.getDebugName();return"Event fired"+(h?`: ${h}`:"")}),this.hasValue=!0)}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}(function(s){s.Observer=xa;function e(t,i){let n=!1;xa.globalTransaction===void 0&&(xa.globalTransaction=t,n=!0);try{i()}finally{n&&(xa.globalTransaction=void 0)}}s.batchEventsGlobally=e})(Ot||(Ot={}));function ls(s,e){return new ez(s,e)}class ez extends Hd{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{Gt(i=>{for(const n of this.observers)i.updateObserver(n,this),n.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function Gk(s){return typeof s=="string"?new oI(s):new oI(void 0,s)}class oI extends Hd{get debugName(){return new Bi(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(!e){Gt(i=>{this.trigger(i,t)},()=>`Trigger signal ${this.debugName}`);return}for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t)}get(){}}function tz(s){const e=new zA(!1,void 0);return s.addObserver(e),ve(()=>{s.removeObserver(e)})}jH(tz);function Ub(s,e){const t=new zA(!0,e);return s.addObserver(t),e?e(s.get()):s.reportChanges(),ve(()=>{s.removeObserver(t)})}qH(Ub);class zA{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function iz(s,e){let t;return Hg({owner:s,debugReferenceFn:e},n=>(t=e(n,t),t))}function Zie(s,e,t,i){let n=new rI(t,i);return Hg({debugReferenceFn:t,owner:s,onLastObserverRemoved:()=>{n.dispose(),n=new rI(t)}},r=>(n.setItems(e.read(r)),n.getItems()))}class rI{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const n of e){const o=this._keySelector?this._keySelector(n):n;let r=this._cache.get(o);if(r)i.delete(o);else{const a=new ae;r={out:this._map(n,a),store:a},this._cache.set(o,r)}t.push(r.out)}for(const n of i)this._cache.get(n).store.dispose(),this._cache.delete(n);this._items=t}getItems(){return this._items}}function nz(s,e){return iz(s,(t,i)=>i??e(t))}class UA{static fromFn(e){return new UA(e())}constructor(e){this._value=We(this,void 0),this.promiseResult=this._value,this.promise=e.then(t=>(Gt(i=>{this._value.set(new aI(t,void 0),i)}),t),t=>{throw Gt(i=>{this._value.set(new aI(void 0,t),i)}),t})}}class aI{constructor(e,t){this.data=e,this.error=t}}function sz(s,e,t,i){return e||(e=n=>n!=null),new Promise((n,o)=>{let r=!0,a=!1;const l=s.map(h=>({isFinished:e(h),error:t?t(h):!1,state:h})),c=Ze(h=>{const{isFinished:d,error:u,state:f}=l.read(h);(d||u)&&(r?a=!0:c.dispose(),u?o(u===!0?f:u):n(f))});if(i){const h=i.onCancellationRequested(()=>{c.dispose(),h.dispose(),o(new Ba)});if(i.isCancellationRequested){c.dispose(),h.dispose(),o(new Ba);return}}r=!1,a&&c.dispose()})}class oz extends Hd{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(e,t,i){super(),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const e of this.observers)for(const t of this._deltas)e.handleChange(this,t);this._deltas.length=0}else for(const e of this.observers)e.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const e of this.observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const e=[...this.observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this.observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(i===void 0&&this._equalityComparator(this._value,e))return;let n;t||(t=n=new zd(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),i!==void 0&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(o,r)=>{},handlePossibleChange:o=>{}},this),this._updateCounter>1)for(const o of this.observers)o.handlePossibleChange(this)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function pS(s,e){return s.lazy?new oz(new Bi(s.owner,s.debugName,void 0),e,s.equalsFn??Qn):new qk(new Bi(s.owner,s.debugName,void 0),e,s.equalsFn??Qn)}const Sf=class Sf extends K{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new A),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new A),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new A({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,Sf.instanceCount++,this._registry=this._register(new fS(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){Sf.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return LL(i,null)}createById(e){return new lI(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new lI(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=Ts),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),qt.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}};Sf.instanceCount=0;let _S=Sf;class lI{constructor(e,t){this._value=Ot(this,e,()=>t()),this.onDidChange=Q.fromObservable(this._value)}get languageId(){return this._value.get()}}const $A={RESOURCES:"ResourceURLs",TEXT:Sr.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"},rz=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});let $b=rz;const az=new Wa(()=>$b("mouse",!1)),lz=new Wa(()=>$b("element",!1));function cz(s){$b=s}function _s(s){return s==="element"?lz.value:az.value}function Zk(){return $b("element",!0)}let KA={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function hz(s){KA=s}function jo(){return KA}class dz{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(n=>n.splice(e,t,i))}}class hl extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}function cI(s,e){const t=[];for(const i of e){if(s.start>=i.range.end)continue;if(s.ende.concat(t),[]))}class gz{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const n=i.length-t,o=cI({start:0,end:e},this.groups),r=cI({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(l=>({range:bS(l.range,n),size:l.size})),a=i.map((l,c)=>({range:{start:e+c,end:e+c+1},size:l.size}));this.groups=fz(o,a,r),this._size=this._paddingTop+this.groups.reduce((l,c)=>l+c.size*(c.range.end-c.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var Yr=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o};const dl={CurrentDragAndDropData:void 0},bo={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(s){return[s]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class Ug{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class pz{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class _z{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tn,e?.getPosInSet?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(t,i)=>i+1,e?.getRole?this.getRole=e.getRole.bind(e):this.getRole=t=>"listitem",e?.isChecked?this.isChecked=e.isChecked.bind(e):this.isChecked=t=>{}}}const T1=class T1{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:L0(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,n=bo){if(this.virtualDelegate=t,this.domId=`list_id_${++T1.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Ng(50),this.splicing=!1,this.dragOverAnimationStopDisposable=K.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=K.None,this.onDragLeaveTimeout=K.None,this.disposables=new ae,this._onDidChangeContentHeight=new A,this._onDidChangeContentWidth=new A,this.onDidChangeContentHeight=Q.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,n.horizontalScrolling&&n.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(n.paddingTop??0);for(const r of i)this.renderers.set(r.templateId,r);this.cache=this.disposables.add(new mz(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof n.mouseSupport=="boolean"?n.mouseSupport:!0),this._horizontalScrolling=n.horizontalScrolling??bo.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof n.paddingBottom>"u"?0:n.paddingBottom,this.accessibilityProvider=new Cz(n.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(n.transformOptimization??bo.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(sn.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new Vd({forceIntegerValues:!0,smoothScrollDuration:n.smoothScrolling??!1?125:0,scheduleAtNextAnimationFrame:r=>Tn(ue(this.domNode),r)})),this.scrollableElement=this.disposables.add(new Ob(this.rowsContainer,{alwaysConsumeMouseWheel:n.alwaysConsumeMouseWheel??bo.alwaysConsumeMouseWheel,horizontal:1,vertical:n.verticalScrollMode??bo.verticalScrollMode,useShadows:n.useShadows??bo.useShadows,mouseWheelScrollSensitivity:n.mouseWheelScrollSensitivity,fastScrollSensitivity:n.fastScrollSensitivity,scrollByPage:n.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add($(this.rowsContainer,pt.Change,r=>this.onTouchChange(r))),this.disposables.add($(this.scrollableElement.getDomNode(),"scroll",r=>r.target.scrollTop=0)),this.disposables.add($(this.domNode,"dragover",r=>this.onDragOver(this.toDragEvent(r)))),this.disposables.add($(this.domNode,"drop",r=>this.onDrop(this.toDragEvent(r)))),this.disposables.add($(this.domNode,"dragleave",r=>this.onDragLeave(this.toDragEvent(r)))),this.disposables.add($(this.domNode,"dragend",r=>this.onDragEnd(r))),this.setRowLineHeight=n.setRowLineHeight??bo.setRowLineHeight,this.setRowHeight=n.setRowHeight??bo.setRowHeight,this.supportDynamicHeights=n.supportDynamicHeights??bo.supportDynamicHeights,this.dnd=n.dnd??this.disposables.add(bo.dnd),this.layout(n.initialSize?.height,n.initialSize?.width)}updateOptions(e){e.paddingBottom!==void 0&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),e.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),e.horizontalScrolling!==void 0&&(this.horizontalScrolling=e.horizontalScrolling);let t;if(e.scrollByPage!==void 0&&(t={...t??{},scrollByPage:e.scrollByPage}),e.mouseWheelScrollSensitivity!==void 0&&(t={...t??{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),e.fastScrollSensitivity!==void 0&&(t={...t??{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),e.paddingTop!==void 0&&e.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+n),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new gz(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const n=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o={start:e,end:e+t},r=Mi.intersect(n,o),a=new Map;for(let y=r.end-1;y>=r.start;y--){const L=this.items[y];if(L.dragStartDisposable.dispose(),L.checkedDisposable.dispose(),L.row){let k=a.get(L.templateId);k||(k=[],a.set(L.templateId,k));const D=this.renderers.get(L.templateId);D&&D.disposeElement&&D.disposeElement(L.element,y,L.row.templateData,L.size),k.unshift(L.row)}L.row=null,L.stale=!0}const l={start:e+t,end:this.items.length},c=Mi.intersect(l,n),h=Mi.relativeComplement(l,n),d=i.map(y=>({id:String(this.itemId++),element:y,templateId:this.virtualDelegate.getTemplateId(y),size:this.virtualDelegate.getHeight(y),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(y),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:K.None,checkedDisposable:K.None,stale:!1}));let u;e===0&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,d),u=this.items,this.items=d):(this.rangeMap.splice(e,t,d),u=this.items.splice(e,t,...d));const f=i.length-t,g=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),m=bS(c,f),_=Mi.intersect(g,m);for(let y=_.start;y<_.end;y++)this.updateItemInDOM(this.items[y],y);const b=Mi.relativeComplement(m,g);for(const y of b)for(let L=y.start;LbS(y,f)),w=[{start:e,end:e+i.length},...C].map(y=>Mi.intersect(g,y)).reverse();for(const y of w)for(let L=y.end-1;L>=y.start;L--){const k=this.items[L],E=a.get(k.templateId)?.pop();this.insertItemInDOM(L,E)}for(const y of a.values())for(const L of y)this.cache.release(L);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),u.map(y=>y.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=Tn(ue(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)typeof t.width<"u"&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:e===0?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex(t=>t.element===e)}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:typeof e=="number"?e:T9(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),typeof t<"u"&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof t=="number"?t:L0(this.domNode)})}render(e,t,i,n,o,r=!1){const a=this.getRenderRange(t,i),l=Mi.relativeComplement(a,e).reverse(),c=Mi.relativeComplement(e,a);if(r){const h=Mi.intersect(e,a);for(let d=h.start;d{for(const h of c)for(let d=h.start;d=h.start;d--)this.insertItemInDOM(d)}),n!==void 0&&(this.rowsContainer.style.left=`-${n}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&o!==void 0&&(this.rowsContainer.style.width=`${Math.max(o,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){const i=this.items[e];if(!i.row)if(t)i.row=t,i.stale=!0;else{const l=this.cache.alloc(i.templateId);i.row=l.row,i.stale||=l.isReusingConnectedDomNode}const n=this.accessibilityProvider.getRole(i.element)||"listitem";i.row.domNode.setAttribute("role",n);const o=this.accessibilityProvider.isChecked(i.element);if(typeof o=="boolean")i.row.domNode.setAttribute("aria-checked",String(!!o));else if(o){const l=c=>i.row.domNode.setAttribute("aria-checked",String(!!c));l(o.value),i.checkedDisposable=o.onDidChange(()=>l(o.value))}if(i.stale||!i.row.domNode.parentElement){const l=this.items.at(e+1)?.row?.domNode??null;(i.row.domNode.parentElement!==this.rowsContainer||i.row.domNode.nextElementSibling!==l)&&this.rowsContainer.insertBefore(i.row.domNode,l),i.stale=!1}this.updateItemInDOM(i,e);const r=this.renderers.get(i.templateId);if(!r)throw new Error(`No renderer found for template id ${i.templateId}`);r?.renderElement(i.element,e,i.row.templateData,i.size);const a=this.dnd.getDragURI(i.element);i.dragStartDisposable.dispose(),i.row.domNode.draggable=!!a,a&&(i.dragStartDisposable=$(i.row.domNode,"dragstart",l=>this.onDragStart(i.element,a,l))),this.horizontalScrolling&&(this.measureItemWidth(i),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=L0(e.row.domNode);const t=ue(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2===0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return Q.map(this.disposables.add(new Te(this.domNode,"click")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return Q.map(this.disposables.add(new Te(this.domNode,"dblclick")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return Q.filter(Q.map(this.disposables.add(new Te(this.domNode,"auxclick")).event,e=>this.toMouseEvent(e),this.disposables),e=>e.browserEvent.button===1,this.disposables)}get onMouseDown(){return Q.map(this.disposables.add(new Te(this.domNode,"mousedown")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOver(){return Q.map(this.disposables.add(new Te(this.domNode,"mouseover")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOut(){return Q.map(this.disposables.add(new Te(this.domNode,"mouseout")).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return Q.any(Q.map(this.disposables.add(new Te(this.domNode,"contextmenu")).event,e=>this.toMouseEvent(e),this.disposables),Q.map(this.disposables.add(new Te(this.domNode,pt.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return Q.map(this.disposables.add(new Te(this.domNode,"touchstart")).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return Q.map(this.disposables.add(new Te(this.rowsContainer,pt.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],n=i&&i.element;return{browserEvent:e,index:t,element:n}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],n=i&&i.element;return{browserEvent:e,index:t,element:n}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=typeof t>"u"?void 0:this.items[t],n=i&&i.element;return{browserEvent:e,index:t,element:n}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],n=i&&i.element,o=this.getTargetSector(e,t);return{browserEvent:e,index:t,element:n,sector:o}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){if(!i.dataTransfer)return;const n=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData($A.TEXT,t),i.dataTransfer.setDragImage){let o;this.dnd.getDragLabel&&(o=this.dnd.getDragLabel(n,i)),typeof o>"u"&&(o=String(n.length));const r=pe(".monaco-drag-image");r.textContent=o,(c=>{for(;c&&!c.classList.contains("monaco-workbench");)c=c.parentElement;return c||this.domNode.ownerDocument})(this.domNode).appendChild(r),i.dataTransfer.setDragImage(r,-10,-10),setTimeout(()=>r.remove(),0)}this.domNode.classList.add("dragging"),this.currentDragData=new Ug(n),dl.CurrentDragAndDropData=new pz(n),this.dnd.onDragStart?.(this.currentDragData,i)}onDragOver(e){if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),dl.CurrentDragAndDropData&&dl.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(dl.CurrentDragAndDropData)this.currentDragData=dl.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new _z}const t=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop=typeof t=="boolean"?t:t.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;e.browserEvent.dataTransfer.dropEffect=typeof t!="boolean"&&t.effect?.type===0?"copy":"move";let i;typeof t!="boolean"&&t.feedback?i=t.feedback:typeof e.index>"u"?i=[-1]:i=[e.index],i=gc(i).filter(o=>o>=-1&&oo-r),i=i[0]===-1?[-1]:i;let n=typeof t!="boolean"&&t.effect&&t.effect.position?t.effect.position:"drop-target";if(bz(this.currentDragFeedback,i)&&this.currentDragFeedbackPosition===n)return!0;if(this.currentDragFeedback=i,this.currentDragFeedbackPosition=n,this.currentDragFeedbackDisposable.dispose(),i[0]===-1)this.domNode.classList.add(n),this.rowsContainer.classList.add(n),this.currentDragFeedbackDisposable=ve(()=>{this.domNode.classList.remove(n),this.rowsContainer.classList.remove(n)});else{if(i.length>1&&n!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");n==="drop-target-after"&&i[0]{for(const o of i){const r=this.items[o];r.dropTarget=!1,r.row?.domNode.classList.remove(n)}})}return!0}onDragLeave(e){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=Zw(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,e.element,e.index,e.browserEvent)}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,dl.CurrentDragAndDropData=void 0,!(!t||!e.browserEvent.dataTransfer)&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,dl.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=K.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const t=N9(this.domNode).top;this.dragOverAnimationDisposable=$9(ue(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=Zw(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(this.dragOverMouseY===void 0)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(t===void 0)return;const i=e.offsetY/this.items[t].size,n=Math.floor(i/.25);return cn(n,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;(ui(i)||B9(i))&&i!==this.rowsContainer&&t.contains(i);){const n=i.getAttribute("data-index");if(n){const o=Number(n);if(!isNaN(o))return o}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const n=this.getRenderRange(e,t);let o,r;e===this.elementTop(n.start)?(o=n.start,r=0):n.end-n.start>1&&(o=n.start+1,r=this.elementTop(o)-e);let a=0;for(;;){const l=this.getRenderRange(e,t);let c=!1;for(let h=l.start;h=u.start;f--)this.insertItemInDOM(f);for(let u=l.start;u=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o};class wz{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const n=this.renderedElements.findIndex(o=>o.templateData===i);if(n>=0){const o=this.renderedElements[n];this.trait.unrender(i),o.index=t}else{const o={index:t,templateData:i};this.renderedElements.push(o)}this.trait.renderIndex(t,i)}splice(e,t,i){const n=[];for(const o of this.renderedElements)o.index=e+t&&n.push({index:o.index+i-t,templateData:o.templateData});this.renderedElements=n}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex(i=>i.templateData===e);t<0||this.renderedElements.splice(t,1)}}let b_=class{get name(){return this._trait}get renderer(){return new wz(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new A,this.onChange=this._onChange.event}splice(e,t,i){const n=i.length-t,o=e+t,r=[];let a=0;for(;a=o;)r.push(this.sortedIndexes[a++]+n);this.renderer.splice(e,t,i.length),this._set(r,r)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(dI),t)}_set(e,t,i){const n=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const r=CS(o,e);return this.renderer.renderIndexes(r),this._onChange.fire({indexes:e,browserEvent:i}),n}get(){return this.indexes}contains(e){return h5(this.sortedIndexes,e,dI)>=0}dispose(){wi(this._onChange)}};tl([Bt],b_.prototype,"renderer",null);class vz extends b_{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class tC{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const n=this.trait.get().map(a=>this.identityProvider.getId(this.view.element(a)).toString());if(n.length===0)return this.trait.splice(e,t,new Array(i.length).fill(!1));const o=new Set(n),r=i.map(a=>o.has(this.identityProvider.getId(a).toString()));this.trait.splice(e,t,r)}}function Pa(s){return s.tagName==="INPUT"||s.tagName==="TEXTAREA"}function $g(s,e){return s.classList.contains(e)?!0:s.classList.contains("monaco-list")||!s.parentElement?!1:$g(s.parentElement,e)}function Nu(s){return $g(s,"monaco-editor")}function Sz(s){return $g(s,"monaco-custom-toggle")}function yz(s){return $g(s,"action-item")}function Gu(s){return $g(s,"monaco-tree-sticky-row")}function Xf(s){return s.classList.contains("monaco-tree-sticky-container")}function qA(s){return s.tagName==="A"&&s.classList.contains("monaco-button")||s.tagName==="DIV"&&s.classList.contains("monaco-button-dropdown")?!0:s.classList.contains("monaco-list")||!s.parentElement?!1:qA(s.parentElement)}class jA{get onKeyDown(){return Q.chain(this.disposables.add(new Te(this.view.domNode,"keydown")).event,e=>e.filter(t=>!Pa(t.target)).map(t=>new vt(t)))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new ae,this.multipleSelectionDisposables=new ae,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown(n=>{switch(n.keyCode){case 3:return this.onEnter(n);case 16:return this.onUpArrow(n);case 18:return this.onDownArrow(n);case 11:return this.onPageUpArrow(n);case 12:return this.onPageDownArrow(n);case 9:return this.onEscape(n);case 31:this.multipleSelectionSupport&&(Ve?n.metaKey:n.ctrlKey)&&this.onCtrlA(n)}}))}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(ln(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}tl([Bt],jA.prototype,"onKeyDown",null);var Mo;(function(s){s[s.Automatic=0]="Automatic",s[s.Trigger=1]="Trigger"})(Mo||(Mo={}));var yh;(function(s){s[s.Idle=0]="Idle",s[s.Typing=1]="Typing"})(yh||(yh={}));const Lz=new class{mightProducePrintableCharacter(s){return s.ctrlKey||s.metaKey||s.altKey?!1:s.keyCode>=31&&s.keyCode<=56||s.keyCode>=21&&s.keyCode<=30||s.keyCode>=98&&s.keyCode<=107||s.keyCode>=85&&s.keyCode<=95}};class kz{constructor(e,t,i,n,o){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=n,this.delegate=o,this.enabled=!1,this.state=yh.Idle,this.mode=Mo.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new ae,this.disposables=new ae,this.updateOptions(e.options)}updateOptions(e){e.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=e.typeNavigationMode??Mo.Automatic}enable(){if(this.enabled)return;let e=!1;const t=Q.chain(this.enabledDisposables.add(new Te(this.view.domNode,"keydown")).event,o=>o.filter(r=>!Pa(r.target)).filter(()=>this.mode===Mo.Automatic||this.triggered).map(r=>new vt(r)).filter(r=>e||this.keyboardNavigationEventFilter(r)).filter(r=>this.delegate.mightProducePrintableCharacter(r)).forEach(r=>Oe.stop(r,!0)).map(r=>r.browserEvent.key)),i=Q.debounce(t,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);Q.reduce(Q.any(t,i),(o,r)=>r===null?null:(o||"")+r,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),i(()=>e=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){const e=this.list.getFocus();if(e.length>0&&e[0]===this.previouslyFocused){const t=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(e[0]));typeof t=="string"?Yf(t):t&&Yf(t.get())}this.previouslyFocused=-1}onInput(e){if(!e){this.state=yh.Idle,this.triggered=!1;return}const t=this.list.getFocus(),i=t.length>0?t[0]:0,n=this.state===yh.Idle?1:0;this.state=yh.Typing;for(let o=0;o1&&c.length===1){this.previouslyFocused=i,this.list.setFocus([r]),this.list.reveal(r);return}}}else if(typeof l>"u"||l_(e,l)){this.previouslyFocused=i,this.list.setFocus([r]),this.list.reveal(r);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class xz{constructor(e,t){this.list=e,this.view=t,this.disposables=new ae;const i=Q.chain(this.disposables.add(new Te(t.domNode,"keydown")).event,o=>o.filter(r=>!Pa(r.target)).map(r=>new vt(r)));Q.chain(i,o=>o.filter(r=>r.keyCode===2&&!r.ctrlKey&&!r.metaKey&&!r.shiftKey&&!r.altKey))(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(t.length===0)return;const i=this.view.domElement(t[0]);if(!i)return;const n=i.querySelector("[tabIndex]");if(!n||!ui(n)||n.tabIndex===-1)return;const o=ue(n).getComputedStyle(n);o.visibility==="hidden"||o.display==="none"||(e.preventDefault(),e.stopPropagation(),n.focus())}dispose(){this.disposables.dispose()}}function GA(s){return Ve?s.browserEvent.metaKey:s.browserEvent.ctrlKey}function ZA(s){return s.browserEvent.shiftKey}function Dz(s){return ik(s)&&s.button===2}const hI={isSelectionSingleChangeEvent:GA,isSelectionRangeChangeEvent:ZA};class YA{constructor(e){this.list=e,this.disposables=new ae,this._onPointer=new A,this.onPointer=this._onPointer.event,e.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||hI),this.mouseSupport=typeof e.options.mouseSupport>"u"||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(sn.addTarget(e.getHTMLElement()))),Q.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||hI))}isSelectionSingleChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):!1}isSelectionRangeChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):!1}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){Nu(e.browserEvent.target)||Zi()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(Pa(e.browserEvent.target)||Nu(e.browserEvent.target))return;const t=typeof e.index>"u"?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport||Pa(e.browserEvent.target)||Nu(e.browserEvent.target)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;if(typeof t>"u"){this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(e))return this.changeSelection(e);this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),Dz(e.browserEvent)||this.list.setSelection([t],e.browserEvent),this._onPointer.fire(e)}onDoubleClick(e){if(Pa(e.browserEvent.target)||Nu(e.browserEvent.target)||this.isSelectionChangeEvent(e)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){typeof i>"u"&&(i=this.list.getFocus()[0]??t,this.list.setAnchor(i));const n=Math.min(i,t),o=Math.max(i,t),r=ln(n,o+1),a=this.list.getSelection(),l=Nz(CS(a,[i]),i);if(l.length===0)return;const c=CS(r,Tz(a,l));this.list.setSelection(c,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const n=this.list.getSelection(),o=n.filter(r=>r!==t);this.list.setFocus([t]),this.list.setAnchor(t),n.length===o.length?this.list.setSelection([...o,t],e.browserEvent):this.list.setSelection(o,e.browserEvent)}}dispose(){this.disposables.dispose()}}class QA{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){const t=this.selectorSuffix&&`.${this.selectorSuffix}`,i=[];e.listBackground&&i.push(`.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&i.push(` .monaco-drag-image, .monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; } `),e.listFocusAndSelectionForeground&&i.push(` .monaco-drag-image, .monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; } `),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const n=Pr(e.listFocusAndSelectionOutline,Pr(e.listSelectionOutline,e.listFocusOutline??""));n&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused.selected { outline: 1px solid ${n}; outline-offset: -1px;}`),e.listFocusOutline&&i.push(` .monaco-drag-image, .monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; } .monaco-workbench.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; } `);const o=Pr(e.listSelectionOutline,e.listInactiveFocusOutline??"");o&&i.push(`.monaco-list${t} .monaco-list-row.focused.selected { outline: 1px dotted ${o}; outline-offset: -1px; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&i.push(` .monaco-list${t}.drop-target, .monaco-list${t} .monaco-list-rows.drop-target, .monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; } `),e.listDropBetweenBackground&&(i.push(` .monaco-list${t} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before, .monaco-list${t} .monaco-list-row.drop-target-before::before { content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px; background-color: ${e.listDropBetweenBackground}; }`),i.push(` .monaco-list${t} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after, .monaco-list${t} .monaco-list-row.drop-target-after::after { content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px; background-color: ${e.listDropBetweenBackground}; }`)),e.tableColumnsBorder&&i.push(` .monaco-table > .monaco-split-view2, .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before, .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2, .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before { border-color: ${e.tableColumnsBorder}; } .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2, .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before { border-color: transparent; } `),e.tableOddRowsBackgroundColor&&i.push(` .monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr, .monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr, .monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr { background-color: ${e.tableOddRowsBackgroundColor}; } `),this.styleElement.textContent=i.join(` `)}}const Ez={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:Z.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Z.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Z.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},Iz={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function Nz(s,e){const t=s.indexOf(e);if(t===-1)return[];const i=[];let n=t-1;for(;n>=0&&s[n]===e-(t-n);)i.push(s[n--]);for(i.reverse(),n=t;n=s.length)t.push(e[n++]);else if(n>=e.length)t.push(s[i++]);else if(s[i]===e[n]){t.push(s[i]),i++,n++;continue}else s[i]=s.length)t.push(e[n++]);else if(n>=e.length)t.push(s[i++]);else if(s[i]===e[n]){i++,n++;continue}else s[i]s-e;class Mz{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,n){let o=0;for(const r of this.renderers)r.renderElement(e,t,i[o++],n)}disposeElement(e,t,i,n){let o=0;for(const r of this.renderers)r.disposeElement?.(e,t,i[o],n),o+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class Rz{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new ae}}renderElement(e,t,i){const n=this.accessibilityProvider.getAriaLabel(e),o=n&&typeof n!="string"?n:__(n);i.disposables.add(Ze(a=>{this.setAriaLabel(a.readObservable(o),i.container)}));const r=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof r=="number"?i.container.setAttribute("aria-level",`${r}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,n){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class Az{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart?.(e,t)}onDragOver(e,t,i,n,o){return this.dnd.onDragOver(e,t,i,n,o)}onDragLeave(e,t,i,n){this.dnd.onDragLeave?.(e,t,i,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}drop(e,t,i,n,o){this.dnd.drop(e,t,i,n,o)}dispose(){this.dnd.dispose()}}class ho{get onDidChangeFocus(){return Q.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return Q.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=Q.chain(this.disposables.add(new Te(this.view.domNode,"keydown")).event,o=>o.map(r=>new vt(r)).filter(r=>e=r.keyCode===58||r.shiftKey&&r.keyCode===68).map(r=>Oe.stop(r,!0)).filter(()=>!1)),i=Q.chain(this.disposables.add(new Te(this.view.domNode,"keyup")).event,o=>o.forEach(()=>e=!1).map(r=>new vt(r)).filter(r=>r.keyCode===58||r.shiftKey&&r.keyCode===68).map(r=>Oe.stop(r,!0)).map(({browserEvent:r})=>{const a=this.getFocus(),l=a.length?a[0]:void 0,c=typeof l<"u"?this.view.element(l):void 0,h=typeof l<"u"?this.view.domElement(l):this.view.domNode;return{index:l,element:c,anchor:h,browserEvent:r}})),n=Q.chain(this.view.onContextMenu,o=>o.filter(r=>!e).map(({element:r,index:a,browserEvent:l})=>({element:r,index:a,anchor:new Qs(ue(this.view.domNode),l),browserEvent:l})));return Q.any(t,i,n)}get onKeyDown(){return this.disposables.add(new Te(this.view.domNode,"keydown")).event}get onDidFocus(){return Q.signal(this.disposables.add(new Te(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return Q.signal(this.disposables.add(new Te(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,n,o=Iz){this.user=e,this._options=o,this.focus=new b_("focused"),this.anchor=new b_("anchor"),this.eventBufferer=new xg,this._ariaLabel="",this.disposables=new ae,this._onDidDispose=new A,this.onDidDispose=this._onDidDispose.event;const r=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():"list";this.selection=new vz(r!=="listbox");const a=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=o.accessibilityProvider,this.accessibilityProvider&&(a.push(new Rz(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),n=n.map(c=>new Mz(c.templateId,[...a,c]));const l={...o,dnd:o.dnd&&new Az(this,o.dnd)};if(this.view=this.createListView(t,i,n,l),this.view.domNode.setAttribute("role",r),o.styleController)this.styleController=o.styleController(this.view.domId);else{const c=Yn(this.view.domNode);this.styleController=new QA(c,this.view.domId)}if(this.spliceable=new dz([new tC(this.focus,this.view,o.identityProvider),new tC(this.selection,this.view,o.identityProvider),new tC(this.anchor,this.view,o.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new xz(this,this.view)),(typeof o.keyboardSupport!="boolean"||o.keyboardSupport)&&(this.keyboardController=new jA(this,this.view,o),this.disposables.add(this.keyboardController)),o.keyboardNavigationLabelProvider){const c=o.keyboardNavigationDelegate||Lz;this.typeNavigationController=new kz(this,this.view,o.keyboardNavigationLabelProvider,o.keyboardNavigationEventFilter??(()=>!0),c),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(o),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,n){return new Ps(e,t,i,n)}createMouseController(e){return new YA(this)}updateOptions(e={}){this._options={...this._options,...e},this.typeNavigationController?.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),this.keyboardController?.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new hl(this.user,`Invalid start index: ${e}`);if(t<0)throw new hl(this.user,`Invalid delete count: ${t}`);t===0&&i.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,i))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new hl(this.user,`Invalid index ${i}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(typeof e>"u"){this.anchor.set([]);return}if(e<0||e>=this.length)throw new hl(this.user,`Invalid index ${e}`);this.anchor.set([e])}getAnchor(){return LL(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return typeof e>"u"?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new hl(this.user,`Invalid index ${i}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,n){if(this.length===0)return;const o=this.focus.get(),r=this.findNextIndex(o.length>0?o[0]+e:0,t,n);r>-1&&this.setFocus([r],i)}focusPrevious(e=1,t=!1,i,n){if(this.length===0)return;const o=this.focus.get(),r=this.findPreviousIndex(o.length>0?o[0]-e:0,t,n);r>-1&&this.setFocus([r],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=i===0?0:i-1;const n=this.getFocus()[0];if(n!==i&&(n===void 0||i>n)){const o=this.findPreviousIndex(i,!1,t);o>-1&&n!==o?this.setFocus([o],e):this.setFocus([i],e)}else{const o=this.view.getScrollTop();let r=o+this.view.renderHeight;i>n&&(r-=this.view.elementHeight(i)),this.view.setScrollTop(r),this.view.getScrollTop()!==o&&(this.setFocus([]),await Ff(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let n;const o=i(),r=this.view.getScrollTop()+o;r===0?n=this.view.indexAt(r):n=this.view.indexAfter(r-1);const a=this.getFocus()[0];if(a!==n&&(a===void 0||a>=n)){const l=this.findNextIndex(n,!1,t);l>-1&&a!==l?this.setFocus([l],e):this.setFocus([n],e)}else{const l=r;this.view.setScrollTop(r-this.view.renderHeight-o),this.view.getScrollTop()+i()!==l&&(this.setFocus([]),await Ff(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(this.length===0)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(this.length===0)return;const n=this.findNextIndex(e,!1,i);n>-1&&this.setFocus([n],t)}findNextIndex(e,t=!1,i){for(let n=0;n=this.length&&!t)return-1;if(e=e%this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let n=0;nthis.view.element(e))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new hl(this.user,`Invalid index ${e}`);const n=this.view.getScrollTop(),o=this.view.elementTop(e),r=this.view.elementHeight(e);if(Ad(t)){const a=r-this.view.renderHeight+i;this.view.setScrollTop(a*cn(t,0,1)+o-i)}else{const a=o+r,l=n+this.view.renderHeight;o=l||(o=l&&r>=this.view.renderHeight?this.view.setScrollTop(o-i):a>=l&&this.view.setScrollTop(a-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new hl(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),n=this.view.elementTop(e),o=this.view.elementHeight(e);if(ni+this.view.renderHeight)return null;const r=o-this.view.renderHeight+t;return Math.abs((i+t-n)/r)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(i=>this.view.element(i)),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const e=this.focus.get();if(e.length>0){let t;this.accessibilityProvider?.getActiveDescendantId&&(t=this.accessibilityProvider.getActiveDescendantId(this.view.element(e[0]))),this.view.domNode.setAttribute("aria-activedescendant",t||this.view.getElementDomId(e[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",e.length===0),this.view.domNode.classList.toggle("selection-single",e.length===1),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}tl([Bt],ho.prototype,"onDidChangeFocus",null);tl([Bt],ho.prototype,"onDidChangeSelection",null);tl([Bt],ho.prototype,"onContextMenu",null);tl([Bt],ho.prototype,"onKeyDown",null);tl([Bt],ho.prototype,"onDidFocus",null);tl([Bt],ho.prototype,"onDidBlur",null);const Kl=pe,XA="selectOption.entry.template";class Pz{get templateId(){return XA}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=le(e,Kl(".option-text")),t.detail=le(e,Kl(".option-detail")),t.decoratorRight=le(e,Kl(".option-decorator-right")),t}renderElement(e,t,i){const n=i,o=e.text,r=e.detail,a=e.decoratorRight,l=e.isDisabled;n.text.textContent=o,n.detail.textContent=r||"",n.decoratorRight.innerText=a||"",l?n.root.classList.add("option-disabled"):n.root.classList.remove("option-disabled")}disposeTemplate(e){}}const xo=class xo extends K{constructor(e,t,i,n,o){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=n,this.selectBoxOptions=o||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=xo.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new A,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(jo().setupManagedHover(_s("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return XA}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=pe(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=le(this.selectDropDownContainer,Kl(".select-box-details-pane"));const t=le(this.selectDropDownContainer,Kl(".select-box-dropdown-container-width-control")),i=le(t,Kl(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",le(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=Yn(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register($(this.selectDropDownContainer,J.DRAG_START,n=>{Oe.stop(n,!0)}))}registerListeners(){this._register(di(this.selectElement,"change",t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register($(this.selectElement,J.CLICK,t=>{Oe.stop(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register($(this.selectElement,J.MOUSE_DOWN,t=>{Oe.stop(t)}));let e;this._register($(this.selectElement,"touchstart",t=>{e=this._isVisible})),this._register($(this.selectElement,"touchend",t=>{Oe.stop(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register($(this.selectElement,J.KEY_DOWN,t=>{const i=new vt(t);let n=!1;Ve?(i.keyCode===18||i.keyCode===16||i.keyCode===10||i.keyCode===3)&&(n=!0):(i.keyCode===18&&i.altKey||i.keyCode===16&&i.altKey||i.keyCode===10||i.keyCode===3)&&(n=!0),n&&(this.showSelectDropDown(),Oe.stop(t,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){ii(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((i,n)=>{this.selectElement.add(this.createOption(i.text,n,i.isDisabled)),typeof i.description=="string"&&(this._hasDetails=!0)})),t!==void 0&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join(` `)}styleSelectElement(){const e=this.styles.selectBackground??"",t=this.styles.selectForeground??"",i=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){const e=this.styles.selectBackground??"",t=Pr(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t;const i=this.styles.focusBorder??"";this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const n=document.createElement("option");return n.value=e,n.text=e,n.disabled=!!i,n}showSelectDropDown(){this.selectionDetailsPane.innerText="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=ue(this.selectElement),i=ds(this.selectElement),n=ue(this.selectElement).getComputedStyle(this.selectElement),o=parseFloat(n.getPropertyValue("--dropdown-padding-top"))+parseFloat(n.getPropertyValue("--dropdown-padding-bottom")),r=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),a=i.top-xo.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,l=this.selectElement.offsetWidth,c=this.setWidthControlElement(this.widthControlElement),h=Math.max(c,Math.round(l)).toString()+"px";this.selectDropDownContainer.style.width=h,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let d=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const u=this._hasDetails?this._cachedMaxDetailsHeight:0,f=d+o+u,g=Math.floor((r-o-u)/this.getHeight()),m=Math.floor((a-o-u)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.topg&&this.options.length>g?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.topr&&(d=g*this.getHeight())}else f>a&&(d=m*this.getHeight());return this.selectList.layout(d),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=d+o+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=d+o+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=h,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}else return!1}setWidthControlElement(e){let t=0;if(e){let i=0,n=0;this.options.forEach((o,r)=>{const a=o.detail?o.detail.length:0,l=o.decoratorRight?o.decoratorRight.length:0,c=o.text.length+a+l;c>n&&(i=r,n=c)}),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=XL(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=le(e,Kl(".select-box-dropdown-list-container")),this.listRenderer=new Pz,this.selectList=this._register(new ho("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:n=>{let o=n.text;return n.detail&&(o+=`. ${n.detail}`),n.decoratorRight&&(o+=`. ${n.decoratorRight}`),n.description&&(o+=`. ${n.description}`),o},getWidgetAriaLabel:()=>p({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>Ve?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new Te(this.selectDropDownListContainer,"keydown")),i=Q.chain(t.event,n=>n.filter(()=>this.selectList.length>0).map(o=>new vt(o)));this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===3))(this.onEnter,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===2))(this.onEnter,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===9))(this.onEscape,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===16))(this.onUpArrow,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===18))(this.onDownArrow,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===12))(this.onPageDown,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===11))(this.onPageUp,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===14))(this.onHome,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode===13))(this.onEnd,this)),this._register(Q.chain(i,n=>n.filter(o=>o.keyCode>=21&&o.keyCode<=56||o.keyCode>=85&&o.keyCode<=113))(this.onCharacter,this)),this._register($(this.selectList.getHTMLElement(),J.POINTER_UP,n=>this.onPointerUp(n))),this._register(this.selectList.onMouseOver(n=>typeof n.index<"u"&&this.selectList.setFocus([n.index]))),this._register(this.selectList.onDidChangeFocus(n=>this.onListFocus(n))),this._register($(this.selectDropDownContainer,J.FOCUS_OUT,n=>{!this._isVisible||ci(n.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;Oe.stop(e);const t=e.target;if(!t||t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const n=Number(i.getAttribute("data-index")),o=i.classList.contains("option-disabled");n>=0&&n{for(let r=0;rthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(Oe.stop(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){Oe.stop(e),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(e){Oe.stop(e),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){Oe.stop(e),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=Cr.toString(e.keyCode);let i=-1;for(let n=0;n{this._register($(this.selectElement,e,t=>{this.selectElement.focus()}))}),this._register(di(this.selectElement,"click",e=>{Oe.stop(e,!0)})),this._register(di(this.selectElement,"change",e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),this._register(di(this.selectElement,"keydown",e=>{let t=!1;Ve?(e.keyCode===18||e.keyCode===16||e.keyCode===10)&&(t=!0):(e.keyCode===18&&e.altKey||e.keyCode===10||e.keyCode===3)&&(t=!0),t&&e.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){(!this.options||!ii(this.options,e))&&(this.options=e,this.selectElement.options.length=0,this.options.forEach((i,n)=>{this.selectElement.add(this.createOption(i.text,n,i.isDisabled))})),t!==void 0&&this.select(t)}select(e){this.options.length===0?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(n)}))}handleActionChangeEvent(e){e.enabled!==void 0&&this.updateEnabled(),e.checked!==void 0&&this.updateChecked(),e.class!==void 0&&this.updateClass(),e.label!==void 0&&(this.updateLabel(),this.updateTooltip()),e.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new bc)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(sn.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,Rs&&this._register($(e,J.DRAG_START,n=>n.dataTransfer?.setData($A.TEXT,this._action.label)))),this._register($(t,pt.Tap,n=>this.onClick(n,!0))),this._register($(t,J.MOUSE_DOWN,n=>{i||Oe.stop(n,!0),this._action.enabled&&n.button===0&&t.classList.add("active")})),Ve&&this._register($(t,J.CONTEXT_MENU,n=>{n.button===0&&n.ctrlKey===!0&&this.onClick(n)})),this._register($(t,J.CLICK,n=>{Oe.stop(n,!0),this.options&&this.options.isMenu||this.onClick(n)})),this._register($(t,J.DBLCLICK,n=>{Oe.stop(n,!0)})),[J.MOUSE_UP,J.MOUSE_OUT].forEach(n=>{this._register($(t,n,o=>{Oe.stop(o),t.classList.remove("active")}))})}onClick(e,t=!1){Oe.stop(e,!0);const i=zn(this._context)?this.options?.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){if(!this.element)return;const e=this.getTooltip()??"";if(this.updateAriaLabel(),this.options.hoverDelegate?.showNativeHover)this.element.title=e;else if(!this.customHover&&e!==""){const t=this.options.hoverDelegate??_s("element");this.customHover=this._store.add(jo().setupManagedHover(t,this.element,e))}else this.customHover&&this.customHover.update(e)}updateAriaLabel(){if(this.element){const e=this.getTooltip()??"";this.element.setAttribute("aria-label",e)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class Yk extends Zs{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=i.icon!==void 0?i.icon:!1,this.options.label=i.label!==void 0?i.label:!0,this.cssClass=""}render(e){super.render(e),Po(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const i=document.createElement("span");i.classList.add("keybinding"),i.textContent=this.options.keybinding,this.element.appendChild(i)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===Yi.ID?"presentation":this.options.isMenu?"menuitem":this.options.isTabList?"tab":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=p({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e??void 0}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label?.classList.remove("codicon")}updateEnabled(){this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element?.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element?.classList.add("disabled"))}updateAriaLabel(){if(this.label){const e=this.getTooltip()??"";this.label.setAttribute("aria-label",e)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.options.isTabList?this.label.setAttribute("aria-selected",this.action.checked?"true":"false"):(this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox"))):(this.label.classList.remove("checked"),this.label.removeAttribute(this.options.isTabList?"aria-selected":"aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class Bz extends Zs{constructor(e,t,i,n,o,r,a){super(e,t),this.selectBox=new Fz(i,n,o,r,a),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect(e=>this.runAction(e.selected,e.index)))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(e){this.selectBox.render(e)}}class Wz extends bc{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new A),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=le(e,pe(".monaco-dropdown")),this._label=le(this._element,pe(".dropdown-label"));let i=t.labelRenderer;i||(i=o=>(o.textContent=t.label||"",null));for(const o of[J.CLICK,J.MOUSE_DOWN,pt.Tap])this._register($(this.element,o,r=>Oe.stop(r,!0)));for(const o of[J.MOUSE_DOWN,pt.Tap])this._register($(this._label,o,r=>{ik(r)&&(r.detail>1||r.button!==0)||(this.visible?this.hide():this.show())}));this._register($(this._label,J.KEY_UP,o=>{const r=new vt(o);(r.equals(3)||r.equals(10))&&(Oe.stop(o,!0),this.visible?this.hide():this.show())}));const n=i(this._label);n&&this._register(n),this._register(sn.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class Vz extends Wz{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class C_ extends Zs{constructor(e,t,i,n=Object.create(null)){super(null,e,n),this.actionItem=null,this._onDidChangeVisibility=this._register(new A),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=n,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=o=>{this.element=le(o,pe("a.action-label"));let r=[];return typeof this.options.classNames=="string"?r=this.options.classNames.split(/\s+/g).filter(a=>!!a):this.options.classNames&&(r=this.options.classNames),r.find(a=>a==="icon")||r.push("codicon"),this.element.classList.add(...r),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(jo().setupManagedHover(this.options.hoverDelegate??_s("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},i=Array.isArray(this.menuActionsOrProvider),n={contextMenuProvider:this.contextMenuProvider,labelRenderer:t,menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new Vz(e,n)),this._register(this.dropdownMenu.onDidChangeVisibility(o=>{this.element?.setAttribute("aria-expanded",`${o}`),this._onDidChangeVisibility.fire(o)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const o=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return o.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){this.dropdownMenu?.show()}updateEnabled(){const e=!this.action.enabled;this.actionItem?.classList.toggle("disabled",e),this.element?.classList.toggle("disabled",e)}}function Qie(s){return s&&typeof s=="object"&&typeof s.original=="string"&&typeof s.value=="string"}function Hz(s){return s?s.condition!==void 0:!1}var Jh;(function(s){s[s.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",s[s.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"})(Jh||(Jh={}));var Lh;(function(s){s[s.None=0]="None",s[s.Initialized=1]="Initialized",s[s.Closed=2]="Closed"})(Lh||(Lh={}));const M1=class M1 extends K{constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new Rf),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=Lh.None,this.cache=new Map,this.flushDelayer=this._register(new LM(M1.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach((t,i)=>this.acceptExternal(i,t)),e.deleted?.forEach(t=>this.acceptExternal(t,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===Lh.Closed)return;let i=!1;zn(t)?i=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0),i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return zn(i)?t:i}getBoolean(e,t){const i=this.get(e);return zn(i)?t:i==="true"}getNumber(e,t){const i=this.get(e);return zn(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===Lh.Closed)return;if(zn(t))return this.delete(e,i);const n=Ii(t)||Array.isArray(t)?fV(t):String(t);if(this.cache.get(e)!==n)return this.cache.set(e,n),this.pendingInserts.set(e,n),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()}async delete(e,t=!1){if(!(this.state===Lh.Closed||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async doFlush(e){return this.options.hint===Jh.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}};M1.DEFAULT_FLUSH_DELAY=100;let Zu=M1;class iC{constructor(){this.onDidChangeItemsExternal=Q.None,this.items=new Map}async updateItems(e){e.insert?.forEach((t,i)=>this.items.set(i,t)),e.delete?.forEach(t=>this.items.delete(t))}}const dp="__$__targetStorageMarker",Kb=Be("storageService");var uI;(function(s){s[s.NONE=0]="NONE",s[s.SHUTDOWN=1]="SHUTDOWN"})(uI||(uI={}));function zz(s){const e=s.get(dp);if(e)try{return JSON.parse(e)}catch{}return Object.create(null)}const R1=class R1 extends K{constructor(e={flushInterval:R1.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new Rf),this._onDidChangeTarget=this._register(new Rf),this._onWillSaveState=this._register(new A),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return Q.filter(this._onDidChangeValue.event,n=>n.scope===e&&(t===void 0||n.key===t),i)}emitDidChangeValue(e,t){const{key:i,external:n}=t;if(i===dp){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:n})}get(e,t,i){return this.getStorage(t)?.get(e,i)}getBoolean(e,t,i){return this.getStorage(t)?.getBoolean(e,i)}getNumber(e,t,i){return this.getStorage(t)?.getNumber(e,i)}store(e,t,i,n,o=!1){if(zn(t)){this.remove(e,i,o);return}this.withPausedEmitters(()=>{this.updateKeyTarget(e,i,n),this.getStorage(i)?.set(e,t,o)})}remove(e,t,i=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,t,void 0),this.getStorage(t)?.delete(e,i)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,n=!1){const o=this.getKeyTargets(t);typeof i=="number"?o[e]!==i&&(o[e]=i,this.getStorage(t)?.set(dp,JSON.stringify(o),n)):typeof o[e]=="number"&&(delete o[e],this.getStorage(t)?.set(dp,JSON.stringify(o),n))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?zz(t):Object.create(null)}};R1.DEFAULT_FLUSH_INTERVAL=60*1e3;let vS=R1;class Uz extends vS{constructor(){super(),this.applicationStorage=this._register(new Zu(new iC,{hint:Jh.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new Zu(new iC,{hint:Jh.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new Zu(new iC,{hint:Jh.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}function $z(s,e){const t={...e};for(const i in s){const n=s[i];t[i]=n!==void 0?te(n):void 0}return t}const Kz={keybindingLabelBackground:te(DB),keybindingLabelForeground:te(EB),keybindingLabelBorder:te(IB),keybindingLabelBottomBorder:te(NB),keybindingLabelShadow:te(Fg)},qz={buttonForeground:te(aA),buttonSeparator:te(fB),buttonBackground:te(xu),buttonHoverBackground:te(gB),buttonSecondaryForeground:te(pB),buttonSecondaryBackground:te($v),buttonSecondaryHoverBackground:te(_B),buttonBorder:te(mB)},jz={progressBarBackground:te(N6)},JA={inputActiveOptionBorder:te(sA),inputActiveOptionForeground:te(rA),inputActiveOptionBackground:te(oA)};te(Du),te(bB),te(CB),te(wB),te(vB),te(SB),te(yB);te(LB),te(xB),te(kB);te(Es),te(Rb),te(Fg),te(Ye),te($6),te(K6),te(q6),te(E6);const e4={inputBackground:te(J6),inputForeground:te(eB),inputBorder:te(tB),inputValidationInfoBorder:te(oB),inputValidationInfoBackground:te(nB),inputValidationInfoForeground:te(sB),inputValidationWarningBorder:te(lB),inputValidationWarningBackground:te(rB),inputValidationWarningForeground:te(aB),inputValidationErrorBorder:te(dB),inputValidationErrorBackground:te(cB),inputValidationErrorForeground:te(hB)},Gz={listFilterWidgetBackground:te(zB),listFilterWidgetOutline:te(UB),listFilterWidgetNoMatchesOutline:te($B),listFilterWidgetShadow:te(KB),inputBoxStyles:e4,toggleStyles:JA},Zz={badgeBackground:te(ap),badgeForeground:te(I6),badgeBorder:te(Ye)};te(z6),te(H6),te(gE),te(gE),te(U6);const $d={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:te(TB),listFocusForeground:te(MB),listFocusOutline:te(RB),listActiveSelectionBackground:te(yc),listActiveSelectionForeground:te(Kf),listActiveSelectionIconForeground:te(lA),listFocusAndSelectionOutline:te(AB),listFocusAndSelectionBackground:te(yc),listFocusAndSelectionForeground:te(Kf),listInactiveSelectionBackground:te(PB),listInactiveSelectionIconForeground:te(FB),listInactiveSelectionForeground:te(OB),listInactiveFocusBackground:te(BB),listInactiveFocusOutline:te(WB),listHoverBackground:te(cA),listHoverForeground:te(hA),listDropOverBackground:te(VB),listDropBetweenBackground:te(HB),listSelectionOutline:te($t),listHoverOutline:te($t),treeIndentGuidesStroke:te(dA),treeInactiveIndentGuidesStroke:te(qB),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:te(Sk),tableColumnsBorder:te(jB),tableOddRowsBackgroundColor:te(GB)};function Kg(s){return $z(s,$d)}const Yz={selectBackground:te(Ab),selectListBackground:te(uB),selectForeground:te(kk),decoratorRightForeground:te(uA),selectBorder:te(xk),focusBorder:te(Vo),listFocusBackground:te(qv),listInactiveSelectionIconForeground:te(fA),listFocusForeground:te(Kv),listFocusOutline:S6($t,Z.transparent.toString()),listHoverBackground:te(cA),listHoverForeground:te(hA),listHoverOutline:te($t),selectListBorder:te(XR),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},Qz={shadowColor:te(Fg),borderColor:te(ZB),foregroundColor:te(YB),backgroundColor:te(QB),selectionForegroundColor:te(XB),selectionBackgroundColor:te(JB),selectionBorderColor:te(eW),separatorColor:te(tW),scrollbarShadow:te(Sk),scrollbarSliderBackground:te(ZR),scrollbarSliderHoverBackground:te(YR),scrollbarSliderActiveBackground:te(QR)};var qb=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},dn=function(s,e){return function(t,i){e(t,i,s)}};function Xz(s,e,t,i){let n,o,r;if(Array.isArray(s))r=s,n=e,o=t;else{const c=e;r=s.getActions(c),n=t,o=i}const a=Sa.getInstance(),l=a.keyStatus.altKey||(gn||mn)&&a.keyStatus.shiftKey;t4(r,n,l,o?c=>c===o:c=>c==="navigation")}function Jz(s,e,t,i,n,o){let r,a,l,c,h;if(Array.isArray(s))h=s,r=e,a=t,l=i,c=n;else{const u=e;h=s.getActions(u),r=t,a=i,l=n,c=o}t4(h,r,!1,typeof a=="string"?u=>u===a:a,l,c)}function t4(s,e,t,i=r=>r==="navigation",n=()=>!1,o=!1){let r,a;Array.isArray(e)?(r=e,a=e):(r=e.primary,a=e.secondary);const l=new Set;for(const[c,h]of s){let d;i(c)?(d=r,d.length>0&&o&&d.push(new Yi)):(d=a,d.length>0&&d.push(new Yi));for(let u of h){t&&(u=u instanceof Fr&&u.alt?u.alt:u);const f=d.push(u);u instanceof bb&&l.add({group:c,action:u,index:f-1})}}for(const{group:c,action:h,index:d}of l){const u=i(c)?r:a,f=h.actions;n(h,c,u.length)&&u.splice(d,1,...f)}}let Ed=class extends Yk{constructor(e,t,i,n,o,r,a,l){super(void 0,e,{icon:!!(e.class||e.item.icon),label:!e.class&&!e.item.icon,draggable:t?.draggable,keybinding:t?.keybinding,hoverDelegate:t?.hoverDelegate}),this._options=t,this._keybindingService=i,this._notificationService=n,this._contextKeyService=o,this._themeService=r,this._contextMenuService=a,this._accessibilityService=l,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new Ur),this._altKey=Sa.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{const n=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);n!==this._wantsAltCommand&&(this._wantsAltCommand=n,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register($(e,"mouseleave",n=>{t=!1,i()})),this._register($(e,"mouseenter",n=>{t=!0,i()})),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const e=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),t=e&&e.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let n=t?p("titleAndKb","{0} ({1})",i,t):i;if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const o=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,r=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),a=r&&r.getLabel(),l=a?p("titleAndKb","{0} ({1})",o,a):o;n=p("titleAndKbAndAlt",`{0} [{1}] {2}`,n,Hk.modifierLabels[Ds].altKey,l)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const n=this._commandAction.checked&&Hz(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(n)if(Ue.isThemeIcon(n)){const o=Ue.asClassNameArray(n);i.classList.add(...o),this._itemClassDispose.value=ve(()=>{i.classList.remove(...o)})}else i.style.backgroundImage=Tb(this._themeService.getColorTheme().type)?Kr(n.dark):Kr(n.light),i.classList.add("icon"),this._itemClassDispose.value=Oo(ve(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};Ed=qb([dn(2,Ti),dn(3,lo),dn(4,Xe),dn(5,Os),dn(6,Gr),dn(7,co)],Ed);class i4 extends Ed{render(e){this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=i4._symbolPrintEnter(e);this._options?.conversational?this.label.textContent=p({key:"content2",comment:['A label with keybindg like "ESC to dismiss"']},"{1} to {0}",this._action.label,t):this.label.textContent=p({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,t)}}static _symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,"⏎").replace(/\bEscape\b/gi,"Esc")}}let SS=class extends C_{constructor(e,t,i,n,o){const r={...t,menuAsChild:t?.menuAsChild??!1,classNames:t?.classNames??(Ue.isThemeIcon(e.item.icon)?Ue.asClassName(e.item.icon):void 0),keybindingProvider:t?.keybindingProvider??(a=>i.lookupKeybinding(a.id))};super(e,{getActions:()=>e.actions},n,r),this._keybindingService=i,this._contextMenuService=n,this._themeService=o}render(e){super.render(e),Po(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!Ue.isThemeIcon(i)){this.element.classList.add("icon");const n=()=>{this.element&&(this.element.style.backgroundImage=Tb(this._themeService.getColorTheme().type)?Kr(i.dark):Kr(i.light))};n(),this._register(this._themeService.onDidColorThemeChange(()=>{n()}))}}};SS=qb([dn(2,Ti),dn(3,Gr),dn(4,Os)],SS);let yS=class extends Zs{constructor(e,t,i,n,o,r,a,l){super(null,e),this._keybindingService=i,this._notificationService=n,this._contextMenuService=o,this._menuService=r,this._instaService=a,this._storageService=l,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;let c;const h=t?.persistLastActionId?l.get(this._storageKey,1):void 0;h&&(c=e.actions.find(u=>h===u.id)),c||(c=e.actions[0]),this._defaultAction=this._instaService.createInstance(Ed,c,{keybinding:this._getDefaultActionKeybindingLabel(c)});const d={keybindingProvider:u=>this._keybindingService.lookupKeybinding(u.id),...t,menuAsChild:t?.menuAsChild??!0,classNames:t?.classNames??["codicon","codicon-chevron-down"],actionRunner:t?.actionRunner??new bc};this._dropdown=new C_(e,e.actions,this._contextMenuService,d),this._register(this._dropdown.actionRunner.onDidRun(u=>{u.action instanceof Fr&&this.update(u.action)}))}update(e){this._options?.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(Ed,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends bc{async runAction(t,i){await t.run(void 0)}},this._container&&this._defaultAction.render(nk(this._container,pe(".action-container")))}_getDefaultActionKeybindingLabel(e){let t;if(this._options?.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(e.id);i&&(t=`(${i.getLabel()})`)}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=pe(".action-container");this._defaultAction.render(le(this._container,t)),this._register($(t,J.KEY_DOWN,n=>{const o=new vt(n);o.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),o.stopPropagation())}));const i=pe(".dropdown-action-container");this._dropdown.render(le(this._container,i)),this._register($(i,J.KEY_DOWN,n=>{const o=new vt(n);o.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),o.stopPropagation())}))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};yS=qb([dn(2,Ti),dn(3,lo),dn(4,Gr),dn(5,Oc),dn(6,Qe),dn(7,Kb)],yS);let LS=class extends Bz{constructor(e,t){super(null,e,e.actions.map(i=>({text:i.id===Yi.ID?"─────────":i.label,isDisabled:!i.enabled})),0,t,Yz,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex(i=>i.checked)))}render(e){super.render(e),e.style.borderColor=te(xk)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};LS=qb([dn(1,Wg)],LS);function eU(s,e,t){return e instanceof Fr?s.createInstance(Ed,e,t):e instanceof zu?e.item.isSelection?s.createInstance(LS,e):e.item.rememberDefaultAction?s.createInstance(yS,e,{...t,persistLastActionId:!0}):s.createInstance(SS,e,t):void 0}class Wr extends K{constructor(e,t={}){super(),this._actionRunnerDisposables=this._register(new ae),this.viewItemDisposables=this._register(new ML),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new A),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new A({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new A),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new A),this.onWillRun=this._onWillRun.event,this.options=t,this._context=t.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=t.hoverDelegate??this._register(Zk()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new bc,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(o=>this._onDidRun.fire(o))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(o=>this._onWillRun.fire(o))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let i,n;switch(this._orientation){case 0:i=[15],n=[17];break;case 1:i=[16],n=[18],this.domNode.className+=" vertical";break}this._register($(this.domNode,J.KEY_DOWN,o=>{const r=new vt(o);let a=!0;const l=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;i&&(r.equals(i[0])||r.equals(i[1]))?a=this.focusPrevious():n&&(r.equals(n[0])||r.equals(n[1]))?a=this.focusNext():r.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():r.equals(14)?a=this.focusFirst():r.equals(13)?a=this.focusLast():r.equals(2)&&l instanceof Zs&&l.trapsArrowNavigation?a=this.focusNext(void 0,!0):this.isTriggerKeyEvent(r)?this._triggerKeys.keyDown?this.doTrigger(r):this.triggerKeyDown=!0:a=!1,a&&(r.preventDefault(),r.stopPropagation())})),this._register($(this.domNode,J.KEY_UP,o=>{const r=new vt(o);this.isTriggerKeyEvent(r)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(r)),r.preventDefault(),r.stopPropagation()):(r.equals(2)||r.equals(1026)||r.equals(16)||r.equals(18)||r.equals(15)||r.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(Bf(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(Zi()===this.domNode||!ci(Zi(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const t=this.viewItems.find(i=>i instanceof Zs&&i.isEnabled());t instanceof Zs&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof Zs&&t.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||e.equals(i)}),t}updateFocusedItem(){for(let e=0;et.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=e)}getContainer(){return this.domNode}getAction(e){if(typeof e=="number")return this.viewItems[e]?.action;if(ui(e)){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let t=0;t{const r=document.createElement("li");r.className="action-item",r.setAttribute("role","presentation");let a;const l={hoverDelegate:this._hoverDelegate,...t,isTabList:this.options.ariaRole==="tablist"};this.options.actionViewItemProvider&&(a=this.options.actionViewItemProvider(o,l)),a||(a=new Yk(this.context,o,l)),this.options.allowContextMenu||this.viewItemDisposables.set(a,$(r,J.CONTEXT_MENU,c=>{Oe.stop(c,!0)})),a.actionRunner=this._actionRunner,a.setActionContext(this.context),a.render(r),this.focusable&&a instanceof Zs&&this.viewItems.length===0&&a.setFocusable(!0),n===null||n<0||n>=this.actionsList.children.length?(this.actionsList.appendChild(r),this.viewItems.push(a)):(this.actionsList.insertBefore(r,this.actionsList.children[n]),this.viewItems.splice(n,0,a),n++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=wi(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),to(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(e){let t=!1,i;if(e===void 0?t=!0:typeof e=="number"?i=e:typeof e=="boolean"&&(t=e),t&&typeof this.focusedItem>"u"){const n=this.viewItems.findIndex(o=>o.isEnabled());this.focusedItem=n===-1?void 0:n,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e,t){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let n;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,n=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===Yi.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(e){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Yi.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const n=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(n){let o=!0;Lp(n.focus)||(o=!1),this.options.focusOnlyEnabledItems&&Lp(n.isEnabled)&&!n.isEnabled()&&(o=!1),n.action.id===Yi.ID&&(o=!1),o?(i||this.previouslyFocusedItem!==this.focusedItem)&&(n.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),o&&n.showHover?.()}}doTrigger(e){if(typeof this.focusedItem>"u")return;const t=this.viewItems[this.focusedItem];if(t instanceof Zs){const i=t._context===null||t._context===void 0?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=wi(this.viewItems),this.getContainer().remove(),super.dispose()}}const kS=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,nC=/(&)?(&)([^\s&])/g;var w_;(function(s){s[s.Right=0]="Right",s[s.Left=1]="Left"})(w_||(w_={}));var xS;(function(s){s[s.Above=0]="Above",s[s.Below=1]="Below"})(xS||(xS={}));class ed extends Wr{constructor(e,t,i,n){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const o=document.createElement("div");o.classList.add("monaco-menu"),o.setAttribute("role","presentation"),super(o,{orientation:1,actionViewItemProvider:c=>this.doGetActionViewItem(c,i,r),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...Ve||mn?[10]:[]],keyDown:!0}}),this.menuStyles=n,this.menuElement=o,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,n),this._register(sn.addTarget(o)),this._register($(o,J.KEY_DOWN,c=>{new vt(c).equals(2)&&c.preventDefault()})),i.enableMnemonics&&this._register($(o,J.KEY_DOWN,c=>{const h=c.key.toLocaleLowerCase();if(this.mnemonics.has(h)){Oe.stop(c,!0);const d=this.mnemonics.get(h);if(d.length===1&&(d[0]instanceof fI&&d[0].container&&this.focusItemByElement(d[0].container),d[0].onClick(c)),d.length>1){const u=d.shift();u&&u.container&&(this.focusItemByElement(u.container),d.push(u)),this.mnemonics.set(h,d)}}})),mn&&this._register($(o,J.KEY_DOWN,c=>{const h=new vt(c);h.equals(14)||h.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Oe.stop(c,!0)):(h.equals(13)||h.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Oe.stop(c,!0))})),this._register($(this.domNode,J.MOUSE_OUT,c=>{const h=c.relatedTarget;ci(h,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),c.stopPropagation())})),this._register($(this.actionsList,J.MOUSE_OVER,c=>{let h=c.target;if(!(!h||!ci(h,this.actionsList)||h===this.actionsList)){for(;h.parentElement!==this.actionsList&&h.parentElement!==null;)h=h.parentElement;if(h.classList.contains("action-item")){const d=this.focusedItem;this.setFocusedItem(h),d!==this.focusedItem&&this.updateFocus()}}})),this._register(sn.addTarget(this.actionsList)),this._register($(this.actionsList,pt.Tap,c=>{let h=c.initialTarget;if(!(!h||!ci(h,this.actionsList)||h===this.actionsList)){for(;h.parentElement!==this.actionsList&&h.parentElement!==null;)h=h.parentElement;if(h.classList.contains("action-item")){const d=this.focusedItem;this.setFocusedItem(h),d!==this.focusedItem&&this.updateFocus()}}}));const r={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Ek(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const a=this.scrollableElement.getDomNode();a.style.position="",this.styleScrollElement(a,n),this._register($(o,pt.Change,c=>{Oe.stop(c,!0);const h=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:h-c.translationY})})),this._register($(a,J.MOUSE_UP,c=>{c.preventDefault()}));const l=ue(e);o.style.maxHeight=`${Math.max(10,l.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((c,h)=>i.submenuIds?.has(c.id)?(console.warn(`Found submenu cycle: ${c.id}`),!1):!(c instanceof Yi&&(h===t.length-1||h===0||t[h-1]instanceof Yi))),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(c=>!(c instanceof gI)).forEach((c,h,d)=>{c.updatePositionInSet(h+1,d.length)})}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(Wp(e)?this.styleSheet=Yn(e):(ed.globalStyleSheet||(ed.globalStyleSheet=Yn()),this.styleSheet=ed.globalStyleSheet)),this.styleSheet.textContent=iU(t,Wp(e))}styleScrollElement(e,t){const i=t.foregroundColor??"",n=t.backgroundColor??"",o=t.borderColor?`1px solid ${t.borderColor}`:"",r="5px",a=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=o,e.style.borderRadius=r,e.style.color=i,e.style.backgroundColor=n,e.style.boxShadow=a}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register($(this.element,J.MOUSE_UP,o=>{if(Oe.stop(o,!0),Rs){if(new Qs(ue(this.element),o).rightButton)return;this.onClick(o)}else setTimeout(()=>{this.onClick(o)},0)})),this._register($(this.element,J.CONTEXT_MENU,o=>{Oe.stop(o,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=le(this.element,pe("a.action-menu-item")),this._action.id===Yi.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=le(this.item,pe("span.menu-item-check"+Ue.asCSSSelector(re.menuSelection))),this.check.setAttribute("role","none"),this.label=le(this.item,pe("span.action-label")),this.options.label&&this.options.keybinding&&(le(this.item,pe("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){if(this.label&&this.options.label){to(this.label);let e=xA(this.action.label);if(e){const t=tU(e);this.options.enableMnemonics||(e=t),this.label.setAttribute("aria-label",t.replace(/&&/g,"&"));const i=kS.exec(e);if(i){e=Fu(e),nC.lastIndex=0;let n=nC.exec(e);for(;n&&n[1];)n=nC.exec(e);const o=r=>r.replace(/&&/g,"&");n?this.label.append(Dg(o(e.substr(0,n.index))," "),pe("u",{"aria-hidden":"true"},n[3]),gM(o(e.substr(n.index+n[0].length))," ")):this.label.innerText=o(e).trim(),this.item?.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=e.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),e!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,n=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",o=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t??"",this.item.style.backgroundColor=i??"",this.item.style.outline=n,this.item.style.outlineOffset=o),this.check&&(this.check.style.color=t??"")}}class fI extends n4{constructor(e,t,i,n,o){super(e,e,n,o),this.submenuActions=t,this.parentData=i,this.submenuOptions=n,this.mysubmenu=null,this.submenuDisposables=this._register(new ae),this.mouseOver=!1,this.expandDirection=n&&n.expandDirection!==void 0?n.expandDirection:{horizontal:w_.Right,vertical:xS.Below},this.showScheduler=new Gi(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new Gi(()=>{this.element&&!ci(Zi(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=le(this.item,pe("span.submenu-indicator"+Ue.asCSSSelector(re.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register($(this.element,J.KEY_UP,t=>{const i=new vt(t);(i.equals(17)||i.equals(3))&&(Oe.stop(t,!0),this.createSubmenu(!0))})),this._register($(this.element,J.KEY_DOWN,t=>{const i=new vt(t);Zi()===this.item&&(i.equals(17)||i.equals(3))&&Oe.stop(t,!0)})),this._register($(this.element,J.MOUSE_OVER,t=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register($(this.element,J.MOUSE_LEAVE,t=>{this.mouseOver=!1})),this._register($(this.element,J.FOCUS_OUT,t=>{this.element&&!ci(Zi(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){Oe.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,n){const o={top:0,left:0};return o.left=vh(e.width,t.width,{position:n.horizontal===w_.Right?0:1,offset:i.left,size:i.width}),o.left>=i.left&&o.left{new vt(h).equals(15)&&(Oe.stop(h,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add($(this.submenuContainer,J.KEY_DOWN,h=>{new vt(h).equals(15)&&Oe.stop(h,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){this.item&&this.item?.setAttribute("aria-expanded",e)}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=t??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class gI extends Yk{constructor(e,t,i,n){super(e,t,i),this.menuStyles=n}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function tU(s){const e=kS,t=e.exec(s);if(!t)return s;const i=!t[1];return s.replace(e,i?"$2$3":"").trim()}function mI(s){const e=hM()[s.id];return`.codicon-${s.id}:before { content: '\\${e.toString(16)}'; }`}function iU(s,e){let t=` .monaco-menu { font-size: 13px; border-radius: 5px; min-width: 160px; } ${mI(re.menuSelection)} ${mI(re.menuSubmenu)} .monaco-menu .monaco-action-bar { text-align: right; overflow: hidden; white-space: nowrap; } .monaco-menu .monaco-action-bar .actions-container { display: flex; margin: 0 auto; padding: 0; width: 100%; justify-content: flex-end; } .monaco-menu .monaco-action-bar.vertical .actions-container { display: inline-block; } .monaco-menu .monaco-action-bar.reverse .actions-container { flex-direction: row-reverse; } .monaco-menu .monaco-action-bar .action-item { cursor: pointer; display: inline-block; transition: transform 50ms ease; position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */ } .monaco-menu .monaco-action-bar .action-item.disabled { cursor: default; } .monaco-menu .monaco-action-bar .action-item .icon, .monaco-menu .monaco-action-bar .action-item .codicon { display: inline-block; } .monaco-menu .monaco-action-bar .action-item .codicon { display: flex; align-items: center; } .monaco-menu .monaco-action-bar .action-label { font-size: 11px; margin-right: 4px; } .monaco-menu .monaco-action-bar .action-item.disabled .action-label, .monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover { color: var(--vscode-disabledForeground); } /* Vertical actions */ .monaco-menu .monaco-action-bar.vertical { text-align: left; } .monaco-menu .monaco-action-bar.vertical .action-item { display: block; } .monaco-menu .monaco-action-bar.vertical .action-label.separator { display: block; border-bottom: 1px solid var(--vscode-menu-separatorBackground); padding-top: 1px; padding: 30px; } .monaco-menu .secondary-actions .monaco-action-bar .action-label { margin-left: 6px; } /* Action Items */ .monaco-menu .monaco-action-bar .action-item.select-container { overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */ flex: 1; max-width: 170px; min-width: 60px; display: flex; align-items: center; justify-content: center; margin-right: 10px; } .monaco-menu .monaco-action-bar.vertical { margin-left: 0; overflow: visible; } .monaco-menu .monaco-action-bar.vertical .actions-container { display: block; } .monaco-menu .monaco-action-bar.vertical .action-item { padding: 0; transform: none; display: flex; } .monaco-menu .monaco-action-bar.vertical .action-item.active { transform: none; } .monaco-menu .monaco-action-bar.vertical .action-menu-item { flex: 1 1 auto; display: flex; height: 2em; align-items: center; position: relative; margin: 0 4px; border-radius: 4px; } .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding, .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding { opacity: unset; } .monaco-menu .monaco-action-bar.vertical .action-label { flex: 1 1 auto; text-decoration: none; padding: 0 1em; background: none; font-size: 12px; line-height: 1; } .monaco-menu .monaco-action-bar.vertical .keybinding, .monaco-menu .monaco-action-bar.vertical .submenu-indicator { display: inline-block; flex: 2 1 auto; padding: 0 1em; text-align: right; font-size: 12px; line-height: 1; } .monaco-menu .monaco-action-bar.vertical .submenu-indicator { height: 100%; } .monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon { font-size: 16px !important; display: flex; align-items: center; } .monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before { margin-left: auto; margin-right: -20px; } .monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding, .monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator { opacity: 0.4; } .monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) { display: inline-block; box-sizing: border-box; margin: 0; } .monaco-menu .monaco-action-bar.vertical .action-item { position: static; overflow: visible; } .monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu { position: absolute; } .monaco-menu .monaco-action-bar.vertical .action-label.separator { width: 100%; height: 0px !important; opacity: 1; } .monaco-menu .monaco-action-bar.vertical .action-label.separator.text { padding: 0.7em 1em 0.1em 1em; font-weight: bold; opacity: 1; } .monaco-menu .monaco-action-bar.vertical .action-label:hover { color: inherit; } .monaco-menu .monaco-action-bar.vertical .menu-item-check { position: absolute; visibility: hidden; width: 1em; height: 100%; } .monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check { visibility: visible; display: flex; align-items: center; justify-content: center; } /* Context Menu */ .context-view.monaco-menu-container { outline: 0; border: none; animation: fadeIn 0.083s linear; -webkit-app-region: no-drag; } .context-view.monaco-menu-container :focus, .context-view.monaco-menu-container .monaco-action-bar.vertical:focus, .context-view.monaco-menu-container .monaco-action-bar.vertical :focus { outline: 0; } .hc-black .context-view.monaco-menu-container, .hc-light .context-view.monaco-menu-container, :host-context(.hc-black) .context-view.monaco-menu-container, :host-context(.hc-light) .context-view.monaco-menu-container { box-shadow: none; } .hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused, .hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused, :host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused, :host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused { background: none; } /* Vertical Action Bar Styles */ .monaco-menu .monaco-action-bar.vertical { padding: 4px 0; } .monaco-menu .monaco-action-bar.vertical .action-menu-item { height: 2em; } .monaco-menu .monaco-action-bar.vertical .action-label:not(.separator), .monaco-menu .monaco-action-bar.vertical .keybinding { font-size: inherit; padding: 0 2em; max-height: 100%; } .monaco-menu .monaco-action-bar.vertical .menu-item-check { font-size: inherit; width: 2em; } .monaco-menu .monaco-action-bar.vertical .action-label.separator { font-size: inherit; margin: 5px 0 !important; padding: 0; border-radius: 0; } .linux .monaco-menu .monaco-action-bar.vertical .action-label.separator, :host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator { margin-left: 0; margin-right: 0; } .monaco-menu .monaco-action-bar.vertical .submenu-indicator { font-size: 60%; padding: 0 1.8em; } .linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator, :host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator { height: 100%; mask-size: 10px 10px; -webkit-mask-size: 10px 10px; } .monaco-menu .action-item { cursor: default; }`;if(e){t+=` /* Arrows */ .monaco-scrollable-element > .scrollbar > .scra { cursor: pointer; font-size: 11px !important; } .monaco-scrollable-element > .visible { opacity: 1; /* Background rule added for IE9 - to allow clicks on dom node */ background:rgba(0,0,0,0); transition: opacity 100ms linear; } .monaco-scrollable-element > .invisible { opacity: 0; pointer-events: none; } .monaco-scrollable-element > .invisible.fade { transition: opacity 800ms linear; } /* Scrollable Content Inset Shadow */ .monaco-scrollable-element > .shadow { position: absolute; display: none; } .monaco-scrollable-element > .shadow.top { display: block; top: 0; left: 3px; height: 3px; width: 100%; } .monaco-scrollable-element > .shadow.left { display: block; top: 3px; left: 0; height: 100%; width: 3px; } .monaco-scrollable-element > .shadow.top-left-corner { display: block; top: 0; left: 0; height: 3px; width: 3px; } `;const i=s.scrollbarShadow;i&&(t+=` .monaco-scrollable-element > .shadow.top { box-shadow: ${i} 0 6px 6px -6px inset; } .monaco-scrollable-element > .shadow.left { box-shadow: ${i} 6px 0 6px -6px inset; } .monaco-scrollable-element > .shadow.top.left { box-shadow: ${i} 6px 6px 6px -6px inset; } `);const n=s.scrollbarSliderBackground;n&&(t+=` .monaco-scrollable-element > .scrollbar > .slider { background: ${n}; } `);const o=s.scrollbarSliderHoverBackground;o&&(t+=` .monaco-scrollable-element > .scrollbar > .slider:hover { background: ${o}; } `);const r=s.scrollbarSliderActiveBackground;r&&(t+=` .monaco-scrollable-element > .scrollbar > .slider.active { background: ${r}; } `)}return t}class nU{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=Zi();let i;const n=ui(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:o=>{this.lastContainer=o;const r=e.getMenuClassName?e.getMenuClassName():"";r&&(o.className+=" "+r),this.options.blockMouse&&(this.block=o.appendChild(pe(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=$(this.block,J.MOUSE_DOWN,h=>h.stopPropagation()));const a=new ae,l=e.actionRunner||new bc;l.onWillRun(h=>this.onActionRun(h,!e.skipTelemetry),this,a),l.onDidRun(this.onDidActionRun,this,a),i=new ed(o,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:l,getKeyBinding:e.getKeyBinding?e.getKeyBinding:h=>this.keybindingService.lookupKeybinding(h.id)},Qz),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);const c=ue(o);return a.add($(c,J.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add($(c,J.MOUSE_DOWN,h=>{if(h.defaultPrevented)return;const d=new Qs(c,h);let u=d.target;if(!d.rightButton){for(;u;){if(u===o)return;u=u.parentElement}this.contextViewService.hideContextView(!0)}})),Oo(a,i)},focus:()=>{i?.focus(!!e.autoSelectFirstItem)},onHide:o=>{e.onHide?.(!!o),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(Zi()===this.lastContainer||ci(Zi(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!kg(e.error)&&this.notificationService.error(e.error)}}var sU=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},sh=function(s,e){return function(t,i){e(t,i,s)}};let DS=class extends K{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new nU(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,o,r){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=o,this.contextKeyService=r,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new A),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new A)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=ES.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),Sa.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};DS=sU([sh(0,Xa),sh(1,lo),sh(2,Wg),sh(3,Ti),sh(4,Oc),sh(5,Xe)],DS);var ES;(function(s){function e(i){return i&&i.menuId instanceof fi}function t(i,n,o){if(!e(i))return i;const{menuId:r,menuActionOptions:a,contextKeyService:l}=i;return{...i,getActions:()=>{const c=[];if(r){const h=n.getMenuActions(r,l??o,a);Xz(h,c)}return i.getActions?Yi.join(i.getActions(),c):c}}}s.transform=t})(ES||(ES={}));var v_;(function(s){s[s.API=0]="API",s[s.USER=1]="USER"})(v_||(v_={}));var Qk=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},S_=function(s,e){return function(t,i){e(t,i,s)}};let IS=class{constructor(e){this._commandService=e}async open(e,t){if(!GL(e,Ie.command))return!1;if(!t?.allowCommands||(typeof e=="string"&&(e=De.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=Jv(decodeURIComponent(e.query))}catch{try{i=Jv(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};IS=Qk([S_(0,Jn)],IS);let NS=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=De.parse(e));const{selection:i,uri:n}=LW(e);return e=n,e.scheme===Ie.file&&(e=oV(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t?.fromUserGesture?v_.USER:v_.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};NS=Qk([S_(0,Qt)],NS);let TS=class{constructor(e,t){this._openers=new Dn,this._validators=new Dn,this._resolvers=new Dn,this._resolvedUriTargets=new Gn(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new Dn,this._defaultExternalOpener={openExternal:async i=>(YD(i,Ie.http,Ie.https)?jM(i):ht.location.href=i,!0)},this._openers.push({open:async(i,n)=>n?.openExternal||YD(i,Ie.mailto,Ie.http,Ie.https,Ie.vsls)?(await this._doOpenExternal(i,n),!0):!1}),this._openers.push(new IS(t)),this._openers.push(new NS(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){const i=typeof e=="string"?De.parse(e):e,n=this._resolvedUriTargets.get(i)??e;for(const o of this._validators)if(!await o.shouldOpen(n,t))return!1;for(const o of this._openers)if(await o.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const n=await i.resolveExternalUri(e,t);if(n)return this._resolvedUriTargets.has(n.resolved)||this._resolvedUriTargets.set(n.resolved,e),n}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?De.parse(e):e;let n;try{n=(await this.resolveExternalUri(i,t)).resolved}catch{n=i}let o;if(typeof e=="string"&&i.toString()===n.toString()?o=e:o=encodeURI(n.toString(!0)),t?.allowContributedOpeners){const r=typeof t?.allowContributedOpeners=="string"?t?.allowContributedOpeners:void 0;for(const a of this._externalOpeners)if(await a.openExternal(o,{sourceUri:i,preferredOpenerId:r},Ms.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:i},Ms.None)}dispose(){this._validators.clear()}};TS=Qk([S_(0,Qt),S_(1,Jn)],TS);const Vc=Be("editorWorkerService");var cs;(function(s){s[s.Hint=1]="Hint",s[s.Info=2]="Info",s[s.Warning=4]="Warning",s[s.Error=8]="Error"})(cs||(cs={}));(function(s){function e(r,a){return a-r}s.compare=e;const t=Object.create(null);t[s.Error]=p("sev.error","Error"),t[s.Warning]=p("sev.warning","Warning"),t[s.Info]=p("sev.info","Info");function i(r){return t[r]||""}s.toString=i;function n(r){switch(r){case Yt.Error:return s.Error;case Yt.Warning:return s.Warning;case Yt.Info:return s.Info;case Yt.Ignore:return s.Hint}}s.fromSeverity=n;function o(r){switch(r){case s.Error:return Yt.Error;case s.Warning:return Yt.Warning;case s.Info:return Yt.Info;case s.Hint:return Yt.Ignore}}s.toSeverity=o})(cs||(cs={}));var pI;(function(s){const e="";function t(n){return i(n,!0)}s.makeKey=t;function i(n,o){const r=[e];return n.source?r.push(n.source.replace("¦","\\¦")):r.push(e),n.code?typeof n.code=="string"?r.push(n.code.replace("¦","\\¦")):r.push(n.code.value.replace("¦","\\¦")):r.push(e),n.severity!==void 0&&n.severity!==null?r.push(cs.toString(n.severity)):r.push(e),n.message&&o?r.push(n.message.replace("¦","\\¦")):r.push(e),n.startLineNumber!==void 0&&n.startLineNumber!==null?r.push(n.startLineNumber.toString()):r.push(e),n.startColumn!==void 0&&n.startColumn!==null?r.push(n.startColumn.toString()):r.push(e),n.endLineNumber!==void 0&&n.endLineNumber!==null?r.push(n.endLineNumber.toString()):r.push(e),n.endColumn!==void 0&&n.endColumn!==null?r.push(n.endColumn.toString()):r.push(e),r.push(e),r.join("¦")}s.makeKeyOptionalMessage=i})(pI||(pI={}));const Hc=Be("markerService"),s4=N("editor.lineHighlightBackground",null,p("lineHighlight","Background color for the highlight of line at the cursor position.")),_I=N("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:Ye},p("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));N("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},p("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:$t,hcLight:$t},p("rangeHighlightBorder","Background color of the border around highlighted ranges."));N("editor.symbolHighlightBackground",{dark:ya,light:ya,hcDark:null,hcLight:null},p("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:$t,hcLight:$t},p("symbolHighlightBorder","Background color of the border around highlighted symbols."));const jb=N("editorCursor.foreground",{dark:"#AEAFAD",light:Z.black,hcDark:Z.white,hcLight:"#0F4A85"},p("caret","Color of the editor cursor.")),Xk=N("editorCursor.background",null,p("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),o4=N("editorMultiCursor.primary.foreground",jb,p("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),oU=N("editorMultiCursor.primary.background",Xk,p("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),r4=N("editorMultiCursor.secondary.foreground",jb,p("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),rU=N("editorMultiCursor.secondary.background",Xk,p("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),Jk=N("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},p("editorWhitespaces","Color of whitespace characters in the editor.")),aU=N("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Z.white,hcLight:"#292929"},p("editorLineNumbers","Color of editor line numbers.")),lU=N("editorIndentGuide.background",Jk,p("editorIndentGuides","Color of the editor indentation guides."),!1,p("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),cU=N("editorIndentGuide.activeBackground",Jk,p("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,p("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),qg=N("editorIndentGuide.background1",lU,p("editorIndentGuides1","Color of the editor indentation guides (1).")),hU=N("editorIndentGuide.background2","#00000000",p("editorIndentGuides2","Color of the editor indentation guides (2).")),dU=N("editorIndentGuide.background3","#00000000",p("editorIndentGuides3","Color of the editor indentation guides (3).")),uU=N("editorIndentGuide.background4","#00000000",p("editorIndentGuides4","Color of the editor indentation guides (4).")),fU=N("editorIndentGuide.background5","#00000000",p("editorIndentGuides5","Color of the editor indentation guides (5).")),gU=N("editorIndentGuide.background6","#00000000",p("editorIndentGuides6","Color of the editor indentation guides (6).")),jg=N("editorIndentGuide.activeBackground1",cU,p("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),mU=N("editorIndentGuide.activeBackground2","#00000000",p("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),pU=N("editorIndentGuide.activeBackground3","#00000000",p("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),_U=N("editorIndentGuide.activeBackground4","#00000000",p("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),bU=N("editorIndentGuide.activeBackground5","#00000000",p("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),CU=N("editorIndentGuide.activeBackground6","#00000000",p("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),wU=N("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:$t,hcLight:$t},p("editorActiveLineNumber","Color of editor active line number"),!1,p("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));N("editorLineNumber.activeForeground",wU,p("editorActiveLineNumber","Color of editor active line number"));const vU=N("editorLineNumber.dimmedForeground",null,p("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));N("editorRuler.foreground",{dark:"#5A5A5A",light:Z.lightgrey,hcDark:Z.white,hcLight:"#292929"},p("editorRuler","Color of the editor rulers."));N("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},p("editorCodeLensForeground","Foreground color of editor CodeLens"));N("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},p("editorBracketMatchBackground","Background color behind matching brackets"));N("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:Ye,hcLight:Ye},p("editorBracketMatchBorder","Color for matching brackets boxes"));const SU=N("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},p("editorOverviewRulerBorder","Color of the overview ruler border.")),yU=N("editorOverviewRuler.background",null,p("editorOverviewRulerBackground","Background color of the editor overview ruler."));N("editorGutter.background",io,p("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers."));N("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Z.fromHex("#fff").transparent(.8),hcLight:Ye},p("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const LU=N("editorUnnecessaryCode.opacity",{dark:Z.fromHex("#000a"),light:Z.fromHex("#0007"),hcDark:null,hcLight:null},p("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));N("editorGhostText.border",{dark:null,light:null,hcDark:Z.fromHex("#fff").transparent(.8),hcLight:Z.fromHex("#292929").transparent(.8)},p("editorGhostTextBorder","Border color of ghost text in the editor."));const rne=N("editorGhostText.foreground",{dark:Z.fromHex("#ffffff56"),light:Z.fromHex("#0007"),hcDark:null,hcLight:null},p("editorGhostTextForeground","Foreground color of the ghost text in the editor."));N("editorGhostText.background",null,p("editorGhostTextBackground","Background color of the ghost text in the editor."));const kU=new Z(new Ke(0,122,204,.6)),ane=N("editorOverviewRuler.rangeHighlightForeground",kU,p("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),xU=N("editorOverviewRuler.errorForeground",{dark:new Z(new Ke(255,18,18,.7)),light:new Z(new Ke(255,18,18,.7)),hcDark:new Z(new Ke(255,50,50,1)),hcLight:"#B5200D"},p("overviewRuleError","Overview ruler marker color for errors.")),DU=N("editorOverviewRuler.warningForeground",{dark:qa,light:qa,hcDark:n_,hcLight:n_},p("overviewRuleWarning","Overview ruler marker color for warnings.")),EU=N("editorOverviewRuler.infoForeground",{dark:Sc,light:Sc,hcDark:s_,hcLight:s_},p("overviewRuleInfo","Overview ruler marker color for infos.")),a4=N("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},p("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),l4=N("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},p("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),c4=N("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},p("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),h4=N("editorBracketHighlight.foreground4","#00000000",p("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),d4=N("editorBracketHighlight.foreground5","#00000000",p("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),u4=N("editorBracketHighlight.foreground6","#00000000",p("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),IU=N("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Z(new Ke(255,18,18,.8)),light:new Z(new Ke(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},p("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),NU=N("editorBracketPairGuide.background1","#00000000",p("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),TU=N("editorBracketPairGuide.background2","#00000000",p("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),MU=N("editorBracketPairGuide.background3","#00000000",p("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),RU=N("editorBracketPairGuide.background4","#00000000",p("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),AU=N("editorBracketPairGuide.background5","#00000000",p("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),PU=N("editorBracketPairGuide.background6","#00000000",p("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),OU=N("editorBracketPairGuide.activeBackground1","#00000000",p("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),FU=N("editorBracketPairGuide.activeBackground2","#00000000",p("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),BU=N("editorBracketPairGuide.activeBackground3","#00000000",p("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),WU=N("editorBracketPairGuide.activeBackground4","#00000000",p("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),VU=N("editorBracketPairGuide.activeBackground5","#00000000",p("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),HU=N("editorBracketPairGuide.activeBackground6","#00000000",p("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));N("editorUnicodeHighlight.border",qa,p("editorUnicodeHighlight.border","Border color used to highlight unicode characters."));N("editorUnicodeHighlight.background",T6,p("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));jr((s,e)=>{const t=s.getColor(io),i=s.getColor(s4),n=i&&!i.isTransparent()?i:t;n&&e.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)});function zU(s,e){const t=[],i=[];for(const n of s)e.has(n)||t.push(n);for(const n of e)s.has(n)||i.push(n);return{removed:t,added:i}}function UU(s,e){const t=new Set;for(const i of e)s.has(i)&&t.add(i);return t}var $U=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},bI=function(s,e){return function(t,i){e(t,i,s)}};let MS=class extends K{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new A),this._markerDecorations=new Gn,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new KU(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===Ie.inMemory||e.uri.scheme===Ie.internal||e.uri.scheme===Ie.vscode)&&this._markerService?.read({resource:e.uri}).map(i=>i.owner).forEach(i=>this._markerService.remove(i,[e.uri]))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};MS=$U([bI(0,Qi),bI(1,Hc)],MS);class KU extends K{constructor(e){super(),this.model=e,this._map=new AF,this._register(ve(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=zU(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const n=i.map(a=>this._map.get(a)),o=t.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),r=this.model.deltaDecorations(n,o);for(const a of i)this._map.delete(a);for(let a=0;a=n)return i;const o=e.getWordAtPosition(i.getStartPosition());o&&(i=new R(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n=0:!1}}const f4=Be("markerDecorationsService");class ei{static _nextVisibleColumn(e,t,i){return e===9?ei.nextRenderTabStop(t,i):Va(e)||$L(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const n=Math.min(t-1,e.length),o=e.substring(0,n),r=new Op(o);let a=0;for(;!r.eol();){const l=Pp(o,n,r.offset);r.nextGraphemeLength(),a=this._nextVisibleColumn(l,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const n=e.length,o=new Op(e);let r=0,a=1;for(;!o.eol();){const l=Pp(e,n,o.offset);o.nextGraphemeLength();const c=this._nextVisibleColumn(l,r,i),h=o.offset+1;if(c>=t){const d=t-r;return c-t=Kn&&(t=t-s%Kn),t}function QU(s,e){return s.reduce((t,i)=>Zt(t,e(i)),fn)}function m4(s,e){return s===e}function Jf(s,e){const t=s,i=e;if(i-t<=0)return fn;const o=Math.floor(t/Kn),r=Math.floor(i/Kn),a=i-r*Kn;if(o===r){const l=t-o*Kn;return Ht(0,a-l)}else return Ht(r-o,a)}function td(s,e){return s=e}function kh(s){return Ht(s.lineNumber-1,s.column-1)}function ec(s,e){const t=s,i=Math.floor(t/Kn),n=t-i*Kn,o=e,r=Math.floor(o/Kn),a=o-r*Kn;return new R(i+1,n+1,r+1,a+1)}function XU(s){const e=Fd(s);return Ht(e.length-1,e[e.length-1].length)}class Er{static fromModelContentChanges(e){return e.map(i=>{const n=R.lift(i.range);return new Er(kh(n.getStartPosition()),kh(n.getEndPosition()),XU(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${fs(this.startOffset)}...${fs(this.endOffset)}) -> ${fs(this.newLength)}`}}class JU{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>ex.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:Jf(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?Ht(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):Ht(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=fs(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?Ht(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):Ht(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(n===0){const r=1<this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const o=this.lineTokens,r=o.getCount();let a=null;if(this.lineTokenOffset1e3))break;if(i>1500)break}const n=ZU(e,t,this.lineIdx,this.lineCharOffset);return new _a(n,0,-1,kn.getEmpty(),new Tl(n))}}class a${constructor(e,t){this.text=e,this._offset=fn,this.idx=0;const i=t.getRegExpStr(),n=i?new RegExp(i+`| `,"gi"):null,o=[];let r,a=0,l=0,c=0,h=0;const d=[];for(let g=0;g<60;g++)d.push(new _a(Ht(0,g),0,-1,kn.getEmpty(),new Tl(Ht(0,g))));const u=[];for(let g=0;g<60;g++)u.push(new _a(Ht(1,g),0,-1,kn.getEmpty(),new Tl(Ht(1,g))));if(n)for(n.lastIndex=0;(r=n.exec(e))!==null;){const g=r.index,m=r[0];if(m===` `)a++,l=g+1;else{if(c!==g){let _;if(h===a){const b=g-c;if(bl$(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function l$(s){let e=$r(s);return/^[\w ]+/.test(s)&&(e=`\\b${e}`),/[\w ]+$/.test(s)&&(e=`${e}\\b`),e}class c${constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=nx.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function h$(s){if(s.length===0)return null;if(s.length===1)return s[0];let e=0;function t(){if(e>=s.length)return null;const r=e,a=s[r].listHeight;for(e++;e=2?p4(r===0&&e===s.length?s:s.slice(r,e),!1):s[r]}let i=t(),n=t();if(!n)return i;for(let r=t();r;r=t())vI(i,n)<=vI(n,r)?(i=sC(i,n),n=r):n=sC(n,r);return sC(i,n)}function p4(s,e=!1){if(s.length===0)return null;if(s.length===1)return s[0];let t=s.length;for(;t>3;){const i=t>>1;for(let n=0;n=3?s[2]:null,e)}function vI(s,e){return Math.abs(s.listHeight-e.listHeight)}function sC(s,e){return s.listHeight===e.listHeight?Ho.create23(s,e,null,!1):s.listHeight>e.listHeight?d$(s,e):u$(e,s)}function d$(s,e){s=s.toMutable();let t=s;const i=[];let n;for(;;){if(e.listHeight===t.listHeight){n=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let o=i.length-1;o>=0;o--){const r=i[o];n?r.childrenLength>=3?n=Ho.create23(r.unappendChild(),n,null,!1):(r.appendChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?Ho.create23(s,n,null,!1):s}function u$(s,e){s=s.toMutable();let t=s;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let n=e;for(let o=i.length-1;o>=0;o--){const r=i[o];n?r.childrenLength>=3?n=Ho.create23(n,r.unprependChild(),null,!1):(r.prependChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?Ho.create23(n,s,null,!1):s}class f${constructor(e){this.lastOffset=fn,this.nextNodes=[e],this.offsets=[fn],this.idxs=[]}readLongestNodeAt(e,t){if(td(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=gu(this.nextNodes);if(!i)return;const n=gu(this.offsets);if(td(e,n))return;if(td(n,e))if(Zt(n,i.length)<=e)this.nextNodeAfterCurrent();else{const o=oC(i);o!==-1?(this.nextNodes.push(i.getChild(o)),this.offsets.push(n),this.idxs.push(o)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const o=oC(i);if(o===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(o)),this.offsets.push(n),this.idxs.push(o)}}}}nextNodeAfterCurrent(){for(;;){const e=gu(this.offsets),t=gu(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=gu(this.nextNodes),n=oC(i,this.idxs[this.idxs.length-1]);if(n!==-1){this.nextNodes.push(i.getChild(n)),this.offsets.push(Zt(e,t.length)),this.idxs[this.idxs.length-1]=n;break}else this.idxs.pop()}}}function oC(s,e=-1){for(;;){if(e++,e>=s.childrenLength)return-1;if(s.getChild(e))return e}}function gu(s){return s.length>0?s[s.length-1]:void 0}function SI(s,e,t,i){return new g$(s,e,t,i).parseDocument()}class g${constructor(e,t,i,n){if(this.tokenizer=e,this.createImmutableLists=n,this._itemsConstructed=0,this._itemsFromCache=0,i&&n)throw new Error("Not supported");this.oldNodeReader=i?new f$(i):void 0,this.positionMapper=new JU(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(kn.getEmpty(),0);return e||(e=Ho.getEmpty()),e}parseList(e,t){const i=[];for(;;){let o=this.tryReadChildFromCache(e);if(!o){const r=this.tokenizer.peek();if(!r||r.kind===2&&r.bracketIds.intersects(e))break;o=this.parseChild(e,t+1)}o.kind===4&&o.childrenLength===0||i.push(o)}return this.oldNodeReader?h$(i):p4(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(t===null||!y_(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),n=>t!==null&&!td(n.length,t)?!1:n.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new s$(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new Tl(i.length);const n=e.merge(i.bracketIds),o=this.parseList(n,t+1),r=this.tokenizer.peek();return r&&r.kind===2&&(r.bracketId===i.bracketId||r.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),eg.create(i.astNode,o,r.astNode)):eg.create(i.astNode,o,null)}default:throw new Error("unexpected")}}}function x_(s,e){if(s.length===0)return e;if(e.length===0)return s;const t=new zr(yI(s)),i=yI(e);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let n=t.dequeue();function o(c){if(c===void 0){const d=t.takeWhile(u=>!0)||[];return n&&d.unshift(n),d}const h=[];for(;n&&!y_(c);){const[d,u]=n.splitAt(c);h.push(d),c=Jf(d.lengthAfter,c),n=u??t.dequeue()}return y_(c)||h.push(new Da(!1,c,c)),h}const r=[];function a(c,h,d){if(r.length>0&&m4(r[r.length-1].endOffset,c)){const u=r[r.length-1];r[r.length-1]=new Er(u.startOffset,h,Zt(u.newLength,d))}else r.push({startOffset:c,endOffset:h,newLength:d})}let l=fn;for(const c of i){const h=o(c.lengthBefore);if(c.modified){const d=QU(h,f=>f.lengthBefore),u=Zt(l,d);a(l,u,c.lengthAfter),l=u}else for(const d of h){const u=l;l=Zt(l,d.lengthBefore),d.modified&&a(u,l,d.lengthAfter)}}return r}class Da{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=Jf(e,this.lengthAfter);return m4(t,fn)?[this,void 0]:this.modified?[new Da(this.modified,this.lengthBefore,e),new Da(this.modified,fn,t)]:[new Da(this.modified,e,e),new Da(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${fs(this.lengthBefore)} -> ${fs(this.lengthAfter)}`}}function yI(s){const e=[];let t=fn;for(const i of s){const n=Jf(t,i.startOffset);y_(n)||e.push(new Da(!1,n,n));const o=Jf(i.startOffset,i.endOffset);e.push(new Da(!0,o,i.newLength)),t=i.endOffset}return e}class m$ extends K{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new A,this.denseKeyProvider=new e$,this.brackets=new c$(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)e.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const i=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),n=new a$(this.textModel.getValue(),i);this.initialAstWithoutTokens=SI(n,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const e=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(i=>new Er(Ht(i.fromLineNumber-1,0),Ht(i.toLineNumber,0),Ht(i.toLineNumber-i.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Er.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=x_(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=x_(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const n=t,o=new o$(this.textModel,this.brackets);return SI(o,e,n,i)}getBracketsInRange(e,t){this.flushQueue();const i=Ht(e.startLineNumber-1,e.startColumn-1),n=Ht(e.endLineNumber-1,e.endColumn-1);return new Zl(o=>{const r=this.initialAstWithoutTokens||this.astWithTokens;RS(r,fn,r.length,i,n,o,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=kh(e.getStartPosition()),n=kh(e.getEndPosition());return new Zl(o=>{const r=this.initialAstWithoutTokens||this.astWithTokens,a=new p$(o,t,this.textModel);AS(r,fn,r.length,i,n,a,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return b4(t,fn,t.length,kh(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return _4(t,fn,t.length,kh(e))}}function _4(s,e,t,i){if(s.kind===4||s.kind===2){const n=[];for(const o of s.children)t=Zt(e,o.length),n.push({nodeOffsetStart:e,nodeOffsetEnd:t}),e=t;for(let o=n.length-1;o>=0;o--){const{nodeOffsetStart:r,nodeOffsetEnd:a}=n[o];if(td(r,i)){const l=_4(s.children[o],r,a,i);if(l)return l}}return null}else{if(s.kind===3)return null;if(s.kind===1){const n=ec(e,t);return{bracketInfo:s.bracketInfo,range:n}}}return null}function b4(s,e,t,i){if(s.kind===4||s.kind===2){for(const n of s.children){if(t=Zt(e,n.length),td(i,t)){const o=b4(n,e,t,i);if(o)return o}e=t}return null}else{if(s.kind===3)return null;if(s.kind===1){const n=ec(e,t);return{bracketInfo:s.bracketInfo,range:n}}}return null}function RS(s,e,t,i,n,o,r,a,l,c,h=!1){if(r>200)return!0;e:for(;;)switch(s.kind){case 4:{const d=s.childrenLength;for(let u=0;u200)return!0;let l=!0;if(s.kind===2){let c=0;if(a){let u=a.get(s.openingBracket.text);u===void 0&&(u=0),c=u,u++,a.set(s.openingBracket.text,u)}const h=Zt(e,s.openingBracket.length);let d=-1;if(o.includeMinIndentation&&(d=s.computeMinIndentation(e,o.textModel)),l=o.push(new GU(ec(e,t),ec(e,h),s.closingBracket?ec(Zt(h,s.child?.length||fn),t):void 0,r,c,s,d)),e=h,l&&s.child){const u=s.child;if(t=Zt(e,u.length),id(e,n)&&Tu(t,i)&&(l=AS(u,e,t,i,n,o,r+1,a),!l))return!1}a?.set(s.openingBracket.text,c)}else{let c=e;for(const h of s.children){const d=c;if(c=Zt(c,h.length),id(d,n)&&id(i,c)&&(l=AS(h,d,c,i,n,o,r,a),!l))return!1}}return l}class _$ extends K{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new Ur),this.onDidChangeEmitter=new A,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){(!e.languageId||this.bracketPairsTree.value?.object.didLanguageChange(e.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new ae;this.bracketPairsTree.value=b$(e.add(new m$(this.textModel,t=>this.languageConfigurationService.getLanguageConfiguration(t))),e),e.add(this.bracketPairsTree.value.object.onDidChange(t=>this.onDidChangeEmitter.fire(t))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||Zl.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||Zl.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||Zl.empty}findMatchingBracketUp(e,t,i){const n=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column);if(this.canBuildAST){const r=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!r)return null;const a=this.getBracketPairsInRange(R.fromPositions(t,t)).findLast(l=>r.closes(l.openingBracketInfo));return a?a.openingBracketRange:null}else{const r=e.toLowerCase(),a=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!a)return null;const l=a.textIsBracket[r];return l?Nm(this._findMatchingBracketUp(l,n,rC(i))):null}}matchBracket(e,t){if(this.canBuildAST){const i=this.getBracketPairsInRange(R.fromPositions(e,e)).filter(n=>n.closingBracketRange!==void 0&&(n.openingBracketRange.containsPosition(e)||n.closingBracketRange.containsPosition(e))).findLastMaxBy(Ns(n=>n.openingBracketRange.containsPosition(e)?n.openingBracketRange:n.closingBracketRange,R.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}else{const i=rC(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,n){const o=t.getCount(),r=t.getLanguageId(n);let a=Math.max(0,e.column-1-i.maxBracketLength);for(let c=n-1;c>=0;c--){const h=t.getEndOffset(c);if(h<=a)break;if(vo(t.getStandardTokenType(c))||t.getLanguageId(c)!==r){a=h;break}}let l=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let c=n+1;c=l)break;if(vo(t.getStandardTokenType(c))||t.getLanguageId(c)!==r){l=h;break}}return{searchStartOffset:a,searchEndOffset:l}}_matchBracket(e,t){const i=e.lineNumber,n=this.textModel.tokenization.getLineTokens(i),o=this.textModel.getLineContent(i),r=n.findTokenIndexAtOffset(e.column-1);if(r<0)return null;const a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(r)).brackets;if(a&&!vo(n.getStandardTokenType(r))){let{searchStartOffset:l,searchEndOffset:c}=this._establishBracketSearchOffsets(e,n,a,r),h=null;for(;;){const d=vs.findNextBracketInRange(a.forwardRegex,i,o,l,c);if(!d)break;if(d.startColumn<=e.column&&e.column<=d.endColumn){const u=o.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),f=this._matchFoundBracket(d,a.textIsBracket[u],a.textIsOpenBracket[u],t);if(f){if(f instanceof _r)return null;h=f}}l=d.endColumn-1}if(h)return h}if(r>0&&n.getStartOffset(r)===e.column-1){const l=r-1,c=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(l)).brackets;if(c&&!vo(n.getStandardTokenType(l))){const{searchStartOffset:h,searchEndOffset:d}=this._establishBracketSearchOffsets(e,n,c,l),u=vs.findPrevBracketInRange(c.reversedRegex,i,o,h,d);if(u&&u.startColumn<=e.column&&e.column<=u.endColumn){const f=o.substring(u.startColumn-1,u.endColumn-1).toLowerCase(),g=this._matchFoundBracket(u,c.textIsBracket[f],c.textIsOpenBracket[f],t);if(g)return g instanceof _r?null:g}}}return null}_matchFoundBracket(e,t,i,n){if(!t)return null;const o=i?this._findMatchingBracketDown(t,e.getEndPosition(),n):this._findMatchingBracketUp(t,e.getStartPosition(),n);return o?o instanceof _r?o:[e,o]:null}_findMatchingBracketUp(e,t,i){const n=e.languageId,o=e.reversedRegex;let r=-1,a=0;const l=(c,h,d,u)=>{for(;;){if(i&&++a%100===0&&!i())return _r.INSTANCE;const f=vs.findPrevBracketInRange(o,c,h,d,u);if(!f)break;const g=h.substring(f.startColumn-1,f.endColumn-1).toLowerCase();if(e.isOpen(g)?r++:e.isClose(g)&&r--,r===0)return f;u=f.startColumn-1}return null};for(let c=t.lineNumber;c>=1;c--){const h=this.textModel.tokenization.getLineTokens(c),d=h.getCount(),u=this.textModel.getLineContent(c);let f=d-1,g=u.length,m=u.length;c===t.lineNumber&&(f=h.findTokenIndexAtOffset(t.column-1),g=t.column-1,m=t.column-1);let _=!0;for(;f>=0;f--){const b=h.getLanguageId(f)===n&&!vo(h.getStandardTokenType(f));if(b)_?g=h.getStartOffset(f):(g=h.getStartOffset(f),m=h.getEndOffset(f));else if(_&&g!==m){const C=l(c,u,g,m);if(C)return C}_=b}if(_&&g!==m){const b=l(c,u,g,m);if(b)return b}}return null}_findMatchingBracketDown(e,t,i){const n=e.languageId,o=e.forwardRegex;let r=1,a=0;const l=(h,d,u,f)=>{for(;;){if(i&&++a%100===0&&!i())return _r.INSTANCE;const g=vs.findNextBracketInRange(o,h,d,u,f);if(!g)break;const m=d.substring(g.startColumn-1,g.endColumn-1).toLowerCase();if(e.isOpen(m)?r++:e.isClose(m)&&r--,r===0)return g;u=g.endColumn-1}return null},c=this.textModel.getLineCount();for(let h=t.lineNumber;h<=c;h++){const d=this.textModel.tokenization.getLineTokens(h),u=d.getCount(),f=this.textModel.getLineContent(h);let g=0,m=0,_=0;h===t.lineNumber&&(g=d.findTokenIndexAtOffset(t.column-1),m=t.column-1,_=t.column-1);let b=!0;for(;g=1;r--){const a=this.textModel.tokenization.getLineTokens(r),l=a.getCount(),c=this.textModel.getLineContent(r);let h=l-1,d=c.length,u=c.length;if(r===t.lineNumber){h=a.findTokenIndexAtOffset(t.column-1),d=t.column-1,u=t.column-1;const g=a.getLanguageId(h);i!==g&&(i=g,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,o=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let f=!0;for(;h>=0;h--){const g=a.getLanguageId(h);if(i!==g){if(n&&o&&f&&d!==u){const _=vs.findPrevBracketInRange(n.reversedRegex,r,c,d,u);if(_)return this._toFoundBracket(o,_);f=!1}i=g,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,o=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const m=!!n&&!vo(a.getStandardTokenType(h));if(m)f?d=a.getStartOffset(h):(d=a.getStartOffset(h),u=a.getEndOffset(h));else if(o&&n&&f&&d!==u){const _=vs.findPrevBracketInRange(n.reversedRegex,r,c,d,u);if(_)return this._toFoundBracket(o,_)}f=m}if(o&&n&&f&&d!==u){const g=vs.findPrevBracketInRange(n.reversedRegex,r,c,d,u);if(g)return this._toFoundBracket(o,g)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const i=this.textModel.getLineCount();let n=null,o=null,r=null;for(let a=t.lineNumber;a<=i;a++){const l=this.textModel.tokenization.getLineTokens(a),c=l.getCount(),h=this.textModel.getLineContent(a);let d=0,u=0,f=0;if(a===t.lineNumber){d=l.findTokenIndexAtOffset(t.column-1),u=t.column-1,f=t.column-1;const m=l.getLanguageId(d);n!==m&&(n=m,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let g=!0;for(;dm.closingBracketRange!==void 0&&m.range.strictContainsRange(f));return g?[g.openingBracketRange,g.closingBracketRange]:null}const n=rC(t),o=this.textModel.getLineCount(),r=new Map;let a=[];const l=(f,g)=>{if(!r.has(f)){const m=[];for(let _=0,b=g?g.brackets.length:0;_{for(;;){if(n&&++c%100===0&&!n())return _r.INSTANCE;const C=vs.findNextBracketInRange(f.forwardRegex,g,m,_,b);if(!C)break;const v=m.substring(C.startColumn-1,C.endColumn-1).toLowerCase(),w=f.textIsBracket[v];if(w&&(w.isOpen(v)?a[w.index]++:w.isClose(v)&&a[w.index]--,a[w.index]===-1))return this._matchFoundBracket(C,w,!1,n);_=C.endColumn-1}return null};let d=null,u=null;for(let f=i.lineNumber;f<=o;f++){const g=this.textModel.tokenization.getLineTokens(f),m=g.getCount(),_=this.textModel.getLineContent(f);let b=0,C=0,v=0;if(f===i.lineNumber){b=g.findTokenIndexAtOffset(i.column-1),C=i.column-1,v=i.column-1;const y=g.getLanguageId(b);d!==y&&(d=y,u=this.languageConfigurationService.getLanguageConfiguration(d).brackets,l(d,u))}let w=!0;for(;be?.dispose()}}function rC(s){if(typeof s>"u")return()=>!0;{const e=Date.now();return()=>Date.now()-e<=s}}const A1=class A1{constructor(){this._searchCanceledBrand=void 0}};A1.INSTANCE=new A1;let _r=A1;function Nm(s){return s instanceof _r?null:s}class C$ extends K{constructor(e){super(),this.textModel=e,this.colorProvider=new C4,this.onDidChangeEmitter=new A,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,n){return n?[]:t===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(r=>({id:`bracket${r.range.toString()}-${r.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(r,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:r.range})).toArray():[]}getAllDecorations(e,t){return e===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new R(1,1,this.textModel.getLineCount(),1),e,t):[]}}class C4{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return`bracket-highlighting-${e%30}`}}jr((s,e)=>{const t=[a4,l4,c4,h4,d4,u4],i=new C4;e.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${s.getColor(IU)}; }`);const n=t.map(o=>s.getColor(o)).filter(o=>!!o).filter(o=>!o.isTransparent());for(let o=0;o<30;o++){const r=n[o%n.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(o)} { color: ${r}; }`)}});function Tm(s){return s.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Ei{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${Tm(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${Tm(this.oldText)}")`:`(replace@${this.oldPosition} "${Tm(this.oldText)}" with "${Tm(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const n=t.length;qs(e,n,i),i+=4;for(let o=0;o0&&(this.changes=w$(this.changes,t)),this.afterEOL=i,this.afterVersionId=n,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+4*4*(e?e.length:0)}static _writeSelections(e,t,i){if(qs(e,t?t.length:0,i),i+=4,t)for(const n of t)qs(e,n.selectionStartLineNumber,i),i+=4,qs(e,n.selectionStartColumn,i),i+=4,qs(e,n.positionLineNumber,i),i+=4,qs(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const n=Ks(e,t);t+=4;for(let o=0;ot.toString()).join(", ")}matchesResource(e){return(De.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof oi}append(e,t,i,n,o){this._data instanceof oi&&this._data.append(e,t,i,n,o)}close(){this._data instanceof oi&&(this._data=this._data.serialize())}open(){this._data instanceof oi||(this._data=oi.deserialize(this._data))}undo(){if(De.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof oi&&(this._data=this._data.serialize());const e=oi.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(De.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof oi&&(this._data=this._data.serialize());const e=oi.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof oi&&(this._data=this._data.serialize()),this._data.byteLength+168}}class v${get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const n of this._editStackElementsArr){const o=oh(n.resource);this._editStackElementsMap.set(o,n)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=oh(e);return this._editStackElementsMap.has(t)}setModel(e){const t=oh(De.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=oh(e.uri);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).canAppend(e):!1}append(e,t,i,n,o){const r=oh(e.uri);this._editStackElementsMap.get(r).append(e,t,i,n,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=oh(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${Ok(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function PS(s){return s.getEOL()===` `?0:1}function br(s){return s?s instanceof w4||s instanceof v$:!1}class sx{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);br(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);br(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(br(i)&&i.canAppend(this._model))return i;const n=new w4(p("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(n,t),n}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],PS(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n){const o=this._getOrCreateEditStackElement(e,n),r=this._model.applyEdits(t,!0),a=sx._computeCursorState(i,r),l=r.map((c,h)=>({index:h,textChange:c.textChange}));return l.sort((c,h)=>c.textChange.oldPosition===h.textChange.oldPosition?c.index-h.index:c.textChange.oldPosition-h.textChange.oldPosition),o.append(this._model,l.map(c=>c.textChange),PS(this._model),this._model.getAlternativeVersionId(),a),a}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return ut(i),null}}}class v4 extends K{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function S$(s,e){let t=0,i=0;const n=s.length;for(;in)throw new et("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=!!(o&&o.offSide);let a=-2,l=-1,c=-2,h=-1;const d=k=>{if(a!==-1&&(a===-2||a>k-1)){a=-1,l=-1;for(let D=k-2;D>=0;D--){const E=this._computeIndentLevel(D);if(E>=0){a=D,l=E;break}}}if(c===-2){c=-1,h=-1;for(let D=k;D=0){c=D,h=E;break}}}};let u=-2,f=-1,g=-2,m=-1;const _=k=>{if(u===-2){u=-1,f=-1;for(let D=k-2;D>=0;D--){const E=this._computeIndentLevel(D);if(E>=0){u=D,f=E;break}}}if(g!==-1&&(g===-2||g=0){g=D,m=E;break}}}};let b=0,C=!0,v=0,w=!0,y=0,L=0;for(let k=0;C||w;k++){const D=e-k,E=e+k;k>1&&(D<1||D1&&(E>n||E>i)&&(w=!1),k>5e4&&(C=!1,w=!1);let U=-1;if(C&&D>=1){const B=this._computeIndentLevel(D-1);B>=0?(c=D-1,h=B,U=Math.ceil(B/this.textModel.getOptions().indentSize)):(d(D),U=this._getIndentLevelForWhitespaceLine(r,l,h))}let O=-1;if(w&&E<=n){const B=this._computeIndentLevel(E-1);B>=0?(u=E-1,f=B,O=Math.ceil(B/this.textModel.getOptions().indentSize)):(_(E),O=this._getIndentLevelForWhitespaceLine(r,f,m))}if(k===0){L=U;continue}if(k===1){if(E<=n&&O>=0&&L+1===O){C=!1,b=E,v=E,y=O;continue}if(D>=1&&U>=0&&U-1===L){w=!1,b=D,v=D,y=U;continue}if(b=e,v=e,y=L,y===0)return{startLineNumber:b,endLineNumber:v,indent:y}}C&&(U>=y?b=D:C=!1),w&&(O>=y?v=E:w=!1)}return{startLineNumber:b,endLineNumber:v,indent:y}}getLinesBracketGuides(e,t,i,n){const o=[];for(let d=e;d<=t;d++)o.push([]);const r=!0,a=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new R(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let l;if(i&&a.length>0){const d=(e<=i.lineNumber&&i.lineNumber<=t?a:this.textModel.bracketPairs.getBracketPairsInRange(R.fromPositions(i)).toArray()).filter(u=>R.strictContainsPosition(u.range,i));l=Gp(d,u=>r)?.range}const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,h=new S4;for(const d of a){if(!d.closingBracketRange)continue;const u=l&&d.range.equalsRange(l);if(!u&&!n.includeInactive)continue;const f=h.getInlineClassName(d.nestingLevel,d.nestingLevelOfEqualBracketType,c)+(n.highlightActive&&u?" "+h.activeClassName:""),g=d.openingBracketRange.getStartPosition(),m=d.closingBracketRange.getStartPosition(),_=n.horizontalGuides===tc.Enabled||n.horizontalGuides===tc.EnabledForActive&&u;if(d.range.startLineNumber===d.range.endLineNumber){_&&o[d.range.startLineNumber-e].push(new ql(-1,d.openingBracketRange.getEndPosition().column,f,new Yu(!1,m.column),-1,-1));continue}const b=this.getVisibleColumnFromPosition(m),C=this.getVisibleColumnFromPosition(d.openingBracketRange.getStartPosition()),v=Math.min(C,b,d.minVisibleColumnIndentation+1);let w=!1;In(this.textModel.getLineContent(d.closingBracketRange.startLineNumber))=e&&C>v&&o[g.lineNumber-e].push(new ql(v,-1,f,new Yu(!1,g.column),-1,-1)),m.lineNumber<=t&&b>v&&o[m.lineNumber-e].push(new ql(v,-1,f,new Yu(!w,m.column),-1,-1)))}for(const d of o)d.sort((u,f)=>u.visibleColumn-f.visibleColumn);return o}getVisibleColumnFromPosition(e){return ei.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const n=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=!!(o&&o.offSide),a=new Array(t-e+1);let l=-2,c=-1,h=-2,d=-1;for(let u=e;u<=t;u++){const f=u-e,g=this._computeIndentLevel(u-1);if(g>=0){l=u-1,c=g,a[f]=Math.ceil(g/n.indentSize);continue}if(l===-2){l=-1,c=-1;for(let m=u-2;m>=0;m--){const _=this._computeIndentLevel(m);if(_>=0){l=m,c=_;break}}}if(h!==-1&&(h===-2||h=0){h=m,d=_;break}}}a[f]=this._getIndentLevelForWhitespaceLine(r,c,d)}return a}_getIndentLevelForWhitespaceLine(e,t,i){const n=this.textModel.getOptions();return t===-1||i===-1?0:t0&&a>0||l>0&&c>0)return;const h=Math.abs(a-c),d=Math.abs(r-l);if(h===0){n.spacesDiff=d,d>0&&0<=l-1&&l-10?n++:w>1&&o++,k$(r,a,_,v,d),d.looksLikeAlignment&&!(t&&e===d.spacesDiff)))continue;const L=d.spacesDiff;L<=c&&h[L]++,r=_,a=v}let u=t;n!==o&&(u=n{const _=h[m];_>g&&(g=_,f=m)}),f===4&&h[4]>0&&h[2]>0&&h[2]>=h[4]/2&&(f=2)}return{insertSpaces:u,tabSize:f}}function an(s){return(s.metadata&1)>>>0}function Ct(s,e){s.metadata=s.metadata&254|e<<0}function Ni(s){return(s.metadata&2)>>>1===1}function _t(s,e){s.metadata=s.metadata&253|(e?1:0)<<1}function y4(s){return(s.metadata&4)>>>2===1}function kI(s,e){s.metadata=s.metadata&251|(e?1:0)<<2}function L4(s){return(s.metadata&64)>>>6===1}function xI(s,e){s.metadata=s.metadata&191|(e?1:0)<<6}function x$(s){return(s.metadata&24)>>>3}function DI(s,e){s.metadata=s.metadata&231|e<<3}function D$(s){return(s.metadata&32)>>>5===1}function EI(s,e){s.metadata=s.metadata&223|(e?1:0)<<5}class k4{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,Ct(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,kI(this,!1),xI(this,!1),DI(this,1),EI(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,_t(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;kI(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),xI(this,this.options.glyphMarginClassName!==null),DI(this,this.options.stickiness),EI(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const Ee=new k4(null,0,0);Ee.parent=Ee;Ee.left=Ee;Ee.right=Ee;Ct(Ee,0);class aC{constructor(){this.root=Ee,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,o,r){return this.root===Ee?[]:P$(this,e,t,i,n,o,r)}search(e,t,i,n){return this.root===Ee?[]:A$(this,e,t,i,n)}collectNodesFromOwner(e){return M$(this,e)}collectNodesPostOrder(){return R$(this)}insert(e){II(this,e),this._normalizeDeltaIfNecessary()}delete(e){NI(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const o=i.start+n,r=i.end+n;i.setCachedOffsets(o,r,t)}acceptReplace(e,t,i,n){const o=N$(this,e,e+t);for(let r=0,a=o.length;rt||i===1?!1:i===2?!0:e}function I$(s,e,t,i,n){const o=x$(s),r=o===0||o===2,a=o===1||o===2,l=t-e,c=i,h=Math.min(l,c),d=s.start;let u=!1;const f=s.end;let g=!1;e<=d&&f<=t&&D$(s)&&(s.start=e,u=!0,s.end=e,g=!0);{const _=n?1:l>0?2:0;!u&&rh(d,r,e,_)&&(u=!0),!g&&rh(f,a,e,_)&&(g=!0)}if(h>0&&!n){const _=l>c?2:0;!u&&rh(d,r,e+h,_)&&(u=!0),!g&&rh(f,a,e+h,_)&&(g=!0)}{const _=n?1:0;!u&&rh(d,r,t,_)&&(s.start=e+c,u=!0),!g&&rh(f,a,t,_)&&(s.end=e+c,g=!0)}const m=c-l;u||(s.start=Math.max(0,d+m)),g||(s.end=Math.max(0,f+m)),s.start>s.end&&(s.end=s.start)}function N$(s,e,t){let i=s.root,n=0,o=0,r=0,a=0;const l=[];let c=0;for(;i!==Ee;){if(Ni(i)){_t(i.left,!1),_t(i.right,!1),i===i.parent.right&&(n-=i.parent.delta),i=i.parent;continue}if(!Ni(i.left)){if(o=n+i.maxEnd,ot){_t(i,!0);continue}if(a=n+i.end,a>=e&&(i.setCachedOffsets(r,a,0),l[c++]=i),_t(i,!0),i.right!==Ee&&!Ni(i.right)){n+=i.delta,i=i.right;continue}}return _t(s.root,!1),l}function T$(s,e,t,i){let n=s.root,o=0,r=0,a=0;const l=i-(t-e);for(;n!==Ee;){if(Ni(n)){_t(n.left,!1),_t(n.right,!1),n===n.parent.right&&(o-=n.parent.delta),ja(n),n=n.parent;continue}if(!Ni(n.left)){if(r=o+n.maxEnd,rt){n.start+=l,n.end+=l,n.delta+=l,(n.delta<-1073741824||n.delta>1073741824)&&(s.requestNormalizeDelta=!0),_t(n,!0);continue}if(_t(n,!0),n.right!==Ee&&!Ni(n.right)){o+=n.delta,n=n.right;continue}}_t(s.root,!1)}function M$(s,e){let t=s.root;const i=[];let n=0;for(;t!==Ee;){if(Ni(t)){_t(t.left,!1),_t(t.right,!1),t=t.parent;continue}if(t.left!==Ee&&!Ni(t.left)){t=t.left;continue}if(t.ownerId===e&&(i[n++]=t),_t(t,!0),t.right!==Ee&&!Ni(t.right)){t=t.right;continue}}return _t(s.root,!1),i}function R$(s){let e=s.root;const t=[];let i=0;for(;e!==Ee;){if(Ni(e)){_t(e.left,!1),_t(e.right,!1),e=e.parent;continue}if(e.left!==Ee&&!Ni(e.left)){e=e.left;continue}if(e.right!==Ee&&!Ni(e.right)){e=e.right;continue}t[i++]=e,_t(e,!0)}return _t(s.root,!1),t}function A$(s,e,t,i,n){let o=s.root,r=0,a=0,l=0;const c=[];let h=0;for(;o!==Ee;){if(Ni(o)){_t(o.left,!1),_t(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==Ee&&!Ni(o.left)){o=o.left;continue}a=r+o.start,l=r+o.end,o.setCachedOffsets(a,l,i);let d=!0;if(e&&o.ownerId&&o.ownerId!==e&&(d=!1),t&&y4(o)&&(d=!1),n&&!L4(o)&&(d=!1),d&&(c[h++]=o),_t(o,!0),o.right!==Ee&&!Ni(o.right)){r+=o.delta,o=o.right;continue}}return _t(s.root,!1),c}function P$(s,e,t,i,n,o,r){let a=s.root,l=0,c=0,h=0,d=0;const u=[];let f=0;for(;a!==Ee;){if(Ni(a)){_t(a.left,!1),_t(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;continue}if(!Ni(a.left)){if(c=l+a.maxEnd,ct){_t(a,!0);continue}if(d=l+a.end,d>=e){a.setCachedOffsets(h,d,o);let g=!0;i&&a.ownerId&&a.ownerId!==i&&(g=!1),n&&y4(a)&&(g=!1),r&&!L4(a)&&(g=!1),g&&(u[f++]=a)}if(_t(a,!0),a.right!==Ee&&!Ni(a.right)){l+=a.delta,a=a.right;continue}}return _t(s.root,!1),u}function II(s,e){if(s.root===Ee)return e.parent=Ee,e.left=Ee,e.right=Ee,Ct(e,0),s.root=e,s.root;O$(s,e),aa(e.parent);let t=e;for(;t!==s.root&&an(t.parent)===1;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;an(i)===1?(Ct(t.parent,0),Ct(i,0),Ct(t.parent.parent,1),t=t.parent.parent):(t===t.parent.right&&(t=t.parent,Qu(s,t)),Ct(t.parent,0),Ct(t.parent.parent,1),Xu(s,t.parent.parent))}else{const i=t.parent.parent.left;an(i)===1?(Ct(t.parent,0),Ct(i,0),Ct(t.parent.parent,1),t=t.parent.parent):(t===t.parent.left&&(t=t.parent,Xu(s,t)),Ct(t.parent,0),Ct(t.parent.parent,1),Qu(s,t.parent.parent))}return Ct(s.root,0),e}function O$(s,e){let t=0,i=s.root;const n=e.start,o=e.end;for(;;)if(B$(n,o,i.start+t,i.end+t)<0)if(i.left===Ee){e.start-=t,e.end-=t,e.maxEnd-=t,i.left=e;break}else i=i.left;else if(i.right===Ee){e.start-=t+i.delta,e.end-=t+i.delta,e.maxEnd-=t+i.delta,i.right=e;break}else t+=i.delta,i=i.right;e.parent=i,e.left=Ee,e.right=Ee,Ct(e,1)}function NI(s,e){let t,i;if(e.left===Ee?(t=e.right,i=e,t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(s.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta):e.right===Ee?(t=e.left,i=e):(i=F$(e.right),t=i.right,t.start+=i.delta,t.end+=i.delta,t.delta+=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(s.requestNormalizeDelta=!0),i.start+=e.delta,i.end+=e.delta,i.delta=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(s.requestNormalizeDelta=!0)),i===s.root){s.root=t,Ct(t,0),e.detach(),lC(),ja(t),s.root.parent=Ee;return}const n=an(i)===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?t.parent=i.parent:(i.parent===e?t.parent=i:t.parent=i.parent,i.left=e.left,i.right=e.right,i.parent=e.parent,Ct(i,an(e)),e===s.root?s.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==Ee&&(i.left.parent=i),i.right!==Ee&&(i.right.parent=i)),e.detach(),n){aa(t.parent),i!==e&&(aa(i),aa(i.parent)),lC();return}aa(t),aa(t.parent),i!==e&&(aa(i),aa(i.parent));let o;for(;t!==s.root&&an(t)===0;)t===t.parent.left?(o=t.parent.right,an(o)===1&&(Ct(o,0),Ct(t.parent,1),Qu(s,t.parent),o=t.parent.right),an(o.left)===0&&an(o.right)===0?(Ct(o,1),t=t.parent):(an(o.right)===0&&(Ct(o.left,0),Ct(o,1),Xu(s,o),o=t.parent.right),Ct(o,an(t.parent)),Ct(t.parent,0),Ct(o.right,0),Qu(s,t.parent),t=s.root)):(o=t.parent.left,an(o)===1&&(Ct(o,0),Ct(t.parent,1),Xu(s,t.parent),o=t.parent.left),an(o.left)===0&&an(o.right)===0?(Ct(o,1),t=t.parent):(an(o.left)===0&&(Ct(o.right,0),Ct(o,1),Qu(s,o),o=t.parent.left),Ct(o,an(t.parent)),Ct(t.parent,0),Ct(o.left,0),Xu(s,t.parent),t=s.root));Ct(t,0),lC()}function F$(s){for(;s.left!==Ee;)s=s.left;return s}function lC(){Ee.parent=Ee,Ee.delta=0,Ee.start=0,Ee.end=0}function Qu(s,e){const t=e.right;t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(s.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta,e.right=t.left,t.left!==Ee&&(t.left.parent=e),t.parent=e.parent,e.parent===Ee?s.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,ja(e),ja(t)}function Xu(s,e){const t=e.left;e.delta-=t.delta,(e.delta<-1073741824||e.delta>1073741824)&&(s.requestNormalizeDelta=!0),e.start-=t.delta,e.end-=t.delta,e.left=t.right,t.right!==Ee&&(t.right.parent=e),t.parent=e.parent,e.parent===Ee?s.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t,ja(e),ja(t)}function x4(s){let e=s.end;if(s.left!==Ee){const t=s.left.maxEnd;t>e&&(e=t)}if(s.right!==Ee){const t=s.right.maxEnd+s.delta;t>e&&(e=t)}return e}function ja(s){s.maxEnd=x4(s)}function aa(s){for(;s!==Ee;){const e=x4(s);if(s.maxEnd===e)return;s.maxEnd=e,s=s.parent}}function B$(s,e,t,i){return s===t?e-i:s-t}class OS{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==be)return ox(this.right);let e=this;for(;e.parent!==be&&e.parent.left!==e;)e=e.parent;return e.parent===be?be:e.parent}prev(){if(this.left!==be)return D4(this.left);let e=this;for(;e.parent!==be&&e.parent.right!==e;)e=e.parent;return e.parent===be?be:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const be=new OS(null,0);be.parent=be;be.left=be;be.right=be;be.color=0;function ox(s){for(;s.left!==be;)s=s.left;return s}function D4(s){for(;s.right!==be;)s=s.right;return s}function rx(s){return s===be?0:s.size_left+s.piece.length+rx(s.right)}function ax(s){return s===be?0:s.lf_left+s.piece.lineFeedCnt+ax(s.right)}function cC(){be.parent=be}function Ju(s,e){const t=e.right;t.size_left+=e.size_left+(e.piece?e.piece.length:0),t.lf_left+=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),e.right=t.left,t.left!==be&&(t.left.parent=e),t.parent=e.parent,e.parent===be?s.root=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}function ef(s,e){const t=e.left;e.left=t.right,t.right!==be&&(t.right.parent=e),t.parent=e.parent,e.size_left-=t.size_left+(t.piece?t.piece.length:0),e.lf_left-=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),e.parent===be?s.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}function Mm(s,e){let t,i;if(e.left===be?(i=e,t=i.right):e.right===be?(i=e,t=i.left):(i=ox(e.right),t=i.right),i===s.root){s.root=t,t.color=0,e.detach(),cC(),s.root.parent=be;return}const n=i.color===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?(t.parent=i.parent,Mu(s,t)):(i.parent===e?t.parent=i:t.parent=i.parent,Mu(s,t),i.left=e.left,i.right=e.right,i.parent=e.parent,i.color=e.color,e===s.root?s.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==be&&(i.left.parent=i),i.right!==be&&(i.right.parent=i),i.size_left=e.size_left,i.lf_left=e.lf_left,Mu(s,i)),e.detach(),t.parent.left===t){const r=rx(t),a=ax(t);if(r!==t.parent.size_left||a!==t.parent.lf_left){const l=r-t.parent.size_left,c=a-t.parent.lf_left;t.parent.size_left=r,t.parent.lf_left=a,rr(s,t.parent,l,c)}}if(Mu(s,t.parent),n){cC();return}let o;for(;t!==s.root&&t.color===0;)t===t.parent.left?(o=t.parent.right,o.color===1&&(o.color=0,t.parent.color=1,Ju(s,t.parent),o=t.parent.right),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.right.color===0&&(o.left.color=0,o.color=1,ef(s,o),o=t.parent.right),o.color=t.parent.color,t.parent.color=0,o.right.color=0,Ju(s,t.parent),t=s.root)):(o=t.parent.left,o.color===1&&(o.color=0,t.parent.color=1,ef(s,t.parent),o=t.parent.left),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.left.color===0&&(o.right.color=0,o.color=1,Ju(s,o),o=t.parent.left),o.color=t.parent.color,t.parent.color=0,o.left.color=0,ef(s,t.parent),t=s.root));t.color=0,cC()}function TI(s,e){for(Mu(s,e);e!==s.root&&e.parent.color===1;)if(e.parent===e.parent.parent.left){const t=e.parent.parent.right;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,Ju(s,e)),e.parent.color=0,e.parent.parent.color=1,ef(s,e.parent.parent))}else{const t=e.parent.parent.left;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,ef(s,e)),e.parent.color=0,e.parent.parent.color=1,Ju(s,e.parent.parent))}s.root.color=0}function rr(s,e,t,i){for(;e!==s.root&&e!==be;)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}function Mu(s,e){let t=0,i=0;if(e!==s.root){for(;e!==s.root&&e===e.parent.right;)e=e.parent;if(e!==s.root)for(e=e.parent,t=rx(e.left)-e.size_left,i=ax(e.left)-e.lf_left,e.size_left+=t,e.lf_left+=i;e!==s.root&&(t!==0||i!==0);)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}}const tr=65535;function E4(s){let e;return s[s.length-1]<65536?e=new Uint16Array(s.length):e=new Uint32Array(s.length),e.set(s,0),e}class W${constructor(e,t,i,n,o){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=o}}function lr(s,e=!0){const t=[0];let i=1;for(let n=0,o=s.length;n126)&&(r=!1)}const a=new W$(E4(s),i,n,o,r);return s.length=0,a}class vn{constructor(e,t,i,n,o){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=n,this.length=o}}class Ml{constructor(e,t){this.buffer=e,this.lineStarts=t}}class H${constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==be&&e.iterate(e.root,i=>(i!==be&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class z${constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let n=0;n=e){i[n]=null,t=!0;continue}}if(t){const n=[];for(const o of i)o!==null&&n.push(o);this._cache=n}}}class U${constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new Ml("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=be,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let n=null;for(let o=0,r=e.length;o0){e[o].lineStarts||(e[o].lineStarts=lr(e[o].buffer));const a=new vn(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),n=this.rbInsertRight(n,a)}this._searchCache=new z$(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=tr,i=t-Math.floor(t/3),n=i*2;let o="",r=0;const a=[];if(this.iterate(this.root,l=>{const c=this.getNodeContent(l),h=c.length;if(r<=i||r+h0){const l=o.replace(/\r\n|\r|\n/g,e);a.push(new Ml(l,lr(l)))}this.create(a,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new H$(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==be;)if(n.left!==be&&n.lf_left+1>=e)n=n.left;else if(n.lf_left+n.piece.lineFeedCnt+1>=e){i+=n.size_left;const o=this.getAccumulatedValue(n,e-n.lf_left-2);return i+=o+t-1}else e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right;return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const n=e;for(;t!==be;)if(t.size_left!==0&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+o.index,o.index===0){const r=this.getOffsetAt(i+1,1),a=n-r;return new W(i+1,a+1)}return new W(i+1,o.remainder+1)}else if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===be){const o=this.getOffsetAt(i+1,1),r=n-e-o;return new W(i+1,r+1)}else t=t.right;return new W(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(i,n);return t?t!==this._EOL||!this._EOLNormalized?o.replace(/\r\n|\r|\n/g,t):t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const a=e.node,l=this._buffers[a.piece.bufferIndex].buffer,c=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return l.substring(c+e.remainder,c+t.remainder)}let i=e.node;const n=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let r=n.substring(o+e.remainder,o+i.piece.length);for(i=i.next();i!==be;){const a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){r+=a.substring(l,l+t.remainder);break}else r+=a.substr(l,i.piece.length);i=i.next()}return r}getLinesContent(){const e=[];let t=0,i="",n=!1;return this.iterate(this.root,o=>{if(o===be)return!0;const r=o.piece;let a=r.length;if(a===0)return!0;const l=this._buffers[r.bufferIndex].buffer,c=this._buffers[r.bufferIndex].lineStarts,h=r.start.line,d=r.end.line;let u=c[h]+r.start.column;if(n&&(l.charCodeAt(u)===10&&(u++,a--),e[t++]=i,i="",n=!1,a===0))return!0;if(h===d)return!this._EOLNormalized&&l.charCodeAt(u+a-1)===13?(n=!0,i+=l.substr(u,a-1)):i+=l.substr(u,a),!0;i+=this._EOLNormalized?l.substring(u,Math.max(u,c[h+1]-this._EOLLength)):l.substring(u,c[h+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let f=h+1;fw+g,t.reset(0)):(C=u.buffer,v=w=>w,t.reset(g));do if(_=t.next(C),_){if(v(_.index)>=m)return h;this.positionInBuffer(e,v(_.index)-f,b);const w=this.getLineFeedCnt(e.piece.bufferIndex,o,b),y=b.line===o.line?b.column-o.column+n:b.column+1,L=y+_[0].length;if(d[h++]=xl(new R(i+w,y,i+w,L),_,l),v(_.index)+_[0].length>=m||h>=c)return h}while(_);return h}findMatchesLineByLine(e,t,i,n){const o=[];let r=0;const a=new _h(t.wordSeparators,t.regex);let l=this.nodeAt2(e.startLineNumber,e.startColumn);if(l===null)return[];const c=this.nodeAt2(e.endLineNumber,e.endColumn);if(c===null)return[];let h=this.positionInBuffer(l.node,l.remainder);const d=this.positionInBuffer(c.node,c.remainder);if(l.node===c.node)return this.findMatchesInNode(l.node,a,e.startLineNumber,e.startColumn,h,d,t,i,n,r,o),o;let u=e.startLineNumber,f=l.node;for(;f!==c.node;){const m=this.getLineFeedCnt(f.piece.bufferIndex,h,f.piece.end);if(m>=1){const b=this._buffers[f.piece.bufferIndex].lineStarts,C=this.offsetInBuffer(f.piece.bufferIndex,f.piece.start),v=b[h.line+m],w=u===e.startLineNumber?e.startColumn:1;if(r=this.findMatchesInNode(f,a,u,w,h,this.positionInBuffer(f,v-C),t,i,n,r,o),r>=n)return o;u+=m}const _=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){const b=this.getLineContent(u).substring(_,e.endColumn-1);return r=this._findMatchesInLine(t,a,b,e.endLineNumber,_,r,o,i,n),o}if(r=this._findMatchesInLine(t,a,this.getLineContent(u).substr(_),u,_,r,o,i,n),r>=n)return o;u++,l=this.nodeAt2(u,1),f=l.node,h=this.positionInBuffer(l.node,l.remainder)}if(u===e.endLineNumber){const m=u===e.startLineNumber?e.startColumn-1:0,_=this.getLineContent(u).substring(m,e.endColumn-1);return r=this._findMatchesInLine(t,a,_,e.endLineNumber,m,r,o,i,n),o}const g=u===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(c.node,a,u,g,h,d,t,i,n,r,o),o}_findMatchesInLine(e,t,i,n,o,r,a,l,c){const h=e.wordSeparators;if(!l&&e.simpleSearch){const u=e.simpleSearch,f=u.length,g=i.length;let m=-f;for(;(m=i.indexOf(u,m+f))!==-1;)if((!h||gk(h,i,g,m,f))&&(a[r++]=new Hf(new R(n,m+1+o,n,m+1+f+o),null),r>=c))return r;return r}let d;t.reset(0);do if(d=t.next(i),d&&(a[r++]=xl(new R(n,d.index+1+o,n,d.index+1+d[0].length+o),d,l),r>=c))return r;while(d);return r}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==be){const{node:n,remainder:o,nodeStartOffset:r}=this.nodeAt(e),a=n.piece,l=a.bufferIndex,c=this.positionInBuffer(n,o);if(n.piece.bufferIndex===0&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&r+a.length===e&&t.lengthe){const h=[];let d=new vn(a.bufferIndex,c,a.end,this.getLineFeedCnt(a.bufferIndex,c,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,c));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.nodeCharCodeAt(n,o)===10){const m={line:d.start.line+1,column:0};d=new vn(d.bufferIndex,m,d.end,this.getLineFeedCnt(d.bufferIndex,m,d.end),d.length-1),t+=` `}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(n,o-1)===13){const m=this.positionInBuffer(n,o-1);this.deleteNodeTail(n,m),t="\r"+t,n.piece.length===0&&h.push(n)}else this.deleteNodeTail(n,c);else this.deleteNodeTail(n,c);const u=this.createNewPieces(t);d.length>0&&this.rbInsertRight(n,d);let f=n;for(let g=0;g=0;r--)o=this.rbInsertLeft(o,n[r]);this.validateCRLFWithPrevNode(o),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+=` `);const i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]);let o=n;for(let r=1;r=u)c=d+1;else break;return i?(i.line=d,i.column=l-f,null):{line:d,column:l-f}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;const o=n[i.line+1],r=n[i.line]+i.column;if(o>r+1)return i.line-t.line;const a=r-1;return this._buffers[e].buffer.charCodeAt(a)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;ttr){const h=[];for(;e.length>tr;){const u=e.charCodeAt(tr-1);let f;u===13||u>=55296&&u<=56319?(f=e.substring(0,tr-1),e=e.substring(tr-1)):(f=e.substring(0,tr),e=e.substring(tr));const g=lr(f);h.push(new vn(this._buffers.length,{line:0,column:0},{line:g.length-1,column:f.length-g[g.length-1]},g.length-1,f.length)),this._buffers.push(new Ml(f,g))}const d=lr(e);return h.push(new vn(this._buffers.length,{line:0,column:0},{line:d.length-1,column:e.length-d[d.length-1]},d.length-1,e.length)),this._buffers.push(new Ml(e,d)),h}let t=this._buffers[0].buffer.length;const i=lr(e,!1);let n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let h=0;h=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),c=this.getAccumulatedValue(i,e-i.lf_left-1),h=this._buffers[i.piece.bufferIndex].buffer,d=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:r,nodeStartLineNumber:a-(e-1-i.lf_left)}),h.substring(d+l,d+c-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),c=this._buffers[i.piece.bufferIndex].buffer,h=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=c.substring(h+l,h+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==be;){const r=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const a=this.getAccumulatedValue(i,0),l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=r.substring(l,l+a-t),n}else{const a=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=r.substr(a,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==be;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,n=this.positionInBuffer(e,t),o=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const r=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(r!==o)return{index:r,remainder:0}}return{index:o,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,o=i.start.line+t+1;return o>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[o]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,n=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.end),r=t,a=this.offsetInBuffer(i.bufferIndex,r),l=this.getLineFeedCnt(i.bufferIndex,i.start,r),c=l-n,h=a-o,d=i.length+h;e.piece=new vn(i.bufferIndex,i.start,r,l,d),rr(this,e,h,c)}deleteNodeHead(e,t){const i=e.piece,n=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.start),r=t,a=this.getLineFeedCnt(i.bufferIndex,r,i.end),l=this.offsetInBuffer(i.bufferIndex,r),c=a-n,h=o-l,d=i.length+h;e.piece=new vn(i.bufferIndex,r,i.end,a,d),rr(this,e,h,c)}shrinkNode(e,t,i){const n=e.piece,o=n.start,r=n.end,a=n.length,l=n.lineFeedCnt,c=t,h=this.getLineFeedCnt(n.bufferIndex,n.start,c),d=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,o);e.piece=new vn(n.bufferIndex,n.start,c,h,d),rr(this,e,d-a,h-l);const u=new vn(n.bufferIndex,i,r,this.getLineFeedCnt(n.bufferIndex,i,r),this.offsetInBuffer(n.bufferIndex,r)-this.offsetInBuffer(n.bufferIndex,i)),f=this.rbInsertRight(e,u);this.validateCRLFWithPrevNode(f)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+=` `);const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const o=lr(t,!1);for(let f=0;fe)t=t.left;else if(t.size_left+t.piece.length>=e){n+=t.size_left;const o={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(o),o}else e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==be;)if(i.left!==be&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(o+t-1,r),nodeStartOffset:n}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2);if(o+t-1<=i.piece.length)return{node:i,remainder:o+t-1,nodeStartOffset:n};t-=i.piece.length-o;break}else e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==be;){if(i.piece.lineFeedCnt>0){const o=this.getAccumulatedValue(i,0),r=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,o),nodeStartOffset:r}}else if(i.piece.length>=t-1){const o=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:o}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===` `)}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===be||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,o=i[n]+t.start.column;return n===i.length-1||i[n+1]>o+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(o)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===be||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],n=this._buffers[e.piece.bufferIndex].lineStarts;let o;e.piece.end.column===0?o={line:e.piece.end.line-1,column:n[e.piece.end.line]-n[e.piece.end.line-1]-1}:o={line:e.piece.end.line,column:e.piece.end.column-1};const r=e.piece.length-1,a=e.piece.lineFeedCnt-1;e.piece=new vn(e.piece.bufferIndex,e.piece.start,o,a,r),rr(this,e,-1,-1),e.piece.length===0&&i.push(e);const l={line:t.piece.start.line+1,column:0},c=t.piece.length-1,h=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new vn(t.piece.bufferIndex,l,t.piece.end,h,c),rr(this,t,-1,-1),t.piece.length===0&&i.push(t);const d=this.createNewPieces(`\r `);this.rbInsertRight(e,d[0]);for(let u=0;u_.sortIndex-b.sortIndex)}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=r;const f=this._doApplyEdits(l);let g=null;if(t&&d.length>0){d.sort((m,_)=>_.lineNumber-m.lineNumber),g=[];for(let m=0,_=d.length;m<_;m++){const b=d[m].lineNumber;if(m>0&&d[m-1].lineNumber===b)continue;const C=d[m].oldContent,v=this.getLineContent(b);v.length===0||v===C||In(v)!==-1||g.push(b)}}return this._onDidChangeContent.fire(),new BF(u,f,g)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,n=e[e.length-1].range,o=new R(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn);let r=i.startLineNumber,a=i.startColumn;const l=[];for(let f=0,g=e.length;f0&&l.push(m.text),r=_.endLineNumber,a=_.endColumn}const c=l.join(""),[h,d,u]=vc(c);return{sortIndex:0,identifier:e[0].identifier,range:o,rangeOffset:this.getOffsetAt(o.startLineNumber,o.startColumn),rangeLength:this.getValueLengthInRange(o,0),text:c,eolCount:h,firstLineLength:d,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(nd._sortOpsDescending);const t=[];for(let i=0;i0){const u=l.eolCount+1;u===1?d=new R(c,h,c,h+l.firstLineLength):d=new R(c,h,c+u-1,l.lastLineLength+1)}else d=new R(c,h,c,h);i=d.endLineNumber,n=d.endColumn,t.push(d),o=l}return t}static _sortOpsAscending(e,t){const i=R.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=R.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}}class $${constructor(e,t,i,n,o,r,a,l,c){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=o,this._containsRTL=r,this._containsUnusualLineTerminators=a,this._isBasicASCII=l,this._normalizeEOL=c}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?` `:`\r `:i>t/2?`\r `:` `}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&(t===`\r `&&(this._cr>0||this._lf>0)||t===` `&&(this._cr>0||this._crlf>0)))for(let o=0,r=i.length;o=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=V$(this._tmpLineStarts,e);this.chunks.push(new Ml(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=Pf(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=bM(e)))}finish(e=!0){return this._finish(),new $$(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=lr(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}}class K${constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(t===0){this.insert(e,i);return}else if(i===0){this.delete(e,t);return}const n=this._store.slice(0,e),o=this._store.slice(e+t),r=q$(i,this._default);this._store=n.concat(r,o)}delete(e,t){t===0||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(t===0||e>=this._store.length)return;const i=[];for(let n=0;n0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e){i.appendLineTokens(t);return}}this._tokens.push(new j$(e,[t]))}finalize(){return this._tokens}}class G${constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new BS(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class Z$ extends G${constructor(e,t,i,n){super(e,t),this._textModel=i,this._languageIdCodec=n}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const n=this.getFirstInvalidLine();if(!n||n.lineNumber>t)break;const o=this._textModel.getLineContent(n.lineNumber),r=mu(this._languageIdCodec,i,this.tokenizationSupport,o,!0,n.startState);e.add(n.lineNumber,r.tokens),this.store.setEndState(n.lineNumber,r.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const n=this._textModel.getLanguageId(),o=this._textModel.getLineContent(e.lineNumber),r=o.substring(0,e.column-1)+t+o.substring(e.column-1),a=mu(this._languageIdCodec,n,this.tokenizationSupport,r,!0,i),l=new vi(a.tokens,r,this._languageIdCodec);if(l.getCount()===0)return 0;const c=l.findTokenIndexAtOffset(e.column-1);return l.getStandardTokenType(c)}tokenizeLineWithEdit(e,t,i){const n=e.lineNumber,o=e.column,r=this.getStartState(n);if(!r)return null;const a=this._textModel.getLineContent(n),l=a.substring(0,o-1)+i+a.substring(o-1+t),c=this._textModel.getLanguageIdAtPosition(n,0),h=mu(this._languageIdCodec,c,this.tokenizationSupport,l,!0,r);return new vi(h.tokens,l,this._languageIdCodec)}hasAccurateTokensForLine(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e1&&a>=1;a--){const l=this._textModel.getLineFirstNonWhitespaceColumn(a);if(l!==0&&l0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class Q${constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(i=>i.contains(e));if(t!==-1){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new ke(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new ke(i.start,e):this._ranges.splice(t,1,new ke(i.start,e),new ke(e+1,i.endExclusive))}}addRange(e){ke.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let n=i;for(;!(n>=this._ranges.length||e.endExclusivee.toString()).join(" + ")}}function mu(s,e,t,i,n,o){let r=null;if(t)try{r=t.tokenizeEncoded(i,n,o.clone())}catch(a){ut(a)}return r||(r=Wk(s.encodeLanguageId(e),o)),vi.convertToEndOffset(r.tokens,i.length),r}class X${constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,kM(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()1||this._tokenizeOneInvalidLine(t)>=e)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new Ce(e,t))}}class J${constructor(){this._onDidChangeVisibleRanges=new A,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new eK(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class eK{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map(n=>new Ce(n.startLineNumber,n.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class tK extends K{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Gi(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){ii(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class N4 extends K{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,i){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new A),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new A),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class MI extends N4{constructor(e,t,i,n){super(t,i,n),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();(!this._tokenizationSupport||this._lastLanguageId!==e)&&(this._lastLanguageId=e,this._tokenizationSupport=YC.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const i=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(i)return new vi(i,t,this._languageIdCodec)}return vi.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,i){return 0}tokenizeLineWithEdit(e,t,i){return null}get hasTokens(){return this._treeSitterService.getParseResult(this._textModel)!==void 0}}const T4=Be("treeSitterParserService"),cr=new Uint32Array(0).buffer;class Do{static deleteBeginning(e,t){return e===null||e===cr?e:Do.delete(e,0,t)}static deleteEnding(e,t){if(e===null||e===cr)return e;const i=Lr(e),n=i[i.length-2];return Do.delete(e,t,n)}static delete(e,t,i){if(e===null||e===cr||t===i)return e;const n=Lr(e),o=n.length>>>1;if(t===0&&n[n.length-2]===i)return cr;const r=vi.findIndexInTokensArray(n,t),a=r>0?n[r-1<<1]:0,l=n[r<<1];if(ih&&(n[c++]=g,n[c++]=n[(f<<1)+1],h=g)}if(c===n.length)return e;const u=new Uint32Array(c);return u.set(n.subarray(0,c),0),u.buffer}static append(e,t){if(t===cr)return e;if(e===cr)return t;if(e===null)return e;if(t===null)return null;const i=Lr(e),n=Lr(t),o=n.length>>>1,r=new Uint32Array(i.length+n.length);r.set(i,0);let a=i.length;const l=i[i.length-2];for(let c=0;c>>1;let r=vi.findIndexInTokensArray(n,t);r>0&&n[r-1<<1]===t&&r--;for(let a=r;a0}getTokens(e,t,i){let n=null;if(t1&&(o=Gs.getLanguageId(n[1])!==e),!o)return cr}if(!n||n.length===0){const o=new Uint32Array(2);return o[0]=t,o[1]=RI(e),o.buffer}return n[n.length-2]=t,n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:n}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){t!==0&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(t===0)return;const i=[];for(let n=0;n=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._lineTokens[t]=Do.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1);return}this._lineTokens[t]=Do.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let n=null;i=this._len)){if(t===0){this._lineTokens[n]=Do.insert(this._lineTokens[n],e.column-1,i);return}this._lineTokens[n]=Do.deleteEnding(this._lineTokens[n],e.column-1),this._lineTokens[n]=Do.insert(this._lineTokens[n],e.column-1,i),this._insertLines(e.lineNumber,t)}}setMultilineTokens(e,t){if(e.length===0)return{changes:[]};const i=[];for(let n=0,o=e.length;n>>0}class lx{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const o=t[0].getRange(),r=t[t.length-1].getRange();if(!o||!r)return e;i=e.plusRange(o).plusRange(r)}let n=null;for(let o=0,r=this._pieces.length;oi.endLineNumber){n=n||{index:o};break}if(a.removeTokens(i),a.isEmpty()){this._pieces.splice(o,1),o--,r--;continue}if(a.endLineNumberi.endLineNumber){n=n||{index:o};continue}const[l,c]=a.split(i);if(l.isEmpty()){n=n||{index:o};continue}c.isEmpty()||(this._pieces.splice(o,1,l,c),o++,r++,n=n||{index:o})}return n=n||{index:this._pieces.length},t.length>0&&(this._pieces=hb(this._pieces,n.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(t.getLineContent().length===0)return t;const i=this._pieces;if(i.length===0)return t;const n=lx._findFirstPieceWithLine(i,e),o=i[n].getLineTokens(e);if(!o)return t;const r=t.getCount(),a=o.getCount();let l=0;const c=[];let h=0,d=0;const u=(f,g)=>{f!==d&&(d=f,c[h++]=f,c[h++]=g)};for(let f=0;f>>0,C=~b>>>0;for(;lt)n=o-1;else{for(;o>i&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}}return i}acceptEdit(e,t,i,n,o){for(const r of this._pieces)r.acceptEdit(e,t,i,n,o)}}var iK=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},hC=function(s,e){return function(t,i){e(t,i,s)}},up;let WS=up=class extends v4{constructor(e,t,i,n,o,r,a){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=i,this._attachedViews=n,this._languageService=o,this._languageConfigurationService=r,this._treeSitterService=a,this._semanticTokens=new lx(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new A),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new A),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new A),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new ae),this._register(this._languageConfigurationService.onDidChange(l=>{l.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(Q.filter(YC.onDidChange,l=>l.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new AI(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new MI(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(e){const t=this._tokens!==void 0;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(i=>{this._emitModelTokensChangedEvent(i)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(i=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){YC.get(this._languageId)?this._tokens instanceof MI||this.createTokens(!0):this._tokens instanceof AI||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[i,n,o]=vc(t.text);this._semanticTokens.acceptEdit(t.range,i,n,o,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new et("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this._tokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:e!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),n=this.getLineTokens(t.lineNumber),o=n.findTokenIndexAtOffset(t.column-1),[r,a]=up._findLanguageBoundaries(n,o),l=Tf(t.column,this.getLanguageConfiguration(n.getLanguageId(o)).getWordDefinition(),i.substring(r,a),r);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(o>0&&r===t.column-1){const[c,h]=up._findLanguageBoundaries(n,o-1),d=Tf(t.column,this.getLanguageConfiguration(n.getLanguageId(o-1)).getWordDefinition(),i.substring(c,h),c);if(d&&d.startColumn<=e.column&&e.column<=d.endColumn)return d}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let n=0;for(let r=t;r>=0&&e.getLanguageId(r)===i;r--)n=e.getStartOffset(r);let o=e.getLineContent().length;for(let r=t,a=e.getCount();r{const r=this.getLanguageId();o.changedLanguages.indexOf(r)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(n.onDidChangeVisibleRanges(({view:o,state:r})=>{if(r){let a=this._attachedViewStates.get(o);a||(a=new tK(()=>this.refreshRanges(a.lineRanges)),this._attachedViewStates.set(o,a)),a.handleStateChange(r)}else this._attachedViewStates.deleteAndDispose(o)}))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new BS(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const t=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const o=qt.get(this.getLanguageId());if(!o)return[null,null];let r;try{r=o.getInitialState()}catch(a){return ut(a),[null,null]}return[o,r]},[i,n]=t();if(i&&n?this._tokenizer=new Z$(this._textModel.getLineCount(),i,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const o={setTokens:r=>{this.setTokens(r)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const r=2;this._backgroundTokenizationState=r,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(r,a)=>{if(!this._tokenizer)return;const l=this._tokenizer.store.getFirstInvalidEndStateLineNumber();l!==null&&r>=l&&this._tokenizer?.store.setEndState(r,a)}};i&&i.createBackgroundTokenizer&&!i.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,o)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new X$(this._tokenizer,o),this._defaultBackgroundTokenizer.handleChanges()),i?.backgroundTokenizerShouldOnlyVerifyTokens&&i.createBackgroundTokenizer?(this._debugBackgroundTokens=new ig(this._languageIdCodec),this._debugBackgroundStates=new BS(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,{setTokens:r=>{this._debugBackgroundTokens?.setMultilineTokens(r,this._textModel)},backgroundTokenizationFinished(){},setEndState:(r,a)=>{this._debugBackgroundStates?.setEndState(r,a)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[i,n]=vc(t.text);this._tokens.acceptEdit(t.range,i,n),this._debugBackgroundTokens?.acceptEdit(t.range,i,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=Ce.joinMany([...this._attachedViewStates].map(([t,i])=>i.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const i=new FS,{heuristicTokens:n}=this._tokenizer.tokenizeHeuristically(i,e,t),o=this.setTokens(i.finalize());if(n)for(const r of o.changes)this._backgroundTokenizer.value?.requestTokens(r.fromLineNumber,r.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new FS;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(e):!0}isCheapToTokenize(e){return this._tokenizer?this._tokenizer.isCheapToTokenize(e):!0}getLineTokens(e){const t=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!i.equals(n)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const n=this._textModel.validatePosition(new W(e,t));return this.forceTokenization(n.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(n,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const n=this._textModel.validatePosition(e);return this.forceTokenization(n.lineNumber),this._tokenizer.tokenizeLineWithEdit(n,t,i)}get hasTokens(){return this._tokens.hasTokens}}class nK{constructor(){this.changeType=1}}class no{static applyInjectedText(e,t){if(!t||t.length===0)return e;let i="",n=0;for(const o of t)i+=e.substring(n,o.column-1),n=o.column-1,i+=o.options.content;return i+=e.substring(n),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new no(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new no(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,n)=>i.lineNumber===n.lineNumber?i.column===n.column?i.order-n.order:i.column-n.column:i.lineNumber-n.lineNumber),t}constructor(e,t,i,n,o){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=n,this.order=o}}class PI{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class sK{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class oK{constructor(e,t,i,n){this.changeType=4,this.injectedTexts=n,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class rK{constructor(){this.changeType=5}}class sd{constructor(e,t,i,n){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=n,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Rm=function(s,e){return function(t,i){e(t,i,s)}},Cl;function lK(s){const e=new I4;return e.acceptChunk(s),e.finish()}function cK(s){const e=new I4;let t;for(;typeof(t=s.read())=="string";)e.acceptChunk(t);return e.finish()}function OI(s,e){let t;return typeof s=="string"?t=lK(s):OF(s)?t=cK(s):t=s,t.create(e)}let Am=0;const hK=999,dK=1e4;class uK{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;do{const n=this._source.read();if(n===null)return this._eos=!0,t===0?null:e.join("");if(n.length>0&&(e[t++]=n,i+=n.length),i>=64*1024)return e.join("")}while(!0)}}const pu=()=>{throw new Error("Invalid change accessor")};var Ys;let VS=(Ys=class extends K{static resolveOptions(e,t){if(t.detectIndentation){const i=LI(e,t.tabSize,t.insertSpaces);return new ip({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new ip(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return Oo(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,n=null,o,r,a,l){super(),this._undoRedoService=o,this._languageService=r,this._languageConfigurationService=a,this.instantiationService=l,this._onWillDispose=this._register(new A),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new bK(g=>this.handleBeforeFireDecorationsChangedEvent(g))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new A),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new A),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new A),this._eventEmitter=this._register(new CK),this._languageSelectionListener=this._register(new Ur),this._deltaDecorationCallCnt=0,this._attachedViews=new J$,Am++,this.id="$model"+Am,this.isForSimpleWidget=i.isForSimpleWidget,typeof n>"u"||n===null?this._associatedResource=De.parse("inmemory://model/"+Am):this._associatedResource=n,this._attachedEditorCount=0;const{textBuffer:c,disposable:h}=OI(e,i.defaultEOL);this._buffer=c,this._bufferDisposable=h,this._options=Cl.resolveOptions(this._buffer,i);const d=typeof t=="string"?t:t.languageId;typeof t!="string"&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new _$(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new y$(this,this._languageConfigurationService)),this._decorationProvider=this._register(new C$(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(WS,this,this._bracketPairs,d,this._attachedViews);const u=this._buffer.getLineCount(),f=this._buffer.getValueLengthInRange(new R(1,1,u,this._buffer.getLineLength(u)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=f>Cl.LARGE_FILE_SIZE_THRESHOLD||u>Cl.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=f>Cl.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=f>Cl._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=CM(Am),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new FI,this._commandManager=new sx(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(d),this._register(this._languageConfigurationService.onDidChange(g=>{this._bracketPairs.handleLanguageConfigurationServiceChange(g),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(g)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new nd([],"",` `,!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=K.None}_assertNotDisposed(){if(this._isDisposed)throw new et("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new ic(e,t)))}setValue(e){if(this._assertNotDisposed(),e==null)throw ub();const{textBuffer:t,disposable:i}=OI(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,n,o,r,a,l){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:n}],eol:this._buffer.getEOL(),isEolChange:l,versionId:this.getVersionId(),isUndoing:o,isRedoing:r,isFlush:a}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),o=this.getLineCount(),r=this.getLineMaxColumn(o);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new FI,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new sd([new nK],this._versionId,!1,!1),this._createContentChanged2(new R(1,1,o,r),0,n,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=e===1?`\r `:` `;if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),o=this.getLineCount(),r=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new sd([new rK],this._versionId,!1,!1),this._createContentChanged2(new R(1,1,o,r),0,n,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let n=1;n<=i;n++){const o=this._buffer.getLineLength(n);o>=dK?t+=o:e+=o}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,n=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,o=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,a=new ip({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o,bracketPairColorizationOptions:r});if(this._options.equals(a))return;const l=this._options.createChangeEvent(a);this._options=a,this._bracketPairs.handleDidChangeOptions(l),this._decorationProvider.handleDidChangeOptions(l),this._onDidChangeOptions.fire(l)}detectIndentation(e,t){this._assertNotDisposed();const i=LI(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),g4(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(_M.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new et("Operation would exceed heap memory limits");const i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new uK(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new et("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new et("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new et("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===` `?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new et("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new et("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new et("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn;let o=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),r=Math.floor(typeof n=="number"&&!isNaN(n)?n:1);if(o<1)o=1,r=1;else if(o>t)o=t,r=this.getLineMaxColumn(o);else if(r<=1)r=1;else{const d=this.getLineMaxColumn(o);r>=d&&(r=d)}const a=e.endLineNumber,l=e.endColumn;let c=Math.floor(typeof a=="number"&&!isNaN(a)?a:1),h=Math.floor(typeof l=="number"&&!isNaN(l)?l:1);if(c<1)c=1,h=1;else if(c>t)c=t,h=this.getLineMaxColumn(c);else if(h<=1)h=1;else{const d=this.getLineMaxColumn(c);h>=d&&(h=d)}return i===o&&n===r&&a===c&&l===h&&e instanceof R&&!(e instanceof tt)?e:new R(o,r,c,h)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const n=this._buffer.getLineCount();if(e>n)return!1;if(t===1)return!0;const o=this.getLineMaxColumn(e);if(t>o)return!1;if(i===1){const r=this._buffer.getLineCharCode(e,t-2);if(ai(r))return!1}return!0}_validatePosition(e,t,i){const n=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),o=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),r=this._buffer.getLineCount();if(n<1)return new W(1,1);if(n>r)return new W(r,this.getLineMaxColumn(r));if(o<=1)return new W(n,1);const a=this.getLineMaxColumn(n);if(o>=a)return new W(n,a);if(i===1){const l=this._buffer.getLineCharCode(n,o-2);if(ai(l))return new W(n,o-1)}return new W(n,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof W&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(i,n,0)||!this._isValidPosition(o,r,0))return!1;if(t===1){const a=n>1?this._buffer.getLineCharCode(i,n-2):0,l=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,c=ai(a),h=ai(l);return!c&&!h}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof R&&!(e instanceof tt)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),o=i.lineNumber,r=i.column,a=n.lineNumber,l=n.column;{const c=r>1?this._buffer.getLineCharCode(o,r-2):0,h=l>1&&l<=this._buffer.getLineLength(a)?this._buffer.getLineCharCode(a,l-2):0,d=ai(c),u=ai(h);return!d&&!u?new R(o,r,a,l):o===a&&r===l?new R(o,r-1,a,l-1):d&&u?new R(o,r-1,a,l+1):d?new R(o,r-1,a,l):new R(o,r,a,l+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new R(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}findMatches(e,t,i,n,o,r,a=hK){this._assertNotDisposed();let l=null;t!==null&&(Array.isArray(t)||(t=[t]),t.every(d=>R.isIRange(d))&&(l=t.map(d=>this.validateRange(d)))),l===null&&(l=[this.getFullModelRange()]),l=l.sort((d,u)=>d.startLineNumber-u.startLineNumber||d.startColumn-u.startColumn);const c=[];c.push(l.reduce((d,u)=>R.areIntersecting(d,u)?d.plusRange(u):(c.push(d),u)));let h;if(!i&&e.indexOf(` `)<0){const u=new th(e,i,n,o).parseSearchRequest();if(!u)return[];h=f=>this.findMatchesLineByLine(f,u,r,a)}else h=d=>fm.findMatches(this,new th(e,i,n,o),d,r,a);return c.map(h).reduce((d,u)=>d.concat(u),[])}findNextMatch(e,t,i,n,o,r){this._assertNotDisposed();const a=this.validatePosition(t);if(!i&&e.indexOf(` `)<0){const c=new th(e,i,n,o).parseSearchRequest();if(!c)return null;const h=this.getLineCount();let d=new R(a.lineNumber,a.column,h,this.getLineMaxColumn(h)),u=this.findMatchesLineByLine(d,c,r,1);return fm.findNextMatch(this,new th(e,i,n,o),a,r),u.length>0||(d=new R(1,1,a.lineNumber,this.getLineMaxColumn(a.lineNumber)),u=this.findMatchesLineByLine(d,c,r,1),u.length>0)?u[0]:null}return fm.findNextMatch(this,new th(e,i,n,o),a,r)}findPreviousMatch(e,t,i,n,o,r){this._assertNotDisposed();const a=this.validatePosition(t);return fm.findPreviousMatch(this,new th(e,i,n,o),a,r)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()===` `?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof B0?e:new B0(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,n=e.length;i({range:this.validateRange(a.range),text:a.text}));let r=!0;if(e)for(let a=0,l=e.length;ac.endLineNumber,m=c.startLineNumber>f.endLineNumber;if(!g&&!m){h=!0;break}}if(!h){r=!1;break}}if(r)for(let a=0,l=this._trimAutoWhitespaceLines.length;ag.endLineNumber)&&!(c===g.startLineNumber&&g.startColumn===h&&g.isEmpty()&&m&&m.length>0&&m.charAt(0)===` `)&&!(c===g.startLineNumber&&g.startColumn===1&&g.isEmpty()&&m&&m.length>0&&m.charAt(m.length-1)===` `)){d=!1;break}}if(d){const u=new R(c,1,c,h);t.push(new B0(null,u,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,n)}_applyUndo(e,t,i,n){const o=e.map(r=>{const a=this.getPositionAt(r.newPosition),l=this.getPositionAt(r.newEnd);return{range:new R(a.lineNumber,a.column,l.lineNumber,l.column),text:r.oldText}});this._applyUndoRedoEdits(o,t,!0,!1,i,n)}_applyRedo(e,t,i,n){const o=e.map(r=>{const a=this.getPositionAt(r.oldPosition),l=this.getPositionAt(r.oldEnd);return{range:new R(a.lineNumber,a.column,l.lineNumber,l.column),text:r.newText}});this._applyUndoRedoEdits(o,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,o,r){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(o)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(r),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),n=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),r=n.changes;if(this._trimAutoWhitespaceLines=n.trimAutoWhitespaceLineNumbers,r.length!==0){for(let c=0,h=r.length;c=0;E--){const U=f+E,O=v+E;D.takeFromEndWhile(z=>z.lineNumber>O);const B=D.takeFromEndWhile(z=>z.lineNumber===O);a.push(new PI(U,this.getLineContent(O),B))}if(bie.lineNumberie.lineNumber===X)}a.push(new oK(U+1,f+_,F,z))}l+=C}this._emitContentChangedEvent(new sd(a,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:r,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return n.reverseEdits===null?void 0:n.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){if(e===null||e.size===0)return;const i=Array.from(e).map(n=>new PI(n,this.getLineContent(n),this._getInjectedTextInLine(n)));this._onDidChangeInjectedText.fire(new M4(i))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(o,r)=>this._deltaDecorationsImpl(e,[],[{range:o,options:r}])[0],changeDecoration:(o,r)=>{this._changeDecorationImpl(o,r)},changeDecorationOptions:(o,r)=>{this._changeDecorationOptionsImpl(o,WI(r))},removeDecoration:o=>{this._deltaDecorationsImpl(e,[o],[])},deltaDecorations:(o,r)=>o.length===0&&r.length===0?[]:this._deltaDecorationsImpl(e,o,r)};let n=null;try{n=t(i)}catch(o){ut(o)}return i.addDecoration=pu,i.changeDecoration=pu,i.changeDecorationOptions=pu,i.removeDecoration=pu,i.deltaDecorations=pu,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(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."),ut(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:BI[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;const o=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),a=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),r,a,o),n.setOptions(BI[i]),this._decorationsTree.insert(n),n.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,n=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,n=!1,o=!1){const r=this.getLineCount(),a=Math.min(r,Math.max(1,e)),l=Math.min(r,Math.max(1,t)),c=this.getLineMaxColumn(l),h=new R(a,1,l,c),d=this._getDecorationsInRange(h,i,n,o);return PC(d,this._decorationProvider.getDecorationsInRange(h,i,n)),d}getDecorationsInRange(e,t=0,i=!1,n=!1,o=!1){const r=this.validateRange(e),a=this._getDecorationsInRange(r,t,i,o);return PC(a,this._decorationProvider.getDecorationsInRange(r,t,i,n)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),n=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return no.fromDecorations(n).filter(o=>o.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,n){const o=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,o,r,t,i,n)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const a=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(i.options.before){const a=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}const n=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),r=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),o,r,n),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const n=!!(i.options.overviewRuler&&i.options.overviewRuler.color),o=!!(t.overviewRuler&&t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const l=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(l.endLineNumber)}if(i.options.before||t.before){const l=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(l.startLineNumber)}const r=n!==o,a=gK(t)!==fp(i);r||a?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,n=!1){const o=this.getVersionId(),r=t.length;let a=0;const l=i.length;let c=0;this._onDidChangeDecorations.beginDeferredEmit();try{const h=new Array(l);for(;athis._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 fK(this.getLineContent(e))+1}},Cl=Ys,Ys._MODEL_SYNC_LIMIT=50*1024*1024,Ys.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,Ys.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,Ys.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024,Ys.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:Ai.tabSize,indentSize:Ai.indentSize,insertSpaces:Ai.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:Ai.trimAutoWhitespace,largeFileOptimizations:Ai.largeFileOptimizations,bracketPairColorizationOptions:Ai.bracketPairColorizationOptions},Ys);VS=Cl=aK([Rm(4,Ck),Rm(5,gi),Rm(6,qo),Rm(7,Qe)],VS);function fK(s){let e=0;for(const t of s)if(t===" "||t===" ")e++;else break;return e}function dC(s){return!!(s.options.overviewRuler&&s.options.overviewRuler.color)}function gK(s){return!!s.after||!!s.before}function fp(s){return!!s.options.after||!!s.options.before}class FI{constructor(){this._decorationsTree0=new aC,this._decorationsTree1=new aC,this._injectedTextDecorationsTree=new aC}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)i.range===null&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,n,o,r){const a=e.getVersionId(),l=this._intervalSearch(t,i,n,o,a,r);return this._ensureNodesHaveRanges(e,l)}_intervalSearch(e,t,i,n,o,r){const a=this._decorationsTree0.intervalSearch(e,t,i,n,o,r),l=this._decorationsTree1.intervalSearch(e,t,i,n,o,r),c=this._injectedTextDecorationsTree.intervalSearch(e,t,i,n,o,r);return a.concat(l).concat(c)}getInjectedTextInInterval(e,t,i,n){const o=e.getVersionId(),r=this._injectedTextDecorationsTree.intervalSearch(t,i,n,!1,o,!1);return this._ensureNodesHaveRanges(e,r).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getAllInjectedText(e,t){const i=e.getVersionId(),n=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,n).filter(o=>o.options.showIfCollapsed||!o.range.isEmpty())}getAll(e,t,i,n,o){const r=e.getVersionId(),a=this._search(t,i,n,r,o);return this._ensureNodesHaveRanges(e,a)}_search(e,t,i,n,o){if(i)return this._decorationsTree1.search(e,t,n,o);{const r=this._decorationsTree0.search(e,t,n,o),a=this._decorationsTree1.search(e,t,n,o),l=this._injectedTextDecorationsTree.search(e,t,n,o);return r.concat(a).concat(l)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),n=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(n)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){fp(e)?this._injectedTextDecorationsTree.insert(e):dC(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){fp(e)?this._injectedTextDecorationsTree.delete(e):dC(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){fp(e)?this._injectedTextDecorationsTree.resolveNode(e,t):dC(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,n){this._decorationsTree0.acceptReplace(e,t,i,n),this._decorationsTree1.acceptReplace(e,t,i,n),this._injectedTextDecorationsTree.acceptReplace(e,t,i,n)}}function Co(s){return s.replace(/[^a-z0-9\-_]/gi," ")}class R4{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class mK extends R4{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position=="number"?e.position:jp.Center}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e=="string")return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class pK{constructor(e){this.position=e?.position??$a.Center,this.persistLane=e?.persistLane}}class _K extends R4{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e=="string"?Z.fromHex(e):t.getColor(e.id)}}class ng{static from(e){return e instanceof ng?e:new ng(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class ti{static register(e){return new ti(e)}static createDynamic(e){return new ti(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?Co(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?Co(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new mK(e.overviewRuler):null,this.minimap=e.minimap?new _K(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new pK(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?Co(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Co(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?Co(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?k7(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Co(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Co(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Co(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Co(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Co(e.afterContentClassName):null,this.after=e.after?ng.from(e.after):null,this.before=e.before?ng.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}ti.EMPTY=ti.register({description:"empty"});const BI=[ti.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),ti.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),ti.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),ti.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function WI(s){return s instanceof ti?s:ti.createDynamic(s)}class bK extends K{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new A),this.event=this._actual.event,this._affectedInjectedTextLines=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)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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);const 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)}}class CK extends K{constructor(){super(),this._fastEmitter=this._register(new A),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new A),this.slowEvent=this._slowEmitter.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;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e;return}this._fastEmitter.fire(e),this._slowEmitter.fire(e)}}var wK=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Pm=function(s,e){return function(t,i){e(t,i,s)}},ch;function ul(s){return s.toString()}let vK=class{constructor(e,t,i){this.model=e,this._modelEventListeners=new ae,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(n=>i(e,n)))}dispose(){this._modelEventListeners.dispose()}};const SK=mn||Ve?1:2;class yK{constructor(e,t,i,n,o,r,a,l){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=n,this.heapSize=o,this.sha1=r,this.versionId=a,this.alternativeVersionId=l}}var rc;let HS=(rc=class extends K{constructor(e,t,i,n){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._instantiationService=n,this._onModelAdded=this._register(new A),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new A),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new A),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(o=>this._updateModelOptions(o))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let i=Ai.tabSize;if(e.editor&&typeof e.editor.tabSize<"u"){const u=parseInt(e.editor.tabSize,10);isNaN(u)||(i=u),i<1&&(i=1)}let n="tabSize";if(e.editor&&typeof e.editor.indentSize<"u"&&e.editor.indentSize!=="tabSize"){const u=parseInt(e.editor.indentSize,10);isNaN(u)||(n=Math.max(u,1))}let o=Ai.insertSpaces;e.editor&&typeof e.editor.insertSpaces<"u"&&(o=e.editor.insertSpaces==="false"?!1:!!e.editor.insertSpaces);let r=SK;const a=e.eol;a===`\r `?r=2:a===` `&&(r=1);let l=Ai.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(l=e.editor.trimAutoWhitespace==="false"?!1:!!e.editor.trimAutoWhitespace);let c=Ai.detectIndentation;e.editor&&typeof e.editor.detectIndentation<"u"&&(c=e.editor.detectIndentation==="false"?!1:!!e.editor.detectIndentation);let h=Ai.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(h=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let d=Ai.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&typeof e.editor.bracketPairColorization=="object"&&(d={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:n,insertSpaces:o,detectIndentation:c,defaultEOL:r,trimAutoWhitespace:l,largeFileOptimizations:h,bracketPairColorizationOptions:d}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&typeof i=="string"&&i!=="auto"?i:Ds===3||Ds===2?` `:`\r `}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const n=typeof e=="string"?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[n+t];if(!o){const r=this._configurationService.getValue("editor",{overrideIdentifier:n,resource:t}),a=this._getEOL(t,n);o=ch._readModelOptions({editor:r,eol:a},i),this._modelCreationOptionsByLanguageAndResource[n+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let n=0,o=i.length;ne){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,n)=>i.time-n.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){const o=this.getCreationOptions(t,i,n),r=this._instantiationService.createInstance(VS,e,t,o,i);if(i&&this._disposedModels.has(ul(i))){const c=this._removeDisposedModel(i),h=this._undoRedoService.getElements(i),d=this._getSHA1Computer(),u=d.canComputeSHA1(r)?d.computeSHA1(r)===c.sha1:!1;if(u||c.sharesUndoRedoStack){for(const f of h.past)br(f)&&f.matchesResource(i)&&f.setModel(r);for(const f of h.future)br(f)&&f.matchesResource(i)&&f.setModel(r);this._undoRedoService.setElementsValidFlag(i,!0,f=>br(f)&&f.matchesResource(i)),u&&(r._overwriteVersionId(c.versionId),r._overwriteAlternativeVersionId(c.alternativeVersionId),r._overwriteInitialUndoRedoSnapshot(c.initialUndoRedoSnapshot))}else c.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(c.initialUndoRedoSnapshot)}const a=ul(r.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");const l=new vK(r,c=>this._onWillDispose(c),(c,h)=>this._onDidChangeLanguage(c,h));return this._models[a]=l,l}createModel(e,t,i,n=!1){let o;return t?o=this._createModelData(e,t,i,n):o=this._createModelData(e,Ts,i,n),this._onModelAdded.fire(o.model),o.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i0||c.future.length>0){for(const h of c.past)br(h)&&h.matchesResource(e.uri)&&(o=!0,r+=h.heapSize(e.uri),h.setModel(e.uri));for(const h of c.future)br(h)&&h.matchesResource(e.uri)&&(o=!0,r+=h.heapSize(e.uri),h.setModel(e.uri))}}const a=ch.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(!n&&(r>a||!l.canComputeSHA1(e))){const c=i.model.getInitialUndoRedoSnapshot();c!==null&&this._undoRedoService.restoreSnapshot(c)}else this._ensureDisposedModelsHeapSize(a-r),this._undoRedoService.setElementsValidFlag(e.uri,!1,c=>br(c)&&c.matchesResource(e.uri)),this._insertDisposedModel(new yK(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),n,r,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else if(!n){const c=i.model.getInitialUndoRedoSnapshot();c!==null&&this._undoRedoService.restoreSnapshot(c)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,n=e.getLanguageId(),o=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),r=this.getCreationOptions(n,e.uri,e.isForSimpleWidget);ch._setModelOptionsForModel(e,r,o),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new zS}},ch=rc,rc.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,rc);HS=ch=wK([Pm(0,Ft),Pm(1,DR),Pm(2,Ck),Pm(3,Qe)],HS);const P1=class P1{canComputeSHA1(e){return e.getValueLength()<=P1.MAX_MODEL_SIZE}computeSHA1(e){const t=new iv,i=e.createSnapshot();let n;for(;n=i.read();)t.update(n);return t.digest()}};P1.MAX_MODEL_SIZE=10*1024*1024;let zS=P1;var US;(function(s){s[s.PRESERVE=0]="PRESERVE",s[s.LAST=1]="LAST"})(US||(US={}));const A4={Quickaccess:"workbench.contributions.quickaccess"};class LK{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return e.prefix.length===0?this.defaultProvider=e:this.providers.push(e),this.providers.sort((t,i)=>i.prefix.length-t.prefix.length),ve(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return yL([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(i=>e.startsWith(i.prefix))||void 0||this.defaultProvider}}Si.add(A4.Quickaccess,new LK);const kK={ctrlCmd:!1,alt:!1};var Id;(function(s){s[s.Blur=1]="Blur",s[s.Gesture=2]="Gesture",s[s.Other=3]="Other"})(Id||(Id={}));var Eo;(function(s){s[s.NONE=0]="NONE",s[s.FIRST=1]="FIRST",s[s.SECOND=2]="SECOND",s[s.LAST=3]="LAST"})(Eo||(Eo={}));var mt;(function(s){s[s.First=1]="First",s[s.Second=2]="Second",s[s.Last=3]="Last",s[s.Next=4]="Next",s[s.Previous=5]="Previous",s[s.NextPage=6]="NextPage",s[s.PreviousPage=7]="PreviousPage",s[s.NextSeparator=8]="NextSeparator",s[s.PreviousSeparator=9]="PreviousSeparator"})(mt||(mt={}));var D_;(function(s){s[s.Title=1]="Title",s[s.Inline=2]="Inline"})(D_||(D_={}));const Gb=Be("quickInputService");var xK=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},VI=function(s,e){return function(t,i){e(t,i,s)}};let $S=class extends K{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=Si.as(A4.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){const[n,o]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes),r=this.visibleQuickAccess,a=r?.descriptor;if(r&&o&&a===o){e!==o.prefix&&!i?.preserveValue&&(r.picker.value=e),this.adjustValueSelection(r.picker,o,i);return}if(o&&!i?.preserveValue){let g;if(r&&a&&a!==o){const m=r.value.substr(a.prefix.length);m&&(g=`${o.prefix}${m}`)}if(!g){const m=n?.defaultFilterValue;m===US.LAST?g=this.lastAcceptedPickerValues.get(o):typeof m=="string"&&(g=`${o.prefix}${m}`)}typeof g=="string"&&(e=g)}const l=r?.picker?.valueSelection,c=r?.picker?.value,h=new ae,d=h.add(this.quickInputService.createQuickPick({useSeparators:!0}));d.value=e,this.adjustValueSelection(d,o,i),d.placeholder=i?.placeholder??o?.placeholder,d.quickNavigate=i?.quickNavigateConfiguration,d.hideInput=!!d.quickNavigate&&!r,(typeof i?.itemActivation=="number"||i?.quickNavigateConfiguration)&&(d.itemActivation=i?.itemActivation??Eo.SECOND),d.contextKey=o?.contextKey,d.filterValue=g=>g.substring(o?o.prefix.length:0);let u;t&&(u=new DM,h.add(Q.once(d.onWillAccept)(g=>{g.veto(),d.hide()}))),h.add(this.registerPickerListeners(d,n,o,e,i));const f=h.add(new ao);if(n&&h.add(n.provide(d,f.token,i?.providerOptions)),Q.once(d.onDidHide)(()=>{d.selectedItems.length===0&&f.cancel(),h.dispose(),u?.complete(d.selectedItems.slice(0))}),d.show(),l&&c===e&&(d.valueSelection=l),t)return u?.p}adjustValueSelection(e,t,i){let n;i?.preserveValue?n=[e.value.length,e.value.length]:n=[t?.prefix.length??0,e.value.length],e.valueSelection=n}registerPickerListeners(e,t,i,n,o){const r=new ae,a=this.visibleQuickAccess={picker:e,descriptor:i,value:n};return r.add(ve(()=>{a===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),r.add(e.onDidChangeValue(l=>{const[c]=this.getOrInstantiateProvider(l,o?.enabledProviderPrefixes);c!==t?this.show(l,{enabledProviderPrefixes:o?.enabledProviderPrefixes,preserveValue:!0,providerOptions:o?.providerOptions}):a.value=l})),i&&r.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)})),r}getOrInstantiateProvider(e,t){const i=this.registry.getQuickAccessProvider(e);if(!i||t&&!t?.includes(i.prefix))return[void 0,void 0];let n=this.mapProviderToDescriptor.get(i);return n||(n=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,n)),[n,i]}};$S=xK([VI(0,Gb),VI(1,Qe)],$S);class Zb extends Zr{constructor(e){super(),this._onChange=this._register(new A),this.onChange=this._onChange.event,this._onKeyDown=this._register(new A),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(...Ue.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(jo().setupManagedHover(e.hoverDelegate??_s("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,i=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),i.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,i=>{if(i.keyCode===10||i.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),i.preventDefault(),i.stopPropagation();return}this._onKeyDown.fire(i)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}var DK=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o};class P4{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e=="string"?e:e.label).join("")}}DK([Bt],P4.prototype,"toString",null);const EK=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function IK(s){const e=[];let t=0,i;for(;i=EK.exec(s);){i.index-t>0&&e.push(s.substring(t,i.index));const[,n,o,,r]=i;r?e.push({label:n,href:o,title:r}):e.push({label:n,href:o}),t=i.index+i[0].length}return t{W9(f)&&Oe.stop(f,!0),t.callback(o.href)},c=t.disposables.add(new Te(a,J.CLICK)).event,h=t.disposables.add(new Te(a,J.KEY_DOWN)).event,d=Q.chain(h,f=>f.filter(g=>{const m=new vt(g);return m.equals(10)||m.equals(3)}));t.disposables.add(sn.addTarget(a));const u=t.disposables.add(new Te(a,pt.Tap)).event;Q.any(c,u,d)(l,null,t.disposables),e.appendChild(a)}}var RK=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},HI=function(s,e){return function(t,i){e(t,i,s)}};const O4="inQuickInput",AK=new he(O4,!1,p("inQuickInput","Whether keyboard focus is inside the quick input control")),PK=$e.has(O4),F4="quickInputType",OK=new he(F4,void 0,p("quickInputType","The type of the currently visible quick input")),B4="cursorAtEndOfQuickInputBox",FK=new he(B4,!1,p("cursorAtEndOfQuickInputBox","Whether the cursor in the quick input is at the end of the input box")),BK=$e.has(B4),KS={iconClass:Ue.asClassName(re.quickInputBack),tooltip:p("quickInput.back","Back")},O1=class O1 extends K{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=O1.noPromptMessage,this._severity=Yt.Ignore,this.onDidTriggerButtonEmitter=this._register(new A),this.onDidHideEmitter=this._register(new A),this.onWillHideEmitter=this._register(new A),this.onDisposeEmitter=this._register(new A),this.visibleDisposables=this._register(new ae),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!Fa;this._ignoreFocusOut=e&&!Fa,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(e){this._leftButtons=e.filter(t=>t===KS),this._rightButtons=e.filter(t=>t!==KS&&t.location!==D_.Inline),this._inlineButtons=e.filter(t=>t.location===D_.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=Id.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=Id.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:!e&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText=" ");const t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?tn(this.ui.widget,this._widget):tn(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new Mc,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const n=this._leftButtons.map((a,l)=>tf(a,`id-${l}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.leftActionBar.push(n,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const o=this._rightButtons.map((a,l)=>tf(a,`id-${l}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.rightActionBar.push(o,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const r=this._inlineButtons.map((a,l)=>tf(a,`id-${l}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.inlineActionBar.push(r,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const n=this.toggles?.filter(o=>o instanceof Zb)??[];this.ui.inputBox.toggles=n}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const i=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==i&&(this._lastValidationMessage=i,tn(this.ui.message),MK(i,this.ui.message,{callback:n=>{this.ui.linkOpenerDelegate(n)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?p("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==Yt.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}};O1.noPromptMessage=p("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");let E_=O1;const F1=class F1 extends E_{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new A),this.onWillAcceptEmitter=this._register(new A),this.onDidAcceptEmitter=this._register(new A),this.onDidCustomEmitter=this._register(new A),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=Eo.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new A),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new A),this.onDidTriggerItemButtonEmitter=this._register(new A),this.onDidTriggerSeparatorButtonEmitter=this._register(new A),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new xg,this.type="quickPick",this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?kK:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(mt.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(e,t)=>t)(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&ii(e,this._activeItems,(t,i)=>t===i)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&ii(e,this._selectedItems,(i,n)=>i===n)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(ik(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{!this.canSelectMany||!this.visible||this.selectedItemsToConfirm!==this._selectedItems&&ii(e,this._selectedItems,(t,i)=>t===i)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return $(this.ui.container,J.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new vt(e),i=t.keyCode;this._quickNavigate.keybindings.some(r=>{const a=r.getChords();return a.length>1?!1:a[0].shiftKey&&i===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(a[0].altKey&&i===6||a[0].ctrlKey&&i===5||a[0].metaKey&&i===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.titleButtons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let n=this.ariaLabel;!n&&i.inputBox&&(n=this.placeholder||F1.DEFAULT_ARIA_LABEL,this.title&&(n+=` - ${this.title}`)),this.ui.list.ariaLabel!==n&&(this.ui.list.ariaLabel=n??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case Eo.NONE:this._itemActivation=Eo.FIRST;break;case Eo.SECOND:this.ui.list.focus(mt.Second),this._itemActivation=Eo.FIRST;break;case Eo.LAST:this.ui.list.focus(mt.Last),this._itemActivation=Eo.FIRST;break;default:this.trySelectFirst();break}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(mt.First)),this.keepScrollPosition&&(this.scrollTop=e)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){e&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(e??!1))}};F1.DEFAULT_ARIA_LABEL=p("quickInputBox.ariaLabel","Type to narrow down results.");let I_=F1,WK=class extends E_{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new A),this.onDidAcceptEmitter=this._register(new A),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}},qS=class extends qf{constructor(e,t){super("element",!1,i=>this.getOverrideOptions(i),e,t)}getOverrideOptions(e){const t=(ui(e.content)?e.content.textContent??"":typeof e.content=="string"?e.content:e.content.value).includes(` `);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:t,skipFadeInAnimation:!0}}}};qS=RK([HI(0,Ft),HI(1,Bg)],qS);Z.white.toString(),Z.white.toString();class jS extends K{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new A),this._onDidEscape=this._register(new A),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,n=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=n||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof t.title=="string"&&this.setTitle(t.title),typeof t.ariaLabel=="string"&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(sn.addTarget(this._element)),[J.CLICK,pt.Tap].forEach(o=>{this._register($(this._element,o,r=>{if(!this.enabled){Oe.stop(r);return}this._onDidClick.fire(r)}))}),this._register($(this._element,J.KEY_DOWN,o=>{const r=new vt(o);let a=!1;this.enabled&&(r.equals(3)||r.equals(10))?(this._onDidClick.fire(o),a=!0):r.equals(9)&&(this._onDidEscape.fire(o),this._element.blur(),a=!0),a&&Oe.stop(r,!0)})),this._register($(this._element,J.MOUSE_OVER,o=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register($(this._element,J.MOUSE_OUT,o=>{this.updateBackground(!1)})),this.focusTracker=this._register(Bf(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of Ql(e))if(typeof i=="string"){if(i=i.trim(),i==="")continue;const n=document.createElement("span");n.textContent=i,t.push(n)}else t.push(i);return t}updateBackground(e){let t;this.options.secondary?t=e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t=e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){if(this._label===e||Xl(this._label)&&Xl(e)&&aV(this._label,e))return;this._element.classList.add("monaco-text-button");const t=this.options.supportShortLabel?this._labelElement:this._element;if(Xl(e)){const n=Fk(e,{inline:!0});n.dispose();const o=n.element.querySelector("p")?.innerHTML;if(o){const r=RM(o,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});t.innerHTML=r}else tn(t)}else this.options.supportIcons?tn(t,...this.getContentElements(e)):t.textContent=e;let i="";typeof this.options.title=="string"?i=this.options.title:this.options.title&&(i=bV(e)),this.setTitle(i),typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",i),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...Ue.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){!this._hover&&e!==""?this._hover=this._register(jo().setupManagedHover(this.options.hoverDelegate??_s("mouse"),this._element,e)):this._hover&&this._hover.update(e)}}class zI{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=le(e,pe(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){this.element.textContent=Ap(this.countFormat,this.count),this.element.title=Ap(this.titleFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??"",this.element.style.color=this.styles.badgeForeground??"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}const UI="done",$I="active",fC="infinite",gC="infinite-long-running",KI="discrete",B1=class B1 extends K{constructor(e,t){super(),this.progressSignal=this._register(new Ur),this.workedVal=0,this.showDelayedScheduler=this._register(new Gi(()=>sk(this.element),0)),this.longRunningScheduler=this._register(new Gi(()=>this.infiniteLongRunning(),B1.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=t?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove($I,fC,gC,KI),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(UI),this.element.classList.contains(fC)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(KI,UI,gC),this.element.classList.add($I,fC),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(gC)}getContainer(){return this.element}};B1.LONG_RUNNING_INFINITE_THRESHOLD=1e4;let GS=B1;const VK=p("caseDescription","Match Case"),HK=p("wordsDescription","Match Whole Word"),zK=p("regexDescription","Use Regular Expression");class UK extends Zb{constructor(e){super({icon:re.caseSensitive,title:VK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??_s("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class $K extends Zb{constructor(e){super({icon:re.wholeWord,title:HK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??_s("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class KK extends Zb{constructor(e){super({icon:re.regex,title:zK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??_s("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class qK{constructor(e,t=0,i=e.length,n=t-1){this.items=e,this.start=t,this.end=i,this.index=n}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class jK{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new qK(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}}const _u=pe;class GK extends Zr{constructor(e,t,i){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new A),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=le(e,_u(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",o=le(this.element,_u(".ibwrapper"));if(this.input=le(o,_u(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=le(o,_u("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new bW(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),le(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(l=>this.input.scrollTop=l.scrollTop));const r=this._register(new Te(e.ownerDocument,"selectionchange")),a=Q.filter(r.event,()=>e.ownerDocument.getSelection()?.anchorNode===o);this._register(a(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new Wr(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(jo().setupManagedHover(_s("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:sv(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return JL(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){const e=this.input.selectionStart;if(e===null)return null;const t=this.input.selectionEnd??e;return{start:e,end:t}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if(this.state==="open"&&En(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${Pr(i.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e?.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=XL(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:n=>{if(!this.message)return null;e=le(n,_u(".monaco-inputbox-container")),t();const o={inline:!0,className:"monaco-inputbox-message"},r=this.message.formatContent?xW(this.message.content,o):kW(this.message.content,o);r.classList.add(this.classForType(this.message.type));const a=this.stylesForType(this.message.type);return r.style.backgroundColor=a.background??"",r.style.color=a.foreground??"",r.style.border=a.border?`1px solid ${a.border}`:"",le(e,r),null},onHide:()=>{this.state="closed"},layout:t});let i;this.message.type===3?i=p("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?i=p("alertWarningMessage","Warning: {0}",this.message.content):i=p("alertInfoMessage","Info: {0}",this.message.content),Yf(i),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,i=e.charCodeAt(e.length-1)===10?" ":"";(e+i).replace(/\u000c/g,"")?this.mirror.textContent=e+i:this.mirror.innerText=" ",this.layout()}applyStyles(){const e=this.options.inputBoxStyles,t=e.inputBackground??"",i=e.inputForeground??"",n=e.inputBorder??"";this.element.style.backgroundColor=t,this.element.style.color=i,this.input.style.backgroundColor="inherit",this.input.style.color=i,this.element.style.border=`1px solid ${Pr(n,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=sv(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,n=t.selectionEnd,o=t.value;i!==null&&n!==null&&(this.value=o.substr(0,i)+e+o.substr(n),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class ZK extends GK{constructor(e,t,i){const n=p({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," or {0} for history","⇅"),o=p({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," ({0} for history)","⇅");super(e,t,i),this._onDidFocus=this._register(new A),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new A),this.onDidBlur=this._onDidBlur.event,this.history=new jK(i.history,100);const r=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(n)&&!this.placeholder.endsWith(o)&&this.history.getHistory().length){const a=this.placeholder.endsWith(")")?n:o,l=this.placeholder+a;i.showPlaceholderOnFocus&&!JL(this.input)?this.placeholder=l:this.setPlaceHolder(l)}};this.observer=new MutationObserver((a,l)=>{a.forEach(c=>{c.target.textContent||r()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>r()),this.onblur(this.input,()=>{const a=l=>{if(this.placeholder.endsWith(l)){const c=this.placeholder.slice(0,this.placeholder.length-l.length);return i.showPlaceholderOnFocus?this.placeholder=c:this.setPlaceHolder(c),!0}else return!1};a(o)||a(n)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e??"",u_(this.value?this.value:p("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,u_(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const YK=p("defaultLabel","input");class QK extends Zr{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new Ur),this.additionalToggles=[],this._onDidOptionChange=this._register(new A),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new A),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new A),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new A),this._onKeyUp=this._register(new A),this._onCaseSensitiveKeyDown=this._register(new A),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new A),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||YK,this.showCommonFindToggles=!!i.showCommonFindToggles;const n=i.appendCaseSensitiveLabel||"",o=i.appendWholeWordsLabel||"",r=i.appendRegexLabel||"",a=i.history||[],l=!!i.flexibleHeight,c=!!i.flexibleWidth,h=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new ZK(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:a,showHistoryHint:i.showHistoryHint,flexibleHeight:l,flexibleWidth:c,flexibleMaxHeight:h,inputBoxStyles:i.inputBoxStyles}));const d=this._register(Zk());if(this.showCommonFindToggles){this.regex=this._register(new KK({appendTitle:r,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.regex.onChange(f=>{this._onDidOptionChange.fire(f),!f&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(f=>{this._onRegexKeyDown.fire(f)})),this.wholeWords=this._register(new $K({appendTitle:o,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.wholeWords.onChange(f=>{this._onDidOptionChange.fire(f),!f&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new UK({appendTitle:n,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.caseSensitive.onChange(f=>{this._onDidOptionChange.fire(f),!f&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(f=>{this._onCaseSensitiveKeyDown.fire(f)}));const u=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,f=>{if(f.equals(15)||f.equals(17)||f.equals(9)){const g=u.indexOf(this.domNode.ownerDocument.activeElement);if(g>=0){let m=-1;f.equals(17)?m=(g+1)%u.length:f.equals(15)&&(g===0?m=u.length-1:m=g-1),f.equals(9)?(u[g].blur(),this.inputBox.focus()):m>=0&&u[m].focus(),Oe.stop(f,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e?.appendChild(this.domNode),this._register($(this.inputBox.inputElement,"compositionstart",u=>{this.imeSessionInProgress=!0})),this._register($(this.inputBox.inputElement,"compositionend",u=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,u=>this._onKeyDown.fire(u)),this.onkeyup(this.inputBox.inputElement,u=>this._onKeyUp.fire(u)),this.oninput(this.inputBox.inputElement,u=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,u=>this._onMouseDown.fire(u))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const e of this.additionalToggles)e.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new ae;for(const t of e??[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange(i=>{this._onDidOptionChange.fire(i),!i&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){e?this.inputBox.paddingRight=0:this.inputBox.paddingRight=(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce((t,i)=>t+i.width(),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){return this.regex?.checked??!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}const XK=pe;class JK extends K{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=o=>di(this.findInput.inputBox.inputElement,J.KEY_DOWN,o),this.onDidChange=o=>this.findInput.onDidChange(o),this.container=le(this.parent,XK(".quick-input-box")),this.findInput=this._register(new QK(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const n=this.findInput.inputBox.inputElement;n.role="combobox",n.ariaHasPopup="menu",n.ariaAutoComplete="list",n.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===Yt.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===Yt.Info?1:e===Yt.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===Yt.Info?1:e===Yt.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}class eq{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:K.None}}renderElement(e,t,i,n){if(i.disposable?.dispose(),!i.data)return;const o=this.modelProvider();if(o.isResolved(e))return this.renderer.renderElement(o.get(e),e,i.data,n);const r=new ao,a=o.resolve(e,r.token);i.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(e,i.data),a.then(l=>this.renderer.renderElement(l,e,i.data,n))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class tq{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}function iq(s,e){return{...e,accessibilityProvider:e.accessibilityProvider&&new tq(s,e.accessibilityProvider)}}class nq{constructor(e,t,i,n,o={}){const r=()=>this.model,a=n.map(l=>new eq(l,r));this.list=new ho(e,t,i,a,iq(r,o))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return Q.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onPointer(){return Q.map(this.list.onPointer,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onDidChangeSelection(){return Q.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:i})=>({elements:e.map(n=>this._model.get(n)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,ln(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}var Kd=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o};const sq=!1;var qI;(function(s){s.North="north",s.South="south",s.East="east",s.West="west"})(qI||(qI={}));let oq=4;const rq=new A;let aq=300;const lq=new A;class cx{constructor(e){this.el=e,this.disposables=new ae}get onPointerMove(){return this.disposables.add(new Te(ue(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Te(ue(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}Kd([Bt],cx.prototype,"onPointerMove",null);Kd([Bt],cx.prototype,"onPointerUp",null);class hx{get onPointerMove(){return this.disposables.add(new Te(this.el,pt.Change)).event}get onPointerUp(){return this.disposables.add(new Te(this.el,pt.End)).event}constructor(e){this.el=e,this.disposables=new ae}dispose(){this.disposables.dispose()}}Kd([Bt],hx.prototype,"onPointerMove",null);Kd([Bt],hx.prototype,"onPointerUp",null);class N_{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}Kd([Bt],N_.prototype,"onPointerMove",null);Kd([Bt],N_.prototype,"onPointerUp",null);const jI="pointer-events-disabled";class os extends K{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",e===0),this.el.classList.toggle("minimum",e===1),this.el.classList.toggle("maximum",e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=i=>{this.orthogonalStartDragHandleDisposables.clear(),i!==0&&(this._orthogonalStartDragHandle=le(this.el,pe(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(ve(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new Te(this._orthogonalStartDragHandle,"mouseenter")).event(()=>os.onMouseEnter(e),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Te(this._orthogonalStartDragHandle,"mouseleave")).event(()=>os.onMouseLeave(e),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=i=>{this.orthogonalEndDragHandleDisposables.clear(),i!==0&&(this._orthogonalEndDragHandle=le(this.el,pe(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(ve(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new Te(this._orthogonalEndDragHandle,"mouseenter")).event(()=>os.onMouseEnter(e),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Te(this._orthogonalEndDragHandle,"mouseleave")).event(()=>os.onMouseLeave(e),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=aq,this.hoverDelayer=this._register(new Ng(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new A),this._onDidStart=this._register(new A),this._onDidChange=this._register(new A),this._onDidReset=this._register(new A),this._onDidEnd=this._register(new A),this.orthogonalStartSashDisposables=this._register(new ae),this.orthogonalStartDragHandleDisposables=this._register(new ae),this.orthogonalEndSashDisposables=this._register(new ae),this.orthogonalEndDragHandleDisposables=this._register(new ae),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=le(e,pe(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),Ve&&this.el.classList.add("mac");const n=this._register(new Te(this.el,"mousedown")).event;this._register(n(d=>this.onPointerStart(d,new cx(e)),this));const o=this._register(new Te(this.el,"dblclick")).event;this._register(o(this.onPointerDoublePress,this));const r=this._register(new Te(this.el,"mouseenter")).event;this._register(r(()=>os.onMouseEnter(this)));const a=this._register(new Te(this.el,"mouseleave")).event;this._register(a(()=>os.onMouseLeave(this))),this._register(sn.addTarget(this.el));const l=this._register(new Te(this.el,pt.Start)).event;this._register(l(d=>this.onPointerStart(d,new hx(this.el)),this));const c=this._register(new Te(this.el,pt.Tap)).event;let h;this._register(c(d=>{if(h){clearTimeout(h),h=void 0,this.onPointerDoublePress(d);return}clearTimeout(h),h=setTimeout(()=>h=void 0,250)},this)),typeof i.size=="number"?(this.size=i.size,i.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=oq,this._register(rq.event(d=>{this.size=d,this.layout()}))),this._register(lq.event(d=>this.hoverDelay=d)),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",sq),this.layout()}onPointerStart(e,t){Oe.stop(e);let i=!1;if(!e.__orthogonalSashEvent){const g=this.getOrthogonalSash(e);g&&(i=!0,e.__orthogonalSashEvent=!0,g.onPointerStart(e,new N_(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new N_(t))),!this.state)return;const n=this.el.ownerDocument.getElementsByTagName("iframe");for(const g of n)g.classList.add(jI);const o=e.pageX,r=e.pageY,a=e.altKey,l={startX:o,currentX:o,startY:r,currentY:r,altKey:a};this.el.classList.add("active"),this._onDidStart.fire(l);const c=Yn(this.el),h=()=>{let g="";i?g="all-scroll":this.orientation===1?this.state===1?g="s-resize":this.state===2?g="n-resize":g=Ve?"row-resize":"ns-resize":this.state===1?g="e-resize":this.state===2?g="w-resize":g=Ve?"col-resize":"ew-resize",c.textContent=`* { cursor: ${g} !important; }`},d=new ae;h(),i||this.onDidEnablementChange.event(h,null,d);const u=g=>{Oe.stop(g,!1);const m={startX:o,currentX:g.pageX,startY:r,currentY:g.pageY,altKey:a};this._onDidChange.fire(m)},f=g=>{Oe.stop(g,!1),c.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const m of n)m.classList.remove(jI)};t.onPointerMove(u,null,d),t.onPointerUp(f,null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger(()=>e.el.classList.add("hover"),e.hoverDelay).then(void 0,()=>{}),!t&&e.linkedSash&&os.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&os.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){os.onMouseLeave(this)}layout(){if(this.orientation===0){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){const t=e.initialTarget??e.target;if(!(!t||!ui(t))&&t.classList.contains("orthogonal-drag-handle"))return t.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}const cq={separatorBorder:Z.transparent};class W4{set size(e){this._size=e}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(e,t){if(e!==this.visible){e?(this.size=cn(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t=="number"?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{this.view.setVisible?.(e)}catch(i){console.error("Splitview: Failed to set visible view"),console.error(i)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,n){this.container=e,this.view=t,this.disposable=n,this._cachedVisibleSize=void 0,typeof i=="number"?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(i){console.error("Splitview: Failed to layout view"),console.error(i)}}dispose(){this.disposable.dispose()}}class hq extends W4{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class dq extends W4{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var hr;(function(s){s[s.Idle=0]="Idle",s[s.Busy=1]="Busy"})(hr||(hr={}));var GI;(function(s){s.Distribute={type:"distribute"};function e(n){return{type:"split",index:n}}s.Split=e;function t(n){return{type:"auto",index:n}}s.Auto=t;function i(n){return{type:"invisible",cachedVisibleSize:n}}s.Invisible=i})(GI||(GI={}));class uq extends K{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=hr.Idle,this._onDidSashChange=this._register(new A),this._onDidSashReset=this._register(new A),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=t.orientation??0,this.inverseAltBehavior=t.inverseAltBehavior??!1,this.proportionalLayout=t.proportionalLayout??!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=le(this.el,pe(".sash-container")),this.viewContainer=pe(".split-view-container"),this.scrollable=this._register(new Vd({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:n=>Tn(ue(this.el),n)})),this.scrollableElement=this._register(new Ob(this.viewContainer,{vertical:this.orientation===0?t.scrollbarVisibility??1:2,horizontal:this.orientation===1?t.scrollbarVisibility??1:2},this.scrollable));const i=this._register(new Te(this.viewContainer,"scroll")).event;this._register(i(n=>{const o=this.scrollableElement.getScrollPosition(),r=Math.abs(this.viewContainer.scrollLeft-o.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,a=Math.abs(this.viewContainer.scrollTop-o.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(r!==void 0||a!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:r,scrollTop:a})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(n=>{n.scrollTopChanged&&(this.viewContainer.scrollTop=n.scrollTop),n.scrollLeftChanged&&(this.viewContainer.scrollLeft=n.scrollLeft)})),le(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||cq),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((n,o)=>{const r=hs(n.visible)||n.visible?n.size:{type:"invisible",cachedVisibleSize:n.size},a=n.view;this.doAddView(a,r,o,!0)}),this._contentSize=this.viewItems.reduce((n,o)=>n+o.size,0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,n){this.doAddView(e,t,i,n)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let n=0;for(let o=0;o0&&(r.size=cn(Math.round(a*e/n),r.minimumSize,r.maximumSize))}}else{const n=ln(this.viewItems.length),o=n.filter(a=>this.viewItems[a].priority===1),r=n.filter(a=>this.viewItems[a].priority===2);this.resize(this.viewItems.length-1,e-i,void 0,o,r)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:i}){for(const a of this.viewItems)a.enabled=!1;const n=this.sashItems.findIndex(a=>a.sash===e),o=Oo($(this.el.ownerDocument.body,"keydown",a=>r(this.sashDragState.current,a.altKey)),$(this.el.ownerDocument.body,"keyup",()=>r(this.sashDragState.current,!1))),r=(a,l)=>{const c=this.viewItems.map(g=>g.size);let h=Number.NEGATIVE_INFINITY,d=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(l=!l),l)if(n===this.sashItems.length-1){const m=this.viewItems[n];h=(m.minimumSize-m.size)/2,d=(m.maximumSize-m.size)/2}else{const m=this.viewItems[n+1];h=(m.size-m.maximumSize)/2,d=(m.size-m.minimumSize)/2}let u,f;if(!l){const g=ln(n,-1),m=ln(n+1,this.viewItems.length),_=g.reduce((D,E)=>D+(this.viewItems[E].minimumSize-c[E]),0),b=g.reduce((D,E)=>D+(this.viewItems[E].viewMaximumSize-c[E]),0),C=m.length===0?Number.POSITIVE_INFINITY:m.reduce((D,E)=>D+(c[E]-this.viewItems[E].minimumSize),0),v=m.length===0?Number.NEGATIVE_INFINITY:m.reduce((D,E)=>D+(c[E]-this.viewItems[E].viewMaximumSize),0),w=Math.max(_,v),y=Math.min(C,b),L=this.findFirstSnapIndex(g),k=this.findFirstSnapIndex(m);if(typeof L=="number"){const D=this.viewItems[L],E=Math.floor(D.viewMinimumSize/2);u={index:L,limitDelta:D.visible?w-E:w+E,size:D.size}}if(typeof k=="number"){const D=this.viewItems[k],E=Math.floor(D.viewMinimumSize/2);f={index:k,limitDelta:D.visible?y+E:y-E,size:D.size}}}this.sashDragState={start:a,current:a,index:n,sizes:c,minDelta:h,maxDelta:d,alt:l,snapBefore:u,snapAfter:f,disposable:o}};r(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:n,alt:o,minDelta:r,maxDelta:a,snapBefore:l,snapAfter:c}=this.sashDragState;this.sashDragState.current=e;const h=e-i,d=this.resize(t,h,n,void 0,void 0,r,a,l,c);if(o){const u=t===this.sashItems.length-1,f=this.viewItems.map(v=>v.size),g=u?t:t+1,m=this.viewItems[g],_=m.size-m.maximumSize,b=m.size-m.minimumSize,C=u?t-1:t+1;this.resize(C,-d,f,void 0,void 0,_,b)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=typeof t=="number"?t:e.size,t=cn(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==hr.Idle)throw new Error("Cant modify splitview");this.state=hr.Busy;try{const i=ln(this.viewItems.length).filter(a=>a!==e),n=[...i.filter(a=>this.viewItems[a].priority===1),e],o=i.filter(a=>this.viewItems[a].priority===2),r=this.viewItems[e];t=Math.round(t),t=cn(t,r.minimumSize,Math.min(r.maximumSize,this.size)),r.size=t,this.relayout(n,o)}finally{this.state=hr.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const a of this.viewItems)a.maximumSize-a.minimumSize>0&&(e.push(a),t+=a.size);const i=Math.floor(t/e.length);for(const a of e)a.size=cn(i,a.minimumSize,a.maximumSize);const n=ln(this.viewItems.length),o=n.filter(a=>this.viewItems[a].priority===1),r=n.filter(a=>this.viewItems[a].priority===2);this.relayout(o,r)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,n){if(this.state!==hr.Idle)throw new Error("Cant modify splitview");this.state=hr.Busy;try{const o=pe(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(o):this.viewContainer.insertBefore(o,this.viewContainer.children.item(i));const r=e.onDidChange(u=>this.onViewChange(h,u)),a=ve(()=>o.remove()),l=Oo(r,a);let c;typeof t=="number"?c=t:(t.type==="auto"&&(this.areViewsDistributed()?t={type:"distribute"}:t={type:"split",index:t.index}),t.type==="split"?c=this.getViewSize(t.index)/2:t.type==="invisible"?c={cachedVisibleSize:t.cachedVisibleSize}:c=e.minimumSize);const h=this.orientation===0?new hq(o,e,c,l):new dq(o,e,c,l);if(this.viewItems.splice(i,0,h),this.viewItems.length>1){const u={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},f=this.orientation===0?new os(this.sashContainer,{getHorizontalSashTop:D=>this.getSashPosition(D),getHorizontalSashWidth:this.getSashOrthogonalSize},{...u,orientation:1}):new os(this.sashContainer,{getVerticalSashLeft:D=>this.getSashPosition(D),getVerticalSashHeight:this.getSashOrthogonalSize},{...u,orientation:0}),g=this.orientation===0?D=>({sash:f,start:D.startY,current:D.currentY,alt:D.altKey}):D=>({sash:f,start:D.startX,current:D.currentX,alt:D.altKey}),_=Q.map(f.onDidStart,g)(this.onSashStart,this),C=Q.map(f.onDidChange,g)(this.onSashChange,this),w=Q.map(f.onDidEnd,()=>this.sashItems.findIndex(D=>D.sash===f))(this.onSashEnd,this),y=f.onDidReset(()=>{const D=this.sashItems.findIndex(z=>z.sash===f),E=ln(D,-1),U=ln(D+1,this.viewItems.length),O=this.findFirstSnapIndex(E),B=this.findFirstSnapIndex(U);typeof O=="number"&&!this.viewItems[O].visible||typeof B=="number"&&!this.viewItems[B].visible||this._onDidSashReset.fire(D)}),L=Oo(_,C,w,y,f),k={sash:f,disposable:L};this.sashItems.splice(i-1,0,k)}o.appendChild(e.element);let d;typeof t!="number"&&t.type==="split"&&(d=[t.index]),n||this.relayout([i],d),!n&&typeof t!="number"&&t.type==="distribute"&&this.distributeViewSizes()}finally{this.state=hr.Idle}}relayout(e,t){const i=this.viewItems.reduce((n,o)=>n+o.size,0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map(h=>h.size),n,o,r=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,l,c){if(e<0||e>=this.viewItems.length)return 0;const h=ln(e,-1),d=ln(e+1,this.viewItems.length);if(o)for(const k of o)d0(h,k),d0(d,k);if(n)for(const k of n)im(h,k),im(d,k);const u=h.map(k=>this.viewItems[k]),f=h.map(k=>i[k]),g=d.map(k=>this.viewItems[k]),m=d.map(k=>i[k]),_=h.reduce((k,D)=>k+(this.viewItems[D].minimumSize-i[D]),0),b=h.reduce((k,D)=>k+(this.viewItems[D].maximumSize-i[D]),0),C=d.length===0?Number.POSITIVE_INFINITY:d.reduce((k,D)=>k+(i[D]-this.viewItems[D].minimumSize),0),v=d.length===0?Number.NEGATIVE_INFINITY:d.reduce((k,D)=>k+(i[D]-this.viewItems[D].maximumSize),0),w=Math.max(_,v,r),y=Math.min(C,b,a);let L=!1;if(l){const k=this.viewItems[l.index],D=t>=l.limitDelta;L=D!==k.visible,k.setVisible(D,l.size)}if(!L&&c){const k=this.viewItems[c.index],D=ta+l.size,0);let i=this.size-t;const n=ln(this.viewItems.length-1,-1),o=n.filter(a=>this.viewItems[a].priority===1),r=n.filter(a=>this.viewItems[a].priority===2);for(const a of r)d0(n,a);for(const a of o)im(n,a);typeof e=="number"&&im(n,e);for(let a=0;i!==0&&at+i.size,0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(t=>t.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map(l=>e=l.size-l.minimumSize>0||e);e=!1;const i=this.viewItems.map(l=>e=l.maximumSize-l.size>0||e),n=[...this.viewItems].reverse();e=!1;const o=n.map(l=>e=l.size-l.minimumSize>0||e).reverse();e=!1;const r=n.map(l=>e=l.maximumSize-l.size>0||e).reverse();let a=0;for(let l=0;l0||this.startSnappingEnabled)?c.state=1:C&&t[l]&&(a0)return;if(!i.visible&&i.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=e===void 0?i.size:Math.min(e,i.size),t=t===void 0?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),wi(this.viewItems),this.viewItems=[],this.sashItems.forEach(e=>e.disposable.dispose()),this.sashItems=[],super.dispose()}}const W1=class W1{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=W1.TemplateId,this.renderedTemplates=new Set;const n=new Map(t.map(o=>[o.templateId,o]));this.renderers=[];for(const o of e){const r=n.get(o.templateId);if(!r)throw new Error(`Table cell renderer for template id ${o.templateId} not found.`);this.renderers.push(r)}}renderTemplate(e){const t=le(e,pe(".monaco-table-tr")),i=[],n=[];for(let r=0;rthis.disposables.add(new gq(h,d))),l={size:a.reduce((h,d)=>h+d.column.weight,0),views:a.map(h=>({size:h.column.weight,view:h}))};this.splitview=this.disposables.add(new uq(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${i.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${i.headerRowHeight}px`;const c=new T_(n,o,h=>this.splitview.getViewSize(h));this.list=this.disposables.add(new ho(e,this.domNode,fq(i),[c],r)),Q.any(...a.map(h=>h.onDidLayout))(([h,d])=>c.layoutColumn(h,d),null,this.disposables),this.splitview.onDidSashReset(h=>{const d=n.reduce((f,g)=>f+g.weight,0),u=n[h].weight/d*this.cachedWidth;this.splitview.resizeView(h,u)},null,this.disposables),this.styleElement=Yn(this.domNode),this.style(Ez)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before { top: ${this.virtualDelegate.headerRowHeight+1}px; height: calc(100% - ${this.virtualDelegate.headerRowHeight}px); }`),this.styleElement.textContent=t.join(` `),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};V1.InstanceCount=0;let ZS=V1;var Wn;(function(s){s[s.Expanded=0]="Expanded",s[s.Collapsed=1]="Collapsed",s[s.PreserveOrExpanded=2]="PreserveOrExpanded",s[s.PreserveOrCollapsed=3]="PreserveOrCollapsed"})(Wn||(Wn={}));var jl;(function(s){s[s.Unknown=0]="Unknown",s[s.Twistie=1]="Twistie",s[s.Element=2]="Element",s[s.Filter=3]="Filter"})(jl||(jl={}));class Un extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class dx{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function ux(s){return typeof s=="object"&&"visibility"in s&&"data"in s}function sg(s){switch(s){case!0:return 1;case!1:return 0;default:return s}}function mC(s){return typeof s.collapsible=="boolean"}class mq{constructor(e,t,i,n={}){this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new xg,this._onDidChangeCollapseState=new A,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new A,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new A,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Ng(SM),this.collapseByDefault=typeof n.collapseByDefault>"u"?!1:n.collapseByDefault,this.allowNonCollapsibleParents=n.allowNonCollapsibleParents??!1,this.filter=n.filter,this.autoExpandSingleChildren=typeof n.autoExpandSingleChildren>"u"?!1:n.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=Ge.empty(),n={}){if(e.length===0)throw new Un(this.user,"Invalid tree location");n.diffIdentityProvider?this.spliceSmart(n.diffIdentityProvider,e,t,i,n):this.spliceSimple(e,t,i,n)}spliceSmart(e,t,i,n=Ge.empty(),o,r=o.diffDepth??0){const{parentNode:a}=this.getParentNodeWithListIndex(t);if(!a.lastDiffIds)return this.spliceSimple(t,i,n,o);const l=[...n],c=t[t.length-1],h=new yr({getElements:()=>a.lastDiffIds},{getElements:()=>[...a.children.slice(0,c),...l,...a.children.slice(c+i)].map(m=>e.getId(m.element).toString())}).ComputeDiff(!1);if(h.quitEarly)return a.lastDiffIds=void 0,this.spliceSimple(t,i,l,o);const d=t.slice(0,-1),u=(m,_,b)=>{if(r>0)for(let C=0;Cb.originalStart-_.originalStart))u(f,g,f-(m.originalStart+m.originalLength)),f=m.originalStart,g=m.modifiedStart-c,this.spliceSimple([...d,f],m.originalLength,Ge.slice(l,g,g+m.modifiedLength),o);u(f,g,f)}spliceSimple(e,t,i=Ge.empty(),{onDidCreateNode:n,onDidDeleteNode:o,diffIdentityProvider:r}){const{parentNode:a,listIndex:l,revealed:c,visible:h}=this.getParentNodeWithListIndex(e),d=[],u=Ge.map(i,y=>this.createTreeNode(y,a,a.visible?1:0,c,d,n)),f=e[e.length-1];let g=0;for(let y=f;y>=0&&yr.getId(y.element).toString())):a.lastDiffIds=a.children.map(y=>r.getId(y.element).toString()):a.lastDiffIds=void 0;let v=0;for(const y of C)y.visible&&v++;if(v!==0)for(let y=f+m.length;yL+(k.visible?k.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(a,b-y),this.list.splice(l,y,d)}if(C.length>0&&o){const y=L=>{o(L),L.children.forEach(y)};C.forEach(y)}this._onDidSplice.fire({insertedNodes:m,deletedNodes:C});let w=a;for(;w;){if(w.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}w=w.parent}}rerender(e){if(e.length===0)throw new Un(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:n}=this.getTreeNodeWithListIndex(e);t.visible&&n&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:n}=this.getTreeNodeWithListIndex(e);return i&&n?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);typeof t>"u"&&(t=!i.collapsible);const n={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,n))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const n=this.getTreeNode(e);typeof t>"u"&&(t=!n.collapsed);const o={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,o))}_setCollapseState(e,t){const{node:i,listIndex:n,revealed:o}=this.getTreeNodeWithListIndex(e),r=this._setListNodeCollapseState(i,n,o,t);if(i!==this.root&&this.autoExpandSingleChildren&&r&&!mC(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let a=-1;for(let l=0;l-1){a=-1;break}else a=l;a>-1&&this._setCollapseState([...e,a],t)}return r}_setListNodeCollapseState(e,t,i,n){const o=this._setNodeCollapseState(e,n,!1);if(!i||!e.visible||!o)return o;const r=e.renderNodeCount,a=this.updateNodeAfterCollapseChange(e),l=r-(t===-1?0:1);return this.list.splice(t+1,l,a.slice(1)),o}_setNodeCollapseState(e,t,i){let n;if(e===this.root?n=!1:(mC(t)?(n=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(n=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):n=!1,n&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!mC(t)&&t.recursive)for(const o of e.children)n=this._setNodeCollapseState(o,t,!0)||n;return n}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,n,o,r){const a={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible=="boolean"?e.collapsible:typeof e.collapsed<"u",collapsed:typeof e.collapsed>"u"?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},l=this._filterNode(a,i);a.visibility=l,n&&o.push(a);const c=e.children||Ge.empty(),h=n&&l!==0&&!a.collapsed;let d=0,u=1;for(const f of c){const g=this.createTreeNode(f,a,l,h,o,r);a.children.push(g),u+=g.renderNodeCount,g.visible&&(g.visibleChildIndex=d++)}return this.allowNonCollapsibleParents||(a.collapsible=a.collapsible||a.children.length>0),a.visibleChildrenCount=d,a.visible=l===2?d>0:l===1,a.visible?a.collapsed||(a.renderNodeCount=u):(a.renderNodeCount=0,n&&o.pop()),r?.(a),a}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,n=!0){let o;if(e!==this.root){if(o=this._filterNode(e,t),o===0)return e.visible=!1,e.renderNodeCount=0,!1;n&&i.push(e)}const r=i.length;e.renderNodeCount=e===this.root?0:1;let a=!1;if(!e.collapsed||o!==0){let l=0;for(const c of e.children)a=this._updateNodeAfterFilterChange(c,o,i,n&&!e.collapsed)||a,c.visible&&(c.visibleChildIndex=l++);e.visibleChildrenCount=l}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=o===2?a:o===1,e.visibility=o),e.visible?e.collapsed||(e.renderNodeCount+=i.length-r):(e.renderNodeCount=0,n&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return typeof i=="boolean"?(e.filterData=void 0,i?1:0):ux(i)?(e.filterData=i.data,sg(i.visibility)):(e.filterData=void 0,sg(i))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;const[i,...n]=e;return i<0||i>t.children.length?!1:this.hasTreeNode(n,t.children[i])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;const[i,...n]=e;if(i<0||i>t.children.length)throw new Un(this.user,"Invalid tree location");return this.getTreeNode(n,t.children[i])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:n,visible:o}=this.getParentNodeWithListIndex(e),r=e[e.length-1];if(r<0||r>t.children.length)throw new Un(this.user,"Invalid tree location");const a=t.children[r];return{node:a,listIndex:i,revealed:n,visible:o&&a.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,n=!0,o=!0){const[r,...a]=e;if(r<0||r>t.children.length)throw new Un(this.user,"Invalid tree location");for(let l=0;lt.element)),this.data=e}}function pC(s){return s instanceof Ug?new pq(s):s}class _q{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=K.None,this.disposables=new ae}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){this.dnd.onDragStart?.(pC(e),t)}onDragOver(e,t,i,n,o,r=!0){const a=this.dnd.onDragOver(pC(e),t&&t.element,i,n,o),l=this.autoExpandNode!==t;if(l&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),typeof t>"u")return a;if(l&&typeof a!="boolean"&&a.autoExpand&&(this.autoExpandDisposable=Zw(()=>{const f=this.modelProvider(),g=f.getNodeLocation(t);f.isCollapsed(g)&&f.setCollapsed(g,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof a=="boolean"||!a.accept||typeof a.bubble>"u"||a.feedback){if(!r){const f=typeof a=="boolean"?a:a.accept,g=typeof a=="boolean"?void 0:a.effect;return{accept:f,effect:g,feedback:[i]}}return a}if(a.bubble===1){const f=this.modelProvider(),g=f.getNodeLocation(t),m=f.getParentNodeLocation(g),_=f.getNode(m),b=m&&f.getListIndex(m);return this.onDragOver(e,_,b,n,o,!1)}const c=this.modelProvider(),h=c.getNodeLocation(t),d=c.getListIndex(h),u=c.getListRenderCount(h);return{...a,feedback:ln(d,d+u)}}drop(e,t,i,n,o){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(pC(e),t&&t.element,i,n,o)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function bq(s,e){return e&&{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)}},dnd:e.dnd&&new _q(s,e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element})},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})}},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getSetSize(t){const i=s(),n=i.getNodeLocation(t),o=i.getParentNodeLocation(n);return i.getNode(o).visibleChildrenCount},getPosInSet(t){return t.visibleChildIndex+1},isChecked:e.accessibilityProvider&&e.accessibilityProvider.isChecked?t=>e.accessibilityProvider.isChecked(t.element):void 0,getRole:e.accessibilityProvider&&e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider&&e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider&&e.accessibilityProvider.getAriaLevel?t=>e.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}}}class fx{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){this.delegate.setDynamicHeight?.(e.element,t)}}var Nd;(function(s){s.None="none",s.OnHover="onHover",s.Always="always"})(Nd||(Nd={}));class Cq{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new ae,this.onDidChange=Q.forEach(e,i=>this._elements=i,this.disposables)}dispose(){this.disposables.dispose()}}const yf=class yf{constructor(e,t,i,n,o,r={}){this.renderer=e,this.modelProvider=t,this.activeNodes=n,this.renderedIndentGuides=o,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=yf.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=K.None,this.disposables=new ae,this.templateId=e.templateId,this.updateOptions(r),Q.map(i,a=>a.node)(this.onDidChangeNodeTwistieState,this,this.disposables),e.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(typeof e.indent<"u"){const t=cn(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[i,n]of this.renderedNodes)this.renderTreeElement(i,n)}}if(typeof e.renderIndentGuides<"u"){const t=e.renderIndentGuides!==Nd.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[i,n]of this.renderedNodes)this._renderIndentGuides(i,n);if(this.indentGuidesDisposable.dispose(),t){const i=new ae;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,i),this.indentGuidesDisposable=i,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof e.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=le(e,pe(".monaco-tl-row")),i=le(t,pe(".monaco-tl-indent")),n=le(t,pe(".monaco-tl-twistie")),o=le(t,pe(".monaco-tl-contents")),r=this.renderer.renderTemplate(o);return{container:e,indent:i,twistie:n,indentGuidesDisposable:K.None,templateData:r}}renderElement(e,t,i,n){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,n)}disposeElement(e,t,i,n){i.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(e,t,i.templateData,n),typeof n=="number"&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=yf.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${i}px`,t.indent.style.width=`${i+this.indent-16}px`,e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...Ue.asClassNameArray(re.treeItemExpanded));let n=!1;this.renderer.renderTwistie&&(n=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(n||t.twistie.classList.add(...Ue.asClassNameArray(re.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(to(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new ae,n=this.modelProvider();for(;;){const o=n.getNodeLocation(e),r=n.getParentNodeLocation(o);if(!r)break;const a=n.getNode(r),l=pe(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(a)&&l.classList.add("active"),t.indent.childElementCount===0?t.indent.appendChild(l):t.indent.insertBefore(l,t.indent.firstElementChild),this.renderedIndentGuides.add(a,l),i.add(ve(()=>this.renderedIndentGuides.delete(a,l))),e=a}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach(n=>{const o=i.getNodeLocation(n);try{const r=i.getParentNodeLocation(o);n.collapsible&&n.children.length>0&&!n.collapsed?t.add(n):r&&t.add(i.getNode(r))}catch{}}),this.activeIndentNodes.forEach(n=>{t.has(n)||this.renderedIndentGuides.forEach(n,o=>o.classList.remove("active"))}),t.forEach(n=>{this.activeIndentNodes.has(n)||this.renderedIndentGuides.forEach(n,o=>o.classList.add("active"))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),wi(this.disposables)}};yf.DefaultIndent=8;let YS=yf;class wq{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new ae,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const r=this._filter.filter(e,t);if(typeof r=="boolean"?i=r?1:0:ux(r)?i=sg(r.visibility):i=r,i===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:Qh.Default,visibility:i};const n=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=Array.isArray(n)?n:[n];for(const r of o){const a=r&&r.toString();if(typeof a>"u")return{data:Qh.Default,visibility:i};let l;if(this.tree.findMatchType===kc.Contiguous){const c=a.toLowerCase().indexOf(this._lowercasePattern);if(c>-1){l=[Number.MAX_SAFE_INTEGER,0];for(let h=this._lowercasePattern.length;h>0;h--)l.push(c+h-1)}}else l=Gf(this._pattern,this._lowercasePattern,0,a,a.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(l)return this._matchCount++,o.length===1?{data:l,visibility:i}:{data:{label:a,score:l},visibility:i}}return this.tree.findMode===Ir.Filter?typeof this.tree.options.defaultFindVisibility=="number"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:Qh.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){wi(this.disposables)}}var Ir;(function(s){s[s.Highlight=0]="Highlight",s[s.Filter=1]="Filter"})(Ir||(Ir={}));var kc;(function(s){s[s.Fuzzy=0]="Fuzzy",s[s.Contiguous=1]="Contiguous"})(kc||(kc={}));class vq{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,n,o,r={}){this.tree=e,this.view=i,this.filter=n,this.contextViewProvider=o,this.options=r,this._pattern="",this.width=0,this._onDidChangeMode=new A,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new A,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new A,this._onDidChangeOpenState=new A,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new ae,this.disposables=new ae,this._mode=e.options.defaultFindMode??Ir.Highlight,this._matchType=e.options.defaultFindMatchType??kc.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){e.defaultFindMode!==void 0&&(this.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){const e=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&e?(Yf(p("replFindNoResults","No results")),this.tree.options.showNotFoundMessage??!0?this.widget?.showMessage({type:2,content:p("not found","No elements found.")}):this.widget?.showMessage({type:2})):(this.widget?.clearMessage(),this.pattern&&Yf(p("replFindResults","{0} results",this.filter.matchCount)))}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!Qh.isDefault(e.filterData)}layout(e){this.width=e,this.widget?.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function Sq(s,e){return s.position===e.position&&V4(s,e)}function V4(s,e){return s.node.element===e.node.element&&s.startIndex===e.startIndex&&s.height===e.height&&s.endIndex===e.endIndex}class yq{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return ii(this.stickyNodes,e.stickyNodes,Sq)}lastNodePartiallyVisible(){if(this.count===0)return!1;const e=this.stickyNodes[this.count-1];if(this.count===1)return e.position!==0;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!ii(this.stickyNodes,e.stickyNodes,V4)||this.count===0)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class Lq{constrainStickyScrollNodes(e,t,i){for(let n=0;ni||n>=t)return e.slice(0,n)}return e}}class ZI extends K{constructor(e,t,i,n,o,r={}){super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=o,this.maxWidgetViewRatio=.4;const a=this.validateStickySettings(r);this.stickyScrollMaxItemCount=a.stickyScrollMaxItemCount,this.stickyScrollDelegate=r.stickyScrollDelegate??new Lq,this._widget=this._register(new kq(i.getScrollableElement(),i,e,n,o,r.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll(()=>this.update())),this._register(i.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(e===0?t=this.view.firstVisibleIndex:t=this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||this.tree.scrollTop===0){this._widget.setState(void 0);return}const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,n=0,o=this.getNextStickyNode(i,void 0,n);for(;o&&(t.push(o),n+=o.height,!(t.length<=this.stickyScrollMaxItemCount&&(i=this.getNextVisibleNode(o),!i)));)o=this.getNextStickyNode(i,o.node,n);const r=this.constrainStickyNodes(t);return r.length?new yq(r):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const n=this.getAncestorUnderPrevious(e,t);if(n&&!(n===e&&(!this.nodeIsUncollapsedParent(e)||this.nodeTopAlignsWithStickyNodesBottom(e,i))))return this.createStickyScrollNode(n,i)}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),n=this.view.getElementTop(i),o=t;return this.view.scrollTop===n-o}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:n,endIndex:o}=this.getNodeRange(e),r=this.calculateStickyNodePosition(o,t,i);return{node:e,position:r,height:i,startIndex:n,endIndex:o}}getAncestorUnderPrevious(e,t=void 0){let i=e,n=this.getParentNode(i);for(;n;){if(n===t)return i;i=n,n=this.getParentNode(i)}if(t===void 0)return i}calculateStickyNodePosition(e,t,i){let n=this.view.getRelativeTop(e);if(n===null&&this.view.firstVisibleIndex===e&&e+1l&&t<=l?l-i:t}constrainStickyNodes(e){if(e.length===0)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const n=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!n.length)return[];const o=n[n.length-1];if(n.length>this.stickyScrollMaxItemCount||o.position+o.height>t)throw new Error("stickyScrollDelegate violates constraints");return n}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");const n=this.model.getListRenderCount(t),o=i+n-1;return{startIndex:i,endIndex:o}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let n=0;for(let o=0;o0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const n=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${n.position}px`;else{this._previousStateDisposables.clear();const o=Array(e.count);for(let r=e.count-1;r>=0;r--){const a=e.stickyNodes[r],{element:l,disposable:c}=this.createElement(a,r,e.count);o[r]=l,this._rootDomNode.appendChild(l),this._previousStateDisposables.add(c)}this.stickyScrollFocus.updateElements(o,e),this._previousElements=o}this._previousState=e,this._rootDomNode.style.height=`${n.position+n.height}px`}createElement(e,t,i){const n=e.startIndex,o=document.createElement("div");o.style.top=`${e.position}px`,this.tree.options.setRowHeight!==!1&&(o.style.height=`${e.height}px`),this.tree.options.setRowLineHeight!==!1&&(o.style.lineHeight=`${e.height}px`),o.classList.add("monaco-tree-sticky-row"),o.classList.add("monaco-list-row"),o.setAttribute("data-index",`${n}`),o.setAttribute("data-parity",n%2===0?"even":"odd"),o.setAttribute("id",this.view.getElementID(n));const r=this.setAccessibilityAttributes(o,e.node.element,t,i),a=this.treeDelegate.getTemplateId(e.node),l=this.treeRenderers.find(u=>u.templateId===a);if(!l)throw new Error(`No renderer found for template id ${a}`);let c=e.node;c===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(c=new Proxy(e.node,{}));const h=l.renderTemplate(o);l.renderElement(c,e.startIndex,h,e.height);const d=ve(()=>{r.dispose(),l.disposeElement(c,e.startIndex,h,e.height),l.disposeTemplate(h),o.remove()});return{element:o,disposable:d}}setAccessibilityAttributes(e,t,i,n){if(!this.accessibilityProvider)return K.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,n))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",this.accessibilityProvider.getRole(t)??"treeitem");const o=this.accessibilityProvider.getAriaLabel(t),r=o&&typeof o!="string"?o:__(o),a=Ze(c=>{const h=c.readObservable(r);h?e.setAttribute("aria-label",h):e.removeAttribute("aria-label")});typeof o=="string"||o&&e.setAttribute("aria-label",o.get());const l=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return typeof l=="number"&&e.setAttribute("aria-level",`${l}`),e.setAttribute("aria-selected",String(!1)),a}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class xq extends K{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new A,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new A,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register($(this.container,"focus",()=>this.onFocus())),this._register($(this.container,"blur",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(i=>this.onKeyDown(i))),this._register(this.view.onMouseDown(i=>this.onMouseDown(i))),this._register(this.view.onContextMenu(i=>this.handleContextMenu(i)))}handleContextMenu(e){const t=e.browserEvent.target;if(!Xf(t)&&!Gu(t)){this.focusedLast()&&this.view.domFocus();return}if(!pr(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const r=this.state.stickyNodes.findIndex(a=>a.node.element===e.element?.element);if(r===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(r);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const n=this.state.stickyNodes[this.focusedIndex].node.element,o=this.elements[this.focusedIndex];this._onContextMenu.fire({element:n,anchor:o,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state){if(e.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if(e.key==="ArrowDown"||e.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const t=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([t]),this.scrollNodeUnderWidget(t,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}}onMouseDown(e){const t=e.browserEvent.target;!Xf(t)&&!Gu(t)||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&t.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const n=cn(i,0,t.count-1);this.setFocus(n)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,o=this.view.getElementTop(e),r=n?n.position+n.height+i.height:i.height;this.view.scrollTop=o-r}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function Om(s){let e=jl.Unknown;return k0(s.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?e=jl.Twistie:k0(s.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?e=jl.Element:k0(s.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(e=jl.Filter),{browserEvent:s.browserEvent,element:s.element?s.element.element:null,target:e}}function Dq(s){const e=Xf(s.browserEvent.target);return{element:s.element?s.element.element:null,browserEvent:s.browserEvent,anchor:s.anchor,isStickyScroll:e}}function gp(s,e){e(s),s.children.forEach(t=>gp(t,e))}class _C{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new A,this.onDidChange=this._onDidChange.event}set(e,t){!t?.__forceEvent&&ii(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const n=this;this._onDidChange.fire({get elements(){return n.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map(e=>e.element)),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const l=this.createNodeSet(),c=h=>l.delete(h);t.forEach(h=>gp(h,c)),this.set([...l.values()]);return}const i=new Set,n=l=>i.add(this.identityProvider.getId(l.element).toString());t.forEach(l=>gp(l,n));const o=new Map,r=l=>o.set(this.identityProvider.getId(l.element).toString(),l);e.forEach(l=>gp(l,r));const a=[];for(const l of this.nodes){const c=this.identityProvider.getId(l.element).toString();if(!i.has(c))a.push(l);else{const d=o.get(c);d&&d.visible&&a.push(d)}}if(this.nodes.length>0&&a.length===0){const l=this.getFirstViewElementWithTrait();l&&a.push(l)}this._set(a,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class Eq extends YA{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(qA(e.browserEvent.target)||Pa(e.browserEvent.target)||Nu(e.browserEvent.target)||e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,n=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,o=Gu(e.browserEvent.target);let r=!1;if(o?r=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?r=this.tree.expandOnlyOnTwistieClick(t.element):r=!!this.tree.expandOnlyOnTwistieClick,o)this.handleStickyScrollMouseEvent(e,t);else{if(r&&!n&&e.browserEvent.detail!==2)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e)}if(t.collapsible&&(!o||n)){const a=this.tree.getNodeLocation(t),l=e.browserEvent.altKey;if(this.tree.setFocus([a]),this.tree.toggleCollapsed(a,l),n){e.browserEvent.isHandledByList=!0;return}}o||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(Sz(e.browserEvent.target)||yz(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const n=this.list.indexOf(t),o=this.list.getElementTop(n),r=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=o-r,this.list.domFocus(),this.list.setFocus([n]),this.list.setSelection([n])}onDoubleClick(e){e.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||e.browserEvent.isHandledByList||super.onDoubleClick(e)}onMouseDown(e){const t=e.browserEvent.target;if(!Xf(t)&&!Gu(t)){super.onMouseDown(e);return}}onContextMenu(e){const t=e.browserEvent.target;if(!Xf(t)&&!Gu(t)){super.onContextMenu(e);return}}}class Iq extends ho{constructor(e,t,i,n,o,r,a,l){super(e,t,i,n,l),this.focusTrait=o,this.selectionTrait=r,this.anchorTrait=a}createMouseController(e){return new Eq(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),i.length===0)return;const n=[],o=[];let r;i.forEach((a,l)=>{this.focusTrait.has(a)&&n.push(e+l),this.selectionTrait.has(a)&&o.push(e+l),this.anchorTrait.has(a)&&(r=e+l)}),n.length>0&&super.setFocus(gc([...super.getFocus(),...n])),o.length>0&&super.setSelection(gc([...super.getSelection(),...o])),typeof r=="number"&&super.setAnchor(r)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map(n=>this.element(n)),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map(n=>this.element(n)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(typeof e>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class H4{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return Q.filter(Q.map(this.view.onMouseDblClick,Om),e=>e.target!==jl.Filter)}get onMouseOver(){return Q.map(this.view.onMouseOver,Om)}get onMouseOut(){return Q.map(this.view.onMouseOut,Om)}get onContextMenu(){return Q.any(Q.filter(Q.map(this.view.onContextMenu,Dq),e=>!e.isStickyScroll),this.stickyScrollController?.onContextMenu??Q.None)}get onPointer(){return Q.map(this.view.onPointer,Om)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Q.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??Ir.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){return this.findController?.matchType??kc.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,n,o={}){this._user=e,this._options=o,this.eventBufferer=new xg,this.onDidChangeFindOpenState=Q.None,this.onDidChangeStickyScrollFocused=Q.None,this.disposables=new ae,this._onWillRefilter=new A,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new A,this.treeDelegate=new fx(i);const r=new SD,a=new SD,l=this.disposables.add(new Cq(a.event)),c=new _R;this.renderers=n.map(g=>new YS(g,()=>this.model,r.event,l,c,o));for(const g of this.renderers)this.disposables.add(g);let h;o.keyboardNavigationLabelProvider&&(h=new wq(this,o.keyboardNavigationLabelProvider,o.filter),o={...o,filter:h},this.disposables.add(h)),this.focus=new _C(()=>this.view.getFocusedElements()[0],o.identityProvider),this.selection=new _C(()=>this.view.getSelectedElements()[0],o.identityProvider),this.anchor=new _C(()=>this.view.getAnchorElement(),o.identityProvider),this.view=new Iq(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...bq(()=>this.model,o),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,o),r.input=this.model.onDidChangeCollapseState;const d=Q.forEach(this.model.onDidSplice,g=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(g),this.selection.onDidModelSplice(g)})},this.disposables);d(()=>null,null,this.disposables);const u=this.disposables.add(new A),f=this.disposables.add(new Ng(0));if(this.disposables.add(Q.any(d,this.focus.onDidChange,this.selection.onDidChange)(()=>{f.trigger(()=>{const g=new Set;for(const m of this.focus.getNodes())g.add(m);for(const m of this.selection.getNodes())g.add(m);u.fire([...g.values()])})})),a.input=u.event,o.keyboardSupport!==!1){const g=Q.chain(this.view.onKeyDown,m=>m.filter(_=>!Pa(_.target)).map(_=>new vt(_)));Q.chain(g,m=>m.filter(_=>_.keyCode===15))(this.onLeftArrow,this,this.disposables),Q.chain(g,m=>m.filter(_=>_.keyCode===17))(this.onRightArrow,this,this.disposables),Q.chain(g,m=>m.filter(_=>_.keyCode===10))(this.onSpace,this,this.disposables)}if((o.findWidgetEnabled??!0)&&o.keyboardNavigationLabelProvider&&o.contextViewProvider){const g=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new vq(this,this.model,this.view,h,o.contextViewProvider,g),this.focusNavigationFilter=m=>this.findController.shouldAllowFocus(m),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=Q.None,this.onDidChangeFindMatchType=Q.None;o.enableStickyScroll&&(this.stickyScrollController=new ZI(this,this.model,this.view,this.renderers,this.treeDelegate,o),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=Yn(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===Nd.Always)}updateOptions(e={}){this._options={...this._options,...e};for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),this.findController?.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===Nd.Always)}get options(){return this._options}updateStickyScroll(e){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new ZI(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=Q.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){this.view.layout(e,t),Ad(t)&&this.findController?.layout(t)}style(e){const t=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),i.push(`.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`));const n=e.treeStickyScrollBackground??e.listBackground;n&&(i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${n}; }`),i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${n}; }`)),e.treeStickyScrollBorder&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${e.treeStickyScrollBorder}; }`),e.treeStickyScrollShadow&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${e.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),e.listFocusForeground&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const o=Pr(e.listFocusAndSelectionOutline,Pr(e.listSelectionOutline,e.listFocusOutline??""));o&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=i.join(` `),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(o=>this.model.getNode(o));this.selection.set(i,t);const n=e.map(o=>this.model.getListIndex(o)).filter(o=>o>-1);this.view.setSelection(n,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(o=>this.model.getNode(o));this.focus.set(i,t);const n=e.map(o=>this.model.getListIndex(o)).filter(o=>o>-1);this.view.setFocus(n,t,!0)})}focusNext(e=1,t=!1,i,n=pr(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,n)}focusPrevious(e=1,t=!1,i,n=pr(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,n)}focusNextPage(e,t=pr(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=pr(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>this.stickyScrollController?.height??0)}focusLast(e,t=pr(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(e,t)}focusFirst(e,t=pr(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const n=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,n)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!0)){const r=this.model.getParentNodeLocation(n);if(!r)return;const a=this.model.getListIndex(r);this.view.reveal(a),this.view.setFocus([a])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!1)){if(!i.children.some(l=>l.visible))return;const[r]=this.view.getFocus(),a=r+1;this.view.reveal(a),this.view.setFocus([a])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i),o=e.browserEvent.altKey;this.model.setCollapsed(n,void 0,o)}dispose(){wi(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}class gx{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new mq(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare(n,o){return i.sorter.compare(n.element,o.element)}}),this.identityProvider=i.identityProvider}setChildren(e,t=Ge.empty(),i={}){const n=this.getElementLocation(e);this._setChildren(n,this.preserveCollapseState(t),i)}_setChildren(e,t=Ge.empty(),i){const n=new Set,o=new Set,r=l=>{if(l.element===null)return;const c=l;if(n.add(c.element),this.nodes.set(c.element,c),this.identityProvider){const h=this.identityProvider.getId(c.element).toString();o.add(h),this.nodesByIdentity.set(h,c)}i.onDidCreateNode?.(c)},a=l=>{if(l.element===null)return;const c=l;if(n.has(c.element)||this.nodes.delete(c.element),this.identityProvider){const h=this.identityProvider.getId(c.element).toString();o.has(h)||this.nodesByIdentity.delete(h)}i.onDidDeleteNode?.(c)};this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:r,onDidDeleteNode:a})}preserveCollapseState(e=Ge.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Ge.map(e,t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const r=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(r)}if(!i){let r;return typeof t.collapsed>"u"?r=void 0:t.collapsed===Wn.Collapsed||t.collapsed===Wn.PreserveOrCollapsed?r=!0:t.collapsed===Wn.Expanded||t.collapsed===Wn.PreserveOrExpanded?r=!1:r=!!t.collapsed,{...t,children:this.preserveCollapseState(t.children),collapsed:r}}const n=typeof t.collapsible=="boolean"?t.collapsible:i.collapsible;let o;return typeof t.collapsed>"u"||t.collapsed===Wn.PreserveOrCollapsed||t.collapsed===Wn.PreserveOrExpanded?o=i.collapsed:t.collapsed===Wn.Collapsed?o=!0:t.collapsed===Wn.Expanded?o=!1:o=!!t.collapsed,{...t,collapsible:n,collapsed:o,children:this.preserveCollapseState(t.children)}})}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getElementLocation(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new Un(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new Un(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new Un(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),n=this.model.getParentNodeLocation(i);return this.model.getNode(n).element}getElementLocation(e){if(e===null)return[];const t=this.nodes.get(e);if(!t)throw new Un(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function mp(s){const e=[s.element],t=s.incompressible||!1;return{element:{elements:e,incompressible:t},children:Ge.map(Ge.from(s.children),mp),collapsible:s.collapsible,collapsed:s.collapsed}}function pp(s){const e=[s.element],t=s.incompressible||!1;let i,n;for(;[n,i]=Ge.consume(Ge.from(s.children),2),!(n.length!==1||n[0].incompressible);)s=n[0],e.push(s.element);return{element:{elements:e,incompressible:t},children:Ge.map(Ge.concat(n,i),pp),collapsible:s.collapsible,collapsed:s.collapsed}}function QS(s,e=0){let t;return eQS(i,0)),e===0&&s.element.incompressible?{element:s.element.elements[e],children:t,incompressible:!0,collapsible:s.collapsible,collapsed:s.collapsed}:{element:s.element.elements[e],children:t,collapsible:s.collapsible,collapsed:s.collapsed}}function YI(s){return QS(s,0)}function z4(s,e,t){return s.element===e?{...s,children:t}:{...s,children:Ge.map(Ge.from(s.children),i=>z4(i,e,t))}}const Nq=s=>({getId(e){return e.elements.map(t=>s.getId(t).toString()).join("\0")}});class Tq{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new gx(e,t,i),this.enabled=typeof i.compressionEnabled>"u"?!0:i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=Ge.empty(),i){const n=i.diffIdentityProvider&&Nq(i.diffIdentityProvider);if(e===null){const g=Ge.map(t,this.enabled?pp:mp);this._setChildren(null,g,{diffIdentityProvider:n,diffDepth:1/0});return}const o=this.nodes.get(e);if(!o)throw new Un(this.user,"Unknown compressed tree node");const r=this.model.getNode(o),a=this.model.getParentNodeLocation(o),l=this.model.getNode(a),c=YI(r),h=z4(c,e,t),d=(this.enabled?pp:mp)(h),u=i.diffIdentityProvider?(g,m)=>i.diffIdentityProvider.getId(g)===i.diffIdentityProvider.getId(m):void 0;if(ii(d.element.elements,r.element.elements,u)){this._setChildren(o,d.children||Ge.empty(),{diffIdentityProvider:n,diffDepth:1});return}const f=l.children.map(g=>g===r?d:g);this._setChildren(l.element,f,{diffIdentityProvider:n,diffDepth:r.depth-l.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const i=this.model.getNode().children,n=Ge.map(i,YI),o=Ge.map(n,e?pp:mp);this._setChildren(null,o,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const n=new Set,o=a=>{for(const l of a.element.elements)n.add(l),this.nodes.set(l,a.element)},r=a=>{for(const l of a.element.elements)n.has(l)||this.nodes.delete(l)};this.model.setChildren(e,t,{...i,onDidCreateNode:o,onDidDeleteNode:r})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(typeof e>"u")return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return i===null?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getCompressedNode(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(e===null)return null;const t=this.nodes.get(e);if(!t)throw new Un(this.user,`Tree element not found: ${e}`);return t}}const Mq=s=>s[s.length-1];class mx{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(e=>new mx(this.unwrapper,e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}function Rq(s,e){return{splice(t,i,n){e.splice(t,i,n.map(o=>s.map(o)))},updateElementHeight(t,i){e.updateElementHeight(t,i)}}}function Aq(s,e){return{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(s(t))}},sorter:e.sorter&&{compare(t,i){return e.sorter.compare(t.elements[0],i.elements[0])}},filter:e.filter&&{filter(t,i){return e.filter.filter(s(t),i)}}}}class Pq{get onDidSplice(){return Q.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(i=>this.nodeMapper.map(i)),deletedNodes:t.map(i=>this.nodeMapper.map(i))}))}get onDidChangeCollapseState(){return Q.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return Q.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||Mq;const n=o=>this.elementMapper(o.elements);this.nodeMapper=new dx(o=>new mx(n,o)),this.model=new Tq(e,Rq(this.nodeMapper,t),Aq(n,i))}setChildren(e,t=Ge.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return t===null||typeof t>"u"?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var Oq=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o};class px extends H4{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,n,o={}){super(e,t,i,n,o),this.user=e}setChildren(e,t=Ge.empty(),i){this.model.setChildren(e,t,i)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new gx(e,t,i)}}class U4{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){let o=this.stickyScrollDelegate.getCompressedNode(e);o||(o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),o.element.elements.length===1?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,n)):(i.compressedTreeNode=o,this.renderer.renderCompressedElements(o,t,i.data,n))}disposeElement(e,t,i,n){i.compressedTreeNode?this.renderer.disposeCompressedElements?.(i.compressedTreeNode,t,i.data,n):this.renderer.disposeElement?.(e,t,i.data,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?this.renderer.renderTwistie(e,t):!1}}Oq([Bt],U4.prototype,"compressedTreeNodeProvider",null);class Fq{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),e.length===0)return[];for(let n=0;ni||n>=t-1&&tthis,a=new Fq(()=>this.model),l=n.map(c=>new U4(r,a,c));super(e,t,i,l,{...Bq(r,o),stickyScrollDelegate:a})}setChildren(e,t=Ge.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new Pq(e,t,i)}updateOptions(e={}){super.updateOptions(e),typeof e.compressionEnabled<"u"&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function bC(s){return{...s,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function XS(s,e){return e.parent?e.parent===s?!0:XS(s,e.parent):!1}function Wq(s,e){return s===e||XS(s,e)||XS(e,s)}class _x{get element(){return this.node.element.element}get children(){return this.node.children.map(e=>new _x(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Vq{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...Ue.asClassNameArray(re.treeItemLoading)),!0):(t.classList.remove(...Ue.asClassNameArray(re.treeItemLoading)),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function QI(s){return{browserEvent:s.browserEvent,elements:s.elements.map(e=>e.element)}}function XI(s){return{browserEvent:s.browserEvent,element:s.element&&s.element.element,target:s.target}}class Hq extends Ug{constructor(e){super(e.elements.map(t=>t.element)),this.data=e}}function CC(s){return s instanceof Ug?new Hq(s):s}class zq{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){this.dnd.onDragStart?.(CC(e),t)}onDragOver(e,t,i,n,o,r=!0){return this.dnd.onDragOver(CC(e),t&&t.element,i,n,o)}drop(e,t,i,n,o){this.dnd.drop(CC(e),t&&t.element,i,n,o)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.dnd.dispose()}}function K4(s){return s&&{...s,collapseByDefault:!0,identityProvider:s.identityProvider&&{getId(e){return s.identityProvider.getId(e.element)}},dnd:s.dnd&&new zq(s.dnd),multipleSelectionController:s.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return s.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element})},isSelectionRangeChangeEvent(e){return s.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})}},accessibilityProvider:s.accessibilityProvider&&{...s.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:s.accessibilityProvider.getRole?e=>s.accessibilityProvider.getRole(e.element):()=>"treeitem",isChecked:s.accessibilityProvider.isChecked?e=>!!s.accessibilityProvider?.isChecked(e.element):void 0,getAriaLabel(e){return s.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return s.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:s.accessibilityProvider.getWidgetRole?()=>s.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:s.accessibilityProvider.getAriaLevel&&(e=>s.accessibilityProvider.getAriaLevel(e.element)),getActiveDescendantId:s.accessibilityProvider.getActiveDescendantId&&(e=>s.accessibilityProvider.getActiveDescendantId(e.element))},filter:s.filter&&{filter(e,t){return s.filter.filter(e.element,t)}},keyboardNavigationLabelProvider:s.keyboardNavigationLabelProvider&&{...s.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(e){return s.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof s.expandOnlyOnTwistieClick>"u"?void 0:typeof s.expandOnlyOnTwistieClick!="function"?s.expandOnlyOnTwistieClick:e=>s.expandOnlyOnTwistieClick(e.element),defaultFindVisibility:e=>e.hasChildren&&e.stale?1:typeof s.defaultFindVisibility=="number"?s.defaultFindVisibility:typeof s.defaultFindVisibility>"u"?2:s.defaultFindVisibility(e.element)}}function JS(s,e){e(s),s.children.forEach(t=>JS(t,e))}class q4{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return Q.map(this.tree.onDidChangeFocus,QI)}get onDidChangeSelection(){return Q.map(this.tree.onDidChangeSelection,QI)}get onMouseDblClick(){return Q.map(this.tree.onMouseDblClick,XI)}get onPointer(){return Q.map(this.tree.onPointer,XI)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,n,o,r={}){this.user=e,this.dataSource=o,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new A,this._onDidChangeNodeSlowState=new A,this.nodeMapper=new dx(a=>new _x(a)),this.disposables=new ae,this.identityProvider=r.identityProvider,this.autoExpandSingleChildren=typeof r.autoExpandSingleChildren>"u"?!1:r.autoExpandSingleChildren,this.sorter=r.sorter,this.getDefaultCollapseState=a=>r.collapseByDefault?r.collapseByDefault(a)?Wn.PreserveOrCollapsed:Wn.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,n,r),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=bC({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,n,o){const r=new fx(i),a=n.map(c=>new Vq(c,this.nodeMapper,this._onDidChangeNodeSlowState.event)),l=K4(o)||{};return new px(e,t,r,a,l)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach(n=>n.cancel()),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&typeof t.scrollTop=="number"&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,n,o){if(typeof this.root.element>"u")throw new Un(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Q.toPromise(this._onDidRender.event));const r=this.getDataNode(e);if(await this.refreshAndRenderNode(r,t,n,o),i)try{this.tree.rerender(r)}catch{}}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(typeof this.root.element>"u")throw new Un(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Q.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i)||(i.refreshPromise&&(await this.root.refreshPromise,await Q.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i)))return!1;const n=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await Q.toPromise(this._onDidRender.event)),n}setSelection(e,t){const i=e.map(n=>this.getDataNode(n));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map(t=>t.element)}setFocus(e,t){const i=e.map(n=>this.getDataNode(n));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map(t=>t.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new Un(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,i,n){await this.refreshNode(e,t,i),!this.disposables.isDisposed&&this.render(e,i,n)}async refreshNode(e,t,i){let n;if(this.subTreeRefreshPromises.forEach((o,r)=>{!n&&Wq(r,e)&&(n=o.then(()=>this.refreshNode(e,t,i)))}),n)return n;if(e!==this.root&&this.tree.getNode(e).collapsed){e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,this.setChildren(e,[],t,i);return}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let n;e.refreshPromise=new Promise(o=>n=o),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{const o=await this.doRefreshNode(e,t,i);e.stale=!1,await Yw.settled(o.map(r=>this.doRefreshSubTree(r,t,i)))}finally{n()}}async doRefreshNode(e,t,i){e.hasChildren=!!this.dataSource.hasChildren(e.element);let n;if(!e.hasChildren)n=Promise.resolve(Ge.empty());else{const o=this.doGetChildren(e);if(pD(o))n=Promise.resolve(o);else{const r=Ff(800);r.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},a=>null),n=o.finally(()=>r.cancel())}}try{const o=await n;return this.setChildren(e,o,t,i)}catch(o){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),kg(o))return[];throw o}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return pD(i)?this.processChildren(i):(t=yM(async()=>this.processChildren(await i)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(ut))}setChildren(e,t,i,n){const o=[...t];if(e.children.length===0&&o.length===0)return[];const r=new Map,a=new Map;for(const h of e.children)r.set(h.element,h),this.identityProvider&&a.set(h.id,{node:h,collapsed:this.tree.hasElement(h)&&this.tree.isCollapsed(h)});const l=[],c=o.map(h=>{const d=!!this.dataSource.hasChildren(h);if(!this.identityProvider){const m=bC({element:h,parent:e,hasChildren:d,defaultCollapseState:this.getDefaultCollapseState(h)});return d&&m.defaultCollapseState===Wn.PreserveOrExpanded&&l.push(m),m}const u=this.identityProvider.getId(h).toString(),f=a.get(u);if(f){const m=f.node;return r.delete(m.element),this.nodes.delete(m.element),this.nodes.set(h,m),m.element=h,m.hasChildren=d,i?f.collapsed?(m.children.forEach(_=>JS(_,b=>this.nodes.delete(b.element))),m.children.splice(0,m.children.length),m.stale=!0):l.push(m):d&&!f.collapsed&&l.push(m),m}const g=bC({element:h,parent:e,id:u,hasChildren:d,defaultCollapseState:this.getDefaultCollapseState(h)});return n&&n.viewState.focus&&n.viewState.focus.indexOf(u)>-1&&n.focus.push(g),n&&n.viewState.selection&&n.viewState.selection.indexOf(u)>-1&&n.selection.push(g),(n&&n.viewState.expanded&&n.viewState.expanded.indexOf(u)>-1||d&&g.defaultCollapseState===Wn.PreserveOrExpanded)&&l.push(g),g});for(const h of r.values())JS(h,d=>this.nodes.delete(d.element));for(const h of c)this.nodes.set(h.element,h);return e.children.splice(0,e.children.length,...c),e!==this.root&&this.autoExpandSingleChildren&&c.length===1&&l.length===0&&(c[0].forceExpanded=!0,l.push(c[0])),l}render(e,t,i){const n=e.children.map(r=>this.asTreeElement(r,t)),o=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId(r){return i.diffIdentityProvider.getId(r.element)}}};this.tree.setChildren(e===this.root?null:e,n,o),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?Ge.map(e.children,n=>this.asTreeElement(n,t)):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class bx{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(e=>new bx(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Uq{constructor(e,t,i,n){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderCompressedElements(e,t,i,n){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...Ue.asClassNameArray(re.treeItemLoading)),!0):(t.classList.remove(...Ue.asClassNameArray(re.treeItemLoading)),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,n)}disposeCompressedElements(e,t,i,n){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=wi(this.disposables)}}function $q(s){const e=s&&K4(s);return e&&{...e,keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(t){return s.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(i=>i.element))}}}}class Kq extends q4{constructor(e,t,i,n,o,r,a={}){super(e,t,i,o,r,a),this.compressionDelegate=n,this.compressibleNodeMapper=new dx(l=>new bx(l)),this.filter=a.filter}createTree(e,t,i,n,o){const r=new fx(i),a=n.map(c=>new Uq(c,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),l=$q(o)||{};return new $4(e,t,r,a,l)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const n=f=>this.identityProvider.getId(f).toString(),o=f=>{const g=new Set;for(const m of f){const _=this.tree.getCompressedTreeNode(m===this.root?null:m);if(_.element)for(const b of _.element.elements)g.add(n(b.element))}return g},r=o(this.tree.getSelection()),a=o(this.tree.getFocus());super.render(e,t,i);const l=this.getSelection();let c=!1;const h=this.getFocus();let d=!1;const u=f=>{const g=f.element;if(g)for(let m=0;m{const i=this.filter.filter(t,1),n=qq(i);if(n===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return n===1})),super.processChildren(e)}}function qq(s){return typeof s=="boolean"?s?1:0:ux(s)?sg(s.visibility):sg(s)}class jq extends H4{constructor(e,t,i,n,o,r={}){super(e,t,i,n,r),this.user=e,this.dataSource=o,this.identityProvider=r.identityProvider}createModel(e,t,i){return new gx(e,t,i)}}new he("isMac",Ve,p("isMac","Whether the operating system is macOS"));new he("isLinux",mn,p("isLinux","Whether the operating system is Linux"));const pne=new he("isWindows",gn,p("isWindows","Whether the operating system is Windows")),_ne=new he("isWeb",Pd,p("isWeb","Whether the platform is a web browser"));new he("isMacNative",Ve&&!Pd,p("isMacNative","Whether the operating system is macOS on a non-browser platform"));new he("isIOS",Fa,p("isIOS","Whether the operating system is iOS"));new he("isMobile",KT,p("isMobile","Whether the platform is a mobile web browser"));new he("isDevelopment",!1,!0);new he("productQualityType","",p("productQualityType","Quality type of VS Code"));const j4="inputFocus",Gq=new he(j4,!1,p("inputFocus","Whether keyboard focus is inside an input box"));var Qr=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},bt=function(s,e){return function(t,i){e(t,i,s)}};const Go=Be("listService");class Zq{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new ae,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){e!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,this._lastFocusedWidget?.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new QA(Yn(),"").style($d)),this.lists.some(n=>n.widget===e))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),JL(e.getHTMLElement())&&this.setLastFocusedList(e),Oo(e.onDidFocus(()=>this.setLastFocusedList(e)),ve(()=>this.lists.splice(this.lists.indexOf(i),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(n=>n!==i),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}const og=new he("listScrollAtBoundary","none");$e.or(og.isEqualTo("top"),og.isEqualTo("both"));$e.or(og.isEqualTo("bottom"),og.isEqualTo("both"));const G4=new he("listFocus",!0),Z4=new he("treestickyScrollFocused",!1),Yb=new he("listSupportsMultiselect",!0),bne=$e.and(G4,$e.not(j4),Z4.negate()),Cx=new he("listHasSelectionOrFocus",!1),wx=new he("listDoubleSelection",!1),vx=new he("listMultiSelection",!1),Qb=new he("listSelectionNavigation",!1),Yq=new he("listSupportsFind",!0),Qq=new he("treeElementCanCollapse",!1),Xq=new he("treeElementHasParent",!1),Jq=new he("treeElementCanExpand",!1),ej=new he("treeElementHasChild",!1),tj=new he("treeFindOpen",!1),Y4="listTypeNavigationMode",Q4="listAutomaticKeyboardNavigation";function Xb(s,e){const t=s.createScoped(e.getHTMLElement());return G4.bindTo(t),t}function Jb(s,e){const t=og.bindTo(s),i=()=>{const n=e.scrollTop===0,o=e.scrollHeight-e.renderHeight-e.scrollTop<1;n&&o?t.set("both"):n?t.set("top"):o?t.set("bottom"):t.set("none")};return i(),e.onDidScroll(i)}const zc="workbench.list.multiSelectModifier",_p="workbench.list.openMode",gs="workbench.list.horizontalScrolling",Sx="workbench.list.defaultFindMode",yx="workbench.list.typeNavigationMode",M_="workbench.list.keyboardNavigation",so="workbench.list.scrollByPage",Lx="workbench.list.defaultFindMatchType",rg="workbench.tree.indent",R_="workbench.tree.renderIndentGuides",oo="workbench.list.smoothScrolling",zo="workbench.list.mouseWheelScrollSensitivity",Uo="workbench.list.fastScrollSensitivity",A_="workbench.tree.expandMode",P_="workbench.tree.enableStickyScroll",O_="workbench.tree.stickyScrollMaxItemCount";function $o(s){return s.getValue(zc)==="alt"}class ij extends K{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=$o(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(zc)&&(this.useAltAsMultipleSelectionModifier=$o(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:GA(e)}isSelectionRangeChangeEvent(e){return ZA(e)}}function e0(s,e){const t=s.get(Ft),i=s.get(Ti),n=new ae;return[{...e,keyboardNavigationDelegate:{mightProducePrintableCharacter(r){return i.mightProducePrintableCharacter(r)}},smoothScrolling:!!t.getValue(oo),mouseWheelScrollSensitivity:t.getValue(zo),fastScrollSensitivity:t.getValue(Uo),multipleSelectionController:e.multipleSelectionController??n.add(new ij(t)),keyboardNavigationEventFilter:oj(i),scrollByPage:!!t.getValue(so)},n]}let JI=class extends ho{constructor(e,t,i,n,o,r,a,l,c){const h=typeof o.horizontalScrolling<"u"?o.horizontalScrolling:!!l.getValue(gs),[d,u]=c.invokeFunction(e0,o);super(e,t,i,n,{keyboardSupport:!1,...d,horizontalScrolling:h}),this.disposables.add(u),this.contextKeyService=Xb(r,this),this.disposables.add(Jb(this.contextKeyService,this)),this.listSupportsMultiSelect=Yb.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(o.multipleSelectionSupport!==!1),Qb.bindTo(this.contextKeyService).set(!!o.selectionNavigation),this.listHasSelectionOrFocus=Cx.bindTo(this.contextKeyService),this.listDoubleSelection=wx.bindTo(this.contextKeyService),this.listMultiSelection=vx.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=$o(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const g=this.getSelection(),m=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(g.length>0||m.length>0),this.listMultiSelection.set(g.length>1),this.listDoubleSelection.set(g.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const g=this.getSelection(),m=this.getFocus();this.listHasSelectionOrFocus.set(g.length>0||m.length>0)})),this.disposables.add(l.onDidChangeConfiguration(g=>{g.affectsConfiguration(zc)&&(this._useAltAsMultipleSelectionModifier=$o(l));let m={};if(g.affectsConfiguration(gs)&&this.horizontalScrolling===void 0){const _=!!l.getValue(gs);m={...m,horizontalScrolling:_}}if(g.affectsConfiguration(so)){const _=!!l.getValue(so);m={...m,scrollByPage:_}}if(g.affectsConfiguration(oo)){const _=!!l.getValue(oo);m={...m,smoothScrolling:_}}if(g.affectsConfiguration(zo)){const _=l.getValue(zo);m={...m,mouseWheelScrollSensitivity:_}}if(g.affectsConfiguration(Uo)){const _=l.getValue(Uo);m={...m,fastScrollSensitivity:_}}Object.keys(m).length>0&&this.updateOptions(m)})),this.navigator=new X4(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Kg(e):$d)}};JI=Qr([bt(5,Xe),bt(6,Go),bt(7,Ft),bt(8,Qe)],JI);let eN=class extends nq{constructor(e,t,i,n,o,r,a,l,c){const h=typeof o.horizontalScrolling<"u"?o.horizontalScrolling:!!l.getValue(gs),[d,u]=c.invokeFunction(e0,o);super(e,t,i,n,{keyboardSupport:!1,...d,horizontalScrolling:h}),this.disposables=new ae,this.disposables.add(u),this.contextKeyService=Xb(r,this),this.disposables.add(Jb(this.contextKeyService,this.widget)),this.horizontalScrolling=o.horizontalScrolling,this.listSupportsMultiSelect=Yb.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(o.multipleSelectionSupport!==!1),Qb.bindTo(this.contextKeyService).set(!!o.selectionNavigation),this._useAltAsMultipleSelectionModifier=$o(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(l.onDidChangeConfiguration(g=>{g.affectsConfiguration(zc)&&(this._useAltAsMultipleSelectionModifier=$o(l));let m={};if(g.affectsConfiguration(gs)&&this.horizontalScrolling===void 0){const _=!!l.getValue(gs);m={...m,horizontalScrolling:_}}if(g.affectsConfiguration(so)){const _=!!l.getValue(so);m={...m,scrollByPage:_}}if(g.affectsConfiguration(oo)){const _=!!l.getValue(oo);m={...m,smoothScrolling:_}}if(g.affectsConfiguration(zo)){const _=l.getValue(zo);m={...m,mouseWheelScrollSensitivity:_}}if(g.affectsConfiguration(Uo)){const _=l.getValue(Uo);m={...m,fastScrollSensitivity:_}}Object.keys(m).length>0&&this.updateOptions(m)})),this.navigator=new X4(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Kg(e):$d)}dispose(){this.disposables.dispose(),super.dispose()}};eN=Qr([bt(5,Xe),bt(6,Go),bt(7,Ft),bt(8,Qe)],eN);let tN=class extends ZS{constructor(e,t,i,n,o,r,a,l,c,h){const d=typeof r.horizontalScrolling<"u"?r.horizontalScrolling:!!c.getValue(gs),[u,f]=h.invokeFunction(e0,r);super(e,t,i,n,o,{keyboardSupport:!1,...u,horizontalScrolling:d}),this.disposables.add(f),this.contextKeyService=Xb(a,this),this.disposables.add(Jb(this.contextKeyService,this)),this.listSupportsMultiSelect=Yb.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(r.multipleSelectionSupport!==!1),Qb.bindTo(this.contextKeyService).set(!!r.selectionNavigation),this.listHasSelectionOrFocus=Cx.bindTo(this.contextKeyService),this.listDoubleSelection=wx.bindTo(this.contextKeyService),this.listMultiSelection=vx.bindTo(this.contextKeyService),this.horizontalScrolling=r.horizontalScrolling,this._useAltAsMultipleSelectionModifier=$o(c),this.disposables.add(this.contextKeyService),this.disposables.add(l.register(this)),this.updateStyles(r.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const m=this.getSelection(),_=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(m.length>0||_.length>0),this.listMultiSelection.set(m.length>1),this.listDoubleSelection.set(m.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const m=this.getSelection(),_=this.getFocus();this.listHasSelectionOrFocus.set(m.length>0||_.length>0)})),this.disposables.add(c.onDidChangeConfiguration(m=>{m.affectsConfiguration(zc)&&(this._useAltAsMultipleSelectionModifier=$o(c));let _={};if(m.affectsConfiguration(gs)&&this.horizontalScrolling===void 0){const b=!!c.getValue(gs);_={..._,horizontalScrolling:b}}if(m.affectsConfiguration(so)){const b=!!c.getValue(so);_={..._,scrollByPage:b}}if(m.affectsConfiguration(oo)){const b=!!c.getValue(oo);_={..._,smoothScrolling:b}}if(m.affectsConfiguration(zo)){const b=c.getValue(zo);_={..._,mouseWheelScrollSensitivity:b}}if(m.affectsConfiguration(Uo)){const b=c.getValue(Uo);_={..._,fastScrollSensitivity:b}}Object.keys(_).length>0&&this.updateOptions(_)})),this.navigator=new nj(this,{configurationService:c,...r}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Kg(e):$d)}dispose(){this.disposables.dispose(),super.dispose()}};tN=Qr([bt(6,Xe),bt(7,Go),bt(8,Ft),bt(9,Qe)],tN);class kx extends K{constructor(e,t){super(),this.widget=e,this._onDidOpen=this._register(new A),this.onDidOpen=this._onDidOpen.event,this._register(Q.filter(this.widget.onDidChangeSelection,i=>pr(i.browserEvent))(i=>this.onSelectionFromKeyboard(i))),this._register(this.widget.onPointer(i=>this.onPointer(i.element,i.browserEvent))),this._register(this.widget.onMouseDblClick(i=>this.onMouseDblClick(i.element,i.browserEvent))),typeof t?.openOnSingleClick!="boolean"&&t?.configurationService?(this.openOnSingleClick=t?.configurationService.getValue(_p)!=="doubleClick",this._register(t?.configurationService.onDidChangeConfiguration(i=>{i.affectsConfiguration(_p)&&(this.openOnSingleClick=t?.configurationService.getValue(_p)!=="doubleClick")}))):this.openOnSingleClick=t?.openOnSingleClick??!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;const t=e.browserEvent,i=typeof t.preserveFocus=="boolean"?t.preserveFocus:!0,n=typeof t.pinned=="boolean"?t.pinned:!i;this._open(this.getSelectedElement(),i,n,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;const n=t.button===1,o=!0,r=n,a=t.ctrlKey||t.metaKey||t.altKey;this._open(e,o,r,a,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const o=!1,r=!0,a=t.ctrlKey||t.metaKey||t.altKey;this._open(e,o,r,a,t)}_open(e,t,i,n,o){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:n,element:e,browserEvent:o})}}class X4 extends kx{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class nj extends kx{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class sj extends kx{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function oj(s){let e=!1;return t=>{if(t.toKeyCodeChord().isModifierKey())return!1;if(e)return e=!1,!1;const i=s.softDispatch(t,t.target);return i.kind===1?(e=!0,!1):(e=!1,i.kind===0)}}let ey=class extends px{constructor(e,t,i,n,o,r,a,l,c){const{options:h,getTypeNavigationMode:d,disposable:u}=r.invokeFunction(Gg,o);super(e,t,i,n,h),this.disposables.add(u),this.internals=new xc(this,o,d,o.overrideStyles,a,l,c),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};ey=Qr([bt(5,Qe),bt(6,Xe),bt(7,Go),bt(8,Ft)],ey);let iN=class extends $4{constructor(e,t,i,n,o,r,a,l,c){const{options:h,getTypeNavigationMode:d,disposable:u}=r.invokeFunction(Gg,o);super(e,t,i,n,h),this.disposables.add(u),this.internals=new xc(this,o,d,o.overrideStyles,a,l,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};iN=Qr([bt(5,Qe),bt(6,Xe),bt(7,Go),bt(8,Ft)],iN);let nN=class extends jq{constructor(e,t,i,n,o,r,a,l,c,h){const{options:d,getTypeNavigationMode:u,disposable:f}=a.invokeFunction(Gg,r);super(e,t,i,n,o,d),this.disposables.add(f),this.internals=new xc(this,r,u,r.overrideStyles,l,c,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles!==void 0&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};nN=Qr([bt(6,Qe),bt(7,Xe),bt(8,Go),bt(9,Ft)],nN);let sN=class extends q4{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,n,o,r,a,l,c,h){const{options:d,getTypeNavigationMode:u,disposable:f}=a.invokeFunction(Gg,r);super(e,t,i,n,o,d),this.disposables.add(f),this.internals=new xc(this,r,u,r.overrideStyles,l,c,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};sN=Qr([bt(6,Qe),bt(7,Xe),bt(8,Go),bt(9,Ft)],sN);let oN=class extends Kq{constructor(e,t,i,n,o,r,a,l,c,h,d){const{options:u,getTypeNavigationMode:f,disposable:g}=l.invokeFunction(Gg,a);super(e,t,i,n,o,r,u),this.disposables.add(g),this.internals=new xc(this,a,f,a.overrideStyles,c,h,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};oN=Qr([bt(7,Qe),bt(8,Xe),bt(9,Go),bt(10,Ft)],oN);function J4(s){const e=s.getValue(Sx);if(e==="highlight")return Ir.Highlight;if(e==="filter")return Ir.Filter;const t=s.getValue(M_);if(t==="simple"||t==="highlight")return Ir.Highlight;if(t==="filter")return Ir.Filter}function eP(s){const e=s.getValue(Lx);if(e==="fuzzy")return kc.Fuzzy;if(e==="contiguous")return kc.Contiguous}function Gg(s,e){const t=s.get(Ft),i=s.get(Wg),n=s.get(Xe),o=s.get(Qe),r=()=>{const u=n.getContextKeyValue(Y4);if(u==="automatic")return Mo.Automatic;if(u==="trigger"||n.getContextKeyValue(Q4)===!1)return Mo.Trigger;const g=t.getValue(yx);if(g==="automatic")return Mo.Automatic;if(g==="trigger")return Mo.Trigger},a=e.horizontalScrolling!==void 0?e.horizontalScrolling:!!t.getValue(gs),[l,c]=o.invokeFunction(e0,e),h=e.paddingBottom,d=e.renderIndentGuides!==void 0?e.renderIndentGuides:t.getValue(R_);return{getTypeNavigationMode:r,disposable:c,options:{keyboardSupport:!1,...l,indent:typeof t.getValue(rg)=="number"?t.getValue(rg):void 0,renderIndentGuides:d,smoothScrolling:!!t.getValue(oo),defaultFindMode:J4(t),defaultFindMatchType:eP(t),horizontalScrolling:a,scrollByPage:!!t.getValue(so),paddingBottom:h,hideTwistiesOfChildlessElements:e.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:e.expandOnlyOnTwistieClick??t.getValue(A_)==="doubleClick",contextViewProvider:i,findWidgetStyles:Gz,enableStickyScroll:!!t.getValue(P_),stickyScrollMaxItemCount:Number(t.getValue(O_))}}}let xc=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,n,o,r,a){this.tree=e,this.disposables=[],this.contextKeyService=Xb(o,e),this.disposables.push(Jb(this.contextKeyService,e)),this.listSupportsMultiSelect=Yb.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),Qb.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.listSupportFindWidget=Yq.bindTo(this.contextKeyService),this.listSupportFindWidget.set(t.findWidgetEnabled??!0),this.hasSelectionOrFocus=Cx.bindTo(this.contextKeyService),this.hasDoubleSelection=wx.bindTo(this.contextKeyService),this.hasMultiSelection=vx.bindTo(this.contextKeyService),this.treeElementCanCollapse=Qq.bindTo(this.contextKeyService),this.treeElementHasParent=Xq.bindTo(this.contextKeyService),this.treeElementCanExpand=Jq.bindTo(this.contextKeyService),this.treeElementHasChild=ej.bindTo(this.contextKeyService),this.treeFindOpen=tj.bindTo(this.contextKeyService),this.treeStickyScrollFocused=Z4.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=$o(a),this.updateStyleOverrides(n);const c=()=>{const d=e.getFocus()[0];if(!d)return;const u=e.getNode(d);this.treeElementCanCollapse.set(u.collapsible&&!u.collapsed),this.treeElementHasParent.set(!!e.getParentElement(d)),this.treeElementCanExpand.set(u.collapsible&&u.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(d))},h=new Set;h.add(Y4),h.add(Q4),this.disposables.push(this.contextKeyService,r.register(e),e.onDidChangeSelection(()=>{const d=e.getSelection(),u=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(d.length>0||u.length>0),this.hasMultiSelection.set(d.length>1),this.hasDoubleSelection.set(d.length===2)})}),e.onDidChangeFocus(()=>{const d=e.getSelection(),u=e.getFocus();this.hasSelectionOrFocus.set(d.length>0||u.length>0),c()}),e.onDidChangeCollapseState(c),e.onDidChangeModel(c),e.onDidChangeFindOpenState(d=>this.treeFindOpen.set(d)),e.onDidChangeStickyScrollFocused(d=>this.treeStickyScrollFocused.set(d)),a.onDidChangeConfiguration(d=>{let u={};if(d.affectsConfiguration(zc)&&(this._useAltAsMultipleSelectionModifier=$o(a)),d.affectsConfiguration(rg)){const f=a.getValue(rg);u={...u,indent:f}}if(d.affectsConfiguration(R_)&&t.renderIndentGuides===void 0){const f=a.getValue(R_);u={...u,renderIndentGuides:f}}if(d.affectsConfiguration(oo)){const f=!!a.getValue(oo);u={...u,smoothScrolling:f}}if(d.affectsConfiguration(Sx)||d.affectsConfiguration(M_)){const f=J4(a);u={...u,defaultFindMode:f}}if(d.affectsConfiguration(yx)||d.affectsConfiguration(M_)){const f=i();u={...u,typeNavigationMode:f}}if(d.affectsConfiguration(Lx)){const f=eP(a);u={...u,defaultFindMatchType:f}}if(d.affectsConfiguration(gs)&&t.horizontalScrolling===void 0){const f=!!a.getValue(gs);u={...u,horizontalScrolling:f}}if(d.affectsConfiguration(so)){const f=!!a.getValue(so);u={...u,scrollByPage:f}}if(d.affectsConfiguration(A_)&&t.expandOnlyOnTwistieClick===void 0&&(u={...u,expandOnlyOnTwistieClick:a.getValue(A_)==="doubleClick"}),d.affectsConfiguration(P_)){const f=a.getValue(P_);u={...u,enableStickyScroll:f}}if(d.affectsConfiguration(O_)){const f=Math.max(1,a.getValue(O_));u={...u,stickyScrollMaxItemCount:f}}if(d.affectsConfiguration(zo)){const f=a.getValue(zo);u={...u,mouseWheelScrollSensitivity:f}}if(d.affectsConfiguration(Uo)){const f=a.getValue(Uo);u={...u,fastScrollSensitivity:f}}Object.keys(u).length>0&&e.updateOptions(u)}),this.contextKeyService.onDidChangeContext(d=>{d.affectsSome(h)&&e.updateOptions({typeNavigationMode:i()})})),this.navigator=new sj(e,{configurationService:a,...t}),this.disposables.push(this.navigator)}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?Kg(e):$d)}dispose(){this.disposables=wi(this.disposables)}};xc=Qr([bt(4,Xe),bt(5,Go),bt(6,Ft)],xc);const rj=Si.as(Bc.Configuration);rj.registerConfiguration({id:"workbench",order:7,title:p("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[zc]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[p("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),p("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:p({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[_p]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:p({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[gs]:{type:"boolean",default:!1,description:p("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[so]:{type:"boolean",default:!1,description:p("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[rg]:{type:"number",default:8,minimum:4,maximum:40,description:p("tree indent setting","Controls tree indentation in pixels.")},[R_]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:p("render tree indent guides","Controls whether the tree should render indent guides.")},[oo]:{type:"boolean",default:!1,description:p("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[zo]:{type:"number",default:1,markdownDescription:p("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[Uo]:{type:"number",default:5,markdownDescription:p("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[Sx]:{type:"string",enum:["highlight","filter"],enumDescriptions:[p("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),p("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:p("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[M_]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[p("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),p("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),p("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:p("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:p("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")},[Lx]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[p("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),p("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:p("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[A_]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:p("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[P_]:{type:"boolean",default:!0,description:p("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[O_]:{type:"number",minimum:1,default:7,markdownDescription:p("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[yx]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:p("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class nc extends K{constructor(e,t){super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=t?.supportIcons??!1,this.domNode=le(e,pe("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",n){e||(e=""),n&&(e=nc.escapeNewLines(e,t)),!(this.didEverRender&&this.text===e&&this.title===i&&En(this.highlights,t))&&(this.text=e,this.title=i,this.highlights=t,this.render())}render(){const e=[];let t=0;for(const i of this.highlights){if(i.end===i.start)continue;if(t{n=o===`\r `?-1:0,r+=i;for(const a of t)a.end<=r||(a.start>=r&&(a.start+=n),a.end>=r&&(a.end+=n));return i+=n,"⏎"})}}class bu{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||En(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class rN extends K{constructor(e,t){super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new bu(le(e,pe(".monaco-icon-label")))),this.labelContainer=le(this.domNode.element,pe(".monaco-icon-label-container")),this.nameContainer=le(this.labelContainer,pe("span.monaco-icon-name-container")),t?.supportHighlights||t?.supportIcons?this.nameNode=this._register(new cj(this.nameContainer,!!t.supportIcons)):this.nameNode=new aj(this.nameContainer),this.hoverDelegate=t?.hoverDelegate??_s("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){const n=["monaco-icon-label"],o=["monaco-icon-label-container"];let r="";i&&(i.extraClasses&&n.push(...i.extraClasses),i.italic&&n.push("italic"),i.strikethrough&&n.push("strikethrough"),i.disabledCommand&&o.push("disabled"),i.title&&(typeof i.title=="string"?r+=i.title:r+=e));const a=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i?.iconPath){let l;!a||!ui(a)?(l=pe(".monaco-icon-label-iconpath"),this.domNode.element.prepend(l)):l=a,l.style.backgroundImage=Kr(i?.iconPath)}else a&&a.remove();if(this.domNode.classNames=n,this.domNode.element.setAttribute("aria-label",r),this.labelContainer.classList.value="",this.labelContainer.classList.add(...o),this.setupHover(i?.descriptionTitle?this.labelContainer:this.element,i?.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const l=this.getOrCreateDescriptionNode();l instanceof nc?(l.set(t||"",i?i.descriptionMatches:void 0,void 0,i?.labelEscapeNewLines),this.setupHover(l.element,i?.descriptionTitle)):(l.textContent=t&&i?.labelEscapeNewLines?nc.escapeNewLines(t,[]):t||"",this.setupHover(l.element,i?.descriptionTitle||""),l.empty=!t)}if(i?.suffix||this.suffixNode){const l=this.getOrCreateSuffixNode();l.textContent=i?.suffix??""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}if(this.hoverDelegate.showNativeHover)(function(o,r){qn(r)?o.title=xA(r):r?.markdownNotSupportedFallback?o.title=r.markdownNotSupportedFallback:o.removeAttribute("title")})(e,t);else{const n=jo().setupManagedHover(this.hoverDelegate,e,t);n&&this.customHovers.set(e,n)}}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new bu(z9(this.nameContainer,pe("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new bu(le(e.element,pe("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const e=this._register(new bu(le(this.labelContainer,pe("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new nc(le(e.element,pe("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new bu(le(e.element,pe("span.label-description"))))}return this.descriptionNode}}class aj{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&En(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=le(this.container,pe("a.label-name",{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const o={start:i,end:i+n.length},r=t.map(a=>Mi.intersect(o,a)).filter(a=>!Mi.isEmpty(a)).map(({start:a,end:l})=>({start:a-i,end:l-i}));return i=o.end+e.length,r})}class cj extends K{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&En(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new nc(le(this.container,pe("a.label-name",{id:t?.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(e,t?.matches,void 0,t?.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const i=t?.separator||"/",n=lj(e,i,t?.matches);for(let o=0;o{const s=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:s,collatorIsNumeric:s.resolvedOptions().numeric}});function hj(s,e,t=!1){const i=s||"",n=e||"",o=aN.value.collator.compare(i,n);return aN.value.collatorIsNumeric&&o===0&&i!==n?in.length)return 1}return 0}var t0=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},ty=function(s,e){return function(t,i){e(t,i,s)}},iy;const zs=pe;class tP{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Wa(()=>{const n=i.label??"",o=Eu(n).text.trim(),r=i.ariaLabel||[n,this.saneDescription,this.saneDetail].map(a=>tV(a)).filter(a=>!!a).join(", ");return{saneLabel:n,saneSortLabel:o,saneAriaLabel:r}}),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class ki extends tP{constructor(e,t,i,n,o,r){super(e,t,o),this.fireButtonTriggered=i,this._onChecked=n,this.item=o,this._separator=r,this._checked=!1,this.onChecked=t?Q.map(Q.filter(this._onChecked.event,a=>a.element===this),a=>a.checked):Q.None,this._saneDetail=o.detail,this._labelHighlights=o.highlights?.label,this._descriptionHighlights=o.highlights?.description,this._detailHighlights=o.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var Io;(function(s){s[s.NONE=0]="NONE",s[s.MOUSE_HOVER=1]="MOUSE_HOVER",s[s.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(Io||(Io={}));class wl extends tP{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=Io.NONE}}class fj{getHeight(e){return e instanceof wl?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof ki?F_.ID:B_.ID}}class gj{getWidgetAriaLabel(){return p("quickInput","Quick Input")}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(!(!e.hasCheckbox||!(e instanceof ki)))return{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}}class iP{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new ae,t.toDisposeTemplate=new ae,t.entry=le(e,zs(".quick-input-list-entry"));const i=le(t.entry,zs("label.quick-input-list-label"));t.toDisposeTemplate.add(di(i,J.CLICK,c=>{t.checkbox.offsetParent||c.preventDefault()})),t.checkbox=le(i,zs("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const n=le(i,zs(".quick-input-list-rows")),o=le(n,zs(".quick-input-list-row")),r=le(n,zs(".quick-input-list-row"));t.label=new rN(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=nk(t.label.element,zs(".quick-input-list-icon"));const a=le(o,zs(".quick-input-list-entry-keybinding"));t.keybinding=new xx(a,Ds),t.toDisposeTemplate.add(t.keybinding);const l=le(r,zs(".quick-input-list-label-meta"));return t.detail=new rN(l,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=le(t.entry,zs(".quick-input-list-separator")),t.actionBar=new Wr(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}var ac;let F_=(ac=class extends iP{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return iy.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(di(t.checkbox,J.CHANGE,i=>{t.element.checked=t.checkbox.checked})),t}renderElement(e,t,i){const n=e.element;i.element=n,n.element=i.entry??void 0;const o=n.item;i.checkbox.checked=n.checked,i.toDisposeElement.add(n.onChecked(u=>i.checkbox.checked=u)),i.checkbox.disabled=n.checkboxDisabled;const{labelHighlights:r,descriptionHighlights:a,detailHighlights:l}=n;if(o.iconPath){const u=Tb(this.themeService.getColorTheme().type)?o.iconPath.dark:o.iconPath.light??o.iconPath.dark,f=De.revive(u);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=Kr(f)}else i.icon.style.backgroundImage="",i.icon.className=o.iconClass?`quick-input-list-icon ${o.iconClass}`:"";let c;!n.saneTooltip&&n.saneDescription&&(c={markdown:{value:n.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDescription});const h={matches:r||[],descriptionTitle:c,descriptionMatches:a||[],labelEscapeNewLines:!0};if(h.extraClasses=o.iconClasses,h.italic=o.italic,h.strikethrough=o.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(n.saneLabel,n.saneDescription,h),i.keybinding.set(o.keybinding),n.saneDetail){let u;n.saneTooltip||(u={markdown:{value:n.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(n.saneDetail,void 0,{matches:l,title:u,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";n.separator?.label?(i.separator.textContent=n.separator.label,i.separator.style.display="",this.addItemWithSeparator(n)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!n.separator);const d=o.buttons;d&&d.length?(i.actionBar.push(d.map((u,f)=>tf(u,`id-${f}`,()=>n.fireButtonTriggered({button:u,item:n.item}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}},iy=ac,ac.ID="quickpickitem",ac);F_=iy=t0([ty(1,Os)],F_);const H1=class H1 extends iP{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return H1.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderTemplate(e){const t=super.renderTemplate(e);return t.checkbox.style.display="none",t}renderElement(e,t,i){const n=e.element;i.element=n,n.element=i.entry??void 0,n.element.classList.toggle("focus-inside",!!n.focusInsideSeparator);const o=n.separator,{labelHighlights:r,descriptionHighlights:a,detailHighlights:l}=n;i.icon.style.backgroundImage="",i.icon.className="";let c;!n.saneTooltip&&n.saneDescription&&(c={markdown:{value:n.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDescription});const h={matches:r||[],descriptionTitle:c,descriptionMatches:a||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(n.saneLabel,n.saneDescription,h),n.saneDetail){let u;n.saneTooltip||(u={markdown:{value:n.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(n.saneDetail,void 0,{matches:l,title:u,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const d=o.buttons;d&&d.length?(i.actionBar.push(d.map((u,f)=>tf(u,`id-${f}`,()=>n.fireSeparatorButtonTriggered({button:u,separator:n.separator}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(n)}disposeElement(e,t,i){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}};H1.ID="quickpickseparator";let B_=H1,ag=class extends K{constructor(e,t,i,n,o,r){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this.accessibilityService=r,this._onKeyDown=new A,this._onLeave=new A,this.onLeave=this._onLeave.event,this._visibleCountObservable=We("VisibleCount",0),this.onChangedVisibleCount=Q.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=We("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=Q.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=We("CheckedCount",0),this.onChangedCheckedCount=Q.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=pS({equalsFn:ii},new Array),this.onChangedCheckedElements=Q.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new A,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new A,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new A,this._elementCheckedEventBufferer=new xg,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new ae),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=le(this.parent,zs(".quick-input-list")),this._separatorRenderer=new B_(t),this._itemRenderer=o.createInstance(F_,t),this._tree=this._register(o.createInstance(ey,"QuickInput",this._container,new fj,[this._itemRenderer,this._separatorRenderer],{filter:{filter(a){return a.hidden?0:a instanceof wl?2:1}},sorter:{compare:(a,l)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;const c=this._lastQueryString.toLowerCase();return pj(a,l,c)}},accessibilityProvider:new gj,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Nd.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=n,this._registerListeners()}get onDidChangeFocus(){return Q.map(this._tree.onDidChangeFocus,e=>e.elements.filter(t=>t instanceof ki).map(t=>t.item),this._store)}get onDidChangeSelection(){return Q.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(t=>t instanceof ki).map(t=>t.item),event:e.browserEvent}),this._store)}get displayed(){return this._container.style.display!=="none"}set displayed(e){this._container.style.display=e?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(e=>{const t=new vt(e);switch(t.keyCode){case 10:this.toggleCheckbox();break}this._onKeyDown.fire(t)}))}_registerOnContainerClick(){this._register($(this._container,J.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register($(this._container,J.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{const e=this._itemElements.filter(t=>!t.hidden).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(e,t)=>t)(e=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){const e=this._register(new LM(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{if(JD(t.browserEvent.target)){e.cancel();return}if(!(!JD(t.browserEvent.relatedTarget)&&ci(t.browserEvent.relatedTarget,t.element?.element)))try{await e.trigger(async()=>{t.element instanceof ki&&this.showHover(t.element)})}catch(i){if(!kg(i))throw i}})),this._register(this._tree.onMouseOut(t=>{ci(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const n=i===t;!!(i.focusInsideSeparator&Io.ACTIVE_ITEM)!==n&&(n?i.focusInsideSeparator|=Io.ACTIVE_ITEM:i.focusInsideSeparator&=~Io.ACTIVE_ITEM,this._tree.rerender(i))}})),this._register(this._tree.onMouseOver(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&Io.MOUSE_HOVER)||(i.focusInsideSeparator|=Io.MOUSE_HOVER,this._tree.rerender(i))}})),this._register(this._tree.onMouseOut(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&Io.MOUSE_HOVER)&&(i.focusInsideSeparator&=~Io.MOUSE_HOVER,this._tree.rerender(i))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{const t=e.elements.filter(i=>i instanceof ki);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof wl&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&(t.checked=e)})})}setElements(e){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes");let t;this._itemElements=new Array,this._elementTree=e.reduce((i,n,o)=>{let r;if(n.type==="separator"){if(!n.buttons)return i;t=new wl(o,a=>this._onSeparatorButtonTriggered.fire(a),n),r=t}else{const a=o>0?e[o-1]:void 0;let l;a&&a.type==="separator"&&!a.buttons&&(t=void 0,l=a);const c=new ki(o,this._hasCheckboxes,h=>this._onButtonTriggered.fire(h),this._elementChecked,n,l);if(this._itemElements.push(c),t)return t.children.push(c),i;r=c}return i.push(r),i},new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{const i=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),n=i?.parentNode;if(i&&n){const o=i.nextSibling;i.remove(),n.insertBefore(i,o)}},0)}setFocusedElements(e){const t=e.map(i=>this._itemElements.find(n=>n.item===i)).filter(i=>!!i).filter(i=>!i.hidden);if(this._tree.setFocus(t),e.length>0){const i=this._tree.getFocus()[0];i&&this._tree.reveal(i)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map(i=>this._itemElements.find(n=>n.item===i)).filter(i=>!!i);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents(()=>{const t=new Set;for(const i of e)t.add(i);for(const i of this._itemElements)i.checked=t.has(i.item)})}focus(e){if(this._itemElements.length)switch(e===mt.Second&&this._itemElements.length<2&&(e=mt.First),e){case mt.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,t=>t.element instanceof ki);break;case mt.Second:{this._tree.scrollTop=0;let t=!1;this._tree.focusFirst(void 0,i=>i.element instanceof ki?t?!0:(t=!t,!1):!1);break}case mt.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,t=>t.element instanceof ki);break;case mt.Next:{const t=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,n=>n.element instanceof ki?(this._tree.reveal(n.element),!0):!1);const i=this._tree.getFocus();t.length&&t[0]===i[0]&&t[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case mt.Previous:{const t=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,n=>{if(!(n.element instanceof ki))return!1;const o=this._tree.getParentElement(n.element);return o===null||o.children[0]!==n.element?this._tree.reveal(n.element):this._tree.reveal(o),!0});const i=this._tree.getFocus();t.length&&t[0]===i[0]&&t[0]===this._itemElements[0]&&this._onLeave.fire();break}case mt.NextPage:this._tree.focusNextPage(void 0,t=>t.element instanceof ki?(this._tree.reveal(t.element),!0):!1);break;case mt.PreviousPage:this._tree.focusPreviousPage(void 0,t=>{if(!(t.element instanceof ki))return!1;const i=this._tree.getParentElement(t.element);return i===null||i.children[0]!==t.element?this._tree.reveal(t.element):this._tree.reveal(i),!0});break;case mt.NextSeparator:{let t=!1;const i=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,o=>{if(t)return!0;if(o.element instanceof wl)t=!0,this._separatorRenderer.isSeparatorVisible(o.element)?this._tree.reveal(o.element.children[0]):this._tree.reveal(o.element,0);else if(o.element instanceof ki){if(o.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(o.element)?this._tree.reveal(o.element):this._tree.reveal(o.element,0),!0;if(o.element===this._elementTree[0])return this._tree.reveal(o.element,0),!0}return!1});const n=this._tree.getFocus()[0];i===n&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,o=>o.element instanceof ki));break}case mt.PreviousSeparator:{let t,i=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,n=>{if(n.element instanceof wl)i?t||(this._separatorRenderer.isSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),t=n.element.children[0]):i=!0;else if(n.element instanceof ki&&!t){if(n.element.separator)this._itemRenderer.isItemWithSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),t=n.element;else if(n.element===this._elementTree[0])return this._tree.reveal(n.element,0),!0}return!1}),t&&this._tree.setFocus([t]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:"",this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(i=>{i.labelHighlights=void 0,i.descriptionHighlights=void 0,i.detailHighlights=void 0,i.hidden=!1;const n=i.index&&this._inputElements[i.index-1];i.item&&(i.separator=n&&n.type==="separator"&&!n.buttons?n:void 0)});else{let i;this._itemElements.forEach(n=>{let o;this.matchOnLabelMode==="fuzzy"?o=this.matchOnLabel?Q0(e,Eu(n.saneLabel))??void 0:void 0:o=this.matchOnLabel?mj(t,Eu(n.saneLabel))??void 0:void 0;const r=this.matchOnDescription?Q0(e,Eu(n.saneDescription||""))??void 0:void 0,a=this.matchOnDetail?Q0(e,Eu(n.saneDetail||""))??void 0:void 0;if(o||r||a?(n.labelHighlights=o,n.descriptionHighlights=r,n.detailHighlights=a,n.hidden=!1):(n.labelHighlights=void 0,n.descriptionHighlights=void 0,n.detailHighlights=void 0,n.hidden=n.item?!n.item.alwaysShow:!0),n.item?n.separator=void 0:n.separator&&(n.hidden=!0),!this.sortByLabel){const l=n.index&&this._inputElements[n.index-1]||void 0;l?.type==="separator"&&!l.buttons&&(i=l),i&&!n.hidden&&(n.separator=i,i=void 0)}})}return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{const e=this._tree.getFocus().filter(i=>i instanceof ki),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)})}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!e?.saneTooltip||!(e instanceof ki))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);const t=new ae;t.add(this._tree.onDidChangeFocus(i=>{i.elements[0]instanceof ki&&this.showHover(i.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){const t=new Array;for(const i of e)i instanceof wl?t.push({element:i,collapsible:!1,collapsed:!1,children:i.children.map(n=>({element:n,collapsible:!1,collapsed:!1}))}):t.push({element:i,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let i=0,n=e.length;i{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);const t=this._itemElements.filter(i=>i.checked).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)})}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),!(!e.element||!e.saneTooltip)&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:t=>{this.linkOpenerDelegate(t)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};t0([Bt],ag.prototype,"onDidChangeFocus",null);t0([Bt],ag.prototype,"onDidChangeSelection",null);ag=t0([ty(4,Qe),ty(5,co)],ag);function mj(s,e){const{text:t,iconOffsets:i}=e;if(!i||i.length===0)return lN(s,t);const n=Dg(t," "),o=t.length-n.length,r=lN(s,n);if(r)for(const a of r){const l=i[a.start+o]+o;a.start+=l,a.end+=l}return r}function lN(s,e){const t=e.toLowerCase().indexOf(s.toLowerCase());return t!==-1?[{start:t,end:t+s.length}]:null}function pj(s,e,t){const i=s.labelHighlights||[],n=e.labelHighlights||[];return i.length&&!n.length?-1:!i.length&&n.length?1:i.length===0&&n.length===0?0:dj(s.saneSortLabel,e.saneSortLabel,t)}const nP={weight:200,when:$e.and($e.equals(F4,"quickPick"),PK),metadata:{description:p("quickPick","Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")}};function Ln(s,e={}){wc.registerCommandAndKeybindingRule({...nP,...s,secondary:_j(s.primary,s.secondary??[],e)})}const W_=Ve?256:2048;function _j(s,e,t={}){return t.withAltMod&&e.push(512+s),t.withCtrlMod&&(e.push(W_+s),t.withAltMod&&e.push(512+W_+s)),t.withCmdMod&&Ve&&(e.push(2048+s),t.withCtrlMod&&e.push(2304+s),t.withAltMod&&(e.push(2560+s),t.withCtrlMod&&e.push(2816+s))),e}function Vn(s,e){return t=>{const i=t.get(Gb).currentQuickInput;if(i)return e&&i.quickNavigate?i.focus(e):i.focus(s)}}Ln({id:"quickInput.pageNext",primary:12,handler:Vn(mt.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});Ln({id:"quickInput.pagePrevious",primary:11,handler:Vn(mt.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});Ln({id:"quickInput.first",primary:W_+14,handler:Vn(mt.First)},{withAltMod:!0,withCmdMod:!0});Ln({id:"quickInput.last",primary:W_+13,handler:Vn(mt.Last)},{withAltMod:!0,withCmdMod:!0});Ln({id:"quickInput.next",primary:18,handler:Vn(mt.Next)},{withCtrlMod:!0});Ln({id:"quickInput.previous",primary:16,handler:Vn(mt.Previous)},{withCtrlMod:!0});const cN=p("quickInput.nextSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),hN=p("quickInput.previousSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");Ve?(Ln({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:Vn(mt.NextSeparator,mt.Next),metadata:{description:cN}}),Ln({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:Vn(mt.NextSeparator)},{withCtrlMod:!0}),Ln({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:Vn(mt.PreviousSeparator,mt.Previous),metadata:{description:hN}}),Ln({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:Vn(mt.PreviousSeparator)},{withCtrlMod:!0})):(Ln({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:Vn(mt.NextSeparator,mt.Next),metadata:{description:cN}}),Ln({id:"quickInput.nextSeparator",primary:2578,handler:Vn(mt.NextSeparator)}),Ln({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:Vn(mt.PreviousSeparator,mt.Previous),metadata:{description:hN}}),Ln({id:"quickInput.previousSeparator",primary:2576,handler:Vn(mt.PreviousSeparator)}));Ln({id:"quickInput.acceptInBackground",when:$e.and(nP.when,$e.or(Gq.negate(),BK)),primary:17,weight:250,handler:s=>{s.get(Gb).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});var bj=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},wC=function(s,e){return function(t,i){e(t,i,s)}},ny;const Sn=pe;var lc;let sy=(lc=class extends K{get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,i,n){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.contextKeyService=n,this.enabled=!0,this.onDidAcceptEmitter=this._register(new A),this.onDidCustomEmitter=this._register(new A),this.onDidTriggerButtonEmitter=this._register(new A),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new A),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new A),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=AK.bindTo(this.contextKeyService),this.quickInputTypeContext=OK.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=FK.bindTo(this.contextKeyService),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(Q.runAndSubscribe(_b,({window:o,disposables:r})=>this.registerKeyModsListeners(o,r),{window:ht,disposables:this._store})),this._register(k9(o=>{this.ui&&ue(this.ui.container)===o&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(e,t){const i=n=>{this.keyMods.ctrlCmd=n.ctrlKey||n.metaKey,this.keyMods.alt=n.altKey};for(const n of[J.KEY_DOWN,J.KEY_UP,J.MOUSE_DOWN])t.add($(e,n,i,!0))}getUI(e){if(this.ui)return e&&ue(this._container)!==ue(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=le(this._container,Sn(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=Yn(t),n=le(t,Sn(".quick-input-titlebar")),o=this._register(new Wr(n,{hoverDelegate:this.options.hoverDelegate}));o.domNode.classList.add("quick-input-left-action-bar");const r=le(n,Sn(".quick-input-title")),a=this._register(new Wr(n,{hoverDelegate:this.options.hoverDelegate}));a.domNode.classList.add("quick-input-right-action-bar");const l=le(t,Sn(".quick-input-header")),c=le(l,Sn("input.quick-input-check-all"));c.type="checkbox",c.setAttribute("aria-label",p("quickInput.checkAll","Toggle all checkboxes")),this._register(di(c,J.CHANGE,F=>{const q=c.checked;B.setAllVisibleChecked(q)})),this._register($(c,J.CLICK,F=>{(F.x||F.y)&&f.setFocus()}));const h=le(l,Sn(".quick-input-description")),d=le(l,Sn(".quick-input-and-message")),u=le(d,Sn(".quick-input-filter")),f=this._register(new JK(u,this.styles.inputBox,this.styles.toggle));f.setAttribute("aria-describedby",`${this.idPrefix}message`);const g=le(u,Sn(".quick-input-visible-count"));g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true");const m=new zI(g,{countFormat:p({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),_=le(u,Sn(".quick-input-count"));_.setAttribute("aria-live","polite");const b=new zI(_,{countFormat:p({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),C=this._register(new Wr(l,{hoverDelegate:this.options.hoverDelegate}));C.domNode.classList.add("quick-input-inline-action-bar");const v=le(l,Sn(".quick-input-action")),w=this._register(new jS(v,this.styles.button));w.label=p("ok","OK"),this._register(w.onDidClick(F=>{this.onDidAcceptEmitter.fire()}));const y=le(l,Sn(".quick-input-action")),L=this._register(new jS(y,{...this.styles.button,supportIcons:!0}));L.label=p("custom","Custom"),this._register(L.onDidClick(F=>{this.onDidCustomEmitter.fire()}));const k=le(d,Sn(`#${this.idPrefix}message.quick-input-message`)),D=this._register(new GS(t,this.styles.progressBar));D.getContainer().classList.add("quick-input-progress");const E=le(t,Sn(".quick-input-html-widget"));E.tabIndex=-1;const U=le(t,Sn(".quick-input-description")),O=this.idPrefix+"list",B=this._register(this.instantiationService.createInstance(ag,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,O));f.setAttribute("aria-controls",O),this._register(B.onDidChangeFocus(()=>{f.setAttribute("aria-activedescendant",B.getActiveDescendant()??"")})),this._register(B.onChangedAllVisibleChecked(F=>{c.checked=F})),this._register(B.onChangedVisibleCount(F=>{m.setCount(F)})),this._register(B.onChangedCheckedCount(F=>{b.setCount(F)})),this._register(B.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),this.controller instanceof I_&&this.controller.canSelectMany&&B.clearFocus())},0)}));const z=Bf(t);return this._register(z),this._register($(t,J.FOCUS,F=>{const q=this.getUI();if(ci(F.relatedTarget,q.inputContainer)){const X=q.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==X&&this.endOfQuickInputBoxContext.set(X)}ci(F.relatedTarget,q.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=ui(F.relatedTarget)?F.relatedTarget:void 0)},!0)),this._register(z.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(Id.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(f.onKeyDown(F=>{const q=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==q&&this.endOfQuickInputBoxContext.set(q)})),this._register($(t,J.FOCUS,F=>{f.setFocus()})),this._register(di(t,J.KEY_DOWN,F=>{if(!ci(F.target,E))switch(F.keyCode){case 3:Oe.stop(F,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:Oe.stop(F,!0),this.hide(Id.Gesture);break;case 2:if(!F.altKey&&!F.ctrlKey&&!F.metaKey){const q=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?q.push("input"):q.push("input[type=text]"),this.getUI().list.displayed&&q.push(".monaco-list"),this.getUI().message&&q.push(".quick-input-message a"),this.getUI().widget){if(ci(F.target,this.getUI().widget))break;q.push(".quick-input-html-widget")}const X=t.querySelectorAll(q.join(", "));F.shiftKey&&F.target===X[0]?(Oe.stop(F,!0),B.clearFocus()):!F.shiftKey&&ci(F.target,X[X.length-1])&&(Oe.stop(F,!0),X[0].focus())}break;case 10:F.ctrlKey&&(Oe.stop(F,!0),this.getUI().list.toggleHover());break}})),this.ui={container:t,styleSheet:i,leftActionBar:o,titleBar:n,title:r,description1:U,description2:h,widget:E,rightActionBar:a,inlineActionBar:C,checkAll:c,inputContainer:d,filterContainer:u,inputBox:f,visibleCountContainer:g,visibleCount:m,countContainer:_,count:b,okContainer:v,ok:w,message:k,customButtonContainer:y,customButton:L,list:B,progressBar:D,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:F=>this.show(F),hide:()=>this.hide(),setVisibilities:F=>this.setVisibilities(F),setEnabled:F=>this.setEnabled(F),setContextKey:F=>this.options.setContextKey(F),linkOpenerDelegate:F=>this.options.linkOpenerDelegate(F)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,le(this._container,this.ui.container))}pick(e,t={},i=Ms.None){return new Promise((n,o)=>{let r=h=>{r=n,t.onKeyMods?.(a.keyMods),n(h)};if(i.isCancellationRequested){r(void 0);return}const a=this.createQuickPick({useSeparators:!0});let l;const c=[a,a.onDidAccept(()=>{if(a.canSelectMany)r(a.selectedItems.slice()),a.hide();else{const h=a.activeItems[0];h&&(r(h),a.hide())}}),a.onDidChangeActive(h=>{const d=h[0];d&&t.onDidFocus&&t.onDidFocus(d)}),a.onDidChangeSelection(h=>{if(!a.canSelectMany){const d=h[0];d&&(r(d),a.hide())}}),a.onDidTriggerItemButton(h=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...h,removeItem:()=>{const d=a.items.indexOf(h.item);if(d!==-1){const u=a.items.slice(),f=u.splice(d,1),g=a.activeItems.filter(_=>_!==f[0]),m=a.keepScrollPosition;a.keepScrollPosition=!0,a.items=u,g&&(a.activeItems=g),a.keepScrollPosition=m}}})),a.onDidTriggerSeparatorButton(h=>t.onDidTriggerSeparatorButton?.(h)),a.onDidChangeValue(h=>{l&&!h&&(a.activeItems.length!==1||a.activeItems[0]!==l)&&(a.activeItems=[l])}),i.onCancellationRequested(()=>{a.hide()}),a.onDidHide(()=>{wi(c),r(void 0)})];a.title=t.title,t.value&&(a.value=t.value),a.canSelectMany=!!t.canPickMany,a.placeholder=t.placeHolder,a.ignoreFocusOut=!!t.ignoreFocusLost,a.matchOnDescription=!!t.matchOnDescription,a.matchOnDetail=!!t.matchOnDetail,a.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,a.quickNavigate=t.quickNavigate,a.hideInput=!!t.hideInput,a.contextKey=t.contextKey,a.busy=!0,Promise.all([e,t.activeItem]).then(([h,d])=>{l=d,a.busy=!1,a.items=h,a.canSelectMany&&(a.selectedItems=h.filter(u=>u.type!=="separator"&&u.picked)),l&&(a.activeItems=[l])}),a.show(),Promise.resolve(e).then(void 0,h=>{o(h),a.hide()})})}createQuickPick(e={useSeparators:!1}){const t=this.getUI(!0);return new I_(t)}createInputBox(){const e=this.getUI(!0);return new WK(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i?.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",tn(t.widget),t.rightActionBar.clear(),t.inlineActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(Yt.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),tn(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const n=this.options.backKeybindingLabel();KS.tooltip=n?p("quickInput.backWithKeybinding","Back ({0})",n):p("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?"":"none",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.displayed=!!e.list,t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){const t=this.controller;if(!t)return;t.willHide(e);const i=this.ui?.container,n=i&&!UM(i);if(this.controller=null,this.onHideEmitter.fire(),i&&(i.style.display="none"),!n){let o=this.previousFocusElement;for(;o&&!o.offsetParent;)o=o.parentElement??void 0;o?.offsetParent?(o.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(this.dimension.width*.62,ny.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:n,widgetShadow:o}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??"",this.ui.container.style.backgroundColor=t??"",this.ui.container.style.color=i??"",this.ui.container.style.border=n?`1px solid ${n}`:"",this.ui.container.style.boxShadow=o?`0 0 8px 2px ${o}`:"",this.ui.list.style(this.styles.list);const r=[];this.styles.pickerGroup.pickerGroupBorder&&r.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&r.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&r.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(r.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&r.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&r.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&r.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&r.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&r.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),r.push("}"));const a=r.join(` `);a!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=a)}}},ny=lc,lc.MAX_WIDTH=600,lc);sy=ny=bj([wC(1,Ja),wC(2,Qe),wC(3,Xe)],sy);var Cj=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Cu=function(s,e){return function(t,i){e(t,i,s)}};let oy=class extends z8{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance($S))),this._quickAccess}constructor(e,t,i,n,o){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=n,this.configurationService=o,this._onShow=this._register(new A),this._onHide=this._register(new A),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:o=>this.setContextKey(o),linkOpenerDelegate:o=>{this.instantiationService.invokeFunction(r=>{r.get(Vg).open(o,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(qS))},n=this._register(this.instantiationService.createInstance(sy,{...i,...t}));return n.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(o=>{ue(e.activeContainer)===ue(n.container)&&n.layout(o,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{n.isVisible()||n.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(n.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(n.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),n}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new he(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t,i=Ms.None){return this.controller.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:te(CE),quickInputForeground:te(iW),quickInputTitleBackground:te(nW),widgetBorder:te(V6),widgetShadow:te(Fg)},inputBox:e4,toggle:JA,countBadge:Zz,button:qz,progressBar:jz,keybindingLabel:Kz,list:Kg({listBackground:CE,listFocusBackground:qv,listFocusForeground:Kv,listInactiveFocusForeground:Kv,listInactiveSelectionIconForeground:fA,listInactiveFocusBackground:qv,listFocusOutline:$t,listInactiveFocusOutline:$t}),pickerGroup:{pickerGroupBorder:te(sW),pickerGroupForeground:te(uA)}}}};oy=Cj([Cu(0,Qe),Cu(1,Xe),Cu(2,Os),Cu(3,Ja),Cu(4,Ft)],oy);var sP=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Rl=function(s,e){return function(t,i){e(t,i,s)}};let ry=class extends oy{constructor(e,t,i,n,o,r){super(t,i,n,new Nv(e.getContainerDomNode(),o),r),this.host=void 0;const a=lg.get(e);if(a){const l=a.widget;this.host={_serviceBrand:void 0,get mainContainer(){return l.getDomNode()},getContainer(){return l.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[l.getDomNode()]},get activeContainer(){return l.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return Q.map(e.onDidLayoutChange,c=>({container:l.getDomNode(),dimension:c}))},get onDidChangeActiveContainer(){return Q.None},get onDidAddContainer(){return Q.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};ry=sP([Rl(1,Qe),Rl(2,Xe),Rl(3,Os),Rl(4,Qt),Rl(5,Ft)],ry);let ay=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(ry,e);this.mapEditorToService.set(e,t),pd(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,i=Ms.None){return this.activeService.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}};ay=sP([Rl(0,Qe),Rl(1,Qt)],ay);const z1=class z1{static get(e){return e.getContribution(z1.ID)}constructor(e){this.editor=e,this.widget=new ly(this.editor)}dispose(){this.widget.dispose()}};z1.ID="editor.controller.quickInput";let lg=z1;const U1=class U1{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return U1.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}};U1.ID="editor.contrib.quickInputWidget";let ly=U1;tR(lg.ID,lg,4);class wj{constructor(e,t,i,n,o){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=n,this.background=o}}function vj(s){if(!s||!Array.isArray(s))return[];const e=[];let t=0;for(let i=0,n=s.length;i{const u=Dj(h.token,d.token);return u!==0?u:h.index-d.index});let t=0,i="000000",n="ffffff";for(;s.length>=1&&s[0].token==="";){const h=s.shift();h.fontStyle!==-1&&(t=h.fontStyle),h.foreground!==null&&(i=h.foreground),h.background!==null&&(n=h.background)}const o=new Lj;for(const h of e)o.getId(h);const r=o.getId(i),a=o.getId(n),l=new Dx(t,r,a),c=new Ex(l);for(let h=0,d=s.length;h"u"){const n=this._match(t),o=xj(t);i=(n.metadata|o<<8)>>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}}const kj=/\b(comment|string|regex|regexp)\b/;function xj(s){const e=s.match(kj);if(!e)return 0;switch(e[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function Dj(s,e){return se?1:0}class Dx{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new Dx(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){e!==-1&&(this._fontStyle=e),t!==0&&(this._foreground=t),i!==0&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class Ex{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(e==="")return this._mainRule;const t=e.indexOf(".");let i,n;t===-1?(i=e,n=""):(i=e.substring(0,t),n=e.substring(t+1));const o=this._children.get(i);return typeof o<"u"?o.match(n):this._mainRule}insert(e,t,i,n){if(e===""){this._mainRule.acceptOverwrite(t,i,n);return}const o=e.indexOf(".");let r,a;o===-1?(r=e,a=""):(r=e.substring(0,o),a=e.substring(o+1));let l=this._children.get(r);typeof l>"u"&&(l=new Ex(this._mainRule.clone()),this._children.set(r,l)),l.insert(a,t,i,n)}}function Ej(s){const e=[];for(let t=1,i=s.length;t({format:n.format,location:n.location.toString()}))}}s.toJSONObject=e;function t(i){const n=o=>qn(o)?o:void 0;if(i&&Array.isArray(i.src)&&i.src.every(o=>qn(o.format)&&qn(o.location)))return{weight:n(i.weight),style:n(i.style),src:i.src.map(o=>({format:o.format,location:De.parse(o.location)}))}}s.fromJSONObject=t})(uN||(uN={}));class Aj{constructor(){this._onDidChange=new A,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:p("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:p("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${Ue.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,n){const o=this.iconsById[e];if(o){if(i&&!o.description){o.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const l=this.iconReferenceSchema.enum.indexOf(e);l!==-1&&(this.iconReferenceSchema.enumDescriptions[l]=i),this._onDidChange.fire()}return o}const r={id:e,description:i,defaults:t,deprecationMessage:n};this.iconsById[e]=r;const a={$ref:"#/definitions/icons"};return n&&(a.deprecationMessage=n),i&&(a.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=a,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(o,r)=>o.id.localeCompare(r.id),t=o=>{for(;Ue.isThemeIcon(o.defaults);)o=this.iconsById[o.defaults.id];return`codicon codicon-${o?o.id:""}`},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const n=Object.keys(this.iconsById).map(o=>this.iconsById[o]);for(const o of n.filter(r=>!!r.description).sort(e))i.push(`||${o.id}|${Ue.isThemeIcon(o.defaults)?o.defaults.id:o.id}|${o.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const o of n.filter(r=>!Ue.isThemeIcon(r.defaults)).sort(e))i.push(`||${o.id}|`);return i.join(` `)}}const Uc=new Aj;Si.add(Rj.IconContribution,Uc);function il(s,e,t,i){return Uc.registerIcon(s,e,t,i)}function rP(){return Uc}function Pj(){const s=hM();for(const e in s){const t="\\"+s[e].toString(16);Uc.registerIcon(e,{fontCharacter:t})}}Pj();const aP="vscode://schemas/icons",lP=Si.as(Nb.JSONContribution);lP.registerSchema(aP,Uc.getIconSchema());const fN=new Gi(()=>lP.notifySchemaChanged(aP),200);Uc.onDidChange(()=>{fN.isScheduled()||fN.schedule()});const Rne=il("widget-close",re.close,p("widgetClose","Icon for the close action in widgets."));il("goto-previous-location",re.arrowUp,p("previousChangeIcon","Icon for goto previous editor location."));il("goto-next-location",re.arrowDown,p("nextChangeIcon","Icon for goto next editor location."));Ue.modify(re.sync,"spin");Ue.modify(re.loading,"spin");function Oj(s){const e=new ae,t=e.add(new A),i=rP();return e.add(i.onDidChange(()=>t.fire())),s&&e.add(s.onDidProductIconThemeChange(()=>t.fire())),{dispose:()=>e.dispose(),onDidChange:t.event,getCSS(){const n=s?s.getProductIconTheme():new cP,o={},r=[],a=[];for(const l of i.getIcons()){const c=n.getIcon(l);if(!c)continue;const h=c.font,d=`--vscode-icon-${l.id}-font-family`,u=`--vscode-icon-${l.id}-content`;h?(o[h.id]=h.definition,a.push(`${d}: ${D0(h.id)};`,`${u}: '${c.fontCharacter}';`),r.push(`.codicon-${l.id}:before { content: '${c.fontCharacter}'; font-family: ${D0(h.id)}; }`)):(a.push(`${u}: '${c.fontCharacter}'; ${d}: 'codicon';`),r.push(`.codicon-${l.id}:before { content: '${c.fontCharacter}'; }`))}for(const l in o){const c=o[l],h=c.weight?`font-weight: ${c.weight};`:"",d=c.style?`font-style: ${c.style};`:"",u=c.src.map(f=>`${Kr(f.location)} format('${f.format}')`).join(", ");r.push(`@font-face { src: ${u}; font-family: ${D0(l)};${h}${d} font-display: block; }`)}return r.push(`:root { ${a.join(" ")} }`),r.join(` `)}}}class cP{getIcon(e){const t=rP();let i=e.defaults;for(;Ue.isThemeIcon(i);){const n=t.getIcon(i.id);if(!n)return;i=n.defaults}return i}}const ba="vs",nf="vs-dark",od="hc-black",rd="hc-light",hP=Si.as(qR.ColorContribution),Fj=Si.as(ER.ThemingContribution);class dP{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(bp(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,Z.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=cy(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,Z.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=hP.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case ba:return us.LIGHT;case od:return us.HIGH_CONTRAST_DARK;case rd:return us.HIGH_CONTRAST_LIGHT;default:return us.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const o=cy(this.themeData.base);e=o.rules,o.encodedTokensColors&&(t=o.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],n=this.themeData.colors["editor.background"];if(i||n){const o={token:""};i&&(o.foreground=i),n&&(o.background=n),e.push(o)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=oP.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const o=this.tokenTheme._match([e].concat(t).join(".")).metadata,r=Gs.getForeground(o),a=Gs.getFontStyle(o);return{foreground:r,italic:!!(a&1),bold:!!(a&2),underline:!!(a&4),strikethrough:!!(a&8)}}}function bp(s){return s===ba||s===nf||s===od||s===rd}function cy(s){switch(s){case ba:return Ij;case nf:return Nj;case od:return Tj;case rd:return Mj}}function Bm(s){const e=cy(s);return new dP(s,e)}class Bj extends K{constructor(){super(),this._onColorThemeChange=this._register(new A),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new A),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new cP,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(ba,Bm(ba)),this._knownThemes.set(nf,Bm(nf)),this._knownThemes.set(od,Bm(od)),this._knownThemes.set(rd,Bm(rd));const e=this._register(Oj(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS} ${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(ba),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),wM(ht,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return Wp(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Yn(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),K.None}_registerShadowDomContainer(e){const t=Yn(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(ba),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=ht.matchMedia("(forced-colors: active)").matches;if(e!==Yh(this._theme.type)){let t;Tb(this._theme.type)?t=e?od:nf:t=e?rd:ba,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:r=>{t[r]||(e.push(r),t[r]=!0)}};Fj.getThemingParticipants().forEach(r=>r(this._theme,i,this._environment));const n=[];for(const r of hP.getColors()){const a=this._theme.getColor(r.id,!0);a&&n.push(`${vk(r.id)}: ${a.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${n.join(` `)} }`);const o=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(Ej(o)),this._themeCSS=e.join(` `),this._updateCSS(),qt.setColorMap(o),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS} ${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}const Fs=Be("themeService");var Wj=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},vC=function(s,e){return function(t,i){e(t,i,s)}};let hy=class extends K{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new A,this._onDidChangeReducedMotion=new A,this._onDidChangeLinkUnderline=new A,this._accessibilityModeEnabledContext=zV.bindTo(this._contextKeyService);const n=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(r=>{r.affectsConfiguration("editor.accessibilitySupport")&&(n(),this._onDidChangeScreenReaderOptimized.fire()),r.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),n(),this._register(this.onDidChangeScreenReaderOptimized(()=>n()));const o=ht.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=o.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(o),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register($(e,"change",()=>{this._systemMotionReduced=e.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",i),this._layoutService.mainContainer.classList.toggle("enable-motion",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(t=>{if(t.affectsConfiguration("accessibility.underlineLinks")){const i=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=i,this._onDidChangeLinkUnderline.fire()}}));const e=()=>{const t=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",t)};e(),this._register(this.onDidChangeLinkUnderlines(()=>e()))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return e==="on"||e==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return e==="on"||e==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};hy=Wj([vC(0,Xe),vC(1,Ja),vC(2,Ft)],hy);var i0=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Bo=function(s,e){return function(t,i){e(t,i,s)}},hh,Ru;let dy=class{constructor(e,t,i){this._commandService=e,this._keybindingService=t,this._hiddenStates=new uy(i)}createMenu(e,t,i){return new V_(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t)}getMenuActions(e,t,i){const n=new V_(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t),o=n.getActions(i);return n.dispose(),o}resetHiddenStates(e){this._hiddenStates.reset(e)}};dy=i0([Bo(0,Jn),Bo(1,Ti),Bo(2,Kb)],dy);var cc;let uy=(cc=class{constructor(e){this._storageService=e,this._disposables=new ae,this._onDidChange=new A,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(hh._key,0,"{}");this._data=JSON.parse(t)}catch{this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,hh._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const t=e.get(hh._key,0,"{}");this._data=JSON.parse(t)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){return this._hiddenByDefaultCache.get(`${e.id}/${t}`)??!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set(`${e.id}/${t}`,i)}isHidden(e,t){const i=this._isHiddenByDefault(e,t),n=this._data[e.id]?.includes(t)??!1;return i?!n:n}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const o=this._data[e.id];if(i)o?o.indexOf(t)<0&&o.push(t):this._data[e.id]=[t];else if(o){const r=o.indexOf(t);r>=0&&c5(o,r),o.length===0&&delete this._data[e.id]}this._persist()}reset(e){if(e===void 0)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(hh._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}},hh=cc,cc._key="menu.hiddenCommands",cc);uy=hh=i0([Bo(0,Kb)],uy);class sf{constructor(e,t){this._id=e,this._collectContextKeysForSubmenus=t,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=this._sort(Ao.getMenuItems(this._id));let t;for(const i of e){const n=i.group||"";(!t||t[0]!==n)&&(t=[n,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeysAndSubmenuIds(i)}this._allMenuIds.add(this._id)}_sort(e){return e}_collectContextKeysAndSubmenuIds(e){if(sf._fillInKbExprKeys(e.when,this._structureContextKeys),Hu(e)){if(e.command.precondition&&sf._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;sf._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(Ao.getMenuItems(e.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(e.submenu))}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}}let fy=Ru=class extends sf{constructor(e,t,i,n,o,r){super(e,i),this._hiddenStates=t,this._commandService=n,this._keybindingService=o,this._contextKeyService=r,this.refresh()}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[n,o]=i;let r;for(const a of o)if(this._contextKeyService.contextMatchesRules(a.when)){const l=Hu(a);l&&this._hiddenStates.setDefaultState(this._id,a.command.id,!!a.isHiddenByDefault);const c=Vj(this._id,l?a.command:a,this._hiddenStates);if(l){const h=uP(this._commandService,this._keybindingService,a.command.id,a.when);(r??=[]).push(new Fr(a.command,a.alt,e,c,h,this._contextKeyService,this._commandService))}else{const h=new Ru(a.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),d=Yi.join(...h.map(u=>u[1]));d.length>0&&(r??=[]).push(new zu(a,c,d))}}r&&r.length>0&&t.push([n,r])}return t}_sort(e){return e.sort(Ru._compareMenuItems)}static _compareMenuItems(e,t){const i=e.group,n=t.group;if(i!==n){if(i){if(!n)return-1}else return 1;if(i==="navigation")return-1;if(n==="navigation")return 1;const a=i.localeCompare(n);if(a!==0)return a}const o=e.order||0,r=t.order||0;return or?1:Ru._compareTitles(Hu(e)?e.command.title:e.title,Hu(t)?t.command.title:t.title)}static _compareTitles(e,t){const i=typeof e=="string"?e:e.original,n=typeof t=="string"?t:t.original;return i.localeCompare(n)}};fy=Ru=i0([Bo(3,Jn),Bo(4,Ti),Bo(5,Xe)],fy);let V_=class{constructor(e,t,i,n,o,r){this._disposables=new ae,this._menuInfo=new fy(e,t,i.emitEventsForSubmenuChanges,n,o,r);const a=new Gi(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(a),this._disposables.add(Ao.onDidChangeMenu(d=>{for(const u of this._menuInfo.allMenuIds)if(d.has(u)){a.schedule();break}}));const l=this._disposables.add(new ae),c=d=>{let u=!1,f=!1,g=!1;for(const m of d)if(u=u||m.isStructuralChange,f=f||m.isEnablementChange,g=g||m.isToggleChange,u&&f&&g)break;return{menu:this,isStructuralChange:u,isEnablementChange:f,isToggleChange:g}},h=()=>{l.add(r.onDidChangeContext(d=>{const u=d.affectsSome(this._menuInfo.structureContextKeys),f=d.affectsSome(this._menuInfo.preconditionContextKeys),g=d.affectsSome(this._menuInfo.toggledContextKeys);(u||f||g)&&this._onDidChange.fire({menu:this,isStructuralChange:u,isEnablementChange:f,isToggleChange:g})})),l.add(t.onDidChange(d=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new tM({onWillAddFirstListener:h,onDidRemoveLastListener:l.clear.bind(l),delay:i.eventDebounceDelay,merge:c}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};V_=i0([Bo(3,Jn),Bo(4,Ti),Bo(5,Xe)],V_);function Vj(s,e,t){const i=v3(e)?e.submenu.id:e.id,n=typeof e.title=="string"?e.title:e.title.value,o=qh({id:`hide/${s.id}/${i}`,label:p("hide.label","Hide '{0}'",n),run(){t.updateHidden(s,i,!0)}}),r=qh({id:`toggle/${s.id}/${i}`,label:n,get checked(){return!t.isHidden(s,i)},run(){t.updateHidden(s,i,!!this.checked)}});return{hide:o,toggle:r,get isHidden(){return!r.checked}}}function uP(s,e,t,i=void 0,n=!0){return qh({id:`configureKeybinding/${t}`,label:p("configure keybinding","Configure Keybinding"),enabled:n,run(){const r=!!!e.lookupKeybinding(t)&&i?i.serialize():void 0;s.executeCommand("workbench.action.openGlobalKeybindings",`@command:${t}`+(r?` +when:${r}`:""))}})}var Hj=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},gN=function(s,e){return function(t,i){e(t,i,s)}},gy;const mN="application/vnd.code.resources";var hc;let my=(hc=class extends K{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(Ha||vM)&&this.installWebKitWriteTextWorkaround(),this._register(Q.runAndSubscribe(_b,({window:i,disposables:n})=>{n.add($(i.document,"copy",()=>this.clearResourcesState()))},{window:ht,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const t=new DM;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,Lu().navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch(async i=>{(!(i instanceof Error)||i.name!=="NotAllowedError"||!t.isRejected)&&this.logService.error(i)})};this._register(Q.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:i})=>{i.add($(t,"click",e)),i.add($(t,"keydown",e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.clearResourcesState(),t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await Lu().navigator.clipboard.writeText(e)}catch(i){console.error(i)}this.fallbackWriteText(e)}fallbackWriteText(e){const t=ek(),i=t.activeElement,n=t.body.appendChild(pe("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=e,n.focus(),n.select(),t.execCommand("copy"),ui(i)&&i.focus(),n.remove()}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await Lu().navigator.clipboard.readText()}catch(t){console.error(t)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async readResources(){try{const t=await Lu().navigator.clipboard.read();for(const i of t)if(i.types.includes(`web ${mN}`)){const n=await i.getType(`web ${mN}`);return JSON.parse(await n.text()).map(r=>De.from(r))}}catch{}const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const e=await this.readText();return FM(e.substring(0,gy.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}},gy=hc,hc.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,hc);my=gy=Hj([gN(0,Ja),gN(1,ps)],my);const Ix=Be("clipboardService");var zj=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Uj=function(s,e){return function(t,i){e(t,i,s)}};const of="data-keybinding-context";class Nx{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t?(this._value[e]=t,!0):!1}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){const t=this._value[e];return typeof t>"u"&&this._parent?this._parent.getValue(e):t}}const $1=class $1 extends Nx{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}};$1.INSTANCE=new $1;let Td=$1;const Lf=class Lf extends Nx{constructor(e,t,i){super(e,null),this._configurationService=t,this._values=ju.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(n=>{if(n.source===7){const o=Array.from(this._values,([r])=>r);this._values.clear(),i.fire(new _N(o))}else{const o=[];for(const r of n.affectedKeys){const a=`config.${r}`,l=this._values.findSuperstr(a);l!==void 0&&(o.push(...Ge.map(l,([c])=>c)),this._values.deleteSuperstr(a)),this._values.has(a)&&(o.push(a),this._values.delete(a))}i.fire(new _N(o))}})}dispose(){this._listener.dispose()}getValue(e){if(e.indexOf(Lf._keyPrefix)!==0)return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(Lf._keyPrefix.length),i=this._configurationService.getValue(t);let n;switch(typeof i){case"number":case"boolean":case"string":n=i;break;default:Array.isArray(i)?n=JSON.stringify(i):n=i}return this._values.set(e,n),n}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}};Lf._keyPrefix="config.";let py=Lf;class $j{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class pN{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class _N{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}}class Kj{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}}function qj(s,e){return s.allKeysContainedIn(new Set(Object.keys(e)))}class fP extends K{constructor(e){super(),this._onDidChangeContext=this._register(new Rf({merge:t=>new Kj(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new $j(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new jj(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new pN(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new pN(e))}getContext(e){return this._isDisposed?Td.INSTANCE:this.getContextValuesContainer(Gj(e))}dispose(){super.dispose(),this._isDisposed=!0}}let _y=class extends fP{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new py(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?Td.INSTANCE:this._contexts.get(e)||Td.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new Nx(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};_y=zj([Uj(0,Ft)],_y);class jj extends fP{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new Ur),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(of)){let i="";this._domNode.classList&&(i=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${i?": "+i:""}`)}this._domNode.setAttribute(of,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{const i=this._parent.getContextValuesContainer(this._myContextId).value;qj(e,i)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(of),super.dispose())}getContextValuesContainer(e){return this._isDisposed?Td.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}function Gj(s){for(;s;){if(s.hasAttribute(of)){const e=s.getAttribute(of);return e?parseInt(e,10):NaN}s=s.parentElement}return 0}function Zj(s,e,t){s.get(Xe).createKey(String(e),Yj(t))}function Yj(s){return VT(s,e=>{if(typeof e=="object"&&e.$mid===1)return De.revive(e).toString();if(e instanceof De)return e.toString()})}Oi.registerCommand("_setContext",Zj);Oi.registerCommand({id:"getContextKeyInfo",handler(){return[...he.all()].sort((s,e)=>s.key.localeCompare(e.key))},metadata:{description:p("getContextKeyInfo","A command that returns information about context keys"),args:[]}});Oi.registerCommand("_generateContextKeyInfo",function(){const s=[],e=new Set;for(const t of he.all())e.has(t.key)||(e.add(t.key),s.push(t));s.sort((t,i)=>t.key.localeCompare(i.key)),console.log(JSON.stringify(s,void 0,2))});let Qj=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}};class bN{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),n=this.lookupOrInsertNode(t);i.outgoing.set(n.key,n),n.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new Qj(t,e),this._nodes.set(t,i)),i}isEmpty(){return this._nodes.size===0}toString(){const e=[];for(const[t,i]of this._nodes)e.push(`${t} (-> incoming)[${[...i.incoming.keys()].join(", ")}] (outgoing ->)[${[...i.outgoing.keys()].join(",")}] `);return e.join(` `)}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),n=this._findCycle(t,i);if(n)return n}}_findCycle(e,t){for(const[i,n]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const o=this._findCycle(n,t);if(o)return o;t.delete(i)}}}class qd{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}get(e){return this._entries.get(e)}}const Xj=!1;class CN extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: ${e.toString()}`}}class H_{constructor(e=new qd,t=!1,i,n=Xj){this._services=e,this._strict=t,this._parent=i,this._enableTracing=n,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(Qe,this),this._globalGraph=n?i?._globalGraph??new bN(o=>o):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,wi(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)JT(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,n=new class extends H_{dispose(){i._children.delete(n),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(n),t?.add(n),n}invokeFunction(e,...t){this._throwIfDisposed();const i=rf.traceInvocation(this._enableTracing,e);let n=!1;try{return e({get:r=>{if(n)throw TL("service accessor is only valid during the invocation of its target method");const a=this._getOrCreateServiceInstance(r,i);if(!a)throw new Error(`[invokeFunction] unknown service '${r}'`);return a}},...t)}finally{n=!0,i.stop()}}createInstance(e,...t){this._throwIfDisposed();let i,n;return e instanceof No?(i=rf.traceCreation(this._enableTracing,e.ctor),n=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=rf.traceCreation(this._enableTracing,e),n=this._createInstance(e,t,i)),i.stop(),n}_createInstance(e,t=[],i){const n=Xs.getServiceDependencies(e).sort((a,l)=>a.index-l.index),o=[];for(const a of n){const l=this._getOrCreateServiceInstance(a.id,i);l||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${a.id}.`,!1),o.push(l)}const r=n.length>0?n[0].index:t.length;if(t.length!==r){console.trace(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);const a=r-t.length;a>0?t=t.concat(new Array(a)):t=t.slice(0,r)}return Reflect.construct(e,t.concat(o))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof No)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof No?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const n=new bN(l=>l.id.toString());let o=0;const r=[{id:e,desc:t,_trace:i}],a=new Set;for(;r.length;){const l=r.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),n.lookupOrInsertNode(l),o++>1e3)throw new CN(n);for(const c of Xs.getServiceDependencies(l.desc.ctor)){const h=this._getServiceInstanceOrDescriptor(c.id);if(h||this._throwIfStrict(`[createInstance] ${e} depends on ${c.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(c.id)),h instanceof No){const d={id:c.id,desc:h,_trace:l._trace.branch(c.id,!0)};n.insertEdge(l,d),r.push(d)}}}}for(;;){const l=n.roots();if(l.length===0){if(!n.isEmpty())throw new CN(n);break}for(const{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof No){const d=this._createServiceInstanceWithOwner(c.id,c.desc.ctor,c.desc.staticArguments,c.desc.supportsDelayedInstantiation,c._trace);this._setCreatedServiceInstance(c.id,d)}n.removeNode(c)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],n,o){if(this._services.get(e)instanceof No)return this._createServiceInstance(e,t,i,n,o,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,n,o);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],n,o,r){if(n){const a=new H_(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(e);const l=new Map,c=new Y7(()=>{const h=a._createInstance(t,i,o);for(const[d,u]of l){const f=h[d];if(typeof f=="function")for(const g of u)g.disposable=f.apply(h,g.listener)}return l.clear(),r.add(h),h});return new Proxy(Object.create(null),{get(h,d){if(!c.isInitialized&&typeof d=="string"&&(d.startsWith("onDid")||d.startsWith("onWill"))){let g=l.get(d);return g||(g=new Dn,l.set(d,g)),(_,b,C)=>{if(c.isInitialized)return c.value[d](_,b,C);{const v={listener:[_,b,C],disposable:void 0},w=g.push(v);return ve(()=>{w(),v.disposable?.dispose()})}}}if(d in h)return h[d];const u=c.value;let f=u[d];return typeof f!="function"||(f=f.bind(u),h[d]=f),f},set(h,d,u){return c.value[d]=u,!0},getPrototypeOf(h){return t.prototype}})}else{const a=this._createInstance(t,i,o);return r.add(a),a}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}const Fn=class Fn{static traceInvocation(e,t){return e?new Fn(2,t.name||new Error().stack.split(` `).slice(3,4).join(` `)):Fn._None}static traceCreation(e,t){return e?new Fn(1,t.name):Fn._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new Fn(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;Fn._totals+=e;let t=!1;function i(o,r){const a=[],l=new Array(o+1).join(" ");for(const[c,h,d]of r._dep)if(h&&d){t=!0,a.push(`${l}CREATES -> ${c}`);const u=i(o+1,d);u&&a.push(u)}else a.push(`${l}uses -> ${c}`);return a.join(` `)}const n=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${i(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${Fn._totals.toFixed(2)}ms)`];(e>2||t)&&Fn.all.add(n.join(` `))}};Fn.all=new Set,Fn._None=new class extends Fn{constructor(){super(0,null)}stop(){}branch(){return this}},Fn._totals=0;let rf=Fn;const Jj=new Set([Ie.inMemory,Ie.vscodeSourceControl,Ie.walkThrough,Ie.walkThroughSnippet,Ie.vscodeChatCodeBlock]);class eG{constructor(){this._byResource=new Gn,this._byOwner=new Map}set(e,t,i){let n=this._byResource.get(e);n||(n=new Map,this._byResource.set(e,n)),n.set(t,i);let o=this._byOwner.get(t);o||(o=new Gn,this._byOwner.set(t,o)),o.set(e,i)}get(e,t){return this._byResource.get(e)?.get(t)}delete(e,t){let i=!1,n=!1;const o=this._byResource.get(e);o&&(i=o.delete(t));const r=this._byOwner.get(t);if(r&&(n=r.delete(e)),i!==n)throw new Error("illegal state");return i&&n}values(e){return typeof e=="string"?this._byOwner.get(e)?.values()??Ge.empty():De.isUri(e)?this._byResource.get(e)?.values()??Ge.empty():Ge.map(Ge.concat(...this._byOwner.values()),t=>t[1])}}class tG{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new Gn,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const i=this._data.get(t);i&&this._substract(i);const n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(Jj.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===cs.Error?t.errors+=1:i===cs.Warning?t.warnings+=1:i===cs.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class da{constructor(){this._onMarkerChanged=new tM({delay:0,merge:da._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new eG,this._stats=new tG(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(f5(i))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const n=[];for(const o of i){const r=da._toMarker(e,t,o);r&&n.push(r)}this._data.set(t,e,n),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:n,severity:o,message:r,source:a,startLineNumber:l,startColumn:c,endLineNumber:h,endColumn:d,relatedInformation:u,tags:f}=i;if(r)return l=l>0?l:1,c=c>0?c:1,h=h>=l?h:l,d=d>0?d:c,{resource:t,owner:e,code:n,severity:o,message:r,source:a,startLineNumber:l,startColumn:c,endLineNumber:h,endColumn:d,relatedInformation:u,tags:f}}changeAll(e,t){const i=[],n=this._data.values(e);if(n)for(const o of n){const r=Ge.first(o);r&&(i.push(r.resource),this._data.delete(r.resource,e))}if(cb(t)){const o=new Gn;for(const{resource:r,marker:a}of t){const l=da._toMarker(e,r,a);if(!l)continue;const c=o.get(r);c?c.push(l):(o.set(r,[l]),i.push(r))}for(const[r,a]of o)this._data.set(r,e,a)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:n,take:o}=e;if((!o||o<0)&&(o=-1),t&&i){const r=this._data.get(i,t);if(r){const a=[];for(const l of r)if(da._accept(l,n)){const c=a.push(l);if(o>0&&c===o)break}return a}else return[]}else if(!t&&!i){const r=[];for(const a of this._data.values())for(const l of a)if(da._accept(l,n)){const c=r.push(l);if(o>0&&c===o)return r}return r}else{const r=this._data.values(i??t),a=[];for(const l of r)for(const c of l)if(da._accept(c,n)){const h=a.push(c);if(o>0&&h===o)return a}return a}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){const t=new Gn;for(const i of e)for(const n of i)t.set(n,!0);return Array.from(t.keys())}}class iG extends K{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=Ci.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=Ci.createEmptyModel(this.logService);const e=Si.as(Bc.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const n of e){const o=i[n],r=t[n];o!==void 0?this._configurationModel.setValue(n,o):r?this._configurationModel.setValue(n,r.default):this._configurationModel.removeValue(n)}}}const jd=Be("accessibilitySignalService"),Fe=class Fe{static register(e){return new Fe(e.fileName)}constructor(e){this.fileName=e}};Fe.error=Fe.register({fileName:"error.mp3"}),Fe.warning=Fe.register({fileName:"warning.mp3"}),Fe.success=Fe.register({fileName:"success.mp3"}),Fe.foldedArea=Fe.register({fileName:"foldedAreas.mp3"}),Fe.break=Fe.register({fileName:"break.mp3"}),Fe.quickFixes=Fe.register({fileName:"quickFixes.mp3"}),Fe.taskCompleted=Fe.register({fileName:"taskCompleted.mp3"}),Fe.taskFailed=Fe.register({fileName:"taskFailed.mp3"}),Fe.terminalBell=Fe.register({fileName:"terminalBell.mp3"}),Fe.diffLineInserted=Fe.register({fileName:"diffLineInserted.mp3"}),Fe.diffLineDeleted=Fe.register({fileName:"diffLineDeleted.mp3"}),Fe.diffLineModified=Fe.register({fileName:"diffLineModified.mp3"}),Fe.chatRequestSent=Fe.register({fileName:"chatRequestSent.mp3"}),Fe.chatResponseReceived1=Fe.register({fileName:"chatResponseReceived1.mp3"}),Fe.chatResponseReceived2=Fe.register({fileName:"chatResponseReceived2.mp3"}),Fe.chatResponseReceived3=Fe.register({fileName:"chatResponseReceived3.mp3"}),Fe.chatResponseReceived4=Fe.register({fileName:"chatResponseReceived4.mp3"}),Fe.clear=Fe.register({fileName:"clear.mp3"}),Fe.save=Fe.register({fileName:"save.mp3"}),Fe.format=Fe.register({fileName:"format.mp3"}),Fe.voiceRecordingStarted=Fe.register({fileName:"voiceRecordingStarted.mp3"}),Fe.voiceRecordingStopped=Fe.register({fileName:"voiceRecordingStopped.mp3"}),Fe.progress=Fe.register({fileName:"progress.mp3"});let Lt=Fe;class nG{constructor(e){this.randomOneOf=e}}const Le=class Le{constructor(e,t,i,n,o,r){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=n,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=r}static register(e){const t=new nG("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new Le(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return Le._signals.add(i),i}};Le._signals=new Set,Le.errorAtPosition=Le.register({name:p("accessibilitySignals.positionHasError.name","Error at Position"),sound:Lt.error,announcementMessage:p("accessibility.signals.positionHasError","Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"}),Le.warningAtPosition=Le.register({name:p("accessibilitySignals.positionHasWarning.name","Warning at Position"),sound:Lt.warning,announcementMessage:p("accessibility.signals.positionHasWarning","Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"}),Le.errorOnLine=Le.register({name:p("accessibilitySignals.lineHasError.name","Error on Line"),sound:Lt.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:p("accessibility.signals.lineHasError","Error on Line"),settingsKey:"accessibility.signals.lineHasError"}),Le.warningOnLine=Le.register({name:p("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:Lt.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:p("accessibility.signals.lineHasWarning","Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"}),Le.foldedArea=Le.register({name:p("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:Lt.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:p("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}),Le.break=Le.register({name:p("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:Lt.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:p("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),Le.inlineSuggestion=Le.register({name:p("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:Lt.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),Le.terminalQuickFix=Le.register({name:p("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:Lt.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:p("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),Le.onDebugBreak=Le.register({name:p("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:Lt.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:p("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),Le.noInlayHints=Le.register({name:p("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:Lt.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:p("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),Le.taskCompleted=Le.register({name:p("accessibilitySignals.taskCompleted","Task Completed"),sound:Lt.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:p("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),Le.taskFailed=Le.register({name:p("accessibilitySignals.taskFailed","Task Failed"),sound:Lt.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:p("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),Le.terminalCommandFailed=Le.register({name:p("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:Lt.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:p("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),Le.terminalCommandSucceeded=Le.register({name:p("accessibilitySignals.terminalCommandSucceeded","Terminal Command Succeeded"),sound:Lt.success,announcementMessage:p("accessibility.signals.terminalCommandSucceeded","Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"}),Le.terminalBell=Le.register({name:p("accessibilitySignals.terminalBell","Terminal Bell"),sound:Lt.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:p("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),Le.notebookCellCompleted=Le.register({name:p("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:Lt.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:p("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),Le.notebookCellFailed=Le.register({name:p("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:Lt.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:p("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),Le.diffLineInserted=Le.register({name:p("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:Lt.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),Le.diffLineDeleted=Le.register({name:p("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:Lt.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),Le.diffLineModified=Le.register({name:p("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:Lt.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),Le.chatRequestSent=Le.register({name:p("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:Lt.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:p("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),Le.chatResponseReceived=Le.register({name:p("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[Lt.chatResponseReceived1,Lt.chatResponseReceived2,Lt.chatResponseReceived3,Lt.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),Le.progress=Le.register({name:p("accessibilitySignals.progress","Progress"),sound:Lt.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:p("accessibility.signals.progress","Progress"),settingsKey:"accessibility.signals.progress"}),Le.clear=Le.register({name:p("accessibilitySignals.clear","Clear"),sound:Lt.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:p("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"}),Le.save=Le.register({name:p("accessibilitySignals.save","Save"),sound:Lt.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:p("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"}),Le.format=Le.register({name:p("accessibilitySignals.format","Format"),sound:Lt.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:p("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"}),Le.voiceRecordingStarted=Le.register({name:p("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:Lt.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),Le.voiceRecordingStopped=Le.register({name:p("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:Lt.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});let ks=Le;class sG extends K{constructor(e,t=[]){super(),this.logger=new L3([e,...t]),this._register(e.onDidChangeLogLevel(i=>this.setLevel(i)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}const gP=[];function Vne(s){gP.push(s)}function oG(){return gP.slice(0)}class rG{getParseResult(e){}}var Zo=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Ut=function(s,e){return function(t,i){e(t,i,s)}};class aG{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new A}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let by=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new AO(new aG(t))):Promise.reject(new Error("Model not found"))}};by=Zo([Ut(0,Qi)],by);const K1=class K1{show(){return K1.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}};K1.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};let Cy=K1;class lG{withProgress(e,t,i){return t({report:()=>{}})}}class cG{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class hG{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+` `+t),ht.confirm(i)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){const n=[...e.buttons??[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&n.push(e.cancelButton),t=await n[0]?.run({checkboxChecked:!1})}return{result:t}}async error(e,t){await this.prompt({type:Yt.Error,message:e,detail:t})}}const kf=class kf{info(e){return this.notify({severity:Yt.Info,message:e})}warn(e){return this.notify({severity:Yt.Warning,message:e})}error(e){return this.notify({severity:Yt.Error,message:e})}notify(e){switch(e.severity){case Yt.Error:console.error(e.message);break;case Yt.Warning:console.warn(e.message);break;default:console.log(e.message);break}return kf.NO_OP}prompt(e,t,i,n){return kf.NO_OP}status(e,t){return K.None}};kf.NO_OP=new j8;let wy=kf,vy=class{constructor(e){this._onWillExecuteCommand=new A,this._onDidExecuteCommand=new A,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=Oi.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const n=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}};vy=Zo([Ut(0,Qe)],vy);let Md=class extends fH{constructor(e,t,i,n,o,r){super(e,t,i,n,o),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const a=f=>{const g=new ae;g.add($(f,J.KEY_DOWN,m=>{const _=new vt(m);this._dispatch(_,_.target)&&(_.preventDefault(),_.stopPropagation())})),g.add($(f,J.KEY_UP,m=>{const _=new vt(m);this._singleModifierDispatch(_,_.target)&&_.preventDefault()})),this._domNodeListeners.push(new dG(f,g))},l=f=>{for(let g=0;g{f.getOption(61)||a(f.getContainerDomNode())},h=f=>{f.getOption(61)||l(f.getContainerDomNode())};this._register(r.onCodeEditorAdd(c)),this._register(r.onCodeEditorRemove(h)),r.listCodeEditors().forEach(c);const d=f=>{a(f.getContainerDomNode())},u=f=>{l(f.getContainerDomNode())};this._register(r.onDiffEditorAdd(d)),this._register(r.onDiffEditorRemove(u)),r.listDiffEditors().forEach(d)}addDynamicKeybinding(e,t,i,n){return Oo(Oi.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:n}]))}addDynamicKeybindings(e){const t=e.map(i=>({keybinding:jw(i.keybinding,Ds),command:i.command??null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),ve(()=>{for(let i=0;ithis._log(i))}return this._cachedResolver}_documentHasFocus(){return ht.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let n=0;for(const o of e){const r=o.when||void 0,a=o.keybinding;if(!a)i[n++]=new $E(void 0,o.command,o.commandArgs,r,t,null,!1);else{const l=Qf.resolveKeybinding(a,Ds);for(const c of l)i[n++]=new $E(c,o.command,o.commandArgs,r,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new pc(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new Qf([t],Ds)}};Md=Zo([Ut(0,Xe),Ut(1,Jn),Ut(2,Xa),Ut(3,lo),Ut(4,ps),Ut(5,Qt)],Md);class dG extends K{constructor(e,t){super(),this.domNode=e,this._register(t)}}function wN(s){return s&&typeof s=="object"&&(!s.overrideIdentifier||typeof s.overrideIdentifier=="string")&&(!s.resource||s.resource instanceof De)}let z_=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new A,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new iG(e);this._configuration=new Wb(t.reload(),Ci.createEmptyModel(e),Ci.createEmptyModel(e),Ci.createEmptyModel(e),Ci.createEmptyModel(e),Ci.createEmptyModel(e),new Gn,Ci.createEmptyModel(e),new Gn,e),t.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,n=wN(e)?e:wN(t)?t:{};return this._configuration.getValue(i,n,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const n of e){const[o,r]=n;this.getValue(o)!==r&&(this._configuration.updateValue(o,r),i.push(o))}if(i.length>0){const n=new lH({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);n.source=8,this._onDidChangeConfiguration.fire(n)}return Promise.resolve()}updateValue(e,t,i,n){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};z_=Zo([Ut(0,ps)],z_);let Sy=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new A,this.configurationService.onDidChangeConfiguration(n=>{this._onDidChangeConfiguration.fire({affectedKeys:n.affectedKeys,affectsConfiguration:(o,r)=>n.affectsConfiguration(r)})})}getValue(e,t,i){const n=W.isIPosition(t)?t:null,o=n?typeof i=="string"?i:void 0:typeof t=="string"?t:void 0,r=e?this.getLanguage(e,n):void 0;return typeof o>"u"?this.configurationService.getValue({resource:e,overrideIdentifier:r}):this.configurationService.getValue(o,{resource:e,overrideIdentifier:r})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};Sy=Zo([Ut(0,Ft),Ut(1,Qi),Ut(2,gi)],Sy);let yy=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&typeof i=="string"&&i!=="auto"?i:mn||Ve?` `:`\r `}};yy=Zo([Ut(0,Ft)],yy);class uG{publicLog2(){}}const xf=class xf{constructor(){const e=De.from({scheme:xf.SCHEME,authority:"model",path:"/"});this.workspace={id:PA,folders:[new IH({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===xf.SCHEME?this.workspace.folders[0]:null}};xf.SCHEME="inmemory";let Ly=xf;function U_(s,e,t){if(!e||!(s instanceof z_))return;const i=[];Object.keys(e).forEach(n=>{nH(n)&&i.push([`editor.${n}`,e[n]]),t&&sH(n)&&i.push([`diffEditor.${n}`,e[n]])}),i.length>0&&s.updateValues(i)}let ky=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:Vk.convert(e),n=new Map;for(const a of i){if(!(a instanceof Jl))throw new Error("bad edit - only text edits are supported");const l=this._modelService.getModel(a.resource);if(!l)throw new Error("bad edit - model not found");if(typeof a.versionId=="number"&&l.getVersionId()!==a.versionId)throw new Error("bad state - model changed in the meantime");let c=n.get(l);c||(c=[],n.set(l,c)),c.push(cS.replaceMove(R.lift(a.textEdit.range),a.textEdit.text))}let o=0,r=0;for(const[a,l]of n)a.pushStackElement(),a.pushEditOperations([],l,()=>[]),a.pushStackElement(),r+=1,o+=l.length;return{ariaSummary:Ap(uS.bulkEditServiceSummary,o,r),isApplied:o>0}}};ky=Zo([Ut(0,Qi)],ky);class fG{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return Ok(e)}}let xy=class extends YV{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const n=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();n&&(t=n.getContainerDomNode())}return super.showContextView(e,t,i)}};xy=Zo([Ut(0,Ja),Ut(1,Qt)],xy);class gG{constructor(){this._neverEmitter=new A,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class mG extends _S{constructor(){super()}}class pG extends sG{constructor(){super(new y3)}}let Dy=class extends DS{constructor(e,t,i,n,o,r){super(e,t,i,n,o,r),this.configure({blockMouse:!1})}};Dy=Zo([Ut(0,Xa),Ut(1,lo),Ut(2,Wg),Ut(3,Ti),Ut(4,Oc),Ut(5,Xe)],Dy);const Ey={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let Iy=class extends xv{constructor(e,t,i,n,o){super(Ey,e,t,i,n,o)}};Iy=Zo([Ut(0,Qi),Ut(1,_k),Ut(2,ps),Ut(3,qo),Ut(4,at)],Iy);class _G{async playSignal(e,t){}}je(ps,pG,0);je(Ft,z_,0);je(_k,Sy,0);je(DR,yy,0);je(kH,Ly,0);je(CH,fG,0);je(Xa,uG,0);je(MR,hG,0);je(BR,cG,0);je(lo,wy,0);je(Hc,da,0);je(gi,mG,0);je(Fs,Bj,0);je(Qi,HS,0);je(f4,MS,0);je(Xe,_y,0);je(wH,lG,0);je(zk,Cy,0);je(Kb,Uz,0);je(Vc,Iy,0);je(eH,ky,0);je(TH,gG,0);je(Tg,by,0);je(co,hy,0);je(Go,Zq,0);je(Jn,vy,0);je(Ti,Md,0);je(Gb,ay,0);je(Wg,xy,0);je(Vg,TS,0);je(Ix,my,0);je(Gr,Dy,0);je(Oc,dy,0);je(jd,_G,0);je(T4,rG,0);var fe;(function(s){const e=new qd;for(const[l,c]of f2())e.set(l,c);const t=new H_(e,!0);e.set(Qe,t);function i(l){n||r({});const c=e.get(l);if(!c)throw new Error("Missing service "+l);return c instanceof No?t.invokeFunction(h=>h.get(l)):c}s.get=i;let n=!1;const o=new A;function r(l){if(n)return t;n=!0;for(const[h,d]of f2())e.get(h)||e.set(h,d);for(const h in l)if(l.hasOwnProperty(h)){const d=Be(h);e.get(d)instanceof No&&e.set(d,l[h])}const c=oG();for(const h of c)try{t.createInstance(h)}catch(d){ut(d)}return o.fire(),t}s.initialize=r;function a(l){if(n)return l();const c=new ae,h=c.add(o.event(()=>{h.dispose(),c.add(l())}));return c}s.withServices=a})(fe||(fe={}));function bG(s,e){return new CG(s,e)}class CG extends Xp{constructor(e,t){const i={amdModuleId:Ey.amdModuleId,esmModuleLocation:Ey.esmModuleLocation,label:t.label};super(i,t.keepIdleModels||!1,e),this._foreignModuleId=t.moduleId,this._foreignModuleCreateData=t.createData||null,this._foreignModuleHost=t.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?BC(this._foreignModuleHost):[];return e.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const n=(a,l)=>e.$fmr(a,l),o=(a,l)=>function(){const c=Array.prototype.slice.call(arguments,0);return l(a,c)},r={};for(const a of i)r[a]=o(a,n);return r})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this.workerWithSyncedResources(e).then(t=>this.getProxy())}}const Zg={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};class Is{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,n=t.length;if(i!==n)return!1;for(let o=0;o=o||(a[l++]=new Is(Math.max(1,c.startColumn-n+1),Math.min(r+1,c.endColumn-n+1),c.className,c.type));return a}static filter(e,t,i,n){if(e.length===0)return[];const o=[];let r=0;for(let a=0,l=e.length;at||h.isEmpty()&&(c.type===0||c.type===3))continue;const d=h.startLineNumber===t?h.startColumn:i,u=h.endLineNumber===t?h.endColumn:n;o[r++]=new Is(d,u,c.inlineClassName,c.type)}return o}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=Is._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class wG{static normalize(e,t){if(t.length===0)return[];const i=[],n=new $_;let o=0;for(let r=0,a=t.length;r1){const m=e.charCodeAt(c-2);ai(m)&&c--}if(h>1){const m=e.charCodeAt(h-2);ai(m)&&h--}const f=c-1,g=h-2;o=n.consumeLowerThan(f,o,i),n.count===0&&(o=f),n.insert(g,d,u)}return n.consumeLowerThan(1073741824,o,i),i}}class li{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class mP{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class Gd{constructor(e,t,i,n,o,r,a,l,c,h,d,u,f,g,m,_,b,C,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=o,this.containsRTL=r,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=c.sort(Is.compare),this.tabSize=h,this.startVisibleColumn=d,this.spaceWidth=u,this.stopRenderingLineAfter=m,this.renderWhitespace=_==="all"?4:_==="boundary"?1:_==="selection"?2:_==="trailing"?3:0,this.renderControlCharacters=b,this.fontLigatures=C,this.selectionsOnLine=v&&v.sort((L,k)=>L.startOffset>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,n){const o=(t<<16|i<<0)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=To.getPartIndex(t),n=To.getCharIndex(t);return new pP(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const n=(e<<16|i<<0)>>>0;let o=0,r=this.length-1;for(;o+1>>1,_=this._data[m];if(_===n)return m;_>n?r=m:o=m}if(o===r)return o;const a=this._data[o],l=this._data[r];if(a===n)return o;if(l===n)return r;const c=To.getPartIndex(a),h=To.getCharIndex(a),d=To.getPartIndex(l);let u;c!==d?u=t:u=To.getCharIndex(l);const f=i-h,g=u-i;return f<=g?o:r}}class Ny{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function Tx(s,e){if(s.lineContent.length===0){if(s.lineDecorations.length>0){e.appendString("");let t=0,i=0,n=0;for(const r of s.lineDecorations)(r.type===1||r.type===2)&&(e.appendString(''),r.type===1&&(n|=1,t++),r.type===2&&(n|=2,i++));e.appendString("");const o=new To(1,t+i);return o.setColumnInfo(1,t,0,0),new Ny(o,!1,n)}return e.appendString(""),new Ny(new To(0,0),!1,0)}return IG(yG(s),e)}class vG{constructor(e,t,i,n){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=n}}function n0(s){const e=new Eb(1e4),t=Tx(s,e);return new vG(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}class SG{constructor(e,t,i,n,o,r,a,l,c,h,d,u,f,g,m,_){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=n,this.isOverflowing=o,this.overflowingCharCount=r,this.parts=a,this.containsForeignElements=l,this.fauxIndentLength=c,this.tabSize=h,this.startVisibleColumn=d,this.containsRTL=u,this.spaceWidth=f,this.renderSpaceCharCode=g,this.renderWhitespace=m,this.renderControlCharacters=_}}function yG(s){const e=s.lineContent;let t,i,n;s.stopRenderingLineAfter!==-1&&s.stopRenderingLineAfter0){for(let a=0,l=s.lineDecorations.length;a0&&(o[r++]=new li(i,"",0,!1));let a=i;for(let l=0,c=t.getCount();l=n){const f=e?Pf(s.substring(a,n)):!1;o[r++]=new li(n,d,0,f);break}const u=e?Pf(s.substring(a,h)):!1;o[r++]=new li(h,d,0,u),a=h}return o}function kG(s,e,t){let i=0;const n=[];let o=0;if(t)for(let r=0,a=e.length;r=50&&(n[o++]=new li(f+1,h,d,u),g=f+1,f=-1);g!==c&&(n[o++]=new li(c,h,d,u))}else n[o++]=l;i=c}else for(let r=0,a=e.length;r50){const d=l.type,u=l.metadata,f=l.containsRTL,g=Math.ceil(h/50);for(let m=1;m=8234&&s<=8238||s>=8294&&s<=8297||s>=8206&&s<=8207||s===1564}function xG(s,e){const t=[];let i=new li(0,"",0,!1),n=0;for(const o of e){const r=o.endIndex;for(;ni.endIndex&&(i=new li(n,o.type,o.metadata,o.containsRTL),t.push(i)),i=new li(n+1,"mtkcontrol",o.metadata,!1),t.push(i))}n>i.endIndex&&(i=new li(r,o.type,o.metadata,o.containsRTL),t.push(i))}return t}function DG(s,e,t,i){const n=s.continuesWithWrappedLine,o=s.fauxIndentLength,r=s.tabSize,a=s.startVisibleColumn,l=s.useMonospaceOptimizations,c=s.selectionsOnLine,h=s.renderWhitespace===1,d=s.renderWhitespace===3,u=s.renderSpaceWidth!==s.spaceWidth,f=[];let g=0,m=0,_=i[m].type,b=i[m].containsRTL,C=i[m].endIndex;const v=i.length;let w=!1,y=In(e),L;y===-1?(w=!0,y=t,L=t):L=Tc(e);let k=!1,D=0,E=c&&c[D],U=a%r;for(let B=o;B=E.endOffset&&(D++,E=c&&c[D]);let F;if(BL)F=!0;else if(z===9)F=!0;else if(z===32)if(h)if(k)F=!0;else{const q=B+1B),F&&d&&(F=w||B>L),F&&b&&B>=y&&B<=L&&(F=!1),k){if(!F||!l&&U>=r){if(u){const q=g>0?f[g-1].endIndex:o;for(let X=q+1;X<=B;X++)f[g++]=new li(X,"mtkw",1,!1)}else f[g++]=new li(B,"mtkw",1,!1);U=U%r}}else(B===C||F&&B>o)&&(f[g++]=new li(B,_,0,b),U=U%r);for(z===9?U=r:Va(z)?U+=2:U++,k=F;B===C&&(m++,m0?e.charCodeAt(t-1):0,z=t>1?e.charCodeAt(t-2):0;B===32&&z!==32&&z!==9||(O=!0)}else O=!0;if(O)if(u){const B=g>0?f[g-1].endIndex:o;for(let z=B+1;z<=t;z++)f[g++]=new li(z,"mtkw",1,!1)}else f[g++]=new li(t,"mtkw",1,!1);else f[g++]=new li(t,_,0,b);return f}function EG(s,e,t,i){i.sort(Is.compare);const n=wG.normalize(s,i),o=n.length;let r=0;const a=[];let l=0,c=0;for(let d=0,u=t.length;dc&&(c=C.startOffset,a[l++]=new li(c,m,_,b)),C.endOffset+1<=g)c=C.endOffset+1,a[l++]=new li(c,m+" "+C.className,_|C.metadata,b),r++;else{c=g,a[l++]=new li(c,m+" "+C.className,_|C.metadata,b);break}}g>c&&(c=g,a[l++]=new li(c,m,_,b))}const h=t[t.length-1].endIndex;if(r'):e.appendString("");for(let E=0,U=c.length;E=h&&(ge+=yt)}}for(X&&(e.appendString(' style="width:'),e.appendString(String(g*se)),e.appendString('px"')),e.appendASCIICharCode(62);w1?e.appendCharCode(8594):e.appendCharCode(65515);for(let yt=2;yt<=me;yt++)e.appendCharCode(160)}else ge=2,me=1,e.appendCharCode(m),e.appendCharCode(8204);L+=ge,k+=me,w>=h&&(y+=me)}}else for(e.appendASCIICharCode(62);w=h&&(y+=ge)}ie?D++:D=0,w>=r&&!v&&O.isPseudoAfter()&&(v=!0,C.setColumnInfo(w+1,E,L,k)),e.appendString("")}return v||C.setColumnInfo(r+1,c.length-1,L,k),a&&(e.appendString(''),e.appendString(p("showMore","Show more ({0})",TG(l))),e.appendString("")),e.appendString(""),new Ny(C,f,n)}function NG(s){return s.toString(16).toUpperCase().padStart(4,"0")}function TG(s){return s<1024?p("overflow.chars","{0} chars",s):s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(1)} MB`}class SN{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=n|0}}class MG{constructor(e,t){this.tabSize=e,this.data=t}}class Mx{constructor(e,t,i,n,o,r,a){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=o,this.tokens=r,this.inlineDecorations=a}}class Xn{constructor(e,t,i,n,o,r,a,l,c,h){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=Xn.isBasicASCII(i,r),this.containsRTL=Xn.containsRTL(i,this.isBasicASCII,o),this.tokens=a,this.inlineDecorations=l,this.tabSize=c,this.startVisibleColumn=h}static isBasicASCII(e,t){return t?UL(e):!0}static containsRTL(e,t,i){return!t&&i?Pf(e):!1}}class af{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class RG{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new af(new R(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class bP{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class cg{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&ii(e.data,t.data)}static equalsArr(e,t){return ii(e,t,cg.equals)}}function AG(s){return Array.isArray(s)}function PG(s){return!AG(s)}function CP(s){return typeof s=="string"}function yN(s){return!CP(s)}function Al(s){return!s}function Vr(s,e){return s.ignoreCase&&e?e.toLowerCase():e}function LN(s){return s.replace(/[&<>'"_]/g,"-")}function OG(s,e){console.log(`${s.languageId}: ${e}`)}function wt(s,e){return new Error(`${s.languageId}: ${e}`)}function Ca(s,e,t,i,n){const o=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let r=null;return e.replace(o,function(a,l,c,h,d,u,f,g,m){return Al(c)?Al(h)?!Al(d)&&d0;){const i=s.tokenizer[t];if(i)return i;const n=t.lastIndexOf(".");n<0?t=null:t=t.substr(0,n)}return null}function BG(s,e){let t=e;for(;t&&t.length>0;){if(s.stateNames[t])return!0;const n=t.lastIndexOf(".");n<0?t=null:t=t.substr(0,n)}return!1}var WG=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},VG=function(s,e){return function(t,i){e(t,i,s)}},Ty;const wP=5,q1=class q1{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new ad(e,t);let i=ad.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let n=this._entries[i];return n||(n=new ad(e,t),this._entries[i]=n,n)}};q1._INSTANCE=new q1(wP);let hg=q1;class ad{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return ad._equals(this,e)}push(e){return hg.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return hg.create(this.parent,e)}}class xh{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new xh(this.languageId,this.state)}}const j1=class j1{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new lf(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new lf(e,t);const i=ad.getStackElementId(e);let n=this._entries[i];return n||(n=new lf(e,null),this._entries[i]=n,n)}};j1._INSTANCE=new j1(wP);let wa=j1;class lf{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:wa.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof lf)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}}class HG{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Af(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,n){const o=i.languageId,r=i.state,a=qt.get(o);if(!a)return this.enterLanguage(o),this.emit(n,""),r;const l=a.tokenize(e,t,r);if(n!==0)for(const c of l.tokens)this._tokens.push(new Af(c.offset+n,c.type,c.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new FL(this._tokens,e)}}class K_{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const n=e!==null?e.length:0,o=t.length,r=i!==null?i.length:0;if(n===0&&o===0&&r===0)return new Uint32Array(0);if(n===0&&o===0)return i;if(o===0&&r===0)return e;const a=new Uint32Array(n+o+r);e!==null&&a.set(e);for(let l=0;l{if(r)return;let l=!1;for(let c=0,h=a.changedLanguages.length;c{a.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=qt.get(t);if(i){if(i instanceof Ty){const n=i.getLoadStatus();n.loaded===!1&&e.push(n.promise)}continue}qt.isResolved(t)||e.push(qt.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=hg.create(null,this._lexer.start);return wa.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return MA(this._languageId,i);const n=new HG,o=this._tokenize(e,t,i,n);return n.finalize(o)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return Wk(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const n=new K_(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),o=this._tokenize(e,t,i,n);return n.finalize(o)}_tokenize(e,t,i,n){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,n):this._myTokenize(e,t,i,0,n)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=Wm(this._lexer,t.stack.state),!i))throw wt(this._lexer,"tokenizer state is not defined: "+t.stack.state);let n=-1,o=!1;for(const r of i){if(!yN(r.action)||r.action.nextEmbedded!=="@pop")continue;o=!0;let a=r.resolveRegex(t.stack.state);const l=a.source;if(l.substr(0,4)==="^(?:"&&l.substr(l.length-1,1)===")"){const h=(a.ignoreCase?"i":"")+(a.unicode?"u":"");a=new RegExp(l.substr(4,l.length-5),h)}const c=e.search(a);c===-1||c!==0&&r.matchOnlyAtLineStart||(n===-1||c0&&o.nestedLanguageTokenize(a,!1,i.embeddedLanguageData,n);const l=e.substring(r);return this._myTokenize(l,t,i,n+r,o)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,n,o){o.enterLanguage(this._languageId);const r=e.length,a=t&&this._lexer.includeLF?e+` `:e,l=a.length;let c=i.embeddedLanguageData,h=i.stack,d=0,u=null,f=!0;for(;f||d=l)break;f=!1;let E=this._lexer.tokenizer[b];if(!E&&(E=Wm(this._lexer,b),!E))throw wt(this._lexer,"tokenizer state is not defined: "+b);const U=a.substr(d);for(const O of E)if((d===0||!O.matchOnlyAtLineStart)&&(C=U.match(O.resolveRegex(b)),C)){v=C[0],w=O.action;break}}if(C||(C=[""],v=""),w||(d=this._lexer.maxStack)throw wt(this._lexer,"maximum tokenizer stack size reached: ["+h.state+","+h.parent.state+",...]");h=h.push(b)}else if(w.next==="@pop"){if(h.depth<=1)throw wt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(y));h=h.pop()}else if(w.next==="@popall")h=h.popall();else{let E=Ca(this._lexer,w.next,v,C,b);if(E[0]==="@"&&(E=E.substr(1)),Wm(this._lexer,E))h=h.push(E);else throw wt(this._lexer,"trying to set a next state '"+E+"' that is undefined in rule: "+this._safeRuleName(y))}}w.log&&typeof w.log=="string"&&OG(this._lexer,this._lexer.languageId+": "+Ca(this._lexer,w.log,v,C,b))}if(k===null)throw wt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(y));const D=E=>{const U=this._languageService.getLanguageIdByLanguageName(E)||this._languageService.getLanguageIdByMimeType(E)||E,O=this._getNestedEmbeddedLanguageData(U);if(d0)throw wt(this._lexer,"groups cannot be nested: "+this._safeRuleName(y));if(C.length!==k.length+1)throw wt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(y));let E=0;for(let U=1;Us});class Rx{static colorizeElement(e,t,i,n){n=n||{};const o=n.theme||"vs",r=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const a=t.getLanguageIdByMimeType(r)||r;e.setTheme(o);const l=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+o;const c=h=>{const d=UG?.createHTML(h)??h;i.innerHTML=d};return this.colorize(t,l||"",a,n).then(c,h=>console.error(h))}static async colorize(e,t,i,n){const o=e.languageIdCodec;let r=4;n&&typeof n.tabSize=="number"&&(r=n.tabSize),KL(t)&&(t=t.substr(1));const a=Fd(t);if(!e.isRegisteredLanguageId(i))return kN(a,r,o);const l=await qt.getOrCreate(i);return l?$G(a,r,l,o):kN(a,r,o)}static colorizeLine(e,t,i,n,o=4){const r=Xn.isBasicASCII(e,t),a=Xn.containsRTL(e,r,i);return n0(new Gd(!1,!0,e,!1,r,a,0,n,[],o,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const n=e.getLineContent(t);e.tokenization.forceTokenization(t);const r=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),r,i)}}function $G(s,e,t,i){return new Promise((n,o)=>{const r=()=>{const a=KG(s,e,t,i);if(t instanceof dg){const l=t.getLoadStatus();if(l.loaded===!1){l.promise.then(r,o);return}}n(a)};r()})}function kN(s,e,t){let i=[];const o=new Uint32Array(2);o[0]=0,o[1]=33587200;for(let r=0,a=s.length;r")}return i.join("")}function KG(s,e,t,i){let n=[],o=t.getInitialState();for(let r=0,a=s.length;r"),o=c.endState}return n.join("")}var qG=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},jG=function(s,e){return function(t,i){e(t,i,s)}},ud;let q_=(ud=class{constructor(e,t){}dispose(){}},ud.ID="editor.contrib.markerDecorations",ud);q_=qG([jG(1,f4)],q_);tR(q_.ID,q_,0);class vP extends K{constructor(e,t){super(),this._onDidChange=this._register(new A),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;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,n=!1;const o=()=>{if(i&&!n)try{i=!1,n=!0,t()}finally{Tn(ue(this._referenceDomElement),()=>{n=!1,o()})}};this._resizeObserver=new ResizeObserver(r=>{r&&r[0]&&r[0].contentRect?e={width:r[0].contentRect.width,height:r[0].contentRect.height}:e=null,i=!0,o()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,n=0;t?(i=t.width,n=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,n=this._referenceDomElement.clientHeight),i=Math.max(5,i),n=Math.max(5,n),(this._width!==i||this._height!==n)&&(this._width=i,this._height=n,e&&this._onDidChange.fire())}}const Vh=class Vh{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=Vh._read(e,this.key),i=o=>Vh._read(e,o),n=(o,r)=>Vh._write(e,o,r);this.migrate(t,i,n)}static _read(e,t){if(typeof e>"u")return;const i=t.indexOf(".");if(i>=0){const n=t.substring(0,i);return this._read(e[n],t.substring(i+1))}return e[t]}static _write(e,t,i){const n=t.indexOf(".");if(n>=0){const o=t.substring(0,n);e[o]=e[o]||{},this._write(e[o],t.substring(n+1),i);return}e[t]=i}};Vh.items=[];let ug=Vh;function uo(s,e){ug.items.push(new ug(s,e))}function Mn(s,e){uo(s,(t,i,n)=>{if(typeof t<"u"){for(const[o,r]of e)if(t===o){n(s,r);return}}})}function GG(s){ug.items.forEach(e=>e.apply(s))}Mn("wordWrap",[[!0,"on"],[!1,"off"]]);Mn("lineNumbers",[[!0,"on"],[!1,"off"]]);Mn("cursorBlinking",[["visible","solid"]]);Mn("renderWhitespace",[[!0,"boundary"],[!1,"none"]]);Mn("renderLineHighlight",[[!0,"line"],[!1,"none"]]);Mn("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]);Mn("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]);Mn("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);Mn("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);Mn("autoIndent",[[!1,"advanced"],[!0,"full"]]);Mn("matchBrackets",[[!0,"always"],[!1,"never"]]);Mn("renderFinalNewline",[[!0,"on"],[!1,"off"]]);Mn("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]);Mn("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]);Mn("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]);uo("autoClosingBrackets",(s,e,t)=>{s===!1&&(t("autoClosingBrackets","never"),typeof e("autoClosingQuotes")>"u"&&t("autoClosingQuotes","never"),typeof e("autoSurround")>"u"&&t("autoSurround","never"))});uo("renderIndentGuides",(s,e,t)=>{typeof s<"u"&&(t("renderIndentGuides",void 0),typeof e("guides.indentation")>"u"&&t("guides.indentation",!!s))});uo("highlightActiveIndentGuide",(s,e,t)=>{typeof s<"u"&&(t("highlightActiveIndentGuide",void 0),typeof e("guides.highlightActiveIndentation")>"u"&&t("guides.highlightActiveIndentation",!!s))});const ZG={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"};uo("suggest.filteredTypes",(s,e,t)=>{if(s&&typeof s=="object"){for(const i of Object.entries(ZG))s[i[0]]===!1&&typeof e(`suggest.${i[1]}`)>"u"&&t(`suggest.${i[1]}`,!1);t("suggest.filteredTypes",void 0)}});uo("quickSuggestions",(s,e,t)=>{if(typeof s=="boolean"){const i=s?"on":"off";t("quickSuggestions",{comments:i,strings:i,other:i})}});uo("experimental.stickyScroll.enabled",(s,e,t)=>{typeof s=="boolean"&&(t("experimental.stickyScroll.enabled",void 0),typeof e("stickyScroll.enabled")>"u"&&t("stickyScroll.enabled",s))});uo("experimental.stickyScroll.maxLineCount",(s,e,t)=>{typeof s=="number"&&(t("experimental.stickyScroll.maxLineCount",void 0),typeof e("stickyScroll.maxLineCount")>"u"&&t("stickyScroll.maxLineCount",s))});uo("codeActionsOnSave",(s,e,t)=>{if(s&&typeof s=="object"){let i=!1;const n={};for(const o of Object.entries(s))typeof o[1]=="boolean"?(i=!0,n[o[0]]=o[1]?"explicit":"never"):n[o[0]]=o[1];i&&t("codeActionsOnSave",n)}});uo("codeActionWidget.includeNearbyQuickfixes",(s,e,t)=>{typeof s=="boolean"&&(t("codeActionWidget.includeNearbyQuickfixes",void 0),typeof e("codeActionWidget.includeNearbyQuickFixes")>"u"&&t("codeActionWidget.includeNearbyQuickFixes",s))});uo("lightbulb.enabled",(s,e,t)=>{typeof s=="boolean"&&t("lightbulb.enabled",s?void 0:"off")});class YG{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new A,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}}const j_=new YG;var QG=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},XG=function(s,e){return function(t,i){e(t,i,s)}};let My=class extends K{constructor(e,t,i,n,o){super(),this._accessibilityService=o,this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new A),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new QT,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new vP(n,i.dimension)),this._targetWindowId=ue(n).vscodeWindowId,this._rawOptions=xN(i),this._validatedOptions=va.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(ma.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(j_.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(lv.onDidChange(()=>this._recomputeOptions())),this._register(zp.getInstance(ue(n)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=va.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=Yl.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),n={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:j_.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return va.computeOptions(this._validatedOptions,n)}_readEnvConfiguration(){return{extraEditorClassName:eZ(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:gb||Rs,pixelRatio:zp.getInstance(XD(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return lv.readFontInfo(XD(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=xN(e);va.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=va.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=JG(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())}};My=QG([XG(4,co)],My);function JG(s){let e=0;for(;s;)s=Math.floor(s/10),e++;return e||1}function eZ(){let s="";return!Ha&&!vM&&(s+="no-user-select "),Ha&&(s+="no-minimap-shadow ",s+="enable-user-select "),Ve&&(s+="mac "),s}class tZ{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class iZ{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class va{static validateOptions(e){const t=new tZ;for(const i of uh){const n=i.name==="_never_"?void 0:e[i.name];t._write(i.id,i.validate(n))}return t}static computeOptions(e,t){const i=new iZ;for(const n of uh)i._write(n.id,n.compute(t,i,e._read(n.id)));return i}static _deepEquals(e,t){if(typeof e!="object"||typeof t!="object"||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)?ii(e,t):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!va._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let n=!1;for(const o of uh){const r=!va._deepEquals(e._read(o.id),t._read(o.id));i[o.id]=r,r&&(n=!0)}return n?new YT(i):null}static applyUpdate(e,t){let i=!1;for(const n of uh)if(t.hasOwnProperty(n.name)){const o=n.applyUpdate(e[n.name],t[n.name]);e[n.name]=o.newValue,i=i||o.didChange}return i}}function xN(s){const e=ca(s);return GG(e),e}var Ea;(function(s){const e={total:0,min:Number.MAX_VALUE,max:0},t={...e},i={...e},n={...e};let o=0;const r={keydown:0,input:0,render:0};function a(){b(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(l)}s.onKeyDown=a;function l(){r.keydown===1&&(performance.mark("keydown/end"),r.keydown=2)}function c(){performance.mark("input/start"),r.input=1,_()}s.onBeforeInput=c;function h(){r.input===0&&c(),queueMicrotask(d)}s.onInput=h;function d(){r.input===1&&(performance.mark("input/end"),r.input=2)}function u(){b()}s.onKeyUp=u;function f(){b()}s.onSelectionChange=f;function g(){r.keydown===2&&r.input===2&&r.render===0&&(performance.mark("render/start"),r.render=1,queueMicrotask(m),_())}s.onRenderStart=g;function m(){r.render===1&&(performance.mark("render/end"),r.render=2)}function _(){setTimeout(b)}function b(){r.keydown===2&&r.input===2&&r.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"),C("keydown",e),C("input",t),C("render",i),C("inputlatency",n),o++,v())}function C(k,D){const E=performance.getEntriesByName(k)[0].duration;D.total+=E,D.min=Math.min(D.min,E),D.max=Math.max(D.max,E)}function v(){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"),r.keydown=0,r.input=0,r.render=0}function w(){if(o===0)return;const k={keydown:y(e),input:y(t),render:y(i),total:y(n),sampleCount:o};return L(e),L(t),L(i),L(n),o=0,k}s.getAndClearMeasurements=w;function y(k){return{average:k.total/o,max:k.max,min:k.min}}function L(k){k.total=0,k.min=Number.MAX_VALUE,k.max=0}})(Ea||(Ea={}));class s0{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new SP(this.x-e.scrollX,this.y-e.scrollY)}}class SP{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new s0(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class nZ{constructor(e,t,i,n){this.x=e,this.y=t,this.width=i,this.height=n,this._editorPagePositionBrand=void 0}}class sZ{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function Ax(s){const e=ds(s);return new nZ(e.left,e.top,e.width,e.height)}function Px(s,e,t){const i=e.width/s.offsetWidth,n=e.height/s.offsetHeight,o=(t.x-e.x)/i,r=(t.y-e.y)/n;return new sZ(o,r)}class Ga extends Qs{constructor(e,t,i){super(ue(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new s0(this.posx,this.posy),this.editorPos=Ax(i),this.relativePos=Px(i,this.editorPos,this.pos)}}class oZ{constructor(e){this._editorViewDomNode=e}_create(e){return new Ga(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return $(e,"contextmenu",i=>{t(this._create(i))})}onMouseUp(e,t){return $(e,"mouseup",i=>{t(this._create(i))})}onMouseDown(e,t){return $(e,J.MOUSE_DOWN,i=>{t(this._create(i))})}onPointerDown(e,t){return $(e,J.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onMouseLeave(e,t){return $(e,J.MOUSE_LEAVE,i=>{t(this._create(i))})}onMouseMove(e,t){return $(e,"mousemove",i=>t(this._create(i)))}}class rZ{constructor(e){this._editorViewDomNode=e}_create(e){return new Ga(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return $(e,"pointerup",i=>{t(this._create(i))})}onPointerDown(e,t){return $(e,J.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onPointerLeave(e,t){return $(e,J.POINTER_LEAVE,i=>{t(this._create(i))})}onPointerMove(e,t){return $(e,"pointermove",i=>t(this._create(i)))}}class aZ extends K{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new Pb),this._keydownListener=null}startMonitoring(e,t,i,n,o){this._keydownListener=di(e.ownerDocument,"keydown",r=>{r.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,r.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,r=>{n(new Ga(r,!0,this._editorViewDomNode))},r=>{this._keydownListener.dispose(),o(r)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}const G1=class G1{constructor(e){this._editor=e,this._instanceId=++G1._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new Gi(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const n=this._counter++;i=new lZ(t,`dyn-rule-${this._instanceId}-${n}`,Wp(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}};G1._idPool=0;let DN=G1;class lZ{constructor(e,t,i,n){this.key=e,this.className=t,this.properties=n,this._referenceCount=0,this._styleElementDisposables=new ae,this._styleElement=Yn(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const n in t){const o=t[n];let r;typeof o=="object"?r=te(o.id):r=o;const a=cZ(n);i+=` ${a}: ${r};`}return i+=` }`,i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function cZ(s){return s.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class Yg extends K{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i=a.left?n.width=Math.max(n.width,a.left+a.width-n.left):(t[i++]=n,n=a)}return t[i++]=n,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||e.length===0)return null;const n=[];for(let o=0,r=e.length;ol)return null;if(t=Math.min(l,Math.max(0,t)),n=Math.min(l,Math.max(0,n)),t===n&&i===o&&i===0&&!e.children[t].firstChild){const u=e.children[t].getClientRects();return r.markDidDomLayout(),this._createHorizontalRangesFromClientRects(u,r.clientRectDeltaLeft,r.clientRectScale)}t!==n&&n>0&&o===0&&(n--,o=1073741824);let c=e.children[t].firstChild,h=e.children[n].firstChild;if((!c||!h)&&(!c&&i===0&&t>0&&(c=e.children[t-1].firstChild,i=1073741824),!h&&o===0&&n>0&&(h=e.children[n-1].firstChild,o=1073741824)),!c||!h)return null;i=Math.min(c.textContent.length,Math.max(0,i)),o=Math.min(h.textContent.length,Math.max(0,o));const d=this._readClientRects(c,i,h,o,r.endNode);return r.markDidDomLayout(),this._createHorizontalRangesFromClientRects(d,r.clientRectDeltaLeft,r.clientRectScale)}}const gZ=function(){return Ep?!0:!(mn||Rs||Ha)}();let ld=!0;class IN{constructor(e,t){this.themeType=t;const i=e.options,n=i.get(50);i.get(38)==="off"?this.renderWhitespace=i.get(100):this.renderWhitespace="none",this.renderControlCharacters=i.get(95),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.useMonospaceOptimizations=n.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(118),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}const Z1=class Z1{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=qe(e);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return Yh(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,t,i,n,o){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const r=n.getViewLineRenderingData(e),a=this._options,l=Is.filter(r.inlineDecorations,e,r.minColumn,r.maxColumn);let c=null;if(Yh(a.themeType)||this._options.renderWhitespace==="selection"){const f=n.selections;for(const g of f){if(g.endLineNumbere)continue;const m=g.startLineNumber===e?g.startColumn:r.minColumn,_=g.endLineNumber===e?g.endColumn:r.maxColumn;m<_&&(Yh(a.themeType)&&l.push(new Is(m,_,"inline-selected-text",0)),this._options.renderWhitespace==="selection"&&(c||(c=[]),c.push(new mP(m-1,_-1))))}}const h=new Gd(a.useMonospaceOptimizations,a.canUseHalfwidthRightwardsArrow,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,r.minColumn-1,r.tokens,l,r.tabSize,r.startVisibleColumn,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,a.stopRenderingLineAfter,a.renderWhitespace,a.renderControlCharacters,a.fontLigatures!==mc.OFF,c);if(this._renderedViewLine&&this._renderedViewLine.input.equals(h))return!1;o.appendString('
    ');const d=Tx(h,o);o.appendString("
    ");let u=null;return ld&&gZ&&r.isBasicASCII&&a.useMonospaceOptimizations&&d.containsForeignElements===0&&(u=new Vm(this._renderedViewLine?this._renderedViewLine.domNode:null,h,d.characterMapping)),u||(u=LP(this._renderedViewLine?this._renderedViewLine.domNode:null,h,d.characterMapping,d.containsRTL,d.containsForeignElements)),this._renderedViewLine=u,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof Vm:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof Vm?this._renderedViewLine.monospaceAssumptionsAreValid():ld}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof Vm&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,n){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const o=this._renderedViewLine.input.stopRenderingLineAfter;if(o!==-1&&t>o+1&&i>o+1)return new EN(!0,[new sc(this.getWidth(n),0)]);o!==-1&&t>o+1&&(t=o+1),o!==-1&&i>o+1&&(i=o+1);const r=this._renderedViewLine.getVisibleRangesForRange(e,t,i,n);return r&&r.length>0?new EN(!1,r):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}};Z1.CLASS_NAME="view-line";let kr=Z1;class Vm{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const n=Math.floor(t.lineContent.length/300);if(n>0){this._keyColumnPixelOffsetCache=new Float32Array(n);for(let o=0;o=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),ld=!1)}return ld}toSlowRenderedLine(){return LP(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,n){const o=this._getColumnPixelOffset(e,t,n),r=this._getColumnPixelOffset(e,i,n);return[new sc(o,r-o)]}_getColumnPixelOffset(e,t,i){if(t<=300){const c=this._characterMapping.getHorizontalOffset(t);return this._charWidth*c}const n=Math.floor((t-1)/300)-1,o=(n+1)*300+1;let r=-1;if(this._keyColumnPixelOffsetCache&&(r=this._keyColumnPixelOffsetCache[n],r===-1&&(r=this._actualReadPixelOffset(e,o,i),this._keyColumnPixelOffsetCache[n]=r)),r===-1){const c=this._characterMapping.getHorizontalOffset(t);return this._charWidth*c}const a=this._characterMapping.getHorizontalOffset(o),l=this._characterMapping.getHorizontalOffset(t);return r+this._charWidth*(l-a)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const n=this._characterMapping.getDomPosition(t),o=Cp.readHorizontalRanges(this._getReadingTarget(this.domNode),n.partIndex,n.charIndex,n.partIndex,n.charIndex,i);return!o||o.length===0?-1:o[0].left}getColumnOfNodeOffset(e,t){return kP(this._characterMapping,e,t)}}class yP{constructor(e,t,i,n,o){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let r=0,a=this._characterMapping.length;r<=a;r++)this._pixelOffsetCache[r]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,i,n){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const o=this._readPixelOffset(this.domNode,e,t,n);if(o===-1)return null;const r=this._readPixelOffset(this.domNode,e,i,n);return r===-1?null:[new sc(o,r-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,n)}_readVisibleRangesForRange(e,t,i,n,o){if(i===n){const r=this._readPixelOffset(e,t,i,o);return r===-1?null:[new sc(r,0)]}else return this._readRawVisibleRangesForRange(e,i,n,o)}_readPixelOffset(e,t,i,n){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(n);const o=this._getReadingTarget(e);return o.firstChild?(n.markDidDomLayout(),o.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const o=this._pixelOffsetCache[i];if(o!==-1)return o;const r=this._actualReadPixelOffset(e,t,i,n);return this._pixelOffsetCache[i]=r,r}return this._actualReadPixelOffset(e,t,i,n)}_actualReadPixelOffset(e,t,i,n){if(this._characterMapping.length===0){const l=Cp.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n);return!l||l.length===0?-1:l[0].left}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(n);const o=this._characterMapping.getDomPosition(i),r=Cp.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,n);if(!r||r.length===0)return-1;const a=r[0].left;if(this.input.isBasicASCII){const l=this._characterMapping.getHorizontalOffset(i),c=Math.round(this.input.spaceWidth*l);if(Math.abs(c-a)<=1)return c}return a}_readRawVisibleRangesForRange(e,t,i,n){if(t===1&&i===this._characterMapping.length)return[new sc(0,this.getWidth(n))];const o=this._characterMapping.getDomPosition(t),r=this._characterMapping.getDomPosition(i);return Cp.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,r.partIndex,r.charIndex,n)}getColumnOfNodeOffset(e,t){return kP(this._characterMapping,e,t)}}class mZ extends yP{_readVisibleRangesForRange(e,t,i,n,o){const r=super._readVisibleRangesForRange(e,t,i,n,o);if(!r||r.length===0||i===n||i===1&&n===this._characterMapping.length)return r;if(!this.input.containsRTL){const a=this._readPixelOffset(e,t,n,o);if(a!==-1){const l=r[r.length-1];l.left=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}}class Rd{constructor(e,t,i){this.viewModel=e.viewModel;const n=e.configuration.options;this.layoutInfo=n.get(146),this.viewDomNode=t.viewDomNode,this.lineHeight=n.get(67),this.stickyTabStops=n.get(117),this.typicalHalfwidthCharacterWidth=n.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return Rd.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const n=i.verticalOffset+i.height/2,o=e.viewModel.getLineCount();let r=null,a,l=null;return i.afterLineNumber!==o&&(l=new W(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(r=new W(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),l===null?a=r:r===null?a=l:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Ui._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class wZ extends CZ{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=ro.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,n,o){super(e,t,i,n),this.hitTestResult=new Wa(()=>Ui.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=o;const r=!!this._eventTarget;this._useHitTestTarget=!r}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset} target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columnr.contentLeft+r.width)continue;const a=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(a<=o&&o<=a+r.height)return t.fulfillContentText(r.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const n=t.isInContentArea?8:5;return t.fulfillViewZone(n,i.position,i)}return null}static _hitTestTextArea(e,t){return Ji.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let o=Math.abs(t.relativePos.x);const r={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};if(o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth){const a=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(a.lineNumber);return r.glyphMarginLane=l[Math.floor(o/e.lineHeight)],t.fulfillMargin(2,n,i.range,r)}return o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,r):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,n,i.range,r))}return null}static _hitTestViewLines(e,t){if(!Ji.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new W(1,1),NN);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const n=e.viewModel.getLineCount(),o=e.viewModel.getLineMaxColumn(n);return t.fulfillContentEmpty(new W(n,o),NN)}if(Ji.isStrictChildOfViewLines(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(e.viewModel.getLineLength(n)===0){const r=e.getLineWidth(n),a=SC(t.mouseContentHorizontalOffset-r);return t.fulfillContentEmpty(new W(n,1),a)}const o=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>=o){const r=SC(t.mouseContentHorizontalOffset-o),a=new W(n,e.viewModel.getLineMaxColumn(n));return t.fulfillContentEmpty(a,r)}}const i=t.hitTestResult.value;return i.type===1?Ui.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(Ji.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new W(i,n))}return null}static _hitTestScrollbarSlider(e,t){if(Ji.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new W(n,o))}}return null}static _hitTestScrollbar(e,t){if(Ji.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new W(i,n))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(146),n=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return Ui._getMouseColumn(n,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,n,o){const r=n.lineNumber,a=n.column,l=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>l){const b=SC(t.mouseContentHorizontalOffset-l);return t.fulfillContentEmpty(n,b)}const c=e.visibleRangeForPosition(r,a);if(!c)return t.fulfillUnknown(n);const h=c.left;if(Math.abs(t.mouseContentHorizontalOffset-h)<1)return t.fulfillContentText(n,null,{mightBeForeignElement:!!o,injectedText:o});const d=[];if(d.push({offset:c.left,column:a}),a>1){const b=e.visibleRangeForPosition(r,a-1);b&&d.push({offset:b.left,column:a-1})}const u=e.viewModel.getLineMaxColumn(r);if(ab.offset-C.offset);const f=t.pos.toClientCoordinates(ue(e.viewDomNode)),g=i.getBoundingClientRect(),m=g.left<=f.clientX&&f.clientX<=g.right;let _=null;for(let b=1;bo)){const a=Math.floor((n+o)/2);let l=t.pos.y+(a-t.mouseVerticalOffset);l<=t.editorPos.y&&(l=t.editorPos.y+1),l>=t.editorPos.y+t.editorPos.height&&(l=t.editorPos.y+t.editorPos.height-1);const c=new s0(t.pos.x,l),h=this._actualDoHitTestWithCaretRangeFromPoint(e,c.toClientCoordinates(ue(e.viewDomNode)));if(h.type===1)return h}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(ue(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=bd(e.viewDomNode);let n;if(i?typeof i.caretRangeFromPoint>"u"?n=vZ(i,t.clientX,t.clientY):n=i.caretRangeFromPoint(t.clientX,t.clientY):n=e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!n||!n.startContainer)return new la;const o=n.startContainer;if(o.nodeType===o.TEXT_NODE){const r=o.parentNode,a=r?r.parentNode:null,l=a?a.parentNode:null;return(l&&l.nodeType===l.ELEMENT_NODE?l.className:null)===kr.CLASS_NAME?Pl.createFromDOMInfo(e,r,n.startOffset):new la(o.parentNode)}else if(o.nodeType===o.ELEMENT_NODE){const r=o.parentNode,a=r?r.parentNode:null;return(a&&a.nodeType===a.ELEMENT_NODE?a.className:null)===kr.CLASS_NAME?Pl.createFromDOMInfo(e,o,o.textContent.length):new la(o)}return new la}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const n=i.offsetNode.parentNode,o=n?n.parentNode:null,r=o?o.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===kr.CLASS_NAME?Pl.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new la(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const n=i.offsetNode.parentNode,o=n&&n.nodeType===n.ELEMENT_NODE?n.className:null,r=n?n.parentNode:null,a=r&&r.nodeType===r.ELEMENT_NODE?r.className:null;if(o===kr.CLASS_NAME){const l=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(l)return Pl.createFromDOMInfo(e,l,0)}else if(a===kr.CLASS_NAME)return Pl.createFromDOMInfo(e,i.offsetNode,0)}return new la(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:n}=t.model.getOptions(),o=fg.atomicPosition(i,e.column-1,n,2);return o!==-1?new W(e.lineNumber,o+1):e}static doHitTest(e,t){let i=new la;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(ue(e.viewDomNode)))),i.type===1){const n=e.viewModel.getInjectedTextAt(i.position),o=e.viewModel.normalizePosition(i.position,2);(n||!o.equals(i.position))&&(i=new xP(o,i.spanNode,n))}return i}}function vZ(s,e,t){const i=document.createRange();let n=s.elementFromPoint(e,t);if(n!==null){for(;n&&n.firstChild&&n.firstChild.nodeType!==n.firstChild.TEXT_NODE&&n.lastChild&&n.lastChild.firstChild;)n=n.lastChild;const o=n.getBoundingClientRect(),r=ue(n),a=r.getComputedStyle(n,null).getPropertyValue("font-style"),l=r.getComputedStyle(n,null).getPropertyValue("font-variant"),c=r.getComputedStyle(n,null).getPropertyValue("font-weight"),h=r.getComputedStyle(n,null).getPropertyValue("font-size"),d=r.getComputedStyle(n,null).getPropertyValue("line-height"),u=r.getComputedStyle(n,null).getPropertyValue("font-family"),f=`${a} ${l} ${c} ${h}/${d} ${u}`,g=n.innerText;let m=o.left,_=0,b;if(e>o.left+o.width)_=g.length;else{const C=Ry.getInstance();for(let v=0;vthis._createMouseTarget(r,a),r=>this._getMouseColumn(r))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const n=new oZ(this.viewHelper.viewDomNode);this._register(n.onContextMenu(this.viewHelper.viewDomNode,r=>this._onContextMenu(r,!0))),this._register(n.onMouseMove(this.viewHelper.viewDomNode,r=>{this._onMouseMove(r),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=$(this.viewHelper.viewDomNode.ownerDocument,"mousemove",a=>{this.viewHelper.viewDomNode.contains(a.target)||this._onMouseLeave(new Ga(a,!1,this.viewHelper.viewDomNode))}))})),this._register(n.onMouseUp(this.viewHelper.viewDomNode,r=>this._onMouseUp(r))),this._register(n.onMouseLeave(this.viewHelper.viewDomNode,r=>this._onMouseLeave(r)));let o=0;this._register(n.onPointerDown(this.viewHelper.viewDomNode,(r,a)=>{o=a})),this._register($(this.viewHelper.viewDomNode,J.POINTER_UP,r=>{this._mouseDownOperation.onPointerUp()})),this._register(n.onMouseDown(this.viewHelper.viewDomNode,r=>this._onMouseDown(r,o))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=r_.INSTANCE;let t=0,i=ma.getZoomLevel(),n=!1,o=0;const r=l=>{if(this.viewController.emitMouseWheel(l),!this._context.configuration.options.get(76))return;const c=new _c(l);if(e.acceptStandardWheelEvent(c),e.isPhysicalMouseWheel()){if(a(l)){const h=ma.getZoomLevel(),d=c.deltaY>0?1:-1;ma.setZoomLevel(h+d),c.preventDefault(),c.stopPropagation()}}else Date.now()-t>50&&(i=ma.getZoomLevel(),n=a(l),o=0),t=Date.now(),o+=c.deltaY,n&&(ma.setZoomLevel(i+o/5),c.preventDefault(),c.stopPropagation())};this._register($(this.viewHelper.viewDomNode,J.MOUSE_WHEEL,r,{capture:!0,passive:!1}));function a(l){return Ve?(l.metaKey||l.ctrlKey)&&!l.shiftKey&&!l.altKey:l.ctrlKey&&!l.metaKey&&!l.shiftKey&&!l.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(146)){const t=this._context.configuration.options.get(146).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const n=new SP(e,t).toPageCoordinates(ue(this.viewHelper.viewDomNode)),o=Ax(this.viewHelper.viewDomNode);if(n.yo.y+o.height||n.xo.x+o.width)return null;const r=Px(this.viewHelper.viewDomNode,o,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),o,n,r,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const n=bd(this.viewHelper.viewDomNode);n&&(i=n.elementsFromPoint(e.posx,e.posy).find(o=>this.viewHelper.viewDomNode.contains(o)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!(this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(h&&(n||r&&a))d(),this._mouseDownOperation.start(i.type,e,t);else if(o)e.preventDefault();else if(l){const u=i.detail;h&&this.viewHelper.shouldSuppressMouseDownOnViewZone(u.viewZoneId)&&(d(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else c&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class SZ extends K{constructor(e,t,i,n,o,r){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=n,this._createMouseTarget=o,this._getMouseColumn=r,this._mouseMoveMonitor=this._register(new aZ(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new yZ(this._context,this._viewHelper,this._mouseTargetFactory,(a,l,c)=>this._dispatchMouse(a,l,c))),this._mouseState=new Ay,this._currentSelection=new tt(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13&&(t.outsidePosition==="above"||t.outsidePosition==="below")?this._topBottomDragScrolling.start(t,e):(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const n=this._findMousePosition(t,!0);if(!n||!n.position)return;this._mouseState.trySetCount(t.detail,n.position),t.detail=this._mouseState.count;const o=this._context.configuration.options;if(!o.get(92)&&o.get(35)&&!o.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&n.type===6&&n.position&&this._currentSelection.containsPosition(n.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,r=>this._onMouseDownThenMove(r),r=>{const a=this._findMousePosition(this._lastMouseEvent,!1);pr(r)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:a?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(n,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,r=>this._onMouseDownThenMove(r),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,n=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posyt.y+t.height){const a=e.posy-t.y-t.height,l=n.getCurrentScrollTop()+e.relativePos.y,c=Rd.getZoneAtCoord(this._context,l);if(c){const d=this._helpPositionJumpOverViewZone(c);if(d)return $i.createOutsideEditor(o,d,"below",a)}const h=n.getLineNumberAtVerticalOffset(l);return $i.createOutsideEditor(o,new W(h,i.getLineMaxColumn(h)),"below",a)}const r=n.getLineNumberAtVerticalOffset(n.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const a=e.posx-t.x-t.width;return $i.createOutsideEditor(o,new W(r,i.getLineMaxColumn(r)),"right",a)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const n=this._createMouseTarget(e,t);if(!n.position)return null;if(n.type===8||n.type===5){const r=this._helpPositionJumpOverViewZone(n.detail);if(r)return $i.createViewZone(n.type,n.element,n.mouseColumn,r,n.detail)}return n}_helpPositionJumpOverViewZone(e){const t=new W(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,n=e.positionAfter;return i&&n?i.isBefore(t)?i:n:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}}class yZ extends K{constructor(e,t,i,n){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=n,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new LZ(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class LZ extends K{constructor(e,t,i,n,o,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=n,this._position=o,this._mouseEvent=r,this._lastTime=Date.now(),this._animationFrameDisposable=Tn(ue(r.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(146).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed(),i=this._tick(),n=t*(i/1e3)*e,o=this._position.outsidePosition==="above"?-n:n;this._context.viewModel.viewLayout.deltaScrollNow(0,o),this._viewHelper.renderNow();const r=this._context.viewLayout.getLinesViewportData(),a=this._position.outsidePosition==="above"?r.startLineNumber:r.endLineNumber;let l;{const c=Ax(this._viewHelper.viewDomNode),h=this._context.configuration.options.get(146).horizontalScrollbarHeight,d=new s0(this._mouseEvent.pos.x,c.y+c.height-h-.1),u=Px(this._viewHelper.viewDomNode,c,d);l=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),c,d,u,null)}(!l.position||l.position.lineNumber!==a)&&(this._position.outsidePosition==="above"?l=$i.createOutsideEditor(this._position.mouseColumn,new W(a,1),"above",this._position.outsideDistance):l=$i.createOutsideEditor(this._position.mouseColumn,new W(a,this._context.viewModel.getLineMaxColumn(a)),"below",this._position.outsideDistance)),this._dispatchMouse(l,!0,2),this._animationFrameDisposable=Tn(ue(l.element),()=>this._execute())}}const Y1=class Y1{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=new Date().getTime();i-this._lastSetMouseDownCountTime>Y1.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}};Y1.CLEAR_MOUSE_DOWN_COUNT_TIME=400;let Ay=Y1;const Hh=class Hh{constructor(e,t,i,n,o){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=n,this.newlineCountBeforeSelection=o}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),n=e.getSelectionStart(),o=e.getSelectionEnd();let r;if(t){const a=i.substring(0,n),l=t.value.substring(0,t.selectionStart);a===l&&(r=t.newlineCountBeforeSelection)}return new Hh(i,n,o,null,r)}collapseSelection(){return this.selectionStart===this.value.length?this:new Hh(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const n=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,n,-1)}if(e>=this.selectionEnd){const n=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,n,1)}const t=this.value.substring(this.selectionStart,e);if(t.indexOf("…")===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,i,-1)}_finishDeduceEditorPosition(e,t,i){let n=0,o=-1;for(;(o=t.indexOf(` `,o+1))!==-1;)n++;return[e,i*t.length,n]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const n=Math.min($w(e.value,t.value),e.selectionStart,t.selectionStart),o=Math.min(Kw(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(n,e.value.length-o);const r=t.value.substring(n,t.value.length-o),a=e.selectionStart-n,l=e.selectionEnd-n,c=t.selectionStart-n,h=t.selectionEnd-n;if(c===h){const u=e.selectionStart-n;return{text:r,replacePrevCharCnt:u,replaceNextCharCnt:0,positionDelta:0}}const d=l-a;return{text:r,replacePrevCharCnt:d,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min($w(e.value,t.value),e.selectionEnd),n=Math.min(Kw(e.value,t.value),e.value.length-e.selectionEnd),o=e.value.substring(i,e.value.length-n),r=t.value.substring(i,t.value.length-n);e.selectionStart-i;const a=e.selectionEnd-i;t.selectionStart-i;const l=t.selectionEnd-i;return{text:r,replacePrevCharCnt:a,replaceNextCharCnt:o.length-a,positionDelta:l-r.length}}};Hh.EMPTY=new Hh("",0,0,null,void 0);let Ki=Hh;class Dh{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,n=i+1,o=i+t;return new R(n,1,o+1,1)}static fromEditorSelection(e,t,i,n){const r=Dh._getPageOfLine(t.startLineNumber,i),a=Dh._getRangeForPage(r,i),l=Dh._getPageOfLine(t.endLineNumber,i),c=Dh._getRangeForPage(l,i);let h=a.intersectRanges(new R(1,1,t.startLineNumber,t.startColumn));if(n&&e.getValueLengthInRange(h,1)>500){const b=e.modifyPosition(h.getEndPosition(),-500);h=R.fromPositions(b,h.getEndPosition())}const d=e.getValueInRange(h,1),u=e.getLineCount(),f=e.getLineMaxColumn(u);let g=c.intersectRanges(new R(t.endLineNumber,t.endColumn,u,f));if(n&&e.getValueLengthInRange(g,1)>500){const b=e.modifyPosition(g.getStartPosition(),500);g=R.fromPositions(g.getStartPosition(),b)}const m=e.getValueInRange(g,1);let _;if(r===l||r+1===l)_=e.getValueInRange(t,1);else{const b=a.intersectRanges(t),C=c.intersectRanges(t);_=e.getValueInRange(b,1)+"…"+e.getValueInRange(C,1)}return n&&_.length>2*500&&(_=_.substring(0,500)+"…"+_.substring(_.length-500,_.length)),new Ki(d+_+m,d.length,d.length+_.length,t,h.endLineNumber-h.startLineNumber)}}var kZ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},TN=function(s,e){return function(t,i){e(t,i,s)}},G_;(function(s){s.Tap="-monaco-textarea-synthetic-tap"})(G_||(G_={}));const xZ={forceCopyWithSyntaxHighlighting:!1},Q1=class Q1{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}};Q1.INSTANCE=new Q1;let Z_=Q1;class DZ{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let Py=class extends K{get textAreaState(){return this._textAreaState}constructor(e,t,i,n,o,r){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=n,this._accessibilityService=o,this._logService=r,this._onFocus=this._register(new A),this.onFocus=this._onFocus.event,this._onBlur=this._register(new A),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new A),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new A),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new A),this.onCut=this._onCut.event,this._onPaste=this._register(new A),this.onPaste=this._onPaste.event,this._onType=this._register(new A),this.onType=this._onType.event,this._onCompositionStart=this._register(new A),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new A),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new A),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new A),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new Ur),this._asyncTriggerCut=this._register(new Gi(()=>this._onCut.fire(),0)),this._textAreaState=Ki.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(Q.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new Gi(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(l=>{const c=new vt(l);(c.keyCode===114||this._currentComposition&&c.keyCode===1)&&c.stopPropagation(),c.equals(9)&&c.preventDefault(),a=c,this._onKeyDown.fire(c)})),this._register(this._textArea.onKeyUp(l=>{const c=new vt(l);this._onKeyUp.fire(c)})),this._register(this._textArea.onCompositionStart(l=>{const c=new DZ;if(this._currentComposition){this._currentComposition=c;return}if(this._currentComposition=c,this._OS===2&&a&&a.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===l.data&&(a.code==="ArrowRight"||a.code==="ArrowLeft")){c.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:l.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:l.data});return}this._onCompositionStart.fire({data:l.data})})),this._register(this._textArea.onCompositionUpdate(l=>{const c=this._currentComposition;if(!c)return;if(this._browser.isAndroid){const d=Ki.readFromTextArea(this._textArea,this._textAreaState),u=Ki.deduceAndroidCompositionInput(this._textAreaState,d);this._textAreaState=d,this._onType.fire(u),this._onCompositionUpdate.fire(l);return}const h=c.handleCompositionUpdate(l.data);this._textAreaState=Ki.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(h),this._onCompositionUpdate.fire(l)})),this._register(this._textArea.onCompositionEnd(l=>{const c=this._currentComposition;if(!c)return;if(this._currentComposition=null,this._browser.isAndroid){const d=Ki.readFromTextArea(this._textArea,this._textAreaState),u=Ki.deduceAndroidCompositionInput(this._textAreaState,d);this._textAreaState=d,this._onType.fire(u),this._onCompositionEnd.fire();return}const h=c.handleCompositionUpdate(l.data);this._textAreaState=Ki.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(h),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(l=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const c=Ki.readFromTextArea(this._textArea,this._textAreaState),h=Ki.deduceInput(this._textAreaState,c,this._OS===2);h.replacePrevCharCnt===0&&h.text.length===1&&(ai(h.text.charCodeAt(0))||h.text.charCodeAt(0)===127)||(this._textAreaState=c,(h.text!==""||h.replacePrevCharCnt!==0||h.replaceNextCharCnt!==0||h.positionDelta!==0)&&this._onType.fire(h))})),this._register(this._textArea.onCut(l=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(l),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(l=>{this._ensureClipboardGetsEditorSelection(l)})),this._register(this._textArea.onPaste(l=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),l.preventDefault(),!l.clipboardData)return;let[c,h]=MN.getTextData(l.clipboardData);c&&(h=h||Z_.INSTANCE.get(c),this._onPaste.fire({text:c,metadata:h}))})),this._register(this._textArea.onFocus(()=>{const l=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!l&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new Gi(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return $(this._textArea.ownerDocument,"selectionchange",t=>{if(Ea.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const i=Date.now(),n=i-e;if(e=i,n<5)return;const o=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),o<100||!this._textAreaState.selection)return;const r=this._textArea.getValue();if(this._textAreaState.value!==r)return;const a=this._textArea.getSelectionStart(),l=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===a&&this._textAreaState.selectionEnd===l)return;const c=this._textAreaState.deduceEditorPosition(a),h=this._host.deduceModelPosition(c[0],c[1],c[2]),d=this._textAreaState.deduceEditorPosition(l),u=this._host.deduceModelPosition(d[0],d[1],d[2]),f=new tt(h.lineNumber,h.column,u.lineNumber,u.column);this._onSelectionChangeRequest.fire(f)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&e==="render"||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};Z_.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,` `):t.text,i),e.preventDefault(),e.clipboardData&&MN.setTextData(e.clipboardData,t.text,t.html,i)}};Py=kZ([TN(4,co),TN(5,ps)],Py);const MN={getTextData(s){const e=s.getData(Sr.text);let t=null;const i=s.getData("vscode-editor-data");if(typeof i=="string")try{t=JSON.parse(i),t.version!==1&&(t=null)}catch{}return e.length===0&&t===null&&s.files.length>0?[Array.prototype.slice.call(s.files,0).map(o=>o.name).join(` `),null]:[e,t]},setTextData(s,e,t,i){s.setData(Sr.text,e),typeof t=="string"&&s.setData("text/html",t),s.setData("vscode-editor-data",JSON.stringify(i))}};class EZ extends K{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new Te(this._actual,"keydown")).event,this.onKeyUp=this._register(new Te(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Te(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Te(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Te(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Te(this._actual,"beforeinput")).event,this.onInput=this._register(new Te(this._actual,"input")).event,this.onCut=this._register(new Te(this._actual,"cut")).event,this.onCopy=this._register(new Te(this._actual,"copy")).event,this.onPaste=this._register(new Te(this._actual,"paste")).event,this.onFocus=this._register(new Te(this._actual,"focus")).event,this.onBlur=this._register(new Te(this._actual,"blur")).event,this._onSyntheticTap=this._register(new A),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>Ea.onKeyDown())),this._register(this.onBeforeInput(()=>Ea.onBeforeInput())),this._register(this.onInput(()=>Ea.onInput())),this._register(this.onKeyUp(()=>Ea.onKeyUp())),this._register($(this._actual,G_.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=bd(this._actual);return e?e.activeElement===this._actual:this._actual.isConnected?Zi()===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const n=this._actual;let o=null;const r=bd(n);r?o=r.activeElement:o=Zi();const a=ue(o),l=o===n,c=n.selectionStart,h=n.selectionEnd;if(l&&c===t&&h===i){Rs&&a.parent!==a&&n.focus();return}if(l){this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,i),Rs&&a.parent!==a&&n.focus();return}try{const d=V9(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,i),H9(n,d)}catch{}}}class IZ extends Ox{constructor(e,t,i){super(e,t,i),this._register(sn.addTarget(this.viewHelper.linesContentDomNode)),this._register($(this.viewHelper.linesContentDomNode,pt.Tap,o=>this.onTap(o))),this._register($(this.viewHelper.linesContentDomNode,pt.Change,o=>this.onChange(o))),this._register($(this.viewHelper.linesContentDomNode,pt.Contextmenu,o=>this._onContextMenu(new Ga(o,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register($(this.viewHelper.linesContentDomNode,"pointerdown",o=>{const r=o.pointerType;if(r==="mouse"){this._lastPointerType="mouse";return}else r==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const n=new rZ(this.viewHelper.viewDomNode);this._register(n.onPointerMove(this.viewHelper.viewDomNode,o=>this._onMouseMove(o))),this._register(n.onPointerUp(this.viewHelper.viewDomNode,o=>this._onMouseUp(o))),this._register(n.onPointerLeave(this.viewHelper.viewDomNode,o=>this._onMouseLeave(o))),this._register(n.onPointerDown(this.viewHelper.viewDomNode,(o,r)=>this._onMouseDown(o,r)))}onTap(e){!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget)||(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new Ga(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:i.type===6&&i.detail.injectedText!==null})}_onMouseDown(e,t){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e,t)}}class NZ extends Ox{constructor(e,t,i){super(e,t,i),this._register(sn.addTarget(this.viewHelper.linesContentDomNode)),this._register($(this.viewHelper.linesContentDomNode,pt.Tap,n=>this.onTap(n))),this._register($(this.viewHelper.linesContentDomNode,pt.Change,n=>this.onChange(n))),this._register($(this.viewHelper.linesContentDomNode,pt.Contextmenu,n=>this._onContextMenu(new Ga(n,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new Ga(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const i=document.createEvent("CustomEvent");i.initEvent(G_.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(i),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class TZ extends K{constructor(e,t,i){super(),(Fa||F5&&KT)&&qL.pointerEvents?this.handler=this._register(new IZ(e,t,i)):ht.TouchEvent?this.handler=this._register(new NZ(e,t,i)):this.handler=this._register(new Ox(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class $c extends Yg{}const X1=class X1 extends $c{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new W(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(96);const i=e.get(146);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new W(e,1));if(t.column!==1)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(this._renderLineNumbers===2){const n=Math.abs(this._lastCursorModelPosition.lineNumber-i);return n===0?''+i+"":String(n)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===i||i%10===0)return String(i);const n=this._context.viewModel.getLineCount();return i===n?String(i):""}return String(i)}prepareRender(e){if(this._renderLineNumbers===0){this._renderResult=null;return}const t=mn?this._lineHeight%2===0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,o=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(c=>!!c.options.lineNumberClassName);o.sort((c,h)=>R.compareRangesUsingEnds(c.range,h.range));let r=0;const a=this._context.viewModel.getLineCount(),l=[];for(let c=i;c<=n;c++){const h=c-i;let d=this._getLineRenderLineNumber(c),u="";for(;r${d}`}this._renderResult=l}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}};X1.CLASS_NAME="line-numbers";let Y_=X1;jr((s,e)=>{const t=s.getColor(aU),i=s.getColor(vU);i?e.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i}; }`):t&&e.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${t.transparent(.4)}; }`)});const zh=class zh extends Rn{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=qe(document.createElement("div")),this._domNode.setClassName(zh.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=qe(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(zh.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}};zh.CLASS_NAME="glyph-margin",zh.OUTER_CLASS_NAME="margin";let Q_=zh;const cd="monaco-mouse-cursor-text";var MZ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},RN=function(s,e){return function(t,i){e(t,i,s)}};class RZ{constructor(e,t,i,n,o){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=n,this.distanceToModelLineEnd=o,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new W(this.modelLineNumber,this.distanceToModelLineStart+1),i=new W(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const yC=Rs;let Oy=class extends Rn{constructor(e,t,i,n,o){super(e),this._keybindingService=n,this._instantiationService=o,this._primaryCursorPosition=new W(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const r=this._context.configuration.options,a=r.get(146);this._setAccessibilityOptions(r),this._contentLeft=a.contentLeft,this._contentWidth=a.contentWidth,this._contentHeight=a.height,this._fontInfo=r.get(50),this._lineHeight=r.get(67),this._emptySelectionClipboard=r.get(37),this._copyWithSyntaxHighlighting=r.get(25),this._visibleTextArea=null,this._selections=[new tt(1,1,1,1)],this._modelSelections=[new tt(1,1,1,1)],this._lastRenderPosition=null,this.textArea=qe(document.createElement("textarea")),ro.write(this.textArea,7),this.textArea.setClassName(`inputarea ${cd}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:l}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${l*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(r)),this.textArea.setAttribute("aria-required",r.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(r.get(125))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",p("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",r.get(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=qe(document.createElement("div")),this.textAreaCover.setPosition("absolute");const c={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:u=>this._context.viewModel.getLineMaxColumn(u),getValueInRange:(u,f)=>this._context.viewModel.getValueInRange(u,f),getValueLengthInRange:(u,f)=>this._context.viewModel.getValueLengthInRange(u,f),modifyPosition:(u,f)=>this._context.viewModel.modifyPosition(u,f)},h={getDataToCopy:()=>{const u=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,gn),f=this._context.viewModel.model.getEOL(),g=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),m=Array.isArray(u)?u:null,_=Array.isArray(u)?u.join(f):u;let b,C=null;if(xZ.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&_.length<65536){const v=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);v&&(b=v.html,C=v.mode)}return{isFromEmptySelection:g,multicursorText:m,text:_,html:b,mode:C}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const u=this._selections[0];if(Ve&&u.isEmpty()){const g=u.getStartPosition();let m=this._getWordBeforePosition(g);if(m.length===0&&(m=this._getCharacterBeforePosition(g)),m.length>0)return new Ki(m,m.length,m.length,R.fromPositions(g),0)}if(Ve&&!u.isEmpty()&&c.getValueLengthInRange(u,0)<500){const g=c.getValueInRange(u,0);return new Ki(g,0,g.length,u,0)}if(Ha&&!u.isEmpty()){const g="vscode-placeholder";return new Ki(g,0,g.length,null,void 0)}return Ki.EMPTY}if(VD){const u=this._selections[0];if(u.isEmpty()){const f=u.getStartPosition(),[g,m]=this._getAndroidWordAtPosition(f);if(g.length>0)return new Ki(g,m,m,R.fromPositions(f),0)}return Ki.EMPTY}return Dh.fromEditorSelection(c,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(u,f,g)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(u,f,g)},d=this._register(new EZ(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(Py,h,d,Ds,{isAndroid:VD,isChrome:Ig,isFirefox:Rs,isSafari:Ha})),this._register(this._textAreaInput.onKeyDown(u=>{this._viewController.emitKeyDown(u)})),this._register(this._textAreaInput.onKeyUp(u=>{this._viewController.emitKeyUp(u)})),this._register(this._textAreaInput.onPaste(u=>{let f=!1,g=null,m=null;u.metadata&&(f=this._emptySelectionClipboard&&!!u.metadata.isFromEmptySelection,g=typeof u.metadata.multicursorText<"u"?u.metadata.multicursorText:null,m=u.metadata.mode),this._viewController.paste(u.text,f,g,m)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(u=>{u.replacePrevCharCnt||u.replaceNextCharCnt||u.positionDelta?this._viewController.compositionType(u.text,u.replacePrevCharCnt,u.replaceNextCharCnt,u.positionDelta):this._viewController.type(u.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(u=>{this._viewController.setSelection(u)})),this._register(this._textAreaInput.onCompositionStart(u=>{const f=this.textArea.domNode,g=this._modelSelections[0],{distanceToModelLineStart:m,widthOfHiddenTextBefore:_}=(()=>{const C=f.value.substring(0,Math.min(f.selectionStart,f.selectionEnd)),v=C.lastIndexOf(` `),w=C.substring(v+1),y=w.lastIndexOf(" "),L=w.length-y-1,k=g.getStartPosition(),D=Math.min(k.column-1,L),E=k.column-1-D,U=w.substring(0,w.length-D),{tabSize:O}=this._context.viewModel.model.getOptions(),B=AZ(this.textArea.domNode.ownerDocument,U,this._fontInfo,O);return{distanceToModelLineStart:E,widthOfHiddenTextBefore:B}})(),{distanceToModelLineEnd:b}=(()=>{const C=f.value.substring(Math.max(f.selectionStart,f.selectionEnd)),v=C.indexOf(` `),w=v===-1?C:C.substring(0,v),y=w.indexOf(" "),L=y===-1?w.length:w.length-y-1,k=g.getEndPosition(),D=Math.min(this._context.viewModel.model.getLineMaxColumn(k.lineNumber)-k.column,L);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(k.lineNumber)-k.column-D}})();this._context.viewModel.revealRange("keyboard",!0,R.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new RZ(this._context,g.startLineNumber,m,_,b),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${cd} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(u=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${cd}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(Ku.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),n=wd(t,[]);let o=!0,r=e.column,a=!0,l=e.column,c=0;for(;c<50&&(o||a);){if(o&&r<=1&&(o=!1),o){const h=i.charCodeAt(r-2);n.get(h)!==0?o=!1:r--}if(a&&l>i.length&&(a=!1),a){const h=i.charCodeAt(l-1);n.get(h)!==0?a=!1:l++}c++}return[i.substring(r-1,l-1),e.column-r]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=wd(this._context.configuration.options.get(132),[]);let n=e.column,o=0;for(;n>1;){const r=t.charCodeAt(n-2);if(i.get(r)!==0||o>50)return t.substring(n-1,e.column-1);o++,n--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!ai(i.charCodeAt(0)))return i}return""}_getAriaLabel(e){if(e.get(2)===1){const i=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode")?.getAriaLabel(),n=this._keybindingService.lookupKeybinding("workbench.action.showCommands")?.getAriaLabel(),o=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings")?.getAriaLabel(),r=p("accessibilityModeOff","The editor is not accessible at this time.");return i?p("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",r,i):n?p("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",r,n):o?p("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",r,o):r}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===Ic.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const n=e.get(146).wrappingColumn;if(n!==-1&&this._accessibilitySupport!==1){const o=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(n*o.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=yC?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:n}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${n*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(125))),(e.hasChanged(34)||e.hasChanged(92))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!Ku.enabled||e.get(34)&&e.get(92)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){this._primaryCursorPosition=new W(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){if(this._visibleTextArea){const i=this._visibleTextArea.visibleTextareaStart,n=this._visibleTextArea.visibleTextareaEnd,o=this._visibleTextArea.startPosition,r=this._visibleTextArea.endPosition;if(o&&r&&i&&n&&n.left>=this._scrollLeft&&i.left<=this._scrollLeft+this._contentWidth){const a=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,l=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let c=this._visibleTextArea.widthOfHiddenLineTextBefore,h=this._contentLeft+i.left-this._scrollLeft,d=n.left-i.left+1;if(hthis._contentWidth&&(d=this._contentWidth);const u=this._context.viewModel.getViewLineData(o.lineNumber),f=u.tokens.findTokenIndexAtOffset(o.column-1),g=u.tokens.findTokenIndexAtOffset(r.column-1),m=f===g,_=this._visibleTextArea.definePresentation(m?u.tokens.getPresentation(f):null);this.textArea.domNode.scrollTop=l*this._lineHeight,this.textArea.domNode.scrollLeft=c,this._doRender({lastRenderPosition:null,top:a,left:h,width:d,height:this._lineHeight,useCover:!1,color:(qt.getColorMap()||[])[_.foreground],italic:_.italic,bold:_.bold,underline:_.underline,strikethrough:_.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight){this._renderAtTopLeft();return}if(Ve||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=this._textAreaInput.textAreaState.newlineCountBeforeSelection??this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=i*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:yC?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;do{if(i=e.indexOf(` `,i+1),i===-1)break;t++}while(!0);return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:yC?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;Pi(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?Z.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const n=this._context.configuration.options;n.get(57)?i.setClassName("monaco-editor-background textAreaCover "+Q_.OUTER_CLASS_NAME):n.get(68).renderType!==0?i.setClassName("monaco-editor-background textAreaCover "+Y_.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};Oy=MZ([RN(3,Ti),RN(4,Qe)],Oy);function AZ(s,e,t,i){if(e.length===0)return 0;const n=s.createElement("div");n.style.position="absolute",n.style.top="-50000px",n.style.width="50000px";const o=s.createElement("span");Pi(o,t),o.style.whiteSpace="pre",o.style.tabSize=`${i*t.spaceWidth}px`,o.append(e),n.appendChild(o),s.body.appendChild(n);const r=o.offsetWidth;return n.remove(),r}const PZ=()=>!0,OZ=()=>!1,FZ=s=>s===" "||s===" ";class ah{static shouldRecreate(e){return e.hasChanged(146)||e.hasChanged(132)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(129)||e.hasChanged(50)||e.hasChanged(92)||e.hasChanged(131)}constructor(e,t,i,n){this.languageConfigurationService=n,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const o=i.options,r=o.get(146),a=o.get(50);this.readOnly=o.get(92),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=o.get(117),this.lineHeight=a.lineHeight,this.typicalHalfwidthCharacterWidth=a.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=o.get(129),this.wordSeparators=o.get(132),this.emptySelectionClipboard=o.get(37),this.copyWithSyntaxHighlighting=o.get(25),this.multiCursorMergeOverlapping=o.get(77),this.multiCursorPaste=o.get(79),this.multiCursorLimit=o.get(80),this.autoClosingBrackets=o.get(6),this.autoClosingComments=o.get(7),this.autoClosingQuotes=o.get(11),this.autoClosingDelete=o.get(9),this.autoClosingOvertype=o.get(10),this.autoSurround=o.get(14),this.autoIndent=o.get(12),this.wordSegmenterLocales=o.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const l=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(l)for(const h of l)this.surroundingPairs[h.open]=h.close;const c=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=c?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(const t of e)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(e,t,i){const n=$l(t,i-1),o=this.languageConfigurationService.getLanguageConfiguration(n.languageId).electricCharacter;return o?o.onElectricCharacter(e,n,i-n.firstCharOffset):null}normalizeIndentation(e){return g4(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return FZ;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return PZ;case"never":return OZ}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return n=>i.indexOf(n)!==-1}visibleColumnFromColumn(e,t){return ei.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const n=ei.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),o=e.getLineMinColumn(t);if(nr?r:n}}class Re{static fromModelState(e){return new BZ(e)}static fromViewState(e){return new WZ(e)}static fromModelSelection(e){const t=tt.liftSelection(e),i=new _i(R.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return Re.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,n=e.length;io,c=n>r,h=nr||bn||_0&&n--,Ol.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,n)}static columnSelectRight(e,t,i){let n=0;const o=Math.min(i.fromViewLineNumber,i.toViewLineNumber),r=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let l=o;l<=r;l++){const c=t.getLineMaxColumn(l),h=e.visibleColumnFromColumn(t,new W(l,c));n=Math.max(n,h)}let a=i.toViewVisualColumn;return ae.getLineMinColumn(t.lineNumber))return t.delta(void 0,-pM(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new W(i,e.getLineMaxColumn(i))}else return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const n=e.getLineMinColumn(t.lineNumber),o=e.getLineContent(t.lineNumber),r=fg.atomicPosition(o,t.column-1,i,0);if(r!==-1&&r+1>=n)return new W(t.lineNumber,r+1)}return this.leftPosition(e,t)}static left(e,t,i){const n=e.stickyTabStops?st.leftPositionAtomicSoftTabs(t,i,e.tabSize):st.leftPosition(t,i);return new LC(n.lineNumber,n.column,0)}static moveLeft(e,t,i,n,o){let r,a;if(i.hasSelection()&&!n)r=i.selection.startLineNumber,a=i.selection.startColumn;else{const l=i.position.delta(void 0,-(o-1)),c=t.normalizePosition(st.clipPositionColumn(l,t),0),h=st.left(e,t,c);r=h.lineNumber,a=h.column}return i.move(n,r,a,0)}static clipPositionColumn(e,t){return new W(e.lineNumber,st.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ih?(i=h,a?n=t.getLineMaxColumn(i):n=Math.min(t.getLineMaxColumn(i),n)):n=e.columnFromVisibleColumn(t,i,c),f?o=0:o=c-ei.visibleColumnFromColumn(t.getLineContent(i),n,e.tabSize),l!==void 0){const g=new W(i,n),m=t.normalizePosition(g,l);o=o+(n-m.column),i=m.lineNumber,n=m.column}return new LC(i,n,o)}static down(e,t,i,n,o,r,a){return this.vertical(e,t,i,n,o,i+r,a,4)}static moveDown(e,t,i,n,o){let r,a;i.hasSelection()&&!n?(r=i.selection.endLineNumber,a=i.selection.endColumn):(r=i.position.lineNumber,a=i.position.column);let l=0,c;do if(c=st.down(e,t,r+l,a,i.leftoverVisibleColumns,o,!0),t.normalizePosition(new W(c.lineNumber,c.column),2).lineNumber>r)break;while(l++<10&&r+l1&&this._isBlankLine(t,o);)o--;for(;o>1&&!this._isBlankLine(t,o);)o--;return i.move(n,o,t.getLineMinColumn(o),0)}static moveToNextBlankLine(e,t,i,n){const o=t.getLineCount();let r=i.position.lineNumber;for(;r=u.length+1)return!1;const f=u.charAt(d.column-2),g=n.get(f);if(!g)return!1;if(Za(f)){if(i==="never")return!1}else if(t==="never")return!1;const m=u.charAt(d.column-1);let _=!1;for(const b of g)b.open===f&&b.close===m&&(_=!0);if(!_)return!1;if(e==="auto"){let b=!1;for(let C=0,v=a.length;C1){const o=t.getLineContent(n.lineNumber),r=In(o),a=r===-1?o.length+1:r+1;if(n.column<=a){const l=i.visibleColumnFromColumn(t,n),c=ei.prevIndentTabStop(l,i.indentSize),h=i.columnFromVisibleColumn(t,n.lineNumber,c);return new R(n.lineNumber,h,n.lineNumber,n.column)}}return R.fromPositions(Dc.getPositionAfterDeleteLeft(n,t),n)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=A7(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}else if(e.lineNumber>1){const i=e.lineNumber-1;return new W(i,t.getLineMaxColumn(i))}else return e}static cut(e,t,i){const n=[];let o=null;i.sort((r,a)=>W.compare(r.getStartPosition(),a.getEndPosition()));for(let r=0,a=i.length;r1&&o?.endLineNumber!==c.lineNumber?(h=c.lineNumber-1,d=t.getLineMaxColumn(c.lineNumber-1),u=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber)):(h=c.lineNumber,d=1,u=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber));const g=new R(h,d,u,f);o=g,g.isEmpty()?n[r]=null:n[r]=new xn(g,"")}else n[r]=null;else n[r]=new xn(l,"")}return new _n(0,n,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class nt{static _createWord(e,t,i,n,o){return{start:n,end:o,wordType:t,nextCharClass:i}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,i){const n=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(n,e,i)}static _doFindPreviousWordOnLine(e,t,i){let n=0;const o=t.findPrevIntlWordBeforeOrAtOffset(e,i.column-2);for(let r=i.column-2;r>=0;r--){const a=e.charCodeAt(r),l=t.get(a);if(o&&r===o.index)return this._createIntlWord(o,l);if(l===0){if(n===2)return this._createWord(e,n,l,r+1,this._findEndOfWord(e,t,n,r+1));n=1}else if(l===2){if(n===1)return this._createWord(e,n,l,r+1,this._findEndOfWord(e,t,n,r+1));n=2}else if(l===1&&n!==0)return this._createWord(e,n,l,r+1,this._findEndOfWord(e,t,n,r+1))}return n!==0?this._createWord(e,n,1,0,this._findEndOfWord(e,t,n,0)):null}static _findEndOfWord(e,t,i,n){const o=t.findNextIntlWordAtOrAfterOffset(e,n),r=e.length;for(let a=n;a=0;r--){const a=e.charCodeAt(r),l=t.get(a);if(o&&r===o.index)return r;if(l===1||i===1&&l===2||i===2&&l===0)return r+1}return 0}static moveWordLeft(e,t,i,n,o){let r=i.lineNumber,a=i.column;a===1&&r>1&&(r=r-1,a=t.getLineMaxColumn(r));let l=nt._findPreviousWordOnLine(e,t,new W(r,a));if(n===0)return new W(r,l?l.start+1:1);if(n===1)return!o&&l&&l.wordType===2&&l.end-l.start===1&&l.nextCharClass===0&&(l=nt._findPreviousWordOnLine(e,t,new W(r,l.start+1))),new W(r,l?l.start+1:1);if(n===3){for(;l&&l.wordType===2;)l=nt._findPreviousWordOnLine(e,t,new W(r,l.start+1));return new W(r,l?l.start+1:1)}return l&&a<=l.end+1&&(l=nt._findPreviousWordOnLine(e,t,new W(r,l.start+1))),new W(r,l?l.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(t.column===1)return i>1?new W(i-1,e.getLineMaxColumn(i-1)):t;const o=e.getLineContent(i);for(let r=t.column-1;r>1;r--){const a=o.charCodeAt(r-2),l=o.charCodeAt(r-1);if(a===95&&l!==95)return new W(i,r);if(a===45&&l!==45)return new W(i,r);if((fh(a)||rm(a))&&ha(l))return new W(i,r);if(ha(a)&&ha(l)&&r+1=l.start+1&&(l=nt._findNextWordOnLine(e,t,new W(o,l.end+1))),l?r=l.start+1:r=t.getLineMaxColumn(o);return new W(o,r)}static _moveWordPartRight(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(t.column===n)return i1?c=1:(l--,c=n.getLineMaxColumn(l)):(h&&c<=h.end+1&&(h=nt._findPreviousWordOnLine(i,n,new W(l,h.start+1))),h?c=h.end+1:c>1?c=1:(l--,c=n.getLineMaxColumn(l))),new R(l,c,a.lineNumber,a.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const n=new W(i.positionLineNumber,i.positionColumn),o=this._deleteInsideWordWhitespace(t,n);return o||this._deleteInsideWordDetermineDeleteRange(e,t,n)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),n=i.length;if(n===0)return null;let o=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,o))return null;let r=Math.min(t.column-1,n-1);if(!this._charAtIsWhitespace(i,r))return null;for(;o>0&&this._charAtIsWhitespace(i,o-1);)o--;for(;r+11?new R(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumberd.start+1<=i.column&&i.column<=d.end+1,a=(d,u)=>(d=Math.min(d,i.column),u=Math.max(u,i.column),new R(i.lineNumber,d,i.lineNumber,u)),l=d=>{let u=d.start+1,f=d.end+1,g=!1;for(;f-11&&this._charAtIsWhitespace(n,u-2);)u--;return a(u,f)},c=nt._findPreviousWordOnLine(e,t,i);if(c&&r(c))return l(c);const h=nt._findNextWordOnLine(e,t,i);return h&&r(h)?l(h):c&&h?a(c.end+1,h.start+1):c?a(c.start+1,c.end+1):h?a(h.start+1,h.end+1):a(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),n=nt._moveWordPartLeft(e,i);return new R(i.lineNumber,i.column,n.lineNumber,n.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let n=t;n=u.start+1&&(u=nt._findNextWordOnLine(i,n,new W(l,u.end+1))),u?c=u.start+1:c!!e)}class Vi{static addCursorDown(e,t,i){const n=[];let o=0;for(let r=0,a=t.length;rc&&(h=c,d=e.model.getLineMaxColumn(h)),Re.fromModelState(new _i(new R(r.lineNumber,1,h,d),2,0,new W(h,d),0))}const l=t.modelState.selectionStart.getStartPosition().lineNumber;if(r.lineNumberl){const c=e.getLineCount();let h=a.lineNumber+1,d=1;return h>c&&(h=c,d=e.getLineMaxColumn(h)),Re.fromViewState(t.viewState.move(!0,h,d,0))}else{const c=t.modelState.selectionStart.getEndPosition();return Re.fromModelState(t.modelState.move(!0,c.lineNumber,c.column,0))}}static word(e,t,i,n){const o=e.model.validatePosition(n);return Re.fromModelState(nt.word(e.cursorConfig,e.model,t.modelState,i,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new Re(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,n=t.viewState.position.column;return Re.fromViewState(new _i(new R(i,n,i,n),0,0,new W(i,n),0))}static moveTo(e,t,i,n,o){if(i){if(t.modelState.selectionStartKind===1)return this.word(e,t,i,n);if(t.modelState.selectionStartKind===2)return this.line(e,t,i,n,o)}const r=e.model.validatePosition(n),a=o?e.coordinatesConverter.validateViewPosition(new W(o.lineNumber,o.column),r):e.coordinatesConverter.convertModelPositionToViewPosition(r);return Re.fromViewState(t.viewState.move(i,a.lineNumber,a.column,0))}static simpleMove(e,t,i,n,o,r){switch(i){case 0:return r===4?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,o);case 1:return r===4?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,o);case 2:return r===2?this._moveUpByViewLines(e,t,n,o):this._moveUpByModelLines(e,t,n,o);case 3:return r===2?this._moveDownByViewLines(e,t,n,o):this._moveDownByModelLines(e,t,n,o);case 4:return r===2?t.map(a=>Re.fromViewState(st.moveToPrevBlankLine(e.cursorConfig,e,a.viewState,n))):t.map(a=>Re.fromModelState(st.moveToPrevBlankLine(e.cursorConfig,e.model,a.modelState,n)));case 5:return r===2?t.map(a=>Re.fromViewState(st.moveToNextBlankLine(e.cursorConfig,e,a.viewState,n))):t.map(a=>Re.fromModelState(st.moveToNextBlankLine(e.cursorConfig,e.model,a.modelState,n)));case 6:return this._moveToViewMinColumn(e,t,n);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,n);case 8:return this._moveToViewCenterColumn(e,t,n);case 9:return this._moveToViewMaxColumn(e,t,n);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,n);default:return null}}static viewportMove(e,t,i,n,o){const r=e.getCompletelyVisibleViewRange(),a=e.coordinatesConverter.convertViewRangeToModelRange(r);switch(i){case 11:{const l=this._firstLineNumberInRange(e.model,a,o),c=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],n,l,c)]}case 13:{const l=this._lastLineNumberInRange(e.model,a,o),c=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],n,l,c)]}case 12:{const l=Math.round((a.startLineNumber+a.endLineNumber)/2),c=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],n,l,c)]}case 14:{const l=[];for(let c=0,h=t.length;ci.endLineNumber-1?r=i.endLineNumber-1:oRe.fromViewState(st.moveLeft(e.cursorConfig,e,o.viewState,i,n)))}static _moveHalfLineLeft(e,t,i){const n=[];for(let o=0,r=t.length;oRe.fromViewState(st.moveRight(e.cursorConfig,e,o.viewState,i,n)))}static _moveHalfLineRight(e,t,i){const n=[];for(let o=0,r=t.length;o{this.model.tokenization.forceTokenization(f);const g=this.model.tokenization.getLineTokens(f),m=this.model.getLineMaxColumn(f)-1;return $l(g,m)};this.model.tokenization.forceTokenization(e.startLineNumber);const i=this.model.tokenization.getLineTokens(e.startLineNumber),n=$l(i,e.startColumn-1),o=vi.createEmpty("",n.languageIdCodec),r=e.startLineNumber-1;if(r===0||!(n.firstCharOffset===0))return o;const c=t(r);if(!(n.languageId===c.languageId))return o;const d=c.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(d)}}class EP{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){const i=(r,a)=>{const l=Ri(r);return a+r.substring(l.length)};this.model.tokenization.forceTokenization?.(e);const n=this.model.tokenization.getLineTokens(e);let o=this.getProcessedTokens(n).getLineContent();return t!==void 0&&(o=i(o,t)),o}getProcessedTokens(e){const t=l=>l===2||l===3||l===1,i=e.getLanguageId(0),o=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew.getBracketRegExp({global:!0}),r=[];return e.forEach(l=>{const c=e.getStandardTokenType(l);let h=e.getTokenText(l);t(c)&&(h=h.replace(o,""));const d=e.getMetadata(l);r.push({text:h,metadata:d})}),vi.createFromTextAndMetadata(r,e.languageIdCodec)}}function Bx(s,e){s.tokenization.forceTokenization(e.lineNumber);const t=s.tokenization.getLineTokens(e.lineNumber),i=$l(t,e.column-1),n=i.firstCharOffset===0,o=t.getLanguageId(0)===i.languageId;return!n&&!o}function Wx(s,e,t,i){e.tokenization.forceTokenization(t.startLineNumber);const n=e.getLanguageIdAtPosition(t.startLineNumber,t.startColumn),o=i.getLanguageConfiguration(n);if(!o)return null;const a=new Fx(e,i).getProcessedTokenContextAroundRange(t),l=a.previousLineProcessedTokens.getLineContent(),c=a.beforeRangeProcessedTokens.getLineContent(),h=a.afterRangeProcessedTokens.getLineContent(),d=o.onEnter(s,l,c,h);if(!d)return null;const u=d.indentAction;let f=d.appendText;const g=d.removeText||0;f?u===hi.Indent&&(f=" "+f):u===hi.Indent||u===hi.IndentOutdent?f=" ":f="";let m=mR(e,t.startLineNumber,t.startColumn);return g&&(m=m.substring(0,m.length-g)),{indentAction:u,appendText:f,removeText:g,indentation:m}}var HZ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},zZ=function(s,e){return function(t,i){e(t,i,s)}},vp;const kC=Object.create(null);function fl(s,e){if(e<=0)return"";kC[s]||(kC[s]=["",s]);const t=kC[s];for(let i=t.length;i<=e;i++)t[i]=t[i-1]+s;return t[e]}let Ec=vp=class{static unshiftIndent(e,t,i,n,o){const r=ei.visibleColumnFromColumn(e,t,i);if(o){const a=fl(" ",n),c=ei.prevIndentTabStop(r,n)/n;return fl(a,c)}else{const a=" ",c=ei.prevRenderTabStop(r,i)/i;return fl(a,c)}}static shiftIndent(e,t,i,n,o){const r=ei.visibleColumnFromColumn(e,t,i);if(o){const a=fl(" ",n),c=ei.nextIndentTabStop(r,n)/n;return fl(a,c)}else{const a=" ",c=ei.nextRenderTabStop(r,i)/i;return fl(a,c)}}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let n=this._selection.endLineNumber;this._selection.endColumn===1&&i!==n&&(n=n-1);const{tabSize:o,indentSize:r,insertSpaces:a}=this._opts,l=i===n;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let c=0,h=0;for(let d=i;d<=n;d++,c=h){h=0;const u=e.getLineContent(d);let f=In(u);if(this._opts.isUnshift&&(u.length===0||f===0)||!l&&!this._opts.isUnshift&&u.length===0)continue;if(f===-1&&(f=u.length),d>1&&ei.visibleColumnFromColumn(u,f+1,o)%r!==0&&e.tokenization.isCheapToTokenize(d-1)){const _=Wx(this._opts.autoIndent,e,new R(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)),this._languageConfigurationService);if(_){if(h=c,_.appendText)for(let b=0,C=_.appendText.length;b1){let n,o=-1;for(n=e-1;n>=1;n--){if(s.tokenization.getLanguageIdAtPosition(n,0)!==i)return o;const r=s.getLineContent(n);if(t.shouldIgnore(n)||/^\s+$/.test(r)||r===""){o=n;continue}return n}}return-1}function gg(s,e,t,i=!0,n){if(s<4)return null;const o=n.getLanguageConfiguration(e.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;const r=new DP(e,o,n);if(t<=1)return{indentation:"",action:null};for(let l=t-1;l>0&&e.getLineContent(l)==="";l--)if(l===1)return{indentation:"",action:null};const a=KZ(e,t,r);if(a<0)return null;if(a<1)return{indentation:"",action:null};if(r.shouldIncrease(a)||r.shouldIndentNextLine(a)){const l=e.getLineContent(a);return{indentation:Ri(l),action:hi.Indent,line:a}}else if(r.shouldDecrease(a)){const l=e.getLineContent(a);return{indentation:Ri(l),action:null,line:a}}else{if(a===1)return{indentation:Ri(e.getLineContent(a)),action:null,line:a};const l=a-1,c=o.getIndentMetadata(e.getLineContent(l));if(!(c&3)&&c&4){let h=0;for(let d=l-1;d>0;d--)if(!r.shouldIndentNextLine(d)){h=d;break}return{indentation:Ri(e.getLineContent(h+1)),action:null,line:h+1}}if(i)return{indentation:Ri(e.getLineContent(a)),action:null,line:a};for(let h=a;h>0;h--){if(r.shouldIncrease(h))return{indentation:Ri(e.getLineContent(h)),action:hi.Indent,line:h};if(r.shouldIndentNextLine(h)){let d=0;for(let u=h-1;u>0;u--)if(!r.shouldIndentNextLine(h)){d=u;break}return{indentation:Ri(e.getLineContent(d+1)),action:null,line:d+1}}else if(r.shouldDecrease(h))return{indentation:Ri(e.getLineContent(h)),action:null,line:h}}return{indentation:Ri(e.getLineContent(1)),action:null,line:1}}}function sse(s,e,t,i,n,o){if(s<4)return null;const r=o.getLanguageConfiguration(t);if(!r)return null;const a=o.getLanguageConfiguration(t).indentRulesSupport;if(!a)return null;const l=new DP(e,a,o),c=gg(s,e,i,void 0,o);if(c){const h=c.line;if(h!==void 0){let d=!0;for(let u=h;u0){const b=e.getLineContent(_);if(c.shouldIndentNextLine(b)&&c.shouldIncrease(m)){const v=gg(r,e,t.startLineNumber,!1,o)?.indentation;if(v!==void 0){const w=e.getLineContent(t.startLineNumber),y=Ri(w),k=n.shiftIndent(v)===y,D=/^\s*$/.test(g),E=s.autoClosingPairs.autoClosingPairsOpenByEnd.get(i),O=E&&E.length>0&&D;if(k&&O)return v}}}return null}function ose(s,e,t){const i=t.getLanguageConfiguration(s.getLanguageId()).indentRulesSupport;return!i||e<1||e>s.getLineCount()?null:i.getIndentMetadata(s.getLineContent(e))}function GZ(s,e,t){return{tokenization:{getLineTokens:n=>n===e?t:s.tokenization.getLineTokens(n),getLanguageId:()=>s.getLanguageId(),getLanguageIdAtPosition:(n,o)=>s.getLanguageIdAtPosition(n,o)},getLineContent:n=>n===e?t.getLineContent():s.getLineContent(n)}}class ZZ{static getEdits(e,t,i,n,o){if(!o&&this._isAutoIndentType(e,t,i)){const r=[];for(const l of i){const c=this._findActualIndentationForSelection(e,t,l,n);if(c===null)return;r.push({selection:l,indentation:c})}const a=Fy.getAutoClosingPairClose(e,t,i,n,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,r,n,a)}}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let n=0,o=i.length;nzx(e,a),unshiftIndent:a=>e1(e,a)},e.languageConfigurationService);if(o===null)return null;const r=mR(t,i.startLineNumber,i.startColumn);return o===e.normalizeIndentation(r)?null:o}static _getIndentationAndAutoClosingPairEdits(e,t,i,n,o){const r=i.map(({selection:l,indentation:c})=>{if(o!==null){const h=this._getEditFromIndentationAndSelection(e,t,c,l,n,!1);return new rY(h,l,n,o)}else{const h=this._getEditFromIndentationAndSelection(e,t,c,l,n,!0);return vl(h.range,h.text,!1)}}),a={shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1};return new _n(4,r,a)}static _getEditFromIndentationAndSelection(e,t,i,n,o,r=!0){const a=n.startLineNumber,l=t.getLineFirstNonWhitespaceColumn(a);let c=e.normalizeIndentation(i);if(l!==0){const d=t.getLineContent(a);c+=d.substring(l-1,n.startColumn-1)}return c+=r?o:"",{range:new R(a,1,n.endLineNumber,n.endColumn),text:c}}}class YZ{static getEdits(e,t,i,n,o,r){if(NP(t,i,n,o,r))return this._runAutoClosingOvertype(e,n,r)}static _runAutoClosingOvertype(e,t,i){const n=[];for(let o=0,r=t.length;onew xn(new R(a.positionLineNumber,a.positionColumn,a.positionLineNumber,a.positionColumn+1),"",!1));return new _n(4,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}class Fy{static getEdits(e,t,i,n,o,r){if(!r){const a=this.getAutoClosingPairClose(e,t,i,n,o);if(a!==null)return this._runAutoClosingOpenCharType(i,n,o,a)}}static _runAutoClosingOpenCharType(e,t,i,n){const o=[];for(let r=0,a=e.length;r{const m=g.getPosition();return o?{lineNumber:m.lineNumber,beforeColumn:m.column-n.length,afterColumn:m.column}:{lineNumber:m.lineNumber,beforeColumn:m.column,afterColumn:m.column}}),a=this._findAutoClosingPairOpen(e,t,r.map(g=>new W(g.lineNumber,g.beforeColumn)),n);if(!a)return null;let l,c;if(Za(n)?(l=e.autoClosingQuotes,c=e.shouldAutoCloseBefore.quote):(e.blockCommentStartToken?a.open.includes(e.blockCommentStartToken):!1)?(l=e.autoClosingComments,c=e.shouldAutoCloseBefore.comment):(l=e.autoClosingBrackets,c=e.shouldAutoCloseBefore.bracket),l==="never")return null;const d=this._findContainedAutoClosingPair(e,a),u=d?d.close:"";let f=!0;for(const g of r){const{lineNumber:m,beforeColumn:_,afterColumn:b}=g,C=t.getLineContent(m),v=C.substring(0,_-1),w=C.substring(b-1);if(w.startsWith(u)||(f=!1),w.length>0){const D=w.charAt(0);if(!this._isBeforeClosingBrace(e,w)&&!c(D))return null}if(a.open.length===1&&(n==="'"||n==='"')&&l!=="always"){const D=wd(e.wordSeparators,[]);if(v.length>0){const E=v.charCodeAt(v.length-1);if(D.get(E)===0)return null}}if(!t.tokenization.isCheapToTokenize(m))return null;t.tokenization.forceTokenization(m);const y=t.tokenization.getLineTokens(m),L=$l(y,_-1);if(!a.shouldAutoClose(L,_-L.firstCharOffset))return null;const k=a.findNeutralCharacter();if(k){const D=t.tokenization.getTokenTypeIfInsertingCharacter(m,_,k);if(!a.isOK(D))return null}}return f?a.close.substring(0,a.close.length-u.length):a.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),n=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let o=null;for(const r of n)r.open!==t.open&&t.open.includes(r.open)&&t.close.endsWith(r.close)&&(!o||r.open.length>o.open.length)&&(o=r);return o}static _findAutoClosingPairOpen(e,t,i,n){const o=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(n);if(!o)return null;let r=null;for(const a of o)if(r===null||a.open.length>r.open.length){let l=!0;for(const c of i)if(t.getValueInRange(new R(c.lineNumber,c.column-a.open.length+1,c.lineNumber,c.column))+n!==a.open){l=!1;break}l&&(r=a)}return r}static _isBeforeClosingBrace(e,t){const i=t.charAt(0),n=e.autoClosingPairs.autoClosingPairsOpenByStart.get(i)||[],o=e.autoClosingPairs.autoClosingPairsCloseByStart.get(i)||[],r=n.some(l=>t.startsWith(l.open)),a=o.some(l=>t.startsWith(l.close));return!r&&a}}class XZ{static getEdits(e,t,i,n,o){if(!o&&this._isSurroundSelectionType(e,t,i,n))return this._runSurroundSelectionType(e,i,n)}static _runSurroundSelectionType(e,t,i){const n=[];for(let o=0,r=t.length;o=4){const l=qZ(e.autoIndent,t,n,{unshiftIndent:c=>e1(e,c),shiftIndent:c=>zx(e,c),normalizeIndentation:c=>e.normalizeIndentation(c)},e.languageConfigurationService);if(l){let c=e.visibleColumnFromColumn(t,n.getEndPosition());const h=n.endColumn,d=t.getLineContent(n.endLineNumber),u=In(d);if(u>=0?n=n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,u+1)):n=n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new wp(n,` `+e.normalizeIndentation(l.afterEnter),!0);{let f=0;return h<=u+1&&(e.insertSpaces||(c=Math.ceil(c/e.indentSize)),f=Math.min(c+1-e.normalizeIndentation(l.afterEnter).length-1,0)),new X_(n,` `+e.normalizeIndentation(l.afterEnter),0,f,!0)}}}return vl(n,` `+e.normalizeIndentation(a),i)}static lineInsertBefore(e,t,i){if(t===null||i===null)return[];const n=[];for(let o=0,r=i.length;othis._compositionType(i,h,o,r,a,l));return new _n(4,c,{shouldPushStackElementBefore:r0(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,o,r){if(!t.isEmpty())return null;const a=t.getPosition(),l=Math.max(1,a.column-n),c=Math.min(e.getLineMaxColumn(a.lineNumber),a.column+o),h=new R(a.lineNumber,l,a.lineNumber,c);return e.getValueInRange(h)===i&&r===0?null:new X_(h,i,0,r)}}class nY{static getEdits(e,t,i){const n=[];for(let r=0,a=t.length;r1){let a;for(a=i-1;a>=1;a--){const h=t.getLineContent(a);if(Tc(h)>=0)break}if(a<1)return null;const l=t.getLineMaxColumn(a),c=Wx(e.autoIndent,t,new R(a,l,a,l),e.languageConfigurationService);c&&(o=c.indentation+c.appendText)}return n&&(n===hi.Indent&&(o=zx(e,o)),n===hi.Outdent&&(o=e1(e,o)),o=e.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,i,n){let o="";const r=i.getStartPosition();if(e.insertSpaces){const a=e.visibleColumnFromColumn(t,r),l=e.indentSize,c=l-a%l;for(let h=0;h2?c.charCodeAt(l.column-2):0)===92&&d)return!1;if(s.autoClosingOvertype==="auto"){let f=!1;for(let g=0,m=i.length;g{const n=t.get(Qt).getFocusedCodeEditor();return n&&n.hasTextFocus()?this._runEditorCommand(t,n,i):!1}),e.addImplementation(1e3,"generic-dom-input-textarea",(t,i)=>{const n=Zi();return n&&["input","textarea"].indexOf(n.tagName.toLowerCase())>=0?(this.runDOMCommand(n),!0):!1}),e.addImplementation(0,"generic-dom",(t,i)=>{const n=t.get(Qt).getActiveCodeEditor();return n?(n.focus(),this._runEditorCommand(t,n,i)):!1})}_runEditorCommand(e,t,i){const n=this.runEditorCommand(e,t,i);return n||!0}}var si;(function(s){class e extends Tt{constructor(C){super(C),this._inSelectionMode=C.inSelectionMode}runCoreEditorCommand(C,v){if(!v.position)return;C.model.pushStackElement(),C.setCursorStates(v.source,3,[Vi.moveTo(C,C.getPrimaryCursorState(),this._inSelectionMode,v.position,v.viewPosition)])&&v.revealType!==2&&C.revealAllCursors(v.source,!0,!0)}}s.MoveTo=Se(new e({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),s.MoveToSelect=Se(new e({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class t extends Tt{runCoreEditorCommand(C,v){C.model.pushStackElement();const w=this._getColumnSelectResult(C,C.getPrimaryCursorState(),C.getCursorColumnSelectData(),v);w!==null&&(C.setCursorStates(v.source,3,w.viewStates.map(y=>Re.fromViewState(y))),C.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:w.fromLineNumber,fromViewVisualColumn:w.fromVisualColumn,toViewLineNumber:w.toLineNumber,toViewVisualColumn:w.toVisualColumn}),w.reversed?C.revealTopMostCursor(v.source):C.revealBottomMostCursor(v.source))}}s.ColumnSelect=Se(new class extends t{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(b,C,v,w){if(typeof w.position>"u"||typeof w.viewPosition>"u"||typeof w.mouseColumn>"u")return null;const y=b.model.validatePosition(w.position),L=b.coordinatesConverter.validateViewPosition(new W(w.viewPosition.lineNumber,w.viewPosition.column),y),k=w.doColumnSelect?v.fromViewLineNumber:L.lineNumber,D=w.doColumnSelect?v.fromViewVisualColumn:w.mouseColumn-1;return Ol.columnSelect(b.cursorConfig,b,k,D,L.lineNumber,w.mouseColumn-1)}}),s.CursorColumnSelectLeft=Se(new class extends t{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(b,C,v,w){return Ol.columnSelectLeft(b.cursorConfig,b,v)}}),s.CursorColumnSelectRight=Se(new class extends t{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(b,C,v,w){return Ol.columnSelectRight(b.cursorConfig,b,v)}});class i extends t{constructor(C){super(C),this._isPaged=C.isPaged}_getColumnSelectResult(C,v,w,y){return Ol.columnSelectUp(C.cursorConfig,C,w,this._isPaged)}}s.CursorColumnSelectUp=Se(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:3600,linux:{primary:0}}})),s.CursorColumnSelectPageUp=Se(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:3595,linux:{primary:0}}}));class n extends t{constructor(C){super(C),this._isPaged=C.isPaged}_getColumnSelectResult(C,v,w,y){return Ol.columnSelectDown(C.cursorConfig,C,w,this._isPaged)}}s.CursorColumnSelectDown=Se(new n({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:3602,linux:{primary:0}}})),s.CursorColumnSelectPageDown=Se(new n({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends Tt{constructor(){super({id:"cursorMove",precondition:void 0,metadata:J_.metadata})}runCoreEditorCommand(C,v){const w=J_.parse(v);w&&this._runCursorMove(C,v.source,w)}_runCursorMove(C,v,w){C.model.pushStackElement(),C.setCursorStates(v,3,o._move(C,C.getCursorStates(),w)),C.revealAllCursors(v,!0)}static _move(C,v,w){const y=w.select,L=w.value;switch(w.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return Vi.simpleMove(C,v,w.direction,y,L,w.unit);case 11:case 13:case 12:case 14:return Vi.viewportMove(C,v,w.direction,y,L);default:return null}}}s.CursorMoveImpl=o,s.CursorMove=Se(new o);class r extends Tt{constructor(C){super(C),this._staticArgs=C.args}runCoreEditorCommand(C,v){let w=this._staticArgs;this._staticArgs.value===-1&&(w={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:v.pageSize||C.cursorConfig.pageSize}),C.model.pushStackElement(),C.setCursorStates(v.source,3,Vi.simpleMove(C,C.getCursorStates(),w.direction,w.select,w.value,w.unit)),C.revealAllCursors(v.source,!0)}}s.CursorLeft=Se(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),s.CursorLeftSelect=Se(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1039}})),s.CursorRight=Se(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),s.CursorRightSelect=Se(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1041}})),s.CursorUp=Se(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),s.CursorUpSelect=Se(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),s.CursorPageUp=Se(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:11}})),s.CursorPageUpSelect=Se(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1035}})),s.CursorDown=Se(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),s.CursorDownSelect=Se(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),s.CursorPageDown=Se(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:12}})),s.CursorPageDownSelect=Se(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1036}})),s.CreateCursor=Se(new class extends Tt{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(b,C){if(!C.position)return;let v;C.wholeLine?v=Vi.line(b,b.getPrimaryCursorState(),!1,C.position,C.viewPosition):v=Vi.moveTo(b,b.getPrimaryCursorState(),!1,C.position,C.viewPosition);const w=b.getCursorStates();if(w.length>1){const y=v.modelState?v.modelState.position:null,L=v.viewState?v.viewState.position:null;for(let k=0,D=w.length;kL&&(y=L);const k=new R(y,1,y,b.model.getLineMaxColumn(y));let D=0;if(v.at)switch(v.at){case Eh.RawAtArgument.Top:D=3;break;case Eh.RawAtArgument.Center:D=1;break;case Eh.RawAtArgument.Bottom:D=4;break}const E=b.coordinatesConverter.convertModelRangeToViewRange(k);b.revealRange(C.source,!1,E,D,0)}}),s.SelectAll=new class extends By{constructor(){super(D3)}runDOMCommand(b){Rs&&(b.focus(),b.select()),b.ownerDocument.execCommand("selectAll")}runEditorCommand(b,C,v){const w=C._getViewModel();w&&this.runCoreEditorCommand(w,v)}runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates("keyboard",3,[Vi.selectAll(b,b.getPrimaryCursorState())])}},s.SetSelection=Se(new class extends Tt{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(b,C){C.selection&&(b.model.pushStackElement(),b.setCursorStates(C.source,3,[Re.fromModelSelection(C.selection)]))}})})(si||(si={}));const lY=$e.and(ne.textInputFocus,ne.columnSelection);function Zd(s,e){wc.registerKeybindingRule({id:s,primary:e,when:lY,weight:He+1})}Zd(si.CursorColumnSelectLeft.id,1039);Zd(si.CursorColumnSelectRight.id,1041);Zd(si.CursorColumnSelectUp.id,1040);Zd(si.CursorColumnSelectPageUp.id,1035);Zd(si.CursorColumnSelectDown.id,1042);Zd(si.CursorColumnSelectPageDown.id,1036);function ON(s){return s.register(),s}var FN;(function(s){class e extends za{runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditingCommand(n,r,o||{})}}s.CoreEditingCommand=e,s.LineBreakInsert=Se(new class extends e{constructor(){super({id:"lineBreakInsert",precondition:ne.writable,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,n){t.pushUndoStop(),t.executeCommands(this.id,IP.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection)))}}),s.Outdent=Se(new class extends e{constructor(){super({id:"outdent",precondition:ne.writable,kbOpts:{weight:He,kbExpr:$e.and(ne.editorTextFocus,ne.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,n){t.pushUndoStop(),t.executeCommands(this.id,Fl.outdent(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection))),t.pushUndoStop()}}),s.Tab=Se(new class extends e{constructor(){super({id:"tab",precondition:ne.writable,kbOpts:{weight:He,kbExpr:$e.and(ne.editorTextFocus,ne.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,n){t.pushUndoStop(),t.executeCommands(this.id,Fl.tab(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection))),t.pushUndoStop()}}),s.DeleteLeft=Se(new class extends e{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,n){const[o,r]=Dc.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(a=>a.modelState.selection),i.getCursorAutoClosedCharacters());o&&t.pushUndoStop(),t.executeCommands(this.id,r),i.setPrevEditOperationType(2)}}),s.DeleteRight=Se(new class extends e{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:He,kbExpr:ne.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,n){const[o,r]=Dc.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(a=>a.modelState.selection));o&&t.pushUndoStop(),t.executeCommands(this.id,r),i.setPrevEditOperationType(3)}}),s.Undo=new class extends By{constructor(){super(iR)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,n){if(!(!i.hasModel()||i.getOption(92)===!0))return i.getModel().undo()}},s.Redo=new class extends By{constructor(){super(nR)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,n){if(!(!i.hasModel()||i.getOption(92)===!0))return i.getModel().redo()}}})(FN||(FN={}));class BN extends Db{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(Qt).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function Kc(s,e){ON(new BN("default:"+s,s)),ON(new BN(s,s,e))}Kc("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]});Kc("replacePreviousChar");Kc("compositionType");Kc("compositionStart");Kc("compositionEnd");Kc("paste");Kc("cut");class cY{constructor(e,t,i,n){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=n}paste(e,t,i,n){this.commandDelegate.paste(e,t,i,n)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,n){this.commandDelegate.compositionType(e,t,i,n)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){si.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount===2?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):n?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){si.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){si.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),si.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),si.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){si.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){si.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){si.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){si.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){si.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){si.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){si.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){si.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){si.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class MP{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new et("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(this.getCount()===0)return null;const i=this.getStartLineNumber(),n=this.getEndLineNumber();if(tn)return null;let o=0,r=0;for(let l=i;l<=n;l++){const c=l-this._rendLineNumberStart;e<=l&&l<=t&&(r===0?(o=c,r=1):r++)}if(e=n&&a<=o&&(this._lines[a-this._rendLineNumberStart].onContentChanged(),r=!0);return r}onLinesInserted(e,t){if(this.getCount()===0)return null;const i=t-e+1,n=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=i,null;if(e>o)return null;if(i+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);const r=[];for(let d=0;di)continue;const l=Math.max(t,a.fromLineNumber),c=Math.min(i,a.toLineNumber);for(let h=l;h<=c;h++){const d=h-this._rendLineNumberStart;this._lines[d].onTokensChanged(),n=!0}}return n}}class RP{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new MP(this._lineFactory)}_createDomNode(){const e=qe(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,n=t.length;it){const r=t,a=Math.min(i,o.rendLineNumberStart-1);r<=a&&(this._insertLinesBefore(o,r,a,n,t),o.linesLength+=a-r+1)}else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,r),o.linesLength-=r)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1i){const r=Math.max(0,i-o.rendLineNumberStart+1),l=o.linesLength-1-r+1;l>0&&(this._removeLinesAfter(o,l),o.linesLength-=l)}return this._finishRendering(o,!1,n),o}_renderUntouchedLines(e,t,i,n,o){const r=e.rendLineNumberStart,a=e.lines;for(let l=t;l<=i;l++){const c=r+l;a[l].layoutLine(c,n[c-o],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,i,n,o){const r=[];let a=0;for(let l=t;l<=i;l++)r[a++]=this._lineFactory.createLine();e.lines=r.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;a--){const l=e.lines[a];n[a]&&(l.setDomNode(r),r=r.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const n=document.createElement("div");mr._ttPolicy&&(t=mr._ttPolicy.createHTML(t)),n.innerHTML=t;for(let o=0;oe}),mr._sb=new Eb(1e5);let Wy=mr;class AP extends Rn{constructor(e){super(e),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new RP({createLine:()=>new hY(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);Pi(this.domNode,i),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ei.shouldRender());for(let i=0,n=t.length;i'),o.appendString(r),o.appendString(""),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class dY extends AP{constructor(e){super(e);const i=this._context.configuration.options.get(146);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const i=this._context.configuration.options.get(146);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class uY extends AP{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),Pi(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;Pi(this.domNode,t.get(50));const i=t.get(146);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class a0{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){this.onKeyDown?.(e)}emitKeyUp(e){this.onKeyUp?.(e)}emitContextMenu(e){this.onContextMenu?.(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove?.(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave?.(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown?.(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp?.(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag?.(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop?.(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(e){this.onMouseWheel?.(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return a0.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),(i.type===5||i.type===8)&&(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new W(e.afterLineNumber,1)).lineNumber}}}class fY extends Rn{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=qe(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const i=this._context.configuration.options.get(146),n=i.contentWidth-i.verticalScrollbarWidth;this.contentWidth!==n&&(this.contentWidth=n,e=!0);const o=i.contentLeft;return this.contentLeft!==o&&(this.contentLeft=o,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0;const i=e.getDecorationsInViewport();for(const n of i){if(!n.options.blockClassName)continue;let o=this.blocks[t];o||(o=this.blocks[t]=qe(document.createElement("div")),this.domNode.appendChild(o));let r,a;n.options.blockIsAfterEnd?(r=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!1),a=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0)):(r=e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!0),a=n.range.isEmpty()&&!n.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0));const[l,c,h,d]=n.options.blockPadding??[0,0,0,0];o.setClassName("blockDecorations-block "+n.options.blockClassName),o.setLeft(this.contentLeft-d),o.setWidth(this.contentWidth+d+c),o.setTop(r-e.scrollTop-l),o.setHeight(a-r+l+h),t++}for(let n=t;n0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,n){const o=e.top,r=o,a=e.top+e.height,l=n.viewportHeight-a,c=o-i,h=r>=i,d=a,u=l>=i;let f=e.left;return f+t>n.scrollLeft+n.viewportWidth&&(f=n.scrollLeft+n.viewportWidth-t),fl){const u=d-(l-n);d-=u,i-=u}if(d=m,C=d+i<=u.height-_;return this._fixedOverflowWidgets?{fitsAbove:b,aboveTop:Math.max(h,m),fitsBelow:C,belowTop:d,left:g}:{fitsAbove:b,aboveTop:o,fitsBelow:C,belowTop:r,left:f}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new vu(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){const t=o(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),i=this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,n=o(i,this._affinity,this._lineHeight);return{primary:t,secondary:n};function o(r,a,l){if(!r)return null;const c=e.visibleRangeForPosition(r);if(!c)return null;const h=r.column===1&&a===3?0:c.left,d=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.scrollTop;return new WN(d,h,l)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const n=this._context.configuration.options.get(50);let o=t.left;return oe.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData||this._renderData.kind==="offViewport"){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this._renderData?.kind==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&xC(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&xC(this._actual.afterRender,this._actual,this._renderData.position)}}class wu{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class vu{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class WN{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function xC(s,e,...t){try{return s.call(e,...t)}catch{return null}}class PP extends $c{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new tt(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const o of this._selections)t.add(o.positionLineNumber);const i=Array.from(t);i.sort((o,r)=>o-r),ii(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const n=this._selections.every(o=>o.isEmpty());return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=[];for(let r=t;r<=i;r++){const a=r-t;n[a]=""}if(this._wordWrap){const r=this._renderOne(e,!1);for(const a of this._cursorLineNumbers){const l=this._context.viewModel.coordinatesConverter,c=l.convertViewPositionToModelPosition(new W(a,1)).lineNumber,h=l.convertModelPositionToViewPosition(new W(c,1)).lineNumber,d=l.convertModelPositionToViewPosition(new W(c,this._context.viewModel.model.getLineMaxColumn(c))).lineNumber,u=Math.max(h,t),f=Math.min(d,i);for(let g=u;g<=f;g++){const m=g-t;n[m]=r}}}const o=this._renderOne(e,!0);for(const r of this._cursorLineNumbers){if(ri)continue;const a=r-t;n[a]=o}this._renderData=n}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class pY extends PP{_renderOne(e,t){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class _Y extends PP{_renderOne(e,t){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}jr((s,e)=>{const t=s.getColor(s4);if(t&&(e.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${t}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${t}; border: none; }`)),!t||t.isTransparent()||s.defines(_I)){const i=s.getColor(_I);i&&(e.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),Yh(s.type)&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});class bY extends $c{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],n=0;for(let l=0,c=t.length;l{if(l.options.zIndexc.options.zIndex)return 1;const h=l.options.className,d=c.options.className;return hd?1:R.compareRangesUsingStarts(l.range,c.range)});const o=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,a=[];for(let l=o;l<=r;l++){const c=l-o;a[c]=""}this._renderWholeLineDecorations(e,i,a),this._renderNormalDecorations(e,i,a),this._renderResult=a}_renderWholeLineDecorations(e,t,i){const n=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber;for(let r=0,a=t.length;r',h=Math.max(l.range.startLineNumber,n),d=Math.min(l.range.endLineNumber,o);for(let u=h;u<=d;u++){const f=u-n;i[f]+=c}}}_renderNormalDecorations(e,t,i){const n=e.visibleRange.startLineNumber;let o=null,r=!1,a=null,l=!1;for(let c=0,h=t.length;c';a[u]+=b}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class CY extends Rn{constructor(e,t,i,n){super(e);const o=this._context.configuration.options,r=o.get(104),a=o.get(75),l=o.get(40),c=o.get(107),h={listenOnDomNode:i.domNode,className:"editor-scrollable "+Ev(e.theme.type),useShadows:!1,lazyRender:!0,vertical:r.vertical,horizontal:r.horizontal,verticalHasArrows:r.verticalHasArrows,horizontalHasArrows:r.horizontalHasArrows,verticalScrollbarSize:r.verticalScrollbarSize,verticalSliderSize:r.verticalSliderSize,horizontalScrollbarSize:r.horizontalScrollbarSize,horizontalSliderSize:r.horizontalSliderSize,handleMouseWheel:r.handleMouseWheel,alwaysConsumeMouseWheel:r.alwaysConsumeMouseWheel,arrowSize:r.arrowSize,mouseWheelScrollSensitivity:a,fastScrollSensitivity:l,scrollPredominantAxis:c,scrollByPage:r.scrollByPage};this.scrollbar=this._register(new Ob(t.domNode,h,this._context.viewLayout.getScrollable())),ro.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=qe(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(u,f,g)=>{const m={};{const _=u.scrollTop;_&&(m.scrollTop=this._context.viewLayout.getCurrentScrollTop()+_,u.scrollTop=0)}if(g){const _=u.scrollLeft;_&&(m.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+_,u.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(m,1)};this._register($(i.domNode,"scroll",u=>d(i.domNode,!0,!0))),this._register($(t.domNode,"scroll",u=>d(t.domNode,!0,!1))),this._register($(n.domNode,"scroll",u=>d(n.domNode,!0,!1))),this._register($(this.scrollbarDomNode.domNode,"scroll",u=>d(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft),e.get(73).side==="right"?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){const t=this._context.configuration.options,i=t.get(104),n=t.get(75),o=t.get(40),r=t.get(107),a={vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:n,fastScrollSensitivity:o,scrollPredominantAxis:r};this.scrollbar.updateOptions(a)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+Ev(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}class Vy{constructor(e,t,i,n,o){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=n,this._decorationToRenderBrand=void 0,this.zIndex=o??0}}class wY{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class vY{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class OP extends $c{_render(e,t,i){const n=[];for(let a=e;a<=t;a++){const l=a-e;n[l]=new vY}if(i.length===0)return n;i.sort((a,l)=>a.className===l.className?a.startLineNumber===l.startLineNumber?a.endLineNumber-l.endLineNumber:a.startLineNumber-l.startLineNumber:a.classNamen)continue;const c=Math.max(a,i),h=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new W(c,0)),d=this._context.viewModel.glyphLanes.getLanesAtLine(h.lineNumber).indexOf(o.preference.lane);t.push(new LY(c,d,o.preference.zIndex,o))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((i,n)=>i.lineNumber===n.lineNumber?i.laneIndex===n.laneIndex?i.zIndex===n.zIndex?n.type===i.type?i.type===0&&n.type===0?i.className0;){const n=t.peek();if(!n)break;const o=t.takeWhile(a=>a.lineNumber===n.lineNumber&&a.laneIndex===n.laneIndex);if(!o||o.length===0)break;const r=o[0];if(r.type===0){const a=[];for(const l of o){if(l.zIndex!==r.zIndex||l.type!==r.type)break;(a.length===0||a[a.length-1]!==l.className)&&a.push(l.className)}i.push(r.accept(a.join(" ")))}else r.widget.renderInfo={lineNumber:r.lineNumber,laneIndex:r.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const i of Object.values(this._widgets))i.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;)this._managedDomNodes.pop()?.domNode.remove();return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(!i.renderInfo)i.domNode.setDisplay("none");else{const n=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],o=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(n),i.domNode.setLeft(o),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}for(let i=0;ithis._decorationGlyphsToRender.length;)this._managedDomNodes.pop()?.domNode.remove()}}class yY{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=n,this.type=0}accept(e){return new kY(this.lineNumber,this.laneIndex,e)}}class LY{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=n,this.type=1}}class kY{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}class xY extends $c{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,i=t.get(147),n=t.get(50);this._spaceWidth=n.spaceWidth,this._maxIndentLeft=i.wrappingColumn===-1?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(147),n=t.get(50);return this._spaceWidth=n.spaceWidth,this._maxIndentLeft=i.wrappingColumn===-1?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){const i=e.selections[0].getPosition();return this._primaryPosition?.equals(i)?!1:(this._primaryPosition=i,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=e.scrollWidth,o=this._primaryPosition,r=this.getGuidesByLine(t,Math.min(i+1,this._context.viewModel.getLineCount()),o),a=[];for(let l=t;l<=i;l++){const c=l-t,h=r[c];let d="";const u=e.visibleRangeForPosition(new W(l,1))?.left??0;for(const f of h){const g=f.column===-1?u+(f.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new W(l,f.column)).left;if(g>n||this._maxIndentLeft>0&&g>this._maxIndentLeft)break;const m=f.horizontalLine?f.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",_=f.horizontalLine?(e.visibleRangeForPosition(new W(l,f.horizontalLine.endColumn))?.left??g+this._spaceWidth)-g:this._spaceWidth;d+=`
    `}a[c]=d}this._renderResult=a}getGuidesByLine(e,t,i){const n=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?tc.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?tc.EnabledForActive:tc.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let r=0,a=0,l=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&i){const d=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);r=d.startLineNumber,a=d.endLineNumber,l=d.indent}const{indentSize:c}=this._context.viewModel.model.getOptions(),h=[];for(let d=e;d<=t;d++){const u=new Array;h.push(u);const f=n?n[d-e]:[],g=new zr(f),m=o?o[d-e]:0;for(let _=1;_<=m;_++){const b=(_-1)*c+1,C=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||f.length===0)&&r<=d&&d<=a&&_===l;u.push(...g.takeWhile(w=>w.visibleColumn!0)||[])}return h}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function lh(s){if(!(s&&s.isTransparent()))return s}jr((s,e)=>{const t=[{bracketColor:a4,guideColor:NU,guideColorActive:OU},{bracketColor:l4,guideColor:TU,guideColorActive:FU},{bracketColor:c4,guideColor:MU,guideColorActive:BU},{bracketColor:h4,guideColor:RU,guideColorActive:WU},{bracketColor:d4,guideColor:AU,guideColorActive:VU},{bracketColor:u4,guideColor:PU,guideColorActive:HU}],i=new S4,n=[{indentColor:qg,indentColorActive:jg},{indentColor:hU,indentColorActive:mU},{indentColor:dU,indentColorActive:pU},{indentColor:uU,indentColorActive:_U},{indentColor:fU,indentColorActive:bU},{indentColor:gU,indentColorActive:CU}],o=t.map(a=>{const l=s.getColor(a.bracketColor),c=s.getColor(a.guideColor),h=s.getColor(a.guideColorActive),d=lh(lh(c)??l?.transparent(.3)),u=lh(lh(h)??l);if(!(!d||!u))return{guideColor:d,guideColorActive:u}}).filter(gd),r=n.map(a=>{const l=s.getColor(a.indentColor),c=s.getColor(a.indentColorActive),h=lh(l),d=lh(c);if(!(!h||!d))return{indentColor:h,indentColorActive:d}}).filter(gd);if(o.length>0){for(let a=0;a<30;a++){const l=o[a%o.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(a).replace(/ /g,".")} { --guide-color: ${l.guideColor}; --guide-color-active: ${l.guideColorActive}; }`)}e.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),e.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),e.addRule(`.monaco-editor .vertical.${i.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),e.addRule(`.monaco-editor .horizontal-top.${i.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),e.addRule(`.monaco-editor .horizontal-bottom.${i.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let a=0;a<30;a++){const l=r[a%r.length];e.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${a} { --indent-color: ${l.indentColor}; --indent-color-active: ${l.indentColorActive}; }`)}e.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),e.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});class DC{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class DY{constructor(){this._currentVisibleRange=new R(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class EY{constructor(e,t,i,n,o,r,a){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=n,this.startScrollTop=o,this.stopScrollTop=r,this.scrollType=a,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class IY{constructor(e,t,i,n,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=n,this.scrollType=o,this.type="selections";let r=t[0].startLineNumber,a=t[0].endLineNumber;for(let l=1,c=t.length;lnew kr(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,ro.write(this.domNode,8),this.domNode.setClassName(`view-lines ${cd}`),Pi(this.domNode,o),this._maxLineWidth=0,this._asyncUpdateLineWidths=new Gi(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new Gi(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new DY,this._horizontalRevealRequest=null,this._stickyScrollEnabled=n.get(116).enabled,this._maxNumberStickyLines=n.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),n=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=n.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,Pi(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new IN(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let o=i;o<=n;o++)this._visibleLines.getVisibleLine(o).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=!1;for(let o=t;o<=i;o++)n=this._visibleLines.getVisibleLine(o).onSelectionChanged()||n;return n}onDecorationsChanged(e){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let n=t;n<=i;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new EY(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new IY(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const o=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,o),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(i===null)return null;const n=this._getLineNumberFor(i);if(n===-1||n<1||n>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(n)===1)return new W(n,1);const o=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(nr)return null;let a=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(e,t);const l=this._context.viewModel.getLineMinColumn(n);return ai)return-1;const n=new DC(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getWidth(n);return this._updateLineWidthsSlowIfDomDidLayout(n),o}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,n=R.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!n)return null;const o=[];let r=0;const a=new DC(this.domNode.domNode,this._textRangeRestingSpot);let l=0;t&&(l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new W(n.startLineNumber,1)).lineNumber);const c=this._visibleLines.getStartLineNumber(),h=this._visibleLines.getEndLineNumber();for(let d=n.startLineNumber;d<=n.endLineNumber;d++){if(dh)continue;const u=d===n.startLineNumber?n.startColumn:1,f=d!==n.endLineNumber,g=f?this._context.viewModel.getLineMaxColumn(d):n.endColumn,m=this._visibleLines.getVisibleLine(d).getVisibleRangesForRange(d,u,g,a);if(m){if(t&&dthis._visibleLines.getEndLineNumber())return null;const n=new DC(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,n);return this._updateLineWidthsSlowIfDomDidLayout(n),o}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new fZ(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=1,o=!0;for(let r=t;r<=i;r++){const a=this._visibleLines.getVisibleLine(r);if(e&&!a.getWidthIsFast()){o=!1;continue}n=Math.max(n,a.getWidth(null))}return o&&t===1&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let o=i;o<=n;o++){const r=this._visibleLines.getVisibleLine(o);if(r.needsMonospaceFontCheck()){const a=r.getWidth(null);a>t&&(t=a,e=o)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let o=i;o<=n;o++)this._visibleLines.getVisibleLine(o).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(e.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const n=this._computeScrollLeftToReveal(i);n&&(this._isViewportWrapping||this._ensureMaxLineWidth(n.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:n.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),mn&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let o=i;o<=n;o++)if(this._visibleLines.getVisibleLine(o).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let b=o[0].startLineNumber,C=o[0].endLineNumber;for(let v=1,w=o.length;vl){if(!h)return-1;_=d}else if(r===5||r===6)if(r===6&&a<=d&&u<=c)_=a;else{const b=Math.max(5*this._lineHeight,l*.2),C=d-b,v=u-l;_=Math.max(v,C)}else if(r===1||r===2)if(r===2&&a<=d&&u<=c)_=a;else{const b=(d+u)/2;_=Math.max(0,b-l/2)}else _=this._computeMinimumScrolling(a,c,d,u,r===3,r===4);return _}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(146),n=t.left,o=n+t.width-i.verticalScrollbarWidth;let r=1073741824,a=0;if(e.type==="range"){const c=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!c)return null;for(const h of c.ranges)r=Math.min(r,Math.round(h.left)),a=Math.max(a,Math.round(h.left+h.width))}else for(const c of e.selections){if(c.startLineNumber!==c.endLineNumber)return null;const h=this._visibleRangesForLineRange(c.startLineNumber,c.startColumn,c.endColumn);if(!h)return null;for(const d of h.ranges)r=Math.min(r,Math.round(d.left)),a=Math.max(a,Math.round(d.left+d.width))}return e.minimalReveal||(r=Math.max(0,r-J1.HORIZONTAL_EXTRA_PX),a+=this._revealHorizontalRightPadding),e.type==="selections"&&a-r>t.width?null:{scrollLeft:this._computeMinimumScrolling(n,o,r,a),maxHorizontalOffset:a}}_computeMinimumScrolling(e,t,i,n,o,r){e=e|0,t=t|0,i=i|0,n=n|0,o=!!o,r=!!r;const a=t-e;if(n-it)return Math.max(0,n-a)}else return i;return e}};J1.HORIZONTAL_EXTRA_PX=30;let Hy=J1;class NY extends OP{constructor(e){super(),this._context=e;const i=this._context.configuration.options.get(146);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const i=this._context.configuration.options.get(146);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const t=e.getDecorationsInViewport(),i=[];let n=0;for(let o=0,r=t.length;o',l=[];for(let c=t;c<=i;c++){const h=c-t,d=n[h].getDecorations();let u="";for(const f of d){let g='
    ';o[a]=c}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}const fa=class fa{constructor(e,t,i,n){this._rgba8Brand=void 0,this.r=fa._clamp(e),this.g=fa._clamp(t),this.b=fa._clamp(i),this.a=fa._clamp(n)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}};fa.Empty=new fa(0,0,0,0);let Hr=fa;const eb=class eb extends K{static getInstance(){return this._INSTANCE||(this._INSTANCE=new eb),this._INSTANCE}constructor(){super(),this._onDidChange=new A,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(qt.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const e=qt.getColorMap();if(!e){this._colors=[Hr.Empty],this._backgroundIsLight=!0;return}this._colors=[Hr.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}};eb._INSTANCE=null;let t1=eb;const MY=(()=>{const s=[];for(let e=32;e<=126;e++)s.push(e);return s.push(65533),s})(),RY=(s,e)=>(s-=32,s<0||s>96?e<=2?(s+96)%96:95:s);class mg{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=mg.soften(e,12/15),this.charDataLight=mg.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let n=0,o=e.length;ne.width||i+g>e.height){console.warn("bad render request outside image data");return}const m=h?this.charDataLight:this.charDataNormal,_=RY(n,c),b=e.width*4,C=a.r,v=a.g,w=a.b,y=o.r-C,L=o.g-v,k=o.b-w,D=Math.max(r,l),E=e.data;let U=_*u*f,O=i*b+t*4;for(let B=0;Be.width||i+d>e.height){console.warn("bad render request outside image data");return}const u=e.width*4,f=.5*(o/255),g=r.r,m=r.g,_=r.b,b=n.r-g,C=n.g-m,v=n.b-_,w=g+b*f,y=m+C*f,L=_+v*f,k=Math.max(o,a),D=e.data;let E=i*u+t*4;for(let U=0;U{const e=new Uint8ClampedArray(s.length/2);for(let t=0;t>1]=VN[s[t]]<<4|VN[s[t+1]]&15;return e},zN={1:pd(()=>HN("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:pd(()=>HN("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class cf{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return zN[e]?i=new mg(zN[e](),e):i=cf.createFromSampleData(cf.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=96*10,t.style.width=96*10+"px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let n=0;for(const o of MY)i.fillText(String.fromCharCode(o),n,16/2),n+=10;return i.getImageData(0,0,96*10,16)}static createFromSampleData(e,t){if(e.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const n=cf._downsample(e,t);return new mg(n,t)}static _downsampleChar(e,t,i,n,o){const r=1*o,a=2*o;let l=n,c=0;for(let h=0;h0){const c=255/l;for(let h=0;hcf.create(this.fontScale,l.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=hd._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=hd._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(Q6);return i?new Hr(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(X6);return t?Hr._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(Og);return i?new Hr(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class hf{constructor(e,t,i,n,o,r,a,l,c){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=n,this.sliderTop=o,this.sliderHeight=r,this.topPaddingLineCount=a,this.startLineNumber=l,this.endLineNumber=c}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,n,o,r,a,l,c,h,d){const u=e.pixelRatio,f=e.minimapLineHeight,g=Math.floor(e.canvasInnerHeight/f),m=e.lineHeight;if(e.minimapHeightIsEditorHeight){let L=l*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(L+=Math.max(0,o-e.lineHeight-e.paddingBottom));const k=Math.max(1,Math.floor(o*o/L)),D=Math.max(0,e.minimapHeight-k),E=D/(h-o),U=c*E,O=D>0,B=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),z=Math.floor(e.paddingTop/e.lineHeight);return new hf(c,h,O,E,U,k,z,1,Math.min(a,B))}let _;if(r&&i!==a){const L=i-t+1;_=Math.floor(L*f/u)}else{const L=o/m;_=Math.floor(L*f/u)}const b=Math.floor(e.paddingTop/m);let C=Math.floor(e.paddingBottom/m);if(e.scrollBeyondLastLine){const L=o/m;C=Math.max(C,L-1)}let v;if(C>0){const L=o/m;v=(b+a+C-L-1)*f/u}else v=Math.max(0,(b+a)*f/u-_);v=Math.min(e.minimapHeight-_,v);const w=v/(h-o),y=c*w;if(g>=b+a+C){const L=v>0;return new hf(c,h,L,w,y,_,b,1,a)}else{let L;t>1?L=t+b:L=Math.max(1,c/m);let k,D=Math.max(1,Math.floor(L-y*u/f));Dc&&(D=Math.min(D,d.startLineNumber),k=Math.max(k,d.topPaddingLineCount)),d.scrollTop=e.paddingTop?O=(t-D+k+U)*f/u:O=c/e.paddingTop*(k+U)*f/u,new hf(c,h,!0,w,O,_,k,D,E)}}}const tb=class tb{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}};tb.INVALID=new tb(-1);let i1=tb;class UN{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new MP({createLine:()=>i1.INVALID}),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const i=this._renderedLines._get().lines;for(let n=0,o=i.length;n1){for(let b=0,C=n-1;b0&&this.minimapLines[i-1]>=e;)i--;let n=this.modelLineToMinimapLine(t)-1;for(;n+1t)return null}return[i+1,n+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),n=this.modelLineToMinimapLine(t);return e!==t&&n===i&&(n===this.minimapLines.length?i>1&&i--:n++),[i,n]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,n=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(n)}_recreateLineSampling(){this._minimapSelections=null;const e=!!this._samplingState,[t,i]=pg.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const n of i)switch(n.type){case"deleted":this._actual.onLinesDeleted(n.deleteFromLineNumber,n.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(n.insertFromLineNumber,n.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const n=[];for(let o=0,r=t-e+1;o!n.options.minimap?.sectionHeaderStyle);if(this._samplingState){const n=[];for(const o of i){if(!o.options.minimap)continue;const r=o.range,a=this._samplingState.modelLineToMinimapLine(r.startLineNumber),l=this._samplingState.modelLineToMinimapLine(r.endLineNumber);n.push(new bP(new R(a,r.startColumn,l,r.endColumn),o.options))}return n}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,o=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-o)),this._getMinimapDecorationsInViewport(e,t).filter(r=>!!r.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const n=this._samplingState.minimapLines[e-1],o=this._samplingState.minimapLines[t-1];i=new R(n,1,o,this._context.viewModel.getLineMaxColumn(o))}else i=new R(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){const i=e.options.minimap?.sectionHeaderText;if(!i)return null;const n=this._sectionHeaderCache.get(i);if(n)return n;const o=t(i);return this._sectionHeaderCache.set(i,o),o}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new R(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class Ih extends K{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(bE),this._domNode=qe(document.createElement("div")),ro.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=qe(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=qe(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=qe(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=qe(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=qe(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=di(this._domNode.domNode,J.POINTER_DOWN,i=>{if(i.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(i.button===0&&this._lastRenderData){const c=ds(this._slider.domNode),h=c.top+c.height/2;this._startSliderDragging(i,h,this._lastRenderData.renderedLayout)}return}const o=this._model.options.minimapLineHeight,r=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*i.offsetY;let l=Math.floor(r/o)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;l=Math.min(l,this._model.getLineCount()),this._model.revealLineNumber(l)}),this._sliderPointerMoveMonitor=new Pb,this._sliderPointerDownListener=di(this._slider.domNode,J.POINTER_DOWN,i=>{i.preventDefault(),i.stopPropagation(),i.button===0&&this._lastRenderData&&this._startSliderDragging(i,i.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=sn.addTarget(this._domNode.domNode),this._sliderTouchStartListener=$(this._domNode.domNode,pt.Start,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(i))},{passive:!1}),this._sliderTouchMoveListener=$(this._domNode.domNode,pt.Change,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(i)},{passive:!1}),this._sliderTouchEndListener=di(this._domNode.domNode,pt.End,i=>{i.preventDefault(),i.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!e.target||!(e.target instanceof Element))return;const n=e.pageX;this._slider.toggleClassName("active",!0);const o=(r,a)=>{const l=ds(this._domNode.domNode),c=Math.min(Math.abs(a-n),Math.abs(a-l.left),Math.abs(a-l.left-l.width));if(gn&&c>PY){this._model.setScrollTop(i.scrollTop);return}const h=r-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(h))};e.pageY!==t&&o(e.pageY,n),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>o(r.pageY,r.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return this._model.options.showSlider==="always"?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new Ux(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){return this._lastRenderData?.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData?.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(bE),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const i=hf.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(R.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((u,f)=>(u.options.zIndex||0)-(f.options.zIndex||0));const{canvasInnerWidth:n,canvasInnerHeight:o}=this._model.options,r=this._model.options.minimapLineHeight,a=this._model.options.minimapCharWidth,l=this._model.getOptions().tabSize,c=this._decorationsCanvas.domNode.getContext("2d");c.clearRect(0,0,n,o);const h=new $N(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(c,t,h,e,r),this._renderDecorationsLineHighlights(c,i,h,e,r);const d=new $N(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(c,t,d,e,r,l,a,n),this._renderDecorationsHighlights(c,i,d,e,r,l,a,n),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,n,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let r=0,a=0;for(const l of t){const c=n.intersectWithViewport(l);if(!c)continue;const[h,d]=c;for(let g=h;g<=d;g++)i.set(g,!0);const u=n.getYForLineNumber(h,o),f=n.getYForLineNumber(d,o);a>=u||(a>r&&e.fillRect(wo,r,e.canvas.width,a-r),r=u),a=f}a>r&&e.fillRect(wo,r,e.canvas.width,a-r)}_renderDecorationsLineHighlights(e,t,i,n,o){const r=new Map;for(let a=t.length-1;a>=0;a--){const l=t[a],c=l.options.minimap;if(!c||c.position!==1)continue;const h=n.intersectWithViewport(l.range);if(!h)continue;const[d,u]=h,f=c.getColor(this._theme.value);if(!f||f.isTransparent())continue;let g=r.get(f.toString());g||(g=f.transparent(.5).toString(),r.set(f.toString(),g)),e.fillStyle=g;for(let m=d;m<=u;m++){if(i.has(m))continue;i.set(m,!0);const _=n.getYForLineNumber(d,o);e.fillRect(wo,_,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,i,n,o,r,a,l){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const c of t){const h=n.intersectWithViewport(c);if(!h)continue;const[d,u]=h;for(let f=d;f<=u;f++)this.renderDecorationOnLine(e,i,c,this._selectionColor,n,f,o,o,r,a,l)}}_renderDecorationsHighlights(e,t,i,n,o,r,a,l){for(const c of t){const h=c.options.minimap;if(!h)continue;const d=n.intersectWithViewport(c.range);if(!d)continue;const[u,f]=d,g=h.getColor(this._theme.value);if(!(!g||g.isTransparent()))for(let m=u;m<=f;m++)switch(h.position){case 1:this.renderDecorationOnLine(e,i,c.range,g,n,m,o,o,r,a,l);continue;case 2:{const _=n.getYForLineNumber(m,o);this.renderDecoration(e,g,2,_,OY,o);continue}}}}renderDecorationOnLine(e,t,i,n,o,r,a,l,c,h,d){const u=o.getYForLineNumber(r,l);if(u+a<0||u>this._model.options.canvasInnerHeight)return;const{startLineNumber:f,endLineNumber:g}=i,m=f===r?i.startColumn:1,_=g===r?i.endColumn:this._model.getLineMaxColumn(r),b=this.getXOffsetForPosition(t,r,m,c,h,d),C=this.getXOffsetForPosition(t,r,_,c,h,d);this.renderDecoration(e,n,b,u,C-b,a)}getXOffsetForPosition(e,t,i,n,o,r){if(i===1)return wo;if((i-1)*o>=r)return r;let l=e.get(t);if(!l){const c=this._model.getLineContent(t);l=[wo];let h=wo;for(let d=1;d=r){l[d]=r;break}l[d]=g,h=g}e.set(t,l)}return i-1m.range.startLineNumber-_.range.startLineNumber);const g=Ih._fitSectionHeader.bind(null,u,r-wo);for(const m of f){const _=e.getYForLineNumber(m.range.startLineNumber,t)+i,b=_-i,C=b+2,v=this._model.getSectionHeaderText(m,g);Ih._renderSectionLabel(u,v,m.options.minimap?.sectionHeaderStyle===2,l,h,r,b,o,_,C)}}static _fitSectionHeader(e,t,i){if(!i)return i;const n="…",o=e.measureText(i).width,r=e.measureText(n).width;if(o<=t||o<=r)return i;const a=i.length,l=o/i.length,c=Math.floor((t-r)/l)-1;let h=Math.ceil(c/2);for(;h>0&&/\s/.test(i[h-1]);)--h;return i.substring(0,h)+n+i.substring(a-(c-h))}static _renderSectionLabel(e,t,i,n,o,r,a,l,c,h){t&&(e.fillStyle=n,e.fillRect(0,a,r,l),e.fillStyle=o,e.fillText(t,wo,c)),i&&(e.beginPath(),e.moveTo(0,h),e.lineTo(r,h),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,n=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const q=this._lastRenderData._get();return new UN(e,q.imageData,q.lines)}const o=this._getBuffer();if(!o)return null;const[r,a,l]=Ih._renderUntouchedLines(o,e.topPaddingLineCount,t,i,n,this._lastRenderData),c=this._model.getMinimapLinesRenderingData(t,i,l),h=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,u=this._model.options.backgroundColor,f=this._model.options.foregroundAlpha,g=this._model.tokensColorTracker,m=g.backgroundIsLight(),_=this._model.options.renderMinimap,b=this._model.options.charRenderer(),C=this._model.options.fontScale,v=this._model.options.minimapCharWidth,y=(_===1?2:3)*C,L=n>y?Math.floor((n-y)/2):0,k=u.a/255,D=new Hr(Math.round((u.r-d.r)*k+d.r),Math.round((u.g-d.g)*k+d.g),Math.round((u.b-d.b)*k+d.b),255);let E=e.topPaddingLineCount*n;const U=[];for(let q=0,X=i-t+1;q=0&&OC)return;const B=_.charCodeAt(y);if(B===9){const z=u-(y+L)%u;L+=z-1,w+=z*r}else if(B===32)w+=r;else{const z=Va(B)?2:1;for(let F=0;FC)return}}}}}class $N{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let n=0,o=this._endLineNumber-this._startLineNumber+1;nthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class BY extends Rn{constructor(e,t){super(e),this._viewDomNode=t;const n=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=n.verticalScrollbarWidth,this._minimapWidth=n.minimap.minimapWidth,this._horizontalScrollbarHeight=n.horizontalScrollbarHeight,this._editorHeight=n.height,this._editorWidth=n.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=qe(document.createElement("div")),ro.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=qe(document.createElement("div")),ro.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const i=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(e){const t=qe(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()],n=t?t.preference:null,o=t?.stackOridinal;return i.preference===n&&i.stack===o?(this._updateMaxMinWidth(),!1):(i.preference=n,i.stack=o,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let e=0;const t=Object.keys(this._widgets);for(let i=0,n=t.length;i0);t.sort((n,o)=>(this._widgets[n].stack||0)-(this._widgets[o].stack||0));for(let n=0,o=t.length;n=3){const o=Math.floor(n/3),r=Math.floor(n/3),a=n-o-r,l=e,c=l+o,h=l+o+a;return[[0,l,c,l,h,l,c,l],[0,o,a,o+a,r,o+a+r,a+r,o+a+r]]}else if(i===2){const o=Math.floor(n/2),r=n-o,a=e,l=a+o;return[[0,a,a,a,l,a,a,a],[0,o,o,o,r,o+r,o+r,o+r]]}else{const o=e,r=n;return[[0,o,o,o,o,o,o,o],[0,r,r,r,r,r,r,r]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&Z.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class VY extends Rn{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=qe(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=qt.onDidChange(t=>{t.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new W(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new WY(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(n=t===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:n})}return this._cursorPositions.sort((t,i)=>W.compare(t.position,i.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return e.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return e.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(e?Z.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(cg.compareByRenderingProps),this._actualShouldRender===1&&!cg.equalsArr(this._renderedDecorations,t)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!ii(this._renderedCursorPositions,this._cursorPositions,(g,m)=>g.position.lineNumber===m.position.lineNumber&&g.color===m.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,n=this._settings.canvasHeight,o=this._settings.lineHeight,r=this._context.viewLayout,a=this._context.viewLayout.getScrollHeight(),l=n/a,c=6*this._settings.pixelRatio|0,h=c/2|0,d=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(d.fillStyle=Z.Format.CSS.formatHexA(e),d.fillRect(0,0,i,n)):(d.clearRect(0,0,i,n),d.fillStyle=Z.Format.CSS.formatHexA(e),d.fillRect(0,0,i,n)):d.clearRect(0,0,i,n);const u=this._settings.x,f=this._settings.w;for(const g of t){const m=g.color,_=g.data;d.fillStyle=m;let b=0,C=0,v=0;for(let w=0,y=_.length/3;wn&&(B=n-h),E=B-h,U=B+h}E>v+1||L!==b?(w!==0&&d.fillRect(u[b],C,f[b],v-C),b=L,C=E,v=U):U>v&&(v=U)}d.fillRect(u[b],C,f[b],v-C)}if(!this._settings.hideCursor){const g=2*this._settings.pixelRatio|0,m=g/2|0,_=this._settings.x[7],b=this._settings.w[7];let C=-100,v=-100,w=null;for(let y=0,L=this._cursorPositions.length;yn&&(E=n-m);const U=E-m,O=U+g;U>v+1||k!==w?(y!==0&&w&&d.fillRect(_,C,b,v-C),C=U,v=O):O>v&&(v=O),w=k,d.fillStyle=k}w&&d.fillRect(_,C,b,v-C)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(d.beginPath(),d.lineWidth=1,d.strokeStyle=this._settings.borderColor,d.moveTo(0,0),d.lineTo(0,n),d.moveTo(1,0),d.lineTo(i,0),d.stroke())}}class KN{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=i|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class FP{constructor(e,t,i,n){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=n,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(m=i-_);const b=h.color;let C=this._color2Id[b];C||(C=++this._lastAssignedId,this._color2Id[b]=C,this._id2Color[C]=b);const v=new KN(m-_,m+_,C);h.setColorZone(v),a.push(v)}return this._colorZonesInvalid=!1,a.sort(KN.compare),a}}class zY extends Yg{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=qe(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new HY(n=>this._context.viewLayout.getVerticalOffsetForLineNumber(n)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(o,i,n,e),!0}_renderOneLane(e,t,i,n){let o=0,r=0,a=0;for(const l of t){const c=l.colorId,h=l.from,d=l.to;c!==o?(e.fillRect(0,r,n,a-r),o=c,e.fillStyle=i[o],r=h,a=d):a>=h?a=Math.max(a,d):(e.fillRect(0,r,n,a-r),r=h,a=d)}e.fillRect(0,r,n,a-r)}}class UY extends Rn{constructor(e){super(e),this.domNode=qe(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const a=qe(document.createElement("div"));a.setClassName("view-ruler"),a.setWidth(o),this.domNode.appendChild(a),this._renderedRulers.push(a),r--}return}let i=e-t;for(;i>0;){const n=this._renderedRulers.pop();this.domNode.removeChild(n),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(146);t.minimap.renderMinimap===0||t.minimap.minimapWidth>0&&t.minimap.minimapLeft===0?this._width=t.width:this._width=t.width-t.verticalScrollbarWidth}onConfigurationChanged(e){const i=this._context.configuration.options.get(104);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class KY{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class qY{constructor(e,t){this.lineNumber=e,this.ranges=t}}function jY(s){return new KY(s)}function GY(s){return new qY(s.lineNumber,s.ranges.map(jY))}const At=class At extends $c{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){const n=this._typicalHalfwidthCharacterWidth/4;let o=null,r=null;if(i&&i.length>0&&t.length>0){const a=t[0].lineNumber;if(a===e.startLineNumber)for(let c=0;!o&&c=0;c--)i[c].lineNumber===l&&(r=i[c].ranges[0]);o&&!o.startStyle&&(o=null),r&&!r.startStyle&&(r=null)}for(let a=0,l=t.length;a0){const g=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;zm(h-g)g&&(u.top=1),zm(d-m)'}_actualRenderOneSelection(e,t,i,n){if(n.length===0)return;const o=!!n[0].ranges[0].startStyle,r=n[0].lineNumber,a=n[n.length-1].lineNumber;for(let l=0,c=n.length;l1,c)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map(([r,a])=>r+a)}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}};At.SELECTION_CLASS_NAME="selected-text",At.SELECTION_TOP_LEFT="top-left-radius",At.SELECTION_BOTTOM_LEFT="bottom-left-radius",At.SELECTION_TOP_RIGHT="top-right-radius",At.SELECTION_BOTTOM_RIGHT="bottom-right-radius",At.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",At.ROUNDED_PIECE_WIDTH=10;let zy=At;jr((s,e)=>{const t=s.getColor(R6);t&&!t.isTransparent()&&e.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${t}; }`)});function zm(s){return s<0?-s:s}class qN{constructor(e,t,i,n,o,r,a){this.top=e,this.left=t,this.paddingLeft=i,this.width=n,this.height=o,this.textContent=r,this.textContentClassName=a}}var Nr;(function(s){s[s.Single=0]="Single",s[s.MultiPrimary=1]="MultiPrimary",s[s.MultiSecondary=2]="MultiSecondary"})(Nr||(Nr={}));class jN{constructor(e,t){this._context=e;const i=this._context.configuration.options,n=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=qe(document.createElement("div")),this._domNode.setClassName(`cursor ${cd}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Pi(this._domNode,n),this._domNode.setDisplay("none"),this._position=new W(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case Nr.Single:this._pluralityClass="";break;case Nr.MultiPrimary:this._pluralityClass="cursor-primary";break;case Nr.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),Pi(this._domNode,i),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[n,o]=I7(i,t-1);return[new W(e,n+1),i.substring(n,o)]}_prepareRender(e){let t="",i="";const[n,o]=this._getGraphemeAwarePosition();if(this._cursorStyle===bi.Line||this._cursorStyle===bi.LineThin){const u=e.visibleRangeForPosition(n);if(!u||u.outsideRenderedLine)return null;const f=ue(this._domNode.domNode);let g;this._cursorStyle===bi.Line?(g=e2(f,this._lineCursorWidth>0?this._lineCursorWidth:2),g>2&&(t=o,i=this._getTokenClassName(n))):g=e2(f,1);let m=u.left,_=0;g>=2&&m>=1&&(_=1,m-=_);const b=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta;return new qN(b,m,_,g,this._lineHeight,t,i)}const r=e.linesVisibleRangesForRange(new R(n.lineNumber,n.column,n.lineNumber,n.column+o.length),!1);if(!r||r.length===0)return null;const a=r[0];if(a.outsideRenderedLine||a.ranges.length===0)return null;const l=a.ranges[0],c=o===" "?this._typicalHalfwidthCharacterWidth:l.width<1?this._typicalHalfwidthCharacterWidth:l.width;this._cursorStyle===bi.Block&&(t=o,i=this._getTokenClassName(n));let h=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return(this._cursorStyle===bi.Underline||this._cursorStyle===bi.UnderlineThin)&&(h+=this._lineHeight-2,d=2),new qN(h,l.left,0,c,d,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${cd} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}const Df=class Df extends Rn{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new jN(this._context,Nr.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=qe(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new Mc,this._cursorFlatBlinkInterval=new YL,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,n=this._secondaryCursors.length;it.length){const o=this._secondaryCursors.length-t.length;for(let r=0;r{for(let n=0,o=e.ranges.length;n{this._isVisible?this._hide():this._show()},Df.BLINK_INTERVAL,ue(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},Df.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case bi.Line:e+=" cursor-line-style";break;case bi.Block:e+=" cursor-block-style";break;case bi.Underline:e+=" cursor-underline-style";break;case bi.LineThin:e+=" cursor-line-thin-style";break;case bi.BlockOutline:e+=" cursor-block-outline-style";break;case bi.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;case 5:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const t=[{class:".cursor",foreground:jb,background:Xk},{class:".cursor-primary",foreground:o4,background:oU},{class:".cursor-secondary",foreground:r4,background:rU}];for(const i of t){const n=s.getColor(i.foreground);if(n){let o=s.getColor(i.background);o||(o=n.opposite()),e.addRule(`.monaco-editor .cursors-layer ${i.class} { background-color: ${n}; border-color: ${n}; color: ${o}; }`),Yh(s.type)&&e.addRule(`.monaco-editor .cursors-layer.has-selection ${i.class} { border-left: 1px solid ${o}; border-right: 1px solid ${o}; }`)}}});const EC=()=>{throw new Error("Invalid change accessor")};class ZY extends Rn{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=qe(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=qe(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const n of e)t.set(n.id,n);let i=!1;return this._context.viewModel.changeWhitespace(n=>{const o=Object.keys(this._zones);for(let r=0,a=o.length;r{const n={addZone:o=>(t=!0,this._addZone(i,o)),removeZone:o=>{o&&(t=this._removeZone(i,o)||t)},layoutZone:o=>{o&&(t=this._layoutZone(i,o)||t)}};YY(e,n),n.addZone=EC,n.removeZone=EC,n.layoutZone=EC}),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),o={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:qe(t.domNode),marginDomNode:t.marginDomNode?qe(t.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,i.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId]=o,this.setShouldRender(),o.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.remove(),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],n=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=n.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,n.afterViewLineNumber,n.heightInPx),this._safeCallOnComputedHeight(i.delegate,n.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx=="number"?e.heightInPx:typeof e.heightInLines=="number"?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx=="number"?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight=="function")try{e.onComputedHeight(t)}catch(i){ut(i)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop=="function")try{e.onDomNodeTop(t)}catch(i){ut(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let n=!1;for(const r of t)this._zones[r.id].isInHiddenArea||(i[r.id]=r,n=!0);const o=Object.keys(this._zones);for(let r=0,a=o.length;ra)continue;const f=u.startLineNumber===a?u.startColumn:c.minColumn,g=u.endLineNumber===a?u.endColumn:c.maxColumn;f=U.endOffset&&(E++,U=i&&i[E]),z!==9&&z!==32||u&&!L&&B<=D)continue;if(d&&B>=k&&B<=D&&z===32){const q=B-1>=0?a.charCodeAt(B-1):0,X=B+1=0?a.charCodeAt(B-1):0;if(z===32&&q!==32&&q!==9)continue}if(i&&(!U||U.startOffset>B||U.endOffset<=B))continue;const F=e.visibleRangeForPosition(new W(t,B+1));F&&(r?(O=Math.max(O,F.left),z===9?y+=this._renderArrow(f,_,F.left):y+=``):z===9?y+=`
    ${w?"→":"→"}
    `:y+=`
    ${String.fromCharCode(v)}
    `)}return r?(O=Math.round(O+_),``+y+""):y}_renderArrow(e,t,i){const n=t/7,o=t,r=e/2,a=i,l={x:0,y:n/2},c={x:100/125*o,y:l.y},h={x:c.x-.2*c.x,y:c.y+.2*c.x},d={x:h.x+.1*c.x,y:h.y+.1*c.x},u={x:d.x+.35*c.x,y:d.y-.35*c.x},f={x:u.x,y:-u.y},g={x:d.x,y:-d.y},m={x:h.x,y:-h.y},_={x:c.x,y:-c.y},b={x:l.x,y:-l.y};return``}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class GN{constructor(e){const t=e.options,i=t.get(50),n=t.get(38);n==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):n==="svg"?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class XY{constructor(e,t,i,n){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.lineHeight=t.lineHeight|0,this.whitespaceViewportData=i,this._model=n,this.visibleRange=new R(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class JY{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class eQ{constructor(e,t,i){this.configuration=e,this.theme=new JY(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var tQ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},iQ=function(s,e){return function(t,i){e(t,i,s)}};let $y=class extends Yg{constructor(e,t,i,n,o,r,a){super(),this._instantiationService=a,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new tt(1,1,1,1)],this._renderAnimationFrame=null;const l=new cY(t,n,o,e);this._context=new eQ(t,i,n),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(Oy,this._context,l,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=qe(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=qe(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=qe(document.createElement("div")),ro.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new CY(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new Hy(this._context,this._linesContent),this._viewZones=new ZY(this._context),this._viewParts.push(this._viewZones);const c=new VY(this._context);this._viewParts.push(c);const h=new $Y(this._context);this._viewParts.push(h);const d=new dY(this._context);this._viewParts.push(d),d.addDynamicOverlay(new pY(this._context)),d.addDynamicOverlay(new zy(this._context)),d.addDynamicOverlay(new xY(this._context)),d.addDynamicOverlay(new bY(this._context)),d.addDynamicOverlay(new QY(this._context));const u=new uY(this._context);this._viewParts.push(u),u.addDynamicOverlay(new _Y(this._context)),u.addDynamicOverlay(new TY(this._context)),u.addDynamicOverlay(new NY(this._context)),u.addDynamicOverlay(new Y_(this._context)),this._glyphMarginWidgets=new SY(this._context),this._viewParts.push(this._glyphMarginWidgets);const f=new Q_(this._context);f.getDomNode().appendChild(this._viewZones.marginDomNode),f.getDomNode().appendChild(u.getDomNode()),f.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(f),this._contentWidgets=new gY(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Uy(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new BY(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const g=new UY(this._context);this._viewParts.push(g);const m=new fY(this._context);this._viewParts.push(m);const _=new FY(this._context);if(this._viewParts.push(_),c){const b=this._scrollbar.getOverviewRulerLayoutInfo();b.parent.insertBefore(c.getDomNode(),b.insertBefore)}this._linesContent.appendChild(d.getDomNode()),this._linesContent.appendChild(g.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(f.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(_.getDomNode()),this._overflowGuardContainer.appendChild(m.domNode),this.domNode.appendChild(this._overflowGuardContainer),r?(r.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),r.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new TZ(this._context,l,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],n=0;i=i.concat(e.getAllMarginDecorations().map(o=>{const r=o.options.glyphMargin?.position??$a.Center;return n=Math.max(n,o.range.endLineNumber),{range:o.range,lane:r,persist:o.options.glyphMargin?.persistLane}})),i=i.concat(this._glyphMarginWidgets.getWidgets().map(o=>{const r=e.validateRange(o.preference.range);return n=Math.max(n,r.endLineNumber),{range:r,lane:o.preference.lane}})),i.sort((o,r)=>R.compareRangesUsingStarts(o.range,r.range)),t.reset(n);for(const o of i)t.push(o.lane,o.range,o.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new bZ(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new W(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const t=this._context.configuration.options.get(146);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+Ev(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new et;if(this._renderAnimationFrame===null){const e=this._createCoordinatedRendering();this._renderAnimationFrame=Ky.INSTANCE.scheduleCoordinatedRendering({window:ue(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new et;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new et;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new et;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new et;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();Ia(()=>e.prepareRenderText());const t=Ia(()=>e.renderText());if(t){const[i,n]=t;Ia(()=>e.prepareRender(i,n)),Ia(()=>e.render(i,n))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}Ea.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new XY(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new dZ(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),n=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const o=this._viewLines.visibleRangeForPosition(new W(n.lineNumber,n.column));return o?o.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?a0.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new zY(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const i of this._viewParts)i.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){this._contentWidgets.setWidgetPosition(e.widget,e.position?.position??null,e.position?.secondaryPosition??null,e.position?.preference??null,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};$y=tQ([iQ(6,Qe)],$y);function Ia(s){try{return s()}catch(e){return ut(e),null}}const ib=class ib{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(t!==-1&&(this._coordinatedRenderings.splice(t,1),this._coordinatedRenderings.length===0)){for(const[i,n]of this._animationFrameRunners)n.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,VM(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)Ia(()=>i.prepareRenderText());const t=[];for(let i=0,n=e.length;io.renderText())}for(let i=0,n=e.length;io.prepareRender(a,l))}for(let i=0,n=e.length;io.render(a,l))}}};ib.INSTANCE=new ib;let Ky=ib;class df{constructor(e,t,i,n,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=n,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let n=this.breakOffsets[e]-t;return e>0&&(n+=this.wrappedTextIndentLength),n}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let n=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let o=0;othis.injectionOffsets[o];o++)n0?this.breakOffsets[o-1]:0,t===0)if(e<=r)n=o-1;else if(e>l)i=o+1;else break;else if(e=l)i=o+1;else break}let a=e-r;return o>0&&(a+=this.wrappedTextIndentLength),new Um(o,a)}normalizeOutputPosition(e,t,i){if(this.injectionOffsets!==null){const n=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(n,i);if(o!==n)return this.offsetInInputWithInjectionsToOutputPosition(o,i)}if(i===0){if(e>0&&t===this.getMinOutputOffset(e))return new Um(e-1,this.getMaxOutputOffset(e-1))}else if(i===1){const n=this.getOutputLineCount()-1;if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(t===2){if(e===i.offsetInInputWithInjections+i.length&&ZN(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let n=i.offsetInInputWithInjections;if(YN(this.injectionOptions[i.injectedTextIndex].cursorStops))return n;let o=i.injectedTextIndex-1;for(;o>=0&&this.injectionOffsets[o]===this.injectionOffsets[i.injectedTextIndex]&&!(ZN(this.injectionOptions[o].cursorStops)||(n-=this.injectionOptions[o].content.length,YN(this.injectionOptions[o].cursorStops)));)o--;return n}}else if(t===1||t===4){let n=i.offsetInInputWithInjections+i.length,o=i.injectedTextIndex;for(;o+1=0&&this.injectionOffsets[o-1]===this.injectionOffsets[o];)n-=this.injectionOptions[o-1].content.length,o--;return n}ak()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),n=this.getInjectedTextAtOffset(i);return n?{options:this.injectionOptions[n.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(t!==null){let n=0;for(let o=0;oe)break;if(e<=l)return{injectedTextIndex:o,offsetInInputWithInjections:a,length:r};n+=r}}}}function ZN(s){return s==null?!0:s===vd.Right||s===vd.Both}function YN(s){return s==null?!0:s===vd.Left||s===vd.Both}class Um{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new W(e+this.outputLineIndex,this.outputOffset+1)}}const nQ=Fc("domLineBreaksComputer",{createHTML:s=>s});class $x{static create(e){return new $x(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,n,o){const r=[],a=[];return{addRequest:(l,c,h)=>{r.push(l),a.push(c)},finalize:()=>sQ(BT(this.targetWindow.deref()),r,e,t,i,n,o,a)}}}function sQ(s,e,t,i,n,o,r,a){function l(E){const U=a[E];if(U){const O=no.applyInjectedText(e[E],U),B=U.map(F=>F.options),z=U.map(F=>F.column-1);return new df(z,B,[O.length],[],0)}else return null}if(n===-1){const E=[];for(let U=0,O=e.length;Uc?(O=0,B=0):z=c-X}const F=U.substr(O),q=oQ(F,B,i,z,g,u);m[E]=O,_[E]=B,b[E]=F,C[E]=q[0],v[E]=q[1]}const w=g.build(),y=nQ?.createHTML(w)??w;f.innerHTML=y,f.style.position="absolute",f.style.top="10000",r==="keepAll"?(f.style.wordBreak="keep-all",f.style.overflowWrap="anywhere"):(f.style.wordBreak="inherit",f.style.overflowWrap="break-word"),s.document.body.appendChild(f);const L=document.createRange(),k=Array.prototype.slice.call(f.children,0),D=[];for(let E=0;Eee.options),ie=se.map(ee=>ee.column-1)):(X=null,ie=null),D[E]=new df(ie,X,O,q,z)}return f.remove(),D}function oQ(s,e,t,i,n,o){if(o!==0){const u=String(o);n.appendString('
    ');const r=s.length;let a=e,l=0;const c=[],h=[];let d=0");for(let u=0;u"),c[u]=l,h[u]=a;const f=d;d=u+1"),c[s.length]=l,h[s.length]=a,n.appendString("
    "),[c,h]}function rQ(s,e,t,i){if(t.length<=1)return null;const n=Array.prototype.slice.call(e.children,0),o=[];try{qy(s,n,i,0,null,t.length-1,null,o)}catch(r){return console.log(r),null}return o.length===0?null:(o.push(t.length),o)}function qy(s,e,t,i,n,o,r,a){if(i===o||(n=n||IC(s,e,t[i],t[i+1]),r=r||IC(s,e,t[o],t[o+1]),Math.abs(n[0].top-r[0].top)<=.1))return;if(i+1===o){a.push(o);return}const l=i+(o-i)/2|0,c=IC(s,e,t[l],t[l+1]);qy(s,e,t,i,n,l,c,a),qy(s,e,t,l,c,o,r,a)}function IC(s,e,t,i){return s.setStart(e[t/16384|0].firstChild,t%16384),s.setEnd(e[i/16384|0].firstChild,i%16384),s.getClientRects()}class aQ extends K{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new ML),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const n of t){if(this._pending.has(n.id)){ut(new Error(`Cannot have two contributions with the same id ${n.id}`));continue}this._pending.set(n.id,n)}this._instantiateSome(0),this._register(hm(ue(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(hm(ue(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(hm(ue(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)typeof i.saveViewState=="function"&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)typeof i.restoreViewState=="function"&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return hm(ue(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const i=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,i),typeof i.restoreViewState=="function"&&t.instantiation!==0&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(i){ut(i)}}}}class BP{constructor(e,t,i,n,o,r,a){this.id=e,this.label=t,this.alias=i,this.metadata=n,this._precondition=o,this._run=r,this._contextKeyService=a}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}class Kx{static create(e){return new Kx(e.get(135),e.get(134))}constructor(e,t){this.classifier=new lQ(e,t)}createLineBreaksComputer(e,t,i,n,o){const r=[],a=[],l=[];return{addRequest:(c,h,d)=>{r.push(c),a.push(h),l.push(d)},finalize:()=>{const c=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,h=[];for(let d=0,u=r.length;d=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}}let jy=[],Gy=[];function cQ(s,e,t,i,n,o,r,a){if(n===-1)return null;const l=t.length;if(l<=1)return null;const c=a==="keepAll",h=e.breakOffsets,d=e.breakOffsetsVisibleColumn,u=WP(t,i,n,o,r),f=n-u,g=jy,m=Gy;let _=0,b=0,C=0,v=n;const w=h.length;let y=0;if(y>=0){let L=Math.abs(d[y]-v);for(;y+1=L)break;L=k,y++}}for(;yL&&(L=b,k=C);let D=0,E=0,U=0,O=0;if(k<=v){let z=k,F=L===0?0:t.charCodeAt(L-1),q=L===0?0:s.get(F),X=!0;for(let ie=L;ieb&&Zy(F,q,ee,ge,c)&&(D=se,E=z),z+=me,z>v){se>b?(U=se,O=z-me):(U=ie+1,O=z),z-E>f&&(D=0),X=!1;break}F=ee,q=ge}if(X){_>0&&(g[_]=h[h.length-1],m[_]=d[h.length-1],_++);break}}if(D===0){let z=k,F=t.charCodeAt(L),q=s.get(F),X=!1;for(let ie=L-1;ie>=b;ie--){const se=ie+1,ee=t.charCodeAt(ie);if(ee===9){X=!0;break}let ge,me;if(_d(ee)?(ie--,ge=0,me=2):(ge=s.get(ee),me=Va(ee)?o:1),z<=v){if(U===0&&(U=se,O=z),z<=v-f)break;if(Zy(ee,ge,F,q,c)){D=se,E=z;break}}z-=me,F=ee,q=ge}if(D!==0){const ie=f-(O-E);if(ie<=i){const se=t.charCodeAt(U);let ee;ai(se)?ee=2:ee=uf(se,O,i,o),ie-ee<0&&(D=0)}}if(X){y--;continue}}if(D===0&&(D=U,E=O),D<=b){const z=t.charCodeAt(b);ai(z)?(D=b+2,E=C+2):(D=b+1,E=C+uf(z,C,i,o))}for(b=D,g[_]=D,C=E,m[_]=E,_++,v=E+f;y<0||y=B)break;B=z,y++}}return _===0?null:(g.length=_,m.length=_,jy=e.breakOffsets,Gy=e.breakOffsetsVisibleColumn,e.breakOffsets=g,e.breakOffsetsVisibleColumn=m,e.wrappedTextIndentLength=u,e)}function hQ(s,e,t,i,n,o,r,a){const l=no.applyInjectedText(e,t);let c,h;if(t&&t.length>0?(c=t.map(E=>E.options),h=t.map(E=>E.column-1)):(c=null,h=null),n===-1)return c?new df(h,c,[l.length],[],0):null;const d=l.length;if(d<=1)return c?new df(h,c,[l.length],[],0):null;const u=a==="keepAll",f=WP(l,i,n,o,r),g=n-f,m=[],_=[];let b=0,C=0,v=0,w=n,y=l.charCodeAt(0),L=s.get(y),k=uf(y,0,i,o),D=1;ai(y)&&(k+=1,y=l.charCodeAt(1),L=s.get(y),D++);for(let E=D;Ew&&((C===0||k-v>g)&&(C=U,v=k-z),m[b]=C,_[b]=v,b++,w=v+g,C=0),y=O,L=B}return b===0&&(!t||t.length===0)?null:(m[b]=d,_[b]=k,new df(h,c,m,_,f))}function uf(s,e,t,i){return s===9?t-e%t:Va(s)||s<32?i:1}function QN(s,e){return e-s%e}function Zy(s,e,t,i,n){return t!==32&&(e===2&&i!==2||e!==1&&i===1||!n&&e===3&&i!==2||!n&&i===3&&e!==1)}function WP(s,e,t,i,n){let o=0;if(n!==0){const r=In(s);if(r!==-1){for(let l=0;lt&&(o=0)}}return o}class n1{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new _i(new R(1,1,1,1),0,0,new W(1,1),0),new _i(new R(1,1,1,1),0,0,new W(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 Re(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?tt.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):tt.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,n){return t.equals(i)?n:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,n=t.selectionStart.getStartPosition(),o=t.selectionStart.getEndPosition(),r=e.normalizePosition(i,2),a=this._validatePositionWithCache(e,n,i,r),l=this._validatePositionWithCache(e,o,n,a);return i.equals(r)&&n.equals(a)&&o.equals(l)?t:new _i(R.fromPositions(a,l),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+n.column-a.column,r,t.leftoverVisibleColumns+i.column-r.column)}_setState(e,t,i){if(i&&(i=n1._validateViewState(e.viewModel,i)),t){const n=e.model.validateRange(t.selectionStart),o=t.selectionStart.equalsRange(n)?t.selectionStartLeftoverVisibleColumns:0,r=e.model.validatePosition(t.position),a=t.position.equals(r)?t.leftoverVisibleColumns:0;t=new _i(n,t.selectionStartKind,o,r,a)}else{if(!i)return;const n=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),o=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new _i(n,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,o,i.leftoverVisibleColumns)}if(i){const n=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),o=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new _i(n,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const n=e.coordinatesConverter.convertModelPositionToViewPosition(new W(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new W(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),r=new R(n.lineNumber,n.column,o.lineNumber,o.column),a=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new _i(r,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,a,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class XN{constructor(e){this.context=e,this.cursors=[new n1(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const 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 ZF(this.cursors,Ns(e=>e.viewState.position,W.compare)).viewState.position}getBottomMostViewPosition(){return GF(this.cursors,Ns(e=>e.viewState.position,W.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(Re.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){const t=this.cursors.length-1,i=e.length;if(ti){const n=t-i;for(let o=0;o=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;const e=this.cursors.slice(0),t=[];for(let i=0,n=e.length;ii.selection,R.compareRangesUsingStarts));for(let i=0;id&&m.index--;e.splice(d,1),t.splice(h,1),this._removeSecondaryCursor(d-1),i--}}}}class JN{constructor(e,t,i,n){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=n}}class dQ{constructor(){this.type=0}}class uQ{constructor(){this.type=1}}class fQ{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class gQ{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class gl{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)}}class $m{constructor(){this.type=5}}class mQ{constructor(e){this.type=6,this.isFocused=e}}class pQ{constructor(){this.type=7}}class Km{constructor(){this.type=8}}class VP{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class Yy{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class Qy{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class ff{constructor(e,t,i,n,o,r,a){this.source=e,this.minimalReveal=t,this.range=i,this.selections=n,this.verticalType=o,this.revealHorizontal=r,this.scrollType=a,this.type=12}}class _Q{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}}class bQ{constructor(e){this.theme=e,this.type=14}}class CQ{constructor(e){this.type=15,this.ranges=e}}class wQ{constructor(){this.type=16}}let vQ=class{constructor(){this.type=17}};class SQ extends K{constructor(){super(),this._onEvent=this._register(new A),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,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&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):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class yQ{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class qx{constructor(e,t,i,n){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=n,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new qx(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class jx{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new jx(this.oldHasFocus,e.hasFocus)}}class Gx{constructor(e,t,i,n,o,r,a,l){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=n,this.scrollWidth=o,this.scrollLeft=r,this.scrollHeight=a,this.scrollTop=l,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(e){return e.kind!==this.kind?null:new Gx(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class LQ{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class kQ{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class s1{constructor(e,t,i,n,o,r,a){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=n,this.source=o,this.reason=r,this.reachedMaxCursorCount=a}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length,n=t.length;if(i!==n)return!1;for(let o=0;o0){const e=this._cursors.getSelections();for(let t=0;tr&&(n=n.slice(0,r),o=!0);const a=gf.from(this._model,this);return this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,a,o)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,n,o,r){const a=this._cursors.getViewPositions();let l=null,c=null;a.length>1?c=this._cursors.getViewSelections():l=R.fromPositions(a[0],a[0]),e.emitViewEvent(new ff(t,i,l,c,n,o,r))}revealPrimary(e,t,i,n,o,r){const l=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new ff(t,i,null,l,n,o,r))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,n=t.length;i0){const o=Re.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,o)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const o=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,Re.fromModelSelections(o))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,n){this.setStates(e,t,n,Re.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],n=[];for(let a=0,l=e.length;a0&&this._pushAutoClosedAction(i,n),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,i,n,o){const r=gf.from(this._model,this);if(r.equals(n))return!1;const a=this._cursors.getSelections(),l=this._cursors.getViewSelections();if(e.emitViewEvent(new gQ(l,a,i)),!n||n.cursorState.length!==r.cursorState.length||r.cursorState.some((c,h)=>!c.modelState.equals(n.cursorState[h].modelState))){const c=n?n.cursorState.map(d=>d.modelState.selection):null,h=n?n.modelVersionId:0;e.emitOutgoingEvent(new s1(c,a,h,r.modelVersionId,t||"keyboard",i,o))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,n=e.length;i=0)return null;const r=o.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!r)return null;const a=r[1],l=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!l||l.length!==1)return null;const c=l[0].open,h=o.text.length-r[2].length-1,d=o.text.lastIndexOf(c,h-1);if(d===-1)return null;t.push([d,h])}return t}executeEdits(e,t,i,n){let o=null;t==="snippet"&&(o=this._findAutoClosingPairs(i)),o&&(i[0]._isTracked=!0);const r=[],a=[],l=this._model.pushEditOperations(this.getSelections(),i,c=>{if(o)for(let d=0,u=o.length;d0&&this._pushAutoClosedAction(r,a)}_executeEdit(e,t,i,n=0){if(this.context.cursorConfig.readOnly)return;const o=gf.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(r){ut(r)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,o,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return eT.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new mf(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(Fl.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,i){this._executeEdit(()=>{if(i==="keyboard"){const n=t.length;let o=0;for(;o{const c=l.getPosition();return new tt(c.lineNumber,c.column+o,c.lineNumber,c.column+o)});this.setSelections(e,r,a,0)}return}this._executeEdit(()=>{this._executeEditOperation(Fl.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,n,o))},e,r)}paste(e,t,i,n,o){this._executeEdit(()=>{this._executeEditOperation(Fl.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]))},e,o,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(Dc.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,i){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new _n(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}executeCommands(e,t,i){this._executeEdit(()=>{this._executeEditOperation(new _n(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}}class gf{static from(e,t){return new gf(e.getVersionId(),t.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,i=this.cursorState.length;t=t.length||!t[i].strictContainsRange(e[i]))return!1;return!0}}class AQ{static executeCommands(e,t,i){const n={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},o=this._innerExecuteCommands(n,i);for(let r=0,a=n.trackedRanges.length;r0&&(r[0]._isTracked=!0);let a=e.model.pushEditOperations(e.selectionsBefore,r,c=>{const h=[];for(let f=0;ff.identifier.minor-g.identifier.minor,u=[];for(let f=0;f0?(h[f].sort(d),u[f]=t[f].computeCursorState(e.model,{getInverseEditOperations:()=>h[f],getTrackedSelection:g=>{const m=parseInt(g,10),_=e.model._getTrackedRange(e.trackedRanges[m]);return e.trackedRangesDirection[m]===0?new tt(_.startLineNumber,_.startColumn,_.endLineNumber,_.endColumn):new tt(_.endLineNumber,_.endColumn,_.startLineNumber,_.startColumn)}})):u[f]=e.selectionsBefore[f];return u});a||(a=e.selectionsBefore);const l=[];for(const c in o)o.hasOwnProperty(c)&&l.push(parseInt(c,10));l.sort((c,h)=>h-c);for(const c of l)a.splice(c,1);return a}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{R.isEmpty(d)&&u===""||n.push({identifier:{major:t,minor:o++},range:d,text:u,forceMoveMarkers:f,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let a=!1;const h={addEditOperation:r,addTrackedEditOperation:(d,u,f)=>{a=!0,r(d,u,f)},trackSelection:(d,u)=>{const f=tt.liftSelection(d);let g;if(f.isEmpty())if(typeof u=="boolean")u?g=2:g=3;else{const b=e.model.getLineMaxColumn(f.startLineNumber);f.startColumn===b?g=2:g=3}else g=1;const m=e.trackedRanges.length,_=e.model._setTrackedRange(null,f,g);return e.trackedRanges[m]=_,e.trackedRangesDirection[m]=f.getDirection(),m.toString()}};try{i.getEditOperations(e.model,h)}catch(d){return ut(d),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:a}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((i,n)=>-R.compareRangesUsingEnds(i.range,n.range));const t={};for(let i=1;io.identifier.major?r=n.identifier.major:r=o.identifier.major,t[r.toString()]=!0;for(let a=0;a0&&i--}}return t}}class PQ{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class mf{static _capture(e,t){const i=[];for(const n of t){if(n.startLineNumber!==n.endLineNumber)return null;i.push(new PQ(e.getLineContent(n.startLineNumber),n.startColumn-1,n.endColumn-1))}return i}constructor(e,t){this._original=mf._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=mf._capture(e,t);if(!i||this._original.length!==i.length)return null;const n=[];for(let o=0,r=this._original.length;o>>1;t===e[r].afterLineNumber?i{t=!0,n=n|0,o=o|0,r=r|0,a=a|0;const l=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new FQ(l,n,o,r,a)),l},changeOneWhitespace:(n,o,r)=>{t=!0,o=o|0,r=r|0,this._pendingChanges.change({id:n,newAfterLineNumber:o,newHeight:r})},removeWhitespace:n=>{t=!0,this._pendingChanges.remove({id:n})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const l of e)this._insertWhitespace(l);for(const l of t)this._changeOneWhitespace(l.id,l.newAfterLineNumber,l.newHeight);for(const l of i){const c=this._findWhitespaceIndex(l.id);c!==-1&&this._removeWhitespace(c)}return}const n=new Set;for(const l of i)n.add(l.id);const o=new Map;for(const l of t)o.set(l.id,l);const r=l=>{const c=[];for(const h of l)if(!n.has(h.id)){if(o.has(h.id)){const d=o.get(h.id);h.afterLineNumber=d.newAfterLineNumber,h.height=d.newHeight}c.push(h)}return c},a=r(this._arr).concat(r(e));a.sort((l,c)=>l.afterLineNumber===c.afterLineNumber?l.ordinal-c.ordinal:l.afterLineNumber-c.afterLineNumber),this._arr=a,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=Oa.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,n=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e=e|0,t=t|0,this._lineCount+=t-e+1;for(let i=0,n=this._arr.length;i=t.length||t[a+1].afterLineNumber>=e)return a;i=a+1|0}else n=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e=e|0;const i=this._findLastWhitespaceBeforeLineNumber(e)+1;return i1?i=this._lineHeight*(e-1):i=0;const n=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return i+n+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e=e|0;const i=this._lineHeight*e,n=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0));return i+n+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,i=this._arr.length;tt}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e=t-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e=e|0,e<0)return 1;const t=this._lineCount|0,i=this._lineHeight;let n=1,o=t;for(;n=a+i)n=r+1;else{if(e>=a)return r;o=r}}return n>t?t:n}getLinesViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this._lineHeight,n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,o=this.getVerticalOffsetForLineNumber(n)|0;let r=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0;const l=this.getWhitespacesCount()|0;let c,h;a===-1?(a=l,h=r+1,c=0):(h=this.getAfterLineNumberForWhitespaceIndex(a)|0,c=this.getHeightForWhitespaceIndex(a)|0);let d=o,u=d;const f=5e5;let g=0;o>=f&&(g=Math.floor(o/f)*f,g=Math.floor(g/i)*i,u-=g);const m=[],_=e+(t-e)/2;let b=-1;for(let y=n;y<=r;y++){if(b===-1){const L=d,k=d+i;(L<=_&&__)&&(b=y)}for(d+=i,m[y-n]=u,u+=i;h===y;)u+=c,d+=c,a++,a>=l?h=r+1:(h=this.getAfterLineNumberForWhitespaceIndex(a)|0,c=this.getHeightForWhitespaceIndex(a)|0);if(d>=t){r=y;break}}b===-1&&(b=r);const C=this.getVerticalOffsetForLineNumber(r)|0;let v=n,w=r;return vt&&w--,{bigNumbersDelta:g,startLineNumber:n,endLineNumber:r,relativeVerticalOffset:m,centeredLineNumber:b,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:w,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e=e|0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i;t>=1?i=this._lineHeight*t:i=0;let n;return e>0?n=this.getWhitespacesAccumulatedHeight(e-1):n=0,i+n+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e=e|0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;const n=this.getVerticalOffsetForWhitespaceIndex(i),o=this.getHeightForWhitespaceIndex(i);if(e>=n+o)return-1;for(;t=a+l)t=r+1;else{if(e>=a)return r;i=r}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e=e|0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const n=this.getHeightForWhitespaceIndex(t),o=this.getIdForWhitespaceIndex(t),r=this.getAfterLineNumberForWhitespaceIndex(t);return{id:o,afterLineNumber:r,verticalOffset:i,height:n}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this.getWhitespacesCount()-1;if(i<0)return[];const o=[];for(let r=i;r<=n;r++){const a=this.getVerticalOffsetForWhitespaceIndex(r),l=this.getHeightForWhitespaceIndex(r);if(a>=t)break;o.push({id:this.getIdForWhitespaceIndex(r),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:a,height:l})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].height}},Oa.INSTANCE_COUNT=0,Oa);const WQ=125;class Au{constructor(e,t,i,n){e=e|0,t=t|0,i=i|0,n=n|0,e<0&&(e=0),t<0&&(t=0),i<0&&(i=0),n<0&&(n=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=n,this.scrollHeight=Math.max(i,n)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class VQ extends K{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new A),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new Au(0,0,0,0),this._scrollable=this._register(new Vd({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;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,n=t.contentHeight!==e.contentHeight;(i||n)&&this._onDidContentSizeChange.fire(new qx(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()}}class HQ extends K{constructor(e,t,i){super(),this._configuration=e;const n=this._configuration.options,o=n.get(146),r=n.get(84);this._linesLayout=new BQ(t,n.get(67),r.top,r.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new VQ(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new Au(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(115)?WQ:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const i=t.get(84);this._linesLayout.setPadding(i.top,i.bottom)}if(e.hasChanged(146)){const i=t.get(146),n=i.contentWidth,o=i.height,r=this._scrollable.getScrollDimensions(),a=r.contentWidth;this._scrollable.setScrollDimensions(new Au(n,r.contentWidth,o,this._getContentHeight(n,o,a)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const n=this._configuration.options.get(104);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,i){const n=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return n.get(106)?o+=Math.max(0,t-n.get(67)-n.get(84).bottom):n.get(104).ignoreHorizontalScrollbarInContentHeight||(o+=this._getHorizontalScrollbarHeight(e,i)),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,n=e.contentWidth;this._scrollable.setScrollDimensions(new Au(t,e.contentWidth,i,this._getContentHeight(t,i,n)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new SN(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new SN(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(147),n=e.get(50),o=e.get(146);if(i.isViewportWrapping){const r=e.get(73);return t>o.contentWidth+n.typicalHalfwidthCharacterWidth&&r.enabled&&r.side==="right"?t+o.verticalScrollbarWidth:t}else{const r=e.get(105)*n.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+r+o.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new Au(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t),n=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i);return{scrollTop:t,scrollTopWithoutViewZones:t-n,scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(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)}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(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const 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(){const 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){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class zQ{constructor(e,t,i,n,o){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=n,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const n=e.range,o=e.options;let r;if(o.isWholeLine){const a=this._coordinatesConverter.convertModelPositionToViewPosition(new W(n.startLineNumber,1),0,!1,!0),l=this._coordinatesConverter.convertModelPositionToViewPosition(new W(n.endLineNumber,this.model.getLineMaxColumn(n.endLineNumber)),1);r=new R(a.lineNumber,a.column,l.lineNumber,l.column)}else r=this._coordinatesConverter.convertModelRangeToViewRange(n,1);i=new bP(r,o),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const n=new R(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(n,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const n=this._linesCollection.getDecorationsInRange(e,this.editorId,Ip(this.configuration.options),t,i),o=e.startLineNumber,r=e.endLineNumber,a=[];let l=0;const c=[];for(let h=o;h<=r;h++)c[h-o]=[];for(let h=0,d=n.length;ht===1)}function KQ(s,e){return HP(s,e.range,t=>t===2)}function HP(s,e,t){for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const n=s.tokenization.getLineTokens(i),o=i===e.startLineNumber,r=i===e.endLineNumber;let a=o?n.findTokenIndexAtOffset(e.startColumn-1):0;for(;ae.endColumn-1);){if(!t(n.getStandardTokenType(a)))return!1;a++}}return!0}function NC(s,e){return s===null?e?o1.INSTANCE:r1.INSTANCE:new qQ(s,e)}class qQ{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,i){this._assertVisible();const n=i>0?this._projectionData.breakOffsets[i-1]:0,o=this._projectionData.breakOffsets[i];let r;if(this._projectionData.injectionOffsets!==null){const a=this._projectionData.injectionOffsets.map((c,h)=>new no(0,0,c+1,this._projectionData.injectionOptions[h],0));r=no.applyInjectedText(e.getLineContent(t),a).substring(n,o)}else r=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:o+1});return i>0&&(r=tT(this._projectionData.wrappedTextIndentLength)+r),r}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const n=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],n),n[0]}getViewLinesData(e,t,i,n,o,r,a){this._assertVisible();const l=this._projectionData,c=l.injectionOffsets,h=l.injectionOptions;let d=null;if(c){d=[];let f=0,g=0;for(let m=0;m0?l.breakOffsets[m-1]:0,C=l.breakOffsets[m];for(;gC)break;if(b0?l.wrappedTextIndentLength:0,D=k+Math.max(w-b,0),E=k+Math.min(y-b,C-b);D!==E&&_.push(new RG(D,E,L.inlineClassName,L.inlineClassNameAffectsLetterSpacing))}}if(y<=C)f+=v,g++;else break}}}let u;c?u=e.tokenization.getLineTokens(t).withInserted(c.map((f,g)=>({offset:f,text:h[g].content,tokenMetadata:vi.defaultTokenMetadata}))):u=e.tokenization.getLineTokens(t);for(let f=i;f0?n.wrappedTextIndentLength:0,r=i>0?n.breakOffsets[i-1]:0,a=n.breakOffsets[i],l=e.sliceAndInflate(r,a,o);let c=l.getLineContent();i>0&&(c=tT(n.wrappedTextIndentLength)+c);const h=this._projectionData.getMinOutputOffset(i)+1,d=c.length+1,u=i+1=TC.length)for(let e=1;e<=s;e++)TC[e]=jQ(e);return TC[s]}function jQ(s){return new Array(s+1).join(" ")}class GQ{constructor(e,t,i,n,o,r,a,l,c,h){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=n,this.fontInfo=o,this.tabSize=r,this.wrappingStrategy=a,this.wrappingColumn=l,this.wrappingIndent=c,this.wordBreak=h,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new YQ(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),n=this.model.getInjectedTextDecorations(this._editorId),o=i.length,r=this.createLineBreaksComputer(),a=new zr(no.fromDecorations(n));for(let m=0;mb.lineNumber===m+1);r.addRequest(i[m],_,t?t[m]:null)}const l=r.finalize(),c=[],h=this.hiddenAreasDecorationIds.map(m=>this.model.getDecorationRange(m)).sort(R.compareRangesUsingStarts);let d=1,u=0,f=-1,g=f+1=d&&_<=u,C=NC(l[m],!b);c[m]=C.getViewLineCount(),this.modelLineProjections[m]=C}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new A8(c)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=e.map(u=>this.model.validateRange(u)),i=ZQ(t),n=this.hiddenAreasDecorationIds.map(u=>this.model.getDecorationRange(u)).sort(R.compareRangesUsingStarts);if(i.length===n.length){let u=!1;for(let f=0;f({range:u,options:ti.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,o);const r=i;let a=1,l=0,c=-1,h=c+1=a&&f<=l?this.modelLineProjections[u].isVisible()&&(this.modelLineProjections[u]=this.modelLineProjections[u].setVisible(!1),g=!0):(d=!0,this.modelLineProjections[u].isVisible()||(this.modelLineProjections[u]=this.modelLineProjections[u].setVisible(!0),g=!0)),g){const m=this.modelLineProjections[u].getViewLineCount();this.projectedModelLineLineCounts.setValue(u,m)}}return d||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?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,n,o){const r=this.fontInfo.equals(e),a=this.wrappingStrategy===t,l=this.wrappingColumn===i,c=this.wrappingIndent===n,h=this.wordBreak===o;if(r&&a&&l&&c&&h)return!1;const d=r&&a&&!l&&c&&h;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=n,this.wordBreak=o;let u=null;if(d){u=[];for(let f=0,g=this.modelLineProjections.length;f2&&!this.modelLineProjections[t-2].isVisible(),r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let a=0;const l=[],c=[];for(let h=0,d=n.length;hl?(h=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=h+l-1,g=d+1,m=g+(o-l)-1,c=!0):ot?t:e|0}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),r=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),a=this.model.guides.getActiveIndentGuide(n.lineNumber,o.lineNumber,r.lineNumber),l=this.convertModelPositionToViewPosition(a.startLineNumber,1),c=this.convertModelPositionToViewPosition(a.endLineNumber,this.model.getLineMaxColumn(a.endLineNumber));return{startLineNumber:l.lineNumber,endLineNumber:c.lineNumber,indent:a.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,n=t.remainder;return new iT(i+1,n)}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){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new W(e.modelLineNumber,n)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new W(e.modelLineNumber,n)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),n=this.getViewLineInfo(t),o=new Array;let r=this.getModelStartPositionOfViewLine(i),a=new Array;for(let l=i.modelLineNumber;l<=n.modelLineNumber;l++){const c=this.modelLineProjections[l-1];if(c.isVisible()){const h=l===i.modelLineNumber?i.modelLineWrappedLineIdx:0,d=l===n.modelLineNumber?n.modelLineWrappedLineIdx+1:c.getViewLineCount();for(let u=h;u{if(f.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[h.modelLineNumber-1].getViewPositionOfModelPosition(0,f.forWrappedLinesAfterColumn).lineNumber>=h.modelLineWrappedLineIdx||f.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[h.modelLineNumber-1].getViewPositionOfModelPosition(0,f.forWrappedLinesBeforeOrAtColumn).lineNumberh.modelLineWrappedLineIdx)return}const m=this.convertModelPositionToViewPosition(h.modelLineNumber,f.horizontalLine.endColumn),_=this.modelLineProjections[h.modelLineNumber-1].getViewPositionOfModelPosition(0,f.horizontalLine.endColumn);return _.lineNumber===h.modelLineWrappedLineIdx?new ql(f.visibleColumn,g,f.className,new Yu(f.horizontalLine.top,m.column),-1,-1):_.lineNumber!!f))}}return r}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const r=[],a=[],l=i.lineNumber-1,c=n.lineNumber-1;let h=null;for(let g=l;g<=c;g++){const m=this.modelLineProjections[g];if(m.isVisible()){const _=m.getViewLineNumberOfModelPosition(0,g===l?i.column:1),b=m.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(g+1)),C=b-_+1;let v=0;C>1&&m.getViewLineMinColumn(this.model,g+1,b)===1&&(v=_===0?1:2),r.push(C),a.push(v),h===null&&(h=new W(g+1,0))}else h!==null&&(o=o.concat(this.model.guides.getLinesIndentGuides(h.lineNumber,g)),h=null)}h!==null&&(o=o.concat(this.model.guides.getLinesIndentGuides(h.lineNumber,n.lineNumber)),h=null);const d=t-e+1,u=new Array(d);let f=0;for(let g=0,m=o.length;gt&&(g=!0,f=t-o+1),d.getViewLinesData(this.model,c+1,u,f,o-e,i,l),o+=f,g)break}return l}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const n=this.projectedModelLineLineCounts.getIndexOf(e-1),o=n.index,r=n.remainder,a=this.modelLineProjections[o],l=a.getViewLineMinColumn(this.model,o+1,r),c=a.getViewLineMaxColumn(this.model,o+1,r);tc&&(t=c);const h=a.getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new W(o+1,h)).equals(i)?new W(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new R(i.lineNumber,i.column,n.lineNumber,n.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),n=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new W(i.modelLineNumber,n))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new R(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,n=!1,o=!1){const r=this.model.validatePosition(new W(e,t)),a=r.lineNumber,l=r.column;let c=a-1,h=!1;if(o)for(;c0&&!this.modelLineProjections[c].isVisible();)c--,h=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new W(n?0:1,1);const d=1+this.projectedModelLineLineCounts.getPrefixSum(c);let u;return h?o?u=this.modelLineProjections[c].getViewPositionOfModelPosition(d,1,i):u=this.modelLineProjections[c].getViewPositionOfModelPosition(d,this.model.getLineMaxColumn(c+1),i):u=this.modelLineProjections[a-1].getViewPositionOfModelPosition(d,l,i),u}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return R.fromPositions(i)}else{const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new R(i.lineNumber,i.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const o=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(o,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(i===0&&!this.modelLineProjections[i].isVisible())return 1;const n=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(n,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,n,o){const r=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),a=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(a.lineNumber-r.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new R(r.lineNumber,1,a.lineNumber,a.column),t,i,n,o);let l=[];const c=r.lineNumber-1,h=a.lineNumber-1;let d=null;for(let m=c;m<=h;m++)if(this.modelLineProjections[m].isVisible())d===null&&(d=new W(m+1,m===c?r.column:1));else if(d!==null){const b=this.model.getLineMaxColumn(m);l=l.concat(this.model.getDecorationsInRange(new R(d.lineNumber,d.column,m,b),t,i,n)),d=null}d!==null&&(l=l.concat(this.model.getDecorationsInRange(new R(d.lineNumber,d.column,a.lineNumber,a.column),t,i,n)),d=null),l.sort((m,_)=>{const b=R.compareRangesUsingStarts(m.range,_.range);return b===0?m.id<_.id?-1:m.id>_.id?1:0:b});const u=[];let f=0,g=null;for(const m of l){const _=m.id;g!==_&&(g=_,u[f++]=m)}return u}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}}function ZQ(s){if(s.length===0)return[];const e=s.slice();e.sort(R.compareRangesUsingStarts);const t=[];let i=e[0].startLineNumber,n=e[0].endLineNumber;for(let o=1,r=e.length;on+1?(t.push(new R(i,1,n,1)),i=a.startLineNumber,n=a.endLineNumber):a.endLineNumber>n&&(n=a.endLineNumber)}return t.push(new R(i,1,n,1)),t}class iT{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class nT{constructor(e,t){this.modelRange=e,this.viewLines=t}}class YQ{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,i,n){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,n)}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)}}class QQ{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new XQ(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,n){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new Yy(t,i)}onModelLinesInserted(e,t,i,n){return new Qy(t,i)}onModelLineChanged(e,t,i){return[!1,new VP(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,n=new Array(i);for(let o=0;ot)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const ml=$a.Right;class JQ{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*ml/8))}reset(e){const t=Math.ceil((e+1)*ml/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=Zx.create(this.model),this.glyphLanes=new JQ(0),this.model.isTooLargeForTokenization())this._lines=new QQ(this.model);else{const d=this._configuration.options,u=d.get(50),f=d.get(140),g=d.get(147),m=d.get(139),_=d.get(130);this._lines=new GQ(this._editorId,this.model,n,o,u,this.model.getOptions().tabSize,f,g.wrappingColumn,m,_)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new RQ(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new HQ(this._configuration,this.getLineCount(),r)),this._register(this.viewLayout.onDidScroll(d=>{d.scrollTopChanged&&this._handleVisibleLinesChanged(),d.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new _Q(d)),this._eventDispatcher.emitOutgoingEvent(new Gx(d.oldScrollWidth,d.oldScrollLeft,d.oldScrollHeight,d.oldScrollTop,d.scrollWidth,d.scrollLeft,d.scrollHeight,d.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(d=>{this._eventDispatcher.emitOutgoingEvent(d)})),this._decorations=new zQ(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(d=>{try{const u=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(u,d)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(t1.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new wQ)})),this._register(this._themeService.onDidColorThemeChange(d=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new bQ(d))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new R(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new mQ(e)),this._eventDispatcher.emitOutgoingEvent(new jx(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new dQ)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new uQ)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new W(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new oT(t,this._viewportStart.startLineDelta)}return new oT(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),n=this._configuration.options,o=n.get(50),r=n.get(140),a=n.get(147),l=n.get(139),c=n.get(130);this._lines.setWrappingSettings(o,r,a.wrappingColumn,l,c)&&(e.emitViewEvent(new $m),e.emitViewEvent(new Km),e.emitViewEvent(new gl(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new gl(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new gl(null))),e.emitViewEvent(new fQ(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),ah.shouldRecreate(t)&&(this.cursorConfig=new ah(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let n=!1,o=!1;const r=e instanceof ic?e.rawContentChangedEvent.changes:e.changes,a=e instanceof ic?e.rawContentChangedEvent.versionId:null,l=this._lines.createLineBreaksComputer();for(const d of r)switch(d.changeType){case 4:{for(let u=0;u!m.ownerId||m.ownerId===this._editorId)),l.addRequest(f,g,null)}break}case 2:{let u=null;d.injectedText&&(u=d.injectedText.filter(f=>!f.ownerId||f.ownerId===this._editorId)),l.addRequest(d.detail,u,null);break}}const c=l.finalize(),h=new zr(c);for(const d of r)switch(d.changeType){case 1:{this._lines.onModelFlushed(),i.emitViewEvent(new $m),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),n=!0;break}case 3:{const u=this._lines.onModelLinesDeleted(a,d.fromLineNumber,d.toLineNumber);u!==null&&(i.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber)),n=!0;break}case 4:{const u=h.takeCount(d.detail.length),f=this._lines.onModelLinesInserted(a,d.fromLineNumber,d.toLineNumber,u);f!==null&&(i.emitViewEvent(f),this.viewLayout.onLinesInserted(f.fromLineNumber,f.toLineNumber)),n=!0;break}case 2:{const u=h.dequeue(),[f,g,m,_]=this._lines.onModelLineChanged(a,d.lineNumber,u);o=f,g&&i.emitViewEvent(g),m&&(i.emitViewEvent(m),this.viewLayout.onLinesInserted(m.fromLineNumber,m.toLineNumber)),_&&(i.emitViewEvent(_),this.viewLayout.onLinesDeleted(_.fromLineNumber,_.toLineNumber));break}case 5:break}a!==null&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!n&&o&&(i.emitViewEvent(new Km),i.emitViewEvent(new gl(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const i=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(i){const n=this.coordinatesConverter.convertModelPositionToViewPosition(i.getStartPosition()),o=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber);this.viewLayout.setScrollPosition({scrollTop:o+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();e instanceof ic&&i.emitOutgoingEvent(new NQ(e.contentChangedEvent)),this._cursor.onModelContentChanged(i,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,n=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new pQ),this.cursorConfig=new ah(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new IQ(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new ah(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new EQ(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new $m),t.emitViewEvent(new Km),t.emitViewEvent(new gl(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new ah(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new TQ(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new gl(e)),this._eventDispatcher.emitOutgoingEvent(new DQ(e))}))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const n=this._captureStableViewport();let o=!1;try{const r=this._eventDispatcher.beginEmitViewEvents();o=this._lines.setHiddenAreas(i),o&&(r.emitViewEvent(new $m),r.emitViewEvent(new Km),r.emitViewEvent(new gl(null)),this._cursor.onLineMappingChanged(r),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const a=n.viewportStartModelPosition?.lineNumber;a&&i.some(c=>c.startLineNumber<=a&&a<=c.endLineNumber)||n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),o&&this._eventDispatcher.emitOutgoingEvent(new kQ)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(146),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),n=this.viewLayout.getLinesViewportData(),o=Math.max(1,n.completelyVisibleStartLineNumber-i),r=Math.min(this.getLineCount(),n.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new R(o,this.getLineMinColumn(o),r,this.getLineMaxColumn(r)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(i.length===0)return[t];const n=[];let o=0,r=t.startLineNumber,a=t.startColumn;const l=t.endLineNumber,c=t.endColumn;for(let h=0,d=i.length;hl||(r"u")return this._reduceRestoreStateCompatibility(e);const t=this.model.validatePosition(e.firstPosition),i=this.coordinatesConverter.convertModelPositionToViewPosition(t),n=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:n}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,i){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,i){return this._lines.getActiveIndentGuide(e,t,i)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,i,n){return this._lines.getViewLinesBracketGuides(e,t,i,n)}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){const t=In(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=Tc(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)}getViewportViewLineRenderingData(e,t){const n=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,n)}getViewLineRenderingData(e){const t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){const i=this.model.mightContainRTL(),n=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),r=this._lines.getViewLineData(e);return r.inlineDecorations&&(t=[...t,...r.inlineDecorations.map(a=>a.toInlineDecoration(e))]),new Xn(r.minColumn,r.maxColumn,r.content,r.continuesWithWrappedLine,i,n,r.tokens,t,o,r.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const n=this._lines.getViewLinesData(e,t,i);return new MG(this.getTabSize(),n)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,Ip(this._configuration.options)),i=new tX;for(const n of t){const o=n.options,r=o.overviewRuler;if(!r)continue;const a=r.position;if(a===0)continue;const l=r.getColor(e.value),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.startLineNumber,n.range.startColumn),h=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.endLineNumber,n.range.endColumn);i.accept(l,o.zIndex,c,h,a)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),n=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(n)}deduceModelPositionRelativeToViewPosition(e,t,i){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=i:t+=i);const r=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(r)}getPlainTextToCopy(e,t,i){const n=i?`\r `:this.model.getEOL();e=e.slice(0),e.sort(R.compareRangesUsingStarts);let o=!1,r=!1;for(const l of e)l.isEmpty()?o=!0:r=!0;if(!r){if(!t)return"";const l=e.map(h=>h.startLineNumber);let c="";for(let h=0;h0&&l[h-1]===l[h]||(c+=this.model.getLineContent(l[h])+n);return c}if(o&&t){const l=[];let c=0;for(const h of e){const d=h.startLineNumber;h.isEmpty()?d!==c&&l.push(this.model.getLineContent(d)):l.push(this.model.getValueInRange(h,i?2:0)),c=d}return l.length===1?l[0]:l}const a=[];for(const l of e)l.isEmpty()||a.push(this.model.getValueInRange(l,i?2:0));return a.length===1?a[0]:a}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===Ts||e.length!==1)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const h=n.startLineNumber;n=new R(h,this.model.getLineMinColumn(h),h,this.model.getLineMaxColumn(h))}const o=this._configuration.options.get(50),r=this._getColorMap(),l=/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===jn.fontFamily;let c;return l?c=jn.fontFamily:(c=o.fontFamily,c=c.replace(/"/g,"'"),/[,']/.test(c)||/[+ ]/.test(c)&&(c=`'${c}'`),c=`${c}, ${jn.fontFamily}`),{mode:i,html:`
    `+this._getHTMLToCopy(n,r)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,r=e.endColumn,a=this.getTabSize();let l="";for(let c=i;c<=o;c++){const h=this.model.tokenization.getLineTokens(c),d=h.getLineContent(),u=c===i?n-1:0,f=c===o?r-1:d.length;d===""?l+="
    ":l+=WV(d,h.inflate(),t,u,f,a,gn)}return l}_getColorMap(){const e=qt.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;ithis._cursor.setStates(n,e,t,i))}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,i=0){this._withViewEventsCollector(n=>this._cursor.setSelections(n,e,t,i))}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 xQ);return}this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(n=>this._cursor.executeEdits(n,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,n,o){this._executeCursorEdit(r=>this._cursor.compositionType(r,e,t,i,n,o))}paste(e,t,i,n){this._executeCursorEdit(o=>this._cursor.paste(o,e,t,i,n))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealAll(n,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealPrimary(n,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new R(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(n=>n.emitViewEvent(new ff(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new R(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(n=>n.emitViewEvent(new ff(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,n,o){this._withViewEventsCollector(r=>r.emitViewEvent(new ff(e,!1,i,null,n,t,o)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new vQ),this._eventDispatcher.emitOutgoingEvent(new LQ))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}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)}};class Zx{static create(e){const t=e._setTrackedRange(null,new R(1,1,1,1),1);return new Zx(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,n,o){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=n,this._startLineDelta=o}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new W(t,e.getLineMinColumn(t))),n=e.model._setTrackedRange(this._modelTrackedRange,new R(i.lineNumber,i.column,i.lineNumber,i.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),r=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=n,this._startLineDelta=r-o}invalidate(){this._isValid=!1}}class tX{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,n,o){const r=this._asMap[e];if(r){const a=r.data,l=a[a.length-3],c=a[a.length-1];if(l===o&&c+1>=i){n>c&&(a[a.length-1]=n);return}a.push(o,i,n)}else{const a=new cg(e,t,[o,i,n]);this._asMap[e]=a,this.asArray.push(a)}}}class iX{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&sT(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce((t,i)=>nX(t,i),[]);return sT(this.ranges,e)?this.ranges:(this.ranges=e,this.ranges)}}function nX(s,e){const t=[];let i=0,n=0;for(;i=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},ir=function(s,e){return function(t,i){e(t,i,s)}},Sl,dc;let a1=(dc=class extends K{get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,n,o,r,a,l,c,h,d,u){super(),this.languageConfigurationService=d,this._deliveryQueue=VO(),this._contributions=this._register(new aQ),this._onDidDispose=this._register(new A),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new rT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new rT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new Hi(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new A),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new A),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),o.willCreateCodeEditor();const f={...t};this._domElement=e,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++oX,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,i.contextMenuId??(i.isSimpleWidget?fi.SimpleEditorContext:fi.EditorContext),f,h)),this._register(this._configuration.onDidChange(_=>{this._onDidChangeConfiguration.fire(_);const b=this._configuration.options;if(_.hasChanged(146)){const C=b.get(146);this._onDidLayoutChange.fire(C)}})),this._contextKeyService=this._register(a.createScoped(this._domElement)),this._notificationService=c,this._codeEditorService=o,this._commandService=r,this._themeService=l,this._register(new aX(this,this._contextKeyService)),this._register(new lX(this,this._contextKeyService,u)),this._instantiationService=this._register(n.createChild(new qd([Xe,this._contextKeyService]))),this._modelData=null,this._focusTracker=new cX(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let g;Array.isArray(i.contributions)?g=i.contributions:g=jh.getEditorContributions(),this._contributions.initialize(this,g,this._instantiationService);for(const _ of jh.getEditorActions()){if(this._actions.has(_.id)){ut(new Error(`Cannot have two actions with the same id ${_.id}`));continue}const b=new BP(_.id,_.label,_.alias,_.metadata,_.precondition??void 0,C=>this._instantiationService.invokeFunction(v=>Promise.resolve(_.runEditorCommand(v,this,C))),this._contextKeyService);this._actions.set(b.id,b)}const m=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new j9(this._domElement,{onDragOver:_=>{if(!m())return;const b=this.getTargetAtClientPoint(_.clientX,_.clientY);b?.position&&this.showDropIndicatorAt(b.position)},onDrop:async _=>{if(!m()||(this.removeDropIndicator(),!_.dataTransfer))return;const b=this.getTargetAtClientPoint(_.clientX,_.clientY);b?.position&&this._onDropIntoEditor.fire({position:b.position,event:_})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i,n){return new My(e,t,i,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return Zg.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),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?nt.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";const t=!!(e&&e.preserveBOM);let i=0;return e&&e.lineEnding&&e.lineEnding===` `?i=1:e&&e.lineEnding&&e.lineEnding===`\r `&&(i=2),this._modelData.model.getValue(i,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();const t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;const i={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(i);const n=this.hasTextFocus(),o=this._detachModel();this._attachModel(t),n&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(o),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}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,i,n){const o=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(r.lineNumber,n)}getTopForLineNumber(e,t=!1){return this._modelData?Sl._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?Sl._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,n=!1){const o=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber,n)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return Sl._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}setHiddenAreas(e,t){this._modelData?.viewModel.setHiddenAreas(e.map(i=>R.lift(i)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return ei.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!W.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!R.isIRange(e))throw new Error("Invalid arguments");const o=this._modelData.model.validateRange(e),r=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",i,r,t,n)}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,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new R(e,1,e,1),t,!1,i)}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,i,n){if(!W.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new R(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=tt.isISelection(e),n=R.isIRange(e);if(!i&&!n)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){const o={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(o,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new tt(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,n){if(typeof e!="number"||typeof t!="number")throw new Error("Invalid arguments");this._sendRevealRange(new R(e,1,t,1),i,!1,n)}revealRange(e,t=0,i=!1,n=!0){this._revealRange(e,i?1:0,n,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,i,n){if(!R.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(R.lift(e),t,i,n)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||e.length===0)throw new Error("Invalid arguments");for(let n=0,o=e.length;n0&&this._modelData.viewModel.restoreCursorState(i):this._modelData.viewModel.restoreCursorState([i]),this._contributions.restoreViewState(t.contributionsState||{});const 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(t=>t.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){i=i||{};try{switch(this._beginUpdate(),t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{const o=i;this._type(e,o.text||"");return}case"replacePreviousChar":{const o=i;this._compositionType(e,o.text||"",o.replaceCharCnt||0,0,0);return}case"compositionType":{const o=i;this._compositionType(e,o.text||"",o.replacePrevCharCnt||0,o.replaceNextCharCnt||0,o.positionDelta||0);return}case"paste":{const o=i;this._paste(e,o.text||"",o.pasteOnNewLine||!1,o.multicursorText||null,o.mode||null,o.clipboardEvent);return}case"cut":this._cut(e);return}const n=this.getAction(t);if(n){Promise.resolve(n.run(i)).then(void 0,ut);return}if(!this._modelData||this._triggerEditorCommand(e,t,i))return;this._triggerCommand(t,i)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(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,i,n,o){this._modelData&&this._modelData.viewModel.compositionType(t,i,n,o,e)}_paste(e,t,i,n,o,r){if(!this._modelData)return;const a=this._modelData.viewModel,l=a.getSelection().getStartPosition();a.paste(t,i,n,e);const c=a.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({clipboardEvent:r,range:new R(l.lineNumber,l.column,c.lineNumber,c.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const n=jh.getEditorCommand(t);return n?(i=i||{},i.source=e,this._instantiationService.invokeFunction(o=>{Promise.resolve(n.runEditorCommand(o,this,i)).then(void 0,ut)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){if(!this._modelData||this._configuration.options.get(92))return!1;let n;return i?Array.isArray(i)?n=()=>i:n=i:n=()=>null,this._modelData.viewModel.executeEdits(e,t,n),!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 hX(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,Ip(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,Ip(this._configuration.options)):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){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(i=>i.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}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._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const 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){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(i)}}addOverlayWidget(e){const 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){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(i)}}addGlyphMarginWidget(e){const 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){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(i)}}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;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,n=i.get(146),o=Sl._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),r=this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft();return{top:o,left:r,height:i.get(67)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Pi(e,this._configuration.options.get(50))}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}const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),n=new eX(this._id,this._configuration,e,$x.create(ue(this._domElement)),Kx.create(this._configuration.options),a=>Tn(ue(this._domElement),a),this.languageConfigurationService,this._themeService,i,{batchChanges:a=>{try{return this._beginUpdate(),a()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(n.onEvent(a=>{switch(a.kind){case 0:this._onDidContentSizeChange.fire(a);break;case 1:this._editorTextFocus.setValue(a.hasFocus);break;case 2:this._onDidScrollChange.fire(a);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(a.reachedMaxCursorCount){const d=this.getOption(80),u=p("cursors.maximum","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.",d);this._notificationService.prompt(q8.Warning,u,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:p("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const l=[];for(let d=0,u=a.selections.length;d{this._paste("keyboard",o,r,a,l)},type:o=>{this._type("keyboard",o)},compositionType:(o,r,a,l)=>{this._compositionType("keyboard",o,r,a,l)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:t={paste:(o,r,a,l)=>{const c={text:o,pasteOnNewLine:r,multicursorText:a,mode:l};this._commandService.executeCommand("paste",c)},type:o=>{const r={text:o};this._commandService.executeCommand("type",r)},compositionType:(o,r,a,l)=>{if(a||l){const c={text:o,replacePrevCharCnt:r,replaceNextCharCnt:a,positionDelta:l};this._commandService.executeCommand("compositionType",c)}else{const c={text:o,replaceCharCnt:r};this._commandService.executeCommand("replacePreviousChar",c)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new a0(e.coordinatesConverter);return i.onKeyDown=o=>this._onKeyDown.fire(o),i.onKeyUp=o=>this._onKeyUp.fire(o),i.onContextMenu=o=>this._onContextMenu.fire(o),i.onMouseMove=o=>this._onMouseMove.fire(o),i.onMouseLeave=o=>this._onMouseLeave.fire(o),i.onMouseDown=o=>this._onMouseDown.fire(o),i.onMouseUp=o=>this._onMouseUp.fire(o),i.onMouseDrag=o=>this._onMouseDrag.fire(o),i.onMouseDrop=o=>this._onMouseDrop.fire(o),i.onMouseDropCanceled=o=>this._onMouseDropCanceled.fire(o),i.onMouseWheel=o=>this._onMouseWheel.fire(o),[new $y(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const 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){const t=[{range:new R(e.lineNumber,e.column,e.lineNumber,e.column),options:Sl.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}},Sl=dc,dc.dropIntoEditorDecorationOptions=ti.register({description:"workbench-dnd-target",className:"dnd-target"}),dc);a1=Sl=sX([ir(3,Qe),ir(4,Qt),ir(5,Jn),ir(6,Xe),ir(7,Os),ir(8,lo),ir(9,co),ir(10,qo),ir(11,at)],a1);let oX=0;class rX{constructor(e,t,i,n,o,r){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=n,this.listenersToRemove=o,this.attachedView=r}dispose(){wi(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class rT extends K{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new A(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new A(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class Hi extends A{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class aX extends K{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=ne.editorSimpleInput.bindTo(t),this._editorFocus=ne.focus.bindTo(t),this._textInputFocus=ne.textInputFocus.bindTo(t),this._editorTextFocus=ne.editorTextFocus.bindTo(t),this._tabMovesFocus=ne.tabMovesFocus.bindTo(t),this._editorReadonly=ne.readOnly.bindTo(t),this._inDiffEditor=ne.inDiffEditor.bindTo(t),this._editorColumnSelection=ne.columnSelection.bindTo(t),this._hasMultipleSelections=ne.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=ne.hasNonEmptySelection.bindTo(t),this._canUndo=ne.canUndo.bindTo(t),this._canRedo=ne.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(j_.onDidChangeTabFocus(i=>this._tabMovesFocus.set(i))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(j_.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(t=>!t.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(){const e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class lX extends K{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=ne.languageId.bindTo(t),this._hasCompletionItemProvider=ne.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=ne.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=ne.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=ne.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=ne.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=ne.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=ne.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=ne.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=ne.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=ne.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=ne.hasReferenceProvider.bindTo(t),this._hasRenameProvider=ne.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=ne.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=ne.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=ne.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=ne.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=ne.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=ne.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=ne.isInEmbeddedEditor.bindTo(t);const n=()=>this._update();this._register(e.onDidChangeModel(n)),this._register(e.onDidChangeModelLanguage(n)),this._register(i.completionProvider.onDidChange(n)),this._register(i.codeActionProvider.onDidChange(n)),this._register(i.codeLensProvider.onDidChange(n)),this._register(i.definitionProvider.onDidChange(n)),this._register(i.declarationProvider.onDidChange(n)),this._register(i.implementationProvider.onDidChange(n)),this._register(i.typeDefinitionProvider.onDidChange(n)),this._register(i.hoverProvider.onDidChange(n)),this._register(i.documentHighlightProvider.onDidChange(n)),this._register(i.documentSymbolProvider.onDidChange(n)),this._register(i.referenceProvider.onDidChange(n)),this._register(i.renameProvider.onDidChange(n)),this._register(i.documentFormattingEditProvider.onDidChange(n)),this._register(i.documentRangeFormattingEditProvider.onDidChange(n)),this._register(i.signatureHelpProvider.onDidChange(n)),this._register(i.inlayHintsProvider.onDidChange(n)),n()}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(){const 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===Ie.walkThroughSnippet||e.uri.scheme===Ie.vscodeChatCodeBlock)})}}class cX extends K{constructor(e,t){super(),this._onChange=this._register(new A),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(Bf(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(Bf(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class hX{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,i){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},i)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const n=e.getDecorationRange(i);n&&t.push(n)}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(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}const dX=encodeURIComponent("");function MC(s){return dX+encodeURIComponent(s.toString())+uX}const fX=encodeURIComponent('');function mX(s){return fX+encodeURIComponent(s.toString())+gX}jr((s,e)=>{const t=s.getColor(yk);t&&e.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${MC(t)}") repeat-x bottom left; }`);const i=s.getColor(qa);i&&e.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${MC(i)}") repeat-x bottom left; }`);const n=s.getColor(Sc);n&&e.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${MC(n)}") repeat-x bottom left; }`);const o=s.getColor(M6);o&&e.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${mX(o)}") no-repeat bottom left; }`);const r=s.getColor(LU);r&&e.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${r.rgba.a}; }`)});class _g{static capture(e){if(e.getScrollTop()===0||e.hasPendingScrollAnimation())return new _g(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const n=e.getVisibleRanges();if(n.length>0){t=n[0].getStartPosition();const o=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-o}return new _g(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,n,o){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=n,this._cursorPosition=o}restore(e){if(!(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())&&this._visiblePosition){const 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;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i,1)}}function pX(s,e,t,i){if(s.length===0)return e;if(e.length===0)return s;const n=[];let o=0,r=0;for(;oh?(n.push(l),r++):(n.push(i(a,l)),o++,r++)}for(;o`Apply decorations from ${e.debugName}`},n=>{const o=e.read(n);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}function Pu(s,e){return s.appendChild(e),ve(()=>{e.remove()})}function _X(s,e){return s.prepend(e),ve(()=>{e.remove()})}class zP extends K{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new vP(e,t)),this._width=We(this,this.elementSizeObserver.getWidth()),this._height=We(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(i=>Gt(n=>{this._width.set(this.elementSizeObserver.getWidth(),n),this._height.set(this.elementSizeObserver.getHeight(),n)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function aT(s,e,t){let i=e.get(),n=i,o=i;const r=We("animatedValue",i);let a=-1;const l=300;let c;t.add(zg({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(d,u)=>(d.didChange(e)&&(u.animate=u.animate||d.change),!0)},(d,u)=>{c!==void 0&&(s.cancelAnimationFrame(c),c=void 0),n=o,i=e.read(d),a=Date.now()-(u.animate?0:l),h()}));function h(){const d=Date.now()-a;o=Math.floor(bX(d,n,i-n,l)),d{this._actualTop.set(i,void 0)},this.onComputedHeight=i=>{this._actualHeight.set(i,void 0)}}}const ob=class ob{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId=`managedOverlayWidget-${ob._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}};ob._counter=0;let Xy=ob;function Ya(s,e){return Ze(t=>{for(let[i,n]of Object.entries(e))n&&typeof n=="object"&&"read"in n&&(n=n.read(t)),typeof n=="number"&&(n=`${n}px`),i=i.replace(/[A-Z]/g,o=>"-"+o.toLowerCase()),s.style[i]=n})}function c1(s,e,t,i){const n=new ae,o=[];return n.add(eo((r,a)=>{const l=e.read(r),c=new Map,h=new Map;t&&t(!0),s.changeViewZones(d=>{for(const u of o)d.removeZone(u),i?.delete(u);o.length=0;for(const u of l){const f=d.addZone(u);u.setZoneId&&u.setZoneId(f),o.push(f),i?.add(f),c.set(u,f)}}),t&&t(!1),a.add(zg({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(d,u){const f=h.get(d.changedObservable);return f!==void 0&&u.zoneIds.push(f),!0}},(d,u)=>{for(const f of l)f.onChange&&(h.set(f.onChange,c.get(f)),f.onChange.read(d));t&&t(!0),s.changeViewZones(f=>{for(const g of u.zoneIds)f.layoutZone(g)}),t&&t(!1)}))})),n.add({dispose(){t&&t(!0),s.changeViewZones(r=>{for(const a of o)r.removeZone(a)}),i?.clear(),t&&t(!1)}}),n}class cse extends ao{dispose(){super.dispose(!0)}}function lT(s,e){const t=Gp(e,n=>n.original.startLineNumber<=s.lineNumber);if(!t)return R.fromPositions(s);if(t.original.endLineNumberExclusive<=s.lineNumber){const n=s.lineNumber-t.original.endLineNumberExclusive+t.modified.endLineNumberExclusive;return R.fromPositions(new W(n,s.column))}if(!t.innerChanges)return R.fromPositions(new W(t.modified.startLineNumber,1));const i=Gp(t.innerChanges,n=>n.originalRange.getStartPosition().isBeforeOrEqual(s));if(!i){const n=s.lineNumber-t.original.startLineNumber+t.modified.startLineNumber;return R.fromPositions(new W(n,s.column))}if(i.originalRange.containsPosition(s))return i.modifiedRange;{const n=CX(i.originalRange.getEndPosition(),s);return R.fromPositions(n.addToPosition(i.modifiedRange.getEndPosition()))}}function CX(s,e){return s.lineNumber===e.lineNumber?new Ka(0,e.column-s.column):new Ka(e.lineNumber-s.lineNumber,e.column-1)}function wX(s,e){let t;return s.filter(i=>{const n=e(i,t);return t=i,n})}class h1{static create(e,t=void 0){return new cT(e,e,t)}static createWithDisposable(e,t,i=void 0){const n=new ae;return n.add(t),n.add(e),new cT(e,n,i)}}class cT extends h1{constructor(e,t,i){super(),this.object=e,this._disposable=t,this._debugOwner=i,this._refCount=1,this._isDisposed=!1,this._owners=[],i&&this._addOwner(i)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new vX(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),e){const t=this._owners.indexOf(e);t!==-1&&this._owners.splice(t,1)}}}class vX extends h1{constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var Qx=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Xx=function(s,e){return function(t,i){e(t,i,s)}};const SX=il("diff-review-insert",re.add,p("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),yX=il("diff-review-remove",re.remove,p("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),LX=il("diff-review-close",re.close,p("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));var fd;let Gl=(fd=class extends K{constructor(e,t,i,n,o,r,a,l,c){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=n,this._width=o,this._height=r,this._diffs=a,this._models=l,this._instantiationService=c,this._state=Ud(this,(h,d)=>{const u=this._visible.read(h);if(this._parentNode.style.visibility=u?"visible":"hidden",!u)return null;const f=d.add(this._instantiationService.createInstance(Jy,this._diffs,this._models,this._setVisible,this._canClose)),g=d.add(this._instantiationService.createInstance(eL,this._parentNode,f,this._width,this._height,this._models));return{model:f,view:g}}).recomputeInitiallyAndOnChange(this._store)}next(){Gt(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){Gt(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){Gt(e=>{this._setVisible(!1,e)})}},fd._ttPolicy=Fc("diffReview",{createHTML:e=>e}),fd);Gl=Qx([Xx(8,Qe)],Gl);let Jy=class extends K{constructor(e,t,i,n,o){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=n,this._accessibilitySignalService=o,this._groups=We(this,[]),this._currentGroupIdx=We(this,0),this._currentElementIdx=We(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((r,a)=>this._groups.read(a)[r]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((r,a)=>this.currentGroup.read(a)?.lines[r]),this._register(Ze(r=>{const a=this._diffs.read(r);if(!a){this._groups.set([],void 0);return}const l=kX(a,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());Gt(c=>{const h=this._models.getModifiedPosition();if(h){const d=l.findIndex(u=>h?.lineNumber{const a=this.currentElement.read(r);a?.type===en.Deleted?this._accessibilitySignalService.playSignal(ks.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):a?.type===en.Added&&this._accessibilitySignalService.playSignal(ks.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(Ze(r=>{const a=this.currentElement.read(r);if(a&&a.type!==en.Header){const l=a.modifiedLineNumber??a.diff.modified.startLineNumber;this._models.modifiedSetSelection(R.fromPositions(new W(l,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||Kk(t,n=>{this._currentGroupIdx.set(ke.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),n),this._currentElementIdx.set(0,n)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||Gt(i=>{this._currentElementIdx.set(ke.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);i!==-1&&Gt(n=>{this._currentElementIdx.set(i,n)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===en.Deleted?this._models.originalReveal(R.fromPositions(new W(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==en.Header?R.fromPositions(new W(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};Jy=Qx([Xx(4,jd)],Jy);const Su=3;function kX(s,e,t){const i=[];for(const n of SL(s,(o,r)=>r.modified.startLineNumber-o.modified.endLineNumberExclusive<2*Su)){const o=[];o.push(new DX);const r=new Ce(Math.max(1,n[0].original.startLineNumber-Su),Math.min(n[n.length-1].original.endLineNumberExclusive+Su,e+1)),a=new Ce(Math.max(1,n[0].modified.startLineNumber-Su),Math.min(n[n.length-1].modified.endLineNumberExclusive+Su,t+1));PT(n,(h,d)=>{const u=new Ce(h?h.original.endLineNumberExclusive:r.startLineNumber,d?d.original.startLineNumber:r.endLineNumberExclusive),f=new Ce(h?h.modified.endLineNumberExclusive:a.startLineNumber,d?d.modified.startLineNumber:a.endLineNumberExclusive);u.forEach(g=>{o.push(new NX(g,f.startLineNumber+(g-u.startLineNumber)))}),d&&(d.original.forEach(g=>{o.push(new EX(d,g))}),d.modified.forEach(g=>{o.push(new IX(d,g))}))});const l=n[0].modified.join(n[n.length-1].modified),c=n[0].original.join(n[n.length-1].original);i.push(new xX(new ji(l,c),o))}return i}var en;(function(s){s[s.Header=0]="Header",s[s.Unchanged=1]="Unchanged",s[s.Deleted=2]="Deleted",s[s.Added=3]="Added"})(en||(en={}));class xX{constructor(e,t){this.range=e,this.lines=t}}class DX{constructor(){this.type=en.Header}}class EX{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=en.Deleted,this.modifiedLineNumber=void 0}}class IX{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=en.Added,this.originalLineNumber=void 0}}class NX{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=en.Unchanged}}let eL=class extends K{constructor(e,t,i,n,o,r){super(),this._element=e,this._model=t,this._width=i,this._height=n,this._models=o,this._languageService=r,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const a=document.createElement("div");a.className="diff-review-actions",this._actionBar=this._register(new Wr(a)),this._register(Ze(l=>{this._actionBar.clear(),this._model.canClose.read(l)&&this._actionBar.push(new Or("diffreview.close",p("label.close","Close"),"close-diff-review "+Ue.asClassName(LX),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new Ek(this._content,{})),tn(this.domNode,this._scrollbar.getDomNode(),a),this._register(Ze(l=>{this._height.read(l),this._width.read(l),this._scrollbar.scanDomNode()})),this._register(ve(()=>{tn(this.domNode)})),this._register(Ya(this.domNode,{width:this._width,height:this._height})),this._register(Ya(this._content,{width:this._width,height:this._height})),this._register(eo((l,c)=>{this._model.currentGroup.read(l),this._render(c)})),this._register(di(this.domNode,"keydown",l=>{(l.equals(18)||l.equals(2066)||l.equals(530))&&(l.preventDefault(),this._model.goToNextLine()),(l.equals(16)||l.equals(2064)||l.equals(528))&&(l.preventDefault(),this._model.goToPreviousLine()),(l.equals(9)||l.equals(2057)||l.equals(521)||l.equals(1033))&&(l.preventDefault(),this._model.close()),(l.equals(10)||l.equals(3))&&(l.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),n=document.createElement("div");n.className="diff-review-table",n.setAttribute("role","list"),n.setAttribute("aria-label",p("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),Pi(n,i.get(50)),tn(this._content,n);const o=this._models.getOriginalModel(),r=this._models.getModifiedModel();if(!o||!r)return;const a=o.getOptions(),l=r.getOptions(),c=i.get(67),h=this._model.currentGroup.get();for(const d of h?.lines||[]){if(!h)break;let u;if(d.type===en.Header){const g=document.createElement("div");g.className="diff-review-row",g.setAttribute("role","listitem");const m=h.range,_=this._model.currentGroupIndex.get(),b=this._model.groups.get().length,C=L=>L===0?p("no_lines_changed","no lines changed"):L===1?p("one_line_changed","1 line changed"):p("more_lines_changed","{0} lines changed",L),v=C(m.original.length),w=C(m.modified.length);g.setAttribute("aria-label",p({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",_+1,b,m.original.startLineNumber,v,m.modified.startLineNumber,w));const y=document.createElement("div");y.className="diff-review-cell diff-review-summary",y.appendChild(document.createTextNode(`${_+1}/${b}: @@ -${m.original.startLineNumber},${m.original.length} +${m.modified.startLineNumber},${m.modified.length} @@`)),g.appendChild(y),u=g}else u=this._createRow(d,c,this._width.get(),t,o,a,i,r,l);n.appendChild(u);const f=ye(g=>this._model.currentElement.read(g)===d);e.add(Ze(g=>{const m=f.read(g);u.tabIndex=m?0:-1,m&&u.focus()})),e.add($(u,"focus",()=>{this._model.goToLine(d)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,n,o,r,a,l,c){const h=n.get(146),d=h.glyphMarginWidth+h.lineNumbersWidth,u=a.get(146),f=10+u.glyphMarginWidth+u.lineNumbersWidth;let g="diff-review-row",m="";const _="diff-review-spacer";let b=null;switch(e.type){case en.Added:g="diff-review-row line-insert",m=" char-insert",b=SX;break;case en.Deleted:g="diff-review-row line-delete",m=" char-delete",b=yX;break}const C=document.createElement("div");C.style.minWidth=i+"px",C.className=g,C.setAttribute("role","listitem"),C.ariaLevel="";const v=document.createElement("div");v.className="diff-review-cell",v.style.height=`${t}px`,C.appendChild(v);const w=document.createElement("span");w.style.width=d+"px",w.style.minWidth=d+"px",w.className="diff-review-line-number"+m,e.originalLineNumber!==void 0?w.appendChild(document.createTextNode(String(e.originalLineNumber))):w.innerText=" ",v.appendChild(w);const y=document.createElement("span");y.style.width=f+"px",y.style.minWidth=f+"px",y.style.paddingRight="10px",y.className="diff-review-line-number"+m,e.modifiedLineNumber!==void 0?y.appendChild(document.createTextNode(String(e.modifiedLineNumber))):y.innerText=" ",v.appendChild(y);const L=document.createElement("span");if(L.className=_,b){const E=document.createElement("span");E.className=Ue.asClassName(b),E.innerText="  ",L.appendChild(E)}else L.innerText="  ";v.appendChild(L);let k;if(e.modifiedLineNumber!==void 0){let E=this._getLineHtml(l,a,c.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);Gl._ttPolicy&&(E=Gl._ttPolicy.createHTML(E)),v.insertAdjacentHTML("beforeend",E),k=l.getLineContent(e.modifiedLineNumber)}else{let E=this._getLineHtml(o,n,r.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);Gl._ttPolicy&&(E=Gl._ttPolicy.createHTML(E)),v.insertAdjacentHTML("beforeend",E),k=o.getLineContent(e.originalLineNumber)}k.length===0&&(k=p("blankLine","blank"));let D="";switch(e.type){case en.Unchanged:e.originalLineNumber===e.modifiedLineNumber?D=p({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",k,e.originalLineNumber):D=p("equalLine","{0} original line {1} modified line {2}",k,e.originalLineNumber,e.modifiedLineNumber);break;case en.Added:D=p("insertLine","+ {0} modified line {1}",k,e.modifiedLineNumber);break;case en.Deleted:D=p("deleteLine","- {0} original line {1}",k,e.originalLineNumber);break}return C.setAttribute("aria-label",D),C}_getLineHtml(e,t,i,n,o){const r=e.getLineContent(n),a=t.get(50),l=vi.createEmpty(r,o),c=Xn.isBasicASCII(r,e.mightContainNonBasicASCII()),h=Xn.containsRTL(r,c,e.mightContainRTL());return n0(new Gd(a.isMonospace&&!t.get(33),a.canUseHalfwidthRightwardsArrow,r,!1,c,h,0,l,[],i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==mc.OFF,null)).html}};eL=Qx([Xx(5,gi)],eL);class TX{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}N("diffEditor.move.border","#8b8b8b9c",p("diffEditor.move.border","The border color for text that got moved in the diff editor."));N("diffEditor.moveActive.border","#FFA500",p("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor."));N("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},p("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const MX=il("diff-insert",re.add,p("diffInsertIcon","Line decoration for inserts in the diff editor.")),UP=il("diff-remove",re.remove,p("diffRemoveIcon","Line decoration for removals in the diff editor.")),hT=ti.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+Ue.asClassName(MX),marginClassName:"gutter-insert"}),dT=ti.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+Ue.asClassName(UP),marginClassName:"gutter-delete"}),uT=ti.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),fT=ti.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),gT=ti.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),RX=ti.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),AX=ti.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),tL=ti.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),PX=ti.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),OX=ti.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var $P=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},iL=function(s,e){return function(t,i){e(t,i,s)}},yl;const KP=Be("diffProviderFactoryService");let nL=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(sL,e)}};nL=$P([iL(0,Qe)],nL);je(KP,nL,1);var uc;let sL=(uc=class{constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new A,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(e,t,i,n){if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(e,t,i,n);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return t.getLineCount()===1&&t.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new Zn(new Ce(1,2),new Ce(1,t.getLineCount()+1),[new Hn(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const o=JSON.stringify([e.uri.toString(),t.uri.toString()]),r=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),a=yl.diffCache.get(o);if(a&&a.context===r)return a.result;const l=Nc.create(),c=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),h=l.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:h,timedOut:c?.quitEarly??!0,detectedMoves:i.computeMoves?c?.moves.length??0:-1}),n.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!c)throw new Error("no diff result available");return yl.diffCache.size>10&&yl.diffCache.delete(yl.diffCache.keys().next().value),yl.diffCache.set(o,{result:c,context:r}),c}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,typeof e.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),t=!0),t&&this.onDidChangeEventEmitter.fire()}},yl=uc,uc.diffCache=new Map,uc);sL=yl=$P([iL(1,Vc),iL(2,Xa)],sL);function Jx(){return $C&&!!$C.VSCODE_DEV}function qP(s){if(Jx()){const e=FX();return e.add(s),{dispose(){e.delete(s)}}}else return{dispose(){}}}function FX(){qm||(qm=new Set);const s=globalThis;return s.$hotReload_applyNewExports||(s.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e},i=[];for(const n of qm){const o=n(t);o&&i.push(o)}if(i.length>0)return n=>{let o=!1;for(const r of i)r(n)&&(o=!0);return o}}),qm}let qm;Jx()&&qP(({oldExports:s,newSrc:e,config:t})=>{if(t.mode==="patch-prototype")return i=>{for(const n in i){const o=i[n];if(console.log(`[hot-reload] Patching prototype methods of '${n}'`,{exportedItem:o}),typeof o=="function"&&o.prototype){const r=s[n];if(r){for(const a of Object.getOwnPropertyNames(o.prototype)){const l=Object.getOwnPropertyDescriptor(o.prototype,a),c=Object.getOwnPropertyDescriptor(r.prototype,a);l?.value?.toString()!==c?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${n}.${a}'`),Object.defineProperty(r.prototype,a,l)}i[n]=r}}}return!0}});function ys(s,e){return BX([s],e),s}function BX(s,e){Jx()&&ls("reload",i=>qP(({oldExports:n})=>{if([...Object.values(n)].some(o=>s.includes(o)))return o=>(i(void 0),!0)})).read(e)}var WX=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},VX=function(s,e){return function(t,i){e(t,i,s)}};let oL=class extends K{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=We(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=We(this,void 0),this.diff=this._diff,this._unchangedRegions=We(this,void 0),this.unchangedRegions=ye(this,a=>this._options.hideUnchangedRegions.read(a)?this._unchangedRegions.read(a)?.regions??[]:(Gt(l=>{for(const c of this._unchangedRegions.get()?.regions||[])c.collapseAll(l)}),[])),this.movedTextToCompare=We(this,void 0),this._activeMovedText=We(this,void 0),this._hoveredMovedText=We(this,void 0),this.activeMovedText=ye(this,a=>this.movedTextToCompare.read(a)??this._hoveredMovedText.read(a)??this._activeMovedText.read(a)),this._cancellationTokenSource=new ao,this._diffProvider=ye(this,a=>{const l=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(a)}),c=ls("onDidChange",l.onDidChange);return{diffProvider:l,onChangeSignal:c}}),this._register(ve(()=>this._cancellationTokenSource.cancel()));const n=Gk("contentChangedSignal"),o=this._register(new Gi(()=>n.trigger(void 0),200));this._register(Ze(a=>{const l=this._unchangedRegions.read(a);if(!l||l.regions.some(g=>g.isDragged.read(a)))return;const c=l.originalDecorationIds.map(g=>e.original.getDecorationRange(g)).map(g=>g?Ce.fromRangeInclusive(g):void 0),h=l.modifiedDecorationIds.map(g=>e.modified.getDecorationRange(g)).map(g=>g?Ce.fromRangeInclusive(g):void 0),d=l.regions.map((g,m)=>!c[m]||!h[m]?void 0:new Na(c[m].startLineNumber,h[m].startLineNumber,c[m].length,g.visibleLineCountTop.read(a),g.visibleLineCountBottom.read(a))).filter(gd),u=[];let f=!1;for(const g of SL(d,(m,_)=>m.getHiddenModifiedRange(a).endLineNumberExclusive===_.getHiddenModifiedRange(a).startLineNumber))if(g.length>1){f=!0;const m=g.reduce((b,C)=>b+C.lineCount,0),_=new Na(g[0].originalLineNumber,g[0].modifiedLineNumber,m,g[0].visibleLineCountTop.get(),g[g.length-1].visibleLineCountBottom.get());u.push(_)}else u.push(g[0]);if(f){const g=e.original.deltaDecorations(l.originalDecorationIds,u.map(_=>({range:_.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),m=e.modified.deltaDecorations(l.modifiedDecorationIds,u.map(_=>({range:_.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));Gt(_=>{this._unchangedRegions.set({regions:u,originalDecorationIds:g,modifiedDecorationIds:m},_)})}}));const r=(a,l,c)=>{const h=Na.fromDiffs(a.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(c),this._options.hideUnchangedRegionsContextLineCount.read(c));let d;const u=this._unchangedRegions.get();if(u){const _=u.originalDecorationIds.map(w=>e.original.getDecorationRange(w)).map(w=>w?Ce.fromRangeInclusive(w):void 0),b=u.modifiedDecorationIds.map(w=>e.modified.getDecorationRange(w)).map(w=>w?Ce.fromRangeInclusive(w):void 0);let v=wX(u.regions.map((w,y)=>{if(!_[y]||!b[y])return;const L=_[y].length;return new Na(_[y].startLineNumber,b[y].startLineNumber,L,Math.min(w.visibleLineCountTop.get(),L),Math.min(w.visibleLineCountBottom.get(),L-w.visibleLineCountTop.get()))}).filter(gd),(w,y)=>!y||w.modifiedLineNumber>=y.modifiedLineNumber+y.lineCount&&w.originalLineNumber>=y.originalLineNumber+y.lineCount).map(w=>new ji(w.getHiddenOriginalRange(c),w.getHiddenModifiedRange(c)));v=ji.clip(v,Ce.ofLength(1,e.original.getLineCount()),Ce.ofLength(1,e.modified.getLineCount())),d=ji.inverse(v,e.original.getLineCount(),e.modified.getLineCount())}const f=[];if(d)for(const _ of h){const b=d.filter(C=>C.original.intersectsStrict(_.originalUnchangedRange)&&C.modified.intersectsStrict(_.modifiedUnchangedRange));f.push(..._.setVisibleRanges(b,l))}else f.push(...h);const g=e.original.deltaDecorations(u?.originalDecorationIds||[],f.map(_=>({range:_.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),m=e.modified.deltaDecorations(u?.modifiedDecorationIds||[],f.map(_=>({range:_.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:f,originalDecorationIds:g,modifiedDecorationIds:m},l)};this._register(e.modified.onDidChangeContent(a=>{if(this._diff.get()){const c=Er.fromModelContentChanges(a.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(e.original.onDidChangeContent(a=>{if(this._diff.get()){const c=Er.fromModelContentChanges(a.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(eo(async(a,l)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(a),this._options.hideUnchangedRegionsContextLineCount.read(a),o.cancel(),n.read(a);const c=this._diffProvider.read(a);c.onChangeSignal.read(a),ys(yR,a),ys(Lv,a),this._isDiffUpToDate.set(!1,void 0);let h=[];l.add(e.original.onDidChangeContent(f=>{const g=Er.fromModelContentChanges(f.changes);h=x_(h,g)}));let d=[];l.add(e.modified.onDidChangeContent(f=>{const g=Er.fromModelContentChanges(f.changes);d=x_(d,g)}));let u=await c.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(a),maxComputationTimeMs:this._options.maxComputationTimeMs.read(a),computeMoves:this._options.showMoves.read(a)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(u=HX(u,e.original,e.modified),u=(e.original,e.modified,void 0)??u,u=(e.original,e.modified,void 0)??u,Gt(f=>{r(u,f),this._lastDiff=u;const g=eD.fromDiffResult(u);this._diff.set(g,f),this._isDiffUpToDate.set(!0,f);const m=this.movedTextToCompare.get();this.movedTextToCompare.set(m?this._lastDiff.moves.find(_=>_.lineRangeMapping.modified.intersect(m.lineRangeMapping.modified)):void 0,f)}))}))}ensureModifiedLineIsVisible(e,t,i){if(this.diff.get()?.mappings.length===0)return;const n=this._unchangedRegions.get()?.regions||[];for(const o of n)if(o.getHiddenModifiedRange(void 0).contains(e)){o.showModifiedLine(e,t,i);return}}ensureOriginalLineIsVisible(e,t,i){if(this.diff.get()?.mappings.length===0)return;const n=this._unchangedRegions.get()?.regions||[];for(const o of n)if(o.getHiddenOriginalRange(void 0).contains(e)){o.showOriginalLine(e,t,i);return}}async waitForDiff(){await sz(this.isDiffUpToDate,e=>e)}serializeState(){return{collapsedRegions:this._unchangedRegions.get()?.regions.map(t=>({range:t.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){const t=e.collapsedRegions?.map(n=>Ce.deserialize(n.range)),i=this._unchangedRegions.get();!i||!t||Gt(n=>{for(const o of i.regions)for(const r of t)if(o.modifiedUnchangedRange.intersect(r)){o.setHiddenModifiedRange(r,n);break}})}};oL=WX([VX(2,KP)],oL);function HX(s,e,t){return{changes:s.changes.map(i=>new Zn(i.original,i.modified,i.innerChanges?i.innerChanges.map(n=>zX(n,e,t)):void 0)),moves:s.moves,identical:s.identical,quitEarly:s.quitEarly}}function zX(s,e,t){let i=s.originalRange,n=s.modifiedRange;return i.startColumn===1&&n.startColumn===1&&(i.endColumn!==1||n.endColumn!==1)&&i.endColumn===e.getLineMaxColumn(i.endLineNumber)&&n.endColumn===t.getLineMaxColumn(n.endLineNumber)&&i.endLineNumbernew jP(t)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,n){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=n}}class jP{constructor(e){this.lineRangeMapping=e}}class Na{static fromDiffs(e,t,i,n,o){const r=Zn.inverse(e,t,i),a=[];for(const l of r){let c=l.original.startLineNumber,h=l.modified.startLineNumber,d=l.original.length;const u=c===1&&h===1,f=c+d===t+1&&h+d===i+1;(u||f)&&d>=o+n?(u&&!f&&(d-=o),f&&!u&&(c+=o,h+=o,d-=o),a.push(new Na(c,h,d,0,0))):d>=o*2+n&&(c+=o,h+=o,d-=o*2,a.push(new Na(c,h,d,0,0)))}return a}get originalUnchangedRange(){return Ce.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return Ce.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,n,o){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=We(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=We(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=ye(this,l=>this.visibleLineCountTop.read(l)+this.visibleLineCountBottom.read(l)===this.lineCount&&!this.isDragged.read(l)),this.isDragged=We(this,void 0);const r=Math.max(Math.min(n,this.lineCount),0),a=Math.max(Math.min(o,this.lineCount-n),0);s2(n===r),s2(o===a),this._visibleLineCountTop.set(r,void 0),this._visibleLineCountBottom.set(a,void 0)}setVisibleRanges(e,t){const i=[],n=new as(e.map(l=>l.modified)).subtractFrom(this.modifiedUnchangedRange);let o=this.originalLineNumber,r=this.modifiedLineNumber;const a=this.modifiedLineNumber+this.lineCount;if(n.ranges.length===0)this.showAll(t),i.push(this);else{let l=0;for(const c of n.ranges){const h=l===n.ranges.length-1;l++;const d=(h?a:c.endLineNumberExclusive)-r,u=new Na(o,r,d,0,0);u.setHiddenModifiedRange(c,t),i.push(u),o=u.originalUnchangedRange.endLineNumberExclusive,r=u.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return Ce.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return Ce.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,n=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,n,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const n=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),o=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;t===0&&n{this._contextMenuService.showContextMenu({domForShadowRoot:u?i.getDomNode()??void 0:void 0,getAnchor:()=>({x:g,y:m}),getActions:()=>{const _=[],b=n.modified.isEmpty;return _.push(new Or("diff.clipboard.copyDeletedContent",b?n.original.length>1?p("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):p("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):n.original.length>1?p("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):p("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{const v=this._originalTextModel.getValueInRange(n.original.toExclusiveRange());await this._clipboardService.writeText(v)})),n.original.length>1&&_.push(new Or("diff.clipboard.copyDeletedLineContent",b?p("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",n.original.startLineNumber+d):p("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",n.original.startLineNumber+d),void 0,!0,async()=>{let v=this._originalTextModel.getLineContent(n.original.startLineNumber+d);v===""&&(v=this._originalTextModel.getEndOfLineSequence()===0?` `:`\r `),await this._clipboardService.writeText(v)})),i.getOption(92)||_.push(new Or("diff.inline.revertChange",p("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),_},autoSelectFirstItem:!0})};this._register(di(this._diffActions,"mousedown",g=>{if(!g.leftButton)return;const{top:m,height:_}=ds(this._diffActions),b=Math.floor(h/3);g.preventDefault(),f(g.posx,m+_+b)})),this._register(i.onMouseMove(g=>{(g.target.type===8||g.target.type===5)&&g.target.detail.viewZoneId===this._getViewZoneId()?(d=this._updateLightBulbPosition(this._marginDomNode,g.event.browserEvent.y,h),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(g=>{g.event.leftButton&&(g.target.type===8||g.target.type===5)&&g.target.detail.viewZoneId===this._getViewZoneId()&&(g.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,g.event.browserEvent.y,h),f(g.event.posx,g.event.posy+h))}))}_updateLightBulbPosition(e,t,i){const{top:n}=ds(e),o=t-n,r=Math.floor(o/i),a=r*i;if(this._diffActions.style.top=`${a}px`,this._viewLineCounts){let l=0;for(let c=0;cs});function $X(s,e,t,i){Pi(i,e.fontInfo);const n=t.length>0,o=new Eb(1e4);let r=0,a=0;const l=[];for(let u=0;u');const l=e.getLineContent(),c=Xn.isBasicASCII(l,n),h=Xn.containsRTL(l,c,o),d=Tx(new Gd(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,c,h,0,e,t,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==mc.OFF,null),a);return a.appendString(""),d.characterMapping.getHorizontalOffset(d.characterMapping.length)}var qX=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},_T=function(s,e){return function(t,i){e(t,i,s)}};let rL=class extends K{constructor(e,t,i,n,o,r,a,l,c,h){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=n,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=r,this._origViewZonesToIgnore=a,this._modViewZonesToIgnore=l,this._clipboardService=c,this._contextMenuService=h,this._originalTopPadding=We(this,0),this._originalScrollOffset=We(this,0),this._originalScrollOffsetAnimated=aT(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=We(this,0),this._modifiedScrollOffset=We(this,0),this._modifiedScrollOffsetAnimated=aT(this._targetWindow,this._modifiedScrollOffset,this._store);const d=We("invalidateAlignmentsState",0),u=this._register(new Gi(()=>{d.set(d.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(v=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(v=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(v=>{(v.hasChanged(147)||v.hasChanged(67))&&u.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(v=>{(v.hasChanged(147)||v.hasChanged(67))&&u.schedule()}));const f=this._diffModel.map(v=>v?Ot(this,v.model.original.onDidChangeTokens,()=>v.model.original.tokenization.backgroundTokenizationState===2):void 0).map((v,w)=>v?.read(w)),g=ye(v=>{const w=this._diffModel.read(v),y=w?.diff.read(v);if(!w||!y)return null;d.read(v);const k=this._options.renderSideBySide.read(v);return bT(this._editors.original,this._editors.modified,y.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,k)}),m=ye(v=>{const w=this._diffModel.read(v)?.movedTextToCompare.read(v);if(!w)return null;d.read(v);const y=w.changes.map(L=>new jP(L));return bT(this._editors.original,this._editors.modified,y,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function _(){const v=document.createElement("div");return v.className="diagonal-fill",v}const b=this._register(new ae);this.viewZones=Ud(this,(v,w)=>{b.clear();const y=g.read(v)||[],L=[],k=[],D=this._modifiedTopPadding.read(v);D>0&&k.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:D,showInHiddenAreas:!0,suppressMouseDown:!0});const E=this._originalTopPadding.read(v);E>0&&L.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:E,showInHiddenAreas:!0,suppressMouseDown:!0});const U=this._options.renderSideBySide.read(v),O=U?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(O){const ee=this._editors.original.getModel();for(const ge of y)if(ge.diff)for(let me=ge.originalRange.startLineNumber;meee.getLineCount())return{orig:L,mod:k};O?.addRequest(ee.getLineContent(me),null,null)}}const B=O?.finalize()??[];let z=0;const F=this._editors.modified.getOption(67),q=this._diffModel.read(v)?.movedTextToCompare.read(v),X=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,ie=this._editors.original.getModel()?.mightContainRTL()??!1,se=tD.fromEditor(this._editors.modified);for(const ee of y)if(ee.diff&&!U&&(!this._options.useTrueInlineDiffRendering.read(v)||!iD(ee.diff))){if(!ee.originalRange.isEmpty){f.read(v);const me=document.createElement("div");me.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const yt=this._editors.original.getModel();if(ee.originalRange.endLineNumberExclusive-1>yt.getLineCount())return{orig:L,mod:k};const it=new KX(ee.originalRange.mapToLineArray(jt=>yt.tokenization.getLineTokens(jt)),ee.originalRange.mapToLineArray(jt=>B[z++]),X,ie),Et=[];for(const jt of ee.diff.innerChanges||[])Et.push(new af(jt.originalRange.delta(-(ee.diff.original.startLineNumber-1)),tL.className,0));const ot=$X(it,se,Et,me),Wt=document.createElement("div");if(Wt.className="inline-deleted-margin-view-zone",Pi(Wt,se.fontInfo),this._options.renderIndicators.read(v))for(let jt=0;jtBT(es),Wt,this._editors.modified,ee.diff,this._diffEditorWidget,ot.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let jt=0;jt1&&L.push({afterLineNumber:ee.originalRange.startLineNumber+jt,domNode:_(),heightInPx:(bs-1)*F,showInHiddenAreas:!0,suppressMouseDown:!0})}k.push({afterLineNumber:ee.modifiedRange.startLineNumber-1,domNode:me,heightInPx:ot.heightInLines*F,minWidthInPx:ot.minWidthInPx,marginDomNode:Wt,setZoneId(jt){es=jt},showInHiddenAreas:!0,suppressMouseDown:!0})}const ge=document.createElement("div");ge.className="gutter-delete",L.push({afterLineNumber:ee.originalRange.endLineNumberExclusive-1,domNode:_(),heightInPx:ee.modifiedHeightInPx,marginDomNode:ge,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const ge=ee.modifiedHeightInPx-ee.originalHeightInPx;if(ge>0){if(q?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(ee.originalRange.endLineNumberExclusive-1))continue;L.push({afterLineNumber:ee.originalRange.endLineNumberExclusive-1,domNode:_(),heightInPx:ge,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let me=function(){const it=document.createElement("div");return it.className="arrow-revert-change "+Ue.asClassName(re.arrowRight),w.add($(it,"mousedown",Et=>Et.stopPropagation())),w.add($(it,"click",Et=>{Et.stopPropagation(),o.revert(ee.diff)})),pe("div",{},it)};if(q?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(ee.modifiedRange.endLineNumberExclusive-1))continue;let yt;ee.diff&&ee.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(v)&&(yt=me()),k.push({afterLineNumber:ee.modifiedRange.endLineNumberExclusive-1,domNode:_(),heightInPx:-ge,marginDomNode:yt,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const ee of m.read(v)??[]){if(!q?.lineRangeMapping.original.intersect(ee.originalRange)||!q?.lineRangeMapping.modified.intersect(ee.modifiedRange))continue;const ge=ee.modifiedHeightInPx-ee.originalHeightInPx;ge>0?L.push({afterLineNumber:ee.originalRange.endLineNumberExclusive-1,domNode:_(),heightInPx:ge,showInHiddenAreas:!0,suppressMouseDown:!0}):k.push({afterLineNumber:ee.modifiedRange.endLineNumberExclusive-1,domNode:_(),heightInPx:-ge,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:L,mod:k}});let C=!1;this._register(this._editors.original.onDidScrollChange(v=>{v.scrollLeftChanged&&!C&&(C=!0,this._editors.modified.setScrollLeft(v.scrollLeft),C=!1)})),this._register(this._editors.modified.onDidScrollChange(v=>{v.scrollLeftChanged&&!C&&(C=!0,this._editors.original.setScrollLeft(v.scrollLeft),C=!1)})),this._originalScrollTop=Ot(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Ot(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(Ze(v=>{const w=this._originalScrollTop.read(v)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(v))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(v));w!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(w,1)})),this._register(Ze(v=>{const w=this._modifiedScrollTop.read(v)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(v))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(v));w!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(w,1)})),this._register(Ze(v=>{const w=this._diffModel.read(v)?.movedTextToCompare.read(v);let y=0;if(w){const L=this._editors.original.getTopForLineNumber(w.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();y=this._editors.modified.getTopForLineNumber(w.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-L}y>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(y,void 0)):y<0?(this._modifiedTopPadding.set(-y,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-y,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+y,void 0,!0)}))}};rL=qX([_T(8,Ix),_T(9,Gr)],rL);function bT(s,e,t,i,n,o){const r=new zr(CT(s,i)),a=new zr(CT(e,n)),l=s.getOption(67),c=e.getOption(67),h=[];let d=0,u=0;function f(g,m){for(;;){let _=r.peek(),b=a.peek();if(_&&_.lineNumber>=g&&(_=void 0),b&&b.lineNumber>=m&&(b=void 0),!_&&!b)break;const C=_?_.lineNumber-d:Number.MAX_VALUE,v=b?b.lineNumber-u:Number.MAX_VALUE;Cv?(a.dequeue(),_={lineNumber:b.lineNumber-u+d,heightInPx:0}):(r.dequeue(),a.dequeue()),h.push({originalRange:Ce.ofLength(_.lineNumber,1),modifiedRange:Ce.ofLength(b.lineNumber,1),originalHeightInPx:l+_.heightInPx,modifiedHeightInPx:c+b.heightInPx,diff:void 0})}}for(const g of t){let v=function(w,y,L=!1){if(wO.lineNumberO+B.heightInPx,0)??0,U=a.takeWhile(O=>O.lineNumberO+B.heightInPx,0)??0;h.push({originalRange:k,modifiedRange:D,originalHeightInPx:k.length*l+E,modifiedHeightInPx:D.length*c+U,diff:g.lineRangeMapping}),C=w,b=y};const m=g.lineRangeMapping;f(m.original.startLineNumber,m.modified.startLineNumber);let _=!0,b=m.modified.startLineNumber,C=m.original.startLineNumber;if(o)for(const w of m.innerChanges||[]){w.originalRange.startColumn>1&&w.modifiedRange.startColumn>1&&v(w.originalRange.startLineNumber,w.modifiedRange.startLineNumber);const y=s.getModel(),L=w.originalRange.endLineNumber<=y.getLineCount()?y.getLineMaxColumn(w.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;w.originalRange.endColumn1&&i.push({lineNumber:l,heightInPx:r*(c-1)})}for(const l of s.getWhitespaces()){if(e.has(l.id))continue;const c=l.afterLineNumber===0?0:o.convertViewPositionToModelPosition(new W(l.afterLineNumber,1)).lineNumber;t.push({lineNumber:c,heightInPx:l.height})}return pX(t,i,l=>l.lineNumber,(l,c)=>({lineNumber:l.lineNumber,heightInPx:l.heightInPx+c.heightInPx}))}function iD(s){return s.innerChanges?s.innerChanges.every(e=>wT(e.modifiedRange)&&wT(e.originalRange)||e.originalRange.equalsRange(new R(1,1,1,1))):!1}function wT(s){return s.startLineNumber===s.endLineNumber}const Ef=class Ef extends K{constructor(e,t,i,n,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=n,this._editors=o,this._originalScrollTop=Ot(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Ot(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=ls("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=We(this,0),this._modifiedViewZonesChangedSignal=ls("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=ls("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=Ud(this,(h,d)=>{this._element.replaceChildren();const u=this._diffModel.read(h),f=u?.diff.read(h)?.movedTexts;if(!f||f.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(h);const g=this._originalEditorLayoutInfo.read(h),m=this._modifiedEditorLayoutInfo.read(h);if(!g||!m){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(h),this._originalViewZonesChangedSignal.read(h);const _=f.map(k=>{function D(ie,se){const ee=se.getTopForLineNumber(ie.startLineNumber,!0),ge=se.getTopForLineNumber(ie.endLineNumberExclusive,!0);return(ee+ge)/2}const E=D(k.lineRangeMapping.original,this._editors.original),U=this._originalScrollTop.read(h),O=D(k.lineRangeMapping.modified,this._editors.modified),B=this._modifiedScrollTop.read(h),z=E-U,F=O-B,q=Math.min(E,O),X=Math.max(E,O);return{range:new ke(q,X),from:z,to:F,fromWithoutScroll:E,toWithoutScroll:O,move:k}});_.sort(p5(Ns(k=>k.fromWithoutScroll>k.toWithoutScroll,_5),Ns(k=>k.fromWithoutScroll>k.toWithoutScroll?k.fromWithoutScroll:-k.toWithoutScroll,Ta)));const b=nD.compute(_.map(k=>k.range)),C=10,v=g.verticalScrollbarWidth,w=(b.getTrackCount()-1)*10+C*2,y=v+w+(m.contentLeft-Ef.movedCodeBlockPadding);let L=0;for(const k of _){const D=b.getTrack(L),E=v+C+D*10,U=15,O=15,B=y,z=m.glyphMarginWidth+m.lineNumbersWidth,F=18,q=document.createElementNS("http://www.w3.org/2000/svg","rect");q.classList.add("arrow-rectangle"),q.setAttribute("x",`${B-z}`),q.setAttribute("y",`${k.to-F/2}`),q.setAttribute("width",`${z}`),q.setAttribute("height",`${F}`),this._element.appendChild(q);const X=document.createElementNS("http://www.w3.org/2000/svg","g"),ie=document.createElementNS("http://www.w3.org/2000/svg","path");ie.setAttribute("d",`M 0 ${k.from} L ${E} ${k.from} L ${E} ${k.to} L ${B-O} ${k.to}`),ie.setAttribute("fill","none"),X.appendChild(ie);const se=document.createElementNS("http://www.w3.org/2000/svg","polygon");se.classList.add("arrow"),d.add(Ze(ee=>{ie.classList.toggle("currentMove",k.move===u.activeMovedText.read(ee)),se.classList.toggle("currentMove",k.move===u.activeMovedText.read(ee))})),se.setAttribute("points",`${B-O},${k.to-U/2} ${B},${k.to} ${B-O},${k.to+U/2}`),X.appendChild(se),this._element.appendChild(X),L++}this.width.set(w,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(ve(()=>this._element.remove())),this._register(Ze(h=>{const d=this._originalEditorLayoutInfo.read(h),u=this._modifiedEditorLayoutInfo.read(h);!d||!u||(this._element.style.left=`${d.width-d.verticalScrollbarWidth}px`,this._element.style.height=`${d.height}px`,this._element.style.width=`${d.verticalScrollbarWidth+d.contentLeft-Ef.movedCodeBlockPadding+this.width.read(h)}px`)})),this._register(Ub(this._state));const r=ye(h=>{const u=this._diffModel.read(h)?.diff.read(h);return u?u.movedTexts.map(f=>({move:f,original:new Nh(__(f.lineRangeMapping.original.startLineNumber-1),18),modified:new Nh(__(f.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(c1(this._editors.original,r.map(h=>h.map(d=>d.original)))),this._register(c1(this._editors.modified,r.map(h=>h.map(d=>d.modified)))),this._register(eo((h,d)=>{const u=r.read(h);for(const f of u)d.add(new vT(this._editors.original,f.original,f.move,"original",this._diffModel.get())),d.add(new vT(this._editors.modified,f.modified,f.move,"modified",this._diffModel.get()))}));const a=ls("original.onDidFocusEditorWidget",h=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>h(void 0),0))),l=ls("modified.onDidFocusEditorWidget",h=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>h(void 0),0)));let c="modified";this._register(zg({createEmptyChangeSummary:()=>{},handleChange:(h,d)=>(h.didChange(a)&&(c="original"),h.didChange(l)&&(c="modified"),!0)},h=>{a.read(h),l.read(h);const d=this._diffModel.read(h);if(!d)return;const u=d.diff.read(h);let f;if(u&&c==="original"){const g=this._editors.originalCursor.read(h);g&&(f=u.movedTexts.find(m=>m.lineRangeMapping.original.contains(g.lineNumber)))}if(u&&c==="modified"){const g=this._editors.modifiedCursor.read(h);g&&(f=u.movedTexts.find(m=>m.lineRangeMapping.modified.contains(g.lineNumber)))}f!==d.movedTextToCompare.get()&&d.movedTextToCompare.set(void 0,void 0),d.setActiveMovedText(f)}))}};Ef.movedCodeBlockPadding=4;let dd=Ef;class nD{static compute(e){const t=[],i=[];for(const n of e){let o=t.findIndex(r=>!r.intersectsStrict(n));o===-1&&(t.length>=6?o=YF(t,Ns(a=>a.intersectWithRangeLength(n),Ta)):(o=t.length,t.push(new mk))),t[o].addRange(n),i.push(o)}return new nD(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class vT extends Yx{constructor(e,t,i,n,o){const r=ze("div.diff-hidden-lines-widget");super(e,t,r.root),this._editor=e,this._move=i,this._kind=n,this._diffModel=o,this._nodes=ze("div.diff-moved-code-block",{style:{marginRight:"4px"}},[ze("div.text-content@textContent"),ze("div.action-bar@actionBar")]),r.root.appendChild(this._nodes.root);const a=Ot(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(Ya(this._nodes.root,{paddingRight:a.map(u=>u.verticalScrollbarWidth)}));let l;i.changes.length>0?l=this._kind==="original"?p("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):p("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):l=this._kind==="original"?p("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):p("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const c=this._register(new Wr(this._nodes.actionBar,{highlightToggledItems:!0})),h=new Or("",l,"",!1);c.push(h,{icon:!1,label:!0});const d=new Or("","Compare",Ue.asClassName(re.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(Ze(u=>{const f=this._diffModel.movedTextToCompare.read(u)===i;d.checked=f})),c.push(d,{icon:!1,label:!0})}}class jX extends K{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=ye(this,o=>{const r=this._diffModel.read(o),a=r?.diff.read(o);if(!a)return null;const l=this._diffModel.read(o).movedTextToCompare.read(o),c=this._options.renderIndicators.read(o),h=this._options.showEmptyDecorations.read(o),d=[],u=[];if(!l)for(const g of a.mappings)if(g.lineRangeMapping.original.isEmpty||d.push({range:g.lineRangeMapping.original.toInclusiveRange(),options:c?dT:fT}),g.lineRangeMapping.modified.isEmpty||u.push({range:g.lineRangeMapping.modified.toInclusiveRange(),options:c?hT:uT}),g.lineRangeMapping.modified.isEmpty||g.lineRangeMapping.original.isEmpty)g.lineRangeMapping.original.isEmpty||d.push({range:g.lineRangeMapping.original.toInclusiveRange(),options:PX}),g.lineRangeMapping.modified.isEmpty||u.push({range:g.lineRangeMapping.modified.toInclusiveRange(),options:RX});else{const m=this._options.useTrueInlineDiffRendering.read(o)&&iD(g.lineRangeMapping);for(const _ of g.lineRangeMapping.innerChanges||[])if(g.lineRangeMapping.original.contains(_.originalRange.startLineNumber)&&d.push({range:_.originalRange,options:_.originalRange.isEmpty()&&h?OX:tL}),g.lineRangeMapping.modified.contains(_.modifiedRange.startLineNumber)&&u.push({range:_.modifiedRange,options:_.modifiedRange.isEmpty()&&h&&!m?AX:gT}),m){const b=r.model.original.getValueInRange(_.originalRange);u.push({range:_.modifiedRange,options:{description:"deleted-text",before:{content:b,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(l)for(const g of l.changes){const m=g.original.toInclusiveRange();m&&d.push({range:m,options:c?dT:fT});const _=g.modified.toInclusiveRange();_&&u.push({range:_,options:c?hT:uT});for(const b of g.innerChanges||[])d.push({range:b.originalRange,options:tL}),u.push({range:b.modifiedRange,options:gT})}const f=this._diffModel.read(o).activeMovedText.read(o);for(const g of a.movedTexts)d.push({range:g.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(g===f?" currentMove":""),blockPadding:[dd.movedCodeBlockPadding,0,dd.movedCodeBlockPadding,dd.movedCodeBlockPadding]}}),u.push({range:g.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(g===f?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:d,modifiedDecorations:u}}),this._register(l1(this._editors.original,this._decorations.map(o=>o?.originalDecorations||[]))),this._register(l1(this._editors.modified,this._decorations.map(o=>o?.modifiedDecorations||[])))}}class GX{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=jk(this,i=>{const n=this._sashRatio.read(i)??this._options.splitViewDefaultRatio.read(i);return this._computeSashLeft(n,i)},(i,n)=>{const o=this.dimensions.width.get();this._sashRatio.set(i/o,n)}),this._sashRatio=We(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),n=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):n,r=100;return i<=r*2?n:oi-r?i-r:o}}class GP extends K{constructor(e,t,i,n,o,r){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=n,this.sashLeft=o,this._resetSash=r,this._sash=this._register(new os(this._domNode,{getVerticalSashTop:a=>0,getVerticalSashLeft:a=>this.sashLeft.get(),getVerticalSashHeight:a=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(a=>{this.sashLeft.set(this._startSashPosition+(a.currentX-a.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(Ze(a=>{const l=this._boundarySashes.read(a);l&&(this._sash.orthogonalEndSash=l.bottom)})),this._register(Ze(a=>{const l=this._enabled.read(a);this._sash.state=l?3:0,this.sashLeft.read(a),this._dimensions.height.read(a),this._sash.layout()}))}}class ZX extends K{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=Ot(this,this._editor.onDidScrollChange,r=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(r=>r===0),this.modelAttached=Ot(this,this._editor.onDidChangeModel,r=>this._editor.hasModel()),this.editorOnDidChangeViewZones=ls("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=ls("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=Gk("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const n=this._domNode.appendChild(ze("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver(()=>{Gt(r=>{this.domNodeSizeChanged.trigger(r)})});o.observe(this._domNode),this._register(ve(()=>o.disconnect())),this._register(Ze(r=>{n.className=this.isScrollTopZero.read(r)?"":"scroll-decoration"})),this._register(Ze(r=>this.render(r)))}dispose(){super.dispose(),tn(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),n=new Set(this.views.keys()),o=ke.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(const r of i){const a=new Ce(r.startLineNumber,r.endLineNumber+1),l=this.itemProvider.getIntersectingGutterItems(a,e);Gt(c=>{for(const h of l){if(!h.range.intersect(a))continue;n.delete(h.id);let d=this.views.get(h.id);if(d)d.item.set(h,c);else{const m=document.createElement("div");this._domNode.appendChild(m);const _=We("item",h),b=this.itemProvider.createView(_,m);d=new YX(_,b,m),this.views.set(h.id,d)}const u=h.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(h.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(h.range.startLineNumber-1,!1)-t,g=(h.range.endLineNumberExclusive===1?Math.max(u,this._editor.getTopForLineNumber(h.range.startLineNumber,!1)-t):Math.max(u,this._editor.getBottomForLineNumber(h.range.endLineNumberExclusive-1,!0)-t))-u;d.domNode.style.top=`${u}px`,d.domNode.style.height=`${g}px`,d.gutterItemView.layout(ke.ofStartAndLength(u,g),o)}})}for(const r of n){const a=this.views.get(r);a.gutterItemView.dispose(),a.domNode.remove(),this.views.delete(r)}}}class YX{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class ZP extends bc{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class ST extends wR{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Ka(e-1,t)}}class QX extends K{constructor(e,t,i={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new zO),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new ae),i.hoverDelegate=i.hoverDelegate??this._register(Zk()),this.options=i,this.toggleMenuAction=this._register(new bg(()=>this.toggleMenuActionViewItem?.show(),i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new Wr(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(n,o)=>{if(n.id===bg.ID)return this.toggleMenuActionViewItem=new C_(n,n.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Ue.asClassNameArray(i.moreIcon??re.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const r=i.actionViewItemProvider(n,o);if(r)return r}if(n instanceof bb){const r=new C_(n,n.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:n.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return r.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(r),this.disposables.add(this._onDidChangeDropdownVisibility.add(r.onDidChangeVisibility)),r}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(n=>{this.actionBar.push(n,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(n)})})}getKeybindingLabel(e){return this.options.getKeyBinding?.(e)?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}const rb=class rb extends Or{constructor(e,t){t=t||p("moreActions","More Actions..."),super(rb.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}};rb.ID="toolbar.toggle.more";let bg=rb;var YP=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},xs=function(s,e){return function(t,i){e(t,i,s)}};let aL=class extends QX{constructor(e,t,i,n,o,r,a,l){super(e,o,{getKeyBinding:h=>r.lookupKeybinding(h.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:typeof t?.telemetrySource=="string"}),this._options=t,this._menuService=i,this._contextKeyService=n,this._contextMenuService=o,this._keybindingService=r,this._commandService=a,this._sessionDisposables=this._store.add(new ae);const c=t?.telemetrySource;c&&this._store.add(this.actionBar.onDidRun(h=>l.publicLog2("workbenchActionExecuted",{id:h.action.id,from:c})))}setActions(e,t=[],i){this._sessionDisposables.clear();const n=e.slice(),o=t.slice(),r=[];let a=0;const l=[];let c=!1;if(this._options?.hiddenItemStrategy!==-1)for(let h=0;hf?.id)),d=this._options.overflowBehavior.maxItems-h.size;let u=0;for(let f=0;f=d&&(n[f]=void 0,l[f]=g))}}gD(n),gD(l),super.setActions(n,Yi.join(l,o)),(r.length>0||n.length>0)&&this._sessionDisposables.add($(this.getElement(),"contextmenu",h=>{const d=new Qs(ue(this.getElement()),h),u=this.getItemAction(d.target);if(!u)return;d.preventDefault(),d.stopPropagation();const f=[];if(u instanceof Fr&&u.menuKeybinding)f.push(u.menuKeybinding);else if(!(u instanceof zu||u instanceof bg)){const m=!!this._keybindingService.lookupKeybinding(u.id);f.push(uP(this._commandService,this._keybindingService,u.id,void 0,m))}if(r.length>0){let m=!1;if(a===1&&this._options?.hiddenItemStrategy===0){m=!0;for(let _=0;_this._menuService.resetHiddenStates(i)}))),g.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>d,getActions:()=>g,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource=="string",contextKeyService:this._contextKeyService})}))}};aL=YP([xs(2,Oc),xs(3,Xe),xs(4,Gr),xs(5,Ti),xs(6,Jn),xs(7,Xa)],aL);let d1=class extends aL{constructor(e,t,i,n,o,r,a,l,c){super(e,{resetMenu:t,...i},n,o,r,a,l,c),this._onDidChangeMenuItems=this._store.add(new A),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const h=this._store.add(n.createMenu(t,o,{emitEventsForSubmenuChanges:!0})),d=()=>{const u=[],f=[];Jz(h,i?.menuOptions,{primary:u,secondary:f},i?.toolbarOptions?.primaryGroup,i?.toolbarOptions?.shouldInlineSubmenu,i?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",u.length===0&&f.length===0),super.setActions(u,f)};this._store.add(h.onDidChange(()=>{d(),this._onDidChangeMenuItems.fire(this)})),d()}setActions(){throw new et("This toolbar is populated from a menu.")}};d1=YP([xs(3,Oc),xs(4,Xe),xs(5,Gr),xs(6,Ti),xs(7,Jn),xs(8,Xa)],d1);var QP=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Sp=function(s,e){return function(t,i){e(t,i,s)}};const RC=[],jm=35;let lL=class extends K{constructor(e,t,i,n,o,r,a,l,c){super(),this._diffModel=t,this._editors=i,this._options=n,this._sashLayout=o,this._boundarySashes=r,this._instantiationService=a,this._contextKeyService=l,this._menuService=c,this._menu=this._register(this._menuService.createMenu(fi.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=Ot(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(h=>h.length>0),this._showSash=ye(this,h=>this._options.renderSideBySide.read(h)&&this._hasActions.read(h)),this.width=ye(this,h=>this._hasActions.read(h)?jm:0),this.elements=ze("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:jm+"px"}},[]),this._currentDiff=ye(this,h=>{const d=this._diffModel.read(h);if(!d)return;const u=d.diff.read(h)?.mappings,f=this._editors.modifiedCursor.read(h);if(f)return u?.find(g=>g.lineRangeMapping.modified.contains(f.lineNumber))}),this._selectedDiffs=ye(this,h=>{const u=this._diffModel.read(h)?.diff.read(h);if(!u)return RC;const f=this._editors.modifiedSelections.read(h);if(f.every(b=>b.isEmpty()))return RC;const g=new as(f.map(b=>Ce.fromRangeInclusive(b))),_=u.mappings.filter(b=>b.lineRangeMapping.innerChanges&&g.intersects(b.lineRangeMapping.modified)).map(b=>({mapping:b,rangeMappings:b.lineRangeMapping.innerChanges.filter(C=>f.some(v=>R.areIntersecting(C.modifiedRange,v)))}));return _.length===0||_.every(b=>b.rangeMappings.length===0)?RC:_}),this._register(_X(e,this.elements.root)),this._register($(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(Ya(this.elements.root,{display:this._hasActions.map(h=>h?"block":"none")})),So(this,h=>this._showSash.read(h)?new GP(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,jk(this,u=>this._sashLayout.sashLeft.read(u)-jm,(u,f)=>this._sashLayout.sashLeft.set(u+jm,f)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new ZX(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(h,d)=>{const u=this._diffModel.read(d);if(!u)return[];const f=u.diff.read(d);if(!f)return[];const g=this._selectedDiffs.read(d);if(g.length>0){const _=Zn.fromRangeMappings(g.flatMap(b=>b.rangeMappings));return[new yT(_,!0,fi.DiffEditorSelectionToolbar,void 0,u.model.original.uri,u.model.modified.uri)]}const m=this._currentDiff.read(d);return f.mappings.map(_=>new yT(_.lineRangeMapping.withInnerChangesFromLineRanges(),_.lineRangeMapping===m?.lineRangeMapping,fi.DiffEditorHunkToolbar,void 0,u.model.original.uri,u.model.modified.uri))},createView:(h,d)=>this._instantiationService.createInstance(cL,h,d,this)})),this._register($(this.elements.gutter,J.MOUSE_WHEEL,h=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(h)},{passive:!1}))}computeStagedValue(e){const t=e.innerChanges??[],i=new ST(this._editors.modifiedModel.get()),n=new ST(this._editors.original.getModel());return new XF(t.map(a=>a.toTextEdit(i))).apply(n)}layout(e){this.elements.gutter.style.left=e+"px"}};lL=QP([Sp(6,Qe),Sp(7,Xe),Sp(8,Oc)],lL);class yT{constructor(e,t,i,n,o,r){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=n,this.originalUri=o,this.modifiedUri=r}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let cL=class extends K{constructor(e,t,i,n){super(),this._item=e,this._elements=ze("div.gutterItem",{style:{height:"20px",width:"34px"}},[ze("div.background@background",{},[]),ze("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,r=>r.showAlways),this._menuId=this._item.map(this,r=>r.menuId),this._isSmall=We(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(n.createInstance(qf,"element",!0,{position:{hoverPosition:1}}));this._register(Pu(t,this._elements.root)),this._register(Ze(r=>{const a=this._showAlways.read(r);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",a),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(eo((r,a)=>{this._elements.buttons.replaceChildren();const l=a.add(n.createInstance(d1,this._elements.buttons,this._menuId.read(r),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:c=>c.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(r)?1:3},hiddenItemStrategy:0,actionRunner:new ZP(()=>{const c=this._item.get(),h=c.mapping;return{mapping:h,originalWithModifiedChanges:i.computeStagedValue(h),originalUri:c.originalUri,modifiedUri:c.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));a.add(l.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const n=e.length/2-i/2,o=i;let r=e.start+n;const a=ke.tryCreate(o,t.endExclusive-o-i),l=ke.tryCreate(e.start+o,e.endExclusive-i-o);l&&a&&l.start{const n=ga._map.get(e);n&&(ga._map.delete(e),n.dispose(),i.dispose())})}return t}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new zd(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=We(this,this.editor.getModel()),this.model=this._model,this.isReadonly=Ot(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=pS({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=pS({owner:this,equalsFn:eI(WH(tt.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=Ot(this,t=>{const i=this.editor.onDidFocusEditorWidget(t),n=this.editor.onDidBlurEditorWidget(t);return{dispose(){i.dispose(),n.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=jk(this,t=>(this.versionId.read(t),this.model.read(t)?.getValue()??""),(t,i)=>{const n=this.model.get();n!==null&&t!==n.getValue()&&n.setValue(t)}),this.valueIsEmpty=ye(this,t=>(this.versionId.read(t),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=Hg({owner:this,equalsFn:eI(tt.selectionsEqual)},t=>this.selections.read(t)?.[0]??null),this.onDidType=Gk(this),this.scrollTop=Ot(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=Ot(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=Ot(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(t=>t.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(t=>t.decorationsLeft),this.contentWidth=Ot(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(t=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,t)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(t=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,t),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(t=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,t),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{return this._forceUpdate(),e?e(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return Ot(this,t=>this.editor.onDidChangeConfiguration(i=>{i.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){const t=new ae,i=this.editor.createDecorationsCollection();return t.add(Hb({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const o=e.read(n);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._overlayWidgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const n=Ze(o=>{e.position.read(o),e.minContentWidthInPx.read(o),this.editor.layoutOverlayWidget(i)});return ve(()=>{n.dispose(),this.editor.removeOverlayWidget(i)})}};ga._map=new Map;let hL=ga;function XX(s,e){return QH({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,i)=>{if(t.didChange(s)){const n=t.change;n!==void 0&&i.deltas.push(n),i.didChange=!0}return!0}},(t,i)=>{const n=s.read(t);i.didChange&&e(n,i.deltas)})}function Cse(s,e){const t=new ae,i=XX(s,(n,o)=>{t.clear(),e(n,o,t)});return{dispose(){i.dispose(),t.dispose()}}}var JX=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},eJ=function(s,e){return function(t,i){e(t,i,s)}},yp,fc;let dL=(fc=class extends K{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=n,this._modifiedOutlineSource=So(this,l=>{const c=this._editors.modifiedModel.read(l),h=yp._breadcrumbsSourceFactory.read(l);return!c||!h?void 0:h(c,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const c=this._diffModel.get();Gt(h=>{for(const d of this._editors.original.getSelections()||[])c?.ensureOriginalLineIsVisible(d.getStartPosition().lineNumber,0,h),c?.ensureOriginalLineIsVisible(d.getEndPosition().lineNumber,0,h)})})),this._register(this._editors.modified.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const c=this._diffModel.get();Gt(h=>{for(const d of this._editors.modified.getSelections()||[])c?.ensureModifiedLineIsVisible(d.getStartPosition().lineNumber,0,h),c?.ensureModifiedLineIsVisible(d.getEndPosition().lineNumber,0,h)})}));const o=this._diffModel.map((l,c)=>{const h=l?.unchangedRegions.read(c)??[];return h.length===1&&h[0].modifiedLineNumber===1&&h[0].lineCount===this._editors.modifiedModel.read(c)?.getLineCount()?[]:h});this.viewZones=Ud(this,(l,c)=>{const h=this._modifiedOutlineSource.read(l);if(!h)return{origViewZones:[],modViewZones:[]};const d=[],u=[],f=this._options.renderSideBySide.read(l),g=this._options.compactMode.read(l),m=o.read(l);for(let _=0;_b.getHiddenOriginalRange(w).startLineNumber-1),v=new Nh(C,12);d.push(v),c.add(new LT(this._editors.original,v,b,!f))}{const C=ye(this,w=>b.getHiddenModifiedRange(w).startLineNumber-1),v=new Nh(C,12);u.push(v),c.add(new LT(this._editors.modified,v,b))}}else{{const C=ye(this,w=>b.getHiddenOriginalRange(w).startLineNumber-1),v=new Nh(C,24);d.push(v),c.add(new kT(this._editors.original,v,b,b.originalUnchangedRange,!f,h,w=>this._diffModel.get().ensureModifiedLineIsVisible(w,2,void 0),this._options))}{const C=ye(this,w=>b.getHiddenModifiedRange(w).startLineNumber-1),v=new Nh(C,24);u.push(v),c.add(new kT(this._editors.modified,v,b,b.modifiedUnchangedRange,!1,h,w=>this._diffModel.get().ensureModifiedLineIsVisible(w,2,void 0),this._options))}}}return{origViewZones:d,modViewZones:u}});const r={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},a={description:"Fold Unchanged",glyphMarginHoverMessage:new DA(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(p("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+Ue.asClassName(re.fold),zIndex:10001};this._register(l1(this._editors.original,ye(this,l=>{const c=o.read(l),h=c.map(d=>({range:d.originalUnchangedRange.toInclusiveRange(),options:r}));for(const d of c)d.shouldHideControls(l)&&h.push({range:R.fromPositions(new W(d.originalLineNumber,1)),options:a});return h}))),this._register(l1(this._editors.modified,ye(this,l=>{const c=o.read(l),h=c.map(d=>({range:d.modifiedUnchangedRange.toInclusiveRange(),options:r}));for(const d of c)d.shouldHideControls(l)&&h.push({range:Ce.ofLength(d.modifiedLineNumber,1).toInclusiveRange(),options:a});return h}))),this._register(Ze(l=>{const c=o.read(l);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(c.map(h=>h.getHiddenOriginalRange(l).toInclusiveRange()).filter(gd)),this._editors.modified.setHiddenAreas(c.map(h=>h.getHiddenModifiedRange(l).toInclusiveRange()).filter(gd))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(l=>{if(!l.event.rightButton&&l.target.position&&l.target.element?.className.includes("fold-unchanged")){const c=l.target.position.lineNumber,h=this._diffModel.get();if(!h)return;const d=h.unchangedRegions.get().find(u=>u.modifiedUnchangedRange.includes(c));if(!d)return;d.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(l=>{if(!l.event.rightButton&&l.target.position&&l.target.element?.className.includes("fold-unchanged")){const c=l.target.position.lineNumber,h=this._diffModel.get();if(!h)return;const d=h.unchangedRegions.get().find(u=>u.originalUnchangedRange.includes(c));if(!d)return;d.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}}))}},yp=fc,fc._breadcrumbsSourceFactory=We(yp,()=>({dispose(){},getBreadcrumbItems(e,t){return[]}})),fc);dL=yp=JX([eJ(3,Qe)],dL);class LT extends Yx{constructor(e,t,i,n=!1){const o=ze("div.diff-hidden-lines-widget");super(e,t,o.root),this._unchangedRegion=i,this._hide=n,this._nodes=ze("div.diff-hidden-lines-compact",[ze("div.line-left",[]),ze("div.text@text",[]),ze("div.line-right",[])]),o.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(Ze(r=>{if(!this._hide){const a=this._unchangedRegion.getHiddenModifiedRange(r).length,l=p("hiddenLines","{0} hidden lines",a);this._nodes.text.innerText=l}}))}}class kT extends Yx{constructor(e,t,i,n,o,r,a,l){const c=ze("div.diff-hidden-lines-widget");super(e,t,c.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=n,this._hide=o,this._modifiedOutlineSource=r,this._revealModifiedHiddenLine=a,this._options=l,this._nodes=ze("div.diff-hidden-lines",[ze("div.top@top",{title:p("diff.hiddenLines.top","Click or drag to show more above")}),ze("div.center@content",{style:{display:"flex"}},[ze("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[pe("a",{title:p("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Ql("$(unfold)"))]),ze("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),ze("div.bottom@bottom",{title:p("diff.bottom","Click or drag to show more below"),role:"button"})]),c.root.appendChild(this._nodes.root),this._hide?tn(this._nodes.first):this._register(Ya(this._nodes.first,{width:Cg(this._editor).layoutInfoContentLeft})),this._register(Ze(d=>{const u=this._unchangedRegion.visibleLineCountTop.read(d)+this._unchangedRegion.visibleLineCountBottom.read(d)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!u),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(d)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(d)>0),this._nodes.top.classList.toggle("canMoveBottom",!u);const f=this._unchangedRegion.isDragged.read(d),g=this._editor.getDomNode();g&&(g.classList.toggle("draggingUnchangedRegion",!!f),f==="top"?(g.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(d)>0),g.classList.toggle("canMoveBottom",!u)):f==="bottom"?(g.classList.toggle("canMoveTop",!u),g.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(d)>0)):(g.classList.toggle("canMoveTop",!1),g.classList.toggle("canMoveBottom",!1)))}));const h=this._editor;this._register($(this._nodes.top,"mousedown",d=>{if(d.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),d.preventDefault();const u=d.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const m=ue(this._nodes.top),_=$(m,"mousemove",C=>{const w=C.clientY-u;f=f||Math.abs(w)>2;const y=Math.round(w/h.getOption(67)),L=Math.max(0,Math.min(g+y,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(L,void 0)}),b=$(m,"mouseup",C=>{f||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),_.dispose(),b.dispose()})})),this._register($(this._nodes.bottom,"mousedown",d=>{if(d.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),d.preventDefault();const u=d.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const m=ue(this._nodes.bottom),_=$(m,"mousemove",C=>{const w=C.clientY-u;f=f||Math.abs(w)>2;const y=Math.round(w/h.getOption(67)),L=Math.max(0,Math.min(g-y,this._unchangedRegion.getMaxVisibleLineCountBottom())),k=this._unchangedRegionRange.endLineNumberExclusive>h.getModel().getLineCount()?h.getContentHeight():h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(L,void 0);const D=this._unchangedRegionRange.endLineNumberExclusive>h.getModel().getLineCount()?h.getContentHeight():h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);h.setScrollTop(h.getScrollTop()+(D-k))}),b=$(m,"mouseup",C=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!f){const v=h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const w=h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);h.setScrollTop(h.getScrollTop()+(w-v))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),_.dispose(),b.dispose()})})),this._register(Ze(d=>{const u=[];if(!this._hide){const f=i.getHiddenModifiedRange(d).length,g=p("hiddenLines","{0} hidden lines",f),m=pe("span",{title:p("diff.hiddenLines.expandAll","Double click to unfold")},g);m.addEventListener("dblclick",C=>{C.button===0&&(C.preventDefault(),this._unchangedRegion.showAll(void 0))}),u.push(m);const _=this._unchangedRegion.getHiddenModifiedRange(d),b=this._modifiedOutlineSource.getBreadcrumbItems(_,d);if(b.length>0){u.push(pe("span",void 0,"  |  "));for(let C=0;C{this._revealModifiedHiddenLine(v.startLineNumber)}}}}tn(this._nodes.others,...u)}))}}var tJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},iJ=function(s,e){return function(t,i){e(t,i,s)}},Us,Rr;let wg=(Rr=class extends K{constructor(e,t,i,n,o,r,a){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=n,this._rootHeight=o,this._modifiedEditorLayoutInfo=r,this._themeService=a,this.width=Us.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=Ot(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),c=ye(u=>{const f=l.read(u),g=f.getColor(B6)||(f.getColor(O6)||Wv).transparent(2),m=f.getColor(W6)||(f.getColor(F6)||Vv).transparent(2);return{insertColor:g,removeColor:m}}),h=qe(document.createElement("div"));h.setClassName("diffViewport"),h.setPosition("absolute");const d=ze("div.diffOverview",{style:{position:"absolute",top:"0px",width:Us.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(Pu(d,h.domNode)),this._register(di(d,J.POINTER_DOWN,u=>{this._editors.modified.delegateVerticalScrollbarPointerDown(u)})),this._register($(d,J.MOUSE_WHEEL,u=>{this._editors.modified.delegateScrollFromMouseWheelEvent(u)},{passive:!1})),this._register(Pu(this._rootElement,d)),this._register(eo((u,f)=>{const g=this._diffModel.read(u),m=this._editors.original.createOverviewRuler("original diffOverviewRuler");m&&(f.add(m),f.add(Pu(d,m.getDomNode())));const _=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(_&&(f.add(_),f.add(Pu(d,_.getDomNode()))),!m||!_)return;const b=ls("viewZoneChanged",this._editors.original.onDidChangeViewZones),C=ls("viewZoneChanged",this._editors.modified.onDidChangeViewZones),v=ls("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),w=ls("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);f.add(Ze(y=>{b.read(y),C.read(y),v.read(y),w.read(y);const L=c.read(y),k=g?.diff.read(y)?.mappings;function D(O,B,z){const F=z._getViewModel();return F?O.filter(q=>q.length>0).map(q=>{const X=F.coordinatesConverter.convertModelPositionToViewPosition(new W(q.startLineNumber,1)),ie=F.coordinatesConverter.convertModelPositionToViewPosition(new W(q.endLineNumberExclusive,1)),se=ie.lineNumber-X.lineNumber;return new FP(X.lineNumber,ie.lineNumber,se,B.toString())}):[]}const E=D((k||[]).map(O=>O.lineRangeMapping.original),L.removeColor,this._editors.original),U=D((k||[]).map(O=>O.lineRangeMapping.modified),L.insertColor,this._editors.modified);m?.setZones(E),_?.setZones(U)})),f.add(Ze(y=>{const L=this._rootHeight.read(y),k=this._rootWidth.read(y),D=this._modifiedEditorLayoutInfo.read(y);if(D){const E=Us.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Us.ONE_OVERVIEW_WIDTH;m.setLayout({top:0,height:L,right:E+Us.ONE_OVERVIEW_WIDTH,width:Us.ONE_OVERVIEW_WIDTH}),_.setLayout({top:0,height:L,right:0,width:Us.ONE_OVERVIEW_WIDTH});const U=this._editors.modifiedScrollTop.read(y),O=this._editors.modifiedScrollHeight.read(y),B=this._editors.modified.getOption(104),z=new xd(B.verticalHasArrows?B.arrowSize:0,B.verticalScrollbarSize,0,D.height,O,U);h.setTop(z.getSliderPosition()),h.setHeight(z.getSliderSize())}else h.setTop(0),h.setHeight(0);d.style.height=L+"px",d.style.left=k-Us.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",h.setWidth(Us.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}},Us=Rr,Rr.ONE_OVERVIEW_WIDTH=15,Rr.ENTIRE_DIFF_OVERVIEW_WIDTH=Rr.ONE_OVERVIEW_WIDTH*2,Rr);wg=Us=tJ([iJ(6,Os)],wg);const AC=[];class nJ extends K{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=n,this._selectedDiffs=ye(this,o=>{const a=this._diffModel.read(o)?.diff.read(o);if(!a)return AC;const l=this._editors.modifiedSelections.read(o);if(l.every(u=>u.isEmpty()))return AC;const c=new as(l.map(u=>Ce.fromRangeInclusive(u))),d=a.mappings.filter(u=>u.lineRangeMapping.innerChanges&&c.intersects(u.lineRangeMapping.modified)).map(u=>({mapping:u,rangeMappings:u.lineRangeMapping.innerChanges.filter(f=>l.some(g=>R.areIntersecting(f.modifiedRange,g)))}));return d.length===0||d.every(u=>u.rangeMappings.length===0)?AC:d}),this._register(eo((o,r)=>{if(!this._options.shouldRenderOldRevertArrows.read(o))return;const a=this._diffModel.read(o),l=a?.diff.read(o);if(!a||!l||a.movedTextToCompare.read(o))return;const c=[],h=this._selectedDiffs.read(o),d=new Set(h.map(u=>u.mapping));if(h.length>0){const u=this._editors.modifiedSelections.read(o),f=r.add(new u1(u[u.length-1].positionLineNumber,this._widget,h.flatMap(g=>g.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(f),c.push(f)}for(const u of l.mappings)if(!d.has(u)&&!u.lineRangeMapping.modified.isEmpty&&u.lineRangeMapping.innerChanges){const f=r.add(new u1(u.lineRangeMapping.modified.startLineNumber,this._widget,u.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(f),c.push(f)}r.add(ve(()=>{for(const u of c)this._editors.modified.removeGlyphMarginWidget(u)}))}))}}const ab=class ab extends K{getId(){return this._id}constructor(e,t,i,n){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=n,this._id=`revertButton${ab.counter++}`,this._domNode=ze("div.revertButton",{title:this._revertSelection?p("revertSelectedChanges","Revert Selected Changes"):p("revertChange","Revert Change")},[a_(re.arrowRight)]).root,this._register($(this._domNode,J.MOUSE_DOWN,o=>{o.button!==2&&(o.stopPropagation(),o.preventDefault())})),this._register($(this._domNode,J.MOUSE_UP,o=>{o.stopPropagation(),o.preventDefault()})),this._register($(this._domNode,J.CLICK,o=>{this._diffs instanceof ji?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),o.stopPropagation(),o.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:$a.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}};ab.counter=0;let u1=ab;function wse(s,e,t){return JH({debugName:()=>`Configuration Key "${s}"`},i=>t.onDidChangeConfiguration(n=>{n.affectsConfiguration(s)&&i(n)}),()=>t.getValue(s)??e)}function nr(s,e,t){const i=s.bindTo(e);return Hb({debugName:()=>`Set Context Key "${s.key}"`},n=>{i.set(t(n))})}var sJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},xT=function(s,e){return function(t,i){e(t,i,s)}};let uL=class extends K{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,n,o,r,a){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=n,this._createInnerEditor=o,this._instantiationService=r,this._keybindingService=a,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new A),this.modifiedScrollTop=Ot(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=Ot(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=Cg(this.modified),this.originalObs=Cg(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=Ot(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=Hg({owner:this,equalsFn:W.equals},l=>this.modifiedSelections.read(l)[0]?.getPosition()??new W(1,1)),this.originalCursor=Ot(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new W(1,1)),this._argCodeEditorWidgetOptions=null,this._register(zg({createEmptyChangeSummary:()=>({}),handleChange:(l,c)=>(l.didChange(i.editorOptions)&&Object.assign(c,l.change.changedOptions),!0)},(l,c)=>{i.editorOptions.read(l),this._options.renderSideBySide.read(l),this.modified.updateOptions(this._adjustOptionsForRightHandSide(l,c)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(l,c))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return n.setContextValue("isInDiffLeftEditor",!0),n}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return n.setContextValue("isInDiffRightEditor",!0),n}_constructInnerEditor(e,t,i,n){const o=this._createInnerEditor(e,t,i,n);return this._register(o.onDidContentSizeChange(r=>{const a=this.original.getContentWidth()+this.modified.getContentWidth()+wg.ENTIRE_DIFF_OVERVIEW_WIDTH,l=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:l,contentWidth:a,contentHeightChanged:r.contentHeightChanged,contentWidthChanged:r.contentWidthChanged})})),o}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=Ic.revealHorizontalRightPadding.defaultValue+wg.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||(e="");const t=p("diff-aria-navigation-tip"," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};uL=sJ([xT(5,Qe),xT(6,Ti)],uL);const lb=class lb extends K{constructor(){super(...arguments),this._id=++lb.idCounter,this._onDidDispose=this._register(new A),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._targetEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}};lb.idCounter=0;let fL=lb;var oJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},rJ=function(s,e){return function(t,i){e(t,i,s)}};let gL=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=We(this,0),this._screenReaderMode=Ot(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=ye(this,n=>this._options.read(n).renderSideBySide&&this._diffEditorWidth.read(n)<=this._options.read(n).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=ye(this,n=>this._options.read(n).renderOverviewRuler),this.renderSideBySide=ye(this,n=>this.compactMode.read(n)&&this.shouldRenderInlineViewInSmartMode.read(n)?!1:this._options.read(n).renderSideBySide&&!(this._options.read(n).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(n)&&!this._screenReaderMode.read(n))),this.readOnly=ye(this,n=>this._options.read(n).readOnly),this.shouldRenderOldRevertArrows=ye(this,n=>!(!this._options.read(n).renderMarginRevertIcon||!this.renderSideBySide.read(n)||this.readOnly.read(n)||this.shouldRenderGutterMenu.read(n))),this.shouldRenderGutterMenu=ye(this,n=>this._options.read(n).renderGutterMenu),this.renderIndicators=ye(this,n=>this._options.read(n).renderIndicators),this.enableSplitViewResizing=ye(this,n=>this._options.read(n).enableSplitViewResizing),this.splitViewDefaultRatio=ye(this,n=>this._options.read(n).splitViewDefaultRatio),this.ignoreTrimWhitespace=ye(this,n=>this._options.read(n).ignoreTrimWhitespace),this.maxComputationTimeMs=ye(this,n=>this._options.read(n).maxComputationTime),this.showMoves=ye(this,n=>this._options.read(n).experimental.showMoves&&this.renderSideBySide.read(n)),this.isInEmbeddedEditor=ye(this,n=>this._options.read(n).isInEmbeddedEditor),this.diffWordWrap=ye(this,n=>this._options.read(n).diffWordWrap),this.originalEditable=ye(this,n=>this._options.read(n).originalEditable),this.diffCodeLens=ye(this,n=>this._options.read(n).diffCodeLens),this.accessibilityVerbose=ye(this,n=>this._options.read(n).accessibilityVerbose),this.diffAlgorithm=ye(this,n=>this._options.read(n).diffAlgorithm),this.showEmptyDecorations=ye(this,n=>this._options.read(n).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=ye(this,n=>this._options.read(n).onlyShowAccessibleDiffViewer),this.compactMode=ye(this,n=>this._options.read(n).compactMode),this.trueInlineDiffRenderingEnabled=ye(this,n=>this._options.read(n).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=ye(this,n=>!this.renderSideBySide.read(n)&&this.trueInlineDiffRenderingEnabled.read(n)),this.hideUnchangedRegions=ye(this,n=>this._options.read(n).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=ye(this,n=>this._options.read(n).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=ye(this,n=>this._options.read(n).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=ye(this,n=>this._options.read(n).hideUnchangedRegions.minimumLineCount),this._model=We(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,n=>nz(this,o=>{const r=n?.diff.read(o);return r?aJ(r,this.trueInlineDiffRenderingEnabled.read(o)):void 0})).flatten().map(this,n=>!!n),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...DT(e,Li)};this._options=We(this,i)}updateOptions(e){const t=DT(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};gL=oJ([rJ(1,co)],gL);function aJ(s,e){return s.mappings.every(t=>lJ(t.lineRangeMapping)||cJ(t.lineRangeMapping)||e&&iD(t.lineRangeMapping))}function lJ(s){return s.original.length===0}function cJ(s){return s.modified.length===0}function DT(s,e){return{enableSplitViewResizing:oe(s.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:V5(s.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:oe(s.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:oe(s.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:pl(s.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:pl(s.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:oe(s.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:oe(s.renderIndicators,e.renderIndicators),originalEditable:oe(s.originalEditable,e.originalEditable),diffCodeLens:oe(s.diffCodeLens,e.diffCodeLens),renderOverviewRuler:oe(s.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:Nt(s.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:Nt(s.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:oe(s.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:oe(s.experimental?.showMoves,e.experimental.showMoves),showEmptyDecorations:oe(s.experimental?.showEmptyDecorations,e.experimental.showEmptyDecorations),useTrueInlineView:oe(s.experimental?.useTrueInlineView,e.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:oe(s.hideUnchangedRegions?.enabled??s.experimental?.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:pl(s.hideUnchangedRegions?.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:pl(s.hideUnchangedRegions?.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:pl(s.hideUnchangedRegions?.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:oe(s.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:oe(s.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:pl(s.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:oe(s.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:oe(s.renderGutterMenu,e.renderGutterMenu),compactMode:oe(s.compactMode,e.compactMode)}}var hJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},yu=function(s,e){return function(t,i){e(t,i,s)}};let f1=class extends fL{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,n,o,r,a,l){super(),this._domElement=e,this._parentContextKeyService=n,this._parentInstantiationService=o,this._accessibilitySignalService=a,this._editorProgressService=l,this.elements=ze("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[ze("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),ze("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),ze("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register(HA(this,void 0)),this._diffModel=ye(this,w=>this._diffModelSrc.read(w)?.object),this.onDidChangeModel=Q.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new qd([Xe,this._contextKeyService]))),this._boundarySashes=We(this,void 0),this._accessibleDiffViewerShouldBeVisible=We(this,!1),this._accessibleDiffViewerVisible=ye(this,w=>this._options.onlyShowAccessibleDiffViewer.read(w)?!0:this._accessibleDiffViewerShouldBeVisible.read(w)),this._movedBlocksLinesPart=We(this,void 0),this._layoutInfo=ye(this,w=>{const y=this._rootSizeObserver.width.read(w),L=this._rootSizeObserver.height.read(w);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=L+"px";const k=this._sash.read(w),D=this._gutter.read(w),E=D?.width.read(w)??0,U=this._overviewRulerPart.read(w)?.width??0;let O,B,z,F,q;if(!!k){const ie=k.sashLeft.read(w),se=this._movedBlocksLinesPart.read(w)?.width.read(w)??0;O=0,B=ie-E-se,q=ie-E,z=ie,F=y-z-U}else{q=0;const ie=this._options.inlineViewHideOriginalLineNumbers.read(w);O=E,ie?B=0:B=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(w)),z=E+B,F=y-z-U}return this.elements.original.style.left=O+"px",this.elements.original.style.width=B+"px",this._editors.original.layout({width:B,height:L},!0),D?.layout(q),this.elements.modified.style.left=z+"px",this.elements.modified.style.width=F+"px",this._editors.modified.layout({width:F,height:L},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((w,y)=>w?.diff.read(y)),this.onDidUpdateDiff=Q.fromObservableLight(this._diffValue),r.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(ve(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new zP(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(gL,t),this._register(Ze(w=>{this._options.setWidth(this._rootSizeObserver.width.read(w))})),this._contextKeyService.createKey(ne.isEmbeddedDiffEditor.key,!1),this._register(nr(ne.isEmbeddedDiffEditor,this._contextKeyService,w=>this._options.isInEmbeddedEditor.read(w))),this._register(nr(ne.comparingMovedCode,this._contextKeyService,w=>!!this._diffModel.read(w)?.movedTextToCompare.read(w))),this._register(nr(ne.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,w=>this._options.couldShowInlineViewBecauseOfSize.read(w))),this._register(nr(ne.diffEditorInlineMode,this._contextKeyService,w=>!this._options.renderSideBySide.read(w))),this._register(nr(ne.hasChanges,this._contextKeyService,w=>(this._diffModel.read(w)?.diff.read(w)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(uL,this.elements.original,this.elements.modified,this._options,i,(w,y,L,k)=>this._createInnerEditor(w,y,L,k))),this._register(nr(ne.diffEditorOriginalWritable,this._contextKeyService,w=>this._options.originalEditable.read(w))),this._register(nr(ne.diffEditorModifiedWritable,this._contextKeyService,w=>!this._options.readOnly.read(w))),this._register(nr(ne.diffEditorOriginalUri,this._contextKeyService,w=>this._diffModel.read(w)?.model.original.uri.toString()??"")),this._register(nr(ne.diffEditorModifiedUri,this._contextKeyService,w=>this._diffModel.read(w)?.model.modified.uri.toString()??"")),this._overviewRulerPart=So(this,w=>this._options.renderOverviewRuler.read(w)?this._instantiationService.createInstance(ys(wg,w),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(y=>y.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const c={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((w,y)=>w-(this._overviewRulerPart.read(y)?.width??0))};this._sashLayout=new GX(this._options,c),this._sash=So(this,w=>{const y=this._options.renderSideBySide.read(w);return this.elements.root.classList.toggle("side-by-side",y),y?new GP(this.elements.root,c,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const h=So(this,w=>this._instantiationService.createInstance(ys(dL,w),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);So(this,w=>this._instantiationService.createInstance(ys(jX,w),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const d=new Set,u=new Set;let f=!1;const g=So(this,w=>this._instantiationService.createInstance(ys(rL,w),ue(this._domElement),this._editors,this._diffModel,this._options,this,()=>f||h.get().isUpdatingHiddenAreas,d,u)).recomputeInitiallyAndOnChange(this._store),m=ye(this,w=>{const y=g.read(w).viewZones.read(w).orig,L=h.read(w).viewZones.read(w).origViewZones;return y.concat(L)}),_=ye(this,w=>{const y=g.read(w).viewZones.read(w).mod,L=h.read(w).viewZones.read(w).modViewZones;return y.concat(L)});this._register(c1(this._editors.original,m,w=>{f=w},d));let b;this._register(c1(this._editors.modified,_,w=>{f=w,f?b=_g.capture(this._editors.modified):(b?.restore(this._editors.modified),b=void 0)},u)),this._accessibleDiffViewer=So(this,w=>this._instantiationService.createInstance(ys(Gl,w),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(y,L)=>this._accessibleDiffViewerShouldBeVisible.set(y,L),this._options.onlyShowAccessibleDiffViewer.map(y=>!y),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((y,L)=>y?.diff.read(L)?.mappings.map(k=>k.lineRangeMapping)),new TX(this._editors))).recomputeInitiallyAndOnChange(this._store);const C=this._accessibleDiffViewerVisible.map(w=>w?"hidden":"visible");this._register(Ya(this.elements.modified,{visibility:C})),this._register(Ya(this.elements.original,{visibility:C})),this._createDiffEditorContributions(),r.addDiffEditor(this),this._gutter=So(this,w=>this._options.shouldRenderGutterMenu.read(w)?this._instantiationService.createInstance(ys(lL,w),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(Ub(this._layoutInfo)),So(this,w=>new(ys(dd,w))(this.elements.root,this._diffModel,this._layoutInfo.map(y=>y.originalEditor),this._layoutInfo.map(y=>y.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,w=>{this._movedBlocksLinesPart.set(w,void 0)}),this._register(Q.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,w=>this._handleCursorPositionChange(w,!0))),this._register(Q.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,w=>this._handleCursorPositionChange(w,!1)));const v=this._diffModel.map(this,(w,y)=>{if(w)return w.diff.read(y)===void 0&&!w.isDiffUpToDate.read(y)});this._register(eo((w,y)=>{if(v.read(w)===!0){const L=this._editorProgressService.show(!0,1e3);y.add(ve(()=>L.done()))}})),this._register(eo((w,y)=>{y.add(new(ys(nJ,w))(this._editors,this._diffModel,this._options,this))})),this._register(eo((w,y)=>{const L=this._diffModel.read(w);if(L)for(const k of[L.model.original,L.model.modified])y.add(k.onWillDispose(D=>{ut(new et("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register(Ze(w=>{this._options.setModel(this._diffModel.read(w))}))}_createInnerEditor(e,t,i,n){return e.createInstance(a1,t,i,n)}_createDiffEditorContributions(){const e=jh.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){ut(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return Zg.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){const e=this._editors.original.saveViewState(),t=this._editors.modified.saveViewState();return{original:e,modified:t,modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){if(e&&e.original&&e.modified){const t=e;this._editors.original.restoreViewState(t.original),this._editors.modified.restoreViewState(t.modified),t.modelState&&this._diffModel.get()?.restoreSerializedState(t.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(oL,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){const t=e?"model"in e?h1.create(e).createNewRef(this):h1.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&Kk(t,n=>{const o=e?.object;Ot.batchEventsGlobally(n,()=>{this._editors.original.setModel(o?o.model.original:null),this._editors.modified.setModel(o?o.model.modified:null)});const r=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),n),setTimeout(()=>{r?.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const e=this._diffModel.get()?.diff.get();return e?dJ(e):null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(n=>({range:n.modifiedRange,text:t.model.original.getValueInRange(n.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new W(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){const t=this._diffModel.get()?.diff.get()?.mappings;if(!t||t.length===0)return;const i=this._editors.modified.getPosition().lineNumber;let n;e==="next"?n=t.find(o=>o.lineRangeMapping.modified.startLineNumber>i)??t[0]:n=Gp(t,o=>o.lineRangeMapping.modified.startLineNumber{const t=e.diff.get()?.mappings;!t||t.length===0||this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let n;const o=t.getSelection();if(o){const r=this._diffModel.get()?.diff.get()?.mappings.map(a=>e?a.lineRangeMapping.flip():a.lineRangeMapping);if(r){const a=lT(o.getStartPosition(),r),l=lT(o.getEndPosition(),r);n=R.plusRange(a,l)}}return{destination:i,destinationSelection:n}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&Gt(t=>{for(const i of e)i.collapseAll(t)})}showAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&Gt(t=>{for(const i of e)i.showAll(t)})}_handleCursorPositionChange(e,t){if(e?.reason===3){const i=this._diffModel.get()?.diff.get()?.mappings.find(n=>t?n.lineRangeMapping.modified.contains(e.position.lineNumber):n.lineRangeMapping.original.contains(e.position.lineNumber));i?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(ks.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):i?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(ks.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):i&&this._accessibilitySignalService.playSignal(ks.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};f1=hJ([yu(3,Xe),yu(4,Qe),yu(5,Qt),yu(6,jd),yu(7,zk)],f1);function dJ(s){return s.mappings.map(e=>{const t=e.lineRangeMapping;let i,n,o,r,a=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,n=0,a=void 0):(i=t.original.startLineNumber,n=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(o=t.modified.startLineNumber-1,r=0,a=void 0):(o=t.modified.startLineNumber,r=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:n,modifiedStartLineNumber:o,modifiedEndLineNumber:r,charChanges:a?.map(l=>({originalStartLineNumber:l.originalRange.startLineNumber,originalStartColumn:l.originalRange.startColumn,originalEndLineNumber:l.originalRange.endLineNumber,originalEndColumn:l.originalRange.endColumn,modifiedStartLineNumber:l.modifiedRange.startLineNumber,modifiedStartColumn:l.modifiedRange.startColumn,modifiedEndLineNumber:l.modifiedRange.endLineNumber,modifiedEndColumn:l.modifiedRange.endColumn}))}})}var sD=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},gt=function(s,e){return function(t,i){e(t,i,s)}};let uJ=0,ET=!1;function fJ(s){if(!s){if(ET)return;ET=!0}UV(s||ht.document.body)}let g1=class extends a1{constructor(e,t,i,n,o,r,a,l,c,h,d,u,f){const g={...t};g.ariaLabel=g.ariaLabel||dS.editorViewAccessibleLabel,super(e,g,{},i,n,o,r,c,h,d,u,f),l instanceof Md?this._standaloneKeybindingService=l:this._standaloneKeybindingService=null,fJ(g.ariaContainerElement),cz((m,_)=>i.createInstance(qf,m,_,{})),hz(a)}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const n="DYNAMIC_"+ ++uJ,o=$e.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,o),n}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),K.None;const t=e.id,i=e.label,n=$e.and($e.equals("editorId",this.getId()),$e.deserialize(e.precondition)),o=e.keybindings,r=$e.and(n,$e.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,c=(f,...g)=>Promise.resolve(e.run(this,...g)),h=new ae,d=this.getId()+":"+t;if(h.add(Oi.registerCommand(d,c)),a){const f={command:{id:d,title:i},when:n,group:a,order:l};h.add(Ao.appendMenuItem(fi.EditorContext,f))}if(Array.isArray(o))for(const f of o)h.add(this._standaloneKeybindingService.addDynamicKeybinding(d,f,c,r));const u=new BP(d,i,i,void 0,n,(...f)=>Promise.resolve(e.run(this,...f)),this._contextKeyService);return this._actions.set(t,u),h.add(ve(()=>{this._actions.delete(t)})),h}_triggerCommand(e,t){if(this._codeEditorService instanceof Jp)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};g1=sD([gt(2,Qe),gt(3,Qt),gt(4,Jn),gt(5,Xe),gt(6,Bg),gt(7,Ti),gt(8,Os),gt(9,lo),gt(10,co),gt(11,qo),gt(12,at)],g1);let mL=class extends g1{constructor(e,t,i,n,o,r,a,l,c,h,d,u,f,g,m,_){const b={...t};U_(d,b,!1);const C=c.registerEditorContainer(e);typeof b.theme=="string"&&c.setTheme(b.theme),typeof b.autoDetectHighContrast<"u"&&c.setAutoDetectHighContrast(!!b.autoDetectHighContrast);const v=b.model;delete b.model,super(e,b,i,n,o,r,a,l,c,h,u,m,_),this._configurationService=d,this._standaloneThemeService=c,this._register(C);let w;if(typeof v>"u"){const y=g.getLanguageIdByMimeType(b.language)||b.language||Ts;w=XP(f,g,b.value||"",y,void 0),this._ownsModel=!0}else w=v,this._ownsModel=!1;if(this._attachModel(w),w){const y={oldModelUrl:null,newModelUrl:w.uri};this._onDidChangeModel.fire(y)}}dispose(){super.dispose()}updateOptions(e){U_(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};mL=sD([gt(2,Qe),gt(3,Qt),gt(4,Jn),gt(5,Xe),gt(6,Bg),gt(7,Ti),gt(8,Fs),gt(9,lo),gt(10,Ft),gt(11,co),gt(12,Qi),gt(13,gi),gt(14,qo),gt(15,at)],mL);let pL=class extends f1{constructor(e,t,i,n,o,r,a,l,c,h,d,u){const f={...t};U_(l,f,!0);const g=r.registerEditorContainer(e);typeof f.theme=="string"&&r.setTheme(f.theme),typeof f.autoDetectHighContrast<"u"&&r.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},n,i,o,u,h),this._configurationService=l,this._standaloneThemeService=r,this._register(g)}dispose(){super.dispose()}updateOptions(e){U_(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(g1,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};pL=sD([gt(2,Qe),gt(3,Xe),gt(4,Qt),gt(5,Fs),gt(6,lo),gt(7,Ft),gt(8,Gr),gt(9,zk),gt(10,Ix),gt(11,jd)],pL);function XP(s,e,t,i,n){if(t=t||"",!i){const o=t.indexOf(` `);let r=t;return o!==-1&&(r=t.substring(0,o)),IT(s,t,e.createByFilepathOrFirstLine(n||null,r),n)}return IT(s,t,e.createById(i),n)}function IT(s,e,t,i){return s.createModel(e,t,i)}var gJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},NT=function(s,e){return function(t,i){e(t,i,s)}};class mJ{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let m1=class extends K{constructor(e,t,i,n,o){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=We(this,void 0),this._collapsed=ye(this,l=>this._viewModel.read(l)?.collapsed.read(l)),this._editorContentHeight=We(this,500),this.contentHeight=ye(this,l=>(this._collapsed.read(l)?0:this._editorContentHeight.read(l))+this._outerEditorHeight),this._modifiedContentWidth=We(this,0),this._modifiedWidth=We(this,0),this._originalContentWidth=We(this,0),this._originalWidth=We(this,0),this.maxScroll=ye(this,l=>{const c=this._modifiedContentWidth.read(l)-this._modifiedWidth.read(l),h=this._originalContentWidth.read(l)-this._originalWidth.read(l);return c>h?{maxScroll:c,width:this._modifiedWidth.read(l)}:{maxScroll:h,width:this._originalWidth.read(l)}}),this._elements=ze("div.multiDiffEntry",[ze("div.header@header",[ze("div.header-content",[ze("div.collapse-button@collapseButton"),ze("div.file-path",[ze("div.title.modified.show-file-icons@primaryPath",[]),ze("div.status.deleted@status",["R"]),ze("div.title.original.show-file-icons@secondaryPath",[])]),ze("div.actions@actions")])]),ze("div.editorParent",[ze("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(f1,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=Cg(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=Cg(this.editor.getOriginalEditor()).isFocused,this.isFocused=ye(this,l=>this.isModifedFocused.read(l)||this.isOriginalFocused.read(l)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new ae),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const r=new jS(this._elements.collapseButton,{});this._register(Ze(l=>{r.element.className="",r.icon=this._collapsed.read(l)?re.chevronRight:re.chevronDown})),this._register(r.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Ze(l=>{this._elements.editor.style.display=this._collapsed.read(l)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(l=>{const c=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(c,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(l=>{const c=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(c,void 0)})),this._register(this.editor.onDidContentSizeChange(l=>{Iu(c=>{this._editorContentHeight.set(l.contentHeight,c),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),c),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),c)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(l=>{if(this._isSettingScrollTop||!l.scrollTopChanged||!this._data)return;const c=l.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(c)})),this._register(Ze(l=>{const c=this._viewModel.read(l)?.isActive.read(l);this._elements.root.classList.toggle("active",c)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(o.createScoped(this._elements.actions));const a=this._register(this._instantiationService.createChild(new qd([Xe,this._contextKeyService])));this._register(a.createInstance(d1,this._elements.actions,fi.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ZP(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:l=>l.startsWith("navigation")},actionViewItemProvider:(l,c)=>eU(a,l,c)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(n){return{...n,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){Iu(n=>{this._viewModel.set(void 0,n),this.editor.setDiffModel(null,n),this._dataStore.clear()});return}const i=e.viewModel.documentDiffItem;if(Iu(n=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let o=!1,r=!1,a=!1,l="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(l="R",o=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(l="A",a=!0):(l="D",r=!0),this._elements.status.classList.toggle("renamed",o),this._elements.status.classList.toggle("deleted",r),this._elements.status.classList.toggle("added",a),this._elements.status.innerText=l,this._resourceLabel2?.setUri(o?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,n),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,n),this.editor.updateOptions(t(i.options??{}))}),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{this.editor.updateOptions(t(i.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,n=>{n||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(const[n,o]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(n,o)}render(e,t,i,n){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const o=e.length-this._headerHeight,r=Math.max(0,Math.min(n.start-e.start,o));this._elements.header.style.transform=`translateY(${r}px)`,Iu(a=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",r>0||i>0),this._elements.header.classList.toggle("collapsed",r===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};m1=gJ([NT(3,Qe),NT(4,Xe)],m1);class pJ{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{const i=[...this._unused.values()];t=i.find(n=>this._itemData.get(n).getId()===e.getId())??i[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var _J=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},TT=function(s,e){return function(t,i){e(t,i,s)}};let _L=class extends K{constructor(e,t,i,n,o,r){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=n,this._parentContextKeyService=o,this._parentInstantiationService=r,this._scrollableElements=ze("div.scrollContent",[ze("div@content",{style:{overflow:"hidden"}}),ze("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Vd({forceIntegerValues:!1,scheduleAtNextAnimationFrame:l=>Tn(ue(this._element),l),smoothScrollDuration:100})),this._scrollableElement=this._register(new Ob(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=ze("div.monaco-component.multiDiffEditor",{},[ze("div",{},[this._scrollableElement.getDomNode()]),ze("div.placeholder@placeholder",{},[ze("div",[p("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new zP(this._element,void 0)),this._objectPool=this._register(new pJ(l=>{const c=this._instantiationService.createInstance(m1,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return c.setData(l),c})),this.scrollTop=Ot(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Ot(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=Ud(this,(l,c)=>{const h=this._viewModel.read(l);if(!h)return{items:[],getItem:g=>{throw new et}};const d=h.items.read(l),u=new Map;return{items:d.map(g=>{const m=c.add(new bJ(g,this._objectPool,this.scrollLeft,b=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+b})})),_=this._lastDocStates?.[m.getKey()];return _&&Gt(b=>{m.setViewState(_,b)}),u.set(g,m),m}),getItem:g=>u.get(g)}}),this._viewItems=this._viewItemsInfo.map(this,l=>l.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(l,c)=>l.reduce((h,d)=>h+d.contentHeight.read(c)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new qd([Xe,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(ne.inMultiDiffEditor.key,!0),this._register(eo((l,c)=>{const h=this._viewModel.read(l);if(h&&h.contextKeys)for(const[d,u]of Object.entries(h.contextKeys)){const f=this._contextKeyService.createKey(d,void 0);f.set(u),c.add(ve(()=>f.reset()))}}));const a=this._parentContextKeyService.createKey(ne.multiDiffEditorAllCollapsed.key,!1);this._register(Ze(l=>{const c=this._viewModel.read(l);if(c){const h=c.items.read(l).every(d=>d.collapsed.read(l));a.set(h)}})),this._register(Ze(l=>{const c=this._dimension.read(l);this._sizeObserver.observe(c)})),this._register(Ze(l=>{const c=this._viewItems.read(l);this._elements.placeholder.classList.toggle("visible",c.length===0)})),this._scrollableElements.content.style.position="relative",this._register(Ze(l=>{const c=this._sizeObserver.height.read(l);this._scrollableElements.root.style.height=`${c}px`;const h=this._totalHeight.read(l);this._scrollableElements.content.style.height=`${h}px`;const d=this._sizeObserver.width.read(l);let u=d;const f=this._viewItems.read(l),g=CR(f,Ns(m=>m.maxScroll.read(l).maxScroll,Ta));if(g){const m=g.maxScroll.read(l);u=d+m.maxScroll}this._scrollableElement.setScrollDimensions({width:d,height:c,scrollHeight:h,scrollWidth:u})})),e.replaceChildren(this._elements.root),this._register(ve(()=>{e.replaceChildren()})),this._register(this._register(Ze(l=>{Iu(c=>{this.render(l)})})))}render(e){const t=this.scrollTop.read(e);let i=0,n=0,o=0;const r=this._sizeObserver.height.read(e),a=ke.ofStartAndLength(t,r),l=this._sizeObserver.width.read(e);for(const c of this._viewItems.read(e)){const h=c.contentHeight.read(e),d=Math.min(h,r),u=ke.ofStartAndLength(n,d),f=ke.ofStartAndLength(o,h);if(f.isBefore(a))i-=h-d,c.hide();else if(f.isAfter(a))c.hide();else{const g=Math.max(0,Math.min(a.start-f.start,h-d));i-=g;const m=ke.ofStartAndLength(t+i,r);c.render(u,g,l,m)}n+=d+this._spaceBetweenPx,o+=h+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};_L=_J([TT(4,Xe),TT(5,Qe)],_L);class bJ extends K{constructor(e,t,i,n){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=n,this._templateRef=this._register(HA(this,void 0)),this.contentHeight=ye(this,o=>this._templateRef.read(o)?.object.contentHeight?.read(o)??this.viewModel.lastTemplateData.read(o).contentHeight),this.maxScroll=ye(this,o=>this._templateRef.read(o)?.object.maxScroll.read(o)??{maxScroll:0,scrollWidth:0}),this.template=ye(this,o=>this._templateRef.read(o)?.object),this._isHidden=We(this,!1),this._isFocused=ye(this,o=>this.template.read(o)?.isFocused.read(o)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(Ze(o=>{const r=this._scrollLeft.read(o);this._templateRef.read(o)?.object.setScrollLeft(r)})),this._register(Ze(o=>{const r=this._templateRef.read(o);!r||!this._isHidden.read(o)||r.object.isFocused.read(o)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),n=e.selections?.map(tt.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:n},t);const o=this._templateRef.get();o&&n&&o.object.editor.setSelections(n)}_updateTemplateData(e){const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){const e=this._templateRef.get();e&&Gt(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,n){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new mJ(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);const r=this.viewModel.lastTemplateData.get().selections;r&&o.object.editor.setSelections(r)}o.object.render(e,i,t,n)}}N("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},p("multiDiffEditor.headerBackground","The background color of the diff editor's header"));N("multiDiffEditor.background",io,p("multiDiffEditor.background","The background color of the multi file diff editor"));N("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},p("multiDiffEditor.border","The border color of the multi file diff editor"));var CJ=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},wJ=function(s,e){return function(t,i){e(t,i,s)}};let bL=class extends K{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=We(this,void 0),this._viewModel=We(this,void 0),this._widgetImpl=Ud(this,(n,o)=>(ys(m1,n),o.add(this._instantiationService.createInstance(ys(_L,n),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(Ub(this._widgetImpl))}};bL=CJ([wJ(2,Qe)],bL);function vJ(s,e,t){return fe.initialize(t||{}).createInstance(mL,s,e)}function SJ(s){return fe.get(Qt).onCodeEditorAdd(t=>{s(t)})}function yJ(s){return fe.get(Qt).onDiffEditorAdd(t=>{s(t)})}function LJ(){return fe.get(Qt).listCodeEditors()}function kJ(){return fe.get(Qt).listDiffEditors()}function xJ(s,e,t){return fe.initialize(t||{}).createInstance(pL,s,e)}function DJ(s,e){const t=fe.initialize(e||{});return new bL(s,{},t)}function EJ(s){if(typeof s.id!="string"||typeof s.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Oi.registerCommand(s.id,s.run)}function IJ(s){if(typeof s.id!="string"||typeof s.label!="string"||typeof s.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=$e.deserialize(s.precondition),t=(n,...o)=>za.runEditorCommand(n,o,e,(r,a,l)=>Promise.resolve(s.run(a,...l))),i=new ae;if(i.add(Oi.registerCommand(s.id,t)),s.contextMenuGroupId){const n={command:{id:s.id,title:s.label},when:e,group:s.contextMenuGroupId,order:s.contextMenuOrder||0};i.add(Ao.appendMenuItem(fi.EditorContext,n))}if(Array.isArray(s.keybindings)){const n=fe.get(Ti);if(!(n instanceof Md))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const o=$e.and(e,$e.deserialize(s.keybindingContext));i.add(n.addDynamicKeybindings(s.keybindings.map(r=>({keybinding:r,command:s.id,when:o}))))}}return i}function NJ(s){return JP([s])}function JP(s){const e=fe.get(Ti);return e instanceof Md?e.addDynamicKeybindings(s.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:$e.deserialize(t.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),K.None)}function TJ(s,e,t){const i=fe.get(gi),n=i.getLanguageIdByMimeType(e)||e;return XP(fe.get(Qi),i,s,n,t)}function MJ(s,e){const t=fe.get(gi),i=t.getLanguageIdByMimeType(e)||e||Ts;s.setLanguage(t.createById(i))}function RJ(s,e,t){s&&fe.get(Hc).changeOne(e,s.uri,t)}function AJ(s){fe.get(Hc).changeAll(s,[])}function PJ(s){return fe.get(Hc).read(s)}function OJ(s){return fe.get(Hc).onMarkerChanged(s)}function FJ(s){return fe.get(Qi).getModel(s)}function BJ(){return fe.get(Qi).getModels()}function WJ(s){return fe.get(Qi).onModelAdded(s)}function VJ(s){return fe.get(Qi).onModelRemoved(s)}function HJ(s){return fe.get(Qi).onModelLanguageChanged(t=>{s({model:t.model,oldLanguage:t.oldLanguageId})})}function zJ(s){return bG(fe.get(Qi),s)}function UJ(s,e){const t=fe.get(gi),i=fe.get(Fs);return Rx.colorizeElement(i,t,s,e).then(()=>{i.registerEditorContainer(s)})}function $J(s,e,t){const i=fe.get(gi);return fe.get(Fs).registerEditorContainer(ht.document.body),Rx.colorize(i,s,e,t)}function KJ(s,e,t=4){return fe.get(Fs).registerEditorContainer(ht.document.body),Rx.colorizeModelLine(s,e,t)}function qJ(s){const e=qt.get(s);return e||{getInitialState:()=>Zf,tokenize:(t,i,n)=>MA(s,n)}}function jJ(s,e){qt.getOrCreate(e);const t=qJ(e),i=Fd(s),n=[];let o=t.getInitialState();for(let r=0,a=i.length;r{if(!i)return null;const o=t.options?.selection;let r;return o&&typeof o.endLineNumber=="number"&&typeof o.endColumn=="number"?r=o:o&&(r={lineNumber:o.startLineNumber,column:o.startColumn}),await s.openCodeEditor(i,t.resource,r)?i:null})}function eee(){return{create:vJ,getEditors:LJ,getDiffEditors:kJ,onDidCreateEditor:SJ,onDidCreateDiffEditor:yJ,createDiffEditor:xJ,addCommand:EJ,addEditorAction:IJ,addKeybindingRule:NJ,addKeybindingRules:JP,createModel:TJ,setModelLanguage:MJ,setModelMarkers:RJ,getModelMarkers:PJ,removeAllMarkers:AJ,onDidChangeMarkers:OJ,getModels:BJ,getModel:FJ,onDidCreateModel:WJ,onWillDisposeModel:VJ,onDidChangeModelLanguage:HJ,createWebWorker:zJ,colorizeElement:UJ,colorize:$J,colorizeModelLine:KJ,tokenize:jJ,defineTheme:GJ,setTheme:ZJ,remeasureFonts:YJ,registerCommand:QJ,registerLinkOpener:XJ,registerEditorOpener:JJ,AccessibilitySupport:QC,ContentWidgetPositionPreference:nw,CursorChangeReason:sw,DefaultEndOfLine:ow,EditorAutoIndentStrategy:aw,EditorOption:lw,EndOfLinePreference:cw,EndOfLineSequence:hw,MinimapPosition:vw,MinimapSectionHeaderStyle:Sw,MouseTargetType:yw,OverlayWidgetPositionPreference:xw,OverviewRulerLane:Dw,GlyphMarginLane:dw,RenderLineNumbersType:Nw,RenderMinimap:Tw,ScrollbarVisibility:Rw,ScrollType:Mw,TextEditorCursorBlinkingStyle:Ww,TextEditorCursorStyle:Vw,TrackedRangeStickiness:Hw,WrappingIndent:zw,InjectedTextCursorStops:gw,PositionAffinity:Iw,ShowLightbulbIconMode:Pw,ConfigurationChangedEvent:YT,BareFontInfo:Yl,FontInfo:av,TextModelResolvedOptions:ip,FindMatch:Hf,ApplyUpdateResult:Ou,EditorZoom:ma,createMultiFileDiffEditor:DJ,EditorType:Zg,EditorOptions:Ic}}function tee(s,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!s(t))return!1;return!0}function Gm(s,e){return typeof s=="boolean"?s:e}function MT(s,e){return typeof s=="string"?s:e}function iee(s){const e={};for(const t of s)e[t]=!0;return e}function RT(s,e=!1){e&&(s=s.map(function(i){return i.toLowerCase()}));const t=iee(s);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function CL(s,e,t){e=e.replace(/@@/g,"");let i=0,n;do n=!1,e=e.replace(/@(\w+)/g,function(r,a){n=!0;let l="";if(typeof s[a]=="string")l=s[a];else if(s[a]&&s[a]instanceof RegExp)l=s[a].source;else throw s[a]===void 0?wt(s,"language definition does not contain attribute '"+a+"', used at: "+e):wt(s,"attribute reference '"+a+"' must be a string, used at: "+e);return Al(l)?"":"(?:"+l+")"}),i++;while(n&&i<5);e=e.replace(/\x01/g,"@");const o=(s.ignoreCase?"i":"")+(s.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let a=null,l=null;return c=>(l&&a===c||(a=c,l=new RegExp(FG(s,e,c),o)),l)}return new RegExp(e,o)}function nee(s,e,t,i){if(i<0)return s;if(i=100){i=i-100;const n=t.split(".");if(n.unshift(t),i=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw wt(s,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw wt(s,"the next state must be a string value in rule: "+e);{let n=t.next;if(!/^(@pop|@push|@popall)$/.test(n)&&(n[0]==="@"&&(n=n.substr(1)),n.indexOf("$")<0&&!BG(s,Ca(s,n,"",[],""))))throw wt(s,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=n}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,s.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let n=0,o=t.length;n0&&i[0]==="^",this.name=this.name+": "+i,this.regex=CL(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=wL(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function e5(s,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={languageId:s,includeLF:Gm(e.includeLF,!1),noThrow:!1,maxStack:100,start:typeof e.start=="string"?e.start:null,ignoreCase:Gm(e.ignoreCase,!1),unicode:Gm(e.unicode,!1),tokenPostfix:MT(e.tokenPostfix,"."+s),defaultToken:MT(e.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},i=e;i.languageId=s,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function n(r,a,l){for(const c of l){let h=c.include;if(h){if(typeof h!="string")throw wt(t,"an 'include' attribute must be a string at: "+r);if(h[0]==="@"&&(h=h.substr(1)),!e.tokenizer[h])throw wt(t,"include target '"+h+"' is not defined at: "+r);n(r+"."+h,a,e.tokenizer[h])}else{const d=new oee(r);if(Array.isArray(c)&&c.length>=1&&c.length<=3)if(d.setRegex(i,c[0]),c.length>=3)if(typeof c[1]=="string")d.setAction(i,{token:c[1],next:c[2]});else if(typeof c[1]=="object"){const u=c[1];u.next=c[2],d.setAction(i,u)}else throw wt(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+r);else d.setAction(i,c[1]);else{if(!c.regex)throw wt(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+r);c.name&&typeof c.name=="string"&&(d.name=c.name),c.matchOnlyAtStart&&(d.matchOnlyAtLineStart=Gm(c.matchOnlyAtLineStart,!1)),d.setRegex(i,c.regex),d.setAction(i,c.action)}a.push(d)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw wt(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const r in e.tokenizer)if(e.tokenizer.hasOwnProperty(r)){t.start||(t.start=r);const a=e.tokenizer[r];t.tokenizer[r]=new Array,n("tokenizer."+r,t.tokenizer[r],a)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw wt(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const r of e.brackets){let a=r;if(a&&Array.isArray(a)&&a.length===3&&(a={token:a[2],open:a[0],close:a[1]}),a.open===a.close)throw wt(t,"open and close brackets in a 'brackets' attribute must be different: "+a.open+` hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")o.push({token:a.token+t.tokenPostfix,open:Vr(t,a.open),close:Vr(t,a.close)});else throw wt(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=o,t.noThrow=!0,t}function ree(s){Cd.registerLanguage(s)}function aee(){let s=[];return s=s.concat(Cd.getLanguages()),s}function lee(s){return fe.get(gi).languageIdCodec.encodeLanguageId(s)}function cee(s,e){return fe.withServices(()=>{const i=fe.get(gi).onDidRequestRichLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function hee(s,e){return fe.withServices(()=>{const i=fe.get(gi).onDidRequestBasicLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function dee(s,e){if(!fe.get(gi).isRegisteredLanguageId(s))throw new Error(`Cannot set configuration for unknown language ${s}`);return fe.get(qo).register(s,e,100)}class uee{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return vg.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new fb(n.tokens,n.endState)}}class vg{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let o=0,r=e.length;o0&&o[r-1]===u)continue;let f=d.startIndex;c===0?f=0:f{const i=await Promise.resolve(e.create());return i?fee(i)?i5(s,i):new dg(fe.get(gi),fe.get(Fs),s,e5(s,i),fe.get(Ft)):null});return qt.registerFactory(s,t)}function pee(s,e){if(!fe.get(gi).isRegisteredLanguageId(s))throw new Error(`Cannot set tokens provider for unknown language ${s}`);return t5(e)?oD(s,{create:()=>e}):qt.register(s,i5(s,e))}function _ee(s,e){const t=i=>new dg(fe.get(gi),fe.get(Fs),s,e5(s,i),fe.get(Ft));return t5(e)?oD(s,{create:()=>e}):qt.register(s,t(e))}function bee(s,e){return fe.get(at).referenceProvider.register(s,e)}function Cee(s,e){return fe.get(at).renameProvider.register(s,e)}function wee(s,e){return fe.get(at).newSymbolNamesProvider.register(s,e)}function vee(s,e){return fe.get(at).signatureHelpProvider.register(s,e)}function See(s,e){return fe.get(at).hoverProvider.register(s,{provideHover:async(i,n,o,r)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,o,r)).then(l=>{if(l)return!l.range&&a&&(l.range=new R(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),l.range||(l.range=new R(n.lineNumber,n.column,n.lineNumber,n.column)),l})}})}function yee(s,e){return fe.get(at).documentSymbolProvider.register(s,e)}function Lee(s,e){return fe.get(at).documentHighlightProvider.register(s,e)}function kee(s,e){return fe.get(at).linkedEditingRangeProvider.register(s,e)}function xee(s,e){return fe.get(at).definitionProvider.register(s,e)}function Dee(s,e){return fe.get(at).implementationProvider.register(s,e)}function Eee(s,e){return fe.get(at).typeDefinitionProvider.register(s,e)}function Iee(s,e){return fe.get(at).codeLensProvider.register(s,e)}function Nee(s,e,t){return fe.get(at).codeActionProvider.register(s,{providedCodeActionKinds:t?.providedCodeActionKinds,documentation:t?.documentation,provideCodeActions:(n,o,r,a)=>{const c=fe.get(Hc).read({resource:n.uri}).filter(h=>R.areIntersectingOrTouching(h,o));return e.provideCodeActions(n,o,{markers:c,only:r.only,trigger:r.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function Tee(s,e){return fe.get(at).documentFormattingEditProvider.register(s,e)}function Mee(s,e){return fe.get(at).documentRangeFormattingEditProvider.register(s,e)}function Ree(s,e){return fe.get(at).onTypeFormattingEditProvider.register(s,e)}function Aee(s,e){return fe.get(at).linkProvider.register(s,e)}function Pee(s,e){return fe.get(at).completionProvider.register(s,e)}function Oee(s,e){return fe.get(at).colorProvider.register(s,e)}function Fee(s,e){return fe.get(at).foldingRangeProvider.register(s,e)}function Bee(s,e){return fe.get(at).declarationProvider.register(s,e)}function Wee(s,e){return fe.get(at).selectionRangeProvider.register(s,e)}function Vee(s,e){return fe.get(at).documentSemanticTokensProvider.register(s,e)}function Hee(s,e){return fe.get(at).documentRangeSemanticTokensProvider.register(s,e)}function zee(s,e){return fe.get(at).inlineCompletionsProvider.register(s,e)}function Uee(s,e){return fe.get(at).inlineEditProvider.register(s,e)}function $ee(s,e){return fe.get(at).inlayHintsProvider.register(s,e)}function Kee(){return{register:ree,getLanguages:aee,onLanguage:cee,onLanguageEncountered:hee,getEncodedLanguageId:lee,setLanguageConfiguration:dee,setColorMap:mee,registerTokensProviderFactory:oD,setTokensProvider:pee,setMonarchTokensProvider:_ee,registerReferenceProvider:bee,registerRenameProvider:Cee,registerNewSymbolNameProvider:wee,registerCompletionItemProvider:Pee,registerSignatureHelpProvider:vee,registerHoverProvider:See,registerDocumentSymbolProvider:yee,registerDocumentHighlightProvider:Lee,registerLinkedEditingRangeProvider:kee,registerDefinitionProvider:xee,registerImplementationProvider:Dee,registerTypeDefinitionProvider:Eee,registerCodeLensProvider:Iee,registerCodeActionProvider:Nee,registerDocumentFormattingEditProvider:Tee,registerDocumentRangeFormattingEditProvider:Mee,registerOnTypeFormattingEditProvider:Ree,registerLinkProvider:Aee,registerColorProvider:Oee,registerFoldingRangeProvider:Fee,registerDeclarationProvider:Bee,registerSelectionRangeProvider:Wee,registerDocumentSemanticTokensProvider:Vee,registerDocumentRangeSemanticTokensProvider:Hee,registerInlineCompletionsProvider:zee,registerInlineEditProvider:Uee,registerInlayHintsProvider:$ee,DocumentHighlightKind:rw,CompletionItemKind:ew,CompletionItemTag:tw,CompletionItemInsertTextRule:JC,SymbolKind:Fw,SymbolTag:Bw,IndentAction:fw,CompletionTriggerKind:iw,SignatureHelpTriggerKind:Ow,InlayHintKind:mw,InlineCompletionTriggerKind:pw,InlineEditTriggerKind:_w,CodeActionTriggerType:XC,NewSymbolNameTag:Lw,NewSymbolNameTriggerKind:kw,PartialAcceptTriggerKind:Ew,HoverVerbosityAction:uw,FoldingRangeKind:ZC,SelectedSuggestionInfo:_7}}const rD=Be("IEditorCancelService"),n5=new he("cancellableOperation",!1,p("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));je(rD,class{constructor(){this._tokens=new WeakMap}add(s,e){let t=this._tokens.get(s);t||(t=s.invokeWithinContext(n=>{const o=n5.bindTo(n.get(Xe)),r=new Dn;return{key:o,tokens:r}}),this._tokens.set(s,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(s){const e=this._tokens.get(s);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class qee extends ao{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(rD).add(e,this))}dispose(){this._unregister(),super.dispose()}}Se(new class extends za{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:n5})}runEditorCommand(s,e){s.get(rD).cancel(e)}});class vL{constructor(e,t){if(this.flags=t,(this.flags&1)!==0){const i=e.getModel();this.modelVersionId=i?Ap("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!==0?this.position=e.getPosition():this.position=null,(this.flags&2)!==0?this.selection=e.getSelection():this.selection=null,(this.flags&8)!==0?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof vL))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new vL(e,this.flags))}}class s5 extends qee{constructor(e,t,i,n){super(e,n),this._listener=new ae,t&4&&this._listener.add(e.onDidChangeCursorPosition(o=>{(!i||!R.containsPosition(i,o.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(o=>{(!i||!R.containsRange(i,o.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(o=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(o=>this.cancel())),this._listener.add(e.onDidChangeModelContent(o=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class o5 extends ao{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}function Qa(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===Zg.ICodeEditor:!1}function jee(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===Zg.IDiffEditor:!1}function Gee(s){return!!s&&typeof s=="object"&&typeof s.onDidChangeActiveEditor=="function"}function Nse(s){return Qa(s)?s:jee(s)?s.getModifiedEditor():Gee(s)&&Qa(s.activeCodeEditor)?s.activeCodeEditor:null}class Sg{static _handleEolEdits(e,t){let i;const n=[];for(const o of t)typeof o.eol=="number"&&(i=o.eol),o.range&&typeof o.text=="string"&&n.push(o);return typeof i=="number"&&e.hasModel()&&e.getModel().pushEOL(i),n}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),n=i.validateRange(t.range);return i.getFullModelRange().equalsRange(n)}static execute(e,t,i){i&&e.pushUndoStop();const n=_g.capture(e),o=Sg._handleEolEdits(e,t);o.length===1&&Sg._isFullModelReplaceEdit(e,o[0])?e.executeEdits("formatEditsCommand",o.map(r=>cS.replace(R.lift(r.range),r.text))):e.executeEdits("formatEditsCommand",o.map(r=>cS.replaceMove(R.lift(r.range),r.text))),i&&e.pushUndoStop(),n.restoreRelativeVerticalPositionOfCursor(e)}}class AT{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class Zee{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(AT.toKey(e))}has(e){return this._set.has(AT.toKey(e))}}function r5(s,e,t){const i=[],n=new Zee,o=s.ordered(t);for(const a of o)i.push(a),a.extensionId&&n.add(a.extensionId);const r=e.ordered(t);for(const a of r){if(a.extensionId){if(n.has(a.extensionId))continue;n.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,c,h){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),c,h)}})}return i}const If=class If{static setFormatterSelector(e){return{dispose:If._selectors.unshift(e)}}static async select(e,t,i,n){if(e.length===0)return;const o=Ge.first(If._selectors);if(o)return await o(e,t,i,n)}};If._selectors=new Dn;let yg=If;async function Tse(s,e,t,i,n,o,r){const a=s.get(Qe),{documentRangeFormattingEditProvider:l}=s.get(at),c=Qa(e)?e.getModel():e,h=l.ordered(c),d=await yg.select(h,c,i,2);d&&(n.report(d),await a.invokeFunction(Yee,d,e,t,o,r))}async function Yee(s,e,t,i,n,o){const r=s.get(Vc),a=s.get(ps),l=s.get(jd);let c,h;Qa(t)?(c=t.getModel(),h=new s5(t,5,void 0,n)):(c=t,h=new o5(t,n));const d=[];let u=0;for(const b of g5(i).sort(R.compareRangesUsingStarts))u>0&&R.areIntersectingOrTouching(d[u-1],b)?d[u-1]=R.fromPositions(d[u-1].getStartPosition(),b.getEndPosition()):u=d.push(b);const f=async b=>{a.trace("[format][provideDocumentRangeFormattingEdits] (request)",e.extensionId?.value,b);const C=await e.provideDocumentRangeFormattingEdits(c,b,c.getFormattingOptions(),h.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",e.extensionId?.value,C),C},g=(b,C)=>{if(!b.length||!C.length)return!1;const v=b.reduce((w,y)=>R.plusRange(w,y.range),b[0].range);if(!C.some(w=>R.intersectRanges(v,w.range)))return!1;for(const w of b)for(const y of C)if(R.intersectRanges(w.range,y.range))return!0;return!1},m=[],_=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",e.extensionId?.value,d);const b=await e.provideDocumentRangesFormattingEdits(c,d,c.getFormattingOptions(),h.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",e.extensionId?.value,b),_.push(b)}else{for(const b of d){if(h.token.isCancellationRequested)return!0;_.push(await f(b))}for(let b=0;b({text:v.text,range:R.lift(v.range),forceMoveMarkers:!0})),v=>{for(const{range:w}of v)if(R.areIntersectingOrTouching(w,C))return[new tt(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn)];return null})}return l.playSignal(ks.format,{userGesture:o}),!0}async function Mse(s,e,t,i,n,o){const r=s.get(Qe),a=s.get(at),l=Qa(e)?e.getModel():e,c=r5(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),h=await yg.select(c,l,t,1);h&&(i.report(h),await r.invokeFunction(Qee,h,e,t,n,o))}async function Qee(s,e,t,i,n,o){const r=s.get(Vc),a=s.get(jd);let l,c;Qa(t)?(l=t.getModel(),c=new s5(t,5,void 0,n)):(l=t,c=new o5(t,n));let h;try{const d=await e.provideDocumentFormattingEdits(l,l.getFormattingOptions(),c.token);if(h=await r.computeMoreMinimalEdits(l.uri,d),c.token.isCancellationRequested)return!0}finally{c.dispose()}if(!h||h.length===0)return!1;if(Qa(t))Sg.execute(t,h,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:d}]=h,u=new tt(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn);l.pushEditOperations([u],h.map(f=>({text:f.text,range:R.lift(f.range),forceMoveMarkers:!0})),f=>{for(const{range:g}of f)if(R.areIntersectingOrTouching(g,u))return[new tt(g.startLineNumber,g.startColumn,g.endLineNumber,g.endColumn)];return null})}return a.playSignal(ks.format,{userGesture:o}),!0}async function Xee(s,e,t,i,n,o){const r=e.documentRangeFormattingEditProvider.ordered(t);for(const a of r){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,n,o)).catch(NL);if(cb(l))return await s.computeMoreMinimalEdits(t.uri,l)}}async function Jee(s,e,t,i,n){const o=r5(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const r of o){const a=await Promise.resolve(r.provideDocumentFormattingEdits(t,i,n)).catch(NL);if(cb(a))return await s.computeMoreMinimalEdits(t.uri,a)}}function ete(s,e,t,i,n,o,r){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,n,o,r)).catch(NL).then(l=>s.computeMoreMinimalEdits(t.uri,l))}Oi.registerCommand("_executeFormatRangeProvider",async function(s,...e){const[t,i,n]=e;Po(De.isUri(t)),Po(R.isIRange(i));const o=s.get(Tg),r=s.get(Vc),a=s.get(at),l=await o.createModelReference(t);try{return Xee(r,a,l.object.textEditorModel,R.lift(i),n,Ms.None)}finally{l.dispose()}});Oi.registerCommand("_executeFormatDocumentProvider",async function(s,...e){const[t,i]=e;Po(De.isUri(t));const n=s.get(Tg),o=s.get(Vc),r=s.get(at),a=await n.createModelReference(t);try{return Jee(o,r,a.object.textEditorModel,i,Ms.None)}finally{a.dispose()}});Oi.registerCommand("_executeFormatOnTypeProvider",async function(s,...e){const[t,i,n,o]=e;Po(De.isUri(t)),Po(W.isIPosition(i)),Po(typeof n=="string");const r=s.get(Tg),a=s.get(Vc),l=s.get(at),c=await r.createModelReference(t);try{return ete(a,l,c.object.textEditorModel,W.lift(i),n,o,Ms.None)}finally{c.dispose()}});Ic.wrappingIndent.defaultValue=0;Ic.glyphMargin.defaultValue=!1;Ic.autoIndent.defaultValue=3;Ic.overviewRulerLanes.defaultValue=2;yg.setFormatterSelector((s,e,t)=>Promise.resolve(s[0]));const on=uM();on.editor=eee();on.languages=Kee();const tte=on.CancellationTokenSource,ite=on.Emitter,nte=on.KeyCode,ste=on.KeyMod,ote=on.Position,rte=on.Range,ate=on.Selection,lte=on.SelectionDirection,cte=on.MarkerSeverity,hte=on.MarkerTag,dte=on.Uri,ute=on.Token,fte=on.editor,gte=on.languages,mte=globalThis.MonacoEnvironment;(mte?.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=on);typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const Rse=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:tte,Emitter:ite,KeyCode:nte,KeyMod:ste,MarkerSeverity:cte,MarkerTag:hte,Position:ote,Range:rte,Selection:ate,SelectionDirection:lte,Token:ute,Uri:dte,editor:fte,languages:gte},Symbol.toStringTag,{value:"Module"}));export{pe as $,S3 as A,Ge as B,$e as C,f1 as D,Gte as E,Si as F,$A as G,Sr as H,Ft as I,kH as J,KO as K,at as L,fi as M,yL as N,jp as O,W as P,Bie as Q,he as R,tt as S,Ie as T,De as U,ID as V,Jl as W,Ate as X,Ue as Y,$ as Z,J as _,Qt as a,ho as a$,Qe as a0,Ur as a1,Zw as a2,ae as a3,Xl as a4,Fk as a5,RA as a6,Q as a7,ci as a8,Vg as a9,hk as aA,Pd as aB,Z_ as aC,xZ as aD,NL as aE,ub as aF,Qi as aG,Ms as aH,KE as aI,o5 as aJ,ii as aK,cb as aL,Jn as aM,Xa as aN,Wa as aO,dt as aP,il as aQ,$a as aR,A as aS,sn as aT,Bte as aU,S$ as aV,Wg as aW,xx as aX,Ds as aY,te as aZ,zte as a_,za as aa,Se as ab,qn as ac,ve as ad,jS as ae,qh as af,ds as ag,Gr as ah,Ti as ai,eH as aj,lo as ak,kg as al,ek as am,gn as an,yM as ao,s5 as ap,ao as aq,DM as ar,Ba as as,MN as at,Pte as au,Ix as av,Gb as aw,wH as ax,Ep as ay,Rs as az,re as b,iz as b$,$d as b0,oA as b1,Be as b2,je as b3,Bf as b4,Wr as b5,Nc as b6,Mc as b7,nV as b8,ar as b9,DN as bA,Zr as bB,zp as bC,ue as bD,le as bE,uE as bF,bh as bG,Pb as bH,Os as bI,Qw as bJ,wr as bK,Or as bL,ze as bM,Fr as bN,Ze as bO,Yi as bP,Oc as bQ,Yk as bR,Ed as bS,Ene as bT,aL as bU,Jz as bV,Ot as bW,ye as bX,eo as bY,Ud as bZ,ED as b_,ut as ba,Hc as bb,zk as bc,jr as bd,ya as be,wh as bf,Yh as bg,u_ as bh,$r as bi,Bc as bj,tH as bk,Po as bl,Kb as bm,Pg as bn,hm as bo,ht as bp,uI as bq,Ql as br,tn as bs,X8 as bt,jn as bu,_g as bv,Vc as bw,Vne as bx,Z as by,Ke as bz,ne as c,bne as c$,Fte as c0,os as c1,qI as c2,nv as c3,wW as c4,sv as c5,vW as c6,XL as c7,co as c8,Ik as c9,to as cA,sk as cB,rv as cC,Dt as cD,wi as cE,$w as cF,Gn as cG,Ok as cH,ME as cI,Tg as cJ,CH as cK,UW as cL,rN as cM,zI as cN,Zz as cO,sV as cP,nc as cQ,Qh as cR,uq as cS,VS as cT,Ts as cU,GI as cV,Pie as cW,sN as cX,wc as cY,Gq as cZ,Go as c_,Zte as ca,gi as cb,Bg as cc,rV as cd,g5 as ce,xD as cf,Ns as cg,Ta as ch,qf as ci,SW as cj,yW as ck,nS as cl,Ve as cm,qo as cn,a1 as co,y5 as cp,EA as cq,O9 as cr,ov as cs,ca as ct,Og as cu,Ye as cv,Sc as cw,$t as cx,di as cy,eU as cz,Ao as d,jte as d$,Qq as d0,Jq as d1,Oo as d2,YD as d3,Ete as d4,_ne as d5,Qa as d6,Hu as d7,q8 as d8,Sa as d9,th as dA,VZ as dB,Zk as dC,UK as dD,$K as dE,KK as dF,rA as dG,sA as dH,ZK as dI,Oe as dJ,Zb as dK,_s as dL,QK as dM,JL as dN,Ng as dO,Ap as dP,N9 as dQ,JA as dR,e4 as dS,mn as dT,BT as dU,Rne as dV,QL as dW,wie as dX,bie as dY,Cie as dZ,Qte as d_,AD as da,cS as db,ui as dc,ng as dd,_ie as de,vd as df,PD as dg,Lie as dh,yie as di,Sie as dj,vie as dk,iA as dl,tA as dm,et as dn,qt as dp,In as dq,bd as dr,zu as ds,bb as dt,Fa as du,Kie as dv,j6 as dw,kie as dx,Rte as dy,wv as dz,p as e,NH as e$,ane as e0,FM as e1,vc as e2,Me as e3,Ch as e4,Bv as e5,ZC as e6,Xte as e7,hs as e8,Ii as e9,Is as eA,o$ as eB,c$ as eC,SI as eD,e$ as eE,Zt as eF,cne as eG,fn as eH,_R as eI,ak as eJ,Ka as eK,Ri as eL,yr as eM,HA as eN,Gt as eO,eI as eP,Hg as eQ,PW as eR,qie as eS,JT as eT,mie as eU,OL as eV,s7 as eW,y7 as eX,$ie as eY,Uie as eZ,xH as e_,Ad as ea,ma as eb,jd as ec,Tse as ed,eie as ee,ete as ef,ks as eg,Sg as eh,Mse as ei,ei as ej,Hte as ek,XF as el,JF as em,Fd as en,Hb as eo,Fc as ep,We as eq,ls as er,Eb as es,Pf as et,vi as eu,Tx as ev,Gd as ew,UL as ex,mc as ey,Pi as ez,Mg as f,n_ as f$,_te as f0,ps as f1,Gk as f2,Gie as f3,WH as f4,gd as f5,Ub as f6,Kk as f7,tie as f8,OC as f9,Rf as fA,Kg as fB,VM as fC,cn as fD,Wte as fE,pc as fF,Oie as fG,CR as fH,_7 as fI,Cg as fJ,So as fK,Zie as fL,XX as fM,FN as fN,Cse as fO,__ as fP,Ff as fQ,Lte as fR,sz as fS,jie as fT,vL as fU,cs as fV,Uw as fW,Yt as fX,cE as fY,pie as fZ,yk as f_,Mte as fa,ju as fb,DD as fc,Dn as fd,f5 as fe,h5 as ff,Xv as fg,Gf as fh,Aie as fi,BD as fj,Rie as fk,fD as fl,BR as fm,_d as fn,ai as fo,i4 as fp,Ek as fq,Vte as fr,h_ as fs,Es as ft,XR as fu,Kv as fv,fA as fw,qv as fx,bm as fy,Eie as fz,Zi as g,_k as g$,qa as g0,s_ as g1,io as g2,bW as g3,f4 as g4,pI as g5,A6 as g6,DP as g7,g4 as g8,Ec as g9,AX as gA,gT as gB,OD as gC,tI as gD,Ute as gE,AY as gF,jh as gG,Ya as gH,Pu as gI,jk as gJ,Ce as gK,wse as gL,nr as gM,ys as gN,ND as gO,Jx as gP,rne as gQ,Fg as gR,V6 as gS,eB as gT,tB as gU,J6 as gV,vt as gW,RD as gX,jo as gY,a_ as gZ,MD as g_,sse as ga,ose as gb,Wie as gc,Vi as gd,Tc as ge,hi as gf,Wx as gg,tse as gh,Fl as gi,IP as gj,Kw as gk,Ote as gl,er as gm,Fie as gn,xie as go,Die as gp,eA as gq,TD as gr,tL as gs,dT as gt,KP as gu,UA as gv,hT as gw,PX as gx,RX as gy,OX as gz,Oi as h,ZE as h$,R5 as h0,uk as h1,n6 as h2,fie as h3,fh as h4,ha as h5,kP as h6,Qs as h7,vte as h8,j_ as h9,cse as hA,Fs as hB,Gs as hC,Wk as hD,MA as hE,Zf as hF,qE as hG,A4 as hH,GE as hI,Nse as hJ,pd as hK,jE as hL,Ra as hM,Tte as hN,Nte as hO,GC as hP,Ite as hQ,Gp as hR,YE as hS,Eo as hT,Lp as hU,pA as hV,AW as hW,Mie as hX,l_ as hY,Qie as hZ,xA as h_,Te as ha,pt as hb,Cte as hc,TH as hd,Ws as he,UQ as hf,KQ as hg,$Q as hh,$F as hi,al as hj,Bu as hk,MR as hl,GT as hm,GL as hn,jee as ho,WF as hp,$R as hq,zV as hr,pne as hs,wd as ht,Ic as hu,nt as hv,Re as hw,ise as hx,dL as hy,b5 as hz,DA as i,QE as i0,nf as i1,ba as i2,Tb as i3,od as i4,rd as i5,tte as i6,ite as i7,nte as i8,ste as i9,cte as ia,hte as ib,ote as ic,rte as id,ate as ie,lte as ig,ute as ih,dte as ii,fte as ij,gte as ik,Yf as j,Xe as k,bte as l,Rse as m,tR as n,Yte as o,dk as p,N as q,Kte as r,K as s,Gi as t,R as u,ti as v,nh as w,st as x,xn as y,gc as z};