D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
build
/
Filename :
9862.45964dee621a8554a170.js
back
Copy
"use strict";(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[9862],{39076:At=>{At.exports=function(Be,m){return m||(m={}),Be&&(Be=String(Be.__esModule?Be.default:Be),/^['"].*['"]$/.test(Be)&&(Be=Be.slice(1,-1)),m.hash&&(Be+=m.hash),/["'() \t\n]|(%20)/.test(Be)||m.needQuotes?'"'.concat(Be.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):Be)}},53909:(At,Be,m)=>{m.r(Be),m.d(Be,{PixelRatio:()=>q,addMatchMediaChangeListener:()=>Z,getZoomFactor:()=>z,isAndroid:()=>D,isChrome:()=>b,isElectron:()=>E,isFirefox:()=>C,isSafari:()=>d,isStandalone:()=>K,isWebKit:()=>L,isWebkitWebView:()=>S});var k=m(86640),u=m(50149);class ie{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}ie.INSTANCE=new ie;class Q extends u.JT{constructor(){super(),this._onDidChange=this._register(new k.Q5),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(W){var A;(A=this._mediaQueryList)===null||A===void 0||A.removeEventListener("change",this._listener),this._mediaQueryList=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),W&&this._onDidChange.fire()}}class N extends u.JT{constructor(){super(),this._onDidChange=this._register(new k.Q5),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const W=this._register(new Q);this._register(W.onDidChange(()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)}))}get value(){return this._value}_getPixelRatio(){const W=document.createElement("canvas").getContext("2d"),A=window.devicePixelRatio||1,U=W.webkitBackingStorePixelRatio||W.mozBackingStorePixelRatio||W.msBackingStorePixelRatio||W.oBackingStorePixelRatio||W.backingStorePixelRatio||1;return A/U}}class ne{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=(0,u.dk)(new N)),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}}function Z(T,W){typeof T=="string"&&(T=window.matchMedia(T)),T.addEventListener("change",W)}const q=new ne;function z(){return ie.INSTANCE.getZoomFactor()}const y=navigator.userAgent,C=y.indexOf("Firefox")>=0,L=y.indexOf("AppleWebKit")>=0,b=y.indexOf("Chrome")>=0,d=!b&&y.indexOf("Safari")>=0,S=!b&&!d&&L,E=y.indexOf("Electron/")>=0,D=y.indexOf("Android")>=0;let x=!1;if(window.matchMedia){const T=window.matchMedia("(display-mode: standalone)");x=T.matches,Z(T,({matches:W})=>{x=W})}function K(){return x}},39910:(At,Be,m)=>{m.d(Be,{D:()=>ie});var k=m(53909),u=m(75874);const ie={clipboard:{writeText:u.tY||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:u.tY||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:(()=>u.tY||k.isStandalone()?0:navigator.keyboard||k.isSafari?1:2)(),touch:"ontouchstart"in window||navigator.maxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)}},14328:(At,Be,m)=>{m.d(Be,{P:()=>ie,g:()=>u});var k=m(37800);const u={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:k.v.text},ie={CurrentDragAndDropData:void 0}},22120:(At,Be,m)=>{m.d(Be,{$:()=>ri,$Z:()=>Di,Ay:()=>je,Ce:()=>vi,Cp:()=>Ui,D6:()=>me,DI:()=>ue,Dx:()=>ge,FK:()=>xe,Fx:()=>Ve,GQ:()=>x,H$:()=>Ei,I8:()=>$,IC:()=>A,If:()=>O,OO:()=>Fe,PO:()=>C,R3:()=>ni,Re:()=>dt,Ro:()=>Y,Uh:()=>Ae,Uw:()=>L,V3:()=>Ii,_0:()=>_t,_F:()=>Oe,_h:()=>ht,_q:()=>ft,dS:()=>tt,dp:()=>oe,eg:()=>Yt,fk:()=>Nt,go:()=>Ut,i:()=>J,jL:()=>he,jg:()=>ct,jt:()=>Ue,lI:()=>te,mc:()=>Ye,mu:()=>D,nm:()=>d,tw:()=>mt,uN:()=>ke,uU:()=>$e,vL:()=>Kt,vY:()=>Re,w:()=>ve,wY:()=>Se,wn:()=>rt,xQ:()=>de,zB:()=>Wt});var k=m(53909),u=m(39910),ie=m(21458),Q=m(98994),N=m(35230),ne=m(86640),Z=m(67902),q=m(50149),z=m(33073),y=m(75874);function C(st){for(;st.firstChild;)st.firstChild.remove()}function L(st){var bt;return(bt=st?.isConnected)!==null&&bt!==void 0?bt:!1}class b{constructor(bt,Zt,Ot,lt){this._node=bt,this._type=Zt,this._handler=Ot,this._options=lt||!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 d(st,bt,Zt,Ot){return new b(st,bt,Zt,Ot)}function S(st){return function(bt){return st(new Q.n(bt))}}function E(st){return function(bt){return st(new ie.y(bt))}}const D=function(bt,Zt,Ot,lt){let Xi=Ot;return Zt==="click"||Zt==="mousedown"?Xi=S(Ot):(Zt==="keydown"||Zt==="keypress"||Zt==="keyup")&&(Xi=E(Ot)),d(bt,Zt,Xi,lt)},x=function(bt,Zt,Ot){const lt=S(Zt);return T(bt,lt,Ot)},K=function(bt,Zt,Ot){const lt=S(Zt);return W(bt,lt,Ot)};function T(st,bt,Zt){return d(st,y.gn&&u.D.pointerEvents?mt.POINTER_DOWN:mt.MOUSE_DOWN,bt,Zt)}function W(st,bt,Zt){return d(st,platform.isIOS&&BrowserFeatures.pointerEvents?mt.POINTER_UP:mt.MOUSE_UP,bt,Zt)}function A(st,bt,Zt){let Ot=null;const lt=wn=>yt.fire(wn),Xi=()=>{Ot||(Ot=new b(st,bt,lt,Zt))},wi=()=>{Ot&&(Ot.dispose(),Ot=null)},yt=new ne.Q5({onFirstListenerAdd:Xi,onLastListenerRemove:wi});return yt}let U=null;function X(st){if(!U){const bt=Zt=>setTimeout(()=>Zt(new Date().getTime()),0);U=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||bt}return U.call(self,st)}let te,he;class _e{constructor(bt,Zt=0){this._runner=bt,this.priority=Zt,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(bt){(0,N.dL)(bt)}}static sort(bt,Zt){return Zt.priority-bt.priority}}(function(){let st=[],bt=null,Zt=!1,Ot=!1;const lt=()=>{for(Zt=!1,bt=st,st=[],Ot=!0;bt.length>0;)bt.sort(_e.sort),bt.shift().execute();Ot=!1};he=(Xi,wi=0)=>{const yt=new _e(Xi,wi);return st.push(yt),Zt||(Zt=!0,X(lt)),yt},te=(Xi,wi)=>{if(Ot){const yt=new _e(Xi,wi);return bt.push(yt),yt}else return he(Xi,wi)}})();function ge(st){return document.defaultView.getComputedStyle(st,null)}function me(st){if(st!==document.body)return new Y(st.clientWidth,st.clientHeight);if(y.gn&&window.visualViewport)return new Y(window.visualViewport.width,window.visualViewport.height);if(window.innerWidth&&window.innerHeight)return new Y(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientHeight)return new Y(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new Y(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class re{static convertToPixels(bt,Zt){return parseFloat(Zt)||0}static getDimension(bt,Zt,Ot){const lt=ge(bt);let Xi="0";return lt&&(lt.getPropertyValue?Xi=lt.getPropertyValue(Zt):Xi=lt.getAttribute(Ot)),re.convertToPixels(bt,Xi)}static getBorderLeftWidth(bt){return re.getDimension(bt,"border-left-width","borderLeftWidth")}static getBorderRightWidth(bt){return re.getDimension(bt,"border-right-width","borderRightWidth")}static getBorderTopWidth(bt){return re.getDimension(bt,"border-top-width","borderTopWidth")}static getBorderBottomWidth(bt){return re.getDimension(bt,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(bt){return re.getDimension(bt,"padding-left","paddingLeft")}static getPaddingRight(bt){return re.getDimension(bt,"padding-right","paddingRight")}static getPaddingTop(bt){return re.getDimension(bt,"padding-top","paddingTop")}static getPaddingBottom(bt){return re.getDimension(bt,"padding-bottom","paddingBottom")}static getMarginLeft(bt){return re.getDimension(bt,"margin-left","marginLeft")}static getMarginTop(bt){return re.getDimension(bt,"margin-top","marginTop")}static getMarginRight(bt){return re.getDimension(bt,"margin-right","marginRight")}static getMarginBottom(bt){return re.getDimension(bt,"margin-bottom","marginBottom")}}class Y{constructor(bt,Zt){this.width=bt,this.height=Zt}with(bt=this.width,Zt=this.height){return bt!==this.width||Zt!==this.height?new Y(bt,Zt):this}static is(bt){return typeof bt=="object"&&typeof bt.height=="number"&&typeof bt.width=="number"}static lift(bt){return bt instanceof Y?bt:new Y(bt.width,bt.height)}static equals(bt,Zt){return bt===Zt?!0:!bt||!Zt?!1:bt.width===Zt.width&&bt.height===Zt.height}}Y.None=new Y(0,0);function de(st){let bt=st.offsetParent,Zt=st.offsetTop,Ot=st.offsetLeft;for(;(st=st.parentNode)!==null&&st!==document.body&&st!==document.documentElement;){Zt-=st.scrollTop;const lt=Ee(st)?null:ge(st);lt&&(Ot-=lt.direction!=="rtl"?st.scrollLeft:-st.scrollLeft),st===bt&&(Ot+=re.getBorderLeftWidth(st),Zt+=re.getBorderTopWidth(st),Zt+=st.offsetTop,Ot+=st.offsetLeft,bt=st.offsetParent)}return{left:Ot,top:Zt}}function oe(st,bt,Zt){typeof bt=="number"&&(st.style.width=`${bt}px`),typeof Zt=="number"&&(st.style.height=`${Zt}px`)}function J(st){const bt=st.getBoundingClientRect();return{left:bt.left+ue.scrollX,top:bt.top+ue.scrollY,width:bt.width,height:bt.height}}function $(st){let bt=st,Zt=1;do{const Ot=ge(bt).zoom;Ot!=null&&Ot!=="1"&&(Zt*=Ot),bt=bt.parentElement}while(bt!==null&&bt!==document.documentElement);return Zt}const ue=new class{get scrollX(){return typeof window.scrollX=="number"?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft}get scrollY(){return typeof window.scrollY=="number"?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop}};function ve(st){const bt=re.getMarginLeft(st)+re.getMarginRight(st);return st.offsetWidth+bt}function xe(st){const bt=re.getBorderLeftWidth(st)+re.getBorderRightWidth(st),Zt=re.getPaddingLeft(st)+re.getPaddingRight(st);return st.offsetWidth-bt-Zt}function O(st){const bt=re.getBorderTopWidth(st)+re.getBorderBottomWidth(st),Zt=re.getPaddingTop(st)+re.getPaddingBottom(st);return st.offsetHeight-bt-Zt}function rt(st){const bt=re.getMarginTop(st)+re.getMarginBottom(st);return st.offsetHeight+bt}function ct(st,bt){for(;st;){if(st===bt)return!0;st=st.parentNode}return!1}function Ve(st,bt,Zt){for(;st&&st.nodeType===st.ELEMENT_NODE;){if(st.classList.contains(bt))return st;if(Zt){if(typeof Zt=="string"){if(st.classList.contains(Zt))return null}else if(st===Zt)return null}st=st.parentNode}return null}function $e(st,bt,Zt){return!!Ve(st,bt,Zt)}function Ee(st){return st&&!!st.host&&!!st.mode}function Fe(st){return!!je(st)}function je(st){for(;st.parentNode;){if(st===document.body)return null;st=st.parentNode}return Ee(st)?st:null}function Re(){let st=document.activeElement;for(;st?.shadowRoot;)st=st.shadowRoot.activeElement;return st}function tt(st=document.getElementsByTagName("head")[0]){const bt=document.createElement("style");return bt.type="text/css",bt.media="screen",st.appendChild(bt),bt}let at=null;function Dt(){return at||(at=tt()),at}function Et(st){var bt,Zt;return!((bt=st?.sheet)===null||bt===void 0)&&bt.rules?st.sheet.rules:!((Zt=st?.sheet)===null||Zt===void 0)&&Zt.cssRules?st.sheet.cssRules:[]}function Nt(st,bt,Zt=Dt()){!Zt||!bt||Zt.sheet.insertRule(st+"{"+bt+"}",0)}function ke(st,bt=Dt()){if(!bt)return;const Zt=Et(bt),Ot=[];for(let lt=0;lt<Zt.length;lt++)Zt[lt].selectorText.indexOf(st)!==-1&&Ot.push(lt);for(let lt=Ot.length-1;lt>=0;lt--)bt.sheet.deleteRule(Ot[lt])}function dt(st){return typeof HTMLElement=="object"?st instanceof HTMLElement:st&&typeof st=="object"&&st.nodeType===1&&typeof st.nodeName=="string"}const mt={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",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:k.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:k.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:k.isWebKit?"webkitAnimationIteration":"animationiteration"},Wt={stop:function(st,bt){st.preventDefault?st.preventDefault():st.returnValue=!1,bt&&(st.stopPropagation?st.stopPropagation():st.cancelBubble=!0)}};function Kt(st){const bt=[];for(let Zt=0;st&&st.nodeType===st.ELEMENT_NODE;Zt++)bt[Zt]=st.scrollTop,st=st.parentNode;return bt}function _t(st,bt){for(let Zt=0;st&&st.nodeType===st.ELEMENT_NODE;Zt++)st.scrollTop!==bt[Zt]&&(st.scrollTop=bt[Zt]),st=st.parentNode}class wt extends q.JT{constructor(bt){super(),this._onDidFocus=this._register(new ne.Q5),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new ne.Q5),this.onDidBlur=this._onDidBlur.event;let Zt=wt.hasFocusWithin(bt),Ot=!1;const lt=()=>{Ot=!1,Zt||(Zt=!0,this._onDidFocus.fire())},Xi=()=>{Zt&&(Ot=!0,window.setTimeout(()=>{Ot&&(Ot=!1,Zt=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{wt.hasFocusWithin(bt)!==Zt&&(Zt?Xi():lt())},this._register(d(bt,mt.FOCUS,lt,!0)),this._register(d(bt,mt.BLUR,Xi,!0)),this._register(d(bt,mt.FOCUS_IN,()=>this._refreshStateHandler())),this._register(d(bt,mt.FOCUS_OUT,()=>this._refreshStateHandler()))}static hasFocusWithin(bt){const Zt=je(bt),Ot=Zt?Zt.activeElement:document.activeElement;return ct(Ot,bt)}}function Ut(st){return new wt(st)}function ni(st,...bt){if(st.append(...bt),bt.length===1&&typeof bt[0]!="string")return bt[0]}function vi(st,bt){return st.insertBefore(bt,st.firstChild),bt}function Ye(st,...bt){st.innerText="",ni(st,...bt)}const Ct=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Pt;(function(st){st.HTML="http://www.w3.org/1999/xhtml",st.SVG="http://www.w3.org/2000/svg"})(Pt||(Pt={}));function ti(st,bt,Zt,...Ot){const lt=Ct.exec(bt);if(!lt)throw new Error("Bad use of emmet");Zt=Object.assign({},Zt||{});const Xi=lt[1]||"div";let wi;return st!==Pt.HTML?wi=document.createElementNS(st,Xi):wi=document.createElement(Xi),lt[3]&&(wi.id=lt[3]),lt[4]&&(wi.className=lt[4].replace(/\./g," ").trim()),Object.keys(Zt).forEach(yt=>{const wn=Zt[yt];typeof wn>"u"||(/^on\w+$/.test(yt)?wi[yt]=wn:yt==="selected"?wn&&wi.setAttribute(yt,"true"):wi.setAttribute(yt,wn))}),wi.append(...Ot),wi}function ri(st,bt,...Zt){return ti(Pt.HTML,st,bt,...Zt)}ri.SVG=function(st,bt,...Zt){return ti(Pt.SVG,st,bt,...Zt)};function Di(...st){for(const bt of st)bt.style.display="",bt.removeAttribute("aria-hidden")}function Ui(...st){for(const bt of st)bt.style.display="none",bt.setAttribute("aria-hidden","true")}function Ei(st){return Array.prototype.slice.call(document.getElementsByTagName(st),0)}function Ae(st){const bt=window.devicePixelRatio*st;return Math.max(1,Math.floor(bt))/window.devicePixelRatio}function Ii(st){window.open(st,"_blank","noopener")}function Ue(st){const bt=()=>{st(),Zt=he(bt)};let Zt=he(bt);return(0,q.OF)(()=>Zt.dispose())}z.WX.setPreferredWebSchema(/^https:/.test(window.location.href)?"https":"http");function Se(st){return st?`url('${z.Gi.asBrowserUri(st).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function ht(st){return`'${st.replace(/'/g,"%27")}'`}function Oe(st,bt=!1){const Zt=document.createElement("a");return Z.v5("afterSanitizeAttributes",Ot=>{for(const lt of["href","src"])if(Ot.hasAttribute(lt)){const Xi=Ot.getAttribute(lt);if(lt==="href"&&Xi.startsWith("#"))continue;if(Zt.href=Xi,!st.includes(Zt.protocol.replace(/:$/,""))){if(bt&<==="src"&&Zt.href.startsWith("data:"))continue;Ot.removeAttribute(lt)}}}),(0,q.OF)(()=>{Z.ok("afterSanitizeAttributes")})}class ft extends ne.Q5{constructor(){super(),this._subscriptions=new q.SL,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(d(window,"keydown",bt=>{if(bt.defaultPrevented)return;const Zt=new ie.y(bt);if(!(Zt.keyCode===6&&bt.repeat)){if(bt.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(bt.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(bt.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(bt.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(Zt.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=bt.altKey,this._keyStatus.ctrlKey=bt.ctrlKey,this._keyStatus.metaKey=bt.metaKey,this._keyStatus.shiftKey=bt.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=bt,this.fire(this._keyStatus))}},!0)),this._subscriptions.add(d(window,"keyup",bt=>{bt.defaultPrevented||(!bt.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!bt.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!bt.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!bt.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=bt.altKey,this._keyStatus.ctrlKey=bt.ctrlKey,this._keyStatus.metaKey=bt.metaKey,this._keyStatus.shiftKey=bt.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=bt,this.fire(this._keyStatus)))},!0)),this._subscriptions.add(d(document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),this._subscriptions.add(d(document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),this._subscriptions.add(d(document.body,"mousemove",bt=>{bt.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),this._subscriptions.add(d(window,"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 ft.instance||(ft.instance=new ft),ft.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class Yt extends q.JT{constructor(bt,Zt){super(),this.element=bt,this.callbacks=Zt,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this._register(d(this.element,mt.DRAG_ENTER,bt=>{this.counter++,this.dragStartTime=bt.timeStamp,this.callbacks.onDragEnter(bt)})),this._register(d(this.element,mt.DRAG_OVER,bt=>{var Zt,Ot;bt.preventDefault(),(Ot=(Zt=this.callbacks).onDragOver)===null||Ot===void 0||Ot.call(Zt,bt,bt.timeStamp-this.dragStartTime)})),this._register(d(this.element,mt.DRAG_LEAVE,bt=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave(bt))})),this._register(d(this.element,mt.DRAG_END,bt=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd(bt)})),this._register(d(this.element,mt.DROP,bt=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop(bt)}))}}const bi=/(?<tag>[\w\-]+)?(?:#(?<id>[\w\-]+))?(?<class>(?:\.(?:[\w\-]+))*)(?:@(?<name>(?:[\w\_])+))?/;function Gi(st,...bt){let Zt,Ot;Array.isArray(bt[0])?(Zt={},Ot=bt[0]):(Zt=bt[0]||{},Ot=bt[1]);const lt=bi.exec(st);if(!lt||!lt.groups)throw new Error("Bad use of h");const Xi=lt.groups.tag||"div",wi=document.createElement(Xi);lt.groups.id&&(wi.id=lt.groups.id),lt.groups.class&&(wi.className=lt.groups.class.replace(/\./g," ").trim());const yt={};if(lt.groups.name&&(yt[lt.groups.name]=wi),Ot)for(const wn of Ot)wn instanceof HTMLElement?wi.appendChild(wn):typeof wn=="string"?wi.append(wn):(Object.assign(yt,wn),wi.appendChild(wn.root));for(const[wn,on]of Object.entries(Zt))if(wn==="style")for(const[si,Ne]of Object.entries(on))wi.style.setProperty(Dn(si),typeof Ne=="number"?Ne+"px":""+Ne);else wn==="tabIndex"?wi.tabIndex=on:wi.setAttribute(Dn(wn),on.toString());return yt.root=wi,yt}function Dn(st){return st.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}},67902:(At,Be,m)=>{m.d(Be,{Nw:()=>mt,ok:()=>Ut,v5:()=>wt});/*! @license DOMPurify 2.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.1/LICENSE */function k(Ye){if(Array.isArray(Ye)){for(var Ct=0,Pt=Array(Ye.length);Ct<Ye.length;Ct++)Pt[Ct]=Ye[Ct];return Pt}else return Array.from(Ye)}var u=Object.hasOwnProperty,ie=Object.setPrototypeOf,Q=Object.isFrozen,N=Object.getPrototypeOf,ne=Object.getOwnPropertyDescriptor,Z=Object.freeze,q=Object.seal,z=Object.create,y=typeof Reflect<"u"&&Reflect,C=y.apply,L=y.construct;C||(C=function(Ct,Pt,ti){return Ct.apply(Pt,ti)}),Z||(Z=function(Ct){return Ct}),q||(q=function(Ct){return Ct}),L||(L=function(Ct,Pt){return new(Function.prototype.bind.apply(Ct,[null].concat(k(Pt))))});var b=U(Array.prototype.forEach),d=U(Array.prototype.pop),S=U(Array.prototype.push),E=U(String.prototype.toLowerCase),D=U(String.prototype.match),x=U(String.prototype.replace),K=U(String.prototype.indexOf),T=U(String.prototype.trim),W=U(RegExp.prototype.test),A=X(TypeError);function U(Ye){return function(Ct){for(var Pt=arguments.length,ti=Array(Pt>1?Pt-1:0),ri=1;ri<Pt;ri++)ti[ri-1]=arguments[ri];return C(Ye,Ct,ti)}}function X(Ye){return function(){for(var Ct=arguments.length,Pt=Array(Ct),ti=0;ti<Ct;ti++)Pt[ti]=arguments[ti];return L(Ye,Pt)}}function te(Ye,Ct){ie&&ie(Ye,null);for(var Pt=Ct.length;Pt--;){var ti=Ct[Pt];if(typeof ti=="string"){var ri=E(ti);ri!==ti&&(Q(Ct)||(Ct[Pt]=ri),ti=ri)}Ye[ti]=!0}return Ye}function he(Ye){var Ct=z(null),Pt=void 0;for(Pt in Ye)C(u,Ye,[Pt])&&(Ct[Pt]=Ye[Pt]);return Ct}function _e(Ye,Ct){for(;Ye!==null;){var Pt=ne(Ye,Ct);if(Pt){if(Pt.get)return U(Pt.get);if(typeof Pt.value=="function")return U(Pt.value)}Ye=N(Ye)}function ti(ri){return console.warn("fallback value for",ri),null}return ti}var ge=Z(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),me=Z(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),re=Z(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Y=Z(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),de=Z(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),oe=Z(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),J=Z(["#text"]),$=Z(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),ue=Z(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),ve=Z(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),xe=Z(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),O=q(/\{\{[\s\S]*|[\s\S]*\}\}/gm),rt=q(/<%[\s\S]*|[\s\S]*%>/gm),ct=q(/^data-[\-\w.\u00B7-\uFFFF]/),Ve=q(/^aria-[\-\w]+$/),$e=q(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ee=q(/^(?:\w+script|data):/i),Fe=q(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ye){return typeof Ye}:function(Ye){return Ye&&typeof Symbol=="function"&&Ye.constructor===Symbol&&Ye!==Symbol.prototype?"symbol":typeof Ye};function Re(Ye){if(Array.isArray(Ye)){for(var Ct=0,Pt=Array(Ye.length);Ct<Ye.length;Ct++)Pt[Ct]=Ye[Ct];return Pt}else return Array.from(Ye)}var tt=function(){return typeof window>"u"?null:window},at=function(Ct,Pt){if((typeof Ct>"u"?"undefined":je(Ct))!=="object"||typeof Ct.createPolicy!="function")return null;var ti=null,ri="data-tt-policy-suffix";Pt.currentScript&&Pt.currentScript.hasAttribute(ri)&&(ti=Pt.currentScript.getAttribute(ri));var Di="dompurify"+(ti?"#"+ti:"");try{return Ct.createPolicy(Di,{createHTML:function(Ei){return Ei}})}catch{return console.warn("TrustedTypes policy "+Di+" could not be created."),null}};function Dt(){var Ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:tt(),Ct=function($t){return Dt($t)};if(Ct.version="2.3.1",Ct.removed=[],!Ye||!Ye.document||Ye.document.nodeType!==9)return Ct.isSupported=!1,Ct;var Pt=Ye.document,ti=Ye.document,ri=Ye.DocumentFragment,Di=Ye.HTMLTemplateElement,Ui=Ye.Node,Ei=Ye.Element,Ae=Ye.NodeFilter,Ii=Ye.NamedNodeMap,Ue=Ii===void 0?Ye.NamedNodeMap||Ye.MozNamedAttrMap:Ii,Se=Ye.Text,ht=Ye.Comment,Oe=Ye.DOMParser,ft=Ye.trustedTypes,Yt=Ei.prototype,bi=_e(Yt,"cloneNode"),Gi=_e(Yt,"nextSibling"),Dn=_e(Yt,"childNodes"),st=_e(Yt,"parentNode");if(typeof Di=="function"){var bt=ti.createElement("template");bt.content&&bt.content.ownerDocument&&(ti=bt.content.ownerDocument)}var Zt=at(ft,Pt),Ot=Zt&&Kn?Zt.createHTML(""):"",lt=ti,Xi=lt.implementation,wi=lt.createNodeIterator,yt=lt.createDocumentFragment,wn=lt.getElementsByTagName,on=Pt.importNode,si={};try{si=he(ti).documentMode?ti.documentMode:{}}catch{}var Ne={};Ct.isSupported=typeof st=="function"&&Xi&&typeof Xi.createHTMLDocument<"u"&&si!==9;var be=O,Xe=rt,Rt=ct,Ht=Ve,Qt=Ee,ai=Fe,mi=$e,ci=null,qt=te({},[].concat(Re(ge),Re(me),Re(re),Re(de),Re(J))),li=null,xi=te({},[].concat(Re($),Re(ue),Re(ve),Re(xe))),Si=null,Pi=null,Ti=!0,en=!0,Fi=!1,gn=!1,Qi=!1,Oi=!1,Bi=!1,Wi=!1,an=!1,Ci=!0,Kn=!1,Vn=!0,Nn=!0,Rn=!1,$i={},Tn=null,qn=te({},["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"]),Ai=null,ts=te({},["audio","video","img","source","image","track"]),Ni=null,rs=te({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Yi="http://www.w3.org/1998/Math/MathML",hn="http://www.w3.org/2000/svg",Vi="http://www.w3.org/1999/xhtml",vn=Vi,Qn=!1,Ss=null,mn=ti.createElement("form"),Is=function($t){Ss&&Ss===$t||((!$t||(typeof $t>"u"?"undefined":je($t))!=="object")&&($t={}),$t=he($t),ci="ALLOWED_TAGS"in $t?te({},$t.ALLOWED_TAGS):qt,li="ALLOWED_ATTR"in $t?te({},$t.ALLOWED_ATTR):xi,Ni="ADD_URI_SAFE_ATTR"in $t?te(he(rs),$t.ADD_URI_SAFE_ATTR):rs,Ai="ADD_DATA_URI_TAGS"in $t?te(he(ts),$t.ADD_DATA_URI_TAGS):ts,Tn="FORBID_CONTENTS"in $t?te({},$t.FORBID_CONTENTS):qn,Si="FORBID_TAGS"in $t?te({},$t.FORBID_TAGS):{},Pi="FORBID_ATTR"in $t?te({},$t.FORBID_ATTR):{},$i="USE_PROFILES"in $t?$t.USE_PROFILES:!1,Ti=$t.ALLOW_ARIA_ATTR!==!1,en=$t.ALLOW_DATA_ATTR!==!1,Fi=$t.ALLOW_UNKNOWN_PROTOCOLS||!1,gn=$t.SAFE_FOR_TEMPLATES||!1,Qi=$t.WHOLE_DOCUMENT||!1,Wi=$t.RETURN_DOM||!1,an=$t.RETURN_DOM_FRAGMENT||!1,Ci=$t.RETURN_DOM_IMPORT!==!1,Kn=$t.RETURN_TRUSTED_TYPE||!1,Bi=$t.FORCE_BODY||!1,Vn=$t.SANITIZE_DOM!==!1,Nn=$t.KEEP_CONTENT!==!1,Rn=$t.IN_PLACE||!1,mi=$t.ALLOWED_URI_REGEXP||mi,vn=$t.NAMESPACE||Vi,gn&&(en=!1),an&&(Wi=!0),$i&&(ci=te({},[].concat(Re(J))),li=[],$i.html===!0&&(te(ci,ge),te(li,$)),$i.svg===!0&&(te(ci,me),te(li,ue),te(li,xe)),$i.svgFilters===!0&&(te(ci,re),te(li,ue),te(li,xe)),$i.mathMl===!0&&(te(ci,de),te(li,ve),te(li,xe))),$t.ADD_TAGS&&(ci===qt&&(ci=he(ci)),te(ci,$t.ADD_TAGS)),$t.ADD_ATTR&&(li===xi&&(li=he(li)),te(li,$t.ADD_ATTR)),$t.ADD_URI_SAFE_ATTR&&te(Ni,$t.ADD_URI_SAFE_ATTR),$t.FORBID_CONTENTS&&(Tn===qn&&(Tn=he(Tn)),te(Tn,$t.FORBID_CONTENTS)),Nn&&(ci["#text"]=!0),Qi&&te(ci,["html","head","body"]),ci.table&&(te(ci,["tbody"]),delete Si.tbody),Z&&Z($t),Ss=$t)},Sn=te({},["mi","mo","mn","ms","mtext"]),Ln=te({},["foreignobject","desc","title","annotation-xml"]),fo=te({},me);te(fo,re),te(fo,Y);var Ms=te({},de);te(Ms,oe);var As=function($t){var Ri=st($t);(!Ri||!Ri.tagName)&&(Ri={namespaceURI:Vi,tagName:"template"});var sn=E($t.tagName),Mn=E(Ri.tagName);if($t.namespaceURI===hn)return Ri.namespaceURI===Vi?sn==="svg":Ri.namespaceURI===Yi?sn==="svg"&&(Mn==="annotation-xml"||Sn[Mn]):!!fo[sn];if($t.namespaceURI===Yi)return Ri.namespaceURI===Vi?sn==="math":Ri.namespaceURI===hn?sn==="math"&&Ln[Mn]:!!Ms[sn];if($t.namespaceURI===Vi){if(Ri.namespaceURI===hn&&!Ln[Mn]||Ri.namespaceURI===Yi&&!Sn[Mn])return!1;var ms=te({},["title","style","font","a","script"]);return!Ms[sn]&&(ms[sn]||!fo[sn])}return!1},xt=function($t){S(Ct.removed,{element:$t});try{$t.parentNode.removeChild($t)}catch{try{$t.outerHTML=Ot}catch{$t.remove()}}},ds=function($t,Ri){try{S(Ct.removed,{attribute:Ri.getAttributeNode($t),from:Ri})}catch{S(Ct.removed,{attribute:null,from:Ri})}if(Ri.removeAttribute($t),$t==="is"&&!li[$t])if(Wi||an)try{xt(Ri)}catch{}else try{Ri.setAttribute($t,"")}catch{}},ys=function($t){var Ri=void 0,sn=void 0;if(Bi)$t="<remove></remove>"+$t;else{var Mn=D($t,/^[\r\n\t ]+/);sn=Mn&&Mn[0]}var ms=Zt?Zt.createHTML($t):$t;if(vn===Vi)try{Ri=new Oe().parseFromString(ms,"text/html")}catch{}if(!Ri||!Ri.documentElement){Ri=Xi.createDocument(vn,"template",null);try{Ri.documentElement.innerHTML=Qn?"":ms}catch{}}var ns=Ri.body||Ri.documentElement;return $t&&sn&&ns.insertBefore(ti.createTextNode(sn),ns.childNodes[0]||null),vn===Vi?wn.call(Ri,Qi?"html":"body")[0]:Qi?Ri.documentElement:ns},is=function($t){return wi.call($t.ownerDocument||$t,$t,Ae.SHOW_ELEMENT|Ae.SHOW_COMMENT|Ae.SHOW_TEXT,null,!1)},Us=function($t){return $t instanceof Se||$t instanceof ht?!1:typeof $t.nodeName!="string"||typeof $t.textContent!="string"||typeof $t.removeChild!="function"||!($t.attributes instanceof Ue)||typeof $t.removeAttribute!="function"||typeof $t.setAttribute!="function"||typeof $t.namespaceURI!="string"||typeof $t.insertBefore!="function"},vs=function($t){return(typeof Ui>"u"?"undefined":je(Ui))==="object"?$t instanceof Ui:$t&&(typeof $t>"u"?"undefined":je($t))==="object"&&typeof $t.nodeType=="number"&&typeof $t.nodeName=="string"},Ps=function($t,Ri,sn){Ne[$t]&&b(Ne[$t],function(Mn){Mn.call(Ct,Ri,sn,Ss)})},Gs=function($t){var Ri=void 0;if(Ps("beforeSanitizeElements",$t,null),Us($t)||D($t.nodeName,/[\u0080-\uFFFF]/))return xt($t),!0;var sn=E($t.nodeName);if(Ps("uponSanitizeElement",$t,{tagName:sn,allowedTags:ci}),!vs($t.firstElementChild)&&(!vs($t.content)||!vs($t.content.firstElementChild))&&W(/<[/\w]/g,$t.innerHTML)&&W(/<[/\w]/g,$t.textContent)||sn==="select"&&W(/<template/i,$t.innerHTML))return xt($t),!0;if(!ci[sn]||Si[sn]){if(Nn&&!Tn[sn]){var Mn=st($t)||$t.parentNode,ms=Dn($t)||$t.childNodes;if(ms&&Mn)for(var ns=ms.length,et=ns-1;et>=0;--et)Mn.insertBefore(bi(ms[et],!0),Gi($t))}return xt($t),!0}return $t instanceof Ei&&!As($t)||(sn==="noscript"||sn==="noembed")&&W(/<\/no(script|embed)/i,$t.innerHTML)?(xt($t),!0):(gn&&$t.nodeType===3&&(Ri=$t.textContent,Ri=x(Ri,be," "),Ri=x(Ri,Xe," "),$t.textContent!==Ri&&(S(Ct.removed,{element:$t.cloneNode()}),$t.textContent=Ri)),Ps("afterSanitizeElements",$t,null),!1)},Qs=function($t,Ri,sn){if(Vn&&(Ri==="id"||Ri==="name")&&(sn in ti||sn in mn))return!1;if(!(en&&!Pi[Ri]&&W(Rt,Ri))){if(!(Ti&&W(Ht,Ri))){if(!li[Ri]||Pi[Ri])return!1;if(!Ni[Ri]){if(!W(mi,x(sn,ai,""))){if(!((Ri==="src"||Ri==="xlink:href"||Ri==="href")&&$t!=="script"&&K(sn,"data:")===0&&Ai[$t])){if(!(Fi&&!W(Qt,x(sn,ai,"")))){if(sn)return!1}}}}}}return!0},as=function($t){var Ri=void 0,sn=void 0,Mn=void 0,ms=void 0;Ps("beforeSanitizeAttributes",$t,null);var ns=$t.attributes;if(ns){var et={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:li};for(ms=ns.length;ms--;){Ri=ns[ms];var w=Ri,F=w.name,M=w.namespaceURI;if(sn=T(Ri.value),Mn=E(F),et.attrName=Mn,et.attrValue=sn,et.keepAttr=!0,et.forceKeepAttr=void 0,Ps("uponSanitizeAttribute",$t,et),sn=et.attrValue,!et.forceKeepAttr&&(ds(F,$t),!!et.keepAttr)){if(W(/\/>/i,sn)){ds(F,$t);continue}gn&&(sn=x(sn,be," "),sn=x(sn,Xe," "));var ee=$t.nodeName.toLowerCase();if(Qs(ee,Mn,sn))try{M?$t.setAttributeNS(M,F,sn):$t.setAttribute(F,sn),d(Ct.removed)}catch{}}}Ps("afterSanitizeAttributes",$t,null)}},Wn=function pn($t){var Ri=void 0,sn=is($t);for(Ps("beforeSanitizeShadowDOM",$t,null);Ri=sn.nextNode();)Ps("uponSanitizeShadowNode",Ri,null),!Gs(Ri)&&(Ri.content instanceof ri&&pn(Ri.content),as(Ri));Ps("afterSanitizeShadowDOM",$t,null)};return Ct.sanitize=function(pn,$t){var Ri=void 0,sn=void 0,Mn=void 0,ms=void 0,ns=void 0;if(Qn=!pn,Qn&&(pn="<!-->"),typeof pn!="string"&&!vs(pn)){if(typeof pn.toString!="function")throw A("toString is not a function");if(pn=pn.toString(),typeof pn!="string")throw A("dirty is not a string, aborting")}if(!Ct.isSupported){if(je(Ye.toStaticHTML)==="object"||typeof Ye.toStaticHTML=="function"){if(typeof pn=="string")return Ye.toStaticHTML(pn);if(vs(pn))return Ye.toStaticHTML(pn.outerHTML)}return pn}if(Oi||Is($t),Ct.removed=[],typeof pn=="string"&&(Rn=!1),!Rn)if(pn instanceof Ui)Ri=ys("<!---->"),sn=Ri.ownerDocument.importNode(pn,!0),sn.nodeType===1&&sn.nodeName==="BODY"||sn.nodeName==="HTML"?Ri=sn:Ri.appendChild(sn);else{if(!Wi&&!gn&&!Qi&&pn.indexOf("<")===-1)return Zt&&Kn?Zt.createHTML(pn):pn;if(Ri=ys(pn),!Ri)return Wi?null:Ot}Ri&&Bi&&xt(Ri.firstChild);for(var et=is(Rn?pn:Ri);Mn=et.nextNode();)Mn.nodeType===3&&Mn===ms||Gs(Mn)||(Mn.content instanceof ri&&Wn(Mn.content),as(Mn),ms=Mn);if(ms=null,Rn)return pn;if(Wi){if(an)for(ns=yt.call(Ri.ownerDocument);Ri.firstChild;)ns.appendChild(Ri.firstChild);else ns=Ri;return Ci&&(ns=on.call(Pt,ns,!0)),ns}var w=Qi?Ri.outerHTML:Ri.innerHTML;return gn&&(w=x(w,be," "),w=x(w,Xe," ")),Zt&&Kn?Zt.createHTML(w):w},Ct.setConfig=function(pn){Is(pn),Oi=!0},Ct.clearConfig=function(){Ss=null,Oi=!1},Ct.isValidAttribute=function(pn,$t,Ri){Ss||Is({});var sn=E(pn),Mn=E($t);return Qs(sn,Mn,Ri)},Ct.addHook=function(pn,$t){typeof $t=="function"&&(Ne[pn]=Ne[pn]||[],S(Ne[pn],$t))},Ct.removeHook=function(pn){Ne[pn]&&d(Ne[pn])},Ct.removeHooks=function(pn){Ne[pn]&&(Ne[pn]=[])},Ct.removeAllHooks=function(){Ne={}},Ct}var Et=Dt(),Nt=null;const ke=Et.version,dt=Et.isSupported,mt=Et.sanitize,Wt=Et.setConfig,Kt=Et.clearConfig,_t=Et.isValidAttribute,wt=Et.addHook,Ut=Et.removeHook,ni=Et.removeHooks,vi=Et.removeAllHooks},79083:(At,Be,m)=>{m.d(Be,{Y:()=>u,p:()=>ie});var k=m(86640);class u{constructor(N,ne,Z){const q=z=>this.emitter.fire(z);this.emitter=new k.Q5({onFirstListenerAdd:()=>N.addEventListener(ne,q,Z),onLastListenerRemove:()=>N.removeEventListener(ne,q,Z)})}get event(){return this.emitter.event}dispose(){this.emitter.dispose()}}function ie(Q){return Q.preventDefault(),Q.stopPropagation(),Q}},35788:(At,Be,m)=>{m.d(Be,{X:()=>ie,Z:()=>k});class k{constructor(N){this.domNode=N,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",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(N){const ne=u(N);this._maxWidth!==ne&&(this._maxWidth=ne,this.domNode.style.maxWidth=this._maxWidth)}setWidth(N){const ne=u(N);this._width!==ne&&(this._width=ne,this.domNode.style.width=this._width)}setHeight(N){const ne=u(N);this._height!==ne&&(this._height=ne,this.domNode.style.height=this._height)}setTop(N){const ne=u(N);this._top!==ne&&(this._top=ne,this.domNode.style.top=this._top)}setLeft(N){const ne=u(N);this._left!==ne&&(this._left=ne,this.domNode.style.left=this._left)}setBottom(N){const ne=u(N);this._bottom!==ne&&(this._bottom=ne,this.domNode.style.bottom=this._bottom)}setRight(N){const ne=u(N);this._right!==ne&&(this._right=ne,this.domNode.style.right=this._right)}setFontFamily(N){this._fontFamily!==N&&(this._fontFamily=N,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(N){this._fontWeight!==N&&(this._fontWeight=N,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(N){const ne=u(N);this._fontSize!==ne&&(this._fontSize=ne,this.domNode.style.fontSize=this._fontSize)}setFontStyle(N){this._fontStyle!==N&&(this._fontStyle=N,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(N){this._fontFeatureSettings!==N&&(this._fontFeatureSettings=N,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setTextDecoration(N){this._textDecoration!==N&&(this._textDecoration=N,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(N){const ne=u(N);this._lineHeight!==ne&&(this._lineHeight=ne,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(N){const ne=u(N);this._letterSpacing!==ne&&(this._letterSpacing=ne,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(N){this._className!==N&&(this._className=N,this.domNode.className=this._className)}toggleClassName(N,ne){this.domNode.classList.toggle(N,ne),this._className=this.domNode.className}setDisplay(N){this._display!==N&&(this._display=N,this.domNode.style.display=this._display)}setPosition(N){this._position!==N&&(this._position=N,this.domNode.style.position=this._position)}setVisibility(N){this._visibility!==N&&(this._visibility=N,this.domNode.style.visibility=this._visibility)}setColor(N){this._color!==N&&(this._color=N,this.domNode.style.color=this._color)}setBackgroundColor(N){this._backgroundColor!==N&&(this._backgroundColor=N,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(N){this._layerHint!==N&&(this._layerHint=N,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(N){this._boxShadow!==N&&(this._boxShadow=N,this.domNode.style.boxShadow=N)}setContain(N){this._contain!==N&&(this._contain=N,this.domNode.style.contain=this._contain)}setAttribute(N,ne){this.domNode.setAttribute(N,ne)}removeAttribute(N){this.domNode.removeAttribute(N)}appendChild(N){this.domNode.appendChild(N.domNode)}removeChild(N){this.domNode.removeChild(N.domNode)}}function u(Q){return typeof Q=="number"?`${Q}px`:Q}function ie(Q){return new k(Q)}},37624:(At,Be,m)=>{m.d(Be,{BO:()=>ie,IY:()=>u,az:()=>Q});var k=m(22120);function u(y,C={}){const L=Q(C);return L.textContent=y,L}function ie(y,C={}){const L=Q(C);return ne(L,Z(y,!!C.renderCodeSegments),C.actionHandler,C.renderCodeSegments),L}function Q(y){const C=y.inline?"span":"div",L=document.createElement(C);return y.className&&(L.className=y.className),L}class N{constructor(C){this.source=C,this.index=0}eos(){return this.index>=this.source.length}next(){const C=this.peek();return this.advance(),C}peek(){return this.source[this.index]}advance(){this.index++}}function ne(y,C,L,b){let d;if(C.type===2)d=document.createTextNode(C.content||"");else if(C.type===3)d=document.createElement("b");else if(C.type===4)d=document.createElement("i");else if(C.type===7&&b)d=document.createElement("code");else if(C.type===5&&L){const S=document.createElement("a");L.disposables.add(k.mu(S,"click",E=>{L.callback(String(C.index),E)})),d=S}else C.type===8?d=document.createElement("br"):C.type===1&&(d=y);d&&y!==d&&y.appendChild(d),d&&Array.isArray(C.children)&&C.children.forEach(S=>{ne(d,S,L,b)})}function Z(y,C){const L={type:1,children:[]};let b=0,d=L;const S=[],E=new N(y);for(;!E.eos();){let D=E.next();const x=D==="\\"&&z(E.peek(),C)!==0;if(x&&(D=E.next()),!x&&q(D,C)&&D===E.peek()){E.advance(),d.type===2&&(d=S.pop());const K=z(D,C);if(d.type===K||d.type===5&&K===6)d=S.pop();else{const T={type:K,children:[]};K===5&&(T.index=b,b++),d.children.push(T),S.push(d),d=T}}else if(D===` `)d.type===2&&(d=S.pop()),d.children.push({type:8});else if(d.type!==2){const K={type:2,content:D};d.children.push(K),S.push(d),d=K}else d.content+=D}return d.type===2&&(d=S.pop()),S.length,L}function q(y,C){return z(y,C)!==0}function z(y,C){switch(y){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return C?7:0;default:return 0}}},26964:(At,Be,m)=>{m.d(Be,{C:()=>ie});var k=m(22120),u=m(50149);class ie{constructor(){this._hooks=new u.SL,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(N,ne){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const Z=this._onStopCallback;this._onStopCallback=null,N&&Z&&Z(ne)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(N,ne,Z,q,z){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=q,this._onStopCallback=z;let y=N;try{N.setPointerCapture(ne),this._hooks.add((0,u.OF)(()=>{N.releasePointerCapture(ne)}))}catch{y=window}this._hooks.add(k.nm(y,k.tw.POINTER_MOVE,C=>{if(C.buttons!==Z){this.stopMonitoring(!0);return}C.preventDefault(),this._pointerMoveCallback(C)})),this._hooks.add(k.nm(y,k.tw.POINTER_UP,C=>this.stopMonitoring(!0)))}}},21458:(At,Be,m)=>{m.d(Be,{y:()=>y});var k=m(53909),u=m(5276),ie=m(72407),Q=m(75874);function N(C){if(C.charCode){const b=String.fromCharCode(C.charCode).toUpperCase();return u.kL.fromString(b)}const L=C.keyCode;if(L===3)return 7;if(k.isFirefox){if(L===59)return 80;if(L===107)return 81;if(L===109)return 83;if(Q.dz&&L===224)return 57}else if(k.isWebKit){if(L===91)return 57;if(Q.dz&&L===93)return 57;if(!Q.dz&&L===92)return 57}return u.H_[L]||0}const ne=Q.dz?256:2048,Z=512,q=1024,z=Q.dz?2048:256;class y{constructor(L){this._standardKeyboardEventBrand=!0;const b=L;this.browserEvent=b,this.target=b.target,this.ctrlKey=b.ctrlKey,this.shiftKey=b.shiftKey,this.altKey=b.altKey,this.metaKey=b.metaKey,this.keyCode=N(b),this.code=b.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeybinding(){return this._asRuntimeKeybinding}equals(L){return this._asKeybinding===L}_computeKeybinding(){let L=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(L=this.keyCode);let b=0;return this.ctrlKey&&(b|=ne),this.altKey&&(b|=Z),this.shiftKey&&(b|=q),this.metaKey&&(b|=z),b|=L,b}_computeRuntimeKeybinding(){let L=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(L=this.keyCode),new ie.QC(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,L)}}},98994:(At,Be,m)=>{m.d(Be,{n:()=>Z,q:()=>q});var k=m(53909);let u=!1,ie=null;function Q(z){if(!z.parent||z.parent===z)return null;try{const y=z.location,C=z.parent.location;if(y.origin!=="null"&&C.origin!=="null"&&y.origin!==C.origin)return u=!0,null}catch{return u=!0,null}return z.parent}class N{static getSameOriginWindowChain(){if(!ie){ie=[];let y=window,C;do C=Q(y),C?ie.push({window:y,iframeElement:y.frameElement||null}):ie.push({window:y,iframeElement:null}),y=C;while(y)}return ie.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(y,C){if(!C||y===C)return{top:0,left:0};let L=0,b=0;const d=this.getSameOriginWindowChain();for(const S of d){if(L+=S.window.scrollY,b+=S.window.scrollX,S.window===C||!S.iframeElement)break;const E=S.iframeElement.getBoundingClientRect();L+=E.top,b+=E.left}return{top:L,left:b}}}var ne=m(75874);class Z{constructor(y){this.timestamp=Date.now(),this.browserEvent=y,this.leftButton=y.button===0,this.middleButton=y.button===1,this.rightButton=y.button===2,this.buttons=y.buttons,this.target=y.target,this.detail=y.detail||1,y.type==="dblclick"&&(this.detail=2),this.ctrlKey=y.ctrlKey,this.shiftKey=y.shiftKey,this.altKey=y.altKey,this.metaKey=y.metaKey,typeof y.pageX=="number"?(this.posx=y.pageX,this.posy=y.pageY):(this.posx=y.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=y.clientY+document.body.scrollTop+document.documentElement.scrollTop);const C=N.getPositionOfChildWindowRelativeToAncestorWindow(self,y.view);this.posx-=C.left,this.posy-=C.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class q{constructor(y,C=0,L=0){if(this.browserEvent=y||null,this.target=y?y.target||y.targetNode||y.srcElement:null,this.deltaY=L,this.deltaX=C,y){const b=y,d=y;if(typeof b.wheelDeltaY<"u")this.deltaY=b.wheelDeltaY/120;else if(typeof d.VERTICAL_AXIS<"u"&&d.axis===d.VERTICAL_AXIS)this.deltaY=-d.detail/3;else if(y.type==="wheel"){const S=y;S.deltaMode===S.DOM_DELTA_LINE?k.isFirefox&&!ne.dz?this.deltaY=-y.deltaY/3:this.deltaY=-y.deltaY:this.deltaY=-y.deltaY/40}if(typeof b.wheelDeltaX<"u")k.isSafari&&ne.ED?this.deltaX=-(b.wheelDeltaX/120):this.deltaX=b.wheelDeltaX/120;else if(typeof d.HORIZONTAL_AXIS<"u"&&d.axis===d.HORIZONTAL_AXIS)this.deltaX=-y.detail/3;else if(y.type==="wheel"){const S=y;S.deltaMode===S.DOM_DELTA_LINE?k.isFirefox&&!ne.dz?this.deltaX=-y.deltaX/3:this.deltaX=-y.deltaX:this.deltaX=-y.deltaX/40}this.deltaY===0&&this.deltaX===0&&y.wheelDelta&&(this.deltaY=y.wheelDelta/120)}}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation()}}},24640:(At,Be,m)=>{m.d(Be,{o:()=>Z,t:()=>ne});var k=m(22120),u=m(99359),ie=m(7379),Q=m(50149),N=function(q,z,y,C){var L=arguments.length,b=L<3?z:C===null?C=Object.getOwnPropertyDescriptor(z,y):C,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(q,z,y,C);else for(var S=q.length-1;S>=0;S--)(d=q[S])&&(b=(L<3?d(b):L>3?d(z,y,b):d(z,y))||b);return L>3&&b&&Object.defineProperty(z,y,b),b},ne;(function(q){q.Tap="-monaco-gesturetap",q.Change="-monaco-gesturechange",q.Start="-monaco-gesturestart",q.End="-monaco-gesturesend",q.Contextmenu="-monaco-gesturecontextmenu"})(ne||(ne={}));class Z extends Q.JT{constructor(){super(),this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(k.nm(document,"touchstart",z=>this.onTouchStart(z),{passive:!1})),this._register(k.nm(document,"touchend",z=>this.onTouchEnd(z))),this._register(k.nm(document,"touchmove",z=>this.onTouchMove(z),{passive:!1}))}static addTarget(z){return Z.isTouchDevice()?(Z.INSTANCE||(Z.INSTANCE=new Z),Z.INSTANCE.targets.push(z),{dispose:()=>{Z.INSTANCE.targets=Z.INSTANCE.targets.filter(y=>y!==z)}}):Q.JT.None}static ignoreTarget(z){return Z.isTouchDevice()?(Z.INSTANCE||(Z.INSTANCE=new Z),Z.INSTANCE.ignoreTargets.push(z),{dispose:()=>{Z.INSTANCE.ignoreTargets=Z.INSTANCE.ignoreTargets.filter(y=>y!==z)}}):Q.JT.None}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(z){const y=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let C=0,L=z.targetTouches.length;C<L;C++){const b=z.targetTouches.item(C);this.activeTouches[b.identifier]={id:b.identifier,initialTarget:b.target,initialTimeStamp:y,initialPageX:b.pageX,initialPageY:b.pageY,rollingTimestamps:[y],rollingPageX:[b.pageX],rollingPageY:[b.pageY]};const d=this.newGestureEvent(ne.Start,b.target);d.pageX=b.pageX,d.pageY=b.pageY,this.dispatchEvent(d)}this.dispatched&&(z.preventDefault(),z.stopPropagation(),this.dispatched=!1)}onTouchEnd(z){const y=Date.now(),C=Object.keys(this.activeTouches).length;for(let L=0,b=z.changedTouches.length;L<b;L++){const d=z.changedTouches.item(L);if(!this.activeTouches.hasOwnProperty(String(d.identifier))){console.warn("move of an UNKNOWN touch",d);continue}const S=this.activeTouches[d.identifier],E=Date.now()-S.initialTimeStamp;if(E<Z.HOLD_DELAY&&Math.abs(S.initialPageX-u.Gb(S.rollingPageX))<30&&Math.abs(S.initialPageY-u.Gb(S.rollingPageY))<30){const D=this.newGestureEvent(ne.Tap,S.initialTarget);D.pageX=u.Gb(S.rollingPageX),D.pageY=u.Gb(S.rollingPageY),this.dispatchEvent(D)}else if(E>=Z.HOLD_DELAY&&Math.abs(S.initialPageX-u.Gb(S.rollingPageX))<30&&Math.abs(S.initialPageY-u.Gb(S.rollingPageY))<30){const D=this.newGestureEvent(ne.Contextmenu,S.initialTarget);D.pageX=u.Gb(S.rollingPageX),D.pageY=u.Gb(S.rollingPageY),this.dispatchEvent(D)}else if(C===1){const D=u.Gb(S.rollingPageX),x=u.Gb(S.rollingPageY),K=u.Gb(S.rollingTimestamps)-S.rollingTimestamps[0],T=D-S.rollingPageX[0],W=x-S.rollingPageY[0],A=this.targets.filter(U=>S.initialTarget instanceof Node&&U.contains(S.initialTarget));this.inertia(A,y,Math.abs(T)/K,T>0?1:-1,D,Math.abs(W)/K,W>0?1:-1,x)}this.dispatchEvent(this.newGestureEvent(ne.End,S.initialTarget)),delete this.activeTouches[d.identifier]}this.dispatched&&(z.preventDefault(),z.stopPropagation(),this.dispatched=!1)}newGestureEvent(z,y){const C=document.createEvent("CustomEvent");return C.initEvent(z,!1,!0),C.initialTarget=y,C.tapCount=0,C}dispatchEvent(z){if(z.type===ne.Tap){const y=new Date().getTime();let C=0;y-this._lastSetTapCountTime>Z.CLEAR_TAP_COUNT_TIME?C=1:C=2,this._lastSetTapCountTime=y,z.tapCount=C}else(z.type===ne.Change||z.type===ne.Contextmenu)&&(this._lastSetTapCountTime=0);for(let y=0;y<this.ignoreTargets.length;y++)if(z.initialTarget instanceof Node&&this.ignoreTargets[y].contains(z.initialTarget))return;this.targets.forEach(y=>{z.initialTarget instanceof Node&&y.contains(z.initialTarget)&&(y.dispatchEvent(z),this.dispatched=!0)})}inertia(z,y,C,L,b,d,S,E){this.handle=k.jL(()=>{const D=Date.now(),x=D-y;let K=0,T=0,W=!0;C+=Z.SCROLL_FRICTION*x,d+=Z.SCROLL_FRICTION*x,C>0&&(W=!1,K=L*C*x),d>0&&(W=!1,T=S*d*x);const A=this.newGestureEvent(ne.Change);A.translationX=K,A.translationY=T,z.forEach(U=>U.dispatchEvent(A)),W||this.inertia(z,D,C,L,b+K,d,S,E+T)})}onTouchMove(z){const y=Date.now();for(let C=0,L=z.changedTouches.length;C<L;C++){const b=z.changedTouches.item(C);if(!this.activeTouches.hasOwnProperty(String(b.identifier))){console.warn("end of an UNKNOWN touch",b);continue}const d=this.activeTouches[b.identifier],S=this.newGestureEvent(ne.Change,d.initialTarget);S.translationX=b.pageX-u.Gb(d.rollingPageX),S.translationY=b.pageY-u.Gb(d.rollingPageY),S.pageX=b.pageX,S.pageY=b.pageY,this.dispatchEvent(S),d.rollingPageX.length>3&&(d.rollingPageX.shift(),d.rollingPageY.shift(),d.rollingTimestamps.shift()),d.rollingPageX.push(b.pageX),d.rollingPageY.push(b.pageY),d.rollingTimestamps.push(y)}this.dispatched&&(z.preventDefault(),z.stopPropagation(),this.dispatched=!1)}}Z.SCROLL_FRICTION=-.005,Z.HOLD_DELAY=700,Z.CLEAR_TAP_COUNT_TIME=400,N([ie.H],Z,"isTouchDevice",null)},20652:(At,Be,m)=>{m.d(Be,{Y:()=>L,g:()=>b});var k=m(53909),u=m(14328),ie=m(22120),Q=m(24640),N=m(25415),ne=m(2599),Z=m(50149),q=m(75874),z=m(4626),y=m(60796),C=m(88631);class L extends Z.JT{constructor(S,E,D={}){super(),this.options=D,this._context=S||this,this._action=E,E instanceof ne.aU&&this._register(E.onDidChange(x=>{this.element&&this.handleActionChangeEvent(x)}))}get action(){return this._action}handleActionChangeEvent(S){S.enabled!==void 0&&this.updateEnabled(),S.checked!==void 0&&this.updateChecked(),S.class!==void 0&&this.updateClass(),S.label!==void 0&&(this.updateLabel(),this.updateTooltip()),S.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new ne.Wi)),this._actionRunner}set actionRunner(S){this._actionRunner=S}getAction(){return this._action}isEnabled(){return this._action.enabled}setActionContext(S){this._context=S}render(S){const E=this.element=S;this._register(Q.o.addTarget(S));const D=this.options&&this.options.draggable;D&&(S.draggable=!0,k.isFirefox&&this._register((0,ie.nm)(S,ie.tw.DRAG_START,x=>{var K;return(K=x.dataTransfer)===null||K===void 0?void 0:K.setData(u.g.TEXT,this._action.label)}))),this._register((0,ie.nm)(E,Q.t.Tap,x=>this.onClick(x,!0))),this._register((0,ie.nm)(E,ie.tw.MOUSE_DOWN,x=>{D||ie.zB.stop(x,!0),this._action.enabled&&x.button===0&&E.classList.add("active")})),q.dz&&this._register((0,ie.nm)(E,ie.tw.CONTEXT_MENU,x=>{x.button===0&&x.ctrlKey===!0&&this.onClick(x)})),this._register((0,ie.nm)(E,ie.tw.CLICK,x=>{ie.zB.stop(x,!0),this.options&&this.options.isMenu||this.onClick(x)})),this._register((0,ie.nm)(E,ie.tw.DBLCLICK,x=>{ie.zB.stop(x,!0)})),[ie.tw.MOUSE_UP,ie.tw.MOUSE_OUT].forEach(x=>{this._register((0,ie.nm)(E,x,K=>{ie.zB.stop(K),E.classList.remove("active")}))})}onClick(S,E=!1){var D;ie.zB.stop(S,!0);const x=z.Jp(this._context)?!((D=this.options)===null||D===void 0)&&D.useEventAsContext?S:{preserveFocus:E}:this._context;this.actionRunner.run(this._action,x)}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(S){this.element&&(this.element.tabIndex=S?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getTooltip(){return this.getAction().tooltip}updateTooltip(){var S;if(!this.element)return;const E=(S=this.getTooltip())!==null&&S!==void 0?S:"";this.element.setAttribute("aria-label",E),this.options.hoverDelegate?(this.element.title="",this.customHover?this.customHover.update(E):(this.customHover=(0,N.g)(this.options.hoverDelegate,this.element,E),this._store.add(this.customHover))):this.element.title=E}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),super.dispose()}}class b extends L{constructor(S,E,D={}){super(S,E,D),this.options=D,this.options.icon=D.icon!==void 0?D.icon:!1,this.options.label=D.label!==void 0?D.label:!0,this.cssClass=""}render(S){super.render(S),this.element&&(this.label=(0,ie.R3)(this.element,(0,ie.$)("a.action-label"))),this.label&&(this._action.id===ne.Z0.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button")),this.options.label&&this.options.keybinding&&this.element&&((0,ie.R3)(this.element,(0,ie.$)("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(S){this.label&&(this.label.tabIndex=S?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.getAction().label)}getTooltip(){let S=null;return this.getAction().tooltip?S=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(S=this.getAction().label,this.options.keybinding&&(S=C.NC({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",S,this.options.keybinding))),S??void 0}updateClass(){var S;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getAction().class,this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):(S=this.label)===null||S===void 0||S.classList.remove("codicon")}updateEnabled(){var S,E;this.getAction().enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),(S=this.element)===null||S===void 0||S.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),(E=this.element)===null||E===void 0||E.classList.add("disabled"))}updateChecked(){this.label&&(this.getAction().checked?this.label.classList.add("checked"):this.label.classList.remove("checked"))}}},3732:(At,Be,m)=>{m.d(Be,{o:()=>y});var k=m(22120),u=m(21458),ie=m(20652),Q=m(2599),N=m(86640),ne=m(50149),Z=m(4626),q=m(60796),z=function(C,L,b,d){function S(E){return E instanceof b?E:new b(function(D){D(E)})}return new(b||(b=Promise))(function(E,D){function x(W){try{T(d.next(W))}catch(A){D(A)}}function K(W){try{T(d.throw(W))}catch(A){D(A)}}function T(W){W.done?E(W.value):S(W.value).then(x,K)}T((d=d.apply(C,L||[])).next())})};class y extends ne.JT{constructor(L,b={}){var d,S,E,D,x,K;super(),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new N.Q5),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new N.Q5({onFirstListenerAdd:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new N.Q5),this.onDidRun=this._onDidRun.event,this._onBeforeRun=this._register(new N.Q5),this.onBeforeRun=this._onBeforeRun.event,this.options=b,this._context=(d=b.context)!==null&&d!==void 0?d:null,this._orientation=(S=this.options.orientation)!==null&&S!==void 0?S:0,this._triggerKeys={keyDown:(D=(E=this.options.triggerKeys)===null||E===void 0?void 0:E.keyDown)!==null&&D!==void 0?D:!1,keys:(K=(x=this.options.triggerKeys)===null||x===void 0?void 0:x.keys)!==null&&K!==void 0?K:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new Q.Wi,this._register(this._actionRunner)),this._register(this._actionRunner.onDidRun(A=>this._onDidRun.fire(A))),this._register(this._actionRunner.onBeforeRun(A=>this._onBeforeRun.fire(A))),this._actionIds=[],this.viewItems=[],this.viewItemDisposables=new Map,this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",b.animated!==!1&&this.domNode.classList.add("animated");let T,W;switch(this._orientation){case 0:T=[15],W=[17];break;case 1:T=[16],W=[18],this.domNode.className+=" vertical";break}this._register(k.nm(this.domNode,k.tw.KEY_DOWN,A=>{const U=new u.y(A);let X=!0;const te=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;T&&(U.equals(T[0])||U.equals(T[1]))?X=this.focusPrevious():W&&(U.equals(W[0])||U.equals(W[1]))?X=this.focusNext():U.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():U.equals(14)?X=this.focusFirst():U.equals(13)?X=this.focusLast():U.equals(2)&&te instanceof ie.Y&&te.trapsArrowNavigation?X=this.focusNext():this.isTriggerKeyEvent(U)?this._triggerKeys.keyDown?this.doTrigger(U):this.triggerKeyDown=!0:X=!1,X&&(U.preventDefault(),U.stopPropagation())})),this._register(k.nm(this.domNode,k.tw.KEY_UP,A=>{const U=new u.y(A);this.isTriggerKeyEvent(U)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(U)),U.preventDefault(),U.stopPropagation()):(U.equals(2)||U.equals(1026))&&this.updateFocusedItem()})),this.focusTracker=this._register(k.go(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(k.vY()===this.domNode||!k.jg(k.vY(),this.domNode))&&(this._onDidBlur.fire(),this.focusedItem=void 0,this.previouslyFocusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),L.appendChild(this.domNode)}refreshRole(){this.length()>=2?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(L){if(this.focusable=L,this.focusable){const b=this.viewItems.find(d=>d instanceof ie.Y&&d.isEnabled());b instanceof ie.Y&&b.setFocusable(!0)}else this.viewItems.forEach(b=>{b instanceof ie.Y&&b.setFocusable(!1)})}isTriggerKeyEvent(L){let b=!1;return this._triggerKeys.keys.forEach(d=>{b=b||L.equals(d)}),b}updateFocusedItem(){for(let L=0;L<this.actionsList.children.length;L++){const b=this.actionsList.children[L];if(k.jg(k.vY(),b)){this.focusedItem=L;break}}}get context(){return this._context}set context(L){this._context=L,this.viewItems.forEach(b=>b.setActionContext(L))}get actionRunner(){return this._actionRunner}set actionRunner(L){L&&(this._actionRunner=L,this.viewItems.forEach(b=>b.actionRunner=L))}getContainer(){return this.domNode}push(L,b={}){const d=Array.isArray(L)?L:[L];let S=Z.hj(b.index)?b.index:null;d.forEach(E=>{const D=document.createElement("li");D.className="action-item",D.setAttribute("role","presentation");let x;this.options.actionViewItemProvider&&(x=this.options.actionViewItemProvider(E)),x||(x=new ie.g(this.context,E,Object.assign({hoverDelegate:this.options.hoverDelegate},b))),this.options.allowContextMenu||this.viewItemDisposables.set(x,k.nm(D,k.tw.CONTEXT_MENU,K=>{k.zB.stop(K,!0)})),x.actionRunner=this._actionRunner,x.setActionContext(this.context),x.render(D),this.focusable&&x instanceof ie.Y&&this.viewItems.length===0&&x.setFocusable(!0),S===null||S<0||S>=this.actionsList.children.length?(this.actionsList.appendChild(D),this.viewItems.push(x),this._actionIds.push(E.id)):(this.actionsList.insertBefore(D,this.actionsList.children[S]),this.viewItems.splice(S,0,x),this._actionIds.splice(S,0,E.id),S++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){(0,ne.B9)(this.viewItems),this.viewItemDisposables.forEach(L=>L.dispose()),this.viewItemDisposables.clear(),this.viewItems=[],this._actionIds=[],k.PO(this.actionsList),this.refreshRole()}length(){return this.viewItems.length}focus(L){let b=!1,d;if(L===void 0?b=!0:typeof L=="number"?d=L:typeof L=="boolean"&&(b=L),b&&typeof this.focusedItem>"u"){const S=this.viewItems.findIndex(E=>E.isEnabled());this.focusedItem=S===-1?void 0:S,this.updateFocus(void 0,void 0,!0)}else d!==void 0&&(this.focusedItem=d),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(L){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const b=this.focusedItem;let d;do{if(!L&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=b,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,d=this.viewItems[this.focusedItem]}while(this.focusedItem!==b&&(this.options.focusOnlyEnabledItems&&!d.isEnabled()||d.action.id===Q.Z0.ID));return this.updateFocus(),!0}focusPrevious(L){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const b=this.focusedItem;let d;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!L&&this.options.preventLoopNavigation)return this.focusedItem=b,!1;this.focusedItem=this.viewItems.length-1}d=this.viewItems[this.focusedItem]}while(this.focusedItem!==b&&(this.options.focusOnlyEnabledItems&&!d.isEnabled()||d.action.id===Q.Z0.ID));return this.updateFocus(!0),!0}updateFocus(L,b,d=!1){var S;typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:b}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((S=this.viewItems[this.previouslyFocusedItem])===null||S===void 0||S.blur());const E=this.focusedItem!==void 0&&this.viewItems[this.focusedItem];if(E){let D=!0;Z.mf(E.focus)||(D=!1),this.options.focusOnlyEnabledItems&&Z.mf(E.isEnabled)&&!E.isEnabled()&&(D=!1),E.action.id===Q.Z0.ID&&(D=!1),D?(d||this.previouslyFocusedItem!==this.focusedItem)&&(E.focus(L),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:b}),this.previouslyFocusedItem=void 0)}}doTrigger(L){if(typeof this.focusedItem>"u")return;const b=this.viewItems[this.focusedItem];if(b instanceof ie.Y){const d=b._context===null||b._context===void 0?L:b._context;this.run(b._action,d)}}run(L,b){return z(this,void 0,void 0,function*(){yield this._actionRunner.run(L,b)})}dispose(){(0,ne.B9)(this.viewItems),this.viewItems=[],this._actionIds=[],this.getContainer().remove(),super.dispose()}}},48063:(At,Be,m)=>{m.d(Be,{Z9:()=>C,i7:()=>L,wW:()=>y});var k=m(22120),u=m(75874),ie=m(99471);const Q=2e4;let N,ne,Z,q,z;function y(d){N=document.createElement("div"),N.className="monaco-aria-container";const S=()=>{const D=document.createElement("div");return D.className="monaco-alert",D.setAttribute("role","alert"),D.setAttribute("aria-atomic","true"),N.appendChild(D),D};ne=S(),Z=S();const E=()=>{const D=document.createElement("div");return D.className="monaco-status",D.setAttribute("role","complementary"),D.setAttribute("aria-live","polite"),D.setAttribute("aria-atomic","true"),N.appendChild(D),D};q=E(),z=E(),d.appendChild(N)}function C(d){N&&(ne.textContent!==d?(k.PO(Z),b(ne,d)):(k.PO(ne),b(Z,d)))}function L(d){N&&(u.dz?C(d):q.textContent!==d?(k.PO(z),b(q,d)):(k.PO(q),b(z,d)))}function b(d,S){k.PO(d),S.length>Q&&(S=S.substr(0,Q)),d.textContent=S,d.style.visibility="hidden",d.style.visibility="visible"}},82587:(At,Be,m)=>{m.d(Be,{a:()=>Q});var k=m(15324),u=m(41802),ie=m(94420);function Q(N){let ne=N.definition;for(;ne instanceof k.lA;)ne=ne.definition;return`.codicon-${N.id}:before { content: '${ne.fontCharacter}'; }`}},72738:(At,Be,m)=>{m.d(Be,{Z:()=>Z});var k=m(22120),u=m(80733),ie=m(2758),Q=m(34504),N=m(51498);const ne={badgeBackground:u.Il.fromHex("#4D4D4D"),badgeForeground:u.Il.fromHex("#FFFFFF")};class Z{constructor(z,y){this.count=0,this.options=y||Object.create(null),(0,ie.jB)(this.options,ne,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=(0,k.R3)(z,(0,k.$)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(z){this.count=z,this.render()}setTitleFormat(z){this.titleFormat=z,this.render()}render(){this.element.textContent=(0,Q.WU)(this.countFormat,this.count),this.element.title=(0,Q.WU)(this.titleFormat,this.count),this.applyStyles()}style(z){this.badgeBackground=z.badgeBackground,this.badgeForeground=z.badgeForeground,this.badgeBorder=z.badgeBorder,this.applyStyles()}applyStyles(){if(this.element){const z=this.badgeBackground?this.badgeBackground.toString():"",y=this.badgeForeground?this.badgeForeground.toString():"",C=this.badgeBorder?this.badgeBorder.toString():"";this.element.style.backgroundColor=z,this.element.style.color=y,this.element.style.borderWidth=C?"1px":"",this.element.style.borderStyle=C?"solid":"",this.element.style.borderColor=C}}}},40226:(At,Be,m)=>{m.d(Be,{V:()=>z});var k=m(22120),u=m(59275),ie=m(46658),Q=m(39436),N=m(86640),ne=m(98420),Z=m(88631);const q=Z.NC("defaultLabel","input");class z extends Q.${constructor(C,L,b,d){var S;super(),this._showOptionButtons=b,this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalToggles=[],this._onDidOptionChange=this._register(new N.Q5),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new N.Q5),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new N.Q5),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new N.Q5),this._onKeyUp=this._register(new N.Q5),this._onCaseSensitiveKeyDown=this._register(new N.Q5),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new N.Q5),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.contextViewProvider=L,this.placeholder=d.placeholder||"",this.validation=d.validation,this.label=d.label||q,this.inputActiveOptionBorder=d.inputActiveOptionBorder,this.inputActiveOptionForeground=d.inputActiveOptionForeground,this.inputActiveOptionBackground=d.inputActiveOptionBackground,this.inputBackground=d.inputBackground,this.inputForeground=d.inputForeground,this.inputBorder=d.inputBorder,this.inputValidationInfoBorder=d.inputValidationInfoBorder,this.inputValidationInfoBackground=d.inputValidationInfoBackground,this.inputValidationInfoForeground=d.inputValidationInfoForeground,this.inputValidationWarningBorder=d.inputValidationWarningBorder,this.inputValidationWarningBackground=d.inputValidationWarningBackground,this.inputValidationWarningForeground=d.inputValidationWarningForeground,this.inputValidationErrorBorder=d.inputValidationErrorBorder,this.inputValidationErrorBackground=d.inputValidationErrorBackground,this.inputValidationErrorForeground=d.inputValidationErrorForeground;const E=d.appendCaseSensitiveLabel||"",D=d.appendWholeWordsLabel||"",x=d.appendRegexLabel||"",K=d.history||[],T=!!d.flexibleHeight,W=!!d.flexibleWidth,A=d.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new ie.p(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:K,showHistoryHint:d.showHistoryHint,flexibleHeight:T,flexibleWidth:W,flexibleMaxHeight:A})),this.regex=this._register(new u.eH({appendTitle:x,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.regex.onChange(X=>{this._onDidOptionChange.fire(X),!X&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(X=>{this._onRegexKeyDown.fire(X)})),this.wholeWords=this._register(new u.Qx({appendTitle:D,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.wholeWords.onChange(X=>{this._onDidOptionChange.fire(X),!X&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new u.rk({appendTitle:E,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.caseSensitive.onChange(X=>{this._onDidOptionChange.fire(X),!X&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(X=>{this._onCaseSensitiveKeyDown.fire(X)}));const U=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,X=>{if(X.equals(15)||X.equals(17)||X.equals(9)){const te=U.indexOf(document.activeElement);if(te>=0){let he=-1;X.equals(17)?he=(te+1)%U.length:X.equals(15)&&(te===0?he=U.length-1:he=te-1),X.equals(9)?(U[te].blur(),this.inputBox.focus()):he>=0&&U[he].focus(),k.zB.stop(X,!0)}}}),this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this._showOptionButtons?"block":"none",this.controls.appendChild(this.caseSensitive.domNode),this.controls.appendChild(this.wholeWords.domNode),this.controls.appendChild(this.regex.domNode),this._showOptionButtons||(this.caseSensitive.domNode.style.display="none",this.wholeWords.domNode.style.display="none",this.regex.domNode.style.display="none");for(const X of(S=d?.additionalToggles)!==null&&S!==void 0?S:[])this._register(X),this.controls.appendChild(X.domNode),this._register(X.onChange(te=>{this._onDidOptionChange.fire(te),!te&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(X);this.additionalToggles.length>0&&(this.controls.style.display="block"),this.inputBox.paddingRight=(this._showOptionButtons?this.caseSensitive.width()+this.wholeWords.width()+this.regex.width():0)+this.additionalToggles.reduce((X,te)=>X+te.width(),0),this.domNode.appendChild(this.controls),C?.appendChild(this.domNode),this._register(k.nm(this.inputBox.inputElement,"compositionstart",X=>{this.imeSessionInProgress=!0})),this._register(k.nm(this.inputBox.inputElement,"compositionend",X=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,X=>this._onKeyDown.fire(X)),this.onkeyup(this.inputBox.inputElement,X=>this._onKeyUp.fire(X)),this.oninput(this.inputBox.inputElement,X=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,X=>this._onMouseDown.fire(X))}get onDidChange(){return this.inputBox.onDidChange}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable();for(const C of this.additionalToggles)C.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable();for(const C of this.additionalToggles)C.disable()}setFocusInputOnOptionClick(C){this.fixFocusOnOptionClickEnabled=C}setEnabled(C){C?this.enable():this.disable()}getValue(){return this.inputBox.value}setValue(C){this.inputBox.value!==C&&(this.inputBox.value=C)}style(C){this.inputActiveOptionBorder=C.inputActiveOptionBorder,this.inputActiveOptionForeground=C.inputActiveOptionForeground,this.inputActiveOptionBackground=C.inputActiveOptionBackground,this.inputBackground=C.inputBackground,this.inputForeground=C.inputForeground,this.inputBorder=C.inputBorder,this.inputValidationInfoBackground=C.inputValidationInfoBackground,this.inputValidationInfoForeground=C.inputValidationInfoForeground,this.inputValidationInfoBorder=C.inputValidationInfoBorder,this.inputValidationWarningBackground=C.inputValidationWarningBackground,this.inputValidationWarningForeground=C.inputValidationWarningForeground,this.inputValidationWarningBorder=C.inputValidationWarningBorder,this.inputValidationErrorBackground=C.inputValidationErrorBackground,this.inputValidationErrorForeground=C.inputValidationErrorForeground,this.inputValidationErrorBorder=C.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const C={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.regex.style(C),this.wholeWords.style(C),this.caseSensitive.style(C);for(const b of this.additionalToggles)b.style(C);const L={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(L)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive.checked}setCaseSensitive(C){this.caseSensitive.checked=C}getWholeWords(){return this.wholeWords.checked}setWholeWords(C){this.wholeWords.checked=C}getRegex(){return this.regex.checked}setRegex(C){this.regex.checked=C,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(C){this.inputBox.showMessage(C)}clearMessage(){this.inputBox.hideMessage()}}},59275:(At,Be,m)=>{m.d(Be,{Qx:()=>q,eH:()=>z,rk:()=>Z});var k=m(94085),u=m(15324),ie=m(88631);const Q=ie.NC("caseDescription","Match Case"),N=ie.NC("wordsDescription","Match Whole Word"),ne=ie.NC("regexDescription","Use Regular Expression");class Z extends k.Z{constructor(C){super({icon:u.lA.caseSensitive,title:Q+C.appendTitle,isChecked:C.isChecked,inputActiveOptionBorder:C.inputActiveOptionBorder,inputActiveOptionForeground:C.inputActiveOptionForeground,inputActiveOptionBackground:C.inputActiveOptionBackground})}}class q extends k.Z{constructor(C){super({icon:u.lA.wholeWord,title:N+C.appendTitle,isChecked:C.isChecked,inputActiveOptionBorder:C.inputActiveOptionBorder,inputActiveOptionForeground:C.inputActiveOptionForeground,inputActiveOptionBackground:C.inputActiveOptionBackground})}}class z extends k.Z{constructor(C){super({icon:u.lA.regex,title:ne+C.appendTitle,isChecked:C.isChecked,inputActiveOptionBorder:C.inputActiveOptionBorder,inputActiveOptionForeground:C.inputActiveOptionForeground,inputActiveOptionBackground:C.inputActiveOptionBackground})}}},79091:(At,Be,m)=>{m.d(Be,{q:()=>Q});var k=m(22120),u=m(41184),ie=m(2758);class Q{constructor(ne,Z){var q;this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=(q=Z?.supportIcons)!==null&&q!==void 0?q:!1,this.domNode=k.R3(ne,k.$("span.monaco-highlighted-label"))}get element(){return this.domNode}set(ne,Z=[],q="",z){ne||(ne=""),z&&(ne=Q.escapeNewLines(ne,Z)),!(this.didEverRender&&this.text===ne&&this.title===q&&ie.fS(this.highlights,Z))&&(this.text=ne,this.title=q,this.highlights=Z,this.render())}render(){const ne=[];let Z=0;for(const q of this.highlights){if(q.end===q.start)continue;if(Z<q.start){const C=this.text.substring(Z,q.start);ne.push(k.$("span",void 0,...this.supportIcons?(0,u.T)(C):[C])),Z=q.end}const z=this.text.substring(q.start,q.end),y=k.$("span.highlight",void 0,...this.supportIcons?(0,u.T)(z):[z]);q.extraClasses&&y.classList.add(...q.extraClasses),ne.push(y),Z=q.end}if(Z<this.text.length){const q=this.text.substring(Z);ne.push(k.$("span",void 0,...this.supportIcons?(0,u.T)(q):[q]))}k.mc(this.domNode,...ne),this.title?this.domNode.title=this.title:this.domNode.removeAttribute("title"),this.didEverRender=!0}static escapeNewLines(ne,Z){let q=0,z=0;return ne.replace(/\r\n|\r|\n/g,(y,C)=>{z=y===`\r `?-1:0,C+=q;for(const L of Z)L.end<=C||(L.start>=C&&(L.start+=z),L.end>=C&&(L.end+=z));return q+=z,"\u23CE"})}}},43387:(At,Be,m)=>{m.d(Be,{g:()=>z});var k=m(79721),u=m(22120),ie=m(79091),Q=m(25415),N=m(50149),ne=m(2758),Z=m(50996);class q{constructor(d){this._element=d}get element(){return this._element}set textContent(d){this.disposed||d===this._textContent||(this._textContent=d,this._element.textContent=d)}set className(d){this.disposed||d===this._className||(this._className=d,this._element.className=d)}set empty(d){this.disposed||d===this._empty||(this._empty=d,this._element.style.marginLeft=d?"0":"")}dispose(){this.disposed=!0}}class z extends N.JT{constructor(d,S){super(),this.customHovers=new Map,this.domNode=this._register(new q(u.R3(d,u.$(".monaco-icon-label")))),this.labelContainer=u.R3(this.domNode.element,u.$(".monaco-icon-label-container"));const E=u.R3(this.labelContainer,u.$("span.monaco-icon-name-container"));this.descriptionContainer=this._register(new q(u.R3(this.labelContainer,u.$("span.monaco-icon-description-container")))),S?.supportHighlights||S?.supportIcons?this.nameNode=new L(E,!!S.supportIcons):this.nameNode=new y(E),S?.supportDescriptionHighlights?this.descriptionNodeFactory=()=>new ie.q(u.R3(this.descriptionContainer.element,u.$("span.label-description")),{supportIcons:!!S.supportIcons}):this.descriptionNodeFactory=()=>this._register(new q(u.R3(this.descriptionContainer.element,u.$("span.label-description")))),this.hoverDelegate=S?.hoverDelegate}get element(){return this.domNode.element}setLabel(d,S,E){const D=["monaco-icon-label"];E&&(E.extraClasses&&D.push(...E.extraClasses),E.italic&&D.push("italic"),E.strikethrough&&D.push("strikethrough")),this.domNode.className=D.join(" "),this.setupHover(E?.descriptionTitle?this.labelContainer:this.element,E?.title),this.nameNode.setLabel(d,E),(S||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof ie.q?(this.descriptionNode.set(S||"",E?E.descriptionMatches:void 0),this.setupHover(this.descriptionNode.element,E?.descriptionTitle)):(this.descriptionNode.textContent=S||"",this.setupHover(this.descriptionNode.element,E?.descriptionTitle||""),this.descriptionNode.empty=!S))}setupHover(d,S){const E=this.customHovers.get(d);if(E&&(E.dispose(),this.customHovers.delete(d)),!S){d.removeAttribute("title");return}if(!this.hoverDelegate)(0,Q.O)(d,S);else{const D=(0,Q.g)(this.hoverDelegate,d,S);D&&this.customHovers.set(d,D)}}dispose(){super.dispose();for(const d of this.customHovers.values())d.dispose();this.customHovers.clear()}}class y{constructor(d){this.container=d,this.label=void 0,this.singleLabel=void 0}setLabel(d,S){if(!(this.label===d&&(0,ne.fS)(this.options,S)))if(this.label=d,this.options=S,typeof d=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=u.R3(this.container,u.$("a.label-name",{id:S?.domId}))),this.singleLabel.textContent=d;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let E=0;E<d.length;E++){const D=d[E],x=S?.domId&&`${S?.domId}_${E}`;u.R3(this.container,u.$("a.label-name",{id:x,"data-icon-label-count":d.length,"data-icon-label-index":E,role:"treeitem"},D)),E<d.length-1&&u.R3(this.container,u.$("span.label-separator",void 0,S?.separator||"/"))}}}}function C(b,d,S){if(!S)return;let E=0;return b.map(D=>{const x={start:E,end:E+D.length},K=S.map(T=>Z.e.intersect(x,T)).filter(T=>!Z.e.isEmpty(T)).map(({start:T,end:W})=>({start:T-E,end:W-E}));return E=x.end+d.length,K})}class L{constructor(d,S){this.container=d,this.supportIcons=S,this.label=void 0,this.singleLabel=void 0}setLabel(d,S){if(!(this.label===d&&(0,ne.fS)(this.options,S)))if(this.label=d,this.options=S,typeof d=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=new ie.q(u.R3(this.container,u.$("a.label-name",{id:S?.domId})),{supportIcons:this.supportIcons})),this.singleLabel.set(d,S?.matches,void 0,S?.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const E=S?.separator||"/",D=C(d,E,S?.matches);for(let x=0;x<d.length;x++){const K=d[x],T=D?D[x]:void 0,W=S?.domId&&`${S?.domId}_${x}`,A=u.$("a.label-name",{id:W,"data-icon-label-count":d.length,"data-icon-label-index":x,role:"treeitem"});new ie.q(u.R3(this.container,A),{supportIcons:this.supportIcons}).set(K,T,void 0,S?.labelEscapeNewLines),x<d.length-1&&u.R3(A,u.$("span.label-separator",void 0,E))}}}}},25415:(At,Be,m)=>{m.d(Be,{O:()=>y,g:()=>L});var k=m(22120),u=m(49434),ie=m(58923),Q=m(20022),N=m(12094),ne=m(50149),Z=m(4626),q=m(88631),z=function(b,d,S,E){function D(x){return x instanceof S?x:new S(function(K){K(x)})}return new(S||(S=Promise))(function(x,K){function T(U){try{A(E.next(U))}catch(X){K(X)}}function W(U){try{A(E.throw(U))}catch(X){K(X)}}function A(U){U.done?x(U.value):D(U.value).then(T,W)}A((E=E.apply(b,d||[])).next())})};function y(b,d){(0,Z.HD)(d)?b.title=(0,N.x$)(d):d?.markdownNotSupportedFallback?b.title=d.markdownNotSupportedFallback:b.removeAttribute("title")}class C{constructor(d,S,E){this.hoverDelegate=d,this.target=S,this.fadeInAnimation=E}update(d,S,E){var D;return z(this,void 0,void 0,function*(){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let x;if(d===void 0||(0,Z.HD)(d)||d instanceof HTMLElement)x=d;else if(!(0,Z.mf)(d.markdown))x=(D=d.markdown)!==null&&D!==void 0?D:d.markdownNotSupportedFallback;else{this._hoverWidget||this.show((0,q.NC)("iconLabel.loading","Loading..."),S),this._cancellationTokenSource=new ie.A;const K=this._cancellationTokenSource.token;if(x=yield d.markdown(K),x===void 0&&(x=d.markdownNotSupportedFallback),this.isDisposed||K.isCancellationRequested)return}this.show(x,S,E)})}show(d,S,E){const D=this._hoverWidget;if(this.hasContent(d)){const x=Object.assign({content:d,target:this.target,showPointer:this.hoverDelegate.placement==="element",hoverPosition:2,skipFadeInAnimation:!this.fadeInAnimation||!!D},E);this._hoverWidget=this.hoverDelegate.showHover(x,S)}D?.dispose()}hasContent(d){return d?(0,Q.Fr)(d)?!!d.value:!0:!1}get isDisposed(){var d;return(d=this._hoverWidget)===null||d===void 0?void 0:d.isDisposed}dispose(){var d,S;(d=this._hoverWidget)===null||d===void 0||d.dispose(),(S=this._cancellationTokenSource)===null||S===void 0||S.dispose(!0),this._cancellationTokenSource=void 0}}function L(b,d,S,E){let D,x;const K=(X,te)=>{var he;X&&(x?.dispose(),x=void 0),te&&(D?.dispose(),D=void 0),(he=b.onDidHideHover)===null||he===void 0||he.call(b)},T=(X,te,he)=>new u._F(()=>z(this,void 0,void 0,function*(){(!x||x.isDisposed)&&(x=new C(b,he||d,X>0),yield x.update(S,te,E))}),X),W=()=>{if(D)return;const X=new ne.SL,te=ge=>K(!1,ge.fromElement===d);X.add(k.nm(d,k.tw.MOUSE_LEAVE,te,!0));const he=()=>K(!0,!0);X.add(k.nm(d,k.tw.MOUSE_DOWN,he,!0));const _e={targetElements:[d],dispose:()=>{}};if(b.placement===void 0||b.placement==="mouse"){const ge=me=>{_e.x=me.x+10,me.target instanceof HTMLElement&&me.target.classList.contains("action-label")&&K(!0,!0)};X.add(k.nm(d,k.tw.MOUSE_MOVE,ge,!0))}X.add(T(b.delay,!1,_e)),D=X},A=k.nm(d,k.tw.MOUSE_OVER,W,!0);return{show:X=>{K(!1,!0),T(0,X)},hide:()=>{K(!0,!0)},update:(X,te)=>z(this,void 0,void 0,function*(){S=X,yield x?.update(S,void 0,te)}),dispose:()=>{A.dispose(),K(!0,!0)}}}},41184:(At,Be,m)=>{m.d(Be,{T:()=>Q});var k=m(22120),u=m(15324);const ie=new RegExp(`(\\\\)?\\$\\((${u.dT.iconNameExpression}(?:${u.dT.iconModifierExpression})?)\\)`,"g");function Q(ne){const Z=new Array;let q,z=0,y=0;for(;(q=ie.exec(ne))!==null;){y=q.index||0,Z.push(ne.substring(z,y)),z=(q.index||0)+q[0].length;const[,C,L]=q;Z.push(C?`$(${L})`:N({id:L}))}return z<ne.length&&Z.push(ne.substring(z)),Z}function N(ne){const Z=k.$("span");return Z.classList.add(...u.dT.asClassNameArray(ne)),Z}},46658:(At,Be,m)=>{m.d(Be,{p:()=>x,W:()=>D});var k=m(22120),u=m(79083),ie=m(37624),Q=m(3732),N=m(48063),ne=m(9756),Z=m(39436),q=m(80733),z=m(86640);class y{constructor(T,W=0,A=T.length,U=W-1){this.items=T,this.start=W,this.end=A,this.index=U}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 C{constructor(T=[],W=10){this._initialize(T),this._limit=W,this._onChange()}getHistory(){return this._elements}add(T){this._history.delete(T),this._history.add(T),this._onChange()}next(){return this._currentPosition()!==this._elements.length-1?this._navigator.next():null}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}has(T){return this._history.has(T)}_onChange(){this._reduceToLimit();const T=this._elements;this._navigator=new y(T,0,T.length,T.length)}_reduceToLimit(){const T=this._elements;T.length>this._limit&&this._initialize(T.slice(T.length-this._limit))}_currentPosition(){const T=this._navigator.current();return T?this._elements.indexOf(T):-1}_initialize(T){this._history=new Set;for(const W of T)this._history.add(W)}get _elements(){const T=[];return this._history.forEach(W=>T.push(W)),T}}var L=m(2758),b=m(22824),d=m(88631);const S=k.$,E={inputBackground:q.Il.fromHex("#3C3C3C"),inputForeground:q.Il.fromHex("#CCCCCC"),inputValidationInfoBorder:q.Il.fromHex("#55AAFF"),inputValidationInfoBackground:q.Il.fromHex("#063B49"),inputValidationWarningBorder:q.Il.fromHex("#B89500"),inputValidationWarningBackground:q.Il.fromHex("#352A05"),inputValidationErrorBorder:q.Il.fromHex("#BE1100"),inputValidationErrorBackground:q.Il.fromHex("#5A1D1D")};class D extends Z.${constructor(T,W,A){var U;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new z.Q5),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new z.Q5),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=W,this.options=A||Object.create(null),(0,L.jB)(this.options,E,!1),this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(U=this.options.tooltip)!==null&&U!==void 0?U:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.inputBackground=this.options.inputBackground,this.inputForeground=this.options.inputForeground,this.inputBorder=this.options.inputBorder,this.inputValidationInfoBorder=this.options.inputValidationInfoBorder,this.inputValidationInfoBackground=this.options.inputValidationInfoBackground,this.inputValidationInfoForeground=this.options.inputValidationInfoForeground,this.inputValidationWarningBorder=this.options.inputValidationWarningBorder,this.inputValidationWarningBackground=this.options.inputValidationWarningBackground,this.inputValidationWarningForeground=this.options.inputValidationWarningForeground,this.inputValidationErrorBorder=this.options.inputValidationErrorBorder,this.inputValidationErrorBackground=this.options.inputValidationErrorBackground,this.inputValidationErrorForeground=this.options.inputValidationErrorForeground,this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=k.R3(T,S(".monaco-inputbox.idle"));const X=this.options.flexibleHeight?"textarea":"input",te=k.R3(this.element,S(".ibwrapper"));if(this.input=k.R3(te,S(X+".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=k.R3(te,S("div.mirror")),this.mirror.innerText="\xA0",this.scrollableElement=new ne.NB(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),k.R3(T,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(ge=>this.input.scrollTop=ge.scrollTop));const he=this._register(new u.Y(document,"selectionchange")),_e=z.ju.filter(he.event,()=>{const ge=document.getSelection();return ge?.anchorNode===te});this._register(_e(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.ignoreGesture(this.input),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new Q.o(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(T){this.placeholder=T,this.input.setAttribute("placeholder",T)}setTooltip(T){this.tooltip=T,this.input.title=T}setAriaLabel(T){this.ariaLabel=T,T?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label")}getAriaLabel(){return this.ariaLabel}get inputElement(){return this.input}get value(){return this.input.value}set value(T){this.input.value!==T&&(this.input.value=T,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:k.wn(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(T=null){this.input.select(),T&&(this.input.setSelectionRange(T.start,T.end),T.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}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}get width(){return k.w(this.input)}set width(T){if(this.options.flexibleHeight&&this.options.flexibleWidth){let W=0;if(this.mirror){const A=parseFloat(this.mirror.style.paddingLeft||"")||0,U=parseFloat(this.mirror.style.paddingRight||"")||0;W=A+U}this.input.style.width=T-W+"px"}else this.input.style.width=T+"px";this.mirror&&(this.mirror.style.width=T+"px")}set paddingRight(T){this.input.style.width=`calc(100% - ${T}px)`,this.mirror&&(this.mirror.style.paddingRight=T+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const T=this.cachedContentHeight,W=this.cachedHeight,A=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:T,height:W}),this.scrollableElement.setScrollPosition({scrollTop:A})}showMessage(T,W){this.message=T,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(T.type));const A=this.stylesForType(this.message.type);this.element.style.border=A.border?`1px solid ${A.border}`:"",(this.hasFocus()||W)&&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 T=null;return this.validation&&(T=this.validation(this.value),T?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(T)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),T?.type}stylesForType(T){switch(T){case 1:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground,foreground:this.inputValidationInfoForeground};case 2:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground,foreground:this.inputValidationWarningForeground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground,foreground:this.inputValidationErrorForeground}}}classForType(T){switch(T){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let T;const W=()=>T.style.width=k.w(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:U=>{if(!this.message)return null;T=k.R3(U,S(".monaco-inputbox-container")),W();const X={inline:!0,className:"monaco-inputbox-message"},te=this.message.formatContent?(0,ie.BO)(this.message.content,X):(0,ie.IY)(this.message.content,X);te.classList.add(this.classForType(this.message.type));const he=this.stylesForType(this.message.type);return te.style.backgroundColor=he.background?he.background.toString():"",te.style.color=he.foreground?he.foreground.toString():"",te.style.border=he.border?`1px solid ${he.border}`:"",k.R3(T,te),null},onHide:()=>{this.state="closed"},layout:W});let A;this.message.type===3?A=d.NC("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?A=d.NC("alertWarningMessage","Warning: {0}",this.message.content):A=d.NC("alertInfoMessage","Info: {0}",this.message.content),N.Z9(A),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 T=this.value,A=T.charCodeAt(T.length-1)===10?" ":"";(T+A).replace(/\u000c/g,"")?this.mirror.textContent=T+A:this.mirror.innerText="\xA0",this.layout()}style(T){this.inputBackground=T.inputBackground,this.inputForeground=T.inputForeground,this.inputBorder=T.inputBorder,this.inputValidationInfoBackground=T.inputValidationInfoBackground,this.inputValidationInfoForeground=T.inputValidationInfoForeground,this.inputValidationInfoBorder=T.inputValidationInfoBorder,this.inputValidationWarningBackground=T.inputValidationWarningBackground,this.inputValidationWarningForeground=T.inputValidationWarningForeground,this.inputValidationWarningBorder=T.inputValidationWarningBorder,this.inputValidationErrorBackground=T.inputValidationErrorBackground,this.inputValidationErrorForeground=T.inputValidationErrorForeground,this.inputValidationErrorBorder=T.inputValidationErrorBorder,this.applyStyles()}applyStyles(){const T=this.inputBackground?this.inputBackground.toString():"",W=this.inputForeground?this.inputForeground.toString():"",A=this.inputBorder?this.inputBorder.toString():"";this.element.style.backgroundColor=T,this.element.style.color=W,this.input.style.backgroundColor="inherit",this.input.style.color=W,this.element.style.borderWidth=A?"1px":"",this.element.style.borderStyle=A?"solid":"",this.element.style.borderColor=A}layout(){if(!this.mirror)return;const T=this.cachedContentHeight;this.cachedContentHeight=k.wn(this.mirror),T!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(T){const W=this.inputElement,A=W.selectionStart,U=W.selectionEnd,X=W.value;A!==null&&U!==null&&(this.value=X.substr(0,A)+T+X.substr(U),W.setSelectionRange(A+1,A+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar&&this.actionbar.dispose(),super.dispose()}}class x extends D{constructor(T,W,A){const U=d.NC({key:"history.inputbox.hint",comment:["Text will be prefixed with \u21C5 plus a single space, then used as a hint where input field keeps history"]},"for history"),X=` or \u21C5 ${U}`,te=` (\u21C5 ${U})`;super(T,W,A),this._onDidFocus=this._register(new z.Q5),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new z.Q5),this.onDidBlur=this._onDidBlur.event,this.history=new C(A.history,100);const he=()=>{if(A.showHistoryHint&&A.showHistoryHint()&&!this.placeholder.endsWith(X)&&!this.placeholder.endsWith(te)&&this.history.getHistory().length){const _e=this.placeholder.endsWith(")")?X:te,ge=this.placeholder+_e;A.showPlaceholderOnFocus&&document.activeElement!==this.input?this.placeholder=ge:this.setPlaceHolder(ge)}};this.observer=new MutationObserver((_e,ge)=>{_e.forEach(me=>{me.target.textContent||he()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>he()),this.onblur(this.input,()=>{const _e=ge=>{if(this.placeholder.endsWith(ge)){const me=this.placeholder.slice(0,this.placeholder.length-ge.length);return A.showPlaceholderOnFocus?this.placeholder=me:this.setPlaceHolder(me),!0}else return!1};_e(te)||_e(X)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)}showNextValue(){this.history.has(this.value)||this.addToHistory();let T=this.getNextValue();T&&(T=T===this.value?this.getNextValue():T),T&&(this.value=T,N.i7(this.value))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let T=this.getPreviousValue();T&&(T=T===this.value?this.getPreviousValue():T),T&&(this.value=T,N.i7(this.value))}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let T=this.history.current();return T||(T=this.history.last(),this.history.next()),T}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()||this.history.last()}}},95317:(At,Be,m)=>{m.d(Be,{kX:()=>U,Bv:()=>ge});var k=m(53909),u=m(14328),ie=m(22120),Q=m(79083),N=m(24640),ne=m(9756),Z=m(99359),q=m(49434),z=m(7379),y=m(86640),C=m(50149),L=m(50996),b=m(3759);function d(me,re){const Y=[];for(const de of re){if(me.start>=de.range.end)continue;if(me.end<de.range.start)break;const oe=L.e.intersect(me,de.range);L.e.isEmpty(oe)||Y.push({range:oe,size:de.size})}return Y}function S({start:me,end:re},Y){return{start:me+Y,end:re+Y}}function E(me){const re=[];let Y=null;for(const de of me){const oe=de.range.start,J=de.range.end,$=de.size;if(Y&&$===Y.size){Y.range.end=J;continue}Y={range:{start:oe,end:J},size:$},re.push(Y)}return re}function D(...me){return E(me.reduce((re,Y)=>re.concat(Y),[]))}class x{constructor(){this.groups=[],this._size=0}splice(re,Y,de=[]){const oe=de.length-Y,J=d({start:0,end:re},this.groups),$=d({start:re+Y,end:Number.POSITIVE_INFINITY},this.groups).map(ve=>({range:S(ve.range,oe),size:ve.size})),ue=de.map((ve,xe)=>({range:{start:re+xe,end:re+xe+1},size:ve.size}));this.groups=D(J,ue,$),this._size=this.groups.reduce((ve,xe)=>ve+xe.size*(xe.range.end-xe.range.start),0)}get count(){const re=this.groups.length;return re?this.groups[re-1].range.end:0}get size(){return this._size}indexAt(re){if(re<0)return-1;let Y=0,de=0;for(const oe of this.groups){const J=oe.range.end-oe.range.start,$=de+J*oe.size;if(re<$)return Y+Math.floor((re-de)/oe.size);Y+=J,de=$}return Y}indexAfter(re){return Math.min(this.indexAt(re)+1,this.count)}positionAt(re){if(re<0)return-1;let Y=0,de=0;for(const oe of this.groups){const J=oe.range.end-oe.range.start,$=de+J;if(re<$)return Y+(re-de)*oe.size;Y+=J*oe.size,de=$}return-1}}function K(me){var re;try{(re=me.parentElement)===null||re===void 0||re.removeChild(me)}catch{}}class T{constructor(re){this.renderers=re,this.cache=new Map}alloc(re){let Y=this.getTemplateCache(re).pop();if(!Y){const de=(0,ie.$)(".monaco-list-row"),J=this.getRenderer(re).renderTemplate(de);Y={domNode:de,templateId:re,templateData:J}}return Y}release(re){re&&this.releaseRow(re)}releaseRow(re){const{domNode:Y,templateId:de}=re;Y&&(Y.classList.remove("scrolling"),K(Y)),this.getTemplateCache(de).push(re)}getTemplateCache(re){let Y=this.cache.get(re);return Y||(Y=[],this.cache.set(re,Y)),Y}dispose(){this.cache.forEach((re,Y)=>{for(const de of re)this.getRenderer(Y).disposeTemplate(de.templateData),de.templateData=null}),this.cache.clear()}getRenderer(re){const Y=this.renderers.get(re);if(!Y)throw new Error(`No renderer found for ${re}`);return Y}}var W=function(me,re,Y,de){var oe=arguments.length,J=oe<3?re:de===null?de=Object.getOwnPropertyDescriptor(re,Y):de,$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")J=Reflect.decorate(me,re,Y,de);else for(var ue=me.length-1;ue>=0;ue--)($=me[ue])&&(J=(oe<3?$(J):oe>3?$(re,Y,J):$(re,Y))||J);return oe>3&&J&&Object.defineProperty(re,Y,J),J};const A={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(me){return[me]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class U{constructor(re){this.elements=re}update(){}getData(){return this.elements}}class X{constructor(re){this.elements=re}update(){}getData(){return this.elements}}class te{constructor(){this.types=[],this.files=[]}update(re){if(re.types&&this.types.splice(0,this.types.length,...re.types),re.files){this.files.splice(0,this.files.length);for(let Y=0;Y<re.files.length;Y++){const de=re.files.item(Y);de&&(de.size||de.type)&&this.files.push(de)}}}getData(){return{types:this.types,files:this.files}}}function he(me,re){return Array.isArray(me)&&Array.isArray(re)?(0,Z.fS)(me,re):me===re}class _e{constructor(re){re?.getSetSize?this.getSetSize=re.getSetSize.bind(re):this.getSetSize=(Y,de,oe)=>oe,re?.getPosInSet?this.getPosInSet=re.getPosInSet.bind(re):this.getPosInSet=(Y,de)=>de+1,re?.getRole?this.getRole=re.getRole.bind(re):this.getRole=Y=>"listitem",re?.isChecked?this.isChecked=re.isChecked.bind(re):this.isChecked=Y=>{}}}class ge{constructor(re,Y,de,oe=A){var J,$,ue,ve,xe,O,rt,ct,Ve,$e;if(this.virtualDelegate=Y,this.domId=`list_id_${++ge.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new q.vp(50),this.splicing=!1,this.dragOverAnimationStopDisposable=C.JT.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=C.JT.None,this.onDragLeaveTimeout=C.JT.None,this.disposables=new C.SL,this._onDidChangeContentHeight=new y.Q5,this._horizontalScrolling=!1,oe.horizontalScrolling&&oe.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new x;for(const Fe of de)this.renderers.set(Fe.templateId,Fe);this.cache=this.disposables.add(new T(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 oe.mouseSupport=="boolean"?oe.mouseSupport:!0),this._horizontalScrolling=(J=oe.horizontalScrolling)!==null&&J!==void 0?J:A.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.additionalScrollHeight=typeof oe.additionalScrollHeight>"u"?0:oe.additionalScrollHeight,this.accessibilityProvider=new _e(oe.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(($=oe.transformOptimization)!==null&&$!==void 0?$:A.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)"),this.disposables.add(N.o.addTarget(this.rowsContainer)),this.scrollable=new b.Rm({forceIntegerValues:!0,smoothScrollDuration:(ue=oe.smoothScrolling)!==null&&ue!==void 0&&ue?125:0,scheduleAtNextAnimationFrame:Fe=>(0,ie.jL)(Fe)}),this.scrollableElement=this.disposables.add(new ne.$Z(this.rowsContainer,{alwaysConsumeMouseWheel:(ve=oe.alwaysConsumeMouseWheel)!==null&&ve!==void 0?ve:A.alwaysConsumeMouseWheel,horizontal:1,vertical:(xe=oe.verticalScrollMode)!==null&&xe!==void 0?xe:A.verticalScrollMode,useShadows:(O=oe.useShadows)!==null&&O!==void 0?O:A.useShadows,mouseWheelScrollSensitivity:oe.mouseWheelScrollSensitivity,fastScrollSensitivity:oe.fastScrollSensitivity},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),re.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add((0,ie.nm)(this.rowsContainer,N.t.Change,Fe=>this.onTouchChange(Fe))),this.disposables.add((0,ie.nm)(this.scrollableElement.getDomNode(),"scroll",Fe=>Fe.target.scrollTop=0)),this.disposables.add((0,ie.nm)(this.domNode,"dragover",Fe=>this.onDragOver(this.toDragEvent(Fe)))),this.disposables.add((0,ie.nm)(this.domNode,"drop",Fe=>this.onDrop(this.toDragEvent(Fe)))),this.disposables.add((0,ie.nm)(this.domNode,"dragleave",Fe=>this.onDragLeave(this.toDragEvent(Fe)))),this.disposables.add((0,ie.nm)(this.domNode,"dragend",Fe=>this.onDragEnd(Fe))),this.setRowLineHeight=(rt=oe.setRowLineHeight)!==null&&rt!==void 0?rt:A.setRowLineHeight,this.setRowHeight=(ct=oe.setRowHeight)!==null&&ct!==void 0?ct:A.setRowHeight,this.supportDynamicHeights=(Ve=oe.supportDynamicHeights)!==null&&Ve!==void 0?Ve:A.supportDynamicHeights,this.dnd=($e=oe.dnd)!==null&&$e!==void 0?$e:A.dnd,this.layout()}get contentHeight(){return this.rangeMap.size}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(re){if(re!==this._horizontalScrolling){if(re&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=re,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const Y of this.items)this.measureItemWidth(Y);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:(0,ie.FK)(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=""}}updateOptions(re){re.additionalScrollHeight!==void 0&&(this.additionalScrollHeight=re.additionalScrollHeight,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),re.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(re.smoothScrolling?125:0),re.horizontalScrolling!==void 0&&(this.horizontalScrolling=re.horizontalScrolling),re.mouseWheelScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({mouseWheelScrollSensitivity:re.mouseWheelScrollSensitivity}),re.fastScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({fastScrollSensitivity:re.fastScrollSensitivity})}splice(re,Y,de=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(re,Y,de)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(re,Y,de=[]){const oe=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),J={start:re,end:re+Y},$=L.e.intersect(oe,J),ue=new Map;for(let Et=$.end-1;Et>=$.start;Et--){const Nt=this.items[Et];if(Nt.dragStartDisposable.dispose(),Nt.checkedDisposable.dispose(),Nt.row){let ke=ue.get(Nt.templateId);ke||(ke=[],ue.set(Nt.templateId,ke));const dt=this.renderers.get(Nt.templateId);dt&&dt.disposeElement&&dt.disposeElement(Nt.element,Et,Nt.row.templateData,Nt.size),ke.push(Nt.row)}Nt.row=null}const ve={start:re+Y,end:this.items.length},xe=L.e.intersect(ve,oe),O=L.e.relativeComplement(ve,oe),rt=de.map(Et=>({id:String(this.itemId++),element:Et,templateId:this.virtualDelegate.getTemplateId(Et),size:this.virtualDelegate.getHeight(Et),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(Et),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:C.JT.None,checkedDisposable:C.JT.None}));let ct;re===0&&Y>=this.items.length?(this.rangeMap=new x,this.rangeMap.splice(0,0,rt),ct=this.items,this.items=rt):(this.rangeMap.splice(re,Y,rt),ct=this.items.splice(re,Y,...rt));const Ve=de.length-Y,$e=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),Ee=S(xe,Ve),Fe=L.e.intersect($e,Ee);for(let Et=Fe.start;Et<Fe.end;Et++)this.updateItemInDOM(this.items[Et],Et);const je=L.e.relativeComplement(Ee,$e);for(const Et of je)for(let Nt=Et.start;Nt<Et.end;Nt++)this.removeItemFromDOM(Nt);const Re=O.map(Et=>S(Et,Ve)),at=[{start:re,end:re+de.length},...Re].map(Et=>L.e.intersect($e,Et)),Dt=this.getNextToLastElement(at);for(const Et of at)for(let Nt=Et.start;Nt<Et.end;Nt++){const ke=this.items[Nt],dt=ue.get(ke.templateId),mt=dt?.pop();this.insertItemInDOM(Nt,Dt,mt)}for(const Et of ue.values())for(const Nt of Et)this.cache.release(Nt);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),ct.map(Et=>Et.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=(0,ie.jL)(()=>{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 re=0;for(const Y of this.items)typeof Y.width<"u"&&(re=Math.max(re,Y.width));this.scrollWidth=re,this.scrollableElement.setScrollDimensions({scrollWidth:re===0?0:re+10})}rerender(){if(this.supportDynamicHeights){for(const re of this.items)re.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}element(re){return this.items[re].element}domElement(re){const Y=this.items[re].row;return Y&&Y.domNode}elementHeight(re){return this.items[re].size}elementTop(re){return this.rangeMap.positionAt(re)}indexAt(re){return this.rangeMap.indexAt(re)}indexAfter(re){return this.rangeMap.indexAfter(re)}layout(re,Y){const de={height:typeof re=="number"?re:(0,ie.If)(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,de.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(de),typeof Y<"u"&&(this.renderWidth=Y,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof Y=="number"?Y:(0,ie.FK)(this.domNode)})}render(re,Y,de,oe,J,$=!1){const ue=this.getRenderRange(Y,de),ve=L.e.relativeComplement(ue,re),xe=L.e.relativeComplement(re,ue),O=this.getNextToLastElement(ve);if($){const rt=L.e.intersect(re,ue);for(let ct=rt.start;ct<rt.end;ct++)this.updateItemInDOM(this.items[ct],ct)}for(const rt of ve)for(let ct=rt.start;ct<rt.end;ct++)this.insertItemInDOM(ct,O);for(const rt of xe)for(let ct=rt.start;ct<rt.end;ct++)this.removeItemFromDOM(ct);oe!==void 0&&(this.rowsContainer.style.left=`-${oe}px`),this.rowsContainer.style.top=`-${Y}px`,this.horizontalScrolling&&J!==void 0&&(this.rowsContainer.style.width=`${Math.max(J,this.renderWidth)}px`),this.lastRenderTop=Y,this.lastRenderHeight=de}insertItemInDOM(re,Y,de){const oe=this.items[re];oe.row||(oe.row=de??this.cache.alloc(oe.templateId));const J=this.accessibilityProvider.getRole(oe.element)||"listitem";oe.row.domNode.setAttribute("role",J);const $=this.accessibilityProvider.isChecked(oe.element);if(typeof $=="boolean")oe.row.domNode.setAttribute("aria-checked",String(!!$));else if($){const xe=O=>oe.row.domNode.setAttribute("aria-checked",String(!!O));xe($.value),oe.checkedDisposable=$.onDidChange(xe)}oe.row.domNode.parentElement||(Y?this.rowsContainer.insertBefore(oe.row.domNode,Y):this.rowsContainer.appendChild(oe.row.domNode)),this.updateItemInDOM(oe,re);const ue=this.renderers.get(oe.templateId);if(!ue)throw new Error(`No renderer found for template id ${oe.templateId}`);ue?.renderElement(oe.element,re,oe.row.templateData,oe.size);const ve=this.dnd.getDragURI(oe.element);oe.dragStartDisposable.dispose(),oe.row.domNode.draggable=!!ve,ve&&(oe.dragStartDisposable=(0,ie.nm)(oe.row.domNode,"dragstart",xe=>this.onDragStart(oe.element,ve,xe))),this.horizontalScrolling&&(this.measureItemWidth(oe),this.eventuallyUpdateScrollWidth())}measureItemWidth(re){if(!re.row||!re.row.domNode)return;re.row.domNode.style.width=k.isFirefox?"-moz-fit-content":"fit-content",re.width=(0,ie.FK)(re.row.domNode);const Y=window.getComputedStyle(re.row.domNode);Y.paddingLeft&&(re.width+=parseFloat(Y.paddingLeft)),Y.paddingRight&&(re.width+=parseFloat(Y.paddingRight)),re.row.domNode.style.width=""}updateItemInDOM(re,Y){re.row.domNode.style.top=`${this.elementTop(Y)}px`,this.setRowHeight&&(re.row.domNode.style.height=`${re.size}px`),this.setRowLineHeight&&(re.row.domNode.style.lineHeight=`${re.size}px`),re.row.domNode.setAttribute("data-index",`${Y}`),re.row.domNode.setAttribute("data-last-element",Y===this.length-1?"true":"false"),re.row.domNode.setAttribute("data-parity",Y%2===0?"even":"odd"),re.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(re.element,Y,this.length))),re.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(re.element,Y))),re.row.domNode.setAttribute("id",this.getElementDomId(Y)),re.row.domNode.classList.toggle("drop-target",re.dropTarget)}removeItemFromDOM(re){const Y=this.items[re];if(Y.dragStartDisposable.dispose(),Y.checkedDisposable.dispose(),Y.row){const de=this.renderers.get(Y.templateId);de&&de.disposeElement&&de.disposeElement(Y.element,re,Y.row.templateData,Y.size),this.cache.release(Y.row),Y.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(re,Y){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:re,reuseAnimation:Y})}get scrollTop(){return this.getScrollTop()}set scrollTop(re){this.setScrollTop(re)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.additionalScrollHeight}get onMouseClick(){return y.ju.map(this.disposables.add(new Q.Y(this.domNode,"click")).event,re=>this.toMouseEvent(re),this.disposables)}get onMouseDblClick(){return y.ju.map(this.disposables.add(new Q.Y(this.domNode,"dblclick")).event,re=>this.toMouseEvent(re),this.disposables)}get onMouseMiddleClick(){return y.ju.filter(y.ju.map(this.disposables.add(new Q.Y(this.domNode,"auxclick")).event,re=>this.toMouseEvent(re),this.disposables),re=>re.browserEvent.button===1,this.disposables)}get onMouseDown(){return y.ju.map(this.disposables.add(new Q.Y(this.domNode,"mousedown")).event,re=>this.toMouseEvent(re),this.disposables)}get onMouseOver(){return y.ju.map(this.disposables.add(new Q.Y(this.domNode,"mouseover")).event,re=>this.toMouseEvent(re),this.disposables)}get onContextMenu(){return y.ju.any(y.ju.map(this.disposables.add(new Q.Y(this.domNode,"contextmenu")).event,re=>this.toMouseEvent(re),this.disposables),y.ju.map(this.disposables.add(new Q.Y(this.domNode,N.t.Contextmenu)).event,re=>this.toGestureEvent(re),this.disposables))}get onTouchStart(){return y.ju.map(this.disposables.add(new Q.Y(this.domNode,"touchstart")).event,re=>this.toTouchEvent(re),this.disposables)}get onTap(){return y.ju.map(this.disposables.add(new Q.Y(this.rowsContainer,N.t.Tap)).event,re=>this.toGestureEvent(re),this.disposables)}toMouseEvent(re){const Y=this.getItemIndexFromEventTarget(re.target||null),de=typeof Y>"u"?void 0:this.items[Y],oe=de&&de.element;return{browserEvent:re,index:Y,element:oe}}toTouchEvent(re){const Y=this.getItemIndexFromEventTarget(re.target||null),de=typeof Y>"u"?void 0:this.items[Y],oe=de&&de.element;return{browserEvent:re,index:Y,element:oe}}toGestureEvent(re){const Y=this.getItemIndexFromEventTarget(re.initialTarget||null),de=typeof Y>"u"?void 0:this.items[Y],oe=de&&de.element;return{browserEvent:re,index:Y,element:oe}}toDragEvent(re){const Y=this.getItemIndexFromEventTarget(re.target||null),de=typeof Y>"u"?void 0:this.items[Y],oe=de&&de.element;return{browserEvent:re,index:Y,element:oe}}onScroll(re){try{const Y=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(Y,re.scrollTop,re.height,re.scrollLeft,re.scrollWidth),this.supportDynamicHeights&&this._rerender(re.scrollTop,re.height,re.inSmoothScrolling)}catch(Y){throw console.error("Got bad scroll event:",re),Y}}onTouchChange(re){re.preventDefault(),re.stopPropagation(),this.scrollTop-=re.translationY}onDragStart(re,Y,de){var oe,J;if(!de.dataTransfer)return;const $=this.dnd.getDragElements(re);if(de.dataTransfer.effectAllowed="copyMove",de.dataTransfer.setData(u.g.TEXT,Y),de.dataTransfer.setDragImage){let ue;this.dnd.getDragLabel&&(ue=this.dnd.getDragLabel($,de)),typeof ue>"u"&&(ue=String($.length));const ve=(0,ie.$)(".monaco-drag-image");ve.textContent=ue,document.body.appendChild(ve),de.dataTransfer.setDragImage(ve,-10,-10),setTimeout(()=>document.body.removeChild(ve),0)}this.currentDragData=new U($),u.P.CurrentDragAndDropData=new X($),(J=(oe=this.dnd).onDragStart)===null||J===void 0||J.call(oe,this.currentDragData,de)}onDragOver(re){var Y;if(re.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),u.P.CurrentDragAndDropData&&u.P.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(re.browserEvent),!re.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(u.P.CurrentDragAndDropData)this.currentDragData=u.P.CurrentDragAndDropData;else{if(!re.browserEvent.dataTransfer.types)return!1;this.currentDragData=new te}const de=this.dnd.onDragOver(this.currentDragData,re.element,re.index,re.browserEvent);if(this.canDrop=typeof de=="boolean"?de:de.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;re.browserEvent.dataTransfer.dropEffect=typeof de!="boolean"&&de.effect===0?"copy":"move";let oe;if(typeof de!="boolean"&&de.feedback?oe=de.feedback:typeof re.index>"u"?oe=[-1]:oe=[re.index],oe=(0,Z.EB)(oe).filter(J=>J>=-1&&J<this.length).sort((J,$)=>J-$),oe=oe[0]===-1?[-1]:oe,he(this.currentDragFeedback,oe))return!0;if(this.currentDragFeedback=oe,this.currentDragFeedbackDisposable.dispose(),oe[0]===-1)this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=(0,C.OF)(()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")});else{for(const J of oe){const $=this.items[J];$.dropTarget=!0,(Y=$.row)===null||Y===void 0||Y.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=(0,C.OF)(()=>{var J;for(const $ of oe){const ue=this.items[$];ue.dropTarget=!1,(J=ue.row)===null||J===void 0||J.domNode.classList.remove("drop-target")}})}return!0}onDragLeave(re){var Y,de;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,q.Vg)(()=>this.clearDragOverFeedback(),100),this.currentDragData&&((de=(Y=this.dnd).onDragLeave)===null||de===void 0||de.call(Y,this.currentDragData,re.element,re.index,re.browserEvent))}onDrop(re){if(!this.canDrop)return;const Y=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,u.P.CurrentDragAndDropData=void 0,!(!Y||!re.browserEvent.dataTransfer)&&(re.browserEvent.preventDefault(),Y.update(re.browserEvent.dataTransfer),this.dnd.drop(Y,re.element,re.index,re.browserEvent))}onDragEnd(re){var Y,de;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,u.P.CurrentDragAndDropData=void 0,(de=(Y=this.dnd).onDragEnd)===null||de===void 0||de.call(Y,re)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=C.JT.None}setupDragAndDropScrollTopAnimation(re){if(!this.dragOverAnimationDisposable){const Y=(0,ie.xQ)(this.domNode).top;this.dragOverAnimationDisposable=(0,ie.jt)(this.animateDragAndDropScrollTop.bind(this,Y))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,q.Vg)(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3),this.dragOverMouseY=re.pageY}animateDragAndDropScrollTop(re){if(this.dragOverMouseY===void 0)return;const Y=this.dragOverMouseY-re,de=this.renderHeight-35;Y<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(Y-35))):Y>de&&(this.scrollTop+=Math.min(14,Math.floor(.3*(Y-de))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(re){const Y=this.scrollableElement.getDomNode();let de=re;for(;de instanceof HTMLElement&&de!==this.rowsContainer&&Y.contains(de);){const oe=de.getAttribute("data-index");if(oe){const J=Number(oe);if(!isNaN(J))return J}de=de.parentElement}}getRenderRange(re,Y){return{start:this.rangeMap.indexAt(re),end:this.rangeMap.indexAfter(re+Y-1)}}_rerender(re,Y,de){const oe=this.getRenderRange(re,Y);let J,$;re===this.elementTop(oe.start)?(J=oe.start,$=0):oe.end-oe.start>1&&(J=oe.start+1,$=this.elementTop(J)-re);let ue=0;for(;;){const ve=this.getRenderRange(re,Y);let xe=!1;for(let O=ve.start;O<ve.end;O++){const rt=this.probeDynamicHeight(O);rt!==0&&this.rangeMap.splice(O,1,[this.items[O]]),ue+=rt,xe=xe||rt!==0}if(!xe){ue!==0&&this.eventuallyUpdateScrollDimensions();const O=L.e.relativeComplement(oe,ve);for(const ct of O)for(let Ve=ct.start;Ve<ct.end;Ve++)this.items[Ve].row&&this.removeItemFromDOM(Ve);const rt=L.e.relativeComplement(ve,oe);for(const ct of rt)for(let Ve=ct.start;Ve<ct.end;Ve++){const $e=Ve+1,Ee=$e<this.items.length?this.items[$e].row:null,Fe=Ee?Ee.domNode:null;this.insertItemInDOM(Ve,Fe)}for(let ct=ve.start;ct<ve.end;ct++)this.items[ct].row&&this.updateItemInDOM(this.items[ct],ct);if(typeof J=="number"){const ct=this.scrollable.getFutureScrollPosition().scrollTop-re,Ve=this.elementTop(J)-$+ct;this.setScrollTop(Ve,de)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(re){var Y,de,oe;const J=this.items[re];if(this.virtualDelegate.getDynamicHeight){const xe=this.virtualDelegate.getDynamicHeight(J.element);if(xe!==null){const O=J.size;return J.size=xe,J.lastDynamicHeightWidth=this.renderWidth,xe-O}}if(!J.hasDynamicHeight||J.lastDynamicHeightWidth===this.renderWidth||this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(J.element))return 0;const $=J.size;if(!this.setRowHeight&&J.row){const xe=J.row.domNode.offsetHeight;return J.size=xe,J.lastDynamicHeightWidth=this.renderWidth,xe-$}const ue=this.cache.alloc(J.templateId);ue.domNode.style.height="",this.rowsContainer.appendChild(ue.domNode);const ve=this.renderers.get(J.templateId);return ve&&(ve.renderElement(J.element,re,ue.templateData,void 0),(Y=ve.disposeElement)===null||Y===void 0||Y.call(ve,J.element,re,ue.templateData,void 0)),J.size=ue.domNode.offsetHeight,(oe=(de=this.virtualDelegate).setDynamicHeight)===null||oe===void 0||oe.call(de,J.element,J.size),J.lastDynamicHeightWidth=this.renderWidth,this.rowsContainer.removeChild(ue.domNode),this.cache.release(ue),J.size-$}getNextToLastElement(re){const Y=re[re.length-1];if(!Y)return null;const de=this.items[Y.end];return!de||!de.row?null:de.row.domNode}getElementDomId(re){return`${this.domId}_${re}`}dispose(){var re;if(this.items){for(const Y of this.items)if(Y.row){const de=this.renderers.get(Y.row.templateId);de&&((re=de.disposeElement)===null||re===void 0||re.call(de,Y.element,-1,Y.row.templateData,void 0),de.disposeTemplate(Y.row.templateData))}this.items=[]}this.domNode&&this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),(0,C.B9)(this.disposables)}}ge.InstanceCount=0,W([z.H],ge.prototype,"onMouseClick",null),W([z.H],ge.prototype,"onMouseDblClick",null),W([z.H],ge.prototype,"onMouseMiddleClick",null),W([z.H],ge.prototype,"onMouseDown",null),W([z.H],ge.prototype,"onMouseOver",null),W([z.H],ge.prototype,"onContextMenu",null),W([z.H],ge.prototype,"onTouchStart",null),W([z.H],ge.prototype,"onTap",null)},56629:(At,Be,m)=>{m.d(Be,{wD:()=>ct,aV:()=>Et,sx:()=>rt,AA:()=>Y,iK:()=>me,cK:()=>_e,hD:()=>ge,wn:()=>ve,Zo:()=>ue});var k=m(22120),u=m(79083),ie=m(21458),Q=m(24640),N=m(48063);class ne{constructor(ke){this.spliceables=ke}splice(ke,dt,mt){this.spliceables.forEach(Wt=>Wt.splice(ke,dt,mt))}}var Z=m(99359),q=m(49434),z=m(80733),y=m(7379),C=m(86640),L=m(49831),b=m(50149),d=m(54060),S=m(2758),E=m(75874),D=m(4626),x=m(21244);class K extends Error{constructor(ke,dt){super(`ListError [${ke}] ${dt}`)}}var T=m(95317),W=function(Nt,ke,dt,mt){var Wt=arguments.length,Kt=Wt<3?ke:mt===null?mt=Object.getOwnPropertyDescriptor(ke,dt):mt,_t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Kt=Reflect.decorate(Nt,ke,dt,mt);else for(var wt=Nt.length-1;wt>=0;wt--)(_t=Nt[wt])&&(Kt=(Wt<3?_t(Kt):Wt>3?_t(ke,dt,Kt):_t(ke,dt))||Kt);return Wt>3&&Kt&&Object.defineProperty(ke,dt,Kt),Kt},A=function(Nt,ke,dt,mt){function Wt(Kt){return Kt instanceof dt?Kt:new dt(function(_t){_t(Kt)})}return new(dt||(dt=Promise))(function(Kt,_t){function wt(vi){try{ni(mt.next(vi))}catch(Ye){_t(Ye)}}function Ut(vi){try{ni(mt.throw(vi))}catch(Ye){_t(Ye)}}function ni(vi){vi.done?Kt(vi.value):Wt(vi.value).then(wt,Ut)}ni((mt=mt.apply(Nt,ke||[])).next())})};class U{constructor(ke){this.trait=ke,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(ke){return ke}renderElement(ke,dt,mt){const Wt=this.renderedElements.findIndex(Kt=>Kt.templateData===mt);if(Wt>=0){const Kt=this.renderedElements[Wt];this.trait.unrender(mt),Kt.index=dt}else{const Kt={index:dt,templateData:mt};this.renderedElements.push(Kt)}this.trait.renderIndex(dt,mt)}splice(ke,dt,mt){const Wt=[];for(const Kt of this.renderedElements)Kt.index<ke?Wt.push(Kt):Kt.index>=ke+dt&&Wt.push({index:Kt.index+mt-dt,templateData:Kt.templateData});this.renderedElements=Wt}renderIndexes(ke){for(const{index:dt,templateData:mt}of this.renderedElements)ke.indexOf(dt)>-1&&this.trait.renderIndex(dt,mt)}disposeTemplate(ke){const dt=this.renderedElements.findIndex(mt=>mt.templateData===ke);dt<0||this.renderedElements.splice(dt,1)}}class X{constructor(ke){this._trait=ke,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new C.Q5,this.onChange=this._onChange.event}get name(){return this._trait}get renderer(){return new U(this)}splice(ke,dt,mt){var Wt;dt=Math.max(0,Math.min(dt,this.length-ke));const Kt=mt.length-dt,_t=ke+dt,wt=[...this.sortedIndexes.filter(ni=>ni<ke),...mt.map((ni,vi)=>ni?vi+ke:-1).filter(ni=>ni!==-1),...this.sortedIndexes.filter(ni=>ni>=_t).map(ni=>ni+Kt)],Ut=this.length+Kt;if(this.sortedIndexes.length>0&&wt.length===0&&Ut>0){const ni=(Wt=this.sortedIndexes.find(vi=>vi>=ke))!==null&&Wt!==void 0?Wt:Ut-1;wt.push(Math.min(ni,Ut-1))}this.renderer.splice(ke,dt,mt.length),this._set(wt,wt),this.length=Ut}renderIndex(ke,dt){dt.classList.toggle(this._trait,this.contains(ke))}unrender(ke){ke.classList.remove(this._trait)}set(ke,dt){return this._set(ke,[...ke].sort(Re),dt)}_set(ke,dt,mt){const Wt=this.indexes,Kt=this.sortedIndexes;this.indexes=ke,this.sortedIndexes=dt;const _t=Fe(Kt,ke);return this.renderer.renderIndexes(_t),this._onChange.fire({indexes:ke,browserEvent:mt}),Wt}get(){return this.indexes}contains(ke){return(0,Z.ry)(this.sortedIndexes,ke,Re)>=0}dispose(){(0,b.B9)(this._onChange)}}W([y.H],X.prototype,"renderer",null);class te extends X{constructor(ke){super("selected"),this.setAriaSelected=ke}renderIndex(ke,dt){super.renderIndex(ke,dt),this.setAriaSelected&&(this.contains(ke)?dt.setAttribute("aria-selected","true"):dt.setAttribute("aria-selected","false"))}}class he{constructor(ke,dt,mt){this.trait=ke,this.view=dt,this.identityProvider=mt}splice(ke,dt,mt){if(!this.identityProvider)return this.trait.splice(ke,dt,mt.map(()=>!1));const Wt=this.trait.get().map(_t=>this.identityProvider.getId(this.view.element(_t)).toString()),Kt=mt.map(_t=>Wt.indexOf(this.identityProvider.getId(_t).toString())>-1);this.trait.splice(ke,dt,Kt)}}function _e(Nt){return Nt.tagName==="INPUT"||Nt.tagName==="TEXTAREA"}function ge(Nt){return Nt.classList.contains("monaco-editor")?!0:Nt.classList.contains("monaco-list")||!Nt.parentElement?!1:ge(Nt.parentElement)}function me(Nt){return Nt.tagName==="A"&&Nt.classList.contains("monaco-button")||Nt.tagName==="DIV"&&Nt.classList.contains("monaco-button-dropdown")?!0:Nt.classList.contains("monaco-list")||!Nt.parentElement?!1:me(Nt.parentElement)}class re{constructor(ke,dt,mt){this.list=ke,this.view=dt,this.disposables=new b.SL,this.multipleSelectionDisposables=new b.SL,this.onKeyDown.filter(Wt=>Wt.keyCode===3).on(this.onEnter,this,this.disposables),this.onKeyDown.filter(Wt=>Wt.keyCode===16).on(this.onUpArrow,this,this.disposables),this.onKeyDown.filter(Wt=>Wt.keyCode===18).on(this.onDownArrow,this,this.disposables),this.onKeyDown.filter(Wt=>Wt.keyCode===11).on(this.onPageUpArrow,this,this.disposables),this.onKeyDown.filter(Wt=>Wt.keyCode===12).on(this.onPageDownArrow,this,this.disposables),this.onKeyDown.filter(Wt=>Wt.keyCode===9).on(this.onEscape,this,this.disposables),mt.multipleSelectionSupport!==!1&&this.onKeyDown.filter(Wt=>(E.dz?Wt.metaKey:Wt.ctrlKey)&&Wt.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables)}get onKeyDown(){return this.disposables.add(C.ju.chain(this.disposables.add(new u.Y(this.view.domNode,"keydown")).event).filter(ke=>!_e(ke.target)).map(ke=>new ie.y(ke)))}updateOptions(ke){ke.multipleSelectionSupport!==void 0&&(this.multipleSelectionDisposables.clear(),ke.multipleSelectionSupport&&this.onKeyDown.filter(dt=>(E.dz?dt.metaKey:dt.ctrlKey)&&dt.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables))}onEnter(ke){ke.preventDefault(),ke.stopPropagation(),this.list.setSelection(this.list.getFocus(),ke.browserEvent)}onUpArrow(ke){ke.preventDefault(),ke.stopPropagation(),this.list.focusPrevious(1,!1,ke.browserEvent);const dt=this.list.getFocus()[0];this.list.setAnchor(dt),this.list.reveal(dt),this.view.domNode.focus()}onDownArrow(ke){ke.preventDefault(),ke.stopPropagation(),this.list.focusNext(1,!1,ke.browserEvent);const dt=this.list.getFocus()[0];this.list.setAnchor(dt),this.list.reveal(dt),this.view.domNode.focus()}onPageUpArrow(ke){ke.preventDefault(),ke.stopPropagation(),this.list.focusPreviousPage(ke.browserEvent);const dt=this.list.getFocus()[0];this.list.setAnchor(dt),this.list.reveal(dt),this.view.domNode.focus()}onPageDownArrow(ke){ke.preventDefault(),ke.stopPropagation(),this.list.focusNextPage(ke.browserEvent);const dt=this.list.getFocus()[0];this.list.setAnchor(dt),this.list.reveal(dt),this.view.domNode.focus()}onCtrlA(ke){ke.preventDefault(),ke.stopPropagation(),this.list.setSelection((0,Z.w6)(this.list.length),ke.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(ke){this.list.getSelection().length&&(ke.preventDefault(),ke.stopPropagation(),this.list.setSelection([],ke.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}W([y.H],re.prototype,"onKeyDown",null);var Y;(function(Nt){Nt[Nt.Automatic=0]="Automatic",Nt[Nt.Trigger=1]="Trigger"})(Y||(Y={}));var de;(function(Nt){Nt[Nt.Idle=0]="Idle",Nt[Nt.Typing=1]="Typing"})(de||(de={}));const oe=new class{mightProducePrintableCharacter(Nt){return Nt.ctrlKey||Nt.metaKey||Nt.altKey?!1:Nt.keyCode>=31&&Nt.keyCode<=56||Nt.keyCode>=21&&Nt.keyCode<=30||Nt.keyCode>=93&&Nt.keyCode<=102||Nt.keyCode>=80&&Nt.keyCode<=90}};class J{constructor(ke,dt,mt,Wt,Kt){this.list=ke,this.view=dt,this.keyboardNavigationLabelProvider=mt,this.keyboardNavigationEventFilter=Wt,this.delegate=Kt,this.enabled=!1,this.state=de.Idle,this.mode=Y.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new b.SL,this.disposables=new b.SL,this.updateOptions(ke.options)}updateOptions(ke){var dt,mt;!((dt=ke.typeNavigationEnabled)!==null&&dt!==void 0)||dt?this.enable():this.disable(),this.mode=(mt=ke.typeNavigationMode)!==null&&mt!==void 0?mt:Y.Automatic}enable(){if(this.enabled)return;let ke=!1;const dt=this.enabledDisposables.add(C.ju.chain(this.enabledDisposables.add(new u.Y(this.view.domNode,"keydown")).event)).filter(Kt=>!_e(Kt.target)).filter(()=>this.mode===Y.Automatic||this.triggered).map(Kt=>new ie.y(Kt)).filter(Kt=>ke||this.keyboardNavigationEventFilter(Kt)).filter(Kt=>this.delegate.mightProducePrintableCharacter(Kt)).forEach(u.p).map(Kt=>Kt.browserEvent.key).event,mt=C.ju.debounce(dt,()=>null,800,void 0,void 0,this.enabledDisposables);C.ju.reduce(C.ju.any(dt,mt),(Kt,_t)=>_t===null?null:(Kt||"")+_t,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),mt(this.onClear,this,this.enabledDisposables),dt(()=>ke=!0,void 0,this.enabledDisposables),mt(()=>ke=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var ke;const dt=this.list.getFocus();if(dt.length>0&&dt[0]===this.previouslyFocused){const mt=(ke=this.list.options.accessibilityProvider)===null||ke===void 0?void 0:ke.getAriaLabel(this.list.element(dt[0]));mt&&(0,N.Z9)(mt)}this.previouslyFocused=-1}onInput(ke){if(!ke){this.state=de.Idle,this.triggered=!1;return}const dt=this.list.getFocus(),mt=dt.length>0?dt[0]:0,Wt=this.state===de.Idle?1:0;this.state=de.Typing;for(let Kt=0;Kt<this.list.length;Kt++){const _t=(mt+Kt+Wt)%this.list.length,wt=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(_t)),Ut=wt&&wt.toString();if(typeof Ut>"u"||(0,L.Ji)(ke,Ut)){this.previouslyFocused=mt,this.list.setFocus([_t]),this.list.reveal(_t);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class ${constructor(ke,dt){this.list=ke,this.view=dt,this.disposables=new b.SL,this.disposables.add(C.ju.chain(this.disposables.add(new u.Y(dt.domNode,"keydown")).event)).filter(Wt=>!_e(Wt.target)).map(Wt=>new ie.y(Wt)).filter(Wt=>Wt.keyCode===2&&!Wt.ctrlKey&&!Wt.metaKey&&!Wt.shiftKey&&!Wt.altKey).on(this.onTab,this,this.disposables)}onTab(ke){if(ke.target!==this.view.domNode)return;const dt=this.list.getFocus();if(dt.length===0)return;const mt=this.view.domElement(dt[0]);if(!mt)return;const Wt=mt.querySelector("[tabIndex]");if(!Wt||!(Wt instanceof HTMLElement)||Wt.tabIndex===-1)return;const Kt=window.getComputedStyle(Wt);Kt.visibility==="hidden"||Kt.display==="none"||(ke.preventDefault(),ke.stopPropagation(),Wt.focus())}dispose(){this.disposables.dispose()}}function ue(Nt){return E.dz?Nt.browserEvent.metaKey:Nt.browserEvent.ctrlKey}function ve(Nt){return Nt.browserEvent.shiftKey}function xe(Nt){return Nt instanceof MouseEvent&&Nt.button===2}const O={isSelectionSingleChangeEvent:ue,isSelectionRangeChangeEvent:ve};class rt{constructor(ke){this.list=ke,this.disposables=new b.SL,this._onPointer=new C.Q5,this.onPointer=this._onPointer.event,ke.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||O),this.mouseSupport=typeof ke.options.mouseSupport>"u"||!!ke.options.mouseSupport,this.mouseSupport&&(ke.onMouseDown(this.onMouseDown,this,this.disposables),ke.onContextMenu(this.onContextMenu,this,this.disposables),ke.onMouseDblClick(this.onDoubleClick,this,this.disposables),ke.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(Q.o.addTarget(ke.getHTMLElement()))),C.ju.any(ke.onMouseClick,ke.onMouseMiddleClick,ke.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(ke){ke.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,ke.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||O))}isSelectionSingleChangeEvent(ke){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(ke):!1}isSelectionRangeChangeEvent(ke){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(ke):!1}isSelectionChangeEvent(ke){return this.isSelectionSingleChangeEvent(ke)||this.isSelectionRangeChangeEvent(ke)}onMouseDown(ke){ge(ke.browserEvent.target)||document.activeElement!==ke.browserEvent.target&&this.list.domFocus()}onContextMenu(ke){if(ge(ke.browserEvent.target))return;const dt=typeof ke.index>"u"?[]:[ke.index];this.list.setFocus(dt,ke.browserEvent)}onViewPointer(ke){if(!this.mouseSupport||_e(ke.browserEvent.target)||ge(ke.browserEvent.target))return;const dt=ke.index;if(typeof dt>"u"){this.list.setFocus([],ke.browserEvent),this.list.setSelection([],ke.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionRangeChangeEvent(ke))return this.changeSelection(ke);if(this.isSelectionChangeEvent(ke))return this.changeSelection(ke);this.list.setFocus([dt],ke.browserEvent),this.list.setAnchor(dt),xe(ke.browserEvent)||this.list.setSelection([dt],ke.browserEvent),this._onPointer.fire(ke)}onDoubleClick(ke){if(_e(ke.browserEvent.target)||ge(ke.browserEvent.target)||this.isSelectionChangeEvent(ke))return;const dt=this.list.getFocus();this.list.setSelection(dt,ke.browserEvent)}changeSelection(ke){const dt=ke.index;let mt=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(ke)){if(typeof mt>"u"){const vi=this.list.getFocus()[0];mt=vi??dt,this.list.setAnchor(mt)}const Wt=Math.min(mt,dt),Kt=Math.max(mt,dt),_t=(0,Z.w6)(Wt,Kt+1),wt=this.list.getSelection(),Ut=Ee(Fe(wt,[mt]),mt);if(Ut.length===0)return;const ni=Fe(_t,je(wt,Ut));this.list.setSelection(ni,ke.browserEvent),this.list.setFocus([dt],ke.browserEvent)}else if(this.isSelectionSingleChangeEvent(ke)){const Wt=this.list.getSelection(),Kt=Wt.filter(_t=>_t!==dt);this.list.setFocus([dt]),this.list.setAnchor(dt),Wt.length===Kt.length?this.list.setSelection([...Kt,dt],ke.browserEvent):this.list.setSelection(Kt,ke.browserEvent)}}dispose(){this.disposables.dispose()}}class ct{constructor(ke,dt){this.styleElement=ke,this.selectorSuffix=dt}style(ke){const dt=this.selectorSuffix&&`.${this.selectorSuffix}`,mt=[];ke.listBackground&&(ke.listBackground.isOpaque()?mt.push(`.monaco-list${dt} .monaco-list-rows { background: ${ke.listBackground}; }`):E.dz||console.warn(`List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.`)),ke.listFocusBackground&&(mt.push(`.monaco-list${dt}:focus .monaco-list-row.focused { background-color: ${ke.listFocusBackground}; }`),mt.push(`.monaco-list${dt}:focus .monaco-list-row.focused:hover { background-color: ${ke.listFocusBackground}; }`)),ke.listFocusForeground&&mt.push(`.monaco-list${dt}:focus .monaco-list-row.focused { color: ${ke.listFocusForeground}; }`),ke.listActiveSelectionBackground&&(mt.push(`.monaco-list${dt}:focus .monaco-list-row.selected { background-color: ${ke.listActiveSelectionBackground}; }`),mt.push(`.monaco-list${dt}:focus .monaco-list-row.selected:hover { background-color: ${ke.listActiveSelectionBackground}; }`)),ke.listActiveSelectionForeground&&mt.push(`.monaco-list${dt}:focus .monaco-list-row.selected { color: ${ke.listActiveSelectionForeground}; }`),ke.listActiveSelectionIconForeground&&mt.push(`.monaco-list${dt}:focus .monaco-list-row.selected .codicon { color: ${ke.listActiveSelectionIconForeground}; }`),ke.listFocusAndSelectionOutline&&mt.push(`.monaco-list${dt}:focus .monaco-list-row.selected { outline-color: ${ke.listFocusAndSelectionOutline} !important; }`),ke.listFocusAndSelectionBackground&&mt.push(` .monaco-drag-image, .monaco-list${dt}:focus .monaco-list-row.selected.focused { background-color: ${ke.listFocusAndSelectionBackground}; } `),ke.listFocusAndSelectionForeground&&mt.push(` .monaco-drag-image, .monaco-list${dt}:focus .monaco-list-row.selected.focused { color: ${ke.listFocusAndSelectionForeground}; } `),ke.listInactiveFocusForeground&&(mt.push(`.monaco-list${dt} .monaco-list-row.focused { color: ${ke.listInactiveFocusForeground}; }`),mt.push(`.monaco-list${dt} .monaco-list-row.focused:hover { color: ${ke.listInactiveFocusForeground}; }`)),ke.listInactiveSelectionIconForeground&&mt.push(`.monaco-list${dt} .monaco-list-row.focused .codicon { color: ${ke.listInactiveSelectionIconForeground}; }`),ke.listInactiveFocusBackground&&(mt.push(`.monaco-list${dt} .monaco-list-row.focused { background-color: ${ke.listInactiveFocusBackground}; }`),mt.push(`.monaco-list${dt} .monaco-list-row.focused:hover { background-color: ${ke.listInactiveFocusBackground}; }`)),ke.listInactiveSelectionBackground&&(mt.push(`.monaco-list${dt} .monaco-list-row.selected { background-color: ${ke.listInactiveSelectionBackground}; }`),mt.push(`.monaco-list${dt} .monaco-list-row.selected:hover { background-color: ${ke.listInactiveSelectionBackground}; }`)),ke.listInactiveSelectionForeground&&mt.push(`.monaco-list${dt} .monaco-list-row.selected { color: ${ke.listInactiveSelectionForeground}; }`),ke.listHoverBackground&&mt.push(`.monaco-list${dt}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${ke.listHoverBackground}; }`),ke.listHoverForeground&&mt.push(`.monaco-list${dt} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${ke.listHoverForeground}; }`),ke.listSelectionOutline&&mt.push(`.monaco-list${dt} .monaco-list-row.selected { outline: 1px dotted ${ke.listSelectionOutline}; outline-offset: -1px; }`),ke.listFocusOutline&&mt.push(` .monaco-drag-image, .monaco-list${dt}:focus .monaco-list-row.focused { outline: 1px solid ${ke.listFocusOutline}; outline-offset: -1px; } .monaco-workbench.context-menu-visible .monaco-list${dt}.last-focused .monaco-list-row.focused { outline: 1px solid ${ke.listFocusOutline}; outline-offset: -1px; } `),ke.listInactiveFocusOutline&&mt.push(`.monaco-list${dt} .monaco-list-row.focused { outline: 1px dotted ${ke.listInactiveFocusOutline}; outline-offset: -1px; }`),ke.listHoverOutline&&mt.push(`.monaco-list${dt} .monaco-list-row:hover { outline: 1px dashed ${ke.listHoverOutline}; outline-offset: -1px; }`),ke.listDropBackground&&mt.push(` .monaco-list${dt}.drop-target, .monaco-list${dt} .monaco-list-rows.drop-target, .monaco-list${dt} .monaco-list-row.drop-target { background-color: ${ke.listDropBackground} !important; color: inherit !important; } `),ke.tableColumnsBorder&&mt.push(` .monaco-table:hover > .monaco-split-view2, .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before { border-color: ${ke.tableColumnsBorder}; }`),ke.tableOddRowsBackgroundColor&&mt.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: ${ke.tableOddRowsBackgroundColor}; } `),this.styleElement.textContent=mt.join(` `)}}const Ve={listFocusBackground:z.Il.fromHex("#7FB0D0"),listActiveSelectionBackground:z.Il.fromHex("#0E639C"),listActiveSelectionForeground:z.Il.fromHex("#FFFFFF"),listActiveSelectionIconForeground:z.Il.fromHex("#FFFFFF"),listFocusAndSelectionOutline:z.Il.fromHex("#90C2F9"),listFocusAndSelectionBackground:z.Il.fromHex("#094771"),listFocusAndSelectionForeground:z.Il.fromHex("#FFFFFF"),listInactiveSelectionBackground:z.Il.fromHex("#3F3F46"),listInactiveSelectionIconForeground:z.Il.fromHex("#FFFFFF"),listHoverBackground:z.Il.fromHex("#2A2D2E"),listDropBackground:z.Il.fromHex("#383B3D"),treeIndentGuidesStroke:z.Il.fromHex("#a9a9a9"),tableColumnsBorder:z.Il.fromHex("#cccccc").transparent(.2),tableOddRowsBackgroundColor:z.Il.fromHex("#cccccc").transparent(.04)},$e={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}}};function Ee(Nt,ke){const dt=Nt.indexOf(ke);if(dt===-1)return[];const mt=[];let Wt=dt-1;for(;Wt>=0&&Nt[Wt]===ke-(dt-Wt);)mt.push(Nt[Wt--]);for(mt.reverse(),Wt=dt;Wt<Nt.length&&Nt[Wt]===ke+(Wt-dt);)mt.push(Nt[Wt++]);return mt}function Fe(Nt,ke){const dt=[];let mt=0,Wt=0;for(;mt<Nt.length||Wt<ke.length;)if(mt>=Nt.length)dt.push(ke[Wt++]);else if(Wt>=ke.length)dt.push(Nt[mt++]);else if(Nt[mt]===ke[Wt]){dt.push(Nt[mt]),mt++,Wt++;continue}else Nt[mt]<ke[Wt]?dt.push(Nt[mt++]):dt.push(ke[Wt++]);return dt}function je(Nt,ke){const dt=[];let mt=0,Wt=0;for(;mt<Nt.length||Wt<ke.length;)if(mt>=Nt.length)dt.push(ke[Wt++]);else if(Wt>=ke.length)dt.push(Nt[mt++]);else if(Nt[mt]===ke[Wt]){mt++,Wt++;continue}else Nt[mt]<ke[Wt]?dt.push(Nt[mt++]):Wt++;return dt}const Re=(Nt,ke)=>Nt-ke;class tt{constructor(ke,dt){this._templateId=ke,this.renderers=dt}get templateId(){return this._templateId}renderTemplate(ke){return this.renderers.map(dt=>dt.renderTemplate(ke))}renderElement(ke,dt,mt,Wt){let Kt=0;for(const _t of this.renderers)_t.renderElement(ke,dt,mt[Kt++],Wt)}disposeElement(ke,dt,mt,Wt){var Kt;let _t=0;for(const wt of this.renderers)(Kt=wt.disposeElement)===null||Kt===void 0||Kt.call(wt,ke,dt,mt[_t],Wt),_t+=1}disposeTemplate(ke){let dt=0;for(const mt of this.renderers)mt.disposeTemplate(ke[dt++])}}class at{constructor(ke){this.accessibilityProvider=ke,this.templateId="a18n"}renderTemplate(ke){return ke}renderElement(ke,dt,mt){const Wt=this.accessibilityProvider.getAriaLabel(ke);Wt?mt.setAttribute("aria-label",Wt):mt.removeAttribute("aria-label");const Kt=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(ke);typeof Kt=="number"?mt.setAttribute("aria-level",`${Kt}`):mt.removeAttribute("aria-level")}disposeTemplate(ke){}}class Dt{constructor(ke,dt){this.list=ke,this.dnd=dt}getDragElements(ke){const dt=this.list.getSelectedElements();return dt.indexOf(ke)>-1?dt:[ke]}getDragURI(ke){return this.dnd.getDragURI(ke)}getDragLabel(ke,dt){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(ke,dt)}onDragStart(ke,dt){var mt,Wt;(Wt=(mt=this.dnd).onDragStart)===null||Wt===void 0||Wt.call(mt,ke,dt)}onDragOver(ke,dt,mt,Wt){return this.dnd.onDragOver(ke,dt,mt,Wt)}onDragLeave(ke,dt,mt,Wt){var Kt,_t;(_t=(Kt=this.dnd).onDragLeave)===null||_t===void 0||_t.call(Kt,ke,dt,mt,Wt)}onDragEnd(ke){var dt,mt;(mt=(dt=this.dnd).onDragEnd)===null||mt===void 0||mt.call(dt,ke)}drop(ke,dt,mt,Wt){this.dnd.drop(ke,dt,mt,Wt)}}class Et{constructor(ke,dt,mt,Wt,Kt=$e){var _t,wt,Ut,ni;this.user=ke,this._options=Kt,this.focus=new X("focused"),this.anchor=new X("anchor"),this.eventBufferer=new C.E7,this._ariaLabel="",this.disposables=new b.SL,this._onDidDispose=new C.Q5,this.onDidDispose=this._onDidDispose.event;const vi=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(_t=this._options.accessibilityProvider)===null||_t===void 0?void 0:_t.getWidgetRole():"list";this.selection=new te(vi!=="listbox"),(0,S.jB)(Kt,Ve,!1);const Ye=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=Kt.accessibilityProvider,this.accessibilityProvider&&(Ye.push(new at(this.accessibilityProvider)),(Ut=(wt=this.accessibilityProvider).onDidChangeActiveDescendant)===null||Ut===void 0||Ut.call(wt,this.onDidChangeActiveDescendant,this,this.disposables)),Wt=Wt.map(Pt=>new tt(Pt.templateId,[...Ye,Pt]));const Ct=Object.assign(Object.assign({},Kt),{dnd:Kt.dnd&&new Dt(this,Kt.dnd)});if(this.view=new T.Bv(dt,mt,Wt,Ct),this.view.domNode.setAttribute("role",vi),Kt.styleController)this.styleController=Kt.styleController(this.view.domId);else{const Pt=(0,k.dS)(this.view.domNode);this.styleController=new ct(Pt,this.view.domId)}if(this.spliceable=new ne([new he(this.focus,this.view,Kt.identityProvider),new he(this.selection,this.view,Kt.identityProvider),new he(this.anchor,this.view,Kt.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 $(this,this.view)),(typeof Kt.keyboardSupport!="boolean"||Kt.keyboardSupport)&&(this.keyboardController=new re(this,this.view,Kt),this.disposables.add(this.keyboardController)),Kt.keyboardNavigationLabelProvider){const Pt=Kt.keyboardNavigationDelegate||oe;this.typeNavigationController=new J(this,this.view,Kt.keyboardNavigationLabelProvider,(ni=Kt.keyboardNavigationEventFilter)!==null&&ni!==void 0?ni:()=>!0,Pt),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(Kt),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")}get onDidChangeFocus(){return C.ju.map(this.eventBufferer.wrapEvent(this.focus.onChange),ke=>this.toListEvent(ke),this.disposables)}get onDidChangeSelection(){return C.ju.map(this.eventBufferer.wrapEvent(this.selection.onChange),ke=>this.toListEvent(ke),this.disposables)}get domId(){return this.view.domId}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 onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let ke=!1;const dt=this.disposables.add(C.ju.chain(this.disposables.add(new u.Y(this.view.domNode,"keydown")).event)).map(Kt=>new ie.y(Kt)).filter(Kt=>ke=Kt.keyCode===58||Kt.shiftKey&&Kt.keyCode===68).map(u.p).filter(()=>!1).event,mt=this.disposables.add(C.ju.chain(this.disposables.add(new u.Y(this.view.domNode,"keyup")).event)).forEach(()=>ke=!1).map(Kt=>new ie.y(Kt)).filter(Kt=>Kt.keyCode===58||Kt.shiftKey&&Kt.keyCode===68).map(u.p).map(({browserEvent:Kt})=>{const _t=this.getFocus(),wt=_t.length?_t[0]:void 0,Ut=typeof wt<"u"?this.view.element(wt):void 0,ni=typeof wt<"u"?this.view.domElement(wt):this.view.domNode;return{index:wt,element:Ut,anchor:ni,browserEvent:Kt}}).event,Wt=this.disposables.add(C.ju.chain(this.view.onContextMenu)).filter(Kt=>!ke).map(({element:Kt,index:_t,browserEvent:wt})=>({element:Kt,index:_t,anchor:{x:wt.pageX+1,y:wt.pageY},browserEvent:wt})).event;return C.ju.any(dt,mt,Wt)}get onKeyDown(){return this.disposables.add(new u.Y(this.view.domNode,"keydown")).event}get onDidFocus(){return C.ju.signal(this.disposables.add(new u.Y(this.view.domNode,"focus",!0)).event)}createMouseController(ke){return new rt(this)}updateOptions(ke={}){var dt,mt;this._options=Object.assign(Object.assign({},this._options),ke),(dt=this.typeNavigationController)===null||dt===void 0||dt.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(ke),(mt=this.keyboardController)===null||mt===void 0||mt.updateOptions(ke),this.view.updateOptions(ke)}get options(){return this._options}splice(ke,dt,mt=[]){if(ke<0||ke>this.view.length)throw new K(this.user,`Invalid start index: ${ke}`);if(dt<0)throw new K(this.user,`Invalid delete count: ${dt}`);dt===0&&mt.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(ke,dt,mt))}rerender(){this.view.rerender()}element(ke){return this.view.element(ke)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(ke){this.view.setScrollTop(ke)}get ariaLabel(){return this._ariaLabel}set ariaLabel(ke){this._ariaLabel=ke,this.view.domNode.setAttribute("aria-label",ke)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(ke,dt){this.view.layout(ke,dt)}setSelection(ke,dt){for(const mt of ke)if(mt<0||mt>=this.length)throw new K(this.user,`Invalid index ${mt}`);this.selection.set(ke,dt)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(ke=>this.view.element(ke))}setAnchor(ke){if(typeof ke>"u"){this.anchor.set([]);return}if(ke<0||ke>=this.length)throw new K(this.user,`Invalid index ${ke}`);this.anchor.set([ke])}getAnchor(){return(0,Z.Xh)(this.anchor.get(),void 0)}getAnchorElement(){const ke=this.getAnchor();return typeof ke>"u"?void 0:this.element(ke)}setFocus(ke,dt){for(const mt of ke)if(mt<0||mt>=this.length)throw new K(this.user,`Invalid index ${mt}`);this.focus.set(ke,dt)}focusNext(ke=1,dt=!1,mt,Wt){if(this.length===0)return;const Kt=this.focus.get(),_t=this.findNextIndex(Kt.length>0?Kt[0]+ke:0,dt,Wt);_t>-1&&this.setFocus([_t],mt)}focusPrevious(ke=1,dt=!1,mt,Wt){if(this.length===0)return;const Kt=this.focus.get(),_t=this.findPreviousIndex(Kt.length>0?Kt[0]-ke:0,dt,Wt);_t>-1&&this.setFocus([_t],mt)}focusNextPage(ke,dt){return A(this,void 0,void 0,function*(){let mt=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);mt=mt===0?0:mt-1;const Wt=this.getFocus()[0];if(Wt!==mt&&(Wt===void 0||mt>Wt)){const Kt=this.findPreviousIndex(mt,!1,dt);Kt>-1&&Wt!==Kt?this.setFocus([Kt],ke):this.setFocus([mt],ke)}else{const Kt=this.view.getScrollTop();let _t=Kt+this.view.renderHeight;mt>Wt&&(_t-=this.view.elementHeight(mt)),this.view.setScrollTop(_t),this.view.getScrollTop()!==Kt&&(this.setFocus([]),yield(0,q.Vs)(0),yield this.focusNextPage(ke,dt))}})}focusPreviousPage(ke,dt){return A(this,void 0,void 0,function*(){let mt;const Wt=this.view.getScrollTop();Wt===0?mt=this.view.indexAt(Wt):mt=this.view.indexAfter(Wt-1);const Kt=this.getFocus()[0];if(Kt!==mt&&(Kt===void 0||Kt>=mt)){const _t=this.findNextIndex(mt,!1,dt);_t>-1&&Kt!==_t?this.setFocus([_t],ke):this.setFocus([mt],ke)}else{const _t=Wt;this.view.setScrollTop(Wt-this.view.renderHeight),this.view.getScrollTop()!==_t&&(this.setFocus([]),yield(0,q.Vs)(0),yield this.focusPreviousPage(ke,dt))}})}focusLast(ke,dt){if(this.length===0)return;const mt=this.findPreviousIndex(this.length-1,!1,dt);mt>-1&&this.setFocus([mt],ke)}focusFirst(ke,dt){this.focusNth(0,ke,dt)}focusNth(ke,dt,mt){if(this.length===0)return;const Wt=this.findNextIndex(ke,!1,mt);Wt>-1&&this.setFocus([Wt],dt)}findNextIndex(ke,dt=!1,mt){for(let Wt=0;Wt<this.length;Wt++){if(ke>=this.length&&!dt)return-1;if(ke=ke%this.length,!mt||mt(this.element(ke)))return ke;ke++}return-1}findPreviousIndex(ke,dt=!1,mt){for(let Wt=0;Wt<this.length;Wt++){if(ke<0&&!dt)return-1;if(ke=(this.length+ke%this.length)%this.length,!mt||mt(this.element(ke)))return ke;ke--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map(ke=>this.view.element(ke))}reveal(ke,dt){if(ke<0||ke>=this.length)throw new K(this.user,`Invalid index ${ke}`);const mt=this.view.getScrollTop(),Wt=this.view.elementTop(ke),Kt=this.view.elementHeight(ke);if((0,D.hj)(dt)){const _t=Kt-this.view.renderHeight;this.view.setScrollTop(_t*(0,d.uZ)(dt,0,1)+Wt)}else{const _t=Wt+Kt,wt=mt+this.view.renderHeight;Wt<mt&&_t>=wt||(Wt<mt||_t>=wt&&Kt>=this.view.renderHeight?this.view.setScrollTop(Wt):_t>=wt&&this.view.setScrollTop(_t-this.view.renderHeight))}}getHTMLElement(){return this.view.domNode}getElementID(ke){return this.view.getElementDomId(ke)}style(ke){this.styleController.style(ke)}toListEvent({indexes:ke,browserEvent:dt}){return{indexes:ke,elements:ke.map(mt=>this.view.element(mt)),browserEvent:dt}}_onFocusChange(){const ke=this.focus.get();this.view.domNode.classList.toggle("element-focused",ke.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var ke;const dt=this.focus.get();if(dt.length>0){let mt;!((ke=this.accessibilityProvider)===null||ke===void 0)&&ke.getActiveDescendantId&&(mt=this.accessibilityProvider.getActiveDescendantId(this.view.element(dt[0]))),this.view.domNode.setAttribute("aria-activedescendant",mt||this.view.getElementDomId(dt[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const ke=this.selection.get();this.view.domNode.classList.toggle("selection-none",ke.length===0),this.view.domNode.classList.toggle("selection-single",ke.length===1),this.view.domNode.classList.toggle("selection-multiple",ke.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}W([y.H],Et.prototype,"onDidChangeFocus",null),W([y.H],Et.prototype,"onDidChangeSelection",null),W([y.H],Et.prototype,"onContextMenu",null),W([y.H],Et.prototype,"onKeyDown",null),W([y.H],Et.prototype,"onDidFocus",null)},53548:(At,Be,m)=>{m.d(Be,{S:()=>u});var k=m(61644);const u="monaco-mouse-cursor-text"},24641:(At,Be,m)=>{m.d(Be,{g:()=>W,l:()=>L});var k=m(22120),u=m(79083),ie=m(24640),Q=m(49434),N=m(7379),ne=m(86640),Z=m(50149),q=m(75874),z=m(17896),y=function(A,U,X,te){var he=arguments.length,_e=he<3?U:te===null?te=Object.getOwnPropertyDescriptor(U,X):te,ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_e=Reflect.decorate(A,U,X,te);else for(var me=A.length-1;me>=0;me--)(ge=A[me])&&(_e=(he<3?ge(_e):he>3?ge(U,X,_e):ge(U,X))||_e);return he>3&&_e&&Object.defineProperty(U,X,_e),_e};const C=!1;var L;(function(A){A.North="north",A.South="south",A.East="east",A.West="west"})(L||(L={}));let b=4;const d=new ne.Q5;let S=300;const E=new ne.Q5;class D{constructor(){this.disposables=new Z.SL}get onPointerMove(){return this.disposables.add(new u.Y(window,"mousemove")).event}get onPointerUp(){return this.disposables.add(new u.Y(window,"mouseup")).event}dispose(){this.disposables.dispose()}}y([N.H],D.prototype,"onPointerMove",null),y([N.H],D.prototype,"onPointerUp",null);class x{constructor(U){this.el=U,this.disposables=new Z.SL}get onPointerMove(){return this.disposables.add(new u.Y(this.el,ie.t.Change)).event}get onPointerUp(){return this.disposables.add(new u.Y(this.el,ie.t.End)).event}dispose(){this.disposables.dispose()}}y([N.H],x.prototype,"onPointerMove",null),y([N.H],x.prototype,"onPointerUp",null);class K{constructor(U){this.factory=U}get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}dispose(){}}y([N.H],K.prototype,"onPointerMove",null),y([N.H],K.prototype,"onPointerUp",null);const T="pointer-events-disabled";class W extends Z.JT{constructor(U,X,te){super(),this.hoverDelay=S,this.hoverDelayer=this._register(new Q.vp(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new ne.Q5),this._onDidStart=this._register(new ne.Q5),this._onDidChange=this._register(new ne.Q5),this._onDidReset=this._register(new ne.Q5),this._onDidEnd=this._register(new ne.Q5),this.orthogonalStartSashDisposables=this._register(new Z.SL),this.orthogonalStartDragHandleDisposables=this._register(new Z.SL),this.orthogonalEndSashDisposables=this._register(new Z.SL),this.orthogonalEndDragHandleDisposables=this._register(new Z.SL),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=(0,k.R3)(U,(0,k.$)(".monaco-sash")),te.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${te.orthogonalEdge}`),q.dz&&this.el.classList.add("mac");const he=this._register(new u.Y(this.el,"mousedown")).event;this._register(he(oe=>this.onPointerStart(oe,new D),this));const _e=this._register(new u.Y(this.el,"dblclick")).event;this._register(_e(this.onPointerDoublePress,this));const ge=this._register(new u.Y(this.el,"mouseenter")).event;this._register(ge(()=>W.onMouseEnter(this)));const me=this._register(new u.Y(this.el,"mouseleave")).event;this._register(me(()=>W.onMouseLeave(this))),this._register(ie.o.addTarget(this.el));const re=ne.ju.map(this._register(new u.Y(this.el,ie.t.Start)).event,oe=>{var J;return Object.assign(Object.assign({},oe),{target:(J=oe.initialTarget)!==null&&J!==void 0?J:null})});this._register(re(oe=>this.onPointerStart(oe,new x(this.el)),this));const Y=this._register(new u.Y(this.el,ie.t.Tap)).event,de=ne.ju.map(ne.ju.filter(ne.ju.debounce(Y,(oe,J)=>{var $;return{event:J,count:(($=oe?.count)!==null&&$!==void 0?$:0)+1}},250),({count:oe})=>oe===2),({event:oe})=>{var J;return Object.assign(Object.assign({},oe),{target:(J=oe.initialTarget)!==null&&J!==void 0?J:null})});this._register(de(this.onPointerDoublePress,this)),typeof te.size=="number"?(this.size=te.size,te.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=b,this._register(d.event(oe=>{this.size=oe,this.layout()}))),this._register(E.event(oe=>this.hoverDelay=oe)),this.layoutProvider=X,this.orthogonalStartSash=te.orthogonalStartSash,this.orthogonalEndSash=te.orthogonalEndSash,this.orientation=te.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",C),this.layout()}get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(U){this._state!==U&&(this.el.classList.toggle("disabled",U===0),this.el.classList.toggle("minimum",U===1),this.el.classList.toggle("maximum",U===2),this._state=U,this.onDidEnablementChange.fire(U))}set orthogonalStartSash(U){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),U){const X=te=>{this.orthogonalStartDragHandleDisposables.clear(),te!==0&&(this._orthogonalStartDragHandle=(0,k.R3)(this.el,(0,k.$)(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,Z.OF)(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new u.Y(this._orthogonalStartDragHandle,"mouseenter")).event(()=>W.onMouseEnter(U),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new u.Y(this._orthogonalStartDragHandle,"mouseleave")).event(()=>W.onMouseLeave(U),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(U.onDidEnablementChange.event(X,this)),X(U.state)}this._orthogonalStartSash=U}set orthogonalEndSash(U){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),U){const X=te=>{this.orthogonalEndDragHandleDisposables.clear(),te!==0&&(this._orthogonalEndDragHandle=(0,k.R3)(this.el,(0,k.$)(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,Z.OF)(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new u.Y(this._orthogonalEndDragHandle,"mouseenter")).event(()=>W.onMouseEnter(U),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new u.Y(this._orthogonalEndDragHandle,"mouseleave")).event(()=>W.onMouseLeave(U),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(U.onDidEnablementChange.event(X,this)),X(U.state)}this._orthogonalEndSash=U}onPointerStart(U,X){k.zB.stop(U);let te=!1;if(!U.__orthogonalSashEvent){const ue=this.getOrthogonalSash(U);ue&&(te=!0,U.__orthogonalSashEvent=!0,ue.onPointerStart(U,new K(X)))}if(this.linkedSash&&!U.__linkedSashEvent&&(U.__linkedSashEvent=!0,this.linkedSash.onPointerStart(U,new K(X))),!this.state)return;const he=(0,k.H$)("iframe");for(const ue of he)ue.classList.add(T);const _e=U.pageX,ge=U.pageY,me=U.altKey,re={startX:_e,currentX:_e,startY:ge,currentY:ge,altKey:me};this.el.classList.add("active"),this._onDidStart.fire(re);const Y=(0,k.dS)(this.el),de=()=>{let ue="";te?ue="all-scroll":this.orientation===1?this.state===1?ue="s-resize":this.state===2?ue="n-resize":ue=q.dz?"row-resize":"ns-resize":this.state===1?ue="e-resize":this.state===2?ue="w-resize":ue=q.dz?"col-resize":"ew-resize",Y.textContent=`* { cursor: ${ue} !important; }`},oe=new Z.SL;de(),te||this.onDidEnablementChange.event(de,null,oe);const J=ue=>{k.zB.stop(ue,!1);const ve={startX:_e,currentX:ue.pageX,startY:ge,currentY:ue.pageY,altKey:me};this._onDidChange.fire(ve)},$=ue=>{k.zB.stop(ue,!1),this.el.removeChild(Y),this.el.classList.remove("active"),this._onDidEnd.fire(),oe.dispose();for(const ve of he)ve.classList.remove(T)};X.onPointerMove(J,null,oe),X.onPointerUp($,null,oe),oe.add(X)}onPointerDoublePress(U){const X=this.getOrthogonalSash(U);X&&X._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(U,X=!1){U.el.classList.contains("active")?(U.hoverDelayer.cancel(),U.el.classList.add("hover")):U.hoverDelayer.trigger(()=>U.el.classList.add("hover"),U.hoverDelay).then(void 0,()=>{}),!X&&U.linkedSash&&W.onMouseEnter(U.linkedSash,!0)}static onMouseLeave(U,X=!1){U.hoverDelayer.cancel(),U.el.classList.remove("hover"),!X&&U.linkedSash&&W.onMouseLeave(U.linkedSash,!0)}clearSashHoverState(){W.onMouseLeave(this)}layout(){if(this.orientation===0){const U=this.layoutProvider;this.el.style.left=U.getVerticalSashLeft(this)-this.size/2+"px",U.getVerticalSashTop&&(this.el.style.top=U.getVerticalSashTop(this)+"px"),U.getVerticalSashHeight&&(this.el.style.height=U.getVerticalSashHeight(this)+"px")}else{const U=this.layoutProvider;this.el.style.top=U.getHorizontalSashTop(this)-this.size/2+"px",U.getHorizontalSashLeft&&(this.el.style.left=U.getHorizontalSashLeft(this)+"px"),U.getHorizontalSashWidth&&(this.el.style.width=U.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(U){if(!(!U.target||!(U.target instanceof HTMLElement))&&U.target.classList.contains("orthogonal-drag-handle"))return U.target.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}},9756:(At,Be,m)=>{m.d(Be,{s$:()=>Y,NB:()=>me,$Z:()=>re});var k=m(53909),u=m(22120),ie=m(35788),Q=m(98994),N=m(26964),ne=m(39436),Z=m(49434);const q=11;class z extends ne.${constructor(J){super(),this._onActivate=J.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=J.bgWidth+"px",this.bgDomNode.style.height=J.bgHeight+"px",typeof J.top<"u"&&(this.bgDomNode.style.top="0px"),typeof J.left<"u"&&(this.bgDomNode.style.left="0px"),typeof J.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof J.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=J.className,this.domNode.classList.add(...J.icon.classNamesArray),this.domNode.style.position="absolute",this.domNode.style.width=q+"px",this.domNode.style.height=q+"px",typeof J.top<"u"&&(this.domNode.style.top=J.top+"px"),typeof J.left<"u"&&(this.domNode.style.left=J.left+"px"),typeof J.bottom<"u"&&(this.domNode.style.bottom=J.bottom+"px"),typeof J.right<"u"&&(this.domNode.style.right=J.right+"px"),this._pointerMoveMonitor=this._register(new N.C),this._register(u.mu(this.bgDomNode,u.tw.POINTER_DOWN,$=>this._arrowPointerDown($))),this._register(u.mu(this.domNode,u.tw.POINTER_DOWN,$=>this._arrowPointerDown($))),this._pointerdownRepeatTimer=this._register(new Z.zh),this._pointerdownScheduleRepeatTimer=this._register(new Z._F)}_arrowPointerDown(J){if(!J.target||!(J.target instanceof Element))return;const $=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24)};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet($,200),this._pointerMoveMonitor.startMonitoring(J.target,J.pointerId,J.buttons,ue=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),J.preventDefault()}}var y=m(50149);class C extends y.JT{constructor(J,$,ue){super(),this._visibility=J,this._visibleClassName=$,this._invisibleClassName=ue,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Z._F)}setVisibility(J){this._visibility!==J&&(this._visibility=J,this._updateShouldBeVisible())}setShouldBeVisible(J){this._rawShouldBeVisible=J,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const J=this._applyVisibilitySetting();this._shouldBeVisible!==J&&(this._shouldBeVisible=J,this.ensureVisibility())}setIsNeeded(J){this._isNeeded!==J&&(this._isNeeded=J,this.ensureVisibility())}setDomNode(J){this._domNode=J,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(()=>{var J;(J=this._domNode)===null||J===void 0||J.setClassName(this._visibleClassName)},0))}_hide(J){var $;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,($=this._domNode)===null||$===void 0||$.setClassName(this._invisibleClassName+(J?" fade":"")))}}var L=m(75874);const b=140;class d extends ne.${constructor(J){super(),this._lazyRender=J.lazyRender,this._host=J.host,this._scrollable=J.scrollable,this._scrollByPage=J.scrollByPage,this._scrollbarState=J.scrollbarState,this._visibilityController=this._register(new C(J.visibility,"visible scrollbar "+J.extraScrollbarClassName,"invisible scrollbar "+J.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new N.C),this._shouldRender=!0,this.domNode=(0,ie.X)(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(u.nm(this.domNode.domNode,u.tw.POINTER_DOWN,$=>this._domNodePointerDown($)))}_createArrow(J){const $=this._register(new z(J));this.domNode.domNode.appendChild($.bgDomNode),this.domNode.domNode.appendChild($.domNode)}_createSlider(J,$,ue,ve){this.slider=(0,ie.X)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(J),this.slider.setLeft($),typeof ue=="number"&&this.slider.setWidth(ue),typeof ve=="number"&&this.slider.setHeight(ve),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(u.nm(this.slider.domNode,u.tw.POINTER_DOWN,xe=>{xe.button===0&&(xe.preventDefault(),this._sliderPointerDown(xe))})),this.onclick(this.slider.domNode,xe=>{xe.leftButton&&xe.stopPropagation()})}_onElementSize(J){return this._scrollbarState.setVisibleSize(J)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(J){return this._scrollbarState.setScrollSize(J)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(J){return this._scrollbarState.setScrollPosition(J)&&(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(J){J.target===this.domNode.domNode&&this._onPointerDown(J)}delegatePointerDown(J){const $=this.domNode.domNode.getClientRects()[0].top,ue=$+this._scrollbarState.getSliderPosition(),ve=$+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),xe=this._sliderPointerPosition(J);ue<=xe&&xe<=ve?J.button===0&&(J.preventDefault(),this._sliderPointerDown(J)):this._onPointerDown(J)}_onPointerDown(J){let $,ue;if(J.target===this.domNode.domNode&&typeof J.offsetX=="number"&&typeof J.offsetY=="number")$=J.offsetX,ue=J.offsetY;else{const xe=u.i(this.domNode.domNode);$=J.pageX-xe.left,ue=J.pageY-xe.top}const ve=this._pointerDownRelativePosition($,ue);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(ve):this._scrollbarState.getDesiredScrollPositionFromOffset(ve)),J.button===0&&(J.preventDefault(),this._sliderPointerDown(J))}_sliderPointerDown(J){if(!J.target||!(J.target instanceof Element))return;const $=this._sliderPointerPosition(J),ue=this._sliderOrthogonalPointerPosition(J),ve=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(J.target,J.pointerId,J.buttons,xe=>{const O=this._sliderOrthogonalPointerPosition(xe),rt=Math.abs(O-ue);if(L.ED&&rt>b){this._setDesiredScrollPositionNow(ve.getScrollPosition());return}const Ve=this._sliderPointerPosition(xe)-$;this._setDesiredScrollPositionNow(ve.getDesiredScrollPositionFromDelta(Ve))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(J){const $={};this.writeScrollPosition($,J),this._scrollable.setScrollPositionNow($)}updateScrollbarSize(J){this._updateScrollbarSize(J),this._scrollbarState.setScrollbarSize(J),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const S=20;class E{constructor(J,$,ue,ve,xe,O){this._scrollbarSize=Math.round($),this._oppositeScrollbarSize=Math.round(ue),this._arrowSize=Math.round(J),this._visibleSize=ve,this._scrollSize=xe,this._scrollPosition=O,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new E(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(J){const $=Math.round(J);return this._visibleSize!==$?(this._visibleSize=$,this._refreshComputedValues(),!0):!1}setScrollSize(J){const $=Math.round(J);return this._scrollSize!==$?(this._scrollSize=$,this._refreshComputedValues(),!0):!1}setScrollPosition(J){const $=Math.round(J);return this._scrollPosition!==$?(this._scrollPosition=$,this._refreshComputedValues(),!0):!1}setScrollbarSize(J){this._scrollbarSize=Math.round(J)}setOppositeScrollbarSize(J){this._oppositeScrollbarSize=Math.round(J)}static _computeValues(J,$,ue,ve,xe){const O=Math.max(0,ue-J),rt=Math.max(0,O-2*$),ct=ve>0&&ve>ue;if(!ct)return{computedAvailableSize:Math.round(O),computedIsNeeded:ct,computedSliderSize:Math.round(rt),computedSliderRatio:0,computedSliderPosition:0};const Ve=Math.round(Math.max(S,Math.floor(ue*rt/ve))),$e=(rt-Ve)/(ve-ue),Ee=xe*$e;return{computedAvailableSize:Math.round(O),computedIsNeeded:ct,computedSliderSize:Math.round(Ve),computedSliderRatio:$e,computedSliderPosition:Math.round(Ee)}}_refreshComputedValues(){const J=E._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=J.computedAvailableSize,this._computedIsNeeded=J.computedIsNeeded,this._computedSliderSize=J.computedSliderSize,this._computedSliderRatio=J.computedSliderRatio,this._computedSliderPosition=J.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(J){if(!this._computedIsNeeded)return 0;const $=J-this._arrowSize-this._computedSliderSize/2;return Math.round($/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(J){if(!this._computedIsNeeded)return 0;const $=J-this._arrowSize;let ue=this._scrollPosition;return $<this._computedSliderPosition?ue-=this._visibleSize:ue+=this._visibleSize,ue}getDesiredScrollPositionFromDelta(J){if(!this._computedIsNeeded)return 0;const $=this._computedSliderPosition+J;return Math.round($/this._computedSliderRatio)}}var D=m(15324);class x extends d{constructor(J,$,ue){const ve=J.getScrollDimensions(),xe=J.getCurrentScrollPosition();if(super({lazyRender:$.lazyRender,host:ue,scrollbarState:new E($.horizontalHasArrows?$.arrowSize:0,$.horizontal===2?0:$.horizontalScrollbarSize,$.vertical===2?0:$.verticalScrollbarSize,ve.width,ve.scrollWidth,xe.scrollLeft),visibility:$.horizontal,extraScrollbarClassName:"horizontal",scrollable:J,scrollByPage:$.scrollByPage}),$.horizontalHasArrows){const O=($.arrowSize-q)/2,rt=($.horizontalScrollbarSize-q)/2;this._createArrow({className:"scra",icon:D.lA.scrollbarButtonLeft,top:rt,left:O,bottom:void 0,right:void 0,bgWidth:$.arrowSize,bgHeight:$.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new Q.q(null,1,0))}),this._createArrow({className:"scra",icon:D.lA.scrollbarButtonRight,top:rt,left:void 0,bottom:void 0,right:O,bgWidth:$.arrowSize,bgHeight:$.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new Q.q(null,-1,0))})}this._createSlider(Math.floor(($.horizontalScrollbarSize-$.horizontalSliderSize)/2),0,void 0,$.horizontalSliderSize)}_updateSlider(J,$){this.slider.setWidth(J),this.slider.setLeft($)}_renderDomNode(J,$){this.domNode.setWidth(J),this.domNode.setHeight($),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(J){return this._shouldRender=this._onElementScrollSize(J.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(J.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(J.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(J,$){return J}_sliderPointerPosition(J){return J.pageX}_sliderOrthogonalPointerPosition(J){return J.pageY}_updateScrollbarSize(J){this.slider.setHeight(J)}writeScrollPosition(J,$){J.scrollLeft=$}updateOptions(J){this.updateScrollbarSize(J.horizontal===2?0:J.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(J.vertical===2?0:J.verticalScrollbarSize),this._visibilityController.setVisibility(J.horizontal),this._scrollByPage=J.scrollByPage}}class K extends d{constructor(J,$,ue){const ve=J.getScrollDimensions(),xe=J.getCurrentScrollPosition();if(super({lazyRender:$.lazyRender,host:ue,scrollbarState:new E($.verticalHasArrows?$.arrowSize:0,$.vertical===2?0:$.verticalScrollbarSize,0,ve.height,ve.scrollHeight,xe.scrollTop),visibility:$.vertical,extraScrollbarClassName:"vertical",scrollable:J,scrollByPage:$.scrollByPage}),$.verticalHasArrows){const O=($.arrowSize-q)/2,rt=($.verticalScrollbarSize-q)/2;this._createArrow({className:"scra",icon:D.lA.scrollbarButtonUp,top:O,left:rt,bottom:void 0,right:void 0,bgWidth:$.verticalScrollbarSize,bgHeight:$.arrowSize,onActivate:()=>this._host.onMouseWheel(new Q.q(null,0,1))}),this._createArrow({className:"scra",icon:D.lA.scrollbarButtonDown,top:void 0,left:rt,bottom:O,right:void 0,bgWidth:$.verticalScrollbarSize,bgHeight:$.arrowSize,onActivate:()=>this._host.onMouseWheel(new Q.q(null,0,-1))})}this._createSlider(0,Math.floor(($.verticalScrollbarSize-$.verticalSliderSize)/2),$.verticalSliderSize,void 0)}_updateSlider(J,$){this.slider.setHeight(J),this.slider.setTop($)}_renderDomNode(J,$){this.domNode.setWidth($),this.domNode.setHeight(J),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(J){return this._shouldRender=this._onElementScrollSize(J.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(J.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(J.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(J,$){return $}_sliderPointerPosition(J){return J.pageY}_sliderOrthogonalPointerPosition(J){return J.pageX}_updateScrollbarSize(J){this.slider.setWidth(J)}writeScrollPosition(J,$){J.scrollTop=$}updateOptions(J){this.updateScrollbarSize(J.vertical===2?0:J.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(J.vertical),this._scrollByPage=J.scrollByPage}}var T=m(86640),W=m(3759),A=m(75906);const U=500,X=50,te=!0;class he{constructor(J,$,ue){this.timestamp=J,this.deltaX=$,this.deltaY=ue,this.score=0}}class _e{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let J=1,$=0,ue=1,ve=this._rear;do{const xe=ve===this._front?J:Math.pow(2,-ue);if(J-=xe,$+=this._memory[ve].score*xe,ve===this._front)break;ve=(this._capacity+ve-1)%this._capacity,ue++}while(!0);return $<=.5}accept(J,$,ue){const ve=new he(J,$,ue);ve.score=this._computeScore(ve),this._front===-1&&this._rear===-1?(this._memory[0]=ve,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=ve)}_computeScore(J){if(Math.abs(J.deltaX)>0&&Math.abs(J.deltaY)>0)return 1;let $=.5;const ue=this._front===-1&&this._rear===-1?null:this._memory[this._rear];return(!this._isAlmostInt(J.deltaX)||!this._isAlmostInt(J.deltaY))&&($+=.25),Math.min(Math.max($,0),1)}_isAlmostInt(J){return Math.abs(Math.round(J)-J)<.01}}_e.INSTANCE=new _e;class ge extends ne.${constructor(J,$,ue){super(),this._onScroll=this._register(new T.Q5),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new T.Q5),J.style.overflow="hidden",this._options=de($),this._scrollable=ue,this._register(this._scrollable.onScroll(xe=>{this._onWillScroll.fire(xe),this._onDidScroll(xe),this._onScroll.fire(xe)}));const ve={onMouseWheel:xe=>this._onMouseWheel(xe),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new K(this._scrollable,this._options,ve)),this._horizontalScrollbar=this._register(new x(this._scrollable,this._options,ve)),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(J),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,ie.X)(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,ie.X)(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,ie.X)(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,xe=>this._onMouseOver(xe)),this.onmouseleave(this._listenOnDomNode,xe=>this._onMouseLeave(xe)),this._hideTimeout=this._register(new Z._F),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=(0,y.B9)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(J){this._verticalScrollbar.delegatePointerDown(J)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(J){this._scrollable.setScrollDimensions(J,!1)}updateClassName(J){this._options.className=J,L.dz&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(J){typeof J.handleMouseWheel<"u"&&(this._options.handleMouseWheel=J.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof J.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=J.mouseWheelScrollSensitivity),typeof J.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=J.fastScrollSensitivity),typeof J.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=J.scrollPredominantAxis),typeof J.horizontal<"u"&&(this._options.horizontal=J.horizontal),typeof J.vertical<"u"&&(this._options.vertical=J.vertical),typeof J.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=J.horizontalScrollbarSize),typeof J.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=J.verticalScrollbarSize),typeof J.scrollByPage<"u"&&(this._options.scrollByPage=J.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}_setListeningToMouseWheel(J){if(this._mouseWheelToDispose.length>0!==J&&(this._mouseWheelToDispose=(0,y.B9)(this._mouseWheelToDispose),J)){const ue=ve=>{this._onMouseWheel(new Q.q(ve))};this._mouseWheelToDispose.push(u.nm(this._listenOnDomNode,u.tw.MOUSE_WHEEL,ue,{passive:!1}))}}_onMouseWheel(J){const $=_e.INSTANCE;if(te){const xe=window.devicePixelRatio/(0,k.getZoomFactor)();L.ED||L.IJ?$.accept(Date.now(),J.deltaX/xe,J.deltaY/xe):$.accept(Date.now(),J.deltaX,J.deltaY)}let ue=!1;if(J.deltaY||J.deltaX){let xe=J.deltaY*this._options.mouseWheelScrollSensitivity,O=J.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(Math.abs(xe)>=Math.abs(O)?O=0:xe=0),this._options.flipAxes&&([xe,O]=[O,xe]);const rt=!L.dz&&J.browserEvent&&J.browserEvent.shiftKey;(this._options.scrollYToX||rt)&&!O&&(O=xe,xe=0),J.browserEvent&&J.browserEvent.altKey&&(O=O*this._options.fastScrollSensitivity,xe=xe*this._options.fastScrollSensitivity);const ct=this._scrollable.getFutureScrollPosition();let Ve={};if(xe){const $e=X*xe,Ee=ct.scrollTop-($e<0?Math.floor($e):Math.ceil($e));this._verticalScrollbar.writeScrollPosition(Ve,Ee)}if(O){const $e=X*O,Ee=ct.scrollLeft-($e<0?Math.floor($e):Math.ceil($e));this._horizontalScrollbar.writeScrollPosition(Ve,Ee)}Ve=this._scrollable.validateScrollPosition(Ve),(ct.scrollLeft!==Ve.scrollLeft||ct.scrollTop!==Ve.scrollTop)&&(te&&this._options.mouseWheelSmoothScroll&&$.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(Ve):this._scrollable.setScrollPositionNow(Ve),ue=!0)}let ve=ue;!ve&&this._options.alwaysConsumeMouseWheel&&(ve=!0),!ve&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(ve=!0),ve&&(J.preventDefault(),J.stopPropagation())}_onDidScroll(J){this._shouldRender=this._horizontalScrollbar.onDidScroll(J)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(J)||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 J=this._scrollable.getCurrentScrollPosition(),$=J.scrollTop>0,ue=J.scrollLeft>0,ve=ue?" left":"",xe=$?" top":"",O=ue||$?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${ve}`),this._topShadowDomNode.setClassName(`shadow${xe}`),this._topLeftShadowDomNode.setClassName(`shadow${O}${xe}${ve}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(J){this._mouseIsOver=!1,this._hide()}_onMouseOver(J){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(),U)}}class me extends ge{constructor(J,$){$=$||{},$.mouseWheelSmoothScroll=!1;const ue=new W.Rm({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:ve=>u.jL(ve)});super(J,$,ue),this._register(ue)}setScrollPosition(J){this._scrollable.setScrollPositionNow(J)}}class re extends ge{constructor(J,$,ue){super(J,$,ue)}setScrollPosition(J){J.reuseAnimation?this._scrollable.setScrollPositionSmooth(J,J.reuseAnimation):this._scrollable.setScrollPositionNow(J)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Y extends ge{constructor(J,$){$=$||{},$.mouseWheelSmoothScroll=!1;const ue=new W.Rm({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:ve=>u.jL(ve)});super(J,$,ue),this._register(ue),this._element=J,this.onScroll(ve=>{ve.scrollTopChanged&&(this._element.scrollTop=ve.scrollTop),ve.scrollLeftChanged&&(this._element.scrollLeft=ve.scrollLeft)}),this.scanDomNode()}setScrollPosition(J){this._scrollable.setScrollPositionNow(J)}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 de(oe){const J={lazyRender:typeof oe.lazyRender<"u"?oe.lazyRender:!1,className:typeof oe.className<"u"?oe.className:"",useShadows:typeof oe.useShadows<"u"?oe.useShadows:!0,handleMouseWheel:typeof oe.handleMouseWheel<"u"?oe.handleMouseWheel:!0,flipAxes:typeof oe.flipAxes<"u"?oe.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof oe.consumeMouseWheelIfScrollbarIsNeeded<"u"?oe.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof oe.alwaysConsumeMouseWheel<"u"?oe.alwaysConsumeMouseWheel:!1,scrollYToX:typeof oe.scrollYToX<"u"?oe.scrollYToX:!1,mouseWheelScrollSensitivity:typeof oe.mouseWheelScrollSensitivity<"u"?oe.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof oe.fastScrollSensitivity<"u"?oe.fastScrollSensitivity:5,scrollPredominantAxis:typeof oe.scrollPredominantAxis<"u"?oe.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof oe.mouseWheelSmoothScroll<"u"?oe.mouseWheelSmoothScroll:!0,arrowSize:typeof oe.arrowSize<"u"?oe.arrowSize:11,listenOnDomNode:typeof oe.listenOnDomNode<"u"?oe.listenOnDomNode:null,horizontal:typeof oe.horizontal<"u"?oe.horizontal:1,horizontalScrollbarSize:typeof oe.horizontalScrollbarSize<"u"?oe.horizontalScrollbarSize:10,horizontalSliderSize:typeof oe.horizontalSliderSize<"u"?oe.horizontalSliderSize:0,horizontalHasArrows:typeof oe.horizontalHasArrows<"u"?oe.horizontalHasArrows:!1,vertical:typeof oe.vertical<"u"?oe.vertical:1,verticalScrollbarSize:typeof oe.verticalScrollbarSize<"u"?oe.verticalScrollbarSize:10,verticalHasArrows:typeof oe.verticalHasArrows<"u"?oe.verticalHasArrows:!1,verticalSliderSize:typeof oe.verticalSliderSize<"u"?oe.verticalSliderSize:0,scrollByPage:typeof oe.scrollByPage<"u"?oe.scrollByPage:!1};return J.horizontalSliderSize=typeof oe.horizontalSliderSize<"u"?oe.horizontalSliderSize:J.horizontalScrollbarSize,J.verticalSliderSize=typeof oe.verticalSliderSize<"u"?oe.verticalSliderSize:J.verticalScrollbarSize,L.dz&&(J.className+=" mac"),J}},41250:(At,Be,m)=>{m.d(Be,{M:()=>D,z:()=>x});var k=m(22120),u=m(24641),ie=m(9756),Q=m(99359),N=m(80733),ne=m(86640),Z=m(50149),q=m(54060),z=m(3759),y=m(4626),C=m(52905);const L={separatorBorder:N.Il.transparent};class b{constructor(T,W,A,U){this.container=T,this.view=W,this.disposable=U,this._cachedVisibleSize=void 0,typeof A=="number"?(this._size=A,this._cachedVisibleSize=void 0,T.classList.add("visible")):(this._size=0,this._cachedVisibleSize=A.cachedVisibleSize)}set size(T){this._size=T}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(T,W){var A,U;T!==this.visible&&(T?(this.size=(0,q.uZ)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof W=="number"?W:this.size,this.size=0),this.container.classList.toggle("visible",T),(U=(A=this.view).setVisible)===null||U===void 0||U.call(A,T))}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 snap(){return!!this.view.snap}set enabled(T){this.container.style.pointerEvents=T?"":"none"}layout(T,W){this.layoutContainer(T),this.view.layout(this.size,T,W)}dispose(){return this.disposable.dispose(),this.view}}class d extends b{layoutContainer(T){this.container.style.top=`${T}px`,this.container.style.height=`${this.size}px`}}class S extends b{layoutContainer(T){this.container.style.left=`${T}px`,this.container.style.width=`${this.size}px`}}var E;(function(K){K[K.Idle=0]="Idle",K[K.Busy=1]="Busy"})(E||(E={}));var D;(function(K){K.Distribute={type:"distribute"};function T(A){return{type:"split",index:A}}K.Split=T;function W(A){return{type:"invisible",cachedVisibleSize:A}}K.Invisible=W})(D||(D={}));class x extends Z.JT{constructor(T,W={}){var A,U,X,te,he;super(),this.size=0,this.contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=E.Idle,this._onDidSashChange=this._register(new ne.Q5),this._onDidSashReset=this._register(new ne.Q5),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=(A=W.orientation)!==null&&A!==void 0?A:0,this.inverseAltBehavior=(U=W.inverseAltBehavior)!==null&&U!==void 0?U:!1,this.proportionalLayout=(X=W.proportionalLayout)!==null&&X!==void 0?X:!0,this.getSashOrthogonalSize=W.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),T.appendChild(this.el),this.sashContainer=(0,k.R3)(this.el,(0,k.$)(".sash-container")),this.viewContainer=(0,k.$)(".split-view-container"),this.scrollable=new z.Rm({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:k.jL}),this.scrollableElement=this._register(new ie.$Z(this.viewContainer,{vertical:this.orientation===0?(te=W.scrollbarVisibility)!==null&&te!==void 0?te:1:2,horizontal:this.orientation===1?(he=W.scrollbarVisibility)!==null&&he!==void 0?he:1:2},this.scrollable)),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(_e=>{this.viewContainer.scrollTop=_e.scrollTop,this.viewContainer.scrollLeft=_e.scrollLeft})),(0,k.R3)(this.el,this.scrollableElement.getDomNode()),this.style(W.styles||L),W.descriptor&&(this.size=W.descriptor.size,W.descriptor.views.forEach((_e,ge)=>{const me=y.o8(_e.visible)||_e.visible?_e.size:{type:"invisible",cachedVisibleSize:_e.size},re=_e.view;this.doAddView(re,me,ge,!0)}),this.contentSize=this.viewItems.reduce((_e,ge)=>_e+ge.size,0),this.saveProportions())}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(T){for(const W of this.sashItems)W.sash.orthogonalStartSash=T;this._orthogonalStartSash=T}set orthogonalEndSash(T){for(const W of this.sashItems)W.sash.orthogonalEndSash=T;this._orthogonalEndSash=T}set startSnappingEnabled(T){this._startSnappingEnabled!==T&&(this._startSnappingEnabled=T,this.updateSashEnablement())}set endSnappingEnabled(T){this._endSnappingEnabled!==T&&(this._endSnappingEnabled=T,this.updateSashEnablement())}style(T){T.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",T.separatorBorder.toString()))}addView(T,W,A=this.viewItems.length,U){this.doAddView(T,W,A,U)}layout(T,W){const A=Math.max(this.size,this.contentSize);if(this.size=T,this.layoutContext=W,this.proportions)for(let U=0;U<this.viewItems.length;U++){const X=this.viewItems[U];X.size=(0,q.uZ)(Math.round(this.proportions[U]*T),X.minimumSize,X.maximumSize)}else{const U=(0,Q.w6)(this.viewItems.length),X=U.filter(he=>this.viewItems[he].priority===1),te=U.filter(he=>this.viewItems[he].priority===2);this.resize(this.viewItems.length-1,T-A,void 0,X,te)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this.contentSize>0&&(this.proportions=this.viewItems.map(T=>T.size/this.contentSize))}onSashStart({sash:T,start:W,alt:A}){for(const he of this.viewItems)he.enabled=!1;const U=this.sashItems.findIndex(he=>he.sash===T),X=(0,Z.F8)((0,k.nm)(document.body,"keydown",he=>te(this.sashDragState.current,he.altKey)),(0,k.nm)(document.body,"keyup",()=>te(this.sashDragState.current,!1))),te=(he,_e)=>{const ge=this.viewItems.map(oe=>oe.size);let me=Number.NEGATIVE_INFINITY,re=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(_e=!_e),_e)if(U===this.sashItems.length-1){const J=this.viewItems[U];me=(J.minimumSize-J.size)/2,re=(J.maximumSize-J.size)/2}else{const J=this.viewItems[U+1];me=(J.size-J.maximumSize)/2,re=(J.size-J.minimumSize)/2}let Y,de;if(!_e){const oe=(0,Q.w6)(U,-1),J=(0,Q.w6)(U+1,this.viewItems.length),$=oe.reduce(($e,Ee)=>$e+(this.viewItems[Ee].minimumSize-ge[Ee]),0),ue=oe.reduce(($e,Ee)=>$e+(this.viewItems[Ee].viewMaximumSize-ge[Ee]),0),ve=J.length===0?Number.POSITIVE_INFINITY:J.reduce(($e,Ee)=>$e+(ge[Ee]-this.viewItems[Ee].minimumSize),0),xe=J.length===0?Number.NEGATIVE_INFINITY:J.reduce(($e,Ee)=>$e+(ge[Ee]-this.viewItems[Ee].viewMaximumSize),0),O=Math.max($,xe),rt=Math.min(ve,ue),ct=this.findFirstSnapIndex(oe),Ve=this.findFirstSnapIndex(J);if(typeof ct=="number"){const $e=this.viewItems[ct],Ee=Math.floor($e.viewMinimumSize/2);Y={index:ct,limitDelta:$e.visible?O-Ee:O+Ee,size:$e.size}}if(typeof Ve=="number"){const $e=this.viewItems[Ve],Ee=Math.floor($e.viewMinimumSize/2);de={index:Ve,limitDelta:$e.visible?rt+Ee:rt-Ee,size:$e.size}}}this.sashDragState={start:he,current:he,index:U,sizes:ge,minDelta:me,maxDelta:re,alt:_e,snapBefore:Y,snapAfter:de,disposable:X}};te(W,A)}onSashChange({current:T}){const{index:W,start:A,sizes:U,alt:X,minDelta:te,maxDelta:he,snapBefore:_e,snapAfter:ge}=this.sashDragState;this.sashDragState.current=T;const me=T-A,re=this.resize(W,me,U,void 0,void 0,te,he,_e,ge);if(X){const Y=W===this.sashItems.length-1,de=this.viewItems.map(xe=>xe.size),oe=Y?W:W+1,J=this.viewItems[oe],$=J.size-J.maximumSize,ue=J.size-J.minimumSize,ve=Y?W-1:W+1;this.resize(ve,-re,de,void 0,void 0,$,ue)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(T){this._onDidSashChange.fire(T),this.sashDragState.disposable.dispose(),this.saveProportions();for(const W of this.viewItems)W.enabled=!0}onViewChange(T,W){const A=this.viewItems.indexOf(T);A<0||A>=this.viewItems.length||(W=typeof W=="number"?W:T.size,W=(0,q.uZ)(W,T.minimumSize,T.maximumSize),this.inverseAltBehavior&&A>0?(this.resize(A-1,Math.floor((T.size-W)/2)),this.distributeEmptySpace(),this.layoutViews()):(T.size=W,this.relayout([A],void 0)))}resizeView(T,W){if(this.state!==E.Idle)throw new Error("Cant modify splitview");if(this.state=E.Busy,T<0||T>=this.viewItems.length)return;const A=(0,Q.w6)(this.viewItems.length).filter(he=>he!==T),U=[...A.filter(he=>this.viewItems[he].priority===1),T],X=A.filter(he=>this.viewItems[he].priority===2),te=this.viewItems[T];W=Math.round(W),W=(0,q.uZ)(W,te.minimumSize,Math.min(te.maximumSize,this.size)),te.size=W,this.relayout(U,X),this.state=E.Idle}distributeViewSizes(){const T=[];let W=0;for(const he of this.viewItems)he.maximumSize-he.minimumSize>0&&(T.push(he),W+=he.size);const A=Math.floor(W/T.length);for(const he of T)he.size=(0,q.uZ)(A,he.minimumSize,he.maximumSize);const U=(0,Q.w6)(this.viewItems.length),X=U.filter(he=>this.viewItems[he].priority===1),te=U.filter(he=>this.viewItems[he].priority===2);this.relayout(X,te)}getViewSize(T){return T<0||T>=this.viewItems.length?-1:this.viewItems[T].size}doAddView(T,W,A=this.viewItems.length,U){if(this.state!==E.Idle)throw new Error("Cant modify splitview");this.state=E.Busy;const X=(0,k.$)(".split-view-view");A===this.viewItems.length?this.viewContainer.appendChild(X):this.viewContainer.insertBefore(X,this.viewContainer.children.item(A));const te=T.onDidChange(Y=>this.onViewChange(me,Y)),he=(0,Z.OF)(()=>this.viewContainer.removeChild(X)),_e=(0,Z.F8)(te,he);let ge;typeof W=="number"?ge=W:W.type==="split"?ge=this.getViewSize(W.index)/2:W.type==="invisible"?ge={cachedVisibleSize:W.cachedVisibleSize}:ge=T.minimumSize;const me=this.orientation===0?new d(X,T,ge,_e):new S(X,T,ge,_e);if(this.viewItems.splice(A,0,me),this.viewItems.length>1){const Y={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},de=this.orientation===0?new u.g(this.sashContainer,{getHorizontalSashTop:$e=>this.getSashPosition($e),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},Y),{orientation:1})):new u.g(this.sashContainer,{getVerticalSashLeft:$e=>this.getSashPosition($e),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},Y),{orientation:0})),oe=this.orientation===0?$e=>({sash:de,start:$e.startY,current:$e.currentY,alt:$e.altKey}):$e=>({sash:de,start:$e.startX,current:$e.currentX,alt:$e.altKey}),$=ne.ju.map(de.onDidStart,oe)(this.onSashStart,this),ve=ne.ju.map(de.onDidChange,oe)(this.onSashChange,this),O=ne.ju.map(de.onDidEnd,()=>this.sashItems.findIndex($e=>$e.sash===de))(this.onSashEnd,this),rt=de.onDidReset(()=>{const $e=this.sashItems.findIndex(tt=>tt.sash===de),Ee=(0,Q.w6)($e,-1),Fe=(0,Q.w6)($e+1,this.viewItems.length),je=this.findFirstSnapIndex(Ee),Re=this.findFirstSnapIndex(Fe);typeof je=="number"&&!this.viewItems[je].visible||typeof Re=="number"&&!this.viewItems[Re].visible||this._onDidSashReset.fire($e)}),ct=(0,Z.F8)($,ve,O,rt,de),Ve={sash:de,disposable:ct};this.sashItems.splice(A-1,0,Ve)}X.appendChild(T.element);let re;typeof W!="number"&&W.type==="split"&&(re=[W.index]),U||this.relayout([A],re),this.state=E.Idle,!U&&typeof W!="number"&&W.type==="distribute"&&this.distributeViewSizes()}relayout(T,W){const A=this.viewItems.reduce((U,X)=>U+X.size,0);this.resize(this.viewItems.length-1,this.size-A,void 0,T,W),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(T,W,A=this.viewItems.map(me=>me.size),U,X,te=Number.NEGATIVE_INFINITY,he=Number.POSITIVE_INFINITY,_e,ge){if(T<0||T>=this.viewItems.length)return 0;const me=(0,Q.w6)(T,-1),re=(0,Q.w6)(T+1,this.viewItems.length);if(X)for(const Ve of X)(0,Q.zI)(me,Ve),(0,Q.zI)(re,Ve);if(U)for(const Ve of U)(0,Q.al)(me,Ve),(0,Q.al)(re,Ve);const Y=me.map(Ve=>this.viewItems[Ve]),de=me.map(Ve=>A[Ve]),oe=re.map(Ve=>this.viewItems[Ve]),J=re.map(Ve=>A[Ve]),$=me.reduce((Ve,$e)=>Ve+(this.viewItems[$e].minimumSize-A[$e]),0),ue=me.reduce((Ve,$e)=>Ve+(this.viewItems[$e].maximumSize-A[$e]),0),ve=re.length===0?Number.POSITIVE_INFINITY:re.reduce((Ve,$e)=>Ve+(A[$e]-this.viewItems[$e].minimumSize),0),xe=re.length===0?Number.NEGATIVE_INFINITY:re.reduce((Ve,$e)=>Ve+(A[$e]-this.viewItems[$e].maximumSize),0),O=Math.max($,xe,te),rt=Math.min(ve,ue,he);let ct=!1;if(_e){const Ve=this.viewItems[_e.index],$e=W>=_e.limitDelta;ct=$e!==Ve.visible,Ve.setVisible($e,_e.size)}if(!ct&&ge){const Ve=this.viewItems[ge.index],$e=W<ge.limitDelta;ct=$e!==Ve.visible,Ve.setVisible($e,ge.size)}if(ct)return this.resize(T,W,A,U,X,te,he);W=(0,q.uZ)(W,O,rt);for(let Ve=0,$e=W;Ve<Y.length;Ve++){const Ee=Y[Ve],Fe=(0,q.uZ)(de[Ve]+$e,Ee.minimumSize,Ee.maximumSize),je=Fe-de[Ve];$e-=je,Ee.size=Fe}for(let Ve=0,$e=W;Ve<oe.length;Ve++){const Ee=oe[Ve],Fe=(0,q.uZ)(J[Ve]-$e,Ee.minimumSize,Ee.maximumSize),je=Fe-J[Ve];$e+=je,Ee.size=Fe}return W}distributeEmptySpace(T){const W=this.viewItems.reduce((he,_e)=>he+_e.size,0);let A=this.size-W;const U=(0,Q.w6)(this.viewItems.length-1,-1),X=U.filter(he=>this.viewItems[he].priority===1),te=U.filter(he=>this.viewItems[he].priority===2);for(const he of te)(0,Q.zI)(U,he);for(const he of X)(0,Q.al)(U,he);typeof T=="number"&&(0,Q.al)(U,T);for(let he=0;A!==0&&he<U.length;he++){const _e=this.viewItems[U[he]],ge=(0,q.uZ)(_e.size+A,_e.minimumSize,_e.maximumSize),me=ge-_e.size;A-=me,_e.size=ge}}layoutViews(){this.contentSize=this.viewItems.reduce((W,A)=>W+A.size,0);let T=0;for(const W of this.viewItems)W.layout(T,this.layoutContext),T+=W.size;this.sashItems.forEach(W=>W.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 T=!1;const W=this.viewItems.map(_e=>T=_e.size-_e.minimumSize>0||T);T=!1;const A=this.viewItems.map(_e=>T=_e.maximumSize-_e.size>0||T),U=[...this.viewItems].reverse();T=!1;const X=U.map(_e=>T=_e.size-_e.minimumSize>0||T).reverse();T=!1;const te=U.map(_e=>T=_e.maximumSize-_e.size>0||T).reverse();let he=0;for(let _e=0;_e<this.sashItems.length;_e++){const{sash:ge}=this.sashItems[_e],me=this.viewItems[_e];he+=me.size;const re=!(W[_e]&&te[_e+1]),Y=!(A[_e]&&X[_e+1]);if(re&&Y){const de=(0,Q.w6)(_e,-1),oe=(0,Q.w6)(_e+1,this.viewItems.length),J=this.findFirstSnapIndex(de),$=this.findFirstSnapIndex(oe),ue=typeof J=="number"&&!this.viewItems[J].visible,ve=typeof $=="number"&&!this.viewItems[$].visible;ue&&X[_e]&&(he>0||this.startSnappingEnabled)?ge.state=1:ve&&W[_e]&&(he<this.contentSize||this.endSnappingEnabled)?ge.state=2:ge.state=0}else re&&!Y?ge.state=1:!re&&Y?ge.state=2:ge.state=3}}getSashPosition(T){let W=0;for(let A=0;A<this.sashItems.length;A++)if(W+=this.viewItems[A].size,this.sashItems[A].sash===T)return W;return 0}findFirstSnapIndex(T){for(const W of T){const A=this.viewItems[W];if(A.visible&&A.snap)return W}for(const W of T){const A=this.viewItems[W];if(A.visible&&A.maximumSize-A.minimumSize>0)return;if(!A.visible&&A.snap)return W}}dispose(){super.dispose(),(0,Z.B9)(this.viewItems),this.viewItems=[],this.sashItems.forEach(T=>T.disposable.dispose()),this.sashItems=[]}}},94085:(At,Be,m)=>{m.d(Be,{Z:()=>Z});var k=m(39436),u=m(15324),ie=m(80733),Q=m(86640),N=m(78697);const ne={inputActiveOptionBorder:ie.Il.fromHex("#007ACC00"),inputActiveOptionForeground:ie.Il.fromHex("#FFFFFF"),inputActiveOptionBackground:ie.Il.fromHex("#0E639C50")};class Z extends k.${constructor(z){super(),this._onChange=this._register(new Q.Q5),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Q.Q5),this.onKeyDown=this._onKeyDown.event,this._opts=Object.assign(Object.assign({},ne),z),this._checked=this._opts.isChecked;const y=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,y.push(...u.dT.asClassNameArray(this._icon))),this._opts.actionClassName&&y.push(...this._opts.actionClassName.split(" ")),this._checked&&y.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...y),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,C=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),C.preventDefault())}),this.ignoreGesture(this.domNode),this.onkeydown(this.domNode,C=>{if(C.keyCode===10||C.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),C.preventDefault(),C.stopPropagation();return}this._onKeyDown.fire(C)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(z){this._checked=z,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 2+2+2+16}style(z){z.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=z.inputActiveOptionBorder),z.inputActiveOptionForeground&&(this._opts.inputActiveOptionForeground=z.inputActiveOptionForeground),z.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=z.inputActiveOptionBackground),this.applyStyles()}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground?this._opts.inputActiveOptionForeground.toString():"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}},39436:(At,Be,m)=>{m.d(Be,{$:()=>ne});var k=m(22120),u=m(21458),ie=m(98994),Q=m(24640),N=m(50149);class ne extends N.JT{onclick(q,z){this._register(k.nm(q,k.tw.CLICK,y=>z(new ie.n(y))))}onmousedown(q,z){this._register(k.nm(q,k.tw.MOUSE_DOWN,y=>z(new ie.n(y))))}onmouseover(q,z){this._register(k.nm(q,k.tw.MOUSE_OVER,y=>z(new ie.n(y))))}onmouseleave(q,z){this._register(k.nm(q,k.tw.MOUSE_LEAVE,y=>z(new ie.n(y))))}onkeydown(q,z){this._register(k.nm(q,k.tw.KEY_DOWN,y=>z(new u.y(y))))}onkeyup(q,z){this._register(k.nm(q,k.tw.KEY_UP,y=>z(new u.y(y))))}oninput(q,z){this._register(k.nm(q,k.tw.INPUT,z))}onblur(q,z){this._register(k.nm(q,k.tw.BLUR,z))}onfocus(q,z){this._register(k.nm(q,k.tw.FOCUS,z))}ignoreGesture(q){Q.o.ignoreTarget(q)}}},2599:(At,Be,m)=>{m.d(Be,{Wi:()=>ne,Z0:()=>Z,aU:()=>N,eZ:()=>z,wY:()=>q,xw:()=>y});var k=m(86640),u=m(50149),ie=m(88631),Q=function(C,L,b,d){function S(E){return E instanceof b?E:new b(function(D){D(E)})}return new(b||(b=Promise))(function(E,D){function x(W){try{T(d.next(W))}catch(A){D(A)}}function K(W){try{T(d.throw(W))}catch(A){D(A)}}function T(W){W.done?E(W.value):S(W.value).then(x,K)}T((d=d.apply(C,L||[])).next())})};class N extends u.JT{constructor(L,b="",d="",S=!0,E){super(),this._onDidChange=this._register(new k.Q5),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=L,this._label=b,this._cssClass=d,this._enabled=S,this._actionCallback=E}get id(){return this._id}get label(){return this._label}set label(L){this._setLabel(L)}_setLabel(L){this._label!==L&&(this._label=L,this._onDidChange.fire({label:L}))}get tooltip(){return this._tooltip||""}set tooltip(L){this._setTooltip(L)}_setTooltip(L){this._tooltip!==L&&(this._tooltip=L,this._onDidChange.fire({tooltip:L}))}get class(){return this._cssClass}set class(L){this._setClass(L)}_setClass(L){this._cssClass!==L&&(this._cssClass=L,this._onDidChange.fire({class:L}))}get enabled(){return this._enabled}set enabled(L){this._setEnabled(L)}_setEnabled(L){this._enabled!==L&&(this._enabled=L,this._onDidChange.fire({enabled:L}))}get checked(){return this._checked}set checked(L){this._setChecked(L)}_setChecked(L){this._checked!==L&&(this._checked=L,this._onDidChange.fire({checked:L}))}run(L,b){return Q(this,void 0,void 0,function*(){this._actionCallback&&(yield this._actionCallback(L))})}}class ne extends u.JT{constructor(){super(...arguments),this._onBeforeRun=this._register(new k.Q5),this.onBeforeRun=this._onBeforeRun.event,this._onDidRun=this._register(new k.Q5),this.onDidRun=this._onDidRun.event}run(L,b){return Q(this,void 0,void 0,function*(){if(!L.enabled)return;this._onBeforeRun.fire({action:L});let d;try{yield this.runAction(L,b)}catch(S){d=S}this._onDidRun.fire({action:L,error:d})})}runAction(L,b){return Q(this,void 0,void 0,function*(){yield L.run(b)})}}class Z extends N{constructor(L){super(Z.ID,L,L?"separator text":"separator"),this.checked=!1,this.enabled=!1}}Z.ID="vs.actions.separator";class q{constructor(L,b,d,S){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=L,this.label=b,this.class=S,this._actions=d}get actions(){return this._actions}dispose(){}run(){return Q(this,void 0,void 0,function*(){})}}class z extends N{constructor(){super(z.ID,ie.NC("submenu.empty","(empty)"),void 0,!1)}}z.ID="vs.actions.empty";function y(C){var L,b;return{id:C.id,label:C.label,class:void 0,enabled:(L=C.enabled)!==null&&L!==void 0?L:!0,checked:(b=C.checked)!==null&&b!==void 0?b:!1,run:()=>Q(this,void 0,void 0,function*(){return C.run()}),tooltip:C.label,dispose:()=>{}}}},99359:(At,Be,m)=>{m.d(Be,{Dc:()=>me,EB:()=>b,Gb:()=>k,H9:()=>de,HW:()=>q,JH:()=>u,LS:()=>Q,Of:()=>L,VJ:()=>Y,XY:()=>C,Xh:()=>E,Zv:()=>x,_2:()=>A,al:()=>T,dF:()=>d,db:()=>X,fS:()=>ie,fv:()=>ge,jV:()=>re,kX:()=>y,lG:()=>Z,ry:()=>N,tT:()=>_e,vA:()=>W,vM:()=>z,w6:()=>D,zI:()=>K});function k(oe,J=0){return oe[oe.length-(1+J)]}function u(oe){if(oe.length===0)throw new Error("Invalid tail call");return[oe.slice(0,oe.length-1),oe[oe.length-1]]}function ie(oe,J,$=(ue,ve)=>ue===ve){if(oe===J)return!0;if(!oe||!J||oe.length!==J.length)return!1;for(let ue=0,ve=oe.length;ue<ve;ue++)if(!$(oe[ue],J[ue]))return!1;return!0}function Q(oe,J){const $=oe.length-1;J<$&&(oe[J]=oe[$]),oe.pop()}function N(oe,J,$){return ne(oe.length,ue=>$(oe[ue],J))}function ne(oe,J){let $=0,ue=oe-1;for(;$<=ue;){const ve=($+ue)/2|0,xe=J(ve);if(xe<0)$=ve+1;else if(xe>0)ue=ve-1;else return ve}return-($+1)}function Z(oe,J){let $=0,ue=oe.length;if(ue===0)return 0;for(;$<ue;){const ve=Math.floor(($+ue)/2);J(oe[ve])?ue=ve:$=ve+1}return $}function q(oe,J,$){if(oe=oe|0,oe>=J.length)throw new TypeError("invalid index");const ue=J[Math.floor(J.length*Math.random())],ve=[],xe=[],O=[];for(const rt of J){const ct=$(rt,ue);ct<0?ve.push(rt):ct>0?xe.push(rt):O.push(rt)}return oe<ve.length?q(oe,ve,$):oe<ve.length+O.length?O[0]:q(oe-(ve.length+O.length),xe,$)}function z(oe,J){const $=[];let ue;for(const ve of oe.slice(0).sort(J))!ue||J(ue[0],ve)!==0?(ue=[ve],$.push(ue)):ue.push(ve);return $}function y(oe){return oe.filter(J=>!!J)}function C(oe){return!Array.isArray(oe)||oe.length===0}function L(oe){return Array.isArray(oe)&&oe.length>0}function b(oe,J=$=>$){const $=new Set;return oe.filter(ue=>{const ve=J(ue);return $.has(ve)?!1:($.add(ve),!0)})}function d(oe,J){const $=S(oe,J);if($!==-1)return oe[$]}function S(oe,J){for(let $=oe.length-1;$>=0;$--){const ue=oe[$];if(J(ue))return $}return-1}function E(oe,J){return oe.length>0?oe[0]:J}function D(oe,J){let $=typeof J=="number"?oe:0;typeof J=="number"?$=oe:($=0,J=oe);const ue=[];if($<=J)for(let ve=$;ve<J;ve++)ue.push(ve);else for(let ve=$;ve>J;ve--)ue.push(ve);return ue}function x(oe,J,$){const ue=oe.slice(0,J),ve=oe.slice(J);return ue.concat($,ve)}function K(oe,J){const $=oe.indexOf(J);$>-1&&(oe.splice($,1),oe.unshift(J))}function T(oe,J){const $=oe.indexOf(J);$>-1&&(oe.splice($,1),oe.push(J))}function W(oe,J){for(const $ of J)oe.push($)}function A(oe){return Array.isArray(oe)?oe:[oe]}function U(oe,J,$){const ue=te(oe,J),ve=oe.length,xe=$.length;oe.length=ve+xe;for(let O=ve-1;O>=ue;O--)oe[O+xe]=oe[O];for(let O=0;O<xe;O++)oe[O+ue]=$[O]}function X(oe,J,$,ue){const ve=te(oe,J),xe=oe.splice(ve,$);return U(oe,ve,ue),xe}function te(oe,J){return J<0?Math.max(J+oe.length,0):Math.min(J,oe.length)}var he;(function(oe){function J(ve){return ve<0}oe.isLessThan=J;function $(ve){return ve>0}oe.isGreaterThan=$;function ue(ve){return ve===0}oe.isNeitherLessOrGreaterThan=ue,oe.greaterThan=1,oe.lessThan=-1,oe.neitherLessOrGreaterThan=0})(he||(he={}));function _e(oe,J){return($,ue)=>J(oe($),oe(ue))}const ge=(oe,J)=>oe-J;function me(oe,J){if(oe.length===0)return;let $=oe[0];for(let ue=1;ue<oe.length;ue++){const ve=oe[ue];J(ve,$)>0&&($=ve)}return $}function re(oe,J){if(oe.length===0)return;let $=oe[0];for(let ue=1;ue<oe.length;ue++){const ve=oe[ue];J(ve,$)>=0&&($=ve)}return $}function Y(oe,J){return me(oe,($,ue)=>-J($,ue))}class de{constructor(J){this.items=J,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(J){let $=this.firstIdx;for(;$<this.items.length&&J(this.items[$]);)$++;const ue=$===this.firstIdx?null:this.items.slice(this.firstIdx,$);return this.firstIdx=$,ue}takeFromEndWhile(J){let $=this.lastIdx;for(;$>=0&&J(this.items[$]);)$--;const ue=$===this.lastIdx?null:this.items.slice($+1,this.lastIdx+1);return this.lastIdx=$,ue}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const J=this.items[this.firstIdx];return this.firstIdx++,J}takeCount(J){const $=this.items.slice(this.firstIdx,this.firstIdx+J);return this.firstIdx+=J,$}}},18565:(At,Be,m)=>{m.d(Be,{ok:()=>k});function k(u,ie){if(!u)throw new Error(ie?`Assertion failed (${ie})`:"Assertion Failed")}},49434:(At,Be,m)=>{m.d(Be,{Aq:()=>_e,CR:()=>te,J8:()=>q,PG:()=>z,Ps:()=>K,To:()=>U,Ue:()=>X,Vg:()=>x,Vs:()=>D,_F:()=>T,eP:()=>y,jT:()=>he,ne:()=>d,pY:()=>A,rH:()=>E,vp:()=>S,zS:()=>me,zh:()=>W});var k=m(58923),u=m(35230),ie=m(86640),Q=m(50149),N=m(75874),ne=function(re,Y,de,oe){function J($){return $ instanceof de?$:new de(function(ue){ue($)})}return new(de||(de=Promise))(function($,ue){function ve(rt){try{O(oe.next(rt))}catch(ct){ue(ct)}}function xe(rt){try{O(oe.throw(rt))}catch(ct){ue(ct)}}function O(rt){rt.done?$(rt.value):J(rt.value).then(ve,xe)}O((oe=oe.apply(re,Y||[])).next())})},Z=function(re){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Y=re[Symbol.asyncIterator],de;return Y?Y.call(re):(re=typeof __values=="function"?__values(re):re[Symbol.iterator](),de={},oe("next"),oe("throw"),oe("return"),de[Symbol.asyncIterator]=function(){return this},de);function oe($){de[$]=re[$]&&function(ue){return new Promise(function(ve,xe){ue=re[$](ue),J(ve,xe,ue.done,ue.value)})}}function J($,ue,ve,xe){Promise.resolve(xe).then(function(O){$({value:O,done:ve})},ue)}};function q(re){return!!re&&typeof re.then=="function"}function z(re){const Y=new k.A,de=re(Y.token),oe=new Promise((J,$)=>{const ue=Y.token.onCancellationRequested(()=>{ue.dispose(),Y.dispose(),$(new u.FU)});Promise.resolve(de).then(ve=>{ue.dispose(),Y.dispose(),J(ve)},ve=>{ue.dispose(),Y.dispose(),$(ve)})});return new class{cancel(){Y.cancel()}then(J,$){return oe.then(J,$)}catch(J){return this.then(void 0,J)}finally(J){return oe.finally(J)}}}function y(re,Y,de){return new Promise((oe,J)=>{const $=Y.onCancellationRequested(()=>{$.dispose(),oe(de)});re.then(oe,J).finally(()=>$.dispose())})}class C{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(Y){if(this.activePromise){if(this.queuedPromiseFactory=Y,!this.queuedPromise){const de=()=>{this.queuedPromise=null;const oe=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,oe};this.queuedPromise=new Promise(oe=>{this.activePromise.then(de,de).then(oe)})}return new Promise((de,oe)=>{this.queuedPromise.then(de,oe)})}return this.activePromise=Y(),new Promise((de,oe)=>{this.activePromise.then(J=>{this.activePromise=null,de(J)},J=>{this.activePromise=null,oe(J)})})}}const L=(re,Y)=>{let de=!0;const oe=setTimeout(()=>{de=!1,Y()},re);return{isTriggered:()=>de,dispose:()=>{clearTimeout(oe),de=!1}}},b=re=>{let Y=!0;return queueMicrotask(()=>{Y&&(Y=!1,re())}),{isTriggered:()=>Y,dispose:()=>{Y=!1}}},d=Symbol("MicrotaskDelay");class S{constructor(Y){this.defaultDelay=Y,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(Y,de=this.defaultDelay){this.task=Y,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((J,$)=>{this.doResolve=J,this.doReject=$}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const J=this.task;return this.task=null,J()}}));const oe=()=>{var J;this.deferred=null,(J=this.doResolve)===null||J===void 0||J.call(this,null)};return this.deferred=de===d?b(oe):L(de,oe),this.completionPromise}isTriggered(){var Y;return!!(!((Y=this.deferred)===null||Y===void 0)&&Y.isTriggered())}cancel(){var Y;this.cancelTimeout(),this.completionPromise&&((Y=this.doReject)===null||Y===void 0||Y.call(this,new u.FU),this.completionPromise=null)}cancelTimeout(){var Y;(Y=this.deferred)===null||Y===void 0||Y.dispose(),this.deferred=null}dispose(){this.cancel()}}class E{constructor(Y){this.delayer=new S(Y),this.throttler=new C}trigger(Y,de){return this.delayer.trigger(()=>this.throttler.queue(Y),de)}dispose(){this.delayer.dispose()}}function D(re,Y){return Y?new Promise((de,oe)=>{const J=setTimeout(()=>{$.dispose(),de()},re),$=Y.onCancellationRequested(()=>{clearTimeout(J),$.dispose(),oe(new u.FU)})}):z(de=>D(re,de))}function x(re,Y=0){const de=setTimeout(re,Y);return(0,Q.OF)(()=>clearTimeout(de))}function K(re,Y=oe=>!!oe,de=null){let oe=0;const J=re.length,$=()=>{if(oe>=J)return Promise.resolve(de);const ue=re[oe++];return Promise.resolve(ue()).then(xe=>Y(xe)?Promise.resolve(xe):$())};return $()}class T{constructor(Y,de){this._token=-1,typeof Y=="function"&&typeof de=="number"&&this.setIfNotSet(Y,de)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(Y,de){this.cancel(),this._token=setTimeout(()=>{this._token=-1,Y()},de)}setIfNotSet(Y,de){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,Y()},de))}}class W{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearInterval(this._token),this._token=-1)}cancelAndSet(Y,de){this.cancel(),this._token=setInterval(()=>{Y()},de)}}class A{constructor(Y,de){this.timeoutToken=-1,this.runner=Y,this.timeout=de,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(Y=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,Y)}get delay(){return this.timeout}set delay(Y){this.timeout=Y}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var Y;(Y=this.runner)===null||Y===void 0||Y.call(this)}}let U;(function(){typeof requestIdleCallback!="function"||typeof cancelIdleCallback!="function"?U=re=>{(0,N.fn)(()=>{if(Y)return;const de=Date.now()+15;re(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,de-Date.now())}}))});let Y=!1;return{dispose(){Y||(Y=!0)}}}:U=(re,Y)=>{const de=requestIdleCallback(re,typeof Y=="number"?{timeout:Y}:void 0);let oe=!1;return{dispose(){oe||(oe=!0,cancelIdleCallback(de))}}}})();class X{constructor(Y){this._didRun=!1,this._executor=()=>{try{this._value=Y()}catch(de){this._error=de}finally{this._didRun=!0}},this._handle=U(()=>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 te{constructor(){this.rejected=!1,this.resolved=!1,this.p=new Promise((Y,de)=>{this.completeCallback=Y,this.errorCallback=de})}get isRejected(){return this.rejected}get isSettled(){return this.rejected||this.resolved}complete(Y){return new Promise(de=>{this.completeCallback(Y),this.resolved=!0,de()})}cancel(){new Promise(Y=>{this.errorCallback(new u.FU),this.rejected=!0,Y()})}}var he;(function(re){function Y(oe){return ne(this,void 0,void 0,function*(){let J;const $=yield Promise.all(oe.map(ue=>ue.then(ve=>ve,ve=>{J||(J=ve)})));if(typeof J<"u")throw J;return $})}re.settled=Y;function de(oe){return new Promise((J,$)=>ne(this,void 0,void 0,function*(){try{yield oe(J,$)}catch(ue){$(ue)}}))}re.withAsyncBody=de})(he||(he={}));class _e{constructor(Y){this._state=0,this._results=[],this._error=null,this._onStateChanged=new ie.Q5,queueMicrotask(()=>ne(this,void 0,void 0,function*(){const de={emitOne:oe=>this.emitOne(oe),emitMany:oe=>this.emitMany(oe),reject:oe=>this.reject(oe)};try{yield Promise.resolve(Y(de)),this.resolve()}catch(oe){this.reject(oe)}finally{de.emitOne=void 0,de.emitMany=void 0,de.reject=void 0}}))}static fromArray(Y){return new _e(de=>{de.emitMany(Y)})}static fromPromise(Y){return new _e(de=>ne(this,void 0,void 0,function*(){de.emitMany(yield Y)}))}static fromPromises(Y){return new _e(de=>ne(this,void 0,void 0,function*(){yield Promise.all(Y.map(oe=>ne(this,void 0,void 0,function*(){return de.emitOne(yield oe)})))}))}static merge(Y){return new _e(de=>ne(this,void 0,void 0,function*(){yield Promise.all(Y.map(oe=>{var J,$;return ne(this,void 0,void 0,function*(){var ue,ve;try{for(J=Z(oe);$=yield J.next(),!$.done;){const xe=$.value;de.emitOne(xe)}}catch(xe){ue={error:xe}}finally{try{$&&!$.done&&(ve=J.return)&&(yield ve.call(J))}finally{if(ue)throw ue.error}}})}))}))}[Symbol.asyncIterator](){let Y=0;return{next:()=>ne(this,void 0,void 0,function*(){do{if(this._state===2)throw this._error;if(Y<this._results.length)return{done:!1,value:this._results[Y++]};if(this._state===1)return{done:!0,value:void 0};yield ie.ju.toPromise(this._onStateChanged.event)}while(!0)})}}static map(Y,de){return new _e(oe=>ne(this,void 0,void 0,function*(){var J,$;try{for(var ue=Z(Y),ve;ve=yield ue.next(),!ve.done;){const xe=ve.value;oe.emitOne(de(xe))}}catch(xe){J={error:xe}}finally{try{ve&&!ve.done&&($=ue.return)&&(yield $.call(ue))}finally{if(J)throw J.error}}}))}map(Y){return _e.map(this,Y)}static filter(Y,de){return new _e(oe=>ne(this,void 0,void 0,function*(){var J,$;try{for(var ue=Z(Y),ve;ve=yield ue.next(),!ve.done;){const xe=ve.value;de(xe)&&oe.emitOne(xe)}}catch(xe){J={error:xe}}finally{try{ve&&!ve.done&&($=ue.return)&&(yield $.call(ue))}finally{if(J)throw J.error}}}))}filter(Y){return _e.filter(this,Y)}static coalesce(Y){return _e.filter(Y,de=>!!de)}coalesce(){return _e.coalesce(this)}static toPromise(Y){var de,oe,J,$;return ne(this,void 0,void 0,function*(){const ue=[];try{for(de=Z(Y);oe=yield de.next(),!oe.done;){const ve=oe.value;ue.push(ve)}}catch(ve){J={error:ve}}finally{try{oe&&!oe.done&&($=de.return)&&(yield $.call(de))}finally{if(J)throw J.error}}return ue})}toPromise(){return _e.toPromise(this)}emitOne(Y){this._state===0&&(this._results.push(Y),this._onStateChanged.fire())}emitMany(Y){this._state===0&&(this._results=this._results.concat(Y),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(Y){this._state===0&&(this._state=2,this._error=Y,this._onStateChanged.fire())}}_e.EMPTY=_e.fromArray([]);class ge extends _e{constructor(Y,de){super(de),this._source=Y}cancel(){this._source.cancel()}}function me(re){const Y=new k.A,de=re(Y.token);return new ge(Y,oe=>ne(this,void 0,void 0,function*(){var J,$;const ue=Y.token.onCancellationRequested(()=>{ue.dispose(),Y.dispose(),oe.reject(new u.FU)});try{try{for(var ve=Z(de),xe;xe=yield ve.next(),!xe.done;){const O=xe.value;if(Y.token.isCancellationRequested)return;oe.emitOne(O)}}catch(O){J={error:O}}finally{try{xe&&!xe.done&&($=ve.return)&&(yield $.call(ve))}finally{if(J)throw J.error}}ue.dispose(),Y.dispose()}catch(O){ue.dispose(),Y.dispose(),oe.reject(O)}}))}},41186:(At,Be,m)=>{m.d(Be,{Ag:()=>Z,Cg:()=>y,KN:()=>Q,Q$:()=>z,T4:()=>q,mP:()=>N,oq:()=>ne});var k=m(69278).Buffer;const u=typeof k<"u";let ie;class Q{constructor(L){this.buffer=L,this.byteLength=this.buffer.byteLength}static wrap(L){return u&&!k.isBuffer(L)&&(L=k.from(L.buffer,L.byteOffset,L.byteLength)),new Q(L)}toString(){return u?this.buffer.toString():(ie||(ie=new TextDecoder),ie.decode(this.buffer))}}function N(C,L){return C[L+0]<<0>>>0|C[L+1]<<8>>>0}function ne(C,L,b){C[b+0]=L&255,L=L>>>8,C[b+1]=L&255}function Z(C,L){return C[L]*Math.pow(2,24)+C[L+1]*Math.pow(2,16)+C[L+2]*Math.pow(2,8)+C[L+3]}function q(C,L,b){C[b+3]=L,L=L>>>8,C[b+2]=L,L=L>>>8,C[b+1]=L,L=L>>>8,C[b]=L}function z(C,L){return C[L]}function y(C,L,b){C[b]=L}},60912:(At,Be,m)=>{m.d(Be,{b:()=>u,t:()=>k});class k{constructor(Q){this.fn=Q,this.lastCache=void 0,this.lastArgKey=void 0}get(Q){const N=JSON.stringify(Q);return this.lastArgKey!==N&&(this.lastArgKey=N,this.lastCache=this.fn(Q)),this.lastCache}}class u{constructor(Q){this.fn=Q,this._map=new Map}get cachedValues(){return this._map}get(Q){if(this._map.has(Q))return this._map.get(Q);const N=this.fn(Q);return this._map.set(Q,N),N}}},58923:(At,Be,m)=>{m.d(Be,{A:()=>N,T:()=>ie});var k=m(86640);const u=Object.freeze(function(ne,Z){const q=setTimeout(ne.bind(Z),0);return{dispose(){clearTimeout(q)}}});var ie;(function(ne){function Z(q){return q===ne.None||q===ne.Cancelled||q instanceof Q?!0:!q||typeof q!="object"?!1:typeof q.isCancellationRequested=="boolean"&&typeof q.onCancellationRequested=="function"}ne.isCancellationToken=Z,ne.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:k.ju.None}),ne.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:u})})(ie||(ie={}));class Q{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?u:(this._emitter||(this._emitter=new k.Q5),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class N{constructor(Z){this._token=void 0,this._parentListener=void 0,this._parentListener=Z&&Z.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Q),this._token}cancel(){this._token?this._token instanceof Q&&this._token.cancel():this._token=ie.Cancelled}dispose(Z=!1){Z&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Q&&this._token.dispose():this._token=ie.None}}},15324:(At,Be,m)=>{m.d(Be,{JL:()=>k,dT:()=>ie,lA:()=>u});function k(Q){return Q?Q.replace(/\$\((.*?)\)/g,(N,ne)=>` ${ne} `).trim():""}class u{constructor(N,ne,Z){this.id=N,this.definition=ne,this.description=Z,u._allCodicons.push(this)}get classNames(){return"codicon codicon-"+this.id}get classNamesArray(){return["codicon","codicon-"+this.id]}get cssSelector(){return".codicon.codicon-"+this.id}static getAll(){return u._allCodicons}}u._allCodicons=[],u.add=new u("add",{fontCharacter:"\\ea60"}),u.plus=new u("plus",u.add.definition),u.gistNew=new u("gist-new",u.add.definition),u.repoCreate=new u("repo-create",u.add.definition),u.lightbulb=new u("lightbulb",{fontCharacter:"\\ea61"}),u.lightBulb=new u("light-bulb",{fontCharacter:"\\ea61"}),u.repo=new u("repo",{fontCharacter:"\\ea62"}),u.repoDelete=new u("repo-delete",{fontCharacter:"\\ea62"}),u.gistFork=new u("gist-fork",{fontCharacter:"\\ea63"}),u.repoForked=new u("repo-forked",{fontCharacter:"\\ea63"}),u.gitPullRequest=new u("git-pull-request",{fontCharacter:"\\ea64"}),u.gitPullRequestAbandoned=new u("git-pull-request-abandoned",{fontCharacter:"\\ea64"}),u.recordKeys=new u("record-keys",{fontCharacter:"\\ea65"}),u.keyboard=new u("keyboard",{fontCharacter:"\\ea65"}),u.tag=new u("tag",{fontCharacter:"\\ea66"}),u.tagAdd=new u("tag-add",{fontCharacter:"\\ea66"}),u.tagRemove=new u("tag-remove",{fontCharacter:"\\ea66"}),u.person=new u("person",{fontCharacter:"\\ea67"}),u.personFollow=new u("person-follow",{fontCharacter:"\\ea67"}),u.personOutline=new u("person-outline",{fontCharacter:"\\ea67"}),u.personFilled=new u("person-filled",{fontCharacter:"\\ea67"}),u.gitBranch=new u("git-branch",{fontCharacter:"\\ea68"}),u.gitBranchCreate=new u("git-branch-create",{fontCharacter:"\\ea68"}),u.gitBranchDelete=new u("git-branch-delete",{fontCharacter:"\\ea68"}),u.sourceControl=new u("source-control",{fontCharacter:"\\ea68"}),u.mirror=new u("mirror",{fontCharacter:"\\ea69"}),u.mirrorPublic=new u("mirror-public",{fontCharacter:"\\ea69"}),u.star=new u("star",{fontCharacter:"\\ea6a"}),u.starAdd=new u("star-add",{fontCharacter:"\\ea6a"}),u.starDelete=new u("star-delete",{fontCharacter:"\\ea6a"}),u.starEmpty=new u("star-empty",{fontCharacter:"\\ea6a"}),u.comment=new u("comment",{fontCharacter:"\\ea6b"}),u.commentAdd=new u("comment-add",{fontCharacter:"\\ea6b"}),u.alert=new u("alert",{fontCharacter:"\\ea6c"}),u.warning=new u("warning",{fontCharacter:"\\ea6c"}),u.search=new u("search",{fontCharacter:"\\ea6d"}),u.searchSave=new u("search-save",{fontCharacter:"\\ea6d"}),u.logOut=new u("log-out",{fontCharacter:"\\ea6e"}),u.signOut=new u("sign-out",{fontCharacter:"\\ea6e"}),u.logIn=new u("log-in",{fontCharacter:"\\ea6f"}),u.signIn=new u("sign-in",{fontCharacter:"\\ea6f"}),u.eye=new u("eye",{fontCharacter:"\\ea70"}),u.eyeUnwatch=new u("eye-unwatch",{fontCharacter:"\\ea70"}),u.eyeWatch=new u("eye-watch",{fontCharacter:"\\ea70"}),u.circleFilled=new u("circle-filled",{fontCharacter:"\\ea71"}),u.primitiveDot=new u("primitive-dot",{fontCharacter:"\\ea71"}),u.closeDirty=new u("close-dirty",{fontCharacter:"\\ea71"}),u.debugBreakpoint=new u("debug-breakpoint",{fontCharacter:"\\ea71"}),u.debugBreakpointDisabled=new u("debug-breakpoint-disabled",{fontCharacter:"\\ea71"}),u.debugHint=new u("debug-hint",{fontCharacter:"\\ea71"}),u.primitiveSquare=new u("primitive-square",{fontCharacter:"\\ea72"}),u.edit=new u("edit",{fontCharacter:"\\ea73"}),u.pencil=new u("pencil",{fontCharacter:"\\ea73"}),u.info=new u("info",{fontCharacter:"\\ea74"}),u.issueOpened=new u("issue-opened",{fontCharacter:"\\ea74"}),u.gistPrivate=new u("gist-private",{fontCharacter:"\\ea75"}),u.gitForkPrivate=new u("git-fork-private",{fontCharacter:"\\ea75"}),u.lock=new u("lock",{fontCharacter:"\\ea75"}),u.mirrorPrivate=new u("mirror-private",{fontCharacter:"\\ea75"}),u.close=new u("close",{fontCharacter:"\\ea76"}),u.removeClose=new u("remove-close",{fontCharacter:"\\ea76"}),u.x=new u("x",{fontCharacter:"\\ea76"}),u.repoSync=new u("repo-sync",{fontCharacter:"\\ea77"}),u.sync=new u("sync",{fontCharacter:"\\ea77"}),u.clone=new u("clone",{fontCharacter:"\\ea78"}),u.desktopDownload=new u("desktop-download",{fontCharacter:"\\ea78"}),u.beaker=new u("beaker",{fontCharacter:"\\ea79"}),u.microscope=new u("microscope",{fontCharacter:"\\ea79"}),u.vm=new u("vm",{fontCharacter:"\\ea7a"}),u.deviceDesktop=new u("device-desktop",{fontCharacter:"\\ea7a"}),u.file=new u("file",{fontCharacter:"\\ea7b"}),u.fileText=new u("file-text",{fontCharacter:"\\ea7b"}),u.more=new u("more",{fontCharacter:"\\ea7c"}),u.ellipsis=new u("ellipsis",{fontCharacter:"\\ea7c"}),u.kebabHorizontal=new u("kebab-horizontal",{fontCharacter:"\\ea7c"}),u.mailReply=new u("mail-reply",{fontCharacter:"\\ea7d"}),u.reply=new u("reply",{fontCharacter:"\\ea7d"}),u.organization=new u("organization",{fontCharacter:"\\ea7e"}),u.organizationFilled=new u("organization-filled",{fontCharacter:"\\ea7e"}),u.organizationOutline=new u("organization-outline",{fontCharacter:"\\ea7e"}),u.newFile=new u("new-file",{fontCharacter:"\\ea7f"}),u.fileAdd=new u("file-add",{fontCharacter:"\\ea7f"}),u.newFolder=new u("new-folder",{fontCharacter:"\\ea80"}),u.fileDirectoryCreate=new u("file-directory-create",{fontCharacter:"\\ea80"}),u.trash=new u("trash",{fontCharacter:"\\ea81"}),u.trashcan=new u("trashcan",{fontCharacter:"\\ea81"}),u.history=new u("history",{fontCharacter:"\\ea82"}),u.clock=new u("clock",{fontCharacter:"\\ea82"}),u.folder=new u("folder",{fontCharacter:"\\ea83"}),u.fileDirectory=new u("file-directory",{fontCharacter:"\\ea83"}),u.symbolFolder=new u("symbol-folder",{fontCharacter:"\\ea83"}),u.logoGithub=new u("logo-github",{fontCharacter:"\\ea84"}),u.markGithub=new u("mark-github",{fontCharacter:"\\ea84"}),u.github=new u("github",{fontCharacter:"\\ea84"}),u.terminal=new u("terminal",{fontCharacter:"\\ea85"}),u.console=new u("console",{fontCharacter:"\\ea85"}),u.repl=new u("repl",{fontCharacter:"\\ea85"}),u.zap=new u("zap",{fontCharacter:"\\ea86"}),u.symbolEvent=new u("symbol-event",{fontCharacter:"\\ea86"}),u.error=new u("error",{fontCharacter:"\\ea87"}),u.stop=new u("stop",{fontCharacter:"\\ea87"}),u.variable=new u("variable",{fontCharacter:"\\ea88"}),u.symbolVariable=new u("symbol-variable",{fontCharacter:"\\ea88"}),u.array=new u("array",{fontCharacter:"\\ea8a"}),u.symbolArray=new u("symbol-array",{fontCharacter:"\\ea8a"}),u.symbolModule=new u("symbol-module",{fontCharacter:"\\ea8b"}),u.symbolPackage=new u("symbol-package",{fontCharacter:"\\ea8b"}),u.symbolNamespace=new u("symbol-namespace",{fontCharacter:"\\ea8b"}),u.symbolObject=new u("symbol-object",{fontCharacter:"\\ea8b"}),u.symbolMethod=new u("symbol-method",{fontCharacter:"\\ea8c"}),u.symbolFunction=new u("symbol-function",{fontCharacter:"\\ea8c"}),u.symbolConstructor=new u("symbol-constructor",{fontCharacter:"\\ea8c"}),u.symbolBoolean=new u("symbol-boolean",{fontCharacter:"\\ea8f"}),u.symbolNull=new u("symbol-null",{fontCharacter:"\\ea8f"}),u.symbolNumeric=new u("symbol-numeric",{fontCharacter:"\\ea90"}),u.symbolNumber=new u("symbol-number",{fontCharacter:"\\ea90"}),u.symbolStructure=new u("symbol-structure",{fontCharacter:"\\ea91"}),u.symbolStruct=new u("symbol-struct",{fontCharacter:"\\ea91"}),u.symbolParameter=new u("symbol-parameter",{fontCharacter:"\\ea92"}),u.symbolTypeParameter=new u("symbol-type-parameter",{fontCharacter:"\\ea92"}),u.symbolKey=new u("symbol-key",{fontCharacter:"\\ea93"}),u.symbolText=new u("symbol-text",{fontCharacter:"\\ea93"}),u.symbolReference=new u("symbol-reference",{fontCharacter:"\\ea94"}),u.goToFile=new u("go-to-file",{fontCharacter:"\\ea94"}),u.symbolEnum=new u("symbol-enum",{fontCharacter:"\\ea95"}),u.symbolValue=new u("symbol-value",{fontCharacter:"\\ea95"}),u.symbolRuler=new u("symbol-ruler",{fontCharacter:"\\ea96"}),u.symbolUnit=new u("symbol-unit",{fontCharacter:"\\ea96"}),u.activateBreakpoints=new u("activate-breakpoints",{fontCharacter:"\\ea97"}),u.archive=new u("archive",{fontCharacter:"\\ea98"}),u.arrowBoth=new u("arrow-both",{fontCharacter:"\\ea99"}),u.arrowDown=new u("arrow-down",{fontCharacter:"\\ea9a"}),u.arrowLeft=new u("arrow-left",{fontCharacter:"\\ea9b"}),u.arrowRight=new u("arrow-right",{fontCharacter:"\\ea9c"}),u.arrowSmallDown=new u("arrow-small-down",{fontCharacter:"\\ea9d"}),u.arrowSmallLeft=new u("arrow-small-left",{fontCharacter:"\\ea9e"}),u.arrowSmallRight=new u("arrow-small-right",{fontCharacter:"\\ea9f"}),u.arrowSmallUp=new u("arrow-small-up",{fontCharacter:"\\eaa0"}),u.arrowUp=new u("arrow-up",{fontCharacter:"\\eaa1"}),u.bell=new u("bell",{fontCharacter:"\\eaa2"}),u.bold=new u("bold",{fontCharacter:"\\eaa3"}),u.book=new u("book",{fontCharacter:"\\eaa4"}),u.bookmark=new u("bookmark",{fontCharacter:"\\eaa5"}),u.debugBreakpointConditionalUnverified=new u("debug-breakpoint-conditional-unverified",{fontCharacter:"\\eaa6"}),u.debugBreakpointConditional=new u("debug-breakpoint-conditional",{fontCharacter:"\\eaa7"}),u.debugBreakpointConditionalDisabled=new u("debug-breakpoint-conditional-disabled",{fontCharacter:"\\eaa7"}),u.debugBreakpointDataUnverified=new u("debug-breakpoint-data-unverified",{fontCharacter:"\\eaa8"}),u.debugBreakpointData=new u("debug-breakpoint-data",{fontCharacter:"\\eaa9"}),u.debugBreakpointDataDisabled=new u("debug-breakpoint-data-disabled",{fontCharacter:"\\eaa9"}),u.debugBreakpointLogUnverified=new u("debug-breakpoint-log-unverified",{fontCharacter:"\\eaaa"}),u.debugBreakpointLog=new u("debug-breakpoint-log",{fontCharacter:"\\eaab"}),u.debugBreakpointLogDisabled=new u("debug-breakpoint-log-disabled",{fontCharacter:"\\eaab"}),u.briefcase=new u("briefcase",{fontCharacter:"\\eaac"}),u.broadcast=new u("broadcast",{fontCharacter:"\\eaad"}),u.browser=new u("browser",{fontCharacter:"\\eaae"}),u.bug=new u("bug",{fontCharacter:"\\eaaf"}),u.calendar=new u("calendar",{fontCharacter:"\\eab0"}),u.caseSensitive=new u("case-sensitive",{fontCharacter:"\\eab1"}),u.check=new u("check",{fontCharacter:"\\eab2"}),u.checklist=new u("checklist",{fontCharacter:"\\eab3"}),u.chevronDown=new u("chevron-down",{fontCharacter:"\\eab4"}),u.dropDownButton=new u("drop-down-button",u.chevronDown.definition),u.chevronLeft=new u("chevron-left",{fontCharacter:"\\eab5"}),u.chevronRight=new u("chevron-right",{fontCharacter:"\\eab6"}),u.chevronUp=new u("chevron-up",{fontCharacter:"\\eab7"}),u.chromeClose=new u("chrome-close",{fontCharacter:"\\eab8"}),u.chromeMaximize=new u("chrome-maximize",{fontCharacter:"\\eab9"}),u.chromeMinimize=new u("chrome-minimize",{fontCharacter:"\\eaba"}),u.chromeRestore=new u("chrome-restore",{fontCharacter:"\\eabb"}),u.circleOutline=new u("circle-outline",{fontCharacter:"\\eabc"}),u.debugBreakpointUnverified=new u("debug-breakpoint-unverified",{fontCharacter:"\\eabc"}),u.circleSlash=new u("circle-slash",{fontCharacter:"\\eabd"}),u.circuitBoard=new u("circuit-board",{fontCharacter:"\\eabe"}),u.clearAll=new u("clear-all",{fontCharacter:"\\eabf"}),u.clippy=new u("clippy",{fontCharacter:"\\eac0"}),u.closeAll=new u("close-all",{fontCharacter:"\\eac1"}),u.cloudDownload=new u("cloud-download",{fontCharacter:"\\eac2"}),u.cloudUpload=new u("cloud-upload",{fontCharacter:"\\eac3"}),u.code=new u("code",{fontCharacter:"\\eac4"}),u.collapseAll=new u("collapse-all",{fontCharacter:"\\eac5"}),u.colorMode=new u("color-mode",{fontCharacter:"\\eac6"}),u.commentDiscussion=new u("comment-discussion",{fontCharacter:"\\eac7"}),u.compareChanges=new u("compare-changes",{fontCharacter:"\\eafd"}),u.creditCard=new u("credit-card",{fontCharacter:"\\eac9"}),u.dash=new u("dash",{fontCharacter:"\\eacc"}),u.dashboard=new u("dashboard",{fontCharacter:"\\eacd"}),u.database=new u("database",{fontCharacter:"\\eace"}),u.debugContinue=new u("debug-continue",{fontCharacter:"\\eacf"}),u.debugDisconnect=new u("debug-disconnect",{fontCharacter:"\\ead0"}),u.debugPause=new u("debug-pause",{fontCharacter:"\\ead1"}),u.debugRestart=new u("debug-restart",{fontCharacter:"\\ead2"}),u.debugStart=new u("debug-start",{fontCharacter:"\\ead3"}),u.debugStepInto=new u("debug-step-into",{fontCharacter:"\\ead4"}),u.debugStepOut=new u("debug-step-out",{fontCharacter:"\\ead5"}),u.debugStepOver=new u("debug-step-over",{fontCharacter:"\\ead6"}),u.debugStop=new u("debug-stop",{fontCharacter:"\\ead7"}),u.debug=new u("debug",{fontCharacter:"\\ead8"}),u.deviceCameraVideo=new u("device-camera-video",{fontCharacter:"\\ead9"}),u.deviceCamera=new u("device-camera",{fontCharacter:"\\eada"}),u.deviceMobile=new u("device-mobile",{fontCharacter:"\\eadb"}),u.diffAdded=new u("diff-added",{fontCharacter:"\\eadc"}),u.diffIgnored=new u("diff-ignored",{fontCharacter:"\\eadd"}),u.diffModified=new u("diff-modified",{fontCharacter:"\\eade"}),u.diffRemoved=new u("diff-removed",{fontCharacter:"\\eadf"}),u.diffRenamed=new u("diff-renamed",{fontCharacter:"\\eae0"}),u.diff=new u("diff",{fontCharacter:"\\eae1"}),u.discard=new u("discard",{fontCharacter:"\\eae2"}),u.editorLayout=new u("editor-layout",{fontCharacter:"\\eae3"}),u.emptyWindow=new u("empty-window",{fontCharacter:"\\eae4"}),u.exclude=new u("exclude",{fontCharacter:"\\eae5"}),u.extensions=new u("extensions",{fontCharacter:"\\eae6"}),u.eyeClosed=new u("eye-closed",{fontCharacter:"\\eae7"}),u.fileBinary=new u("file-binary",{fontCharacter:"\\eae8"}),u.fileCode=new u("file-code",{fontCharacter:"\\eae9"}),u.fileMedia=new u("file-media",{fontCharacter:"\\eaea"}),u.filePdf=new u("file-pdf",{fontCharacter:"\\eaeb"}),u.fileSubmodule=new u("file-submodule",{fontCharacter:"\\eaec"}),u.fileSymlinkDirectory=new u("file-symlink-directory",{fontCharacter:"\\eaed"}),u.fileSymlinkFile=new u("file-symlink-file",{fontCharacter:"\\eaee"}),u.fileZip=new u("file-zip",{fontCharacter:"\\eaef"}),u.files=new u("files",{fontCharacter:"\\eaf0"}),u.filter=new u("filter",{fontCharacter:"\\eaf1"}),u.flame=new u("flame",{fontCharacter:"\\eaf2"}),u.foldDown=new u("fold-down",{fontCharacter:"\\eaf3"}),u.foldUp=new u("fold-up",{fontCharacter:"\\eaf4"}),u.fold=new u("fold",{fontCharacter:"\\eaf5"}),u.folderActive=new u("folder-active",{fontCharacter:"\\eaf6"}),u.folderOpened=new u("folder-opened",{fontCharacter:"\\eaf7"}),u.gear=new u("gear",{fontCharacter:"\\eaf8"}),u.gift=new u("gift",{fontCharacter:"\\eaf9"}),u.gistSecret=new u("gist-secret",{fontCharacter:"\\eafa"}),u.gist=new u("gist",{fontCharacter:"\\eafb"}),u.gitCommit=new u("git-commit",{fontCharacter:"\\eafc"}),u.gitCompare=new u("git-compare",{fontCharacter:"\\eafd"}),u.gitMerge=new u("git-merge",{fontCharacter:"\\eafe"}),u.githubAction=new u("github-action",{fontCharacter:"\\eaff"}),u.githubAlt=new u("github-alt",{fontCharacter:"\\eb00"}),u.globe=new u("globe",{fontCharacter:"\\eb01"}),u.grabber=new u("grabber",{fontCharacter:"\\eb02"}),u.graph=new u("graph",{fontCharacter:"\\eb03"}),u.gripper=new u("gripper",{fontCharacter:"\\eb04"}),u.heart=new u("heart",{fontCharacter:"\\eb05"}),u.home=new u("home",{fontCharacter:"\\eb06"}),u.horizontalRule=new u("horizontal-rule",{fontCharacter:"\\eb07"}),u.hubot=new u("hubot",{fontCharacter:"\\eb08"}),u.inbox=new u("inbox",{fontCharacter:"\\eb09"}),u.issueClosed=new u("issue-closed",{fontCharacter:"\\eba4"}),u.issueReopened=new u("issue-reopened",{fontCharacter:"\\eb0b"}),u.issues=new u("issues",{fontCharacter:"\\eb0c"}),u.italic=new u("italic",{fontCharacter:"\\eb0d"}),u.jersey=new u("jersey",{fontCharacter:"\\eb0e"}),u.json=new u("json",{fontCharacter:"\\eb0f"}),u.kebabVertical=new u("kebab-vertical",{fontCharacter:"\\eb10"}),u.key=new u("key",{fontCharacter:"\\eb11"}),u.law=new u("law",{fontCharacter:"\\eb12"}),u.lightbulbAutofix=new u("lightbulb-autofix",{fontCharacter:"\\eb13"}),u.linkExternal=new u("link-external",{fontCharacter:"\\eb14"}),u.link=new u("link",{fontCharacter:"\\eb15"}),u.listOrdered=new u("list-ordered",{fontCharacter:"\\eb16"}),u.listUnordered=new u("list-unordered",{fontCharacter:"\\eb17"}),u.liveShare=new u("live-share",{fontCharacter:"\\eb18"}),u.loading=new u("loading",{fontCharacter:"\\eb19"}),u.location=new u("location",{fontCharacter:"\\eb1a"}),u.mailRead=new u("mail-read",{fontCharacter:"\\eb1b"}),u.mail=new u("mail",{fontCharacter:"\\eb1c"}),u.markdown=new u("markdown",{fontCharacter:"\\eb1d"}),u.megaphone=new u("megaphone",{fontCharacter:"\\eb1e"}),u.mention=new u("mention",{fontCharacter:"\\eb1f"}),u.milestone=new u("milestone",{fontCharacter:"\\eb20"}),u.mortarBoard=new u("mortar-board",{fontCharacter:"\\eb21"}),u.move=new u("move",{fontCharacter:"\\eb22"}),u.multipleWindows=new u("multiple-windows",{fontCharacter:"\\eb23"}),u.mute=new u("mute",{fontCharacter:"\\eb24"}),u.noNewline=new u("no-newline",{fontCharacter:"\\eb25"}),u.note=new u("note",{fontCharacter:"\\eb26"}),u.octoface=new u("octoface",{fontCharacter:"\\eb27"}),u.openPreview=new u("open-preview",{fontCharacter:"\\eb28"}),u.package_=new u("package",{fontCharacter:"\\eb29"}),u.paintcan=new u("paintcan",{fontCharacter:"\\eb2a"}),u.pin=new u("pin",{fontCharacter:"\\eb2b"}),u.play=new u("play",{fontCharacter:"\\eb2c"}),u.run=new u("run",{fontCharacter:"\\eb2c"}),u.plug=new u("plug",{fontCharacter:"\\eb2d"}),u.preserveCase=new u("preserve-case",{fontCharacter:"\\eb2e"}),u.preview=new u("preview",{fontCharacter:"\\eb2f"}),u.project=new u("project",{fontCharacter:"\\eb30"}),u.pulse=new u("pulse",{fontCharacter:"\\eb31"}),u.question=new u("question",{fontCharacter:"\\eb32"}),u.quote=new u("quote",{fontCharacter:"\\eb33"}),u.radioTower=new u("radio-tower",{fontCharacter:"\\eb34"}),u.reactions=new u("reactions",{fontCharacter:"\\eb35"}),u.references=new u("references",{fontCharacter:"\\eb36"}),u.refresh=new u("refresh",{fontCharacter:"\\eb37"}),u.regex=new u("regex",{fontCharacter:"\\eb38"}),u.remoteExplorer=new u("remote-explorer",{fontCharacter:"\\eb39"}),u.remote=new u("remote",{fontCharacter:"\\eb3a"}),u.remove=new u("remove",{fontCharacter:"\\eb3b"}),u.replaceAll=new u("replace-all",{fontCharacter:"\\eb3c"}),u.replace=new u("replace",{fontCharacter:"\\eb3d"}),u.repoClone=new u("repo-clone",{fontCharacter:"\\eb3e"}),u.repoForcePush=new u("repo-force-push",{fontCharacter:"\\eb3f"}),u.repoPull=new u("repo-pull",{fontCharacter:"\\eb40"}),u.repoPush=new u("repo-push",{fontCharacter:"\\eb41"}),u.report=new u("report",{fontCharacter:"\\eb42"}),u.requestChanges=new u("request-changes",{fontCharacter:"\\eb43"}),u.rocket=new u("rocket",{fontCharacter:"\\eb44"}),u.rootFolderOpened=new u("root-folder-opened",{fontCharacter:"\\eb45"}),u.rootFolder=new u("root-folder",{fontCharacter:"\\eb46"}),u.rss=new u("rss",{fontCharacter:"\\eb47"}),u.ruby=new u("ruby",{fontCharacter:"\\eb48"}),u.saveAll=new u("save-all",{fontCharacter:"\\eb49"}),u.saveAs=new u("save-as",{fontCharacter:"\\eb4a"}),u.save=new u("save",{fontCharacter:"\\eb4b"}),u.screenFull=new u("screen-full",{fontCharacter:"\\eb4c"}),u.screenNormal=new u("screen-normal",{fontCharacter:"\\eb4d"}),u.searchStop=new u("search-stop",{fontCharacter:"\\eb4e"}),u.server=new u("server",{fontCharacter:"\\eb50"}),u.settingsGear=new u("settings-gear",{fontCharacter:"\\eb51"}),u.settings=new u("settings",{fontCharacter:"\\eb52"}),u.shield=new u("shield",{fontCharacter:"\\eb53"}),u.smiley=new u("smiley",{fontCharacter:"\\eb54"}),u.sortPrecedence=new u("sort-precedence",{fontCharacter:"\\eb55"}),u.splitHorizontal=new u("split-horizontal",{fontCharacter:"\\eb56"}),u.splitVertical=new u("split-vertical",{fontCharacter:"\\eb57"}),u.squirrel=new u("squirrel",{fontCharacter:"\\eb58"}),u.starFull=new u("star-full",{fontCharacter:"\\eb59"}),u.starHalf=new u("star-half",{fontCharacter:"\\eb5a"}),u.symbolClass=new u("symbol-class",{fontCharacter:"\\eb5b"}),u.symbolColor=new u("symbol-color",{fontCharacter:"\\eb5c"}),u.symbolCustomColor=new u("symbol-customcolor",{fontCharacter:"\\eb5c"}),u.symbolConstant=new u("symbol-constant",{fontCharacter:"\\eb5d"}),u.symbolEnumMember=new u("symbol-enum-member",{fontCharacter:"\\eb5e"}),u.symbolField=new u("symbol-field",{fontCharacter:"\\eb5f"}),u.symbolFile=new u("symbol-file",{fontCharacter:"\\eb60"}),u.symbolInterface=new u("symbol-interface",{fontCharacter:"\\eb61"}),u.symbolKeyword=new u("symbol-keyword",{fontCharacter:"\\eb62"}),u.symbolMisc=new u("symbol-misc",{fontCharacter:"\\eb63"}),u.symbolOperator=new u("symbol-operator",{fontCharacter:"\\eb64"}),u.symbolProperty=new u("symbol-property",{fontCharacter:"\\eb65"}),u.wrench=new u("wrench",{fontCharacter:"\\eb65"}),u.wrenchSubaction=new u("wrench-subaction",{fontCharacter:"\\eb65"}),u.symbolSnippet=new u("symbol-snippet",{fontCharacter:"\\eb66"}),u.tasklist=new u("tasklist",{fontCharacter:"\\eb67"}),u.telescope=new u("telescope",{fontCharacter:"\\eb68"}),u.textSize=new u("text-size",{fontCharacter:"\\eb69"}),u.threeBars=new u("three-bars",{fontCharacter:"\\eb6a"}),u.thumbsdown=new u("thumbsdown",{fontCharacter:"\\eb6b"}),u.thumbsup=new u("thumbsup",{fontCharacter:"\\eb6c"}),u.tools=new u("tools",{fontCharacter:"\\eb6d"}),u.triangleDown=new u("triangle-down",{fontCharacter:"\\eb6e"}),u.triangleLeft=new u("triangle-left",{fontCharacter:"\\eb6f"}),u.triangleRight=new u("triangle-right",{fontCharacter:"\\eb70"}),u.triangleUp=new u("triangle-up",{fontCharacter:"\\eb71"}),u.twitter=new u("twitter",{fontCharacter:"\\eb72"}),u.unfold=new u("unfold",{fontCharacter:"\\eb73"}),u.unlock=new u("unlock",{fontCharacter:"\\eb74"}),u.unmute=new u("unmute",{fontCharacter:"\\eb75"}),u.unverified=new u("unverified",{fontCharacter:"\\eb76"}),u.verified=new u("verified",{fontCharacter:"\\eb77"}),u.versions=new u("versions",{fontCharacter:"\\eb78"}),u.vmActive=new u("vm-active",{fontCharacter:"\\eb79"}),u.vmOutline=new u("vm-outline",{fontCharacter:"\\eb7a"}),u.vmRunning=new u("vm-running",{fontCharacter:"\\eb7b"}),u.watch=new u("watch",{fontCharacter:"\\eb7c"}),u.whitespace=new u("whitespace",{fontCharacter:"\\eb7d"}),u.wholeWord=new u("whole-word",{fontCharacter:"\\eb7e"}),u.window=new u("window",{fontCharacter:"\\eb7f"}),u.wordWrap=new u("word-wrap",{fontCharacter:"\\eb80"}),u.zoomIn=new u("zoom-in",{fontCharacter:"\\eb81"}),u.zoomOut=new u("zoom-out",{fontCharacter:"\\eb82"}),u.listFilter=new u("list-filter",{fontCharacter:"\\eb83"}),u.listFlat=new u("list-flat",{fontCharacter:"\\eb84"}),u.listSelection=new u("list-selection",{fontCharacter:"\\eb85"}),u.selection=new u("selection",{fontCharacter:"\\eb85"}),u.listTree=new u("list-tree",{fontCharacter:"\\eb86"}),u.debugBreakpointFunctionUnverified=new u("debug-breakpoint-function-unverified",{fontCharacter:"\\eb87"}),u.debugBreakpointFunction=new u("debug-breakpoint-function",{fontCharacter:"\\eb88"}),u.debugBreakpointFunctionDisabled=new u("debug-breakpoint-function-disabled",{fontCharacter:"\\eb88"}),u.debugStackframeActive=new u("debug-stackframe-active",{fontCharacter:"\\eb89"}),u.circleSmallFilled=new u("circle-small-filled",{fontCharacter:"\\eb8a"}),u.debugStackframeDot=new u("debug-stackframe-dot",u.circleSmallFilled.definition),u.debugStackframe=new u("debug-stackframe",{fontCharacter:"\\eb8b"}),u.debugStackframeFocused=new u("debug-stackframe-focused",{fontCharacter:"\\eb8b"}),u.debugBreakpointUnsupported=new u("debug-breakpoint-unsupported",{fontCharacter:"\\eb8c"}),u.symbolString=new u("symbol-string",{fontCharacter:"\\eb8d"}),u.debugReverseContinue=new u("debug-reverse-continue",{fontCharacter:"\\eb8e"}),u.debugStepBack=new u("debug-step-back",{fontCharacter:"\\eb8f"}),u.debugRestartFrame=new u("debug-restart-frame",{fontCharacter:"\\eb90"}),u.callIncoming=new u("call-incoming",{fontCharacter:"\\eb92"}),u.callOutgoing=new u("call-outgoing",{fontCharacter:"\\eb93"}),u.menu=new u("menu",{fontCharacter:"\\eb94"}),u.expandAll=new u("expand-all",{fontCharacter:"\\eb95"}),u.feedback=new u("feedback",{fontCharacter:"\\eb96"}),u.groupByRefType=new u("group-by-ref-type",{fontCharacter:"\\eb97"}),u.ungroupByRefType=new u("ungroup-by-ref-type",{fontCharacter:"\\eb98"}),u.account=new u("account",{fontCharacter:"\\eb99"}),u.bellDot=new u("bell-dot",{fontCharacter:"\\eb9a"}),u.debugConsole=new u("debug-console",{fontCharacter:"\\eb9b"}),u.library=new u("library",{fontCharacter:"\\eb9c"}),u.output=new u("output",{fontCharacter:"\\eb9d"}),u.runAll=new u("run-all",{fontCharacter:"\\eb9e"}),u.syncIgnored=new u("sync-ignored",{fontCharacter:"\\eb9f"}),u.pinned=new u("pinned",{fontCharacter:"\\eba0"}),u.githubInverted=new u("github-inverted",{fontCharacter:"\\eba1"}),u.debugAlt=new u("debug-alt",{fontCharacter:"\\eb91"}),u.serverProcess=new u("server-process",{fontCharacter:"\\eba2"}),u.serverEnvironment=new u("server-environment",{fontCharacter:"\\eba3"}),u.pass=new u("pass",{fontCharacter:"\\eba4"}),u.stopCircle=new u("stop-circle",{fontCharacter:"\\eba5"}),u.playCircle=new u("play-circle",{fontCharacter:"\\eba6"}),u.record=new u("record",{fontCharacter:"\\eba7"}),u.debugAltSmall=new u("debug-alt-small",{fontCharacter:"\\eba8"}),u.vmConnect=new u("vm-connect",{fontCharacter:"\\eba9"}),u.cloud=new u("cloud",{fontCharacter:"\\ebaa"}),u.merge=new u("merge",{fontCharacter:"\\ebab"}),u.exportIcon=new u("export",{fontCharacter:"\\ebac"}),u.graphLeft=new u("graph-left",{fontCharacter:"\\ebad"}),u.magnet=new u("magnet",{fontCharacter:"\\ebae"}),u.notebook=new u("notebook",{fontCharacter:"\\ebaf"}),u.redo=new u("redo",{fontCharacter:"\\ebb0"}),u.checkAll=new u("check-all",{fontCharacter:"\\ebb1"}),u.pinnedDirty=new u("pinned-dirty",{fontCharacter:"\\ebb2"}),u.passFilled=new u("pass-filled",{fontCharacter:"\\ebb3"}),u.circleLargeFilled=new u("circle-large-filled",{fontCharacter:"\\ebb4"}),u.circleLargeOutline=new u("circle-large-outline",{fontCharacter:"\\ebb5"}),u.combine=new u("combine",{fontCharacter:"\\ebb6"}),u.gather=new u("gather",{fontCharacter:"\\ebb6"}),u.table=new u("table",{fontCharacter:"\\ebb7"}),u.variableGroup=new u("variable-group",{fontCharacter:"\\ebb8"}),u.typeHierarchy=new u("type-hierarchy",{fontCharacter:"\\ebb9"}),u.typeHierarchySub=new u("type-hierarchy-sub",{fontCharacter:"\\ebba"}),u.typeHierarchySuper=new u("type-hierarchy-super",{fontCharacter:"\\ebbb"}),u.gitPullRequestCreate=new u("git-pull-request-create",{fontCharacter:"\\ebbc"}),u.runAbove=new u("run-above",{fontCharacter:"\\ebbd"}),u.runBelow=new u("run-below",{fontCharacter:"\\ebbe"}),u.notebookTemplate=new u("notebook-template",{fontCharacter:"\\ebbf"}),u.debugRerun=new u("debug-rerun",{fontCharacter:"\\ebc0"}),u.workspaceTrusted=new u("workspace-trusted",{fontCharacter:"\\ebc1"}),u.workspaceUntrusted=new u("workspace-untrusted",{fontCharacter:"\\ebc2"}),u.workspaceUnspecified=new u("workspace-unspecified",{fontCharacter:"\\ebc3"}),u.terminalCmd=new u("terminal-cmd",{fontCharacter:"\\ebc4"}),u.terminalDebian=new u("terminal-debian",{fontCharacter:"\\ebc5"}),u.terminalLinux=new u("terminal-linux",{fontCharacter:"\\ebc6"}),u.terminalPowershell=new u("terminal-powershell",{fontCharacter:"\\ebc7"}),u.terminalTmux=new u("terminal-tmux",{fontCharacter:"\\ebc8"}),u.terminalUbuntu=new u("terminal-ubuntu",{fontCharacter:"\\ebc9"}),u.terminalBash=new u("terminal-bash",{fontCharacter:"\\ebca"}),u.arrowSwap=new u("arrow-swap",{fontCharacter:"\\ebcb"}),u.copy=new u("copy",{fontCharacter:"\\ebcc"}),u.personAdd=new u("person-add",{fontCharacter:"\\ebcd"}),u.filterFilled=new u("filter-filled",{fontCharacter:"\\ebce"}),u.wand=new u("wand",{fontCharacter:"\\ebcf"}),u.debugLineByLine=new u("debug-line-by-line",{fontCharacter:"\\ebd0"}),u.inspect=new u("inspect",{fontCharacter:"\\ebd1"}),u.layers=new u("layers",{fontCharacter:"\\ebd2"}),u.layersDot=new u("layers-dot",{fontCharacter:"\\ebd3"}),u.layersActive=new u("layers-active",{fontCharacter:"\\ebd4"}),u.compass=new u("compass",{fontCharacter:"\\ebd5"}),u.compassDot=new u("compass-dot",{fontCharacter:"\\ebd6"}),u.compassActive=new u("compass-active",{fontCharacter:"\\ebd7"}),u.azure=new u("azure",{fontCharacter:"\\ebd8"}),u.issueDraft=new u("issue-draft",{fontCharacter:"\\ebd9"}),u.gitPullRequestClosed=new u("git-pull-request-closed",{fontCharacter:"\\ebda"}),u.gitPullRequestDraft=new u("git-pull-request-draft",{fontCharacter:"\\ebdb"}),u.debugAll=new u("debug-all",{fontCharacter:"\\ebdc"}),u.debugCoverage=new u("debug-coverage",{fontCharacter:"\\ebdd"}),u.runErrors=new u("run-errors",{fontCharacter:"\\ebde"}),u.folderLibrary=new u("folder-library",{fontCharacter:"\\ebdf"}),u.debugContinueSmall=new u("debug-continue-small",{fontCharacter:"\\ebe0"}),u.beakerStop=new u("beaker-stop",{fontCharacter:"\\ebe1"}),u.graphLine=new u("graph-line",{fontCharacter:"\\ebe2"}),u.graphScatter=new u("graph-scatter",{fontCharacter:"\\ebe3"}),u.pieChart=new u("pie-chart",{fontCharacter:"\\ebe4"}),u.bracket=new u("bracket",u.json.definition),u.bracketDot=new u("bracket-dot",{fontCharacter:"\\ebe5"}),u.bracketError=new u("bracket-error",{fontCharacter:"\\ebe6"}),u.lockSmall=new u("lock-small",{fontCharacter:"\\ebe7"}),u.azureDevops=new u("azure-devops",{fontCharacter:"\\ebe8"}),u.verifiedFilled=new u("verified-filled",{fontCharacter:"\\ebe9"}),u.newLine=new u("newline",{fontCharacter:"\\ebea"}),u.layout=new u("layout",{fontCharacter:"\\ebeb"}),u.layoutActivitybarLeft=new u("layout-activitybar-left",{fontCharacter:"\\ebec"}),u.layoutActivitybarRight=new u("layout-activitybar-right",{fontCharacter:"\\ebed"}),u.layoutPanelLeft=new u("layout-panel-left",{fontCharacter:"\\ebee"}),u.layoutPanelCenter=new u("layout-panel-center",{fontCharacter:"\\ebef"}),u.layoutPanelJustify=new u("layout-panel-justify",{fontCharacter:"\\ebf0"}),u.layoutPanelRight=new u("layout-panel-right",{fontCharacter:"\\ebf1"}),u.layoutPanel=new u("layout-panel",{fontCharacter:"\\ebf2"}),u.layoutSidebarLeft=new u("layout-sidebar-left",{fontCharacter:"\\ebf3"}),u.layoutSidebarRight=new u("layout-sidebar-right",{fontCharacter:"\\ebf4"}),u.layoutStatusbar=new u("layout-statusbar",{fontCharacter:"\\ebf5"}),u.layoutMenubar=new u("layout-menubar",{fontCharacter:"\\ebf6"}),u.layoutCentered=new u("layout-centered",{fontCharacter:"\\ebf7"}),u.layoutSidebarRightOff=new u("layout-sidebar-right-off",{fontCharacter:"\\ec00"}),u.layoutPanelOff=new u("layout-panel-off",{fontCharacter:"\\ec01"}),u.layoutSidebarLeftOff=new u("layout-sidebar-left-off",{fontCharacter:"\\ec02"}),u.target=new u("target",{fontCharacter:"\\ebf8"}),u.indent=new u("indent",{fontCharacter:"\\ebf9"}),u.recordSmall=new u("record-small",{fontCharacter:"\\ebfa"}),u.errorSmall=new u("error-small",{fontCharacter:"\\ebfb"}),u.arrowCircleDown=new u("arrow-circle-down",{fontCharacter:"\\ebfc"}),u.arrowCircleLeft=new u("arrow-circle-left",{fontCharacter:"\\ebfd"}),u.arrowCircleRight=new u("arrow-circle-right",{fontCharacter:"\\ebfe"}),u.arrowCircleUp=new u("arrow-circle-up",{fontCharacter:"\\ebff"}),u.heartFilled=new u("heart-filled",{fontCharacter:"\\ec04"}),u.map=new u("map",{fontCharacter:"\\ec05"}),u.mapFilled=new u("map-filled",{fontCharacter:"\\ec06"}),u.circleSmall=new u("circle-small",{fontCharacter:"\\ec07"}),u.bellSlash=new u("bell-slash",{fontCharacter:"\\ec08"}),u.bellSlashDot=new u("bell-slash-dot",{fontCharacter:"\\ec09"}),u.commentUnresolved=new u("comment-unresolved",{fontCharacter:"\\ec0a"}),u.gitPullRequestGoToChanges=new u("git-pull-request-go-to-changes",{fontCharacter:"\\ec0b"}),u.gitPullRequestNewChanges=new u("git-pull-request-new-changes",{fontCharacter:"\\ec0c"}),u.dialogError=new u("dialog-error",u.error.definition),u.dialogWarning=new u("dialog-warning",u.warning.definition),u.dialogInfo=new u("dialog-info",u.info.definition),u.dialogClose=new u("dialog-close",u.close.definition),u.treeItemExpanded=new u("tree-item-expanded",u.chevronDown.definition),u.treeFilterOnTypeOn=new u("tree-filter-on-type-on",u.listFilter.definition),u.treeFilterOnTypeOff=new u("tree-filter-on-type-off",u.listSelection.definition),u.treeFilterClear=new u("tree-filter-clear",u.close.definition),u.treeItemLoading=new u("tree-item-loading",u.loading.definition),u.menuSelection=new u("menu-selection",u.check.definition),u.menuSubmenu=new u("menu-submenu",u.chevronRight.definition),u.menuBarMore=new u("menubar-more",u.more.definition),u.scrollbarButtonLeft=new u("scrollbar-button-left",u.triangleLeft.definition),u.scrollbarButtonRight=new u("scrollbar-button-right",u.triangleRight.definition),u.scrollbarButtonUp=new u("scrollbar-button-up",u.triangleUp.definition),u.scrollbarButtonDown=new u("scrollbar-button-down",u.triangleDown.definition),u.toolBarMore=new u("toolbar-more",u.more.definition),u.quickInputBack=new u("quick-input-back",u.arrowLeft.definition);var ie;(function(Q){Q.iconNameSegment="[A-Za-z0-9]+",Q.iconNameExpression="[A-Za-z0-9-]+",Q.iconModifierExpression="~[A-Za-z]+",Q.iconNameCharacter="[A-Za-z0-9~-]";const N=new RegExp(`^(${Q.iconNameExpression})(${Q.iconModifierExpression})?$`);function ne(z){if(z instanceof u)return["codicon","codicon-"+z.id];const y=N.exec(z.id);if(!y)return ne(u.error);const[,C,L]=y,b=["codicon","codicon-"+C];return L&&b.push("codicon-modifier-"+L.substr(1)),b}Q.asClassNameArray=ne;function Z(z){return ne(z).join(" ")}Q.asClassName=Z;function q(z){return"."+ne(z).join(".")}Q.asCSSSelector=q})(ie||(ie={}))},80733:(At,Be,m)=>{m.d(Be,{Il:()=>N,VS:()=>u,tx:()=>Q});function k(ne,Z){const q=Math.pow(10,Z);return Math.round(ne*q)/q}class u{constructor(Z,q,z,y=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,Z))|0,this.g=Math.min(255,Math.max(0,q))|0,this.b=Math.min(255,Math.max(0,z))|0,this.a=k(Math.max(Math.min(1,y),0),3)}static equals(Z,q){return Z.r===q.r&&Z.g===q.g&&Z.b===q.b&&Z.a===q.a}}class ie{constructor(Z,q,z,y){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,Z),0)|0,this.s=k(Math.max(Math.min(1,q),0),3),this.l=k(Math.max(Math.min(1,z),0),3),this.a=k(Math.max(Math.min(1,y),0),3)}static equals(Z,q){return Z.h===q.h&&Z.s===q.s&&Z.l===q.l&&Z.a===q.a}static fromRGBA(Z){const q=Z.r/255,z=Z.g/255,y=Z.b/255,C=Z.a,L=Math.max(q,z,y),b=Math.min(q,z,y);let d=0,S=0;const E=(b+L)/2,D=L-b;if(D>0){switch(S=Math.min(E<=.5?D/(2*E):D/(2-2*E),1),L){case q:d=(z-y)/D+(z<y?6:0);break;case z:d=(y-q)/D+2;break;case y:d=(q-z)/D+4;break}d*=60,d=Math.round(d)}return new ie(d,S,E,C)}static _hue2rgb(Z,q,z){return z<0&&(z+=1),z>1&&(z-=1),z<1/6?Z+(q-Z)*6*z:z<1/2?q:z<2/3?Z+(q-Z)*(2/3-z)*6:Z}static toRGBA(Z){const q=Z.h/360,{s:z,l:y,a:C}=Z;let L,b,d;if(z===0)L=b=d=y;else{const S=y<.5?y*(1+z):y+z-y*z,E=2*y-S;L=ie._hue2rgb(E,S,q+1/3),b=ie._hue2rgb(E,S,q),d=ie._hue2rgb(E,S,q-1/3)}return new u(Math.round(L*255),Math.round(b*255),Math.round(d*255),C)}}class Q{constructor(Z,q,z,y){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,Z),0)|0,this.s=k(Math.max(Math.min(1,q),0),3),this.v=k(Math.max(Math.min(1,z),0),3),this.a=k(Math.max(Math.min(1,y),0),3)}static equals(Z,q){return Z.h===q.h&&Z.s===q.s&&Z.v===q.v&&Z.a===q.a}static fromRGBA(Z){const q=Z.r/255,z=Z.g/255,y=Z.b/255,C=Math.max(q,z,y),L=Math.min(q,z,y),b=C-L,d=C===0?0:b/C;let S;return b===0?S=0:C===q?S=((z-y)/b%6+6)%6:C===z?S=(y-q)/b+2:S=(q-z)/b+4,new Q(Math.round(S*60),d,C,Z.a)}static toRGBA(Z){const{h:q,s:z,v:y,a:C}=Z,L=y*z,b=L*(1-Math.abs(q/60%2-1)),d=y-L;let[S,E,D]=[0,0,0];return q<60?(S=L,E=b):q<120?(S=b,E=L):q<180?(E=L,D=b):q<240?(E=b,D=L):q<300?(S=b,D=L):q<=360&&(S=L,D=b),S=Math.round((S+d)*255),E=Math.round((E+d)*255),D=Math.round((D+d)*255),new u(S,E,D,C)}}class N{constructor(Z){if(Z)if(Z instanceof u)this.rgba=Z;else if(Z instanceof ie)this._hsla=Z,this.rgba=ie.toRGBA(Z);else if(Z instanceof Q)this._hsva=Z,this.rgba=Q.toRGBA(Z);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}static fromHex(Z){return N.Format.CSS.parseHex(Z)||N.red}get hsla(){return this._hsla?this._hsla:ie.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Q.fromRGBA(this.rgba)}equals(Z){return!!Z&&u.equals(this.rgba,Z.rgba)&&ie.equals(this.hsla,Z.hsla)&&Q.equals(this.hsva,Z.hsva)}getRelativeLuminance(){const Z=N._relativeLuminanceForComponent(this.rgba.r),q=N._relativeLuminanceForComponent(this.rgba.g),z=N._relativeLuminanceForComponent(this.rgba.b),y=.2126*Z+.7152*q+.0722*z;return k(y,4)}static _relativeLuminanceForComponent(Z){const q=Z/255;return q<=.03928?q/12.92:Math.pow((q+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(Z){const q=this.getRelativeLuminance(),z=Z.getRelativeLuminance();return q>z}isDarkerThan(Z){const q=this.getRelativeLuminance(),z=Z.getRelativeLuminance();return q<z}lighten(Z){return new N(new ie(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*Z,this.hsla.a))}darken(Z){return new N(new ie(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*Z,this.hsla.a))}transparent(Z){const{r:q,g:z,b:y,a:C}=this.rgba;return new N(new u(q,z,y,C*Z))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new N(new u(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}toString(){return this._toString||(this._toString=N.Format.CSS.format(this)),this._toString}static getLighterColor(Z,q,z){if(Z.isLighterThan(q))return Z;z=z||.5;const y=Z.getRelativeLuminance(),C=q.getRelativeLuminance();return z=z*(C-y)/C,Z.lighten(z)}static getDarkerColor(Z,q,z){if(Z.isDarkerThan(q))return Z;z=z||.5;const y=Z.getRelativeLuminance(),C=q.getRelativeLuminance();return z=z*(y-C)/y,Z.darken(z)}}N.white=new N(new u(255,255,255,1)),N.black=new N(new u(0,0,0,1)),N.red=new N(new u(255,0,0,1)),N.blue=new N(new u(0,0,255,1)),N.green=new N(new u(0,255,0,1)),N.cyan=new N(new u(0,255,255,1)),N.lightgrey=new N(new u(211,211,211,1)),N.transparent=new N(new u(0,0,0,0)),function(ne){let Z;(function(q){let z;(function(y){function C(W){return W.rgba.a===1?`rgb(${W.rgba.r}, ${W.rgba.g}, ${W.rgba.b})`:ne.Format.CSS.formatRGBA(W)}y.formatRGB=C;function L(W){return`rgba(${W.rgba.r}, ${W.rgba.g}, ${W.rgba.b}, ${+W.rgba.a.toFixed(2)})`}y.formatRGBA=L;function b(W){return W.hsla.a===1?`hsl(${W.hsla.h}, ${(W.hsla.s*100).toFixed(2)}%, ${(W.hsla.l*100).toFixed(2)}%)`:ne.Format.CSS.formatHSLA(W)}y.formatHSL=b;function d(W){return`hsla(${W.hsla.h}, ${(W.hsla.s*100).toFixed(2)}%, ${(W.hsla.l*100).toFixed(2)}%, ${W.hsla.a.toFixed(2)})`}y.formatHSLA=d;function S(W){const A=W.toString(16);return A.length!==2?"0"+A:A}function E(W){return`#${S(W.rgba.r)}${S(W.rgba.g)}${S(W.rgba.b)}`}y.formatHex=E;function D(W,A=!1){return A&&W.rgba.a===1?ne.Format.CSS.formatHex(W):`#${S(W.rgba.r)}${S(W.rgba.g)}${S(W.rgba.b)}${S(Math.round(W.rgba.a*255))}`}y.formatHexA=D;function x(W){return W.isOpaque()?ne.Format.CSS.formatHex(W):ne.Format.CSS.formatRGBA(W)}y.format=x;function K(W){const A=W.length;if(A===0||W.charCodeAt(0)!==35)return null;if(A===7){const U=16*T(W.charCodeAt(1))+T(W.charCodeAt(2)),X=16*T(W.charCodeAt(3))+T(W.charCodeAt(4)),te=16*T(W.charCodeAt(5))+T(W.charCodeAt(6));return new ne(new u(U,X,te,1))}if(A===9){const U=16*T(W.charCodeAt(1))+T(W.charCodeAt(2)),X=16*T(W.charCodeAt(3))+T(W.charCodeAt(4)),te=16*T(W.charCodeAt(5))+T(W.charCodeAt(6)),he=16*T(W.charCodeAt(7))+T(W.charCodeAt(8));return new ne(new u(U,X,te,he/255))}if(A===4){const U=T(W.charCodeAt(1)),X=T(W.charCodeAt(2)),te=T(W.charCodeAt(3));return new ne(new u(16*U+U,16*X+X,16*te+te))}if(A===5){const U=T(W.charCodeAt(1)),X=T(W.charCodeAt(2)),te=T(W.charCodeAt(3)),he=T(W.charCodeAt(4));return new ne(new u(16*U+U,16*X+X,16*te+te,(16*he+he)/255))}return null}y.parseHex=K;function T(W){switch(W){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(z=q.CSS||(q.CSS={}))})(Z=ne.Format||(ne.Format={}))}(N||(N={}))},7379:(At,Be,m)=>{m.d(Be,{H:()=>k});function k(u,ie,Q){let N=null,ne=null;if(typeof Q.value=="function"?(N="value",ne=Q.value,ne.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof Q.get=="function"&&(N="get",ne=Q.get),!ne)throw new Error("not supported");const Z=`$memoize$${ie}`;Q[N]=function(...q){return this.hasOwnProperty(Z)||Object.defineProperty(this,Z,{configurable:!1,enumerable:!1,writable:!1,value:ne.apply(this,q)}),this[Z]}}},28079:(At,Be,m)=>{m.d(Be,{Hs:()=>q,a$:()=>Q});class k{constructor(y,C,L,b){this.originalStart=y,this.originalLength=C,this.modifiedStart=L,this.modifiedLength=b}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var u=m(20474);class ie{constructor(y){this.source=y}getElements(){const y=this.source,C=new Int32Array(y.length);for(let L=0,b=y.length;L<b;L++)C[L]=y.charCodeAt(L);return C}}function Q(z,y,C){return new q(new ie(z),new ie(y)).ComputeDiff(C).changes}class N{static Assert(y,C){if(!y)throw new Error(C)}}class ne{static Copy(y,C,L,b,d){for(let S=0;S<d;S++)L[b+S]=y[C+S]}static Copy2(y,C,L,b,d){for(let S=0;S<d;S++)L[b+S]=y[C+S]}}class Z{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new k(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(y,C){this.m_originalStart=Math.min(this.m_originalStart,y),this.m_modifiedStart=Math.min(this.m_modifiedStart,C),this.m_originalCount++}AddModifiedElement(y,C){this.m_originalStart=Math.min(this.m_originalStart,y),this.m_modifiedStart=Math.min(this.m_modifiedStart,C),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 q{constructor(y,C,L=null){this.ContinueProcessingPredicate=L,this._originalSequence=y,this._modifiedSequence=C;const[b,d,S]=q._getElements(y),[E,D,x]=q._getElements(C);this._hasStrings=S&&x,this._originalStringElements=b,this._originalElementsOrHash=d,this._modifiedStringElements=E,this._modifiedElementsOrHash=D,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(y){return y.length>0&&typeof y[0]=="string"}static _getElements(y){const C=y.getElements();if(q._isStringArray(C)){const L=new Int32Array(C.length);for(let b=0,d=C.length;b<d;b++)L[b]=(0,u.Cv)(C[b],0);return[C,L,!0]}return C instanceof Int32Array?[[],C,!1]:[[],new Int32Array(C),!1]}ElementsAreEqual(y,C){return this._originalElementsOrHash[y]!==this._modifiedElementsOrHash[C]?!1:this._hasStrings?this._originalStringElements[y]===this._modifiedStringElements[C]:!0}ElementsAreStrictEqual(y,C){if(!this.ElementsAreEqual(y,C))return!1;const L=q._getStrictElement(this._originalSequence,y),b=q._getStrictElement(this._modifiedSequence,C);return L===b}static _getStrictElement(y,C){return typeof y.getStrictElement=="function"?y.getStrictElement(C):null}OriginalElementsAreEqual(y,C){return this._originalElementsOrHash[y]!==this._originalElementsOrHash[C]?!1:this._hasStrings?this._originalStringElements[y]===this._originalStringElements[C]:!0}ModifiedElementsAreEqual(y,C){return this._modifiedElementsOrHash[y]!==this._modifiedElementsOrHash[C]?!1:this._hasStrings?this._modifiedStringElements[y]===this._modifiedStringElements[C]:!0}ComputeDiff(y){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,y)}_ComputeDiff(y,C,L,b,d){const S=[!1];let E=this.ComputeDiffRecursive(y,C,L,b,S);return d&&(E=this.PrettifyChanges(E)),{quitEarly:S[0],changes:E}}ComputeDiffRecursive(y,C,L,b,d){for(d[0]=!1;y<=C&&L<=b&&this.ElementsAreEqual(y,L);)y++,L++;for(;C>=y&&b>=L&&this.ElementsAreEqual(C,b);)C--,b--;if(y>C||L>b){let T;return L<=b?(N.Assert(y===C+1,"originalStart should only be one more than originalEnd"),T=[new k(y,0,L,b-L+1)]):y<=C?(N.Assert(L===b+1,"modifiedStart should only be one more than modifiedEnd"),T=[new k(y,C-y+1,L,0)]):(N.Assert(y===C+1,"originalStart should only be one more than originalEnd"),N.Assert(L===b+1,"modifiedStart should only be one more than modifiedEnd"),T=[]),T}const S=[0],E=[0],D=this.ComputeRecursionPoint(y,C,L,b,S,E,d),x=S[0],K=E[0];if(D!==null)return D;if(!d[0]){const T=this.ComputeDiffRecursive(y,x,L,K,d);let W=[];return d[0]?W=[new k(x+1,C-(x+1)+1,K+1,b-(K+1)+1)]:W=this.ComputeDiffRecursive(x+1,C,K+1,b,d),this.ConcatenateChanges(T,W)}return[new k(y,C-y+1,L,b-L+1)]}WALKTRACE(y,C,L,b,d,S,E,D,x,K,T,W,A,U,X,te,he,_e){let ge=null,me=null,re=new Z,Y=C,de=L,oe=A[0]-te[0]-b,J=-1073741824,$=this.m_forwardHistory.length-1;do{const ue=oe+y;ue===Y||ue<de&&x[ue-1]<x[ue+1]?(T=x[ue+1],U=T-oe-b,T<J&&re.MarkNextChange(),J=T,re.AddModifiedElement(T+1,U),oe=ue+1-y):(T=x[ue-1]+1,U=T-oe-b,T<J&&re.MarkNextChange(),J=T-1,re.AddOriginalElement(T,U+1),oe=ue-1-y),$>=0&&(x=this.m_forwardHistory[$],y=x[0],Y=1,de=x.length-1)}while(--$>=-1);if(ge=re.getReverseChanges(),_e[0]){let ue=A[0]+1,ve=te[0]+1;if(ge!==null&&ge.length>0){const xe=ge[ge.length-1];ue=Math.max(ue,xe.getOriginalEnd()),ve=Math.max(ve,xe.getModifiedEnd())}me=[new k(ue,W-ue+1,ve,X-ve+1)]}else{re=new Z,Y=S,de=E,oe=A[0]-te[0]-D,J=1073741824,$=he?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const ue=oe+d;ue===Y||ue<de&&K[ue-1]>=K[ue+1]?(T=K[ue+1]-1,U=T-oe-D,T>J&&re.MarkNextChange(),J=T+1,re.AddOriginalElement(T+1,U+1),oe=ue+1-d):(T=K[ue-1],U=T-oe-D,T>J&&re.MarkNextChange(),J=T,re.AddModifiedElement(T+1,U+1),oe=ue-1-d),$>=0&&(K=this.m_reverseHistory[$],d=K[0],Y=1,de=K.length-1)}while(--$>=-1);me=re.getChanges()}return this.ConcatenateChanges(ge,me)}ComputeRecursionPoint(y,C,L,b,d,S,E){let D=0,x=0,K=0,T=0,W=0,A=0;y--,L--,d[0]=0,S[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const U=C-y+(b-L),X=U+1,te=new Int32Array(X),he=new Int32Array(X),_e=b-L,ge=C-y,me=y-L,re=C-b,de=(ge-_e)%2===0;te[_e]=y,he[ge]=C,E[0]=!1;for(let oe=1;oe<=U/2+1;oe++){let J=0,$=0;K=this.ClipDiagonalBound(_e-oe,oe,_e,X),T=this.ClipDiagonalBound(_e+oe,oe,_e,X);for(let ve=K;ve<=T;ve+=2){ve===K||ve<T&&te[ve-1]<te[ve+1]?D=te[ve+1]:D=te[ve-1]+1,x=D-(ve-_e)-me;const xe=D;for(;D<C&&x<b&&this.ElementsAreEqual(D+1,x+1);)D++,x++;if(te[ve]=D,D+x>J+$&&(J=D,$=x),!de&&Math.abs(ve-ge)<=oe-1&&D>=he[ve])return d[0]=D,S[0]=x,xe<=he[ve]&&1447>0&&oe<=1447+1?this.WALKTRACE(_e,K,T,me,ge,W,A,re,te,he,D,C,d,x,b,S,de,E):null}const ue=(J-y+($-L)-oe)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(J,ue))return E[0]=!0,d[0]=J,S[0]=$,ue>0&&1447>0&&oe<=1447+1?this.WALKTRACE(_e,K,T,me,ge,W,A,re,te,he,D,C,d,x,b,S,de,E):(y++,L++,[new k(y,C-y+1,L,b-L+1)]);W=this.ClipDiagonalBound(ge-oe,oe,ge,X),A=this.ClipDiagonalBound(ge+oe,oe,ge,X);for(let ve=W;ve<=A;ve+=2){ve===W||ve<A&&he[ve-1]>=he[ve+1]?D=he[ve+1]-1:D=he[ve-1],x=D-(ve-ge)-re;const xe=D;for(;D>y&&x>L&&this.ElementsAreEqual(D,x);)D--,x--;if(he[ve]=D,de&&Math.abs(ve-_e)<=oe&&D<=te[ve])return d[0]=D,S[0]=x,xe>=te[ve]&&1447>0&&oe<=1447+1?this.WALKTRACE(_e,K,T,me,ge,W,A,re,te,he,D,C,d,x,b,S,de,E):null}if(oe<=1447){let ve=new Int32Array(T-K+2);ve[0]=_e-K+1,ne.Copy2(te,K,ve,1,T-K+1),this.m_forwardHistory.push(ve),ve=new Int32Array(A-W+2),ve[0]=ge-W+1,ne.Copy2(he,W,ve,1,A-W+1),this.m_reverseHistory.push(ve)}}return this.WALKTRACE(_e,K,T,me,ge,W,A,re,te,he,D,C,d,x,b,S,de,E)}PrettifyChanges(y){for(let C=0;C<y.length;C++){const L=y[C],b=C<y.length-1?y[C+1].originalStart:this._originalElementsOrHash.length,d=C<y.length-1?y[C+1].modifiedStart:this._modifiedElementsOrHash.length,S=L.originalLength>0,E=L.modifiedLength>0;for(;L.originalStart+L.originalLength<b&&L.modifiedStart+L.modifiedLength<d&&(!S||this.OriginalElementsAreEqual(L.originalStart,L.originalStart+L.originalLength))&&(!E||this.ModifiedElementsAreEqual(L.modifiedStart,L.modifiedStart+L.modifiedLength));){const x=this.ElementsAreStrictEqual(L.originalStart,L.modifiedStart);if(this.ElementsAreStrictEqual(L.originalStart+L.originalLength,L.modifiedStart+L.modifiedLength)&&!x)break;L.originalStart++,L.modifiedStart++}const D=[null];if(C<y.length-1&&this.ChangesOverlap(y[C],y[C+1],D)){y[C]=D[0],y.splice(C+1,1),C--;continue}}for(let C=y.length-1;C>=0;C--){const L=y[C];let b=0,d=0;if(C>0){const T=y[C-1];b=T.originalStart+T.originalLength,d=T.modifiedStart+T.modifiedLength}const S=L.originalLength>0,E=L.modifiedLength>0;let D=0,x=this._boundaryScore(L.originalStart,L.originalLength,L.modifiedStart,L.modifiedLength);for(let T=1;;T++){const W=L.originalStart-T,A=L.modifiedStart-T;if(W<b||A<d||S&&!this.OriginalElementsAreEqual(W,W+L.originalLength)||E&&!this.ModifiedElementsAreEqual(A,A+L.modifiedLength))break;const X=(W===b&&A===d?5:0)+this._boundaryScore(W,L.originalLength,A,L.modifiedLength);X>x&&(x=X,D=T)}L.originalStart-=D,L.modifiedStart-=D;const K=[null];if(C>0&&this.ChangesOverlap(y[C-1],y[C],K)){y[C-1]=K[0],y.splice(C,1),C++;continue}}if(this._hasStrings)for(let C=1,L=y.length;C<L;C++){const b=y[C-1],d=y[C],S=d.originalStart-b.originalStart-b.originalLength,E=b.originalStart,D=d.originalStart+d.originalLength,x=D-E,K=b.modifiedStart,T=d.modifiedStart+d.modifiedLength,W=T-K;if(S<5&&x<20&&W<20){const A=this._findBetterContiguousSequence(E,x,K,W,S);if(A){const[U,X]=A;(U!==b.originalStart+b.originalLength||X!==b.modifiedStart+b.modifiedLength)&&(b.originalLength=U-b.originalStart,b.modifiedLength=X-b.modifiedStart,d.originalStart=U+S,d.modifiedStart=X+S,d.originalLength=D-d.originalStart,d.modifiedLength=T-d.modifiedStart)}}}return y}_findBetterContiguousSequence(y,C,L,b,d){if(C<d||b<d)return null;const S=y+C-d+1,E=L+b-d+1;let D=0,x=0,K=0;for(let T=y;T<S;T++)for(let W=L;W<E;W++){const A=this._contiguousSequenceScore(T,W,d);A>0&&A>D&&(D=A,x=T,K=W)}return D>0?[x,K]:null}_contiguousSequenceScore(y,C,L){let b=0;for(let d=0;d<L;d++){if(!this.ElementsAreEqual(y+d,C+d))return 0;b+=this._originalStringElements[y+d].length}return b}_OriginalIsBoundary(y){return y<=0||y>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[y])}_OriginalRegionIsBoundary(y,C){if(this._OriginalIsBoundary(y)||this._OriginalIsBoundary(y-1))return!0;if(C>0){const L=y+C;if(this._OriginalIsBoundary(L-1)||this._OriginalIsBoundary(L))return!0}return!1}_ModifiedIsBoundary(y){return y<=0||y>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[y])}_ModifiedRegionIsBoundary(y,C){if(this._ModifiedIsBoundary(y)||this._ModifiedIsBoundary(y-1))return!0;if(C>0){const L=y+C;if(this._ModifiedIsBoundary(L-1)||this._ModifiedIsBoundary(L))return!0}return!1}_boundaryScore(y,C,L,b){const d=this._OriginalRegionIsBoundary(y,C)?1:0,S=this._ModifiedRegionIsBoundary(L,b)?1:0;return d+S}ConcatenateChanges(y,C){const L=[];if(y.length===0||C.length===0)return C.length>0?C:y;if(this.ChangesOverlap(y[y.length-1],C[0],L)){const b=new Array(y.length+C.length-1);return ne.Copy(y,0,b,0,y.length-1),b[y.length-1]=L[0],ne.Copy(C,1,b,y.length,C.length-1),b}else{const b=new Array(y.length+C.length);return ne.Copy(y,0,b,0,y.length),ne.Copy(C,0,b,y.length,C.length),b}}ChangesOverlap(y,C,L){if(N.Assert(y.originalStart<=C.originalStart,"Left change is not less than or equal to right change"),N.Assert(y.modifiedStart<=C.modifiedStart,"Left change is not less than or equal to right change"),y.originalStart+y.originalLength>=C.originalStart||y.modifiedStart+y.modifiedLength>=C.modifiedStart){const b=y.originalStart;let d=y.originalLength;const S=y.modifiedStart;let E=y.modifiedLength;return y.originalStart+y.originalLength>=C.originalStart&&(d=C.originalStart+C.originalLength-y.originalStart),y.modifiedStart+y.modifiedLength>=C.modifiedStart&&(E=C.modifiedStart+C.modifiedLength-y.modifiedStart),L[0]=new k(b,d,S,E),!0}else return L[0]=null,!1}ClipDiagonalBound(y,C,L,b){if(y>=0&&y<b)return y;const d=L,S=b-L-1,E=C%2===0;if(y<0){const D=d%2===0;return E===D?0:1}else{const D=S%2===0;return E===D?b-1:b-2}}}},35230:(At,Be,m)=>{m.d(Be,{B8:()=>L,Cp:()=>Q,F0:()=>z,FU:()=>q,L6:()=>C,b1:()=>y,dL:()=>ie,he:()=>d,n2:()=>Z,ri:()=>N});class k{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(E){setTimeout(()=>{throw E.stack?b.isErrorNoTelemetry(E)?new b(E.message+` `+E.stack):new Error(E.message+` `+E.stack):E},0)}}emit(E){this.listeners.forEach(D=>{D(E)})}onUnexpectedError(E){this.unexpectedErrorHandler(E),this.emit(E)}onUnexpectedExternalError(E){this.unexpectedErrorHandler(E)}}const u=new k;function ie(S){Z(S)||u.onUnexpectedError(S)}function Q(S){Z(S)||u.onUnexpectedExternalError(S)}function N(S){if(S instanceof Error){const{name:E,message:D}=S,x=S.stacktrace||S.stack;return{$isError:!0,name:E,message:D,stack:x,noTelemetry:b.isErrorNoTelemetry(S)}}return S}const ne="Canceled";function Z(S){return S instanceof q?!0:S instanceof Error&&S.name===ne&&S.message===ne}class q extends Error{constructor(){super(ne),this.name=this.message}}function z(){const S=new Error(ne);return S.name=S.message,S}function y(S){return S?new Error(`Illegal argument: ${S}`):new Error("Illegal argument")}function C(S){return S?new Error(`Illegal state: ${S}`):new Error("Illegal state")}class L extends Error{constructor(E){super("NotSupported"),E&&(this.message=E)}}class b extends Error{constructor(E){super(E),this.name="ErrorNoTelemetry"}static fromError(E){if(E instanceof b)return E;const D=new b;return D.message=E.message,D.stack=E.stack,D}static isErrorNoTelemetry(E){return E.name==="ErrorNoTelemetry"}}class d extends Error{constructor(E){super(E||"An unexpected bug occurred."),Object.setPrototypeOf(this,d.prototype);debugger}}},86640:(At,Be,m)=>{m.d(Be,{D0:()=>x,E7:()=>K,F3:()=>d,K3:()=>D,Q5:()=>b,ZD:()=>T,ju:()=>Z});var k=m(35230),u=m(50149),ie=m(48119),Q=m(22912);const N=!1,ne=!1;var Z;(function(W){W.None=()=>u.JT.None;function A(Ee){if(ne){const{onListenerDidAdd:Fe}=Ee,je=C.create();let Re=0;Ee.onListenerDidAdd=()=>{++Re===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),je.print()),Fe?.()}}}function U(Ee){return(Fe,je=null,Re)=>{let tt=!1,at;return at=Ee(Dt=>{if(!tt)return at?at.dispose():tt=!0,Fe.call(je,Dt)},null,Re),tt&&at.dispose(),at}}W.once=U;function X(Ee,Fe,je){return re((Re,tt=null,at)=>Ee(Dt=>Re.call(tt,Fe(Dt)),null,at),je)}W.map=X;function te(Ee,Fe,je){return re((Re,tt=null,at)=>Ee(Dt=>{Fe(Dt),Re.call(tt,Dt)},null,at),je)}W.forEach=te;function he(Ee,Fe,je){return re((Re,tt=null,at)=>Ee(Dt=>Fe(Dt)&&Re.call(tt,Dt),null,at),je)}W.filter=he;function _e(Ee){return Ee}W.signal=_e;function ge(...Ee){return(Fe,je=null,Re)=>(0,u.F8)(...Ee.map(tt=>tt(at=>Fe.call(je,at),null,Re)))}W.any=ge;function me(Ee,Fe,je,Re){let tt=je;return X(Ee,at=>(tt=Fe(tt,at),tt),Re)}W.reduce=me;function re(Ee,Fe){let je;const Re={onFirstListenerAdd(){je=Ee(tt.fire,tt)},onLastListenerRemove(){je?.dispose()}};Fe||A(Re);const tt=new b(Re);return Fe?.add(tt),tt.event}function Y(Ee,Fe,je=100,Re=!1,tt,at){let Dt,Et,Nt,ke=0;const dt={leakWarningThreshold:tt,onFirstListenerAdd(){Dt=Ee(Wt=>{ke++,Et=Fe(Et,Wt),Re&&!Nt&&(mt.fire(Et),Et=void 0),clearTimeout(Nt),Nt=setTimeout(()=>{const Kt=Et;Et=void 0,Nt=void 0,(!Re||ke>1)&&mt.fire(Kt),ke=0},je)})},onLastListenerRemove(){Dt.dispose()}};at||A(dt);const mt=new b(dt);return at?.add(mt),mt.event}W.debounce=Y;function de(Ee,Fe=(Re,tt)=>Re===tt,je){let Re=!0,tt;return he(Ee,at=>{const Dt=Re||!Fe(at,tt);return Re=!1,tt=at,Dt},je)}W.latch=de;function oe(Ee,Fe,je){return[W.filter(Ee,Fe,je),W.filter(Ee,Re=>!Fe(Re),je)]}W.split=oe;function J(Ee,Fe=!1,je=[]){let Re=je.slice(),tt=Ee(Et=>{Re?Re.push(Et):Dt.fire(Et)});const at=()=>{Re?.forEach(Et=>Dt.fire(Et)),Re=null},Dt=new b({onFirstListenerAdd(){tt||(tt=Ee(Et=>Dt.fire(Et)))},onFirstListenerDidAdd(){Re&&(Fe?setTimeout(at):at())},onLastListenerRemove(){tt&&tt.dispose(),tt=null}});return Dt.event}W.buffer=J;class ${constructor(Fe){this.event=Fe,this.disposables=new u.SL}map(Fe){return new $(X(this.event,Fe,this.disposables))}forEach(Fe){return new $(te(this.event,Fe,this.disposables))}filter(Fe){return new $(he(this.event,Fe,this.disposables))}reduce(Fe,je){return new $(me(this.event,Fe,je,this.disposables))}latch(){return new $(de(this.event,void 0,this.disposables))}debounce(Fe,je=100,Re=!1,tt){return new $(Y(this.event,Fe,je,Re,tt,this.disposables))}on(Fe,je,Re){return this.event(Fe,je,Re)}once(Fe,je,Re){return U(this.event)(Fe,je,Re)}dispose(){this.disposables.dispose()}}function ue(Ee){return new $(Ee)}W.chain=ue;function ve(Ee,Fe,je=Re=>Re){const Re=(...Et)=>Dt.fire(je(...Et)),tt=()=>Ee.on(Fe,Re),at=()=>Ee.removeListener(Fe,Re),Dt=new b({onFirstListenerAdd:tt,onLastListenerRemove:at});return Dt.event}W.fromNodeEventEmitter=ve;function xe(Ee,Fe,je=Re=>Re){const Re=(...Et)=>Dt.fire(je(...Et)),tt=()=>Ee.addEventListener(Fe,Re),at=()=>Ee.removeEventListener(Fe,Re),Dt=new b({onFirstListenerAdd:tt,onLastListenerRemove:at});return Dt.event}W.fromDOMEventEmitter=xe;function O(Ee){return new Promise(Fe=>U(Ee)(Fe))}W.toPromise=O;function rt(Ee,Fe){return Fe(void 0),Ee(je=>Fe(je))}W.runAndSubscribe=rt;function ct(Ee,Fe){let je=null;function Re(at){je?.dispose(),je=new u.SL,Fe(at,je)}Re(void 0);const tt=Ee(at=>Re(at));return(0,u.OF)(()=>{tt.dispose(),je?.dispose()})}W.runAndSubscribeWithStore=ct;class Ve{constructor(Fe,je){this.obs=Fe,this._counter=0,this._hasChanged=!1;const Re={onFirstListenerAdd:()=>{Fe.addObserver(this)},onLastListenerRemove:()=>{Fe.removeObserver(this)}};je||A(Re),this.emitter=new b(Re),je&&je.add(this.emitter)}beginUpdate(Fe){this._counter++}handleChange(Fe,je){this._hasChanged=!0}endUpdate(Fe){--this._counter===0&&this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this.obs.get()))}}function $e(Ee,Fe){return new Ve(Ee,Fe).emitter.event}W.fromObservable=$e})(Z||(Z={}));class q{constructor(A){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${A}_${q._idPool++}`}start(A){this._stopWatch=new Q.G(!0),this._listenerCount=A}stop(){if(this._stopWatch){const A=this._stopWatch.elapsed();this._elapsedOverall+=A,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${A.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}q._idPool=0;let z=-1;class y{constructor(A,U=Math.random().toString(18).slice(2,5)){this.customThreshold=A,this.name=U,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(A,U){let X=z;if(typeof this.customThreshold=="number"&&(X=this.customThreshold),X<=0||U<X)return;this._stacks||(this._stacks=new Map);const te=this._stacks.get(A.value)||0;if(this._stacks.set(A.value,te+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=X*.5;let he,_e=0;for(const[ge,me]of this._stacks)(!he||_e<me)&&(he=ge,_e=me);console.warn(`[${this.name}] potential listener LEAK detected, having ${U} listeners already. MOST frequent listener (${_e}):`),console.warn(he)}return()=>{const he=this._stacks.get(A.value)||0;this._stacks.set(A.value,he-1)}}}class C{constructor(A){this.value=A}static create(){var A;return new C((A=new Error().stack)!==null&&A!==void 0?A:"")}print(){console.warn(this.value.split(` `).slice(2).join(` `))}}class L{constructor(A,U,X){this.callback=A,this.callbackThis=U,this.stack=X,this.subscription=new u.dt}invoke(A){this.callback.call(this.callbackThis,A)}}class b{constructor(A){var U,X;this._disposed=!1,this._options=A,this._leakageMon=z>0?new y(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=!((U=this._options)===null||U===void 0)&&U._profName?new q(this._options._profName):void 0,this._deliveryQueue=(X=this._options)===null||X===void 0?void 0:X.deliveryQueue}dispose(){var A,U,X,te;if(!this._disposed){if(this._disposed=!0,this._listeners){if(N){const he=Array.from(this._listeners);queueMicrotask(()=>{var _e;for(const ge of he)ge.subscription.isset()&&(ge.subscription.unset(),(_e=ge.stack)===null||_e===void 0||_e.print())})}this._listeners.clear()}(A=this._deliveryQueue)===null||A===void 0||A.clear(this),(X=(U=this._options)===null||U===void 0?void 0:U.onLastListenerRemove)===null||X===void 0||X.call(U),(te=this._leakageMon)===null||te===void 0||te.dispose()}}get event(){return this._event||(this._event=(A,U,X)=>{var te,he,_e;this._listeners||(this._listeners=new ie.S);const ge=this._listeners.isEmpty();ge&&(!((te=this._options)===null||te===void 0)&&te.onFirstListenerAdd)&&this._options.onFirstListenerAdd(this);let me,re;this._leakageMon&&this._listeners.size>=30&&(re=C.create(),me=this._leakageMon.check(re,this._listeners.size+1)),N&&(re=re??C.create());const Y=new L(A,U,re),de=this._listeners.push(Y);ge&&(!((he=this._options)===null||he===void 0)&&he.onFirstListenerDidAdd)&&this._options.onFirstListenerDidAdd(this),!((_e=this._options)===null||_e===void 0)&&_e.onListenerDidAdd&&this._options.onListenerDidAdd(this,A,U);const oe=Y.subscription.set(()=>{me?.(),this._disposed||(de(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return X instanceof u.SL?X.add(oe):Array.isArray(X)&&X.push(oe),oe}),this._event}fire(A){var U,X;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new S);for(const te of this._listeners)this._deliveryQueue.push(this,te,A);(U=this._perfMon)===null||U===void 0||U.start(this._deliveryQueue.size),this._deliveryQueue.deliver(),(X=this._perfMon)===null||X===void 0||X.stop()}}}class d{constructor(){this._queue=new ie.S}get size(){return this._queue.size}push(A,U,X){this._queue.push(new E(A,U,X))}clear(A){const U=new ie.S;for(const X of this._queue)X.emitter!==A&&U.push(X);this._queue=U}deliver(){for(;this._queue.size>0;){const A=this._queue.shift();try{A.listener.invoke(A.event)}catch(U){(0,k.dL)(U)}}}}class S extends d{clear(A){this._queue.clear()}}class E{constructor(A,U,X){this.emitter=A,this.listener=U,this.event=X}}class D extends b{constructor(A){super(A),this._isPaused=0,this._eventQueue=new ie.S,this._mergeFn=A?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){const A=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(A))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(A){this._listeners&&(this._isPaused!==0?this._eventQueue.push(A):super.fire(A))}}class x extends D{constructor(A){var U;super(A),this._delay=(U=A.delay)!==null&&U!==void 0?U:100}fire(A){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(A)}}class K{constructor(){this.buffers=[]}wrapEvent(A){return(U,X,te)=>A(he=>{const _e=this.buffers[this.buffers.length-1];_e?_e.push(()=>U.call(X,he)):U.call(X,he)},void 0,te)}bufferEvents(A){const U=[];this.buffers.push(U);const X=A();return this.buffers.pop(),U.forEach(te=>te()),X}}class T{constructor(){this.listening=!1,this.inputEvent=Z.None,this.inputEventListener=u.JT.None,this.emitter=new b({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(A){this.inputEvent=A,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=A(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}},43300:(At,Be,m)=>{m.d(Be,{KM:()=>q,ej:()=>N,fn:()=>ne,oP:()=>y,yj:()=>Z});var k=m(61419),u=m(75874),ie=m(34504);function Q(C){return C===47||C===92}function N(C){return C.replace(/[\\/]/g,k.KR.sep)}function ne(C){return C.indexOf("/")===-1&&(C=N(C)),/^[a-zA-Z]:(\/|$)/.test(C)&&(C="/"+C),C}function Z(C,L=k.KR.sep){if(!C)return"";const b=C.length,d=C.charCodeAt(0);if(Q(d)){if(Q(C.charCodeAt(1))&&!Q(C.charCodeAt(2))){let E=3;const D=E;for(;E<b&&!Q(C.charCodeAt(E));E++);if(D!==E&&!Q(C.charCodeAt(E+1))){for(E+=1;E<b;E++)if(Q(C.charCodeAt(E)))return C.slice(0,E+1).replace(/[\\/]/g,L)}}return L}else if(z(d)&&C.charCodeAt(1)===58)return Q(C.charCodeAt(2))?C.slice(0,2)+L:C.slice(0,2);let S=C.indexOf("://");if(S!==-1){for(S+=3;S<b;S++)if(Q(C.charCodeAt(S)))return C.slice(0,S+1)}return""}function q(C,L,b,d=k.ir){if(C===L)return!0;if(!C||!L||L.length>C.length)return!1;if(b){if(!(0,ie.ok)(C,L))return!1;if(L.length===C.length)return!0;let E=L.length;return L.charAt(L.length-1)===d&&E--,C.charAt(E)===d}return L.charAt(L.length-1)!==d&&(L+=d),C.indexOf(L)===0}function z(C){return C>=65&&C<=90||C>=97&&C<=122}function y(C,L=u.ED){return L?z(C.charCodeAt(0))&&C.charCodeAt(1)===58:!1}},49831:(At,Be,m)=>{m.d(Be,{CL:()=>Dt,EW:()=>Nt,Ji:()=>N,KZ:()=>he,Oh:()=>de,Sy:()=>q,ir:()=>Z,jB:()=>oe,l7:()=>mt,mB:()=>J,mX:()=>Et,or:()=>ie});var k=m(37774),u=m(34504);function ie(..._t){return function(wt,Ut){for(let ni=0,vi=_t.length;ni<vi;ni++){const Ye=_t[ni](wt,Ut);if(Ye)return Ye}return null}}const Q=ne.bind(void 0,!1),N=ne.bind(void 0,!0);function ne(_t,wt,Ut){if(!Ut||Ut.length<wt.length)return null;let ni;return _t?ni=u.ok(Ut,wt):ni=Ut.indexOf(wt)===0,ni?wt.length>0?[{start:0,end:wt.length}]:[]:null}function Z(_t,wt){const Ut=wt.toLowerCase().indexOf(_t.toLowerCase());return Ut===-1?null:[{start:Ut,end:Ut+_t.length}]}function q(_t,wt){return z(_t.toLowerCase(),wt.toLowerCase(),0,0)}function z(_t,wt,Ut,ni){if(Ut===_t.length)return[];if(ni===wt.length)return null;if(_t[Ut]===wt[ni]){let vi=null;return(vi=z(_t,wt,Ut+1,ni+1))?x({start:ni,end:ni+1},vi):null}return z(_t,wt,Ut,ni+1)}function y(_t){return 97<=_t&&_t<=122}function C(_t){return 65<=_t&&_t<=90}function L(_t){return 48<=_t&&_t<=57}function b(_t){return _t===32||_t===9||_t===10||_t===13}const d=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(_t=>d.add(_t.charCodeAt(0)));function S(_t){return b(_t)||d.has(_t)}function E(_t,wt){return _t===wt||S(_t)&&S(wt)}function D(_t){return y(_t)||C(_t)||L(_t)}function x(_t,wt){return wt.length===0?wt=[_t]:_t.end===wt[0].start?wt[0].start=_t.start:wt.unshift(_t),wt}function K(_t,wt){for(let Ut=wt;Ut<_t.length;Ut++){const ni=_t.charCodeAt(Ut);if(C(ni)||L(ni)||Ut>0&&!D(_t.charCodeAt(Ut-1)))return Ut}return _t.length}function T(_t,wt,Ut,ni){if(Ut===_t.length)return[];if(ni===wt.length)return null;if(_t[Ut]!==wt[ni].toLowerCase())return null;{let vi=null,Ye=ni+1;for(vi=T(_t,wt,Ut+1,ni+1);!vi&&(Ye=K(wt,Ye))<wt.length;)vi=T(_t,wt,Ut+1,Ye),Ye++;return vi===null?null:x({start:ni,end:ni+1},vi)}}function W(_t){let wt=0,Ut=0,ni=0,vi=0,Ye=0;for(let Di=0;Di<_t.length;Di++)Ye=_t.charCodeAt(Di),C(Ye)&&wt++,y(Ye)&&Ut++,D(Ye)&&ni++,L(Ye)&&vi++;const Ct=wt/_t.length,Pt=Ut/_t.length,ti=ni/_t.length,ri=vi/_t.length;return{upperPercent:Ct,lowerPercent:Pt,alphaPercent:ti,numericPercent:ri}}function A(_t){const{upperPercent:wt,lowerPercent:Ut}=_t;return Ut===0&&wt>.6}function U(_t){const{upperPercent:wt,lowerPercent:Ut,alphaPercent:ni,numericPercent:vi}=_t;return Ut>.2&&wt<.8&&ni>.6&&vi<.2}function X(_t){let wt=0,Ut=0,ni=0,vi=0;for(let Ye=0;Ye<_t.length;Ye++)ni=_t.charCodeAt(Ye),C(ni)&&wt++,y(ni)&&Ut++,b(ni)&&vi++;return(wt===0||Ut===0)&&vi===0?_t.length<=30:wt<=5}function te(_t,wt){if(!wt||(wt=wt.trim(),wt.length===0)||!X(_t)||wt.length>60)return null;const Ut=W(wt);if(!U(Ut)){if(!A(Ut))return null;wt=wt.toLowerCase()}let ni=null,vi=0;for(_t=_t.toLowerCase();vi<wt.length&&(ni=T(_t,wt,0,vi))===null;)vi=K(wt,vi+1);return ni}function he(_t,wt,Ut=!1){if(!wt||wt.length===0)return null;let ni=null,vi=0;for(_t=_t.toLowerCase(),wt=wt.toLowerCase();vi<wt.length&&(ni=_e(_t,wt,0,vi,Ut))===null;)vi=ge(wt,vi+1);return ni}function _e(_t,wt,Ut,ni,vi){if(Ut===_t.length)return[];if(ni===wt.length)return null;if(E(_t.charCodeAt(Ut),wt.charCodeAt(ni))){let Ye=null,Ct=ni+1;if(Ye=_e(_t,wt,Ut+1,ni+1,vi),!vi)for(;!Ye&&(Ct=ge(wt,Ct))<wt.length;)Ye=_e(_t,wt,Ut+1,Ct,vi),Ct++;return Ye===null?null:x({start:ni,end:ni+1},Ye)}else return null}function ge(_t,wt){for(let Ut=wt;Ut<_t.length;Ut++)if(S(_t.charCodeAt(Ut))||Ut>0&&S(_t.charCodeAt(Ut-1)))return Ut;return _t.length}const me=ie(N,te,Z),re=ie(N,te,q),Y=new k.z6(1e4);function de(_t,wt,Ut=!1){if(typeof _t!="string"||typeof wt!="string")return null;let ni=Y.get(_t);ni||(ni=new RegExp(u.un(_t),"i"),Y.set(_t,ni));const vi=ni.exec(wt);return vi?[{start:vi.index,end:vi.index+vi[0].length}]:Ut?re(_t,wt):me(_t,wt)}function oe(_t,wt,Ut,ni,vi,Ye){const Ct=Math.min(13,_t.length);for(;Ut<Ct;Ut++){const Pt=Nt(_t,wt,Ut,ni,vi,Ye,{firstMatchCanBeWeak:!1,boostFullMatch:!0});if(Pt)return Pt}return[0,Ye]}function J(_t){if(typeof _t>"u")return[];const wt=[],Ut=_t[1];for(let ni=_t.length-1;ni>1;ni--){const vi=_t[ni]+Ut,Ye=wt[wt.length-1];Ye&&Ye.end===vi?Ye.end=vi+1:wt.push({start:vi,end:vi+1})}return wt}const $=128;function ue(){const _t=[],wt=[];for(let Ut=0;Ut<=$;Ut++)wt[Ut]=0;for(let Ut=0;Ut<=$;Ut++)_t.push(wt.slice(0));return _t}function ve(_t){const wt=[];for(let Ut=0;Ut<=_t;Ut++)wt[Ut]=0;return wt}const xe=ve(2*$),O=ve(2*$),rt=ue(),ct=ue(),Ve=ue(),$e=!1;function Ee(_t,wt,Ut,ni,vi){function Ye(Pt,ti,ri=" "){for(;Pt.length<ti;)Pt=ri+Pt;return Pt}let Ct=` | |${ni.split("").map(Pt=>Ye(Pt,3)).join("|")} `;for(let Pt=0;Pt<=Ut;Pt++)Pt===0?Ct+=" |":Ct+=`${wt[Pt-1]}|`,Ct+=_t[Pt].slice(0,vi+1).map(ti=>Ye(ti.toString(),3)).join("|")+` `;return Ct}function Fe(_t,wt,Ut,ni){_t=_t.substr(wt),Ut=Ut.substr(ni),console.log(Ee(ct,_t,_t.length,Ut,Ut.length)),console.log(Ee(Ve,_t,_t.length,Ut,Ut.length)),console.log(Ee(rt,_t,_t.length,Ut,Ut.length))}function je(_t,wt){if(wt<0||wt>=_t.length)return!1;const Ut=_t.codePointAt(wt);switch(Ut){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!!u.C8(Ut)}}function Re(_t,wt){if(wt<0||wt>=_t.length)return!1;switch(_t.charCodeAt(wt)){case 32:case 9:return!0;default:return!1}}function tt(_t,wt,Ut){return wt[_t]!==Ut[_t]}function at(_t,wt,Ut,ni,vi,Ye,Ct=!1){for(;wt<Ut&&vi<Ye;)_t[wt]===ni[vi]&&(Ct&&(xe[wt]=vi),wt+=1),vi+=1;return wt===Ut}var Dt;(function(_t){_t.Default=[-100,0];function wt(Ut){return!Ut||Ut.length===2&&Ut[0]===-100&&Ut[1]===0}_t.isDefault=wt})(Dt||(Dt={}));class Et{constructor(wt,Ut){this.firstMatchCanBeWeak=wt,this.boostFullMatch=Ut}}Et.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};function Nt(_t,wt,Ut,ni,vi,Ye,Ct=Et.default){const Pt=_t.length>$?$:_t.length,ti=ni.length>$?$:ni.length;if(Ut>=Pt||Ye>=ti||Pt-Ut>ti-Ye||!at(wt,Ut,Pt,vi,Ye,ti,!0))return;ke(Pt,ti,Ut,Ye,wt,vi);let ri=1,Di=1,Ui=Ut,Ei=Ye;const Ae=[!1];for(ri=1,Ui=Ut;Ui<Pt;ri++,Ui++){const Oe=xe[Ui],ft=O[Ui],Yt=Ui+1<Pt?O[Ui+1]:ti;for(Di=Oe-Ye+1,Ei=Oe;Ei<Yt;Di++,Ei++){let bi=Number.MIN_SAFE_INTEGER,Gi=!1;Ei<=ft&&(bi=dt(_t,wt,Ui,Ut,ni,vi,Ei,ti,Ye,rt[ri-1][Di-1]===0,Ae));let Dn=0;bi!==Number.MAX_SAFE_INTEGER&&(Gi=!0,Dn=bi+ct[ri-1][Di-1]);const st=Ei>Oe,bt=st?ct[ri][Di-1]+(rt[ri][Di-1]>0?-5:0):0,Zt=Ei>Oe+1&&rt[ri][Di-1]>0,Ot=Zt?ct[ri][Di-2]+(rt[ri][Di-2]>0?-5:0):0;if(Zt&&(!st||Ot>=bt)&&(!Gi||Ot>=Dn))ct[ri][Di]=Ot,Ve[ri][Di]=3,rt[ri][Di]=0;else if(st&&(!Gi||bt>=Dn))ct[ri][Di]=bt,Ve[ri][Di]=2,rt[ri][Di]=0;else if(Gi)ct[ri][Di]=Dn,Ve[ri][Di]=1,rt[ri][Di]=rt[ri-1][Di-1]+1;else throw new Error("not possible")}}if($e&&Fe(_t,Ut,ni,Ye),!Ae[0]&&!Ct.firstMatchCanBeWeak)return;ri--,Di--;const Ii=[ct[ri][Di],Ye];let Ue=0,Se=0;for(;ri>=1;){let Oe=Di;do{const ft=Ve[ri][Oe];if(ft===3)Oe=Oe-2;else if(ft===2)Oe=Oe-1;else break}while(Oe>=1);Ue>1&&wt[Ut+ri-1]===vi[Ye+Di-1]&&!tt(Oe+Ye-1,ni,vi)&&Ue+1>rt[ri][Oe]&&(Oe=Di),Oe===Di?Ue++:Ue=1,Se||(Se=Oe),ri--,Di=Oe-1,Ii.push(Di)}ti===Pt&&Ct.boostFullMatch&&(Ii[0]+=2);const ht=Se-Pt;return Ii[0]-=ht,Ii}function ke(_t,wt,Ut,ni,vi,Ye){let Ct=_t-1,Pt=wt-1;for(;Ct>=Ut&&Pt>=ni;)vi[Ct]===Ye[Pt]&&(O[Ct]=Pt,Ct--),Pt--}function dt(_t,wt,Ut,ni,vi,Ye,Ct,Pt,ti,ri,Di){if(wt[Ut]!==Ye[Ct])return Number.MIN_SAFE_INTEGER;let Ui=1,Ei=!1;return Ct===Ut-ni?Ui=_t[Ut]===vi[Ct]?7:5:tt(Ct,vi,Ye)&&(Ct===0||!tt(Ct-1,vi,Ye))?(Ui=_t[Ut]===vi[Ct]?7:5,Ei=!0):je(Ye,Ct)&&(Ct===0||!je(Ye,Ct-1))?Ui=5:(je(Ye,Ct-1)||Re(Ye,Ct-1))&&(Ui=5,Ei=!0),Ui>1&&Ut===ni&&(Di[0]=!0),Ei||(Ei=tt(Ct,vi,Ye)||je(Ye,Ct-1)||Re(Ye,Ct-1)),Ut===ni?Ct>ti&&(Ui-=Ei?3:5):ri?Ui+=Ei?2:0:Ui+=Ei?0:1,Ct+1===Pt&&(Ui-=Ei?3:5),Ui}function mt(_t,wt,Ut,ni,vi,Ye,Ct){return Wt(_t,wt,Ut,ni,vi,Ye,!0,Ct)}function Wt(_t,wt,Ut,ni,vi,Ye,Ct,Pt){let ti=Nt(_t,wt,Ut,ni,vi,Ye,Pt);if(ti&&!Ct)return ti;if(_t.length>=3){const ri=Math.min(7,_t.length-1);for(let Di=Ut+1;Di<ri;Di++){const Ui=Kt(_t,Di);if(Ui){const Ei=Nt(Ui,Ui.toLowerCase(),Ut,ni,vi,Ye,Pt);Ei&&(Ei[0]-=3,(!ti||Ei[0]>ti[0])&&(ti=Ei))}}}return ti}function Kt(_t,wt){if(wt+1>=_t.length)return;const Ut=_t[wt],ni=_t[wt+1];if(Ut!==ni)return _t.slice(0,wt)+ni+Ut+_t.slice(wt+2)}},17759:(At,Be,m)=>{m.d(Be,{I:()=>k});function k(u){const ie=this;let Q=!1,N;return function(){return Q||(Q=!0,N=u.apply(ie,arguments)),N}}},20474:(At,Be,m)=>{m.d(Be,{Cv:()=>ne,SP:()=>ie,vp:()=>u,yP:()=>b});var k=m(34504);function u(d){return ie(d,0)}function ie(d,S){switch(typeof d){case"object":return d===null?Q(349,S):Array.isArray(d)?Z(d,S):q(d,S);case"string":return ne(d,S);case"boolean":return N(d,S);case"number":return Q(d,S);case"undefined":return Q(937,S);default:return Q(617,S)}}function Q(d,S){return(S<<5)-S+d|0}function N(d,S){return Q(d?433:863,S)}function ne(d,S){S=Q(149417,S);for(let E=0,D=d.length;E<D;E++)S=Q(d.charCodeAt(E),S);return S}function Z(d,S){return S=Q(104579,S),d.reduce((E,D)=>ie(D,E),S)}function q(d,S){return S=Q(181387,S),Object.keys(d).sort().reduce((E,D)=>(E=ne(D,E),ie(d[D],E)),S)}function z(d,S,E=32){const D=E-S,x=~((1<<D)-1);return(d<<S|(x&d)>>>D)>>>0}function y(d,S=0,E=d.byteLength,D=0){for(let x=0;x<E;x++)d[S+x]=D}function C(d,S,E="0"){for(;d.length<S;)d=E+d;return d}function L(d,S=32){return d instanceof ArrayBuffer?Array.from(new Uint8Array(d)).map(E=>E.toString(16).padStart(2,"0")).join(""):C((d>>>0).toString(16),S/4)}class b{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(64+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(S){const E=S.length;if(E===0)return;const D=this._buff;let x=this._buffLen,K=this._leftoverHighSurrogate,T,W;for(K!==0?(T=K,W=-1,K=0):(T=S.charCodeAt(0),W=0);;){let A=T;if(k.ZG(T))if(W+1<E){const U=S.charCodeAt(W+1);k.YK(U)?(W++,A=k.rL(T,U)):A=65533}else{K=T;break}else k.YK(T)&&(A=65533);if(x=this._push(D,x,A),W++,W<E)T=S.charCodeAt(W);else break}this._buffLen=x,this._leftoverHighSurrogate=K}_push(S,E,D){return D<128?S[E++]=D:D<2048?(S[E++]=192|(D&1984)>>>6,S[E++]=128|(D&63)>>>0):D<65536?(S[E++]=224|(D&61440)>>>12,S[E++]=128|(D&4032)>>>6,S[E++]=128|(D&63)>>>0):(S[E++]=240|(D&1835008)>>>18,S[E++]=128|(D&258048)>>>12,S[E++]=128|(D&4032)>>>6,S[E++]=128|(D&63)>>>0),E>=64&&(this._step(),E-=64,this._totalLen+=64,S[0]=S[64+0],S[1]=S[64+1],S[2]=S[64+2]),E}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()),L(this._h0)+L(this._h1)+L(this._h2)+L(this._h3)+L(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,y(this._buff,this._buffLen),this._buffLen>56&&(this._step(),y(this._buff));const S=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(S/4294967296),!1),this._buffDV.setUint32(60,S%4294967296,!1),this._step()}_step(){const S=b._bigBlock32,E=this._buffDV;for(let te=0;te<64;te+=4)S.setUint32(te,E.getUint32(te,!1),!1);for(let te=64;te<320;te+=4)S.setUint32(te,z(S.getUint32(te-12,!1)^S.getUint32(te-32,!1)^S.getUint32(te-56,!1)^S.getUint32(te-64,!1),1),!1);let D=this._h0,x=this._h1,K=this._h2,T=this._h3,W=this._h4,A,U,X;for(let te=0;te<80;te++)te<20?(A=x&K|~x&T,U=1518500249):te<40?(A=x^K^T,U=1859775393):te<60?(A=x&K|x&T|K&T,U=2400959708):(A=x^K^T,U=3395469782),X=z(D,5)+A+W+U+S.getUint32(te*4,!1)&4294967295,W=T,T=K,K=z(x,30),x=D,D=X;this._h0=this._h0+D&4294967295,this._h1=this._h1+x&4294967295,this._h2=this._h2+K&4294967295,this._h3=this._h3+T&4294967295,this._h4=this._h4+W&4294967295}}b._bigBlock32=new DataView(new ArrayBuffer(320))},20022:(At,Be,m)=>{m.d(Be,{CP:()=>N,Fr:()=>ne,W5:()=>Q,d9:()=>q,oR:()=>z,v1:()=>y});var k=m(35230),u=m(12094),ie=m(34504);class Q{constructor(L="",b=!1){var d,S,E;if(this.value=L,typeof this.value!="string")throw(0,k.b1)("value");typeof b=="boolean"?(this.isTrusted=b,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=(d=b.isTrusted)!==null&&d!==void 0?d:void 0,this.supportThemeIcons=(S=b.supportThemeIcons)!==null&&S!==void 0?S:!1,this.supportHtml=(E=b.supportHtml)!==null&&E!==void 0?E:!1)}appendText(L,b=0){return this.value+=Z(this.supportThemeIcons?(0,u.Qo)(L):L).replace(/([ \t]+)/g,(d,S)=>" ".repeat(S.length)).replace(/\>/gm,"\\>").replace(/\n/g,b===1?`\\ `:` `),this}appendMarkdown(L){return this.value+=L,this}appendCodeblock(L,b){return this.value+="\n```",this.value+=L,this.value+=` `,this.value+=b,this.value+="\n```\n",this}appendLink(L,b,d){return this.value+="[",this.value+=this._escape(b,"]"),this.value+="](",this.value+=this._escape(String(L),")"),d&&(this.value+=` "${this._escape(this._escape(d,'"'),")")}"`),this.value+=")",this}_escape(L,b){const d=new RegExp((0,ie.ec)(b),"g");return L.replace(d,(S,E)=>L.charAt(E-1)!=="\\"?`\\${S}`:S)}}function N(C){return ne(C)?!C.value:Array.isArray(C)?C.every(N):!0}function ne(C){return C instanceof Q?!0:C&&typeof C=="object"?typeof C.value=="string"&&(typeof C.isTrusted=="boolean"||C.isTrusted===void 0)&&(typeof C.supportThemeIcons=="boolean"||C.supportThemeIcons===void 0):!1}function Z(C){return C.replace(/[\\`*_{}[\]()#+\-!]/g,"\\$&")}function q(C){return C.replace(/"/g,""")}function z(C){return C&&C.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1")}function y(C){const L=[],b=C.split("|").map(S=>S.trim());C=b[0];const d=b[1];if(d){const S=/height=(\d+)/.exec(d),E=/width=(\d+)/.exec(d),D=S?S[1]:"",x=E?E[1]:"",K=isFinite(parseInt(x)),T=isFinite(parseInt(D));K&&L.push(`width="${x}"`),T&&L.push(`height="${D}"`)}return{href:C,dimensions:L}}},12094:(At,Be,m)=>{m.d(Be,{Gt:()=>S,Ho:()=>b,Qo:()=>q,f$:()=>y,x$:()=>L});var k=m(15324),u=m(49831),ie=m(34504);const Q="$(",N=new RegExp(`\\$\\(${k.dT.iconNameExpression}(?:${k.dT.iconModifierExpression})?\\)`,"g"),ne=new RegExp(k.dT.iconNameCharacter),Z=new RegExp(`(\\\\)?${N.source}`,"g");function q(E){return E.replace(Z,(D,x)=>x?D:`\\${D}`)}const z=new RegExp(`\\\\${N.source}`,"g");function y(E){return E.replace(z,D=>`\\${D}`)}const C=new RegExp(`(\\s)?(\\\\)?${N.source}(\\s)?`,"g");function L(E){return E.indexOf(Q)===-1?E:E.replace(C,(D,x,K,T)=>K?D:x||T||"")}function b(E){const D=E.indexOf(Q);return D===-1?{text:E}:d(E,D)}function d(E,D){const x=[];let K="";function T(ge){if(ge){K+=ge;for(const me of ge)x.push(U)}}let W=-1,A="",U=0,X,te,he=D;const _e=E.length;for(T(E.substr(0,D));he<_e;){if(X=E[he],te=E[he+1],X===Q[0]&&te===Q[1])W=he,T(A),A=Q,he++;else if(X===")"&&W!==-1){const ge=he-W+1;U+=ge,W=-1,A=""}else W!==-1?ne.test(X)?A+=X:(T(A),W=-1,A=""):T(X);he++}return T(A),{text:K,iconOffsets:x}}function S(E,D,x=!1){const{text:K,iconOffsets:T}=D;if(!T||T.length===0)return(0,u.Oh)(E,K,x);const W=(0,ie.j3)(K," "),A=K.length-W.length,U=(0,u.Oh)(E,W,x);if(U)for(const X of U){const te=T[X.start+A]+A;X.start+=te,X.end+=te}return U}},30131:(At,Be,m)=>{m.d(Be,{R:()=>k,a:()=>u});class k{constructor(Q){this._prefix=Q,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const u=new k("id#")},20459:(At,Be,m)=>{m.d(Be,{$:()=>k});var k;(function(u){function ie(A){return A&&typeof A=="object"&&typeof A[Symbol.iterator]=="function"}u.is=ie;const Q=Object.freeze([]);function N(){return Q}u.empty=N;function*ne(A){yield A}u.single=ne;function Z(A){return A||Q}u.from=Z;function q(A){return!A||A[Symbol.iterator]().next().done===!0}u.isEmpty=q;function z(A){return A[Symbol.iterator]().next().value}u.first=z;function y(A,U){for(const X of A)if(U(X))return!0;return!1}u.some=y;function C(A,U){for(const X of A)if(U(X))return X}u.find=C;function*L(A,U){for(const X of A)U(X)&&(yield X)}u.filter=L;function*b(A,U){let X=0;for(const te of A)yield U(te,X++)}u.map=b;function*d(...A){for(const U of A)for(const X of U)yield X}u.concat=d;function*S(A){for(const U of A)for(const X of U)yield X}u.concatNested=S;function E(A,U,X){let te=X;for(const he of A)te=U(te,he);return te}u.reduce=E;function D(A,U){let X=0;for(const te of A)U(te,X++)}u.forEach=D;function*x(A,U,X=A.length){for(U<0&&(U+=A.length),X<0?X+=A.length:X>A.length&&(X=A.length);U<X;U++)yield A[U]}u.slice=x;function K(A,U=Number.POSITIVE_INFINITY){const X=[];if(U===0)return[X,A];const te=A[Symbol.iterator]();for(let he=0;he<U;he++){const _e=te.next();if(_e.done)return[X,u.empty()];X.push(_e.value)}return[X,{[Symbol.iterator](){return te}}]}u.consume=K;function T(A){return K(A)[0]}u.collect=T;function W(A,U,X=(te,he)=>te===he){const te=A[Symbol.iterator](),he=U[Symbol.iterator]();for(;;){const _e=te.next(),ge=he.next();if(_e.done!==ge.done)return!1;if(_e.done)return!0;if(!X(_e.value,ge.value))return!1}}u.equals=W})(k||(k={}))},5276:(At,Be,m)=>{m.d(Be,{H_:()=>N,Vd:()=>y,gx:()=>b,kL:()=>L});class k{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(S,E){this._keyCodeToStr[S]=E,this._strToKeyCode[E.toLowerCase()]=S}keyCodeToStr(S){return this._keyCodeToStr[S]}strToKeyCode(S){return this._strToKeyCode[S.toLowerCase()]||0}}const u=new k,ie=new k,Q=new k,N=new Array(230),ne={},Z=[],q=Object.create(null),z=Object.create(null),y=[],C=[];for(let d=0;d<=193;d++)y[d]=-1;for(let d=0;d<=127;d++)C[d]=-1;(function(){const d="",S=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",d,d],[0,1,1,"Hyper",0,d,0,d,d,d],[0,1,2,"Super",0,d,0,d,d,d],[0,1,3,"Fn",0,d,0,d,d,d],[0,1,4,"FnLock",0,d,0,d,d,d],[0,1,5,"Suspend",0,d,0,d,d,d],[0,1,6,"Resume",0,d,0,d,d,d],[0,1,7,"Turbo",0,d,0,d,d,d],[0,1,8,"Sleep",0,d,0,"VK_SLEEP",d,d],[0,1,9,"WakeUp",0,d,0,d,d,d],[31,0,10,"KeyA",31,"A",65,"VK_A",d,d],[32,0,11,"KeyB",32,"B",66,"VK_B",d,d],[33,0,12,"KeyC",33,"C",67,"VK_C",d,d],[34,0,13,"KeyD",34,"D",68,"VK_D",d,d],[35,0,14,"KeyE",35,"E",69,"VK_E",d,d],[36,0,15,"KeyF",36,"F",70,"VK_F",d,d],[37,0,16,"KeyG",37,"G",71,"VK_G",d,d],[38,0,17,"KeyH",38,"H",72,"VK_H",d,d],[39,0,18,"KeyI",39,"I",73,"VK_I",d,d],[40,0,19,"KeyJ",40,"J",74,"VK_J",d,d],[41,0,20,"KeyK",41,"K",75,"VK_K",d,d],[42,0,21,"KeyL",42,"L",76,"VK_L",d,d],[43,0,22,"KeyM",43,"M",77,"VK_M",d,d],[44,0,23,"KeyN",44,"N",78,"VK_N",d,d],[45,0,24,"KeyO",45,"O",79,"VK_O",d,d],[46,0,25,"KeyP",46,"P",80,"VK_P",d,d],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",d,d],[48,0,27,"KeyR",48,"R",82,"VK_R",d,d],[49,0,28,"KeyS",49,"S",83,"VK_S",d,d],[50,0,29,"KeyT",50,"T",84,"VK_T",d,d],[51,0,30,"KeyU",51,"U",85,"VK_U",d,d],[52,0,31,"KeyV",52,"V",86,"VK_V",d,d],[53,0,32,"KeyW",53,"W",87,"VK_W",d,d],[54,0,33,"KeyX",54,"X",88,"VK_X",d,d],[55,0,34,"KeyY",55,"Y",89,"VK_Y",d,d],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",d,d],[22,0,36,"Digit1",22,"1",49,"VK_1",d,d],[23,0,37,"Digit2",23,"2",50,"VK_2",d,d],[24,0,38,"Digit3",24,"3",51,"VK_3",d,d],[25,0,39,"Digit4",25,"4",52,"VK_4",d,d],[26,0,40,"Digit5",26,"5",53,"VK_5",d,d],[27,0,41,"Digit6",27,"6",54,"VK_6",d,d],[28,0,42,"Digit7",28,"7",55,"VK_7",d,d],[29,0,43,"Digit8",29,"8",56,"VK_8",d,d],[30,0,44,"Digit9",30,"9",57,"VK_9",d,d],[21,0,45,"Digit0",21,"0",48,"VK_0",d,d],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",d,d],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",d,d],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",d,d],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",d,d],[10,1,50,"Space",10,"Space",32,"VK_SPACE",d,d],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,d,0,d,d,d],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",d,d],[59,1,64,"F1",59,"F1",112,"VK_F1",d,d],[60,1,65,"F2",60,"F2",113,"VK_F2",d,d],[61,1,66,"F3",61,"F3",114,"VK_F3",d,d],[62,1,67,"F4",62,"F4",115,"VK_F4",d,d],[63,1,68,"F5",63,"F5",116,"VK_F5",d,d],[64,1,69,"F6",64,"F6",117,"VK_F6",d,d],[65,1,70,"F7",65,"F7",118,"VK_F7",d,d],[66,1,71,"F8",66,"F8",119,"VK_F8",d,d],[67,1,72,"F9",67,"F9",120,"VK_F9",d,d],[68,1,73,"F10",68,"F10",121,"VK_F10",d,d],[69,1,74,"F11",69,"F11",122,"VK_F11",d,d],[70,1,75,"F12",70,"F12",123,"VK_F12",d,d],[0,1,76,"PrintScreen",0,d,0,d,d,d],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",d,d],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",d,d],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",d,d],[14,1,80,"Home",14,"Home",36,"VK_HOME",d,d],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",d,d],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",d,d],[13,1,83,"End",13,"End",35,"VK_END",d,d],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",d,d],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",d],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",d],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",d],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",d],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",d,d],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",d,d],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",d,d],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",d,d],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",d,d],[3,1,94,"NumpadEnter",3,d,0,d,d,d],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",d,d],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",d,d],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",d,d],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",d,d],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",d,d],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",d,d],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",d,d],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",d,d],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",d,d],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",d,d],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",d,d],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",d,d],[58,1,107,"ContextMenu",58,"ContextMenu",93,d,d,d],[0,1,108,"Power",0,d,0,d,d,d],[0,1,109,"NumpadEqual",0,d,0,d,d,d],[71,1,110,"F13",71,"F13",124,"VK_F13",d,d],[72,1,111,"F14",72,"F14",125,"VK_F14",d,d],[73,1,112,"F15",73,"F15",126,"VK_F15",d,d],[74,1,113,"F16",74,"F16",127,"VK_F16",d,d],[75,1,114,"F17",75,"F17",128,"VK_F17",d,d],[76,1,115,"F18",76,"F18",129,"VK_F18",d,d],[77,1,116,"F19",77,"F19",130,"VK_F19",d,d],[0,1,117,"F20",0,d,0,"VK_F20",d,d],[0,1,118,"F21",0,d,0,"VK_F21",d,d],[0,1,119,"F22",0,d,0,"VK_F22",d,d],[0,1,120,"F23",0,d,0,"VK_F23",d,d],[0,1,121,"F24",0,d,0,"VK_F24",d,d],[0,1,122,"Open",0,d,0,d,d,d],[0,1,123,"Help",0,d,0,d,d,d],[0,1,124,"Select",0,d,0,d,d,d],[0,1,125,"Again",0,d,0,d,d,d],[0,1,126,"Undo",0,d,0,d,d,d],[0,1,127,"Cut",0,d,0,d,d,d],[0,1,128,"Copy",0,d,0,d,d,d],[0,1,129,"Paste",0,d,0,d,d,d],[0,1,130,"Find",0,d,0,d,d,d],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",d,d],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",d,d],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",d,d],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",d,d],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",d,d],[0,1,136,"KanaMode",0,d,0,d,d,d],[0,0,137,"IntlYen",0,d,0,d,d,d],[0,1,138,"Convert",0,d,0,d,d,d],[0,1,139,"NonConvert",0,d,0,d,d,d],[0,1,140,"Lang1",0,d,0,d,d,d],[0,1,141,"Lang2",0,d,0,d,d,d],[0,1,142,"Lang3",0,d,0,d,d,d],[0,1,143,"Lang4",0,d,0,d,d,d],[0,1,144,"Lang5",0,d,0,d,d,d],[0,1,145,"Abort",0,d,0,d,d,d],[0,1,146,"Props",0,d,0,d,d,d],[0,1,147,"NumpadParenLeft",0,d,0,d,d,d],[0,1,148,"NumpadParenRight",0,d,0,d,d,d],[0,1,149,"NumpadBackspace",0,d,0,d,d,d],[0,1,150,"NumpadMemoryStore",0,d,0,d,d,d],[0,1,151,"NumpadMemoryRecall",0,d,0,d,d,d],[0,1,152,"NumpadMemoryClear",0,d,0,d,d,d],[0,1,153,"NumpadMemoryAdd",0,d,0,d,d,d],[0,1,154,"NumpadMemorySubtract",0,d,0,d,d,d],[0,1,155,"NumpadClear",126,"Clear",12,"VK_CLEAR",d,d],[0,1,156,"NumpadClearEntry",0,d,0,d,d,d],[5,1,0,d,5,"Ctrl",17,"VK_CONTROL",d,d],[4,1,0,d,4,"Shift",16,"VK_SHIFT",d,d],[6,1,0,d,6,"Alt",18,"VK_MENU",d,d],[57,1,0,d,57,"Meta",0,"VK_COMMAND",d,d],[5,1,157,"ControlLeft",5,d,0,"VK_LCONTROL",d,d],[4,1,158,"ShiftLeft",4,d,0,"VK_LSHIFT",d,d],[6,1,159,"AltLeft",6,d,0,"VK_LMENU",d,d],[57,1,160,"MetaLeft",57,d,0,"VK_LWIN",d,d],[5,1,161,"ControlRight",5,d,0,"VK_RCONTROL",d,d],[4,1,162,"ShiftRight",4,d,0,"VK_RSHIFT",d,d],[6,1,163,"AltRight",6,d,0,"VK_RMENU",d,d],[57,1,164,"MetaRight",57,d,0,"VK_RWIN",d,d],[0,1,165,"BrightnessUp",0,d,0,d,d,d],[0,1,166,"BrightnessDown",0,d,0,d,d,d],[0,1,167,"MediaPlay",0,d,0,d,d,d],[0,1,168,"MediaRecord",0,d,0,d,d,d],[0,1,169,"MediaFastForward",0,d,0,d,d,d],[0,1,170,"MediaRewind",0,d,0,d,d,d],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",d,d],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",d,d],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",d,d],[0,1,174,"Eject",0,d,0,d,d,d],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",d,d],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",d,d],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",d,d],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",d,d],[0,1,179,"LaunchApp1",0,d,0,"VK_MEDIA_LAUNCH_APP1",d,d],[0,1,180,"SelectTask",0,d,0,d,d,d],[0,1,181,"LaunchScreenSaver",0,d,0,d,d,d],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",d,d],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",d,d],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",d,d],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",d,d],[0,1,186,"BrowserStop",0,d,0,"VK_BROWSER_STOP",d,d],[0,1,187,"BrowserRefresh",0,d,0,"VK_BROWSER_REFRESH",d,d],[0,1,188,"BrowserFavorites",0,d,0,"VK_BROWSER_FAVORITES",d,d],[0,1,189,"ZoomToggle",0,d,0,d,d,d],[0,1,190,"MailReply",0,d,0,d,d,d],[0,1,191,"MailForward",0,d,0,d,d,d],[0,1,192,"MailSend",0,d,0,d,d,d],[109,1,0,d,109,"KeyInComposition",229,d,d,d],[111,1,0,d,111,"ABNT_C2",194,"VK_ABNT_C2",d,d],[91,1,0,d,91,"OEM_8",223,"VK_OEM_8",d,d],[0,1,0,d,0,d,0,"VK_KANA",d,d],[0,1,0,d,0,d,0,"VK_HANGUL",d,d],[0,1,0,d,0,d,0,"VK_JUNJA",d,d],[0,1,0,d,0,d,0,"VK_FINAL",d,d],[0,1,0,d,0,d,0,"VK_HANJA",d,d],[0,1,0,d,0,d,0,"VK_KANJI",d,d],[0,1,0,d,0,d,0,"VK_CONVERT",d,d],[0,1,0,d,0,d,0,"VK_NONCONVERT",d,d],[0,1,0,d,0,d,0,"VK_ACCEPT",d,d],[0,1,0,d,0,d,0,"VK_MODECHANGE",d,d],[0,1,0,d,0,d,0,"VK_SELECT",d,d],[0,1,0,d,0,d,0,"VK_PRINT",d,d],[0,1,0,d,0,d,0,"VK_EXECUTE",d,d],[0,1,0,d,0,d,0,"VK_SNAPSHOT",d,d],[0,1,0,d,0,d,0,"VK_HELP",d,d],[0,1,0,d,0,d,0,"VK_APPS",d,d],[0,1,0,d,0,d,0,"VK_PROCESSKEY",d,d],[0,1,0,d,0,d,0,"VK_PACKET",d,d],[0,1,0,d,0,d,0,"VK_DBE_SBCSCHAR",d,d],[0,1,0,d,0,d,0,"VK_DBE_DBCSCHAR",d,d],[0,1,0,d,0,d,0,"VK_ATTN",d,d],[0,1,0,d,0,d,0,"VK_CRSEL",d,d],[0,1,0,d,0,d,0,"VK_EXSEL",d,d],[0,1,0,d,0,d,0,"VK_EREOF",d,d],[0,1,0,d,0,d,0,"VK_PLAY",d,d],[0,1,0,d,0,d,0,"VK_ZOOM",d,d],[0,1,0,d,0,d,0,"VK_NONAME",d,d],[0,1,0,d,0,d,0,"VK_PA1",d,d],[0,1,0,d,0,d,0,"VK_OEM_CLEAR",d,d]],E=[],D=[];for(const x of S){const[K,T,W,A,U,X,te,he,_e,ge]=x;if(D[W]||(D[W]=!0,Z[W]=A,q[A]=W,z[A.toLowerCase()]=W,T&&(y[W]=U,U!==0&&U!==3&&U!==5&&U!==4&&U!==6&&U!==57&&(C[U]=W))),!E[U]){if(E[U]=!0,!X)throw new Error(`String representation missing for key code ${U} around scan code ${A}`);u.define(U,X),ie.define(U,_e||X),Q.define(U,ge||_e||X)}te&&(N[te]=U),he&&(ne[he]=U)}C[3]=46})();var L;(function(d){function S(W){return u.keyCodeToStr(W)}d.toString=S;function E(W){return u.strToKeyCode(W)}d.fromString=E;function D(W){return ie.keyCodeToStr(W)}d.toUserSettingsUS=D;function x(W){return Q.keyCodeToStr(W)}d.toUserSettingsGeneral=x;function K(W){return ie.strToKeyCode(W)||Q.strToKeyCode(W)}d.fromUserSettings=K;function T(W){if(W>=93&&W<=108)return null;switch(W){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return u.keyCodeToStr(W)}d.toElectronAccelerator=T})(L||(L={}));function b(d,S){const E=(S&65535)<<16>>>0;return(d|E)>>>0}},88547:(At,Be,m)=>{m.d(Be,{X4:()=>Q,jC:()=>N,xo:()=>ie});var k=m(88631);class u{constructor(z,y,C=y){this.modifierLabels=[null],this.modifierLabels[2]=z,this.modifierLabels[1]=y,this.modifierLabels[3]=C}toLabel(z,y,C){if(y.length===0)return null;const L=[];for(let b=0,d=y.length;b<d;b++){const S=y[b],E=C(S);if(E===null)return null;L[b]=Z(S,E,this.modifierLabels[z])}return L.join(" ")}}const ie=new u({ctrlKey:"\u2303",shiftKey:"\u21E7",altKey:"\u2325",metaKey:"\u2318",separator:""},{ctrlKey:k.NC({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:k.NC({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:k.NC({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:k.NC({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:k.NC({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:k.NC({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:k.NC({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:k.NC({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"}),Q=new u({ctrlKey:k.NC({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:k.NC({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:k.NC({key:"optKey.long",comment:["This is the long form for the Alt/Option key on the keyboard"]},"Option"),metaKey:k.NC({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:k.NC({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:k.NC({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:k.NC({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:k.NC({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:k.NC({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:k.NC({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:k.NC({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:k.NC({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"}),N=new u({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"}),ne=new u({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"});function Z(q,z,y){if(z===null)return"";const C=[];return q.ctrlKey&&C.push(y.ctrlKey),q.shiftKey&&C.push(y.shiftKey),q.altKey&&C.push(y.altKey),q.metaKey&&C.push(y.metaKey),z!==""&&C.push(z),C.join(y.separator)}},72407:(At,Be,m)=>{m.d(Be,{BQ:()=>Z,QC:()=>Q,X_:()=>N,f1:()=>q,gm:()=>u});var k=m(35230);function u(z,y){if(z===0)return null;const C=(z&65535)>>>0,L=(z&4294901760)>>>16;return L!==0?new N([ie(C,y),ie(L,y)]):new N([ie(C,y)])}function ie(z,y){const C=!!(z&2048),L=!!(z&256),b=y===2?L:C,d=!!(z&1024),S=!!(z&512),E=y===2?C:L,D=z&255;return new Q(b,d,S,E,D)}class Q{constructor(y,C,L,b,d){this.ctrlKey=y,this.shiftKey=C,this.altKey=L,this.metaKey=b,this.keyCode=d}equals(y){return this.ctrlKey===y.ctrlKey&&this.shiftKey===y.shiftKey&&this.altKey===y.altKey&&this.metaKey===y.metaKey&&this.keyCode===y.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toChord(){return new N([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}class N{constructor(y){if(y.length===0)throw(0,k.b1)("parts");this.parts=y}}class ne{constructor(y,C,L,b,d){this.ctrlKey=y,this.shiftKey=C,this.altKey=L,this.metaKey=b,this.scanCode=d}isDuplicateModifierCase(){return this.ctrlKey&&(this.scanCode===157||this.scanCode===161)||this.shiftKey&&(this.scanCode===158||this.scanCode===162)||this.altKey&&(this.scanCode===159||this.scanCode===163)||this.metaKey&&(this.scanCode===160||this.scanCode===164)}}class Z{constructor(y,C,L,b,d,S){this.ctrlKey=y,this.shiftKey=C,this.altKey=L,this.metaKey=b,this.keyLabel=d,this.keyAriaLabel=S}}class q{}},11986:(At,Be,m)=>{m.d(Be,{o:()=>k});class k{constructor(ie){this.executor=ie,this._didRun=!1}hasValue(){return this._didRun}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(ie){this._error=ie}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},50149:(At,Be,m)=>{m.d(Be,{B9:()=>b,F8:()=>d,JT:()=>D,Jz:()=>W,L6:()=>K,OF:()=>S,SL:()=>E,Wf:()=>L,XK:()=>x,dk:()=>y,dt:()=>T});var k=m(17759),u=m(20459);const ie=!1;let Q=null;function N(A){Q=A}if(ie){const A="__is_disposable_tracked__";N(new class{trackDisposable(U){const X=new Error("Potentially leaked disposable").stack;setTimeout(()=>{U[A]||console.log(X)},3e3)}setParent(U,X){if(U&&U!==D.None)try{U[A]=!0}catch{}}markAsDisposed(U){if(U&&U!==D.None)try{U[A]=!0}catch{}}markAsSingleton(U){}})}function ne(A){return Q?.trackDisposable(A),A}function Z(A){Q?.markAsDisposed(A)}function q(A,U){Q?.setParent(A,U)}function z(A,U){if(Q)for(const X of A)Q.setParent(X,U)}function y(A){return Q?.markAsSingleton(A),A}class C extends Error{constructor(U){super(`Encountered errors while disposing of store. Errors: [${U.join(", ")}]`),this.errors=U}}function L(A){return typeof A.dispose=="function"&&A.dispose.length===0}function b(A){if(u.$.is(A)){const U=[];for(const X of A)if(X)try{X.dispose()}catch(te){U.push(te)}if(U.length===1)throw U[0];if(U.length>1)throw new C(U);return Array.isArray(A)?[]:A}else if(A)return A.dispose(),A}function d(...A){const U=S(()=>b(A));return z(A,U),U}function S(A){const U=ne({dispose:(0,k.I)(()=>{Z(U),A()})});return U}class E{constructor(){this._toDispose=new Set,this._isDisposed=!1,ne(this)}dispose(){this._isDisposed||(Z(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){try{b(this._toDispose.values())}finally{this._toDispose.clear()}}add(U){if(!U)return U;if(U===this)throw new Error("Cannot register a disposable on itself!");return q(U,this),this._isDisposed?E.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(U),U}}E.DISABLE_DISPOSED_WARNING=!1;class D{constructor(){this._store=new E,ne(this),q(this._store,this)}dispose(){Z(this),this._store.dispose()}_register(U){if(U===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(U)}}D.None=Object.freeze({dispose(){}});class x{constructor(){this._isDisposed=!1,ne(this)}get value(){return this._isDisposed?void 0:this._value}set value(U){var X;this._isDisposed||U===this._value||((X=this._value)===null||X===void 0||X.dispose(),U&&q(U,this),this._value=U)}clear(){this.value=void 0}dispose(){var U;this._isDisposed=!0,Z(this),(U=this._value)===null||U===void 0||U.dispose(),this._value=void 0}clearAndLeak(){const U=this._value;return this._value=void 0,U&&q(U,null),U}}class K{constructor(U){this._disposable=U,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class T{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1,ne(this)}set(U){let X=U;return this.unset=()=>X=void 0,this.isset=()=>X!==void 0,this.dispose=()=>{X&&(X(),X=void 0,Z(this))},this}}class W{constructor(U){this.object=U}dispose(){}}},48119:(At,Be,m)=>{m.d(Be,{S:()=>u});class k{constructor(Q){this.element=Q,this.next=k.Undefined,this.prev=k.Undefined}}k.Undefined=new k(void 0);class u{constructor(){this._first=k.Undefined,this._last=k.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===k.Undefined}clear(){let Q=this._first;for(;Q!==k.Undefined;){const N=Q.next;Q.prev=k.Undefined,Q.next=k.Undefined,Q=N}this._first=k.Undefined,this._last=k.Undefined,this._size=0}unshift(Q){return this._insert(Q,!1)}push(Q){return this._insert(Q,!0)}_insert(Q,N){const ne=new k(Q);if(this._first===k.Undefined)this._first=ne,this._last=ne;else if(N){const q=this._last;this._last=ne,ne.prev=q,q.next=ne}else{const q=this._first;this._first=ne,ne.next=q,q.prev=ne}this._size+=1;let Z=!1;return()=>{Z||(Z=!0,this._remove(ne))}}shift(){if(this._first!==k.Undefined){const Q=this._first.element;return this._remove(this._first),Q}}pop(){if(this._last!==k.Undefined){const Q=this._last.element;return this._remove(this._last),Q}}_remove(Q){if(Q.prev!==k.Undefined&&Q.next!==k.Undefined){const N=Q.prev;N.next=Q.next,Q.next.prev=N}else Q.prev===k.Undefined&&Q.next===k.Undefined?(this._first=k.Undefined,this._last=k.Undefined):Q.next===k.Undefined?(this._last=this._last.prev,this._last.next=k.Undefined):Q.prev===k.Undefined&&(this._first=this._first.next,this._first.prev=k.Undefined);this._size-=1}*[Symbol.iterator](){let Q=this._first;for(;Q!==k.Undefined;)yield Q.element,Q=Q.next}}},37774:(At,Be,m)=>{m.d(Be,{Id:()=>z,Y9:()=>C,z6:()=>b});var k=m(34504),u,ie;class Q{constructor(){this._value="",this._pos=0}reset(S){return this._value=S,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(S){const E=S.charCodeAt(0),D=this._value.charCodeAt(this._pos);return E-D}value(){return this._value[this._pos]}}class N{constructor(S=!0){this._caseSensitive=S}reset(S){return this._value=S,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let S=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(S)this._from++;else break;else S=!1;return this}cmp(S){return this._caseSensitive?(0,k.TT)(S,this._value,0,S.length,this._from,this._to):(0,k.j_)(S,this._value,0,S.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class ne{constructor(S=!0,E=!0){this._splitOnBackslash=S,this._caseSensitive=E}reset(S){this._from=0,this._to=0,this._value=S,this._valueLen=S.length;for(let E=S.length-1;E>=0;E--,this._valueLen--){const D=this._value.charCodeAt(E);if(!(D===47||this._splitOnBackslash&&D===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let S=!0;for(;this._to<this._valueLen;this._to++){const E=this._value.charCodeAt(this._to);if(E===47||this._splitOnBackslash&&E===92)if(S)this._from++;else break;else S=!1}return this}cmp(S){return this._caseSensitive?(0,k.TT)(S,this._value,0,S.length,this._from,this._to):(0,k.j_)(S,this._value,0,S.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class Z{constructor(S,E){this._ignorePathCasing=S,this._ignoreQueryAndFragment=E,this._states=[],this._stateIdx=0}reset(S){return this._value=S,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new ne(!1,!this._ignorePathCasing(S)),this._pathIterator.reset(S.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(S)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(S){if(this._states[this._stateIdx]===1)return(0,k.zY)(S,this._value.scheme);if(this._states[this._stateIdx]===2)return(0,k.zY)(S,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(S);if(this._states[this._stateIdx]===4)return(0,k.qu)(S,this._value.query);if(this._states[this._stateIdx]===5)return(0,k.qu)(S,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}}class q{constructor(){this.height=1}rotateLeft(){const S=this.right;return this.right=S.left,S.left=this,this.updateHeight(),S.updateHeight(),S}rotateRight(){const S=this.left;return this.left=S.right,S.right=this,this.updateHeight(),S.updateHeight(),S}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){var S,E;return(E=(S=this.left)===null||S===void 0?void 0:S.height)!==null&&E!==void 0?E:0}get heightRight(){var S,E;return(E=(S=this.right)===null||S===void 0?void 0:S.height)!==null&&E!==void 0?E:0}}class z{constructor(S){this._iter=S}static forUris(S=()=>!1,E=()=>!1){return new z(new Z(S,E))}static forStrings(){return new z(new Q)}static forConfigKeys(){return new z(new N)}clear(){this._root=void 0}set(S,E){const D=this._iter.reset(S);let x;this._root||(this._root=new q,this._root.segment=D.value());const K=[];for(x=this._root;;){const W=D.cmp(x.segment);if(W>0)x.left||(x.left=new q,x.left.segment=D.value()),K.push([-1,x]),x=x.left;else if(W<0)x.right||(x.right=new q,x.right.segment=D.value()),K.push([1,x]),x=x.right;else if(D.hasNext())D.next(),x.mid||(x.mid=new q,x.mid.segment=D.value()),K.push([0,x]),x=x.mid;else break}const T=x.value;x.value=E,x.key=S;for(let W=K.length-1;W>=0;W--){const A=K[W][1];A.updateHeight();const U=A.balanceFactor();if(U<-1||U>1){const X=K[W][0],te=K[W+1][0];if(X===1&&te===1)K[W][1]=A.rotateLeft();else if(X===-1&&te===-1)K[W][1]=A.rotateRight();else if(X===1&&te===-1)A.right=K[W+1][1]=K[W+1][1].rotateRight(),K[W][1]=A.rotateLeft();else if(X===-1&&te===1)A.left=K[W+1][1]=K[W+1][1].rotateLeft(),K[W][1]=A.rotateRight();else throw new Error;if(W>0)switch(K[W-1][0]){case-1:K[W-1][1].left=K[W][1];break;case 1:K[W-1][1].right=K[W][1];break;case 0:K[W-1][1].mid=K[W][1];break}else this._root=K[0][1]}}return T}get(S){var E;return(E=this._getNode(S))===null||E===void 0?void 0:E.value}_getNode(S){const E=this._iter.reset(S);let D=this._root;for(;D;){const x=E.cmp(D.segment);if(x>0)D=D.left;else if(x<0)D=D.right;else if(E.hasNext())E.next(),D=D.mid;else break}return D}has(S){const E=this._getNode(S);return!(E?.value===void 0&&E?.mid===void 0)}delete(S){return this._delete(S,!1)}deleteSuperstr(S){return this._delete(S,!0)}_delete(S,E){var D;const x=this._iter.reset(S),K=[];let T=this._root;for(;T;){const W=x.cmp(T.segment);if(W>0)K.push([-1,T]),T=T.left;else if(W<0)K.push([1,T]),T=T.right;else if(x.hasNext())x.next(),K.push([0,T]),T=T.mid;else break}if(T){if(E?(T.left=void 0,T.mid=void 0,T.right=void 0,T.height=1):(T.key=void 0,T.value=void 0),!T.mid&&!T.value)if(T.left&&T.right){const W=this._min(T.right),{key:A,value:U,segment:X}=W;this._delete(W.key,!1),T.key=A,T.value=U,T.segment=X}else{const W=(D=T.left)!==null&&D!==void 0?D:T.right;if(K.length>0){const[A,U]=K[K.length-1];switch(A){case-1:U.left=W;break;case 0:U.mid=W;break;case 1:U.right=W;break}}else this._root=W}for(let W=K.length-1;W>=0;W--){const A=K[W][1];A.updateHeight();const U=A.balanceFactor();if(U>1?(A.right.balanceFactor()>=0||(A.right=A.right.rotateRight()),K[W][1]=A.rotateLeft()):U<-1&&(A.left.balanceFactor()<=0||(A.left=A.left.rotateLeft()),K[W][1]=A.rotateRight()),W>0)switch(K[W-1][0]){case-1:K[W-1][1].left=K[W][1];break;case 1:K[W-1][1].right=K[W][1];break;case 0:K[W-1][1].mid=K[W][1];break}else this._root=K[0][1]}}}_min(S){for(;S.left;)S=S.left;return S}findSubstr(S){const E=this._iter.reset(S);let D=this._root,x;for(;D;){const K=E.cmp(D.segment);if(K>0)D=D.left;else if(K<0)D=D.right;else if(E.hasNext())E.next(),x=D.value||x,D=D.mid;else break}return D&&D.value||x}findSuperstr(S){const E=this._iter.reset(S);let D=this._root;for(;D;){const x=E.cmp(D.segment);if(x>0)D=D.left;else if(x<0)D=D.right;else if(E.hasNext())E.next(),D=D.mid;else return D.mid?this._entries(D.mid):void 0}}forEach(S){for(const[E,D]of this)S(D,E)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(S){const E=[];return this._dfsEntries(S,E),E[Symbol.iterator]()}_dfsEntries(S,E){S&&(S.left&&this._dfsEntries(S.left,E),S.value&&E.push([S.key,S.value]),S.mid&&this._dfsEntries(S.mid,E),S.right&&this._dfsEntries(S.right,E))}}class y{constructor(S,E){this.uri=S,this.value=E}}class C{constructor(S,E){this[u]="ResourceMap",S instanceof C?(this.map=new Map(S.map),this.toKey=E??C.defaultToKey):(this.map=new Map,this.toKey=S??C.defaultToKey)}set(S,E){return this.map.set(this.toKey(S),new y(S,E)),this}get(S){var E;return(E=this.map.get(this.toKey(S)))===null||E===void 0?void 0:E.value}has(S){return this.map.has(this.toKey(S))}get size(){return this.map.size}clear(){this.map.clear()}delete(S){return this.map.delete(this.toKey(S))}forEach(S,E){typeof E<"u"&&(S=S.bind(E));for(const[D,x]of this.map)S(x.value,x.uri,this)}*values(){for(const S of this.map.values())yield S.value}*keys(){for(const S of this.map.values())yield S.uri}*entries(){for(const S of this.map.values())yield[S.uri,S.value]}*[(u=Symbol.toStringTag,Symbol.iterator)](){for(const[,S]of this.map)yield[S.uri,S.value]}}C.defaultToKey=d=>d.toString();class L{constructor(){this[ie]="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(){var S;return(S=this._head)===null||S===void 0?void 0:S.value}get last(){var S;return(S=this._tail)===null||S===void 0?void 0:S.value}has(S){return this._map.has(S)}get(S,E=0){const D=this._map.get(S);if(D)return E!==0&&this.touch(D,E),D.value}set(S,E,D=0){let x=this._map.get(S);if(x)x.value=E,D!==0&&this.touch(x,D);else{switch(x={key:S,value:E,next:void 0,previous:void 0},D){case 0:this.addItemLast(x);break;case 1:this.addItemFirst(x);break;case 2:this.addItemLast(x);break;default:this.addItemLast(x);break}this._map.set(S,x),this._size++}return this}delete(S){return!!this.remove(S)}remove(S){const E=this._map.get(S);if(E)return this._map.delete(S),this.removeItem(E),this._size--,E.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const S=this._head;return this._map.delete(S.key),this.removeItem(S),this._size--,S.value}forEach(S,E){const D=this._state;let x=this._head;for(;x;){if(E?S.bind(E)(x.value,x.key,this):S(x.value,x.key,this),this._state!==D)throw new Error("LinkedMap got modified during iteration.");x=x.next}}keys(){const S=this,E=this._state;let D=this._head;const x={[Symbol.iterator](){return x},next(){if(S._state!==E)throw new Error("LinkedMap got modified during iteration.");if(D){const K={value:D.key,done:!1};return D=D.next,K}else return{value:void 0,done:!0}}};return x}values(){const S=this,E=this._state;let D=this._head;const x={[Symbol.iterator](){return x},next(){if(S._state!==E)throw new Error("LinkedMap got modified during iteration.");if(D){const K={value:D.value,done:!1};return D=D.next,K}else return{value:void 0,done:!0}}};return x}entries(){const S=this,E=this._state;let D=this._head;const x={[Symbol.iterator](){return x},next(){if(S._state!==E)throw new Error("LinkedMap got modified during iteration.");if(D){const K={value:[D.key,D.value],done:!1};return D=D.next,K}else return{value:void 0,done:!0}}};return x}[(ie=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(S){if(S>=this.size)return;if(S===0){this.clear();return}let E=this._head,D=this.size;for(;E&&D>S;)this._map.delete(E.key),E=E.next,D--;this._head=E,this._size=D,E&&(E.previous=void 0),this._state++}addItemFirst(S){if(!this._head&&!this._tail)this._tail=S;else if(this._head)S.next=this._head,this._head.previous=S;else throw new Error("Invalid list");this._head=S,this._state++}addItemLast(S){if(!this._head&&!this._tail)this._head=S;else if(this._tail)S.previous=this._tail,this._tail.next=S;else throw new Error("Invalid list");this._tail=S,this._state++}removeItem(S){if(S===this._head&&S===this._tail)this._head=void 0,this._tail=void 0;else if(S===this._head){if(!S.next)throw new Error("Invalid list");S.next.previous=void 0,this._head=S.next}else if(S===this._tail){if(!S.previous)throw new Error("Invalid list");S.previous.next=void 0,this._tail=S.previous}else{const E=S.next,D=S.previous;if(!E||!D)throw new Error("Invalid list");E.previous=D,D.next=E}S.next=void 0,S.previous=void 0,this._state++}touch(S,E){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(E!==1&&E!==2)){if(E===1){if(S===this._head)return;const D=S.next,x=S.previous;S===this._tail?(x.next=void 0,this._tail=x):(D.previous=x,x.next=D),S.previous=void 0,S.next=this._head,this._head.previous=S,this._head=S,this._state++}else if(E===2){if(S===this._tail)return;const D=S.next,x=S.previous;S===this._head?(D.previous=void 0,this._head=D):(D.previous=x,x.next=D),S.next=void 0,S.previous=this._tail,this._tail.next=S,this._tail=S,this._state++}}}toJSON(){const S=[];return this.forEach((E,D)=>{S.push([D,E])}),S}fromJSON(S){this.clear();for(const[E,D]of S)this.set(E,D)}}class b extends L{constructor(S,E=1){super(),this._limit=S,this._ratio=Math.min(Math.max(0,E),1)}get limit(){return this._limit}set limit(S){this._limit=S,this.checkTrim()}get(S,E=2){return super.get(S,E)}peek(S){return super.get(S,0)}set(S,E){return super.set(S,E,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},99365:(At,Be,m)=>{m.d(Be,{Q:()=>ie});var k=m(41186),u=m(34154);function ie(N){let ne=JSON.parse(N);return ne=Q(ne),ne}function Q(N,ne=0){if(!N||ne>200)return N;if(typeof N=="object"){switch(N.$mid){case 1:return u.o.revive(N);case 2:return new RegExp(N.source,N.flags);case 14:return new Date(N.source)}if(N instanceof k.KN||N instanceof Uint8Array)return N;if(Array.isArray(N))for(let Z=0;Z<N.length;++Z)N[Z]=Q(N[Z],ne+1);else for(const Z in N)Object.hasOwnProperty.call(N,Z)&&(N[Z]=Q(N[Z],ne+1))}return N}},37800:(At,Be,m)=>{m.d(Be,{v:()=>k});const k=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},33073:(At,Be,m)=>{m.d(Be,{Gi:()=>q,WX:()=>ne,lg:()=>ie});var k=m(75874),u=m(34154),ie;(function(z){z.inMemory="inmemory",z.vscode="vscode",z.internal="private",z.walkThrough="walkThrough",z.walkThroughSnippet="walkThroughSnippet",z.http="http",z.https="https",z.file="file",z.mailto="mailto",z.untitled="untitled",z.data="data",z.command="command",z.vscodeRemote="vscode-remote",z.vscodeRemoteResource="vscode-remote-resource",z.vscodeUserData="vscode-userdata",z.vscodeCustomEditor="vscode-custom-editor",z.vscodeNotebook="vscode-notebook",z.vscodeNotebookCell="vscode-notebook-cell",z.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",z.vscodeNotebookCellOutput="vscode-notebook-cell-output",z.vscodeInteractive="vscode-interactive",z.vscodeInteractiveInput="vscode-interactive-input",z.vscodeSettings="vscode-settings",z.vscodeWorkspaceTrust="vscode-workspace-trust",z.vscodeTerminal="vscode-terminal",z.webviewPanel="webview-panel",z.vscodeWebview="vscode-webview",z.extension="extension",z.vscodeFileResource="vscode-file",z.tmp="tmp",z.vsls="vsls",z.vscodeSourceControl="vscode-scm"})(ie||(ie={}));const Q="tkn";class N{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._remoteResourcesPath=`/${ie.vscodeRemoteResource}`}setPreferredWebSchema(y){this._preferredWebSchema=y}rewrite(y){if(this._delegate)return this._delegate(y);const C=y.authority;let L=this._hosts[C];L&&L.indexOf(":")!==-1&&(L=`[${L}]`);const b=this._ports[C],d=this._connectionTokens[C];let S=`path=${encodeURIComponent(y.path)}`;return typeof d=="string"&&(S+=`&${Q}=${encodeURIComponent(d)}`),u.o.from({scheme:k.$L?this._preferredWebSchema:ie.vscodeRemoteResource,authority:`${L}:${b}`,path:this._remoteResourcesPath,query:S})}}const ne=new N;class Z{asBrowserUri(y,C){const L=this.toUri(y,C);return L.scheme===ie.vscodeRemote?ne.rewrite(L):L.scheme===ie.file&&(k.tY||k.n2&&k.li.origin===`${ie.vscodeFileResource}://${Z.FALLBACK_AUTHORITY}`)?L.with({scheme:ie.vscodeFileResource,authority:L.authority||Z.FALLBACK_AUTHORITY,query:null,fragment:null}):L}toUri(y,C){return u.o.isUri(y)?y:u.o.parse(C.toUrl(y))}}Z.FALLBACK_AUTHORITY="vscode-app";const q=new Z},54060:(At,Be,m)=>{m.d(Be,{N:()=>ie,nM:()=>u,uZ:()=>k});function k(Q,N,ne){return Math.min(Math.max(Q,N),ne)}class u{constructor(){this._n=1,this._val=0}update(N){return this._val=this._val+(N-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class ie{constructor(N){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(N),this._values.fill(0,0,N)}update(N){const ne=this._values[this._index];return this._values[this._index]=N,this._index=(this._index+1)%this._values.length,this._sum-=ne,this._sum+=N,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}},2758:(At,Be,m)=>{m.d(Be,{I8:()=>u,_A:()=>ie,fS:()=>q,jB:()=>Z,rs:()=>N});var k=m(4626);function u(z){if(!z||typeof z!="object"||z instanceof RegExp)return z;const y=Array.isArray(z)?[]:{};return Object.keys(z).forEach(C=>{z[C]&&typeof z[C]=="object"?y[C]=u(z[C]):y[C]=z[C]}),y}function ie(z){if(!z||typeof z!="object")return z;const y=[z];for(;y.length>0;){const C=y.shift();Object.freeze(C);for(const L in C)if(Q.call(C,L)){const b=C[L];typeof b=="object"&&!Object.isFrozen(b)&&!(0,k.fU)(b)&&y.push(b)}}return z}const Q=Object.prototype.hasOwnProperty;function N(z,y){return ne(z,y,new Set)}function ne(z,y,C){if((0,k.Jp)(z))return z;const L=y(z);if(typeof L<"u")return L;if((0,k.kJ)(z)){const b=[];for(const d of z)b.push(ne(d,y,C));return b}if((0,k.Kn)(z)){if(C.has(z))throw new Error("Cannot clone recursive data-structure");C.add(z);const b={};for(const d in z)Q.call(z,d)&&(b[d]=ne(z[d],y,C));return C.delete(z),b}return z}function Z(z,y,C=!0){return(0,k.Kn)(z)?((0,k.Kn)(y)&&Object.keys(y).forEach(L=>{L in z?C&&((0,k.Kn)(z[L])&&(0,k.Kn)(y[L])?Z(z[L],y[L],C):z[L]=y[L]):z[L]=y[L]}),z):y}function q(z,y){if(z===y)return!0;if(z==null||y===null||y===void 0||typeof z!=typeof y||typeof z!="object"||Array.isArray(z)!==Array.isArray(y))return!1;let C,L;if(Array.isArray(z)){if(z.length!==y.length)return!1;for(C=0;C<z.length;C++)if(!q(z[C],y[C]))return!1}else{const b=[];for(L in z)b.push(L);b.sort();const d=[];for(L in y)d.push(L);if(d.sort(),!q(b,d))return!1;for(C=0;C<b.length;C++)if(!q(z[b[C]],y[b[C]]))return!1}return!0}},61419:(At,Be,m)=>{m.d(Be,{EZ:()=>ge,XX:()=>_e,DZ:()=>me,Fv:()=>X,KR:()=>U,Gf:()=>he,DB:()=>te,ir:()=>re,Ku:()=>A});var k=m(75874);let u;if(typeof k.li.vscode<"u"&&typeof k.li.vscode.process<"u"){const Y=k.li.vscode.process;u={get platform(){return Y.platform},get arch(){return Y.arch},get env(){return Y.env},cwd(){return Y.cwd()}}}else typeof process<"u"?u={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:u={get platform(){return k.ED?"win32":k.dz?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const ie=u.cwd,Q=u.env,N=u.platform,ne=65,Z=97,q=90,z=122,y=46,C=47,L=92,b=58,d=63;class S extends Error{constructor(de,oe,J){let $;typeof oe=="string"&&oe.indexOf("not ")===0?($="must not be",oe=oe.replace(/^not /,"")):$="must be";const ue=de.indexOf(".")!==-1?"property":"argument";let ve=`The "${de}" ${ue} ${$} of type ${oe}`;ve+=`. Received type ${typeof J}`,super(ve),this.code="ERR_INVALID_ARG_TYPE"}}function E(Y,de){if(typeof Y!="string")throw new S(de,"string",Y)}function D(Y){return Y===C||Y===L}function x(Y){return Y===C}function K(Y){return Y>=ne&&Y<=q||Y>=Z&&Y<=z}function T(Y,de,oe,J){let $="",ue=0,ve=-1,xe=0,O=0;for(let rt=0;rt<=Y.length;++rt){if(rt<Y.length)O=Y.charCodeAt(rt);else{if(J(O))break;O=C}if(J(O)){if(!(ve===rt-1||xe===1))if(xe===2){if($.length<2||ue!==2||$.charCodeAt($.length-1)!==y||$.charCodeAt($.length-2)!==y){if($.length>2){const ct=$.lastIndexOf(oe);ct===-1?($="",ue=0):($=$.slice(0,ct),ue=$.length-1-$.lastIndexOf(oe)),ve=rt,xe=0;continue}else if($.length!==0){$="",ue=0,ve=rt,xe=0;continue}}de&&($+=$.length>0?`${oe}..`:"..",ue=2)}else $.length>0?$+=`${oe}${Y.slice(ve+1,rt)}`:$=Y.slice(ve+1,rt),ue=rt-ve-1;ve=rt,xe=0}else O===y&&xe!==-1?++xe:xe=-1}return $}function W(Y,de){if(de===null||typeof de!="object")throw new S("pathObject","Object",de);const oe=de.dir||de.root,J=de.base||`${de.name||""}${de.ext||""}`;return oe?oe===de.root?`${oe}${J}`:`${oe}${Y}${J}`:J}const A={resolve(...Y){let de="",oe="",J=!1;for(let $=Y.length-1;$>=-1;$--){let ue;if($>=0){if(ue=Y[$],E(ue,"path"),ue.length===0)continue}else de.length===0?ue=ie():(ue=Q[`=${de}`]||ie(),(ue===void 0||ue.slice(0,2).toLowerCase()!==de.toLowerCase()&&ue.charCodeAt(2)===L)&&(ue=`${de}\\`));const ve=ue.length;let xe=0,O="",rt=!1;const ct=ue.charCodeAt(0);if(ve===1)D(ct)&&(xe=1,rt=!0);else if(D(ct))if(rt=!0,D(ue.charCodeAt(1))){let Ve=2,$e=Ve;for(;Ve<ve&&!D(ue.charCodeAt(Ve));)Ve++;if(Ve<ve&&Ve!==$e){const Ee=ue.slice($e,Ve);for($e=Ve;Ve<ve&&D(ue.charCodeAt(Ve));)Ve++;if(Ve<ve&&Ve!==$e){for($e=Ve;Ve<ve&&!D(ue.charCodeAt(Ve));)Ve++;(Ve===ve||Ve!==$e)&&(O=`\\\\${Ee}\\${ue.slice($e,Ve)}`,xe=Ve)}}}else xe=1;else K(ct)&&ue.charCodeAt(1)===b&&(O=ue.slice(0,2),xe=2,ve>2&&D(ue.charCodeAt(2))&&(rt=!0,xe=3));if(O.length>0)if(de.length>0){if(O.toLowerCase()!==de.toLowerCase())continue}else de=O;if(J){if(de.length>0)break}else if(oe=`${ue.slice(xe)}\\${oe}`,J=rt,rt&&de.length>0)break}return oe=T(oe,!J,"\\",D),J?`${de}\\${oe}`:`${de}${oe}`||"."},normalize(Y){E(Y,"path");const de=Y.length;if(de===0)return".";let oe=0,J,$=!1;const ue=Y.charCodeAt(0);if(de===1)return x(ue)?"\\":Y;if(D(ue))if($=!0,D(Y.charCodeAt(1))){let xe=2,O=xe;for(;xe<de&&!D(Y.charCodeAt(xe));)xe++;if(xe<de&&xe!==O){const rt=Y.slice(O,xe);for(O=xe;xe<de&&D(Y.charCodeAt(xe));)xe++;if(xe<de&&xe!==O){for(O=xe;xe<de&&!D(Y.charCodeAt(xe));)xe++;if(xe===de)return`\\\\${rt}\\${Y.slice(O)}\\`;xe!==O&&(J=`\\\\${rt}\\${Y.slice(O,xe)}`,oe=xe)}}}else oe=1;else K(ue)&&Y.charCodeAt(1)===b&&(J=Y.slice(0,2),oe=2,de>2&&D(Y.charCodeAt(2))&&($=!0,oe=3));let ve=oe<de?T(Y.slice(oe),!$,"\\",D):"";return ve.length===0&&!$&&(ve="."),ve.length>0&&D(Y.charCodeAt(de-1))&&(ve+="\\"),J===void 0?$?`\\${ve}`:ve:$?`${J}\\${ve}`:`${J}${ve}`},isAbsolute(Y){E(Y,"path");const de=Y.length;if(de===0)return!1;const oe=Y.charCodeAt(0);return D(oe)||de>2&&K(oe)&&Y.charCodeAt(1)===b&&D(Y.charCodeAt(2))},join(...Y){if(Y.length===0)return".";let de,oe;for(let ue=0;ue<Y.length;++ue){const ve=Y[ue];E(ve,"path"),ve.length>0&&(de===void 0?de=oe=ve:de+=`\\${ve}`)}if(de===void 0)return".";let J=!0,$=0;if(typeof oe=="string"&&D(oe.charCodeAt(0))){++$;const ue=oe.length;ue>1&&D(oe.charCodeAt(1))&&(++$,ue>2&&(D(oe.charCodeAt(2))?++$:J=!1))}if(J){for(;$<de.length&&D(de.charCodeAt($));)$++;$>=2&&(de=`\\${de.slice($)}`)}return A.normalize(de)},relative(Y,de){if(E(Y,"from"),E(de,"to"),Y===de)return"";const oe=A.resolve(Y),J=A.resolve(de);if(oe===J||(Y=oe.toLowerCase(),de=J.toLowerCase(),Y===de))return"";let $=0;for(;$<Y.length&&Y.charCodeAt($)===L;)$++;let ue=Y.length;for(;ue-1>$&&Y.charCodeAt(ue-1)===L;)ue--;const ve=ue-$;let xe=0;for(;xe<de.length&&de.charCodeAt(xe)===L;)xe++;let O=de.length;for(;O-1>xe&&de.charCodeAt(O-1)===L;)O--;const rt=O-xe,ct=ve<rt?ve:rt;let Ve=-1,$e=0;for(;$e<ct;$e++){const Fe=Y.charCodeAt($+$e);if(Fe!==de.charCodeAt(xe+$e))break;Fe===L&&(Ve=$e)}if($e!==ct){if(Ve===-1)return J}else{if(rt>ct){if(de.charCodeAt(xe+$e)===L)return J.slice(xe+$e+1);if($e===2)return J.slice(xe+$e)}ve>ct&&(Y.charCodeAt($+$e)===L?Ve=$e:$e===2&&(Ve=3)),Ve===-1&&(Ve=0)}let Ee="";for($e=$+Ve+1;$e<=ue;++$e)($e===ue||Y.charCodeAt($e)===L)&&(Ee+=Ee.length===0?"..":"\\..");return xe+=Ve,Ee.length>0?`${Ee}${J.slice(xe,O)}`:(J.charCodeAt(xe)===L&&++xe,J.slice(xe,O))},toNamespacedPath(Y){if(typeof Y!="string")return Y;if(Y.length===0)return"";const de=A.resolve(Y);if(de.length<=2)return Y;if(de.charCodeAt(0)===L){if(de.charCodeAt(1)===L){const oe=de.charCodeAt(2);if(oe!==d&&oe!==y)return`\\\\?\\UNC\\${de.slice(2)}`}}else if(K(de.charCodeAt(0))&&de.charCodeAt(1)===b&&de.charCodeAt(2)===L)return`\\\\?\\${de}`;return Y},dirname(Y){E(Y,"path");const de=Y.length;if(de===0)return".";let oe=-1,J=0;const $=Y.charCodeAt(0);if(de===1)return D($)?Y:".";if(D($)){if(oe=J=1,D(Y.charCodeAt(1))){let xe=2,O=xe;for(;xe<de&&!D(Y.charCodeAt(xe));)xe++;if(xe<de&&xe!==O){for(O=xe;xe<de&&D(Y.charCodeAt(xe));)xe++;if(xe<de&&xe!==O){for(O=xe;xe<de&&!D(Y.charCodeAt(xe));)xe++;if(xe===de)return Y;xe!==O&&(oe=J=xe+1)}}}}else K($)&&Y.charCodeAt(1)===b&&(oe=de>2&&D(Y.charCodeAt(2))?3:2,J=oe);let ue=-1,ve=!0;for(let xe=de-1;xe>=J;--xe)if(D(Y.charCodeAt(xe))){if(!ve){ue=xe;break}}else ve=!1;if(ue===-1){if(oe===-1)return".";ue=oe}return Y.slice(0,ue)},basename(Y,de){de!==void 0&&E(de,"ext"),E(Y,"path");let oe=0,J=-1,$=!0,ue;if(Y.length>=2&&K(Y.charCodeAt(0))&&Y.charCodeAt(1)===b&&(oe=2),de!==void 0&&de.length>0&&de.length<=Y.length){if(de===Y)return"";let ve=de.length-1,xe=-1;for(ue=Y.length-1;ue>=oe;--ue){const O=Y.charCodeAt(ue);if(D(O)){if(!$){oe=ue+1;break}}else xe===-1&&($=!1,xe=ue+1),ve>=0&&(O===de.charCodeAt(ve)?--ve===-1&&(J=ue):(ve=-1,J=xe))}return oe===J?J=xe:J===-1&&(J=Y.length),Y.slice(oe,J)}for(ue=Y.length-1;ue>=oe;--ue)if(D(Y.charCodeAt(ue))){if(!$){oe=ue+1;break}}else J===-1&&($=!1,J=ue+1);return J===-1?"":Y.slice(oe,J)},extname(Y){E(Y,"path");let de=0,oe=-1,J=0,$=-1,ue=!0,ve=0;Y.length>=2&&Y.charCodeAt(1)===b&&K(Y.charCodeAt(0))&&(de=J=2);for(let xe=Y.length-1;xe>=de;--xe){const O=Y.charCodeAt(xe);if(D(O)){if(!ue){J=xe+1;break}continue}$===-1&&(ue=!1,$=xe+1),O===y?oe===-1?oe=xe:ve!==1&&(ve=1):oe!==-1&&(ve=-1)}return oe===-1||$===-1||ve===0||ve===1&&oe===$-1&&oe===J+1?"":Y.slice(oe,$)},format:W.bind(null,"\\"),parse(Y){E(Y,"path");const de={root:"",dir:"",base:"",ext:"",name:""};if(Y.length===0)return de;const oe=Y.length;let J=0,$=Y.charCodeAt(0);if(oe===1)return D($)?(de.root=de.dir=Y,de):(de.base=de.name=Y,de);if(D($)){if(J=1,D(Y.charCodeAt(1))){let Ve=2,$e=Ve;for(;Ve<oe&&!D(Y.charCodeAt(Ve));)Ve++;if(Ve<oe&&Ve!==$e){for($e=Ve;Ve<oe&&D(Y.charCodeAt(Ve));)Ve++;if(Ve<oe&&Ve!==$e){for($e=Ve;Ve<oe&&!D(Y.charCodeAt(Ve));)Ve++;Ve===oe?J=Ve:Ve!==$e&&(J=Ve+1)}}}}else if(K($)&&Y.charCodeAt(1)===b){if(oe<=2)return de.root=de.dir=Y,de;if(J=2,D(Y.charCodeAt(2))){if(oe===3)return de.root=de.dir=Y,de;J=3}}J>0&&(de.root=Y.slice(0,J));let ue=-1,ve=J,xe=-1,O=!0,rt=Y.length-1,ct=0;for(;rt>=J;--rt){if($=Y.charCodeAt(rt),D($)){if(!O){ve=rt+1;break}continue}xe===-1&&(O=!1,xe=rt+1),$===y?ue===-1?ue=rt:ct!==1&&(ct=1):ue!==-1&&(ct=-1)}return xe!==-1&&(ue===-1||ct===0||ct===1&&ue===xe-1&&ue===ve+1?de.base=de.name=Y.slice(ve,xe):(de.name=Y.slice(ve,ue),de.base=Y.slice(ve,xe),de.ext=Y.slice(ue,xe))),ve>0&&ve!==J?de.dir=Y.slice(0,ve-1):de.dir=de.root,de},sep:"\\",delimiter:";",win32:null,posix:null},U={resolve(...Y){let de="",oe=!1;for(let J=Y.length-1;J>=-1&&!oe;J--){const $=J>=0?Y[J]:ie();E($,"path"),$.length!==0&&(de=`${$}/${de}`,oe=$.charCodeAt(0)===C)}return de=T(de,!oe,"/",x),oe?`/${de}`:de.length>0?de:"."},normalize(Y){if(E(Y,"path"),Y.length===0)return".";const de=Y.charCodeAt(0)===C,oe=Y.charCodeAt(Y.length-1)===C;return Y=T(Y,!de,"/",x),Y.length===0?de?"/":oe?"./":".":(oe&&(Y+="/"),de?`/${Y}`:Y)},isAbsolute(Y){return E(Y,"path"),Y.length>0&&Y.charCodeAt(0)===C},join(...Y){if(Y.length===0)return".";let de;for(let oe=0;oe<Y.length;++oe){const J=Y[oe];E(J,"path"),J.length>0&&(de===void 0?de=J:de+=`/${J}`)}return de===void 0?".":U.normalize(de)},relative(Y,de){if(E(Y,"from"),E(de,"to"),Y===de||(Y=U.resolve(Y),de=U.resolve(de),Y===de))return"";const oe=1,J=Y.length,$=J-oe,ue=1,ve=de.length-ue,xe=$<ve?$:ve;let O=-1,rt=0;for(;rt<xe;rt++){const Ve=Y.charCodeAt(oe+rt);if(Ve!==de.charCodeAt(ue+rt))break;Ve===C&&(O=rt)}if(rt===xe)if(ve>xe){if(de.charCodeAt(ue+rt)===C)return de.slice(ue+rt+1);if(rt===0)return de.slice(ue+rt)}else $>xe&&(Y.charCodeAt(oe+rt)===C?O=rt:rt===0&&(O=0));let ct="";for(rt=oe+O+1;rt<=J;++rt)(rt===J||Y.charCodeAt(rt)===C)&&(ct+=ct.length===0?"..":"/..");return`${ct}${de.slice(ue+O)}`},toNamespacedPath(Y){return Y},dirname(Y){if(E(Y,"path"),Y.length===0)return".";const de=Y.charCodeAt(0)===C;let oe=-1,J=!0;for(let $=Y.length-1;$>=1;--$)if(Y.charCodeAt($)===C){if(!J){oe=$;break}}else J=!1;return oe===-1?de?"/":".":de&&oe===1?"//":Y.slice(0,oe)},basename(Y,de){de!==void 0&&E(de,"ext"),E(Y,"path");let oe=0,J=-1,$=!0,ue;if(de!==void 0&&de.length>0&&de.length<=Y.length){if(de===Y)return"";let ve=de.length-1,xe=-1;for(ue=Y.length-1;ue>=0;--ue){const O=Y.charCodeAt(ue);if(O===C){if(!$){oe=ue+1;break}}else xe===-1&&($=!1,xe=ue+1),ve>=0&&(O===de.charCodeAt(ve)?--ve===-1&&(J=ue):(ve=-1,J=xe))}return oe===J?J=xe:J===-1&&(J=Y.length),Y.slice(oe,J)}for(ue=Y.length-1;ue>=0;--ue)if(Y.charCodeAt(ue)===C){if(!$){oe=ue+1;break}}else J===-1&&($=!1,J=ue+1);return J===-1?"":Y.slice(oe,J)},extname(Y){E(Y,"path");let de=-1,oe=0,J=-1,$=!0,ue=0;for(let ve=Y.length-1;ve>=0;--ve){const xe=Y.charCodeAt(ve);if(xe===C){if(!$){oe=ve+1;break}continue}J===-1&&($=!1,J=ve+1),xe===y?de===-1?de=ve:ue!==1&&(ue=1):de!==-1&&(ue=-1)}return de===-1||J===-1||ue===0||ue===1&&de===J-1&&de===oe+1?"":Y.slice(de,J)},format:W.bind(null,"/"),parse(Y){E(Y,"path");const de={root:"",dir:"",base:"",ext:"",name:""};if(Y.length===0)return de;const oe=Y.charCodeAt(0)===C;let J;oe?(de.root="/",J=1):J=0;let $=-1,ue=0,ve=-1,xe=!0,O=Y.length-1,rt=0;for(;O>=J;--O){const ct=Y.charCodeAt(O);if(ct===C){if(!xe){ue=O+1;break}continue}ve===-1&&(xe=!1,ve=O+1),ct===y?$===-1?$=O:rt!==1&&(rt=1):$!==-1&&(rt=-1)}if(ve!==-1){const ct=ue===0&&oe?1:ue;$===-1||rt===0||rt===1&&$===ve-1&&$===ue+1?de.base=de.name=Y.slice(ct,ve):(de.name=Y.slice(ct,$),de.base=Y.slice(ct,ve),de.ext=Y.slice($,ve))}return ue>0?de.dir=Y.slice(0,ue-1):oe&&(de.dir="/"),de},sep:"/",delimiter:":",win32:null,posix:null};U.win32=A.win32=A,U.posix=A.posix=U;const X=N==="win32"?A.normalize:U.normalize,te=N==="win32"?A.resolve:U.resolve,he=N==="win32"?A.relative:U.relative,_e=N==="win32"?A.dirname:U.dirname,ge=N==="win32"?A.basename:U.basename,me=N==="win32"?A.extname:U.extname,re=N==="win32"?A.sep:U.sep},75874:(At,Be,m)=>{m.d(Be,{$L:()=>he,ED:()=>A,G6:()=>O,IJ:()=>X,OS:()=>oe,dK:()=>re,dz:()=>U,fn:()=>de,gn:()=>ge,i7:()=>ve,li:()=>D,n2:()=>_e,r:()=>ue,tY:()=>te,un:()=>rt,vU:()=>xe});var k=m(88631),u;const ie="en";let Q=!1,N=!1,ne=!1,Z=!1,q=!1,z=!1,y=!1,C=!1,L=!1,b,d=ie,S=null,E;const D=typeof self=="object"?self:typeof m.g=="object"?m.g:{};let x;typeof D.vscode<"u"&&typeof D.vscode.process<"u"?x=D.vscode.process:typeof process<"u"&&(x=process);const K=typeof((u=x?.versions)===null||u===void 0?void 0:u.electron)=="string",T=K&&x?.type==="renderer";if(typeof navigator=="object"&&!T)E=navigator.userAgent,Q=E.indexOf("Windows")>=0,N=E.indexOf("Macintosh")>=0,C=(E.indexOf("Macintosh")>=0||E.indexOf("iPad")>=0||E.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ne=E.indexOf("Linux")>=0,z=!0,b=k.aj(k.NC({key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"))||ie,d=b;else if(typeof x=="object"){Q=x.platform==="win32",N=x.platform==="darwin",ne=x.platform==="linux",Z=ne&&!!x.env.SNAP&&!!x.env.SNAP_REVISION,y=K,L=!!x.env.CI||!!x.env.BUILD_ARTIFACTSTAGINGDIRECTORY,b=ie,d=ie;const Ve=x.env.VSCODE_NLS_CONFIG;if(Ve)try{const $e=JSON.parse(Ve),Ee=$e.availableLanguages["*"];b=$e.locale,d=Ee||ie,S=$e._translationsConfigFile}catch{}q=!0}else console.error("Unable to resolve platform.");let W=0;N?W=1:Q?W=3:ne&&(W=2);const A=Q,U=N,X=ne,te=q,he=z,_e=z&&typeof D.importScripts=="function",ge=C,me=E,re=d,Y=typeof D.postMessage=="function"&&!D.importScripts,de=(()=>{if(Y){const Ve=[];D.addEventListener("message",Ee=>{if(Ee.data&&Ee.data.vscodeScheduleAsyncWork)for(let Fe=0,je=Ve.length;Fe<je;Fe++){const Re=Ve[Fe];if(Re.id===Ee.data.vscodeScheduleAsyncWork){Ve.splice(Fe,1),Re.callback();return}}});let $e=0;return Ee=>{const Fe=++$e;Ve.push({id:Fe,callback:Ee}),D.postMessage({vscodeScheduleAsyncWork:Fe},"*")}}return Ve=>setTimeout(Ve)})(),oe=N||C?2:Q?1:3;let J=!0,$=!1;function ue(){if(!$){$=!0;const Ve=new Uint8Array(2);Ve[0]=1,Ve[1]=2,J=new Uint16Array(Ve.buffer)[0]===512+1}return J}const ve=!!(me&&me.indexOf("Chrome")>=0),xe=!!(me&&me.indexOf("Firefox")>=0),O=!!(!ve&&me&&me.indexOf("Safari")>=0),rt=!!(me&&me.indexOf("Edg/")>=0),ct=!!(me&&me.indexOf("Android")>=0)},50996:(At,Be,m)=>{m.d(Be,{e:()=>k});var k;(function(u){function ie(Z,q){if(Z.start>=q.end||q.start>=Z.end)return{start:0,end:0};const z=Math.max(Z.start,q.start),y=Math.min(Z.end,q.end);return y-z<=0?{start:0,end:0}:{start:z,end:y}}u.intersect=ie;function Q(Z){return Z.end-Z.start<=0}u.isEmpty=Q;function N(Z,q){return!Q(ie(Z,q))}u.intersects=N;function ne(Z,q){const z=[],y={start:Z.start,end:Math.min(q.start,Z.end)},C={start:Math.max(q.end,Z.start),end:Z.end};return Q(y)||z.push(y),Q(C)||z.push(C),z}u.relativeComplement=ne})(k||(k={}))},51704:(At,Be,m)=>{m.d(Be,{AH:()=>T,DZ:()=>D,EZ:()=>E,Hx:()=>S,SF:()=>z,Vb:()=>ge,Vo:()=>K,XX:()=>x,Xy:()=>L,i3:()=>A,lX:()=>W,z_:()=>Z});var k=m(43300),u=m(33073),ie=m(61419),Q=m(75874),N=m(34504),ne=m(34154);function Z(me){return(0,ne.q)(me,!0)}class q{constructor(re){this._ignorePathCasing=re}compare(re,Y,de=!1){return re===Y?0:(0,N.qu)(this.getComparisonKey(re,de),this.getComparisonKey(Y,de))}isEqual(re,Y,de=!1){return re===Y?!0:!re||!Y?!1:this.getComparisonKey(re,de)===this.getComparisonKey(Y,de)}getComparisonKey(re,Y=!1){return re.with({path:this._ignorePathCasing(re)?re.path.toLowerCase():void 0,fragment:Y?null:void 0}).toString()}isEqualOrParent(re,Y,de=!1){if(re.scheme===Y.scheme){if(re.scheme===u.lg.file)return k.KM(Z(re),Z(Y),this._ignorePathCasing(re))&&re.query===Y.query&&(de||re.fragment===Y.fragment);if(X(re.authority,Y.authority))return k.KM(re.path,Y.path,this._ignorePathCasing(re),"/")&&re.query===Y.query&&(de||re.fragment===Y.fragment)}return!1}joinPath(re,...Y){return ne.o.joinPath(re,...Y)}basenameOrAuthority(re){return E(re)||re.authority}basename(re){return ie.KR.basename(re.path)}extname(re){return ie.KR.extname(re.path)}dirname(re){if(re.path.length===0)return re;let Y;return re.scheme===u.lg.file?Y=ne.o.file(ie.XX(Z(re))).path:(Y=ie.KR.dirname(re.path),re.authority&&Y.length&&Y.charCodeAt(0)!==47&&(console.error(`dirname("${re.toString})) resulted in a relative path`),Y="/")),re.with({path:Y})}normalizePath(re){if(!re.path.length)return re;let Y;return re.scheme===u.lg.file?Y=ne.o.file(ie.Fv(Z(re))).path:Y=ie.KR.normalize(re.path),re.with({path:Y})}relativePath(re,Y){if(re.scheme!==Y.scheme||!X(re.authority,Y.authority))return;if(re.scheme===u.lg.file){const J=ie.Gf(Z(re),Z(Y));return Q.ED?k.ej(J):J}let de=re.path||"/";const oe=Y.path||"/";if(this._ignorePathCasing(re)){let J=0;for(const $=Math.min(de.length,oe.length);J<$&&!(de.charCodeAt(J)!==oe.charCodeAt(J)&&de.charAt(J).toLowerCase()!==oe.charAt(J).toLowerCase());J++);de=oe.substr(0,J)+de.substr(J)}return ie.KR.relative(de,oe)}resolvePath(re,Y){if(re.scheme===u.lg.file){const de=ne.o.file(ie.DB(Z(re),Y));return re.with({authority:de.authority,path:de.path})}return Y=k.fn(Y),re.with({path:ie.KR.resolve(re.path,Y)})}isAbsolutePath(re){return!!re.path&&re.path[0]==="/"}isEqualAuthority(re,Y){return re===Y||re!==void 0&&Y!==void 0&&(0,N.qq)(re,Y)}hasTrailingPathSeparator(re,Y=ie.ir){if(re.scheme===u.lg.file){const de=Z(re);return de.length>k.yj(de).length&&de[de.length-1]===Y}else{const de=re.path;return de.length>1&&de.charCodeAt(de.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(re.fsPath)}}removeTrailingPathSeparator(re,Y=ie.ir){return te(re,Y)?re.with({path:re.path.substr(0,re.path.length-1)}):re}addTrailingPathSeparator(re,Y=ie.ir){let de=!1;if(re.scheme===u.lg.file){const oe=Z(re);de=oe!==void 0&&oe.length===k.yj(oe).length&&oe[oe.length-1]===Y}else{Y="/";const oe=re.path;de=oe.length===1&&oe.charCodeAt(oe.length-1)===47}return!de&&!te(re,Y)?re.with({path:re.path+"/"}):re}}const z=new q(()=>!1),y=new q(me=>me.scheme===u.lg.file?!Q.IJ:!0),C=new q(me=>!0),L=z.isEqual.bind(z),b=z.isEqualOrParent.bind(z),d=z.getComparisonKey.bind(z),S=z.basenameOrAuthority.bind(z),E=z.basename.bind(z),D=z.extname.bind(z),x=z.dirname.bind(z),K=z.joinPath.bind(z),T=z.normalizePath.bind(z),W=z.relativePath.bind(z),A=z.resolvePath.bind(z),U=z.isAbsolutePath.bind(z),X=z.isEqualAuthority.bind(z),te=z.hasTrailingPathSeparator.bind(z),he=z.removeTrailingPathSeparator.bind(z),_e=z.addTrailingPathSeparator.bind(z);var ge;(function(me){me.META_DATA_LABEL="label",me.META_DATA_DESCRIPTION="description",me.META_DATA_SIZE="size",me.META_DATA_MIME="mime";function re(Y){const de=new Map;Y.path.substring(Y.path.indexOf(";")+1,Y.path.lastIndexOf(";")).split(";").forEach($=>{const[ue,ve]=$.split(":");ue&&ve&&de.set(ue,ve)});const J=Y.path.substring(0,Y.path.indexOf(";"));return J&&de.set(me.META_DATA_MIME,J),de}me.parseMetaData=re})(ge||(ge={}))},3759:(At,Be,m)=>{m.d(Be,{Rm:()=>Q});var k=m(86640),u=m(50149);class ie{constructor(L,b,d,S,E,D,x){this._forceIntegerValues=L,this._scrollStateBrand=void 0,this._forceIntegerValues&&(b=b|0,d=d|0,S=S|0,E=E|0,D=D|0,x=x|0),this.rawScrollLeft=S,this.rawScrollTop=x,b<0&&(b=0),S+b>d&&(S=d-b),S<0&&(S=0),E<0&&(E=0),x+E>D&&(x=D-E),x<0&&(x=0),this.width=b,this.scrollWidth=d,this.scrollLeft=S,this.height=E,this.scrollHeight=D,this.scrollTop=x}equals(L){return this.rawScrollLeft===L.rawScrollLeft&&this.rawScrollTop===L.rawScrollTop&&this.width===L.width&&this.scrollWidth===L.scrollWidth&&this.scrollLeft===L.scrollLeft&&this.height===L.height&&this.scrollHeight===L.scrollHeight&&this.scrollTop===L.scrollTop}withScrollDimensions(L,b){return new ie(this._forceIntegerValues,typeof L.width<"u"?L.width:this.width,typeof L.scrollWidth<"u"?L.scrollWidth:this.scrollWidth,b?this.rawScrollLeft:this.scrollLeft,typeof L.height<"u"?L.height:this.height,typeof L.scrollHeight<"u"?L.scrollHeight:this.scrollHeight,b?this.rawScrollTop:this.scrollTop)}withScrollPosition(L){return new ie(this._forceIntegerValues,this.width,this.scrollWidth,typeof L.scrollLeft<"u"?L.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof L.scrollTop<"u"?L.scrollTop:this.rawScrollTop)}createScrollEvent(L,b){const d=this.width!==L.width,S=this.scrollWidth!==L.scrollWidth,E=this.scrollLeft!==L.scrollLeft,D=this.height!==L.height,x=this.scrollHeight!==L.scrollHeight,K=this.scrollTop!==L.scrollTop;return{inSmoothScrolling:b,oldWidth:L.width,oldScrollWidth:L.scrollWidth,oldScrollLeft:L.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:L.height,oldScrollHeight:L.scrollHeight,oldScrollTop:L.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:d,scrollWidthChanged:S,scrollLeftChanged:E,heightChanged:D,scrollHeightChanged:x,scrollTopChanged:K}}}class Q extends u.JT{constructor(L){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new k.Q5),this.onScroll=this._onScroll.event,this._smoothScrollDuration=L.smoothScrollDuration,this._scheduleAtNextAnimationFrame=L.scheduleAtNextAnimationFrame,this._state=new ie(L.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(L){this._smoothScrollDuration=L}validateScrollPosition(L){return this._state.withScrollPosition(L)}getScrollDimensions(){return this._state}setScrollDimensions(L,b){var d;const S=this._state.withScrollDimensions(L,b);this._setState(S,!!this._smoothScrolling),(d=this._smoothScrolling)===null||d===void 0||d.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(L){const b=this._state.withScrollPosition(L);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(b,!1)}setScrollPositionSmooth(L,b){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(L);if(this._smoothScrolling){L={scrollLeft:typeof L.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:L.scrollLeft,scrollTop:typeof L.scrollTop>"u"?this._smoothScrolling.to.scrollTop:L.scrollTop};const d=this._state.withScrollPosition(L);if(this._smoothScrolling.to.scrollLeft===d.scrollLeft&&this._smoothScrolling.to.scrollTop===d.scrollTop)return;let S;b?S=new q(this._smoothScrolling.from,d,this._smoothScrolling.startTime,this._smoothScrolling.duration):S=this._smoothScrolling.combine(this._state,d,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=S}else{const d=this._state.withScrollPosition(L);this._smoothScrolling=q.start(this._state,d,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}_performSmoothScrolling(){if(!this._smoothScrolling)return;const L=this._smoothScrolling.tick(),b=this._state.withScrollPosition(L);if(this._setState(b,!0),!!this._smoothScrolling){if(L.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(L,b){const d=this._state;d.equals(L)||(this._state=L,this._onScroll.fire(this._state.createScrollEvent(d,b)))}}class N{constructor(L,b,d){this.scrollLeft=L,this.scrollTop=b,this.isDone=d}}function ne(C,L){const b=L-C;return function(d){return C+b*y(d)}}function Z(C,L,b){return function(d){return d<b?C(d/b):L((d-b)/(1-b))}}class q{constructor(L,b,d,S){this.from=L,this.to=b,this.duration=S,this.startTime=d,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(L,b,d){if(Math.abs(L-b)>2.5*d){let E,D;return L<b?(E=L+.75*d,D=b-.75*d):(E=L-.75*d,D=b+.75*d),Z(ne(L,E),ne(D,b),.33)}return ne(L,b)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(L){this.to=L.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(L){const b=(L-this.startTime)/this.duration;if(b<1){const d=this.scrollLeft(b),S=this.scrollTop(b);return new N(d,S,!1)}return new N(this.to.scrollLeft,this.to.scrollTop,!0)}combine(L,b,d){return q.start(L,b,d)}static start(L,b,d){d=d+10;const S=Date.now()-10;return new q(L,b,S,d)}}function z(C){return Math.pow(C,3)}function y(C){return 1-z(1-C)}},60478:(At,Be,m)=>{m.d(Be,{Z:()=>ie});var k=m(34504),u;(function(Q){Q[Q.Ignore=0]="Ignore",Q[Q.Info=1]="Info",Q[Q.Warning=2]="Warning",Q[Q.Error=3]="Error"})(u||(u={})),function(Q){const N="error",ne="warning",Z="warn",q="info",z="ignore";function y(L){return L?k.qq(N,L)?Q.Error:k.qq(ne,L)||k.qq(Z,L)?Q.Warning:k.qq(q,L)?Q.Info:Q.Ignore:Q.Ignore}Q.fromValue=y;function C(L){switch(L){case Q.Error:return N;case Q.Warning:return ne;case Q.Info:return q;default:return z}}Q.toString=C}(u||(u={}));const ie=u},22912:(At,Be,m)=>{m.d(Be,{G:()=>ie});var k=m(75874);const u=k.li.performance&&typeof k.li.performance.now=="function";class ie{constructor(N){this._highResolution=u&&N,this._startTime=this._now(),this._stopTime=-1}static create(N=!0){return new ie(N)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?k.li.performance.now():Date.now()}}},34504:(At,Be,m)=>{m.d(Be,{$i:()=>Fe,B4:()=>Ut,C8:()=>at,GF:()=>d,HO:()=>rt,IO:()=>S,J_:()=>ct,K7:()=>tt,Kw:()=>Nt,LC:()=>x,Mh:()=>re,P1:()=>Y,PJ:()=>ke,Qe:()=>je,R1:()=>b,T5:()=>te,TT:()=>A,Ut:()=>$e,V8:()=>K,W1:()=>xe,WU:()=>ne,YK:()=>oe,YU:()=>Z,ZG:()=>de,ZH:()=>$,ZK:()=>ni,ab:()=>Re,c1:()=>Dt,df:()=>_e,ec:()=>q,fy:()=>z,j3:()=>y,j_:()=>X,m5:()=>Q,mK:()=>he,mr:()=>E,oH:()=>Kt,oL:()=>C,ok:()=>me,ow:()=>T,qq:()=>ge,qu:()=>W,rL:()=>J,uS:()=>Et,un:()=>L,uq:()=>D,vH:()=>O,vU:()=>vi,zY:()=>U});var k=m(60912),u=m(11986),ie;function Q(Ye){return!Ye||typeof Ye!="string"?!0:Ye.trim().length===0}const N=/{(\d+)}/g;function ne(Ye,...Ct){return Ct.length===0?Ye:Ye.replace(N,function(Pt,ti){const ri=parseInt(ti,10);return isNaN(ri)||ri<0||ri>=Ct.length?Pt:Ct[ri]})}function Z(Ye){return Ye.replace(/[<>&]/g,function(Ct){switch(Ct){case"<":return"<";case">":return">";case"&":return"&";default:return Ct}})}function q(Ye){return Ye.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function z(Ye,Ct=" "){const Pt=y(Ye,Ct);return C(Pt,Ct)}function y(Ye,Ct){if(!Ye||!Ct)return Ye;const Pt=Ct.length;if(Pt===0||Ye.length===0)return Ye;let ti=0;for(;Ye.indexOf(Ct,ti)===ti;)ti=ti+Pt;return Ye.substring(ti)}function C(Ye,Ct){if(!Ye||!Ct)return Ye;const Pt=Ct.length,ti=Ye.length;if(Pt===0||ti===0)return Ye;let ri=ti,Di=-1;for(;Di=Ye.lastIndexOf(Ct,ri-1),!(Di===-1||Di+Pt!==ri);){if(Di===0)return"";ri=Di}return Ye.substring(0,ri)}function L(Ye){return Ye.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function b(Ye){return Ye.replace(/\*/g,"")}function d(Ye,Ct,Pt={}){if(!Ye)throw new Error("Cannot create regex from empty string");Ct||(Ye=q(Ye)),Pt.wholeWord&&(/\B/.test(Ye.charAt(0))||(Ye="\\b"+Ye),/\B/.test(Ye.charAt(Ye.length-1))||(Ye=Ye+"\\b"));let ti="";return Pt.global&&(ti+="g"),Pt.matchCase||(ti+="i"),Pt.multiline&&(ti+="m"),Pt.unicode&&(ti+="u"),new RegExp(Ye,ti)}function S(Ye){return Ye.source==="^"||Ye.source==="^$"||Ye.source==="$"||Ye.source==="^\\s*$"?!1:!!(Ye.exec("")&&Ye.lastIndex===0)}function E(Ye){return(Ye.global?"g":"")+(Ye.ignoreCase?"i":"")+(Ye.multiline?"m":"")+(Ye.unicode?"u":"")}function D(Ye){return Ye.split(/\r\n|\r|\n/)}function x(Ye){for(let Ct=0,Pt=Ye.length;Ct<Pt;Ct++){const ti=Ye.charCodeAt(Ct);if(ti!==32&&ti!==9)return Ct}return-1}function K(Ye,Ct=0,Pt=Ye.length){for(let ti=Ct;ti<Pt;ti++){const ri=Ye.charCodeAt(ti);if(ri!==32&&ri!==9)return Ye.substring(Ct,ti)}return Ye.substring(Ct,Pt)}function T(Ye,Ct=Ye.length-1){for(let Pt=Ct;Pt>=0;Pt--){const ti=Ye.charCodeAt(Pt);if(ti!==32&&ti!==9)return Pt}return-1}function W(Ye,Ct){return Ye<Ct?-1:Ye>Ct?1:0}function A(Ye,Ct,Pt=0,ti=Ye.length,ri=0,Di=Ct.length){for(;Pt<ti&&ri<Di;Pt++,ri++){const Ae=Ye.charCodeAt(Pt),Ii=Ct.charCodeAt(ri);if(Ae<Ii)return-1;if(Ae>Ii)return 1}const Ui=ti-Pt,Ei=Di-ri;return Ui<Ei?-1:Ui>Ei?1:0}function U(Ye,Ct){return X(Ye,Ct,0,Ye.length,0,Ct.length)}function X(Ye,Ct,Pt=0,ti=Ye.length,ri=0,Di=Ct.length){for(;Pt<ti&&ri<Di;Pt++,ri++){let Ae=Ye.charCodeAt(Pt),Ii=Ct.charCodeAt(ri);if(Ae===Ii)continue;if(Ae>=128||Ii>=128)return A(Ye.toLowerCase(),Ct.toLowerCase(),Pt,ti,ri,Di);he(Ae)&&(Ae-=32),he(Ii)&&(Ii-=32);const Ue=Ae-Ii;if(Ue!==0)return Ue}const Ui=ti-Pt,Ei=Di-ri;return Ui<Ei?-1:Ui>Ei?1:0}function te(Ye){return Ye>=48&&Ye<=57}function he(Ye){return Ye>=97&&Ye<=122}function _e(Ye){return Ye>=65&&Ye<=90}function ge(Ye,Ct){return Ye.length===Ct.length&&X(Ye,Ct)===0}function me(Ye,Ct){const Pt=Ct.length;return Ct.length>Ye.length?!1:X(Ye,Ct,0,Pt)===0}function re(Ye,Ct){const Pt=Math.min(Ye.length,Ct.length);let ti;for(ti=0;ti<Pt;ti++)if(Ye.charCodeAt(ti)!==Ct.charCodeAt(ti))return ti;return Pt}function Y(Ye,Ct){const Pt=Math.min(Ye.length,Ct.length);let ti;const ri=Ye.length-1,Di=Ct.length-1;for(ti=0;ti<Pt;ti++)if(Ye.charCodeAt(ri-ti)!==Ct.charCodeAt(Di-ti))return ti;return Pt}function de(Ye){return 55296<=Ye&&Ye<=56319}function oe(Ye){return 56320<=Ye&&Ye<=57343}function J(Ye,Ct){return(Ye-55296<<10)+(Ct-56320)+65536}function $(Ye,Ct,Pt){const ti=Ye.charCodeAt(Pt);if(de(ti)&&Pt+1<Ct){const ri=Ye.charCodeAt(Pt+1);if(oe(ri))return J(ti,ri)}return ti}function ue(Ye,Ct){const Pt=Ye.charCodeAt(Ct-1);if(oe(Pt)&&Ct>1){const ti=Ye.charCodeAt(Ct-2);if(de(ti))return J(ti,Pt)}return Pt}class ve{constructor(Ct,Pt=0){this._str=Ct,this._len=Ct.length,this._offset=Pt}get offset(){return this._offset}setOffset(Ct){this._offset=Ct}prevCodePoint(){const Ct=ue(this._str,this._offset);return this._offset-=Ct>=65536?2:1,Ct}nextCodePoint(){const Ct=$(this._str,this._len,this._offset);return this._offset+=Ct>=65536?2:1,Ct}eol(){return this._offset>=this._len}}class xe{constructor(Ct,Pt=0){this._iterator=new ve(Ct,Pt)}get offset(){return this._iterator.offset}nextGraphemeLength(){const Ct=mt.getInstance(),Pt=this._iterator,ti=Pt.offset;let ri=Ct.getGraphemeBreakType(Pt.nextCodePoint());for(;!Pt.eol();){const Di=Pt.offset,Ui=Ct.getGraphemeBreakType(Pt.nextCodePoint());if(dt(ri,Ui)){Pt.setOffset(Di);break}ri=Ui}return Pt.offset-ti}prevGraphemeLength(){const Ct=mt.getInstance(),Pt=this._iterator,ti=Pt.offset;let ri=Ct.getGraphemeBreakType(Pt.prevCodePoint());for(;Pt.offset>0;){const Di=Pt.offset,Ui=Ct.getGraphemeBreakType(Pt.prevCodePoint());if(dt(Ui,ri)){Pt.setOffset(Di);break}ri=Ui}return ti-Pt.offset}eol(){return this._iterator.eol()}}function O(Ye,Ct){return new xe(Ye,Ct).nextGraphemeLength()}function rt(Ye,Ct){return new xe(Ye,Ct).prevGraphemeLength()}function ct(Ye,Ct){Ct>0&&oe(Ye.charCodeAt(Ct))&&Ct--;const Pt=Ct+O(Ye,Ct);return[Pt-rt(Ye,Pt),Pt]}const Ve=/(?:[\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 $e(Ye){return Ve.test(Ye)}const Ee=/^[\t\n\r\x20-\x7E]*$/;function Fe(Ye){return Ee.test(Ye)}const je=/[\u2028\u2029]/;function Re(Ye){return je.test(Ye)}function tt(Ye){return Ye>=11904&&Ye<=55215||Ye>=63744&&Ye<=64255||Ye>=65281&&Ye<=65374}function at(Ye){return Ye>=127462&&Ye<=127487||Ye===8986||Ye===8987||Ye===9200||Ye===9203||Ye>=9728&&Ye<=10175||Ye===11088||Ye===11093||Ye>=127744&&Ye<=128591||Ye>=128640&&Ye<=128764||Ye>=128992&&Ye<=129008||Ye>=129280&&Ye<=129535||Ye>=129648&&Ye<=129782}const Dt=String.fromCharCode(65279);function Et(Ye){return!!(Ye&&Ye.length>0&&Ye.charCodeAt(0)===65279)}function Nt(Ye,Ct=!1){return Ye?(Ct&&(Ye=Ye.replace(/\\./g,"")),Ye.toLowerCase()!==Ye):!1}function ke(Ye){return Ye=Ye%(2*26),Ye<26?String.fromCharCode(97+Ye):String.fromCharCode(65+Ye-26)}function dt(Ye,Ct){return Ye===0?Ct!==5&&Ct!==7:Ye===2&&Ct===3?!1:Ye===4||Ye===2||Ye===3||Ct===4||Ct===2||Ct===3?!0:!(Ye===8&&(Ct===8||Ct===9||Ct===11||Ct===12)||(Ye===11||Ye===9)&&(Ct===9||Ct===10)||(Ye===12||Ye===10)&&Ct===10||Ct===5||Ct===13||Ct===7||Ye===1||Ye===13&&Ct===14||Ye===6&&Ct===6)}class mt{constructor(){this._data=Wt()}static getInstance(){return mt._INSTANCE||(mt._INSTANCE=new mt),mt._INSTANCE}getGraphemeBreakType(Ct){if(Ct<32)return Ct===10?3:Ct===13?2:4;if(Ct<127)return 0;const Pt=this._data,ti=Pt.length/3;let ri=1;for(;ri<=ti;)if(Ct<Pt[3*ri])ri=2*ri;else if(Ct>Pt[3*ri+1])ri=2*ri+1;else return Pt[3*ri+2];return 0}}mt._INSTANCE=null;function Wt(){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 Kt(Ye,Ct){if(Ye===0)return 0;const Pt=_t(Ye,Ct);if(Pt!==void 0)return Pt;const ti=new ve(Ct,Ye);return ti.prevCodePoint(),ti.offset}function _t(Ye,Ct){const Pt=new ve(Ct,Ye);let ti=Pt.prevCodePoint();for(;wt(ti)||ti===65039||ti===8419;){if(Pt.offset===0)return;ti=Pt.prevCodePoint()}if(!at(ti))return;let ri=Pt.offset;return ri>0&&Pt.prevCodePoint()===8205&&(ri=Pt.offset),ri}function wt(Ye){return 127995<=Ye&&Ye<=127999}const Ut="\xA0";class ni{constructor(Ct){this.confusableDictionary=Ct}static getInstance(Ct){return ni.cache.get(Array.from(Ct))}static getLocales(){return ni._locales.getValue()}isAmbiguous(Ct){return this.confusableDictionary.has(Ct)}getPrimaryConfusable(Ct){return this.confusableDictionary.get(Ct)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}ie=ni,ni.ambiguousCharacterData=new u.o(()=>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],"_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]}')),ni.cache=new k.t(Ye=>{function Ct(Ii){const Ue=new Map;for(let Se=0;Se<Ii.length;Se+=2)Ue.set(Ii[Se],Ii[Se+1]);return Ue}function Pt(Ii,Ue){const Se=new Map(Ii);for(const[ht,Oe]of Ue)Se.set(ht,Oe);return Se}function ti(Ii,Ue){if(!Ii)return Ue;const Se=new Map;for(const[ht,Oe]of Ii)Ue.has(ht)&&Se.set(ht,Oe);return Se}const ri=ie.ambiguousCharacterData.getValue();let Di=Ye.filter(Ii=>!Ii.startsWith("_")&&Ii in ri);Di.length===0&&(Di=["_default"]);let Ui;for(const Ii of Di){const Ue=Ct(ri[Ii]);Ui=ti(Ui,Ue)}const Ei=Ct(ri._common),Ae=Pt(Ei,Ui);return new ni(Ae)}),ni._locales=new u.o(()=>Object.keys(ni.ambiguousCharacterData.getValue()).filter(Ye=>!Ye.startsWith("_")));class vi{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(vi.getRawData())),this._data}static isInvisibleCharacter(Ct){return vi.getData().has(Ct)}static get codePoints(){return vi.getData()}}vi._data=void 0},4626:(At,Be,m)=>{m.d(Be,{$E:()=>D,$K:()=>z,D8:()=>d,HD:()=>u,IU:()=>x,Jp:()=>y,Kn:()=>ie,TW:()=>ne,cW:()=>L,f6:()=>K,fU:()=>Q,hj:()=>N,jn:()=>Z,kJ:()=>k,mf:()=>b,o8:()=>q,p_:()=>C,vE:()=>T});function k(W){return Array.isArray(W)}function u(W){return typeof W=="string"}function ie(W){return typeof W=="object"&&W!==null&&!Array.isArray(W)&&!(W instanceof RegExp)&&!(W instanceof Date)}function Q(W){const A=Object.getPrototypeOf(Uint8Array);return typeof W=="object"&&W instanceof A}function N(W){return typeof W=="number"&&!isNaN(W)}function ne(W){return!!W&&typeof W[Symbol.iterator]=="function"}function Z(W){return W===!0||W===!1}function q(W){return typeof W>"u"}function z(W){return!y(W)}function y(W){return q(W)||W===null}function C(W,A){if(!W)throw new Error(A?`Unexpected type, expected '${A}'`:"Unexpected type")}function L(W){if(y(W))throw new Error("Assertion Failed: argument is undefined or null");return W}function b(W){return typeof W=="function"}function d(W,A){const U=Math.min(W.length,A.length);for(let X=0;X<U;X++)S(W[X],A[X])}function S(W,A){if(u(A)){if(typeof W!==A)throw new Error(`argument does not match constraint: typeof ${A}`)}else if(b(A)){try{if(W instanceof A)return}catch{}if(!y(W)&&W.constructor===A||A.length===1&&A.call(void 0,W)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function E(W){let A=[],U=Object.getPrototypeOf(W);for(;Object.prototype!==U;)A=A.concat(Object.getOwnPropertyNames(U)),U=Object.getPrototypeOf(U);return A}function D(W){const A=[];for(const U of E(W))typeof W[U]=="function"&&A.push(U);return A}function x(W,A){const U=te=>function(){const he=Array.prototype.slice.call(arguments,0);return A(te,he)},X={};for(const te of W)X[te]=U(te);return X}function K(W){return W===null?void 0:W}function T(W,A="Unreachable"){throw new Error(A)}},65423:(At,Be,m)=>{m.d(Be,{A:()=>u,K:()=>k});function k(ie){return ie<0?0:ie>255?255:ie|0}function u(ie){return ie<0?0:ie>4294967295?4294967295:ie|0}},34154:(At,Be,m)=>{m.d(Be,{o:()=>L,q:()=>x});var k=m(61419),u=m(75874);const ie=/^\w[\w\d+.-]*$/,Q=/^\//,N=/^\/\//;function ne(U,X){if(!U.scheme&&X)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${U.authority}", path: "${U.path}", query: "${U.query}", fragment: "${U.fragment}"}`);if(U.scheme&&!ie.test(U.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(U.path){if(U.authority){if(!Q.test(U.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(N.test(U.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Z(U,X){return!U&&!X?"file":U}function q(U,X){switch(U){case"https":case"http":case"file":X?X[0]!==y&&(X=y+X):X=y;break}return X}const z="",y="/",C=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class L{constructor(X,te,he,_e,ge,me=!1){typeof X=="object"?(this.scheme=X.scheme||z,this.authority=X.authority||z,this.path=X.path||z,this.query=X.query||z,this.fragment=X.fragment||z):(this.scheme=Z(X,me),this.authority=te||z,this.path=q(this.scheme,he||z),this.query=_e||z,this.fragment=ge||z,ne(this,me))}static isUri(X){return X instanceof L?!0:X?typeof X.authority=="string"&&typeof X.fragment=="string"&&typeof X.path=="string"&&typeof X.query=="string"&&typeof X.scheme=="string"&&typeof X.fsPath=="string"&&typeof X.with=="function"&&typeof X.toString=="function":!1}get fsPath(){return x(this,!1)}with(X){if(!X)return this;let{scheme:te,authority:he,path:_e,query:ge,fragment:me}=X;return te===void 0?te=this.scheme:te===null&&(te=z),he===void 0?he=this.authority:he===null&&(he=z),_e===void 0?_e=this.path:_e===null&&(_e=z),ge===void 0?ge=this.query:ge===null&&(ge=z),me===void 0?me=this.fragment:me===null&&(me=z),te===this.scheme&&he===this.authority&&_e===this.path&&ge===this.query&&me===this.fragment?this:new d(te,he,_e,ge,me)}static parse(X,te=!1){const he=C.exec(X);return he?new d(he[2]||z,A(he[4]||z),A(he[5]||z),A(he[7]||z),A(he[9]||z),te):new d(z,z,z,z,z)}static file(X){let te=z;if(u.ED&&(X=X.replace(/\\/g,y)),X[0]===y&&X[1]===y){const he=X.indexOf(y,2);he===-1?(te=X.substring(2),X=y):(te=X.substring(2,he),X=X.substring(he)||y)}return new d("file",te,X,z,z)}static from(X){const te=new d(X.scheme,X.authority,X.path,X.query,X.fragment);return ne(te,!0),te}static joinPath(X,...te){if(!X.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let he;return u.ED&&X.scheme==="file"?he=L.file(k.Ku.join(x(X,!0),...te)).path:he=k.KR.join(X.path,...te),X.with({path:he})}toString(X=!1){return K(this,X)}toJSON(){return this}static revive(X){if(X){if(X instanceof L)return X;{const te=new d(X);return te._formatted=X.external,te._fsPath=X._sep===b?X.fsPath:null,te}}else return X}}const b=u.ED?1:void 0;class d extends L{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=x(this,!1)),this._fsPath}toString(X=!1){return X?K(this,!0):(this._formatted||(this._formatted=K(this,!1)),this._formatted)}toJSON(){const X={$mid:1};return this._fsPath&&(X.fsPath=this._fsPath,X._sep=b),this._formatted&&(X.external=this._formatted),this.path&&(X.path=this.path),this.scheme&&(X.scheme=this.scheme),this.authority&&(X.authority=this.authority),this.query&&(X.query=this.query),this.fragment&&(X.fragment=this.fragment),X}}const S={[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 E(U,X){let te,he=-1;for(let _e=0;_e<U.length;_e++){const ge=U.charCodeAt(_e);if(ge>=97&&ge<=122||ge>=65&&ge<=90||ge>=48&&ge<=57||ge===45||ge===46||ge===95||ge===126||X&&ge===47)he!==-1&&(te+=encodeURIComponent(U.substring(he,_e)),he=-1),te!==void 0&&(te+=U.charAt(_e));else{te===void 0&&(te=U.substr(0,_e));const me=S[ge];me!==void 0?(he!==-1&&(te+=encodeURIComponent(U.substring(he,_e)),he=-1),te+=me):he===-1&&(he=_e)}}return he!==-1&&(te+=encodeURIComponent(U.substring(he))),te!==void 0?te:U}function D(U){let X;for(let te=0;te<U.length;te++){const he=U.charCodeAt(te);he===35||he===63?(X===void 0&&(X=U.substr(0,te)),X+=S[he]):X!==void 0&&(X+=U[te])}return X!==void 0?X:U}function x(U,X){let te;return U.authority&&U.path.length>1&&U.scheme==="file"?te=`//${U.authority}${U.path}`:U.path.charCodeAt(0)===47&&(U.path.charCodeAt(1)>=65&&U.path.charCodeAt(1)<=90||U.path.charCodeAt(1)>=97&&U.path.charCodeAt(1)<=122)&&U.path.charCodeAt(2)===58?X?te=U.path.substr(1):te=U.path[1].toLowerCase()+U.path.substr(2):te=U.path,u.ED&&(te=te.replace(/\//g,"\\")),te}function K(U,X){const te=X?D:E;let he="",{scheme:_e,authority:ge,path:me,query:re,fragment:Y}=U;if(_e&&(he+=_e,he+=":"),(ge||_e==="file")&&(he+=y,he+=y),ge){let de=ge.indexOf("@");if(de!==-1){const oe=ge.substr(0,de);ge=ge.substr(de+1),de=oe.indexOf(":"),de===-1?he+=te(oe,!1):(he+=te(oe.substr(0,de),!1),he+=":",he+=te(oe.substr(de+1),!1)),he+="@"}ge=ge.toLowerCase(),de=ge.indexOf(":"),de===-1?he+=te(ge,!1):(he+=te(ge.substr(0,de),!1),he+=ge.substr(de))}if(me){if(me.length>=3&&me.charCodeAt(0)===47&&me.charCodeAt(2)===58){const de=me.charCodeAt(1);de>=65&&de<=90&&(me=`/${String.fromCharCode(de+32)}:${me.substr(3)}`)}else if(me.length>=2&&me.charCodeAt(1)===58){const de=me.charCodeAt(0);de>=65&&de<=90&&(me=`${String.fromCharCode(de+32)}:${me.substr(2)}`)}he+=te(me,!0)}return re&&(he+="?",he+=te(re,!1)),Y&&(he+="#",he+=X?Y:E(Y,!1)),he}function T(U){try{return decodeURIComponent(U)}catch{return U.length>3?U.substr(0,3)+T(U.substr(3)):U}}const W=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function A(U){return U.match(W)?U.replace(W,X=>T(X)):U}},82144:(At,Be,m)=>{m.d(Be,{Jq:()=>u,X5:()=>k,jG:()=>ie});const k={ctrlCmd:!1,alt:!1};var u;(function(ne){ne[ne.Blur=1]="Blur",ne[ne.Gesture=2]="Gesture",ne[ne.Other=3]="Other"})(u||(u={}));var ie;(function(ne){ne[ne.NONE=0]="NONE",ne[ne.FIRST=1]="FIRST",ne[ne.SECOND=2]="SECOND",ne[ne.LAST=3]="LAST"})(ie||(ie={}));class Q{constructor(Z){this.options=Z}}const N=new Q},51462:(At,Be,m)=>{m.d(Be,{N:()=>u});var k=m(35788);function u(ie,Q){ie instanceof k.Z?(ie.setFontFamily(Q.getMassagedFontFamily()),ie.setFontWeight(Q.fontWeight),ie.setFontSize(Q.fontSize),ie.setFontFeatureSettings(Q.fontFeatureSettings),ie.setLineHeight(Q.lineHeight),ie.setLetterSpacing(Q.letterSpacing)):(ie.style.fontFamily=Q.getMassagedFontFamily(),ie.style.fontWeight=Q.fontWeight,ie.style.fontSize=Q.fontSize+"px",ie.style.fontFeatureSettings=Q.fontFeatureSettings,ie.style.lineHeight=Q.lineHeight+"px",ie.style.letterSpacing=Q.letterSpacing+"px")}},64647:(At,Be,m)=>{m.d(Be,{I:()=>ie});var k=m(50149),u=m(86640);class ie extends k.JT{constructor(N,ne){super(),this._onDidChange=this._register(new u.Q5),this.onDidChange=this._onDidChange.event,this._referenceDomElement=N,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,ne)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){!this._resizeObserver&&this._referenceDomElement&&(this._resizeObserver=new ResizeObserver(N=>{N&&N[0]&&N[0].contentRect?this.observe({width:N[0].contentRect.width,height:N[0].contentRect.height}):this.observe()}),this._resizeObserver.observe(this._referenceDomElement))}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(N){this.measureReferenceDomElement(!0,N)}measureReferenceDomElement(N,ne){let Z=0,q=0;ne?(Z=ne.width,q=ne.height):this._referenceDomElement&&(Z=this._referenceDomElement.clientWidth,q=this._referenceDomElement.clientHeight),Z=Math.max(5,Z),q=Math.max(5,q),(this._width!==Z||this._height!==q)&&(this._width=Z,this._height=q,N&&this._onDidChange.fire())}}},23730:(At,Be,m)=>{m.d(Be,{g:()=>L});var k=m(53909),u=m(86640),ie=m(50149),Q=m(51462);class N{constructor(d,S){this.chr=d,this.type=S,this.width=0}fulfill(d){this.width=d}}class ne{constructor(d,S){this._bareFontInfo=d,this._requests=S,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const d=document.createElement("div");d.style.position="absolute",d.style.top="-50000px",d.style.width="50000px";const S=document.createElement("div");(0,Q.N)(S,this._bareFontInfo),d.appendChild(S);const E=document.createElement("div");(0,Q.N)(E,this._bareFontInfo),E.style.fontWeight="bold",d.appendChild(E);const D=document.createElement("div");(0,Q.N)(D,this._bareFontInfo),D.style.fontStyle="italic",d.appendChild(D);const x=[];for(const K of this._requests){let T;K.type===0&&(T=S),K.type===2&&(T=E),K.type===1&&(T=D),T.appendChild(document.createElement("br"));const W=document.createElement("span");ne._render(W,K),T.appendChild(W),x.push(W)}this._container=d,this._testElements=x}static _render(d,S){if(S.chr===" "){let E="\xA0";for(let D=0;D<8;D++)E+=E;d.innerText=E}else{let E=S.chr;for(let D=0;D<8;D++)E+=E;d.textContent=E}}_readFromDomElements(){for(let d=0,S=this._requests.length;d<S;d++){const E=this._requests[d],D=this._testElements[d];E.fulfill(D.offsetWidth/256)}}}function Z(b,d){new ne(b,d).read()}var q=m(11876),z=m(53038);class y extends ie.JT{constructor(){super(),this._onDidChange=this._register(new u.Q5),this.onDidChange=this._onDidChange.event,this._cache=new C,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(window.clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new C,this._onDidChange.fire()}_writeToCache(d,S){this._cache.put(d,S),!S.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=window.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){const d=this._cache.getValues();let S=!1;for(const E of d)E.isTrusted||(S=!0,this._cache.remove(E));S&&this._onDidChange.fire()}readFontInfo(d){if(!this._cache.has(d)){let S=this._actualReadFontInfo(d);(S.typicalHalfwidthCharacterWidth<=2||S.typicalFullwidthCharacterWidth<=2||S.spaceWidth<=2||S.maxDigitWidth<=2)&&(S=new z.pR({pixelRatio:k.PixelRatio.value,fontFamily:S.fontFamily,fontWeight:S.fontWeight,fontSize:S.fontSize,fontFeatureSettings:S.fontFeatureSettings,lineHeight:S.lineHeight,letterSpacing:S.letterSpacing,isMonospace:S.isMonospace,typicalHalfwidthCharacterWidth:Math.max(S.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(S.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:S.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(S.spaceWidth,5),middotWidth:Math.max(S.middotWidth,5),wsmiddotWidth:Math.max(S.wsmiddotWidth,5),maxDigitWidth:Math.max(S.maxDigitWidth,5)},!1)),this._writeToCache(d,S)}return this._cache.get(d)}_createRequest(d,S,E,D){const x=new N(d,S);return E.push(x),D?.push(x),x}_actualReadFontInfo(d){const S=[],E=[],D=this._createRequest("n",0,S,E),x=this._createRequest("\uFF4D",0,S,null),K=this._createRequest(" ",0,S,E),T=this._createRequest("0",0,S,E),W=this._createRequest("1",0,S,E),A=this._createRequest("2",0,S,E),U=this._createRequest("3",0,S,E),X=this._createRequest("4",0,S,E),te=this._createRequest("5",0,S,E),he=this._createRequest("6",0,S,E),_e=this._createRequest("7",0,S,E),ge=this._createRequest("8",0,S,E),me=this._createRequest("9",0,S,E),re=this._createRequest("\u2192",0,S,E),Y=this._createRequest("\uFFEB",0,S,null),de=this._createRequest("\xB7",0,S,E),oe=this._createRequest(String.fromCharCode(11825),0,S,null),J="|/-_ilm%";for(let O=0,rt=J.length;O<rt;O++)this._createRequest(J.charAt(O),0,S,E),this._createRequest(J.charAt(O),1,S,E),this._createRequest(J.charAt(O),2,S,E);Z(d,S);const $=Math.max(T.width,W.width,A.width,U.width,X.width,te.width,he.width,_e.width,ge.width,me.width);let ue=d.fontFeatureSettings===q.n0.OFF;const ve=E[0].width;for(let O=1,rt=E.length;ue&&O<rt;O++){const ct=ve-E[O].width;if(ct<-.001||ct>.001){ue=!1;break}}let xe=!0;return ue&&Y.width!==ve&&(xe=!1),Y.width>re.width&&(xe=!1),new z.pR({pixelRatio:k.PixelRatio.value,fontFamily:d.fontFamily,fontWeight:d.fontWeight,fontSize:d.fontSize,fontFeatureSettings:d.fontFeatureSettings,lineHeight:d.lineHeight,letterSpacing:d.letterSpacing,isMonospace:ue,typicalHalfwidthCharacterWidth:D.width,typicalFullwidthCharacterWidth:x.width,canUseHalfwidthRightwardsArrow:xe,spaceWidth:K.width,middotWidth:de.width,wsmiddotWidth:oe.width,maxDigitWidth:$},!0)}}class C{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(d){const S=d.getId();return!!this._values[S]}get(d){const S=d.getId();return this._values[S]}put(d,S){const E=d.getId();this._keys[E]=d,this._values[E]=S}remove(d){const S=d.getId();delete this._keys[S],delete this._values[S]}getValues(){return Object.keys(this._keys).map(d=>this._values[d])}}const L=new y},50263:(At,Be,m)=>{m.d(Be,{n:()=>ie});var k=m(86640);class u{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new k.Q5,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(N){this._tabFocus!==N&&(this._tabFocus=N,this._onDidChangeTabFocus.fire(this._tabFocus))}}const ie=new u},76179:(At,Be,m)=>{m.d(Be,{Fz:()=>S,Nl:()=>b,RA:()=>L,Tj:()=>D,pd:()=>C});var k=m(53909),u=m(22120),ie=m(21458),Q=m(49434),N=m(86640),ne=m(50149),Z=m(37800),q=m(34504),z=m(78397),y=m(13352),C;(function(x){x.Tap="-monaco-textarea-synthetic-tap"})(C||(C={}));const L={forceCopyWithSyntaxHighlighting:!1};class b{constructor(){this._lastState=null}set(K,T){this._lastState={lastCopiedValue:K,data:T}}get(K){return this._lastState&&this._lastState.lastCopiedValue===K?this._lastState.data:(this._lastState=null,null)}}b.INSTANCE=new b;class d{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(K){K=K||"";const T={text:K,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=K.length,T}}class S extends ne.JT{constructor(K,T,W,A){super(),this._host=K,this._textArea=T,this._OS=W,this._browser=A,this._onFocus=this._register(new N.Q5),this.onFocus=this._onFocus.event,this._onBlur=this._register(new N.Q5),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new N.Q5),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new N.Q5),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new N.Q5),this.onCut=this._onCut.event,this._onPaste=this._register(new N.Q5),this.onPaste=this._onPaste.event,this._onType=this._register(new N.Q5),this.onType=this._onType.event,this._onCompositionStart=this._register(new N.Q5),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new N.Q5),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new N.Q5),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new N.Q5),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncTriggerCut=this._register(new Q.pY(()=>this._onCut.fire(),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new Q.pY(()=>this.writeScreenReaderContent("asyncFocusGain"),0)),this._textAreaState=z.un.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent("ctor"),this._hasFocus=!1,this._currentComposition=null;let U=null;this._register(this._textArea.onKeyDown(X=>{const te=new ie.y(X);(te.keyCode===109||this._currentComposition&&te.keyCode===1)&&te.stopPropagation(),te.equals(9)&&te.preventDefault(),U=te,this._onKeyDown.fire(te)})),this._register(this._textArea.onKeyUp(X=>{const te=new ie.y(X);this._onKeyUp.fire(te)})),this._register(this._textArea.onCompositionStart(X=>{z.al&&console.log("[compositionstart]",X);const te=new d;if(this._currentComposition){this._currentComposition=te;return}if(this._currentComposition=te,this._OS===2&&U&&U.equals(109)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===X.data&&(U.code==="ArrowRight"||U.code==="ArrowLeft")){z.al&&console.log("[compositionstart] Handling long press case on macOS + arrow key",X),te.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:X.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:X.data});return}this._onCompositionStart.fire({data:X.data})})),this._register(this._textArea.onCompositionUpdate(X=>{z.al&&console.log("[compositionupdate]",X);const te=this._currentComposition;if(!te)return;if(this._browser.isAndroid){const _e=z.un.readFromTextArea(this._textArea),ge=z.un.deduceAndroidCompositionInput(this._textAreaState,_e);this._textAreaState=_e,this._onType.fire(ge),this._onCompositionUpdate.fire(X);return}const he=te.handleCompositionUpdate(X.data);this._textAreaState=z.un.readFromTextArea(this._textArea),this._onType.fire(he),this._onCompositionUpdate.fire(X)})),this._register(this._textArea.onCompositionEnd(X=>{z.al&&console.log("[compositionend]",X);const te=this._currentComposition;if(!te)return;if(this._currentComposition=null,this._browser.isAndroid){const _e=z.un.readFromTextArea(this._textArea),ge=z.un.deduceAndroidCompositionInput(this._textAreaState,_e);this._textAreaState=_e,this._onType.fire(ge),this._onCompositionEnd.fire();return}const he=te.handleCompositionUpdate(X.data);this._textAreaState=z.un.readFromTextArea(this._textArea),this._onType.fire(he),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(X=>{if(z.al&&console.log("[input]",X),this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const te=z.un.readFromTextArea(this._textArea),he=z.un.deduceInput(this._textAreaState,te,this._OS===2);he.replacePrevCharCnt===0&&he.text.length===1&&q.ZG(he.text.charCodeAt(0))||(this._textAreaState=te,(he.text!==""||he.replacePrevCharCnt!==0||he.replaceNextCharCnt!==0||he.positionDelta!==0)&&this._onType.fire(he))})),this._register(this._textArea.onCut(X=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(X),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(X=>{this._ensureClipboardGetsEditorSelection(X)})),this._register(this._textArea.onPaste(X=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),X.preventDefault(),!X.clipboardData)return;let[te,he]=E.getTextData(X.clipboardData);te&&(he=he||b.INSTANCE.get(te),this._onPaste.fire({text:te,metadata:he}))})),this._register(this._textArea.onFocus(()=>{const X=this._hasFocus;this._setHasFocus(!0),this._browser.isSafari&&!X&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let K=0;return u.nm(document,"selectionchange",T=>{if(!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const W=Date.now(),A=W-K;if(K=W,A<5)return;const U=W-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),U<100||!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)return;const X=this._textArea.getValue();if(this._textAreaState.value!==X)return;const te=this._textArea.getSelectionStart(),he=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===te&&this._textAreaState.selectionEnd===he)return;const _e=this._textAreaState.deduceEditorPosition(te),ge=this._host.deduceModelPosition(_e[0],_e[1],_e[2]),me=this._textAreaState.deduceEditorPosition(he),re=this._host.deduceModelPosition(me[0],me[1],me[2]),Y=new y.Y(ge.lineNumber,ge.column,re.lineNumber,re.column);this._onSelectionChangeRequest.fire(Y)})}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(K){this._hasFocus!==K&&(this._hasFocus=K,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(K,T){this._hasFocus||(T=T.collapseSelection()),T.writeToTextArea(K,this._textArea,this._hasFocus),this._textAreaState=T}writeScreenReaderContent(K){this._currentComposition||this._setAndWriteTextAreaState(K,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(K){const T=this._host.getDataToCopy(),W={version:1,isFromEmptySelection:T.isFromEmptySelection,multicursorText:T.multicursorText,mode:T.mode};b.INSTANCE.set(this._browser.isFirefox?T.text.replace(/\r\n/g,` `):T.text,W),K.preventDefault(),K.clipboardData&&E.setTextData(K.clipboardData,T.text,T.html,W)}}class E{static getTextData(K){const T=K.getData(Z.v.text);let W=null;const A=K.getData("vscode-editor-data");if(typeof A=="string")try{W=JSON.parse(A),W.version!==1&&(W=null)}catch{}return T.length===0&&W===null&&K.files.length>0?[Array.prototype.slice.call(K.files,0).map(X=>X.name).join(` `),null]:[T,W]}static setTextData(K,T,W,A){K.setData(Z.v.text,T),typeof W=="string"&&K.setData("text/html",W),K.setData("vscode-editor-data",JSON.stringify(A))}}class D extends ne.JT{constructor(K){super(),this._actual=K,this.onKeyDown=this._register(u.IC(this._actual,"keydown")).event,this.onKeyUp=this._register(u.IC(this._actual,"keyup")).event,this.onCompositionStart=this._register(u.IC(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(u.IC(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(u.IC(this._actual,"compositionend")).event,this.onInput=this._register(u.IC(this._actual,"input")).event,this.onCut=this._register(u.IC(this._actual,"cut")).event,this.onCopy=this._register(u.IC(this._actual,"copy")).event,this.onPaste=this._register(u.IC(this._actual,"paste")).event,this.onFocus=this._register(u.IC(this._actual,"focus")).event,this.onBlur=this._register(u.IC(this._actual,"blur")).event,this._onSyntheticTap=this._register(new N.Q5),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(u.nm(this._actual,C.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const K=u.Ay(this._actual);return K?K.activeElement===this._actual:u.Uw(this._actual)?document.activeElement===this._actual:!1}setIgnoreSelectionChangeTime(K){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(K,T){const W=this._actual;W.value!==T&&(this.setIgnoreSelectionChangeTime("setValue"),W.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(K,T,W){const A=this._actual;let U=null;const X=u.Ay(A);X?U=X.activeElement:U=document.activeElement;const te=U===A,he=A.selectionStart,_e=A.selectionEnd;if(te&&he===T&&_e===W){k.isFirefox&&window.parent!==window&&A.focus();return}if(te){this.setIgnoreSelectionChangeTime("setSelectionRange"),A.setSelectionRange(T,W),k.isFirefox&&window.parent!==window&&A.focus();return}try{const ge=u.vL(A);this.setIgnoreSelectionChangeTime("setSelectionRange"),A.focus(),A.setSelectionRange(T,W),u._0(A,ge)}catch{}}}},78397:(At,Be,m)=>{m.d(Be,{al:()=>Q,ee:()=>ne,un:()=>N});var k=m(34504),u=m(8689),ie=m(62685);const Q=!1;class N{constructor(q,z,y,C,L){this.value=q,this.selectionStart=z,this.selectionEnd=y,this.selectionStartPosition=C,this.selectionEndPosition=L}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(q){return new N(q.getValue(),q.getSelectionStart(),q.getSelectionEnd(),null,null)}collapseSelection(){return new N(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(q,z,y){Q&&console.log(`writeToTextArea ${q}: ${this.toString()}`),z.setValue(q,this.value),y&&z.setSelectionRange(q,this.selectionStart,this.selectionEnd)}deduceEditorPosition(q){if(q<=this.selectionStart){const C=this.value.substring(q,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,C,-1)}if(q>=this.selectionEnd){const C=this.value.substring(this.selectionEnd,q);return this._finishDeduceEditorPosition(this.selectionEndPosition,C,1)}const z=this.value.substring(this.selectionStart,q);if(z.indexOf(String.fromCharCode(8230))===-1)return this._finishDeduceEditorPosition(this.selectionStartPosition,z,1);const y=this.value.substring(q,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,y,-1)}_finishDeduceEditorPosition(q,z,y){let C=0,L=-1;for(;(L=z.indexOf(` `,L+1))!==-1;)C++;return[q,y*z.length,C]}static deduceInput(q,z,y){if(!q)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};Q&&(console.log("------------------------deduceInput"),console.log(`PREVIOUS STATE: ${q.toString()}`),console.log(`CURRENT STATE: ${z.toString()}`));const C=Math.min(k.Mh(q.value,z.value),q.selectionStart,z.selectionStart),L=Math.min(k.P1(q.value,z.value),q.value.length-q.selectionEnd,z.value.length-z.selectionEnd),b=q.value.substring(C,q.value.length-L),d=z.value.substring(C,z.value.length-L),S=q.selectionStart-C,E=q.selectionEnd-C,D=z.selectionStart-C,x=z.selectionEnd-C;if(Q&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${b}>, selectionStart: ${S}, selectionEnd: ${E}`),console.log(`AFTER DIFFING CURRENT STATE: <${d}>, selectionStart: ${D}, selectionEnd: ${x}`)),D===x){const T=q.selectionStart-C;return Q&&console.log(`REMOVE PREVIOUS: ${T} chars`),{text:d,replacePrevCharCnt:T,replaceNextCharCnt:0,positionDelta:0}}const K=E-S;return{text:d,replacePrevCharCnt:K,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(q,z){if(!q)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(Q&&(console.log("------------------------deduceAndroidCompositionInput"),console.log(`PREVIOUS STATE: ${q.toString()}`),console.log(`CURRENT STATE: ${z.toString()}`)),q.value===z.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:z.selectionEnd-q.selectionEnd};const y=Math.min(k.Mh(q.value,z.value),q.selectionEnd),C=Math.min(k.P1(q.value,z.value),q.value.length-q.selectionEnd),L=q.value.substring(y,q.value.length-C),b=z.value.substring(y,z.value.length-C),d=q.selectionStart-y,S=q.selectionEnd-y,E=z.selectionStart-y,D=z.selectionEnd-y;return Q&&(console.log(`AFTER DIFFING PREVIOUS STATE: <${L}>, selectionStart: ${d}, selectionEnd: ${S}`),console.log(`AFTER DIFFING CURRENT STATE: <${b}>, selectionStart: ${E}, selectionEnd: ${D}`)),{text:b,replacePrevCharCnt:S,replaceNextCharCnt:L.length-S,positionDelta:D-b.length}}}N.EMPTY=new N("",0,0,null,null);class ne{static _getPageOfLine(q,z){return Math.floor((q-1)/z)}static _getRangeForPage(q,z){const y=q*z,C=y+1,L=y+z;return new ie.e(C,1,L+1,1)}static fromEditorSelection(q,z,y,C,L){const b=ne._getPageOfLine(y.startLineNumber,C),d=ne._getRangeForPage(b,C),S=ne._getPageOfLine(y.endLineNumber,C),E=ne._getRangeForPage(S,C),D=d.intersectRanges(new ie.e(1,1,y.startLineNumber,y.startColumn));let x=z.getValueInRange(D,1);const K=z.getLineCount(),T=z.getLineMaxColumn(K),W=E.intersectRanges(new ie.e(y.endLineNumber,y.endColumn,K,T));let A=z.getValueInRange(W,1),U;if(b===S||b+1===S)U=z.getValueInRange(y,1);else{const X=d.intersectRanges(y),te=E.intersectRanges(y);U=z.getValueInRange(X,1)+String.fromCharCode(8230)+z.getValueInRange(te,1)}return L&&(x.length>500&&(x=x.substring(x.length-500,x.length)),A.length>500&&(A=A.substring(0,500)),U.length>2*500&&(U=U.substring(0,500)+String.fromCharCode(8230)+U.substring(U.length-500,U.length))),new N(x+U+A,x.length,x.length+U.length,new u.L(y.startLineNumber,y.startColumn),new u.L(y.endLineNumber,y.endColumn))}}},28575:(At,Be,m)=>{m.d(Be,{wk:()=>he,Ox:()=>A});var k=m(88631),u=m(53909),ie=m(4626),Q=m(48063),N=m(21688),ne=m(23728),Z=m(40376),q=m(8689),z=m(62685);class y{static columnSelect(re,Y,de,oe,J,$){const ue=Math.abs(J-de)+1,ve=de>J,xe=oe>$,O=oe<$,rt=[];for(let ct=0;ct<ue;ct++){const Ve=de+(ve?-ct:ct),$e=re.columnFromVisibleColumn(Y,Ve,oe),Ee=re.columnFromVisibleColumn(Y,Ve,$),Fe=re.visibleColumnFromColumn(Y,new q.L(Ve,$e)),je=re.visibleColumnFromColumn(Y,new q.L(Ve,Ee));O&&(Fe>$||je<oe)||xe&&(je>oe||Fe<$)||rt.push(new Z.rS(new z.e(Ve,$e,Ve,$e),0,new q.L(Ve,Ee),0))}if(rt.length===0)for(let ct=0;ct<ue;ct++){const Ve=de+(ve?-ct:ct),$e=Y.getLineMaxColumn(Ve);rt.push(new Z.rS(new z.e(Ve,$e,Ve,$e),0,new q.L(Ve,$e),0))}return{viewStates:rt,reversed:ve,fromLineNumber:de,fromVisualColumn:oe,toLineNumber:J,toVisualColumn:$}}static columnSelectLeft(re,Y,de){let oe=de.toViewVisualColumn;return oe>0&&oe--,y.columnSelect(re,Y,de.fromViewLineNumber,de.fromViewVisualColumn,de.toViewLineNumber,oe)}static columnSelectRight(re,Y,de){let oe=0;const J=Math.min(de.fromViewLineNumber,de.toViewLineNumber),$=Math.max(de.fromViewLineNumber,de.toViewLineNumber);for(let ve=J;ve<=$;ve++){const xe=Y.getLineMaxColumn(ve),O=re.visibleColumnFromColumn(Y,new q.L(ve,xe));oe=Math.max(oe,O)}let ue=de.toViewVisualColumn;return ue<oe&&ue++,this.columnSelect(re,Y,de.fromViewLineNumber,de.fromViewVisualColumn,de.toViewLineNumber,ue)}static columnSelectUp(re,Y,de,oe){const J=oe?re.pageSize:1,$=Math.max(1,de.toViewLineNumber-J);return this.columnSelect(re,Y,de.fromViewLineNumber,de.fromViewVisualColumn,$,de.toViewVisualColumn)}static columnSelectDown(re,Y,de,oe){const J=oe?re.pageSize:1,$=Math.min(Y.getLineCount(),de.toViewLineNumber+J);return this.columnSelect(re,Y,de.fromViewLineNumber,de.fromViewVisualColumn,$,de.toViewVisualColumn)}}var C=m(94316),L=m(75361),b=m(12843),d=m(74840),S=m(50199),E=m(7898);const D=0;class x extends N._l{runEditorCommand(re,Y,de){const oe=Y._getViewModel();oe&&this.runCoreEditorCommand(oe,de||{})}}var K;(function(me){const re=function(de){if(!ie.Kn(de))return!1;const oe=de;return!(!ie.HD(oe.to)||!ie.o8(oe.by)&&!ie.HD(oe.by)||!ie.o8(oe.value)&&!ie.hj(oe.value)||!ie.o8(oe.revealCursor)&&!ie.jn(oe.revealCursor))};me.description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n * 'to': A mandatory direction value.\n ```\n 'up', 'down'\n ```\n * 'by': Unit to move. Default is computed based on 'to' value.\n ```\n 'line', 'wrappedLine', 'page', 'halfPage', 'editor'\n ```\n * 'value': Number of units to move. Default is '1'.\n * 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n ",constraint:re,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage","editor"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},me.RawDirection={Up:"up",Down:"down"},me.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage",Editor:"editor"};function Y(de){let oe;switch(de.to){case me.RawDirection.Up:oe=1;break;case me.RawDirection.Down:oe=2;break;default:return null}let J;switch(de.by){case me.RawUnit.Line:J=1;break;case me.RawUnit.WrappedLine:J=2;break;case me.RawUnit.Page:J=3;break;case me.RawUnit.HalfPage:J=4;break;case me.RawUnit.Editor:J=5;break;default:J=2}const $=Math.floor(de.value||1),ue=!!de.revealCursor;return{direction:oe,unit:J,value:$,revealCursor:ue,select:!!de.select}}me.parse=Y})(K||(K={}));var T;(function(me){const re=function(Y){if(!ie.Kn(Y))return!1;const de=Y;return!(!ie.hj(de.lineNumber)&&!ie.HD(de.lineNumber)||!ie.o8(de.at)&&!ie.HD(de.at))};me.description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n * 'lineNumber': A mandatory line number value.\n * 'at': Logical position at which line has to be revealed.\n ```\n 'top', 'center', 'bottom'\n ```\n ",constraint:re,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},me.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(T||(T={}));class W{constructor(re){re.addImplementation(1e4,"code-editor",(Y,de)=>{const oe=Y.get(ne.$).getFocusedCodeEditor();return oe&&oe.hasTextFocus()?this._runEditorCommand(Y,oe,de):!1}),re.addImplementation(1e3,"generic-dom-input-textarea",(Y,de)=>{const oe=document.activeElement;return oe&&["input","textarea"].indexOf(oe.tagName.toLowerCase())>=0?(this.runDOMCommand(),!0):!1}),re.addImplementation(0,"generic-dom",(Y,de)=>{const oe=Y.get(ne.$).getActiveCodeEditor();return oe?(oe.focus(),this._runEditorCommand(Y,oe,de)):!1})}_runEditorCommand(re,Y,de){const oe=this.runEditorCommand(re,Y,de);return oe||!0}}var A;(function(me){class re extends x{constructor(Re){super(Re),this._minimalReveal=Re.minimalReveal,this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,[L.P.moveTo(Re,Re.getPrimaryCursorState(),this._inSelectionMode,tt.position,tt.viewPosition)])&&Re.revealPrimaryCursor(tt.source,!0,this._minimalReveal)}}me.MoveTo=(0,N.fK)(new re({id:"_moveTo",minimalReveal:!0,inSelectionMode:!1,precondition:void 0})),me.MoveToSelect=(0,N.fK)(new re({id:"_moveToSelect",minimalReveal:!1,inSelectionMode:!0,precondition:void 0}));class Y extends x{runCoreEditorCommand(Re,tt){Re.model.pushStackElement();const at=this._getColumnSelectResult(Re,Re.getPrimaryCursorState(),Re.getCursorColumnSelectData(),tt);Re.setCursorStates(tt.source,3,at.viewStates.map(Dt=>Z.Vi.fromViewState(Dt))),Re.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:at.fromLineNumber,fromViewVisualColumn:at.fromVisualColumn,toViewLineNumber:at.toLineNumber,toViewVisualColumn:at.toVisualColumn}),at.reversed?Re.revealTopMostCursor(tt.source):Re.revealBottomMostCursor(tt.source)}}me.ColumnSelect=(0,N.fK)(new class extends Y{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(je,Re,tt,at){const Dt=je.model.validatePosition(at.position),Et=je.coordinatesConverter.validateViewPosition(new q.L(at.viewPosition.lineNumber,at.viewPosition.column),Dt),Nt=at.doColumnSelect?tt.fromViewLineNumber:Et.lineNumber,ke=at.doColumnSelect?tt.fromViewVisualColumn:at.mouseColumn-1;return y.columnSelect(je.cursorConfig,je,Nt,ke,Et.lineNumber,at.mouseColumn-1)}}),me.CursorColumnSelectLeft=(0,N.fK)(new class extends Y{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(je,Re,tt,at){return y.columnSelectLeft(je.cursorConfig,je,tt)}}),me.CursorColumnSelectRight=(0,N.fK)(new class extends Y{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(je,Re,tt,at){return y.columnSelectRight(je.cursorConfig,je,tt)}});class de extends Y{constructor(Re){super(Re),this._isPaged=Re.isPaged}_getColumnSelectResult(Re,tt,at,Dt){return y.columnSelectUp(Re.cursorConfig,Re,at,this._isPaged)}}me.CursorColumnSelectUp=(0,N.fK)(new de({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3600,linux:{primary:0}}})),me.CursorColumnSelectPageUp=(0,N.fK)(new de({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3595,linux:{primary:0}}}));class oe extends Y{constructor(Re){super(Re),this._isPaged=Re.isPaged}_getColumnSelectResult(Re,tt,at,Dt){return y.columnSelectDown(Re.cursorConfig,Re,at,this._isPaged)}}me.CursorColumnSelectDown=(0,N.fK)(new oe({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3602,linux:{primary:0}}})),me.CursorColumnSelectPageDown=(0,N.fK)(new oe({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3596,linux:{primary:0}}}));class J extends x{constructor(){super({id:"cursorMove",precondition:void 0,description:L.N.description})}runCoreEditorCommand(Re,tt){const at=L.N.parse(tt);at&&this._runCursorMove(Re,tt.source,at)}_runCursorMove(Re,tt,at){Re.model.pushStackElement(),Re.setCursorStates(tt,3,J._move(Re,Re.getCursorStates(),at)),Re.revealPrimaryCursor(tt,!0)}static _move(Re,tt,at){const Dt=at.select,Et=at.value;switch(at.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return L.P.simpleMove(Re,tt,at.direction,Dt,Et,at.unit);case 11:case 13:case 12:case 14:return L.P.viewportMove(Re,tt,at.direction,Dt,Et);default:return null}}}me.CursorMoveImpl=J,me.CursorMove=(0,N.fK)(new J);class $ extends x{constructor(Re){super(Re),this._staticArgs=Re.args}runCoreEditorCommand(Re,tt){let at=this._staticArgs;this._staticArgs.value===-1&&(at={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:tt.pageSize||Re.cursorConfig.pageSize}),Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,L.P.simpleMove(Re,Re.getCursorStates(),at.direction,at.select,at.value,at.unit)),Re.revealPrimaryCursor(tt.source,!0)}}me.CursorLeft=(0,N.fK)(new $({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),me.CursorLeftSelect=(0,N.fK)(new $({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1039}})),me.CursorRight=(0,N.fK)(new $({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),me.CursorRightSelect=(0,N.fK)(new $({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1041}})),me.CursorUp=(0,N.fK)(new $({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),me.CursorUpSelect=(0,N.fK)(new $({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),me.CursorPageUp=(0,N.fK)(new $({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:11}})),me.CursorPageUpSelect=(0,N.fK)(new $({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1035}})),me.CursorDown=(0,N.fK)(new $({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),me.CursorDownSelect=(0,N.fK)(new $({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),me.CursorPageDown=(0,N.fK)(new $({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:12}})),me.CursorPageDownSelect=(0,N.fK)(new $({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1036}})),me.CreateCursor=(0,N.fK)(new class extends x{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(je,Re){let tt;Re.wholeLine?tt=L.P.line(je,je.getPrimaryCursorState(),!1,Re.position,Re.viewPosition):tt=L.P.moveTo(je,je.getPrimaryCursorState(),!1,Re.position,Re.viewPosition);const at=je.getCursorStates();if(at.length>1){const Dt=tt.modelState?tt.modelState.position:null,Et=tt.viewState?tt.viewState.position:null;for(let Nt=0,ke=at.length;Nt<ke;Nt++){const dt=at[Nt];if(!(Dt&&!dt.modelState.selection.containsPosition(Dt))&&!(Et&&!dt.viewState.selection.containsPosition(Et))){at.splice(Nt,1),je.model.pushStackElement(),je.setCursorStates(Re.source,3,at);return}}}at.push(tt),je.model.pushStackElement(),je.setCursorStates(Re.source,3,at)}}),me.LastCursorMoveToSelect=(0,N.fK)(new class extends x{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(je,Re){const tt=je.getLastAddedCursorIndex(),at=je.getCursorStates(),Dt=at.slice(0);Dt[tt]=L.P.moveTo(je,at[tt],!0,Re.position,Re.viewPosition),je.model.pushStackElement(),je.setCursorStates(Re.source,3,Dt)}});class ue extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,L.P.moveToBeginningOfLine(Re,Re.getCursorStates(),this._inSelectionMode)),Re.revealPrimaryCursor(tt.source,!0)}}me.CursorHome=(0,N.fK)(new ue({inSelectionMode:!1,id:"cursorHome",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),me.CursorHomeSelect=(0,N.fK)(new ue({inSelectionMode:!0,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class ve extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,this._exec(Re.getCursorStates())),Re.revealPrimaryCursor(tt.source,!0)}_exec(Re){const tt=[];for(let at=0,Dt=Re.length;at<Dt;at++){const Et=Re[at],Nt=Et.modelState.position.lineNumber;tt[at]=Z.Vi.fromModelState(Et.modelState.move(this._inSelectionMode,Nt,1,0))}return tt}}me.CursorLineStart=(0,N.fK)(new ve({inSelectionMode:!1,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:0,mac:{primary:287}}})),me.CursorLineStartSelect=(0,N.fK)(new ve({inSelectionMode:!0,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:0,mac:{primary:1311}}}));class xe extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,L.P.moveToEndOfLine(Re,Re.getCursorStates(),this._inSelectionMode,tt.sticky||!1)),Re.revealPrimaryCursor(tt.source,!0)}}me.CursorEnd=(0,N.fK)(new xe({inSelectionMode:!1,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:!1},weight:D,kbExpr:d.u.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},description:{description:"Go to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:k.NC("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}})),me.CursorEndSelect=(0,N.fK)(new xe({inSelectionMode:!0,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:!1},weight:D,kbExpr:d.u.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},description:{description:"Select to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:k.NC("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}}));class O extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,this._exec(Re,Re.getCursorStates())),Re.revealPrimaryCursor(tt.source,!0)}_exec(Re,tt){const at=[];for(let Dt=0,Et=tt.length;Dt<Et;Dt++){const Nt=tt[Dt],ke=Nt.modelState.position.lineNumber,dt=Re.model.getLineMaxColumn(ke);at[Dt]=Z.Vi.fromModelState(Nt.modelState.move(this._inSelectionMode,ke,dt,0))}return at}}me.CursorLineEnd=(0,N.fK)(new O({inSelectionMode:!1,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:0,mac:{primary:291}}})),me.CursorLineEndSelect=(0,N.fK)(new O({inSelectionMode:!0,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:0,mac:{primary:1315}}}));class rt extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,L.P.moveToBeginningOfBuffer(Re,Re.getCursorStates(),this._inSelectionMode)),Re.revealPrimaryCursor(tt.source,!0)}}me.CursorTop=(0,N.fK)(new rt({inSelectionMode:!1,id:"cursorTop",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:2062,mac:{primary:2064}}})),me.CursorTopSelect=(0,N.fK)(new rt({inSelectionMode:!0,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3086,mac:{primary:3088}}}));class ct extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,L.P.moveToEndOfBuffer(Re,Re.getCursorStates(),this._inSelectionMode)),Re.revealPrimaryCursor(tt.source,!0)}}me.CursorBottom=(0,N.fK)(new ct({inSelectionMode:!1,id:"cursorBottom",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:2061,mac:{primary:2066}}})),me.CursorBottomSelect=(0,N.fK)(new ct({inSelectionMode:!0,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:3085,mac:{primary:3090}}}));class Ve extends x{constructor(){super({id:"editorScroll",precondition:void 0,description:K.description})}runCoreEditorCommand(Re,tt){const at=K.parse(tt);at&&this._runEditorScroll(Re,tt.source,at)}_runEditorScroll(Re,tt,at){const Dt=this._computeDesiredScrollTop(Re,at);if(at.revealCursor){const Et=Re.getCompletelyVisibleViewRangeAtScrollTop(Dt);Re.setCursorStates(tt,3,[L.P.findPositionInViewportIfOutside(Re,Re.getPrimaryCursorState(),Et,at.select)])}Re.viewLayout.setScrollPosition({scrollTop:Dt},0)}_computeDesiredScrollTop(Re,tt){if(tt.unit===1){const Et=Re.getCompletelyVisibleViewRange(),Nt=Re.coordinatesConverter.convertViewRangeToModelRange(Et);let ke;tt.direction===1?ke=Math.max(1,Nt.startLineNumber-tt.value):ke=Math.min(Re.model.getLineCount(),Nt.startLineNumber+tt.value);const dt=Re.coordinatesConverter.convertModelPositionToViewPosition(new q.L(ke,1));return Re.viewLayout.getVerticalOffsetForLineNumber(dt.lineNumber)}if(tt.unit===5){let Et=0;return tt.direction===2&&(Et=Re.model.getLineCount()-Re.cursorConfig.pageSize),Re.viewLayout.getVerticalOffsetForLineNumber(Et)}let at;tt.unit===3?at=Re.cursorConfig.pageSize*tt.value:tt.unit===4?at=Math.round(Re.cursorConfig.pageSize/2)*tt.value:at=tt.value;const Dt=(tt.direction===1?-1:1)*at;return Re.viewLayout.getCurrentScrollTop()+Dt*Re.cursorConfig.lineHeight}}me.EditorScrollImpl=Ve,me.EditorScroll=(0,N.fK)(new Ve),me.ScrollLineUp=(0,N.fK)(new class extends x{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(je,Re){me.EditorScroll._runEditorScroll(je,Re.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})}}),me.ScrollPageUp=(0,N.fK)(new class extends x{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(je,Re){me.EditorScroll._runEditorScroll(je,Re.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})}}),me.ScrollEditorTop=(0,N.fK)(new class extends x{constructor(){super({id:"scrollEditorTop",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus}})}runCoreEditorCommand(je,Re){me.EditorScroll._runEditorScroll(je,Re.source,{direction:1,unit:5,value:1,revealCursor:!1,select:!1})}}),me.ScrollLineDown=(0,N.fK)(new class extends x{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(je,Re){me.EditorScroll._runEditorScroll(je,Re.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})}}),me.ScrollPageDown=(0,N.fK)(new class extends x{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(je,Re){me.EditorScroll._runEditorScroll(je,Re.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})}}),me.ScrollEditorBottom=(0,N.fK)(new class extends x{constructor(){super({id:"scrollEditorBottom",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus}})}runCoreEditorCommand(je,Re){me.EditorScroll._runEditorScroll(je,Re.source,{direction:2,unit:5,value:1,revealCursor:!1,select:!1})}});class $e extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,[L.P.word(Re,Re.getPrimaryCursorState(),this._inSelectionMode,tt.position)]),Re.revealPrimaryCursor(tt.source,!0)}}me.WordSelect=(0,N.fK)(new $e({inSelectionMode:!1,id:"_wordSelect",precondition:void 0})),me.WordSelectDrag=(0,N.fK)(new $e({inSelectionMode:!0,id:"_wordSelectDrag",precondition:void 0})),me.LastCursorWordSelect=(0,N.fK)(new class extends x{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}runCoreEditorCommand(je,Re){const tt=je.getLastAddedCursorIndex(),at=je.getCursorStates(),Dt=at.slice(0),Et=at[tt];Dt[tt]=L.P.word(je,Et,Et.modelState.hasSelection(),Re.position),je.model.pushStackElement(),je.setCursorStates(Re.source,3,Dt)}});class Ee extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,[L.P.line(Re,Re.getPrimaryCursorState(),this._inSelectionMode,tt.position,tt.viewPosition)]),Re.revealPrimaryCursor(tt.source,!1)}}me.LineSelect=(0,N.fK)(new Ee({inSelectionMode:!1,id:"_lineSelect",precondition:void 0})),me.LineSelectDrag=(0,N.fK)(new Ee({inSelectionMode:!0,id:"_lineSelectDrag",precondition:void 0}));class Fe extends x{constructor(Re){super(Re),this._inSelectionMode=Re.inSelectionMode}runCoreEditorCommand(Re,tt){const at=Re.getLastAddedCursorIndex(),Dt=Re.getCursorStates(),Et=Dt.slice(0);Et[at]=L.P.line(Re,Dt[at],this._inSelectionMode,tt.position,tt.viewPosition),Re.model.pushStackElement(),Re.setCursorStates(tt.source,3,Et)}}me.LastCursorLineSelect=(0,N.fK)(new Fe({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:void 0})),me.LastCursorLineSelectDrag=(0,N.fK)(new Fe({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:void 0})),me.CancelSelection=(0,N.fK)(new class extends x{constructor(){super({id:"cancelSelection",precondition:d.u.hasNonEmptySelection,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(je,Re){je.model.pushStackElement(),je.setCursorStates(Re.source,3,[L.P.cancelSelection(je,je.getPrimaryCursorState())]),je.revealPrimaryCursor(Re.source,!0)}}),me.RemoveSecondaryCursors=(0,N.fK)(new class extends x{constructor(){super({id:"removeSecondaryCursors",precondition:d.u.hasMultipleSelections,kbOpts:{weight:D+1,kbExpr:d.u.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(je,Re){je.model.pushStackElement(),je.setCursorStates(Re.source,3,[je.getPrimaryCursorState()]),je.revealPrimaryCursor(Re.source,!0),(0,Q.i7)(k.NC("removedCursor","Removed secondary cursors"))}}),me.RevealLine=(0,N.fK)(new class extends x{constructor(){super({id:"revealLine",precondition:void 0,description:T.description})}runCoreEditorCommand(je,Re){const tt=Re,at=tt.lineNumber||0;let Dt=typeof at=="number"?at+1:parseInt(at)+1;Dt<1&&(Dt=1);const Et=je.model.getLineCount();Dt>Et&&(Dt=Et);const Nt=new z.e(Dt,1,Dt,je.model.getLineMaxColumn(Dt));let ke=0;if(tt.at)switch(tt.at){case T.RawAtArgument.Top:ke=3;break;case T.RawAtArgument.Center:ke=1;break;case T.RawAtArgument.Bottom:ke=4;break;default:break}const dt=je.coordinatesConverter.convertModelRangeToViewRange(Nt);je.revealRange(Re.source,!1,dt,ke,0)}}),me.SelectAll=new class extends W{constructor(){super(N.Sq)}runDOMCommand(){u.isFirefox&&(document.activeElement.focus(),document.activeElement.select()),document.execCommand("selectAll")}runEditorCommand(je,Re,tt){const at=Re._getViewModel();at&&this.runCoreEditorCommand(at,tt)}runCoreEditorCommand(je,Re){je.model.pushStackElement(),je.setCursorStates("keyboard",3,[L.P.selectAll(je,je.getPrimaryCursorState())])}},me.SetSelection=(0,N.fK)(new class extends x{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(je,Re){je.model.pushStackElement(),je.setCursorStates(Re.source,3,[Z.Vi.fromModelSelection(Re.selection)])}})})(A||(A={}));const U=S.Ao.and(d.u.textInputFocus,d.u.columnSelection);function X(me,re){E.W.registerKeybindingRule({id:me,primary:re,when:U,weight:D+1})}X(A.CursorColumnSelectLeft.id,1039),X(A.CursorColumnSelectRight.id,1041),X(A.CursorColumnSelectUp.id,1040),X(A.CursorColumnSelectPageUp.id,1035),X(A.CursorColumnSelectDown.id,1042),X(A.CursorColumnSelectPageDown.id,1036);function te(me){return me.register(),me}var he;(function(me){class re extends N._l{runEditorCommand(de,oe,J){const $=oe._getViewModel();$&&this.runCoreEditingCommand(oe,$,J||{})}}me.CoreEditingCommand=re,me.LineBreakInsert=(0,N.fK)(new class extends re{constructor(){super({id:"lineBreakInsert",precondition:d.u.writable,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(Y,de,oe){Y.pushUndoStop(),Y.executeCommands(this.id,b.u6.lineBreakInsert(de.cursorConfig,de.model,de.getCursorStates().map(J=>J.modelState.selection)))}}),me.Outdent=(0,N.fK)(new class extends re{constructor(){super({id:"outdent",precondition:d.u.writable,kbOpts:{weight:D,kbExpr:S.Ao.and(d.u.editorTextFocus,d.u.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(Y,de,oe){Y.pushUndoStop(),Y.executeCommands(this.id,b.u6.outdent(de.cursorConfig,de.model,de.getCursorStates().map(J=>J.modelState.selection))),Y.pushUndoStop()}}),me.Tab=(0,N.fK)(new class extends re{constructor(){super({id:"tab",precondition:d.u.writable,kbOpts:{weight:D,kbExpr:S.Ao.and(d.u.editorTextFocus,d.u.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(Y,de,oe){Y.pushUndoStop(),Y.executeCommands(this.id,b.u6.tab(de.cursorConfig,de.model,de.getCursorStates().map(J=>J.modelState.selection))),Y.pushUndoStop()}}),me.DeleteLeft=(0,N.fK)(new class extends re{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(Y,de,oe){const[J,$]=C.A.deleteLeft(de.getPrevEditOperationType(),de.cursorConfig,de.model,de.getCursorStates().map(ue=>ue.modelState.selection),de.getCursorAutoClosedCharacters());J&&Y.pushUndoStop(),Y.executeCommands(this.id,$),de.setPrevEditOperationType(2)}}),me.DeleteRight=(0,N.fK)(new class extends re{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:D,kbExpr:d.u.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(Y,de,oe){const[J,$]=C.A.deleteRight(de.getPrevEditOperationType(),de.cursorConfig,de.model,de.getCursorStates().map(ue=>ue.modelState.selection));J&&Y.pushUndoStop(),Y.executeCommands(this.id,$),de.setPrevEditOperationType(3)}}),me.Undo=new class extends W{constructor(){super(N.n_)}runDOMCommand(){document.execCommand("undo")}runEditorCommand(Y,de,oe){if(!(!de.hasModel()||de.getOption(83)===!0))return de.getModel().undo()}},me.Redo=new class extends W{constructor(){super(N.kz)}runDOMCommand(){document.execCommand("redo")}runEditorCommand(Y,de,oe){if(!(!de.hasModel()||de.getOption(83)===!0))return de.getModel().redo()}}})(he||(he={}));class _e extends N.mY{constructor(re,Y,de){super({id:re,precondition:void 0,description:de}),this._handlerId=Y}runCommand(re,Y){const de=re.get(ne.$).getFocusedCodeEditor();de&&de.trigger("keyboard",this._handlerId,Y)}}function ge(me,re){te(new _e("default:"+me,me)),te(new _e(me,me,re))}ge("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),ge("replacePreviousChar"),ge("compositionType"),ge("compositionStart"),ge("compositionEnd"),ge("paste"),ge("cut")},55451:(At,Be,m)=>{m.d(Be,{CL:()=>u,Pi:()=>Q,QI:()=>ie});var k=m(59634);function u(N){return N&&typeof N.getEditorType=="function"?N.getEditorType()===k.g.ICodeEditor:!1}function ie(N){return N&&typeof N.getEditorType=="function"?N.getEditorType()===k.g.IDiffEditor:!1}function Q(N){return u(N)?N:ie(N)?N.getModifiedEditor():null}},59097:(At,Be,m)=>{m.d(Be,{AL:()=>E,N5:()=>d,Pp:()=>L,YN:()=>Z,gy:()=>b,kG:()=>C,rU:()=>q,t7:()=>D,tC:()=>S});var k=m(22120),u=m(26964),ie=m(98994),Q=m(49434),N=m(50149),ne=m(40611);class Z{constructor(W,A){this.x=W,this.y=A,this._pageCoordinatesBrand=void 0}toClientCoordinates(){return new q(this.x-k.DI.scrollX,this.y-k.DI.scrollY)}}class q{constructor(W,A){this.clientX=W,this.clientY=A,this._clientCoordinatesBrand=void 0}toPageCoordinates(){return new Z(this.clientX+k.DI.scrollX,this.clientY+k.DI.scrollY)}}class z{constructor(W,A,U,X){this.x=W,this.y=A,this.width=U,this.height=X,this._editorPagePositionBrand=void 0}}class y{constructor(W,A){this.x=W,this.y=A,this._positionRelativeToEditorBrand=void 0}}function C(T){const W=k.i(T);return new z(W.left,W.top,W.width,W.height)}function L(T,W,A){const U=W.width/T.offsetWidth,X=W.height/T.offsetHeight,te=(A.x-W.x)/U,he=(A.y-W.y)/X;return new y(te,he)}class b extends ie.n{constructor(W,A,U){super(W),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=A,this.pos=new Z(this.posx,this.posy),this.editorPos=C(U),this.relativePos=L(U,this.editorPos,this.pos)}}class d{constructor(W){this._editorViewDomNode=W}_create(W){return new b(W,!1,this._editorViewDomNode)}onContextMenu(W,A){return k.nm(W,"contextmenu",U=>{A(this._create(U))})}onMouseUp(W,A){return k.nm(W,"mouseup",U=>{A(this._create(U))})}onMouseDown(W,A){return k.nm(W,k.tw.MOUSE_DOWN,U=>{A(this._create(U))})}onPointerDown(W,A){return k.nm(W,k.tw.POINTER_DOWN,U=>{A(this._create(U),U.pointerId)})}onMouseLeave(W,A){return k.nm(W,k.tw.MOUSE_LEAVE,U=>{A(this._create(U))})}onMouseMove(W,A){return k.nm(W,"mousemove",U=>A(this._create(U)))}}class S{constructor(W){this._editorViewDomNode=W}_create(W){return new b(W,!1,this._editorViewDomNode)}onPointerUp(W,A){return k.nm(W,"pointerup",U=>{A(this._create(U))})}onPointerDown(W,A){return k.nm(W,k.tw.POINTER_DOWN,U=>{A(this._create(U),U.pointerId)})}onPointerLeave(W,A){return k.nm(W,k.tw.POINTER_LEAVE,U=>{A(this._create(U))})}onPointerMove(W,A){return k.nm(W,"pointermove",U=>A(this._create(U)))}}class E extends N.JT{constructor(W){super(),this._editorViewDomNode=W,this._globalPointerMoveMonitor=this._register(new u.C),this._keydownListener=null}startMonitoring(W,A,U,X,te){this._keydownListener=k.mu(document,"keydown",he=>{he.toKeybinding().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,he.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(W,A,U,he=>{X(new b(he,!0,this._editorViewDomNode))},he=>{this._keydownListener.dispose(),te(he)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class D{constructor(W){this._editor=W,this._instanceId=++D._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new Q.pY(()=>this.garbageCollect(),1e3)}createClassNameRef(W){const A=this.getOrCreateRule(W);return A.increaseRefCount(),{className:A.className,dispose:()=>{A.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(W){const A=this.computeUniqueKey(W);let U=this._rules.get(A);if(!U){const X=this._counter++;U=new x(A,`dyn-rule-${this._instanceId}-${X}`,k.OO(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,W),this._rules.set(A,U)}return U}computeUniqueKey(W){return JSON.stringify(W)}garbageCollect(){for(const W of this._rules.values())W.hasReferences()||(this._rules.delete(W.key),W.dispose())}}D._idPool=0;class x{constructor(W,A,U,X){this.key=W,this.className=A,this.properties=X,this._referenceCount=0,this._styleElement=k.dS(U),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(W,A){let U=`.${W} {`;for(const X in A){const te=A[X];let he;typeof te=="object"?he=`var(${(0,ne.QO2)(te.id)})`:he=te;const _e=K(X);U+=` ${_e}: ${he};`}return U+=` }`,U}dispose(){this._styleElement.remove()}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function K(T){return T.replace(/(^[A-Z])/,([W])=>W.toLowerCase()).replace(/([A-Z])/g,([W])=>`-${W.toLowerCase()}`)}},21688:(At,Be,m)=>{m.d(Be,{AJ:()=>D,QG:()=>he,Qr:()=>X,R6:()=>T,Sq:()=>J,Uc:()=>ge,_K:()=>_e,_l:()=>K,fK:()=>U,jY:()=>W,kz:()=>oe,mY:()=>E,n_:()=>de,rn:()=>te,sb:()=>A});var k=m(88631),u=m(34154),ie=m(23728),Q=m(8689),N=m(7754),ne=m(16320),Z=m(65776),q=m(88324),z=m(50199),y=m(41846),C=m(7898),L=m(77220),b=m(24933),d=m(4626),S=m(71401);class E{constructor(ue){this.id=ue.id,this.precondition=ue.precondition,this._kbOpts=ue.kbOpts,this._menuOpts=ue.menuOpts,this._description=ue.description}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const ue=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const ve of ue){let xe=ve.kbExpr;this.precondition&&(xe?xe=z.Ao.and(xe,this.precondition):xe=this.precondition);const O={id:this.id,weight:ve.weight,args:ve.args,when:xe,primary:ve.primary,secondary:ve.secondary,win:ve.win,linux:ve.linux,mac:ve.mac};C.W.registerKeybindingRule(O)}}q.P0.registerCommand({id:this.id,handler:(ue,ve)=>this.runCommand(ue,ve),description:this._description})}_registerMenuItem(ue){Z.BH.appendMenuItem(ue.menuId,{group:ue.group,command:{id:this.id,title:ue.title,icon:ue.icon,precondition:this.precondition},when:ue.when,order:ue.order})}}class D extends E{constructor(){super(...arguments),this._implementations=[]}addImplementation(ue,ve,xe){return this._implementations.push({priority:ue,name:ve,implementation:xe}),this._implementations.sort((O,rt)=>rt.priority-O.priority),{dispose:()=>{for(let O=0;O<this._implementations.length;O++)if(this._implementations[O].implementation===xe){this._implementations.splice(O,1);return}}}}runCommand(ue,ve){const xe=ue.get(S.VZ);xe.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(const O of this._implementations){const rt=O.implementation(ue,ve);if(rt)return xe.trace(`Command '${this.id}' was handled by '${O.name}'.`),typeof rt=="boolean"?void 0:rt}xe.trace(`The Command '${this.id}' was not handled by any implementation.`)}}class x extends E{constructor(ue,ve){super(ve),this.command=ue}runCommand(ue,ve){return this.command.runCommand(ue,ve)}}class K extends E{static bindToContribution(ue){return class extends K{constructor(xe){super(xe),this._callback=xe.handler}runEditorCommand(xe,O,rt){const ct=ue(O);ct&&this._callback(ct,rt)}}}runCommand(ue,ve){const xe=ue.get(ie.$),O=xe.getFocusedCodeEditor()||xe.getActiveCodeEditor();if(O)return O.invokeWithinContext(rt=>{if(rt.get(z.i6).contextMatchesRules((0,d.f6)(this.precondition)))return this.runEditorCommand(rt,O,ve)})}}class T extends K{constructor(ue){super(T.convertOptions(ue)),this.label=ue.label,this.alias=ue.alias}static convertOptions(ue){let ve;Array.isArray(ue.menuOpts)?ve=ue.menuOpts:ue.menuOpts?ve=[ue.menuOpts]:ve=[];function xe(O){return O.menuId||(O.menuId=Z.eH.EditorContext),O.title||(O.title=ue.label),O.when=z.Ao.and(ue.precondition,O.when),O}return Array.isArray(ue.contextMenuOpts)?ve.push(...ue.contextMenuOpts.map(xe)):ue.contextMenuOpts&&ve.push(xe(ue.contextMenuOpts)),ue.menuOpts=ve,ue}runEditorCommand(ue,ve,xe){return this.reportTelemetry(ue,ve),this.run(ue,ve,xe||{})}reportTelemetry(ue,ve){ue.get(b.b).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class W extends T{constructor(){super(...arguments),this._implementations=[]}addImplementation(ue,ve){return this._implementations.push([ue,ve]),this._implementations.sort((xe,O)=>O[0]-xe[0]),{dispose:()=>{for(let xe=0;xe<this._implementations.length;xe++)if(this._implementations[xe][1]===ve){this._implementations.splice(xe,1);return}}}}run(ue,ve,xe){for(const O of this._implementations){const rt=O[1](ue,ve,xe);if(rt)return typeof rt=="boolean"?void 0:rt}}}function A($,ue){q.P0.registerCommand($,function(ve,...xe){const O=ve.get(y.TG),[rt,ct]=xe;(0,d.p_)(u.o.isUri(rt)),(0,d.p_)(Q.L.isIPosition(ct));const Ve=ve.get(N.q).getModel(rt);if(Ve){const $e=Q.L.lift(ct);return O.invokeFunction(ue,Ve,$e,...xe.slice(2))}return ve.get(ne.S).createModelReference(rt).then($e=>new Promise((Ee,Fe)=>{try{const je=O.invokeFunction(ue,$e.object.textEditorModel,Q.L.lift(ct),xe.slice(2));Ee(je)}catch(je){Fe(je)}}).finally(()=>{$e.dispose()}))})}function U($){return re.INSTANCE.registerEditorCommand($),$}function X($){const ue=new $;return re.INSTANCE.registerEditorAction(ue),ue}function te($){return re.INSTANCE.registerEditorAction($),$}function he($){re.INSTANCE.registerEditorAction($)}function _e($,ue){re.INSTANCE.registerEditorContribution($,ue)}var ge;(function($){function ue(ct){return re.INSTANCE.getEditorCommand(ct)}$.getEditorCommand=ue;function ve(){return re.INSTANCE.getEditorActions()}$.getEditorActions=ve;function xe(){return re.INSTANCE.getEditorContributions()}$.getEditorContributions=xe;function O(ct){return re.INSTANCE.getEditorContributions().filter(Ve=>ct.indexOf(Ve.id)>=0)}$.getSomeEditorContributions=O;function rt(){return re.INSTANCE.getDiffEditorContributions()}$.getDiffEditorContributions=rt})(ge||(ge={}));const me={EditorCommonContributions:"editor.contributions"};class re{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(ue,ve){this.editorContributions.push({id:ue,ctor:ve})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(ue){ue.register(),this.editorActions.push(ue)}getEditorActions(){return this.editorActions.slice(0)}registerEditorCommand(ue){ue.register(),this.editorCommands[ue.id]=ue}getEditorCommand(ue){return this.editorCommands[ue]||null}}re.INSTANCE=new re,L.B.add(me.EditorCommonContributions,re.INSTANCE);function Y($){return $.register(),$}const de=Y(new D({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Z.eH.MenubarEditMenu,group:"1_do",title:k.NC({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:Z.eH.CommandPalette,group:"",title:k.NC("undo","Undo"),order:1}]}));Y(new x(de,{id:"default:undo",precondition:void 0}));const oe=Y(new D({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Z.eH.MenubarEditMenu,group:"1_do",title:k.NC({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:Z.eH.CommandPalette,group:"",title:k.NC("redo","Redo"),order:1}]}));Y(new x(oe,{id:"default:redo",precondition:void 0}));const J=Y(new D({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Z.eH.MenubarSelectionMenu,group:"1_basic",title:k.NC({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:Z.eH.CommandPalette,group:"",title:k.NC("selectAll","Select All"),order:1}]}))},94461:(At,Be,m)=>{m.d(Be,{Gl:()=>ne,fo:()=>N,vu:()=>Q});var k=m(41846),u=m(34154),ie=m(4626);const Q=(0,k.yh)("IWorkspaceEditService");class N{constructor(z){this.metadata=z}static convert(z){return z.edits.map(y=>{if(ne.is(y))return ne.lift(y);if(Z.is(y))return Z.lift(y);throw new Error("Unsupported edit")})}}class ne extends N{constructor(z,y,C=void 0,L){super(L),this.resource=z,this.textEdit=y,this.versionId=C}static is(z){return z instanceof ne?!0:(0,ie.Kn)(z)&&u.o.isUri(z.resource)&&(0,ie.Kn)(z.textEdit)}static lift(z){return z instanceof ne?z:new ne(z.resource,z.textEdit,z.versionId,z.metadata)}}class Z extends N{constructor(z,y,C={},L){super(L),this.oldResource=z,this.newResource=y,this.options=C}static is(z){return z instanceof Z?!0:(0,ie.Kn)(z)&&(!!z.newResource||!!z.oldResource)}static lift(z){return z instanceof Z?z:new Z(z.oldResource,z.newResource,z.options,z.metadata)}}},23728:(At,Be,m)=>{m.d(Be,{$:()=>u});var k=m(41846);const u=(0,k.yh)("codeEditorService")},30940:(At,Be,m)=>{m.d(Be,{Z:()=>k});class k{constructor(ie,Q,N){this._visiblePosition=ie,this._visiblePositionScrollDelta=Q,this._cursorPosition=N}static capture(ie){let Q=null,N=0;if(ie.getScrollTop()!==0){const ne=ie.getVisibleRanges();if(ne.length>0){Q=ne[0].getStartPosition();const Z=ie.getTopForPosition(Q.lineNumber,Q.column);N=ie.getScrollTop()-Z}}return new k(Q,N,ie.getPosition())}restore(ie){if(this._visiblePosition){const Q=ie.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);ie.setScrollTop(Q+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(ie){const Q=ie.getPosition();if(!this._cursorPosition||!Q)return;const N=ie.getTopForLineNumber(Q.lineNumber)-ie.getTopForLineNumber(this._cursorPosition.lineNumber);ie.setScrollTop(ie.getScrollTop()+N)}}},89581:(At,Be,m)=>{m.d(Be,{Gm:()=>ja});var k=m(15495),u=m(21688),ie=function(qe,n,a,g){var I=arguments.length,R=I<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,a):g,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(qe,n,a,g);else for(var Ce=qe.length-1;Ce>=0;Ce--)(se=qe[Ce])&&(R=(I<3?se(R):I>3?se(n,a,R):se(n,a))||R);return I>3&&R&&Object.defineProperty(n,a,R),R},Q=function(qe,n){return function(a,g){n(a,g,qe)}};let N=class{constructor(n,a){}dispose(){}};N.ID="editor.contrib.markerDecorations",N=ie([Q(1,k.i)],N),(0,u._K)(N.ID,N);var ne=m(7792),Z=m(88631),q=m(22120),z=m(35230),y=m(86640),C=m(50149),L=m(33073),b=m(53909),d=m(99359),S=m(2758),E=m(75874),D=m(64647),x=m(23730);class K{constructor(n,a){this.key=n,this.migrate=a}apply(n){const a=K._read(n,this.key),g=R=>K._read(n,R),I=(R,se)=>K._write(n,R,se);this.migrate(a,g,I)}static _read(n,a){if(typeof n>"u")return;const g=a.indexOf(".");if(g>=0){const I=a.substring(0,g);return this._read(n[I],a.substring(g+1))}return n[a]}static _write(n,a,g){const I=a.indexOf(".");if(I>=0){const R=a.substring(0,I);n[R]=n[R]||{},this._write(n[R],a.substring(I+1),g);return}n[a]=g}}K.items=[];function T(qe,n){K.items.push(new K(qe,n))}function W(qe,n){T(qe,(a,g,I)=>{if(typeof a<"u"){for(const[R,se]of n)if(a===R){I(qe,se);return}}})}function A(qe){K.items.forEach(n=>n.apply(qe))}W("wordWrap",[[!0,"on"],[!1,"off"]]),W("lineNumbers",[[!0,"on"],[!1,"off"]]),W("cursorBlinking",[["visible","solid"]]),W("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),W("renderLineHighlight",[[!0,"line"],[!1,"none"]]),W("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),W("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),W("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),W("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),W("autoIndent",[[!1,"advanced"],[!0,"full"]]),W("matchBrackets",[[!0,"always"],[!1,"never"]]),T("autoClosingBrackets",(qe,n,a)=>{qe===!1&&(a("autoClosingBrackets","never"),typeof n("autoClosingQuotes")>"u"&&a("autoClosingQuotes","never"),typeof n("autoSurround")>"u"&&a("autoSurround","never"))}),T("renderIndentGuides",(qe,n,a)=>{typeof qe<"u"&&(a("renderIndentGuides",void 0),typeof n("guides.indentation")>"u"&&a("guides.indentation",!!qe))}),T("highlightActiveIndentGuide",(qe,n,a)=>{typeof qe<"u"&&(a("highlightActiveIndentGuide",void 0),typeof n("guides.highlightActiveIndentation")>"u"&&a("guides.highlightActiveIndentation",!!qe))});const U={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"};T("suggest.filteredTypes",(qe,n,a)=>{if(qe&&typeof qe=="object"){for(const g of Object.entries(U))qe[g[0]]===!1&&typeof n(`suggest.${g[1]}`)>"u"&&a(`suggest.${g[1]}`,!1);a("suggest.filteredTypes",void 0)}}),T("quickSuggestions",(qe,n,a)=>{if(typeof qe=="boolean"){const g=qe?"on":"off";a("quickSuggestions",{comments:g,strings:g,other:g})}});var X=m(50263),te=m(11876),he=m(44314),_e=m(53038),ge=m(7335),me=function(qe,n,a,g){var I=arguments.length,R=I<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,a):g,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(qe,n,a,g);else for(var Ce=qe.length-1;Ce>=0;Ce--)(se=qe[Ce])&&(R=(I<3?se(R):I>3?se(n,a,R):se(n,a))||R);return I>3&&R&&Object.defineProperty(n,a,R),R},re=function(qe,n){return function(a,g){n(a,g,qe)}};let Y=class extends C.JT{constructor(n,a,g,I){super(),this._accessibilityService=I,this._onDidChange=this._register(new y.Q5),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new y.Q5),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._computeOptionsMemory=new te.LJ,this.isSimpleWidget=n,this._containerObserver=this._register(new D.I(g,a.dimension)),this._rawOptions=ve(a),this._validatedOptions=ue.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(10)&&this._containerObserver.startObserving(),this._register(he.C.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(X.n.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(x.g.onDidChange(()=>this._recomputeOptions())),this._register(b.PixelRatio.onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const n=this._computeOptions(),a=ue.checkEquals(this.options,n);a!==null&&(this.options=n,this._onDidChangeFast.fire(a),this._onDidChange.fire(a))}_computeOptions(){const n=this._readEnvConfiguration(),a=_e.E4.createFromValidatedSettings(this._validatedOptions,n.pixelRatio,this.isSimpleWidget),g=this._readFontInfo(a),I={memory:this._computeOptionsMemory,outerWidth:n.outerWidth,outerHeight:n.outerHeight-this._reservedHeight,fontInfo:g,extraEditorClassName:n.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:n.emptySelectionClipboard,pixelRatio:n.pixelRatio,tabFocusMode:X.n.getTabFocusMode(),accessibilitySupport:n.accessibilitySupport};return ue.computeOptions(this._validatedOptions,I)}_readEnvConfiguration(){return{extraEditorClassName:oe(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:b.isWebKit||b.isFirefox,pixelRatio:b.PixelRatio.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(n){return x.g.readFontInfo(n)}getRawOptions(){return this._rawOptions}updateOptions(n){const a=ve(n);ue.applyUpdate(this._rawOptions,a)&&(this._validatedOptions=ue.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(n){this._containerObserver.observe(n)}setIsDominatedByLongLines(n){this._isDominatedByLongLines!==n&&(this._isDominatedByLongLines=n,this._recomputeOptions())}setModelLineCount(n){const a=de(n);this._lineNumbersDigitCount!==a&&(this._lineNumbersDigitCount=a,this._recomputeOptions())}setViewLineCount(n){this._viewLineCount!==n&&(this._viewLineCount=n,this._recomputeOptions())}setReservedHeight(n){this._reservedHeight!==n&&(this._reservedHeight=n,this._recomputeOptions())}};Y=me([re(3,ge.F)],Y);function de(qe){let n=0;for(;qe;)qe=Math.floor(qe/10),n++;return n||1}function oe(){let qe="";return!b.isSafari&&!b.isWebkitWebView&&(qe+="no-user-select "),b.isSafari&&(qe+="no-minimap-shadow ",qe+="enable-user-select "),E.dz&&(qe+="mac "),qe}class J{constructor(){this._values=[]}_read(n){return this._values[n]}get(n){return this._values[n]}_write(n,a){this._values[n]=a}}class ${constructor(){this._values=[]}_read(n){if(n>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[n]}get(n){return this._read(n)}_write(n,a){this._values[n]=a}}class ue{static validateOptions(n){const a=new J;for(const g of te.Bc){const I=g.name==="_never_"?void 0:n[g.name];a._write(g.id,g.validate(I))}return a}static computeOptions(n,a){const g=new $;for(const I of te.Bc)g._write(I.id,I.compute(a,g,n._read(I.id)));return g}static _deepEquals(n,a){if(typeof n!="object"||typeof a!="object"||!n||!a)return n===a;if(Array.isArray(n)||Array.isArray(a))return Array.isArray(n)&&Array.isArray(a)?d.fS(n,a):!1;if(Object.keys(n).length!==Object.keys(a).length)return!1;for(const g in n)if(!ue._deepEquals(n[g],a[g]))return!1;return!0}static checkEquals(n,a){const g=[];let I=!1;for(const R of te.Bc){const se=!ue._deepEquals(n._read(R.id),a._read(R.id));g[R.id]=se,se&&(I=!0)}return I?new te.Bb(g):null}static applyUpdate(n,a){let g=!1;for(const I of te.Bc)if(a.hasOwnProperty(I.name)){const R=I.applyUpdate(n[I.name],a[I.name]);n[I.name]=R.newValue,g=g||R.didChange}return g}}function ve(qe){const n=S.I8(qe);return A(n),n}var xe=m(23728),O=m(13352),rt=m(35788),ct=m(24640),Ve=m(98994),$e=m(49434),Ee=m(59097);class Fe extends C.JT{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(n){return!1}onCompositionEnd(n){return!1}onConfigurationChanged(n){return!1}onCursorStateChanged(n){return!1}onDecorationsChanged(n){return!1}onFlushed(n){return!1}onFocusChanged(n){return!1}onLanguageConfigurationChanged(n){return!1}onLineMappingChanged(n){return!1}onLinesChanged(n){return!1}onLinesDeleted(n){return!1}onLinesInserted(n){return!1}onRevealRangeRequest(n){return!1}onScrollChanged(n){return!1}onThemeChanged(n){return!1}onTokensChanged(n){return!1}onTokensColorsChanged(n){return!1}onZonesChanged(n){return!1}handleEvents(n){let a=!1;for(let g=0,I=n.length;g<I;g++){const R=n[g];switch(R.type){case 0:this.onCompositionStart(R)&&(a=!0);break;case 1:this.onCompositionEnd(R)&&(a=!0);break;case 2:this.onConfigurationChanged(R)&&(a=!0);break;case 3:this.onCursorStateChanged(R)&&(a=!0);break;case 4:this.onDecorationsChanged(R)&&(a=!0);break;case 5:this.onFlushed(R)&&(a=!0);break;case 6:this.onFocusChanged(R)&&(a=!0);break;case 7:this.onLanguageConfigurationChanged(R)&&(a=!0);break;case 8:this.onLineMappingChanged(R)&&(a=!0);break;case 9:this.onLinesChanged(R)&&(a=!0);break;case 10:this.onLinesDeleted(R)&&(a=!0);break;case 11:this.onLinesInserted(R)&&(a=!0);break;case 12:this.onRevealRangeRequest(R)&&(a=!0);break;case 13:this.onScrollChanged(R)&&(a=!0);break;case 15:this.onTokensChanged(R)&&(a=!0);break;case 14:this.onThemeChanged(R)&&(a=!0);break;case 16:this.onTokensColorsChanged(R)&&(a=!0);break;case 17:this.onZonesChanged(R)&&(a=!0);break;default:console.info("View received unknown event: "),console.info(R)}}a&&(this._shouldRender=!0)}}class je extends Fe{constructor(n){super(),this._context=n,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}class Re{static write(n,a){n.setAttribute("data-mprt",String(a))}static read(n){const a=n.getAttribute("data-mprt");return a===null?0:parseInt(a,10)}static collect(n,a){const g=[];let I=0;for(;n&&n!==document.body&&n!==a;)n.nodeType===n.ELEMENT_NODE&&(g[I++]=this.read(n)),n=n.parentElement;const R=new Uint8Array(I);for(let se=0;se<I;se++)R[se]=g[I-se-1];return R}}class tt{constructor(n,a){this._restrictedRenderingContextBrand=void 0,this._viewLayout=n,this.viewportData=a,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const g=this._viewLayout.getCurrentViewport();this.scrollTop=g.top,this.scrollLeft=g.left,this.viewportWidth=g.width,this.viewportHeight=g.height}getScrolledTopFromAbsoluteTop(n){return n-this.scrollTop}getVerticalOffsetForLineNumber(n){return this._viewLayout.getVerticalOffsetForLineNumber(n)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class at extends tt{constructor(n,a,g){super(n,a),this._renderingContextBrand=void 0,this._viewLines=g}linesVisibleRangesForRange(n,a){return this._viewLines.linesVisibleRangesForRange(n,a)}visibleRangeForPosition(n){return this._viewLines.visibleRangeForPosition(n)}}class Dt{constructor(n,a,g){this.outsideRenderedLine=n,this.lineNumber=a,this.ranges=g}}class Et{constructor(n,a){this._horizontalRangeBrand=void 0,this.left=Math.round(n),this.width=Math.round(a)}static from(n){const a=new Array(n.length);for(let g=0,I=n.length;g<I;g++){const R=n[g];a[g]=new Et(R.left,R.width)}return a}toString(){return`[${this.left},${this.width}]`}}class Nt{constructor(n,a){this._floatHorizontalRangeBrand=void 0,this.left=n,this.width=a}toString(){return`[${this.left},${this.width}]`}static compare(n,a){return n.left-a.left}}class ke{constructor(n,a){this.outsideRenderedLine=n,this.originalLeft=a,this.left=Math.round(this.originalLeft)}}class dt{constructor(n,a){this.outsideRenderedLine=n,this.ranges=a}}class mt{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(n,a){n.selectNodeContents(a)}static _readClientRects(n,a,g,I,R){const se=this._createRange();try{return se.setStart(n,a),se.setEnd(g,I),se.getClientRects()}catch{return null}finally{this._detachRange(se,R)}}static _mergeAdjacentRanges(n){if(n.length===1)return n;n.sort(Nt.compare);const a=[];let g=0,I=n[0];for(let R=1,se=n.length;R<se;R++){const Ce=n[R];I.left+I.width+.9>=Ce.left?I.width=Math.max(I.width,Ce.left+Ce.width-I.left):(a[g++]=I,I=Ce)}return a[g++]=I,a}static _createHorizontalRangesFromClientRects(n,a,g){if(!n||n.length===0)return null;const I=[];for(let R=0,se=n.length;R<se;R++){const Ce=n[R];I[R]=new Nt(Math.max(0,(Ce.left-a)/g),Ce.width/g)}return this._mergeAdjacentRanges(I)}static readHorizontalRanges(n,a,g,I,R,se,Ce,De){const Pe=n.children.length-1;if(0>Pe)return null;if(a=Math.min(Pe,Math.max(0,a)),I=Math.min(Pe,Math.max(0,I)),a===I&&g===R&&g===0&&!n.children[a].firstChild){const Lt=n.children[a].getClientRects();return this._createHorizontalRangesFromClientRects(Lt,se,Ce)}a!==I&&I>0&&R===0&&(I--,R=1073741824);let Ke=n.children[a].firstChild,Je=n.children[I].firstChild;if((!Ke||!Je)&&(!Ke&&g===0&&a>0&&(Ke=n.children[a-1].firstChild,g=1073741824),!Je&&R===0&&I>0&&(Je=n.children[I-1].firstChild,R=1073741824)),!Ke||!Je)return null;g=Math.min(Ke.textContent.length,Math.max(0,g)),R=Math.min(Je.textContent.length,Math.max(0,R));const nt=this._readClientRects(Ke,g,Je,R,De);return this._createHorizontalRangesFromClientRects(nt,se,Ce)}}var Wt=m(92201),Kt=m(9283),_t=m(77421);const wt=function(){return E.tY?!0:!(E.IJ||b.isFirefox||b.isSafari)}();let Ut=!0;class ni{constructor(n,a){this._domNode=n,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1,this.endNode=a}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const n=this._domNode.getBoundingClientRect();this._clientRectDeltaLeft=n.left,this._clientRectScale=n.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}}class vi{constructor(n,a){this.themeType=a;const g=n.options,I=g.get(46);this.renderWhitespace=g.get(90),this.renderControlCharacters=g.get(85),this.spaceWidth=I.spaceWidth,this.middotWidth=I.middotWidth,this.wsmiddotWidth=I.wsmiddotWidth,this.useMonospaceOptimizations=I.isMonospace&&!g.get(29),this.canUseHalfwidthRightwardsArrow=I.canUseHalfwidthRightwardsArrow,this.lineHeight=g.get(61),this.stopRenderingLineAfter=g.get(107),this.fontLigatures=g.get(47)}equals(n){return this.themeType===n.themeType&&this.renderWhitespace===n.renderWhitespace&&this.renderControlCharacters===n.renderControlCharacters&&this.spaceWidth===n.spaceWidth&&this.middotWidth===n.middotWidth&&this.wsmiddotWidth===n.wsmiddotWidth&&this.useMonospaceOptimizations===n.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===n.canUseHalfwidthRightwardsArrow&&this.lineHeight===n.lineHeight&&this.stopRenderingLineAfter===n.stopRenderingLineAfter&&this.fontLigatures===n.fontLigatures}}class Ye{constructor(n){this._options=n,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(n){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,rt.X)(n);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(n){this._isMaybeInvalid=!0,this._options=n}onSelectionChanged(){return(0,_t.c3)(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(n,a,g,I){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const R=g.getViewLineRenderingData(n),se=this._options,Ce=Wt.Kp.filter(R.inlineDecorations,n,R.minColumn,R.maxColumn);let De=null;if((0,_t.c3)(se.themeType)||this._options.renderWhitespace==="selection"){const Je=g.selections;for(const nt of Je){if(nt.endLineNumber<n||nt.startLineNumber>n)continue;const Lt=nt.startLineNumber===n?nt.startColumn:R.minColumn,Tt=nt.endLineNumber===n?nt.endColumn:R.maxColumn;Lt<Tt&&((0,_t.c3)(se.themeType)||this._options.renderWhitespace!=="selection"?Ce.push(new Wt.Kp(Lt,Tt,"inline-selected-text",0)):(De||(De=[]),De.push(new Kt.zG(Lt-1,Tt-1))))}}const Ie=new Kt.IJ(se.useMonospaceOptimizations,se.canUseHalfwidthRightwardsArrow,R.content,R.continuesWithWrappedLine,R.isBasicASCII,R.containsRTL,R.minColumn-1,R.tokens,Ce,R.tabSize,R.startVisibleColumn,se.spaceWidth,se.middotWidth,se.wsmiddotWidth,se.stopRenderingLineAfter,se.renderWhitespace,se.renderControlCharacters,se.fontLigatures!==te.n0.OFF,De);if(this._renderedViewLine&&this._renderedViewLine.input.equals(Ie))return!1;I.appendASCIIString('<div style="top:'),I.appendASCIIString(String(a)),I.appendASCIIString("px;height:"),I.appendASCIIString(String(this._options.lineHeight)),I.appendASCIIString('px;" class="'),I.appendASCIIString(Ye.CLASS_NAME),I.appendASCIIString('">');const Pe=(0,Kt.d1)(Ie,I);I.appendASCIIString("</div>");let Ke=null;return Ut&&wt&&R.isBasicASCII&&se.useMonospaceOptimizations&&Pe.containsForeignElements===0&&R.content.length<300&&Ie.lineTokens.getCount()<100&&(Ke=new Ct(this._renderedViewLine?this._renderedViewLine.domNode:null,Ie,Pe.characterMapping)),Ke||(Ke=ri(this._renderedViewLine?this._renderedViewLine.domNode:null,Ie,Pe.characterMapping,Pe.containsRTL,Pe.containsForeignElements)),this._renderedViewLine=Ke,!0}layoutLine(n,a){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(a),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof Ct:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof Ct?this._renderedViewLine.monospaceAssumptionsAreValid():Ut}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof Ct&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(n,a,g,I){if(!this._renderedViewLine)return null;a=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,a)),g=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,g));const R=this._renderedViewLine.input.stopRenderingLineAfter;let se=!1;R!==-1&&a>R+1&&g>R+1&&(se=!0),R!==-1&&a>R+1&&(a=R+1),R!==-1&&g>R+1&&(g=R+1);const Ce=this._renderedViewLine.getVisibleRangesForRange(n,a,g,I);return Ce&&Ce.length>0?new dt(se,Ce):null}getColumnOfNodeOffset(n,a,g){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(n,a,g):1}}Ye.CLASS_NAME="view-line";class Ct{constructor(n,a,g){this.domNode=n,this.input=a,this._characterMapping=g,this._charWidth=a.spaceWidth}getWidth(){return Math.round(this._getCharPosition(this._characterMapping.length))}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return Ut;const n=this.getWidth(),a=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(n-a)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),Ut=!1),Ut}toSlowRenderedLine(){return ri(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(n,a,g,I){const R=this._getCharPosition(a),se=this._getCharPosition(g);return[new Nt(R,se-R)]}_getCharPosition(n){const a=this._characterMapping.getHorizontalOffset(n);return this._charWidth*a}getColumnOfNodeOffset(n,a,g){const I=a.textContent.length;let R=-1;for(;a;)a=a.previousSibling,R++;return this._characterMapping.getColumn(new Kt.Nd(R,g),I)}}class Pt{constructor(n,a,g,I,R){if(this.domNode=n,this.input=a,this._characterMapping=g,this._isWhitespaceOnly=/^\s*$/.test(a.lineContent),this._containsForeignElements=R,this._cachedWidth=-1,this._pixelOffsetCache=null,!I||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let se=0,Ce=this._characterMapping.length;se<=Ce;se++)this._pixelOffsetCache[se]=-1}}_getReadingTarget(n){return n.domNode.firstChild}getWidth(){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(n,a,g,I){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const R=this._readPixelOffset(this.domNode,n,a,I);if(R===-1)return null;const se=this._readPixelOffset(this.domNode,n,g,I);return se===-1?null:[new Nt(R,se-R)]}return this._readVisibleRangesForRange(this.domNode,n,a,g,I)}_readVisibleRangesForRange(n,a,g,I,R){if(g===I){const se=this._readPixelOffset(n,a,g,R);return se===-1?null:[new Nt(se,0)]}else return this._readRawVisibleRangesForRange(n,g,I,R)}_readPixelOffset(n,a,g,I){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth();const R=this._getReadingTarget(n);return R.firstChild?R.firstChild.offsetWidth:0}if(this._pixelOffsetCache!==null){const R=this._pixelOffsetCache[g];if(R!==-1)return R;const se=this._actualReadPixelOffset(n,a,g,I);return this._pixelOffsetCache[g]=se,se}return this._actualReadPixelOffset(n,a,g,I)}_actualReadPixelOffset(n,a,g,I){if(this._characterMapping.length===0){const De=mt.readHorizontalRanges(this._getReadingTarget(n),0,0,0,0,I.clientRectDeltaLeft,I.clientRectScale,I.endNode);return!De||De.length===0?-1:De[0].left}if(g===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth();const R=this._characterMapping.getDomPosition(g),se=mt.readHorizontalRanges(this._getReadingTarget(n),R.partIndex,R.charIndex,R.partIndex,R.charIndex,I.clientRectDeltaLeft,I.clientRectScale,I.endNode);if(!se||se.length===0)return-1;const Ce=se[0].left;if(this.input.isBasicASCII){const De=this._characterMapping.getHorizontalOffset(g),Ie=Math.round(this.input.spaceWidth*De);if(Math.abs(Ie-Ce)<=1)return Ie}return Ce}_readRawVisibleRangesForRange(n,a,g,I){if(a===1&&g===this._characterMapping.length)return[new Nt(0,this.getWidth())];const R=this._characterMapping.getDomPosition(a),se=this._characterMapping.getDomPosition(g);return mt.readHorizontalRanges(this._getReadingTarget(n),R.partIndex,R.charIndex,se.partIndex,se.charIndex,I.clientRectDeltaLeft,I.clientRectScale,I.endNode)}getColumnOfNodeOffset(n,a,g){const I=a.textContent.length;let R=-1;for(;a;)a=a.previousSibling,R++;return this._characterMapping.getColumn(new Kt.Nd(R,g),I)}}class ti extends Pt{_readVisibleRangesForRange(n,a,g,I,R){const se=super._readVisibleRangesForRange(n,a,g,I,R);if(!se||se.length===0||g===I||g===1&&I===this._characterMapping.length)return se;if(!this.input.containsRTL){const Ce=this._readPixelOffset(n,a,I,R);if(Ce!==-1){const De=se[se.length-1];De.left<Ce&&(De.width=Ce-De.left)}}return se}}const ri=function(){return b.isWebKit?Di:Ui}();function Di(qe,n,a,g,I){return new ti(qe,n,a,g,I)}function Ui(qe,n,a,g,I){return new Pt(qe,n,a,g,I)}var Ei=m(8689),Ae=m(62685),Ii=m(76502),Ue=m(3267);class Se{constructor(n=null){this.hitTarget=n,this.type=0}}class ht{constructor(n,a,g){this.position=n,this.spanNode=a,this.injectedText=g,this.type=1}}var Oe;(function(qe){function n(a,g,I){const R=a.getPositionFromDOMInfo(g,I);return R?new ht(R,g,null):new Se(g)}qe.createFromDOMInfo=n})(Oe||(Oe={}));class ft{constructor(n,a){this.lastViewCursorsRenderData=n,this.lastTextareaPosition=a}}class Yt{static _deduceRage(n,a=null){return!a&&n?new Ae.e(n.lineNumber,n.column,n.lineNumber,n.column):a??null}static createUnknown(n,a,g){return{type:0,element:n,mouseColumn:a,position:g,range:this._deduceRage(g)}}static createTextarea(n,a){return{type:1,element:n,mouseColumn:a,position:null,range:null}}static createMargin(n,a,g,I,R,se){return{type:n,element:a,mouseColumn:g,position:I,range:R,detail:se}}static createViewZone(n,a,g,I,R){return{type:n,element:a,mouseColumn:g,position:I,range:this._deduceRage(I),detail:R}}static createContentText(n,a,g,I,R){return{type:6,element:n,mouseColumn:a,position:g,range:this._deduceRage(g,I),detail:R}}static createContentEmpty(n,a,g,I){return{type:7,element:n,mouseColumn:a,position:g,range:this._deduceRage(g),detail:I}}static createContentWidget(n,a,g){return{type:9,element:n,mouseColumn:a,position:null,range:null,detail:g}}static createScrollbar(n,a,g){return{type:11,element:n,mouseColumn:a,position:g,range:this._deduceRage(g)}}static createOverlayWidget(n,a,g){return{type:12,element:n,mouseColumn:a,position:null,range:null,detail:g}}static createOutsideEditor(n,a){return{type:13,element:null,mouseColumn:n,position:a,range:this._deduceRage(a)}}static _typeToString(n){return n===1?"TEXTAREA":n===2?"GUTTER_GLYPH_MARGIN":n===3?"GUTTER_LINE_NUMBERS":n===4?"GUTTER_LINE_DECORATIONS":n===5?"GUTTER_VIEW_ZONE":n===6?"CONTENT_TEXT":n===7?"CONTENT_EMPTY":n===8?"CONTENT_VIEW_ZONE":n===9?"CONTENT_WIDGET":n===10?"OVERVIEW_RULER":n===11?"SCROLLBAR":n===12?"OVERLAY_WIDGET":"UNKNOWN"}static toString(n){return this._typeToString(n.type)+": "+n.position+" - "+n.range+" - "+JSON.stringify(n.detail)}}class bi{static isTextArea(n){return n.length===2&&n[0]===3&&n[1]===6}static isChildOfViewLines(n){return n.length>=4&&n[0]===3&&n[3]===7}static isStrictChildOfViewLines(n){return n.length>4&&n[0]===3&&n[3]===7}static isChildOfScrollableElement(n){return n.length>=2&&n[0]===3&&n[1]===5}static isChildOfMinimap(n){return n.length>=2&&n[0]===3&&n[1]===8}static isChildOfContentWidgets(n){return n.length>=4&&n[0]===3&&n[3]===1}static isChildOfOverflowingContentWidgets(n){return n.length>=1&&n[0]===2}static isChildOfOverlayWidgets(n){return n.length>=2&&n[0]===3&&n[1]===4}}class Gi{constructor(n,a,g){this.viewModel=n.viewModel;const I=n.configuration.options;this.layoutInfo=I.get(133),this.viewDomNode=a.viewDomNode,this.lineHeight=I.get(61),this.stickyTabStops=I.get(106),this.typicalHalfwidthCharacterWidth=I.get(46).typicalHalfwidthCharacterWidth,this.lastRenderData=g,this._context=n,this._viewHelper=a}getZoneAtCoord(n){return Gi.getZoneAtCoord(this._context,n)}static getZoneAtCoord(n,a){const g=n.viewLayout.getWhitespaceAtVerticalOffset(a);if(g){const I=g.verticalOffset+g.height/2,R=n.viewModel.getLineCount();let se=null,Ce,De=null;return g.afterLineNumber!==R&&(De=new Ei.L(g.afterLineNumber+1,1)),g.afterLineNumber>0&&(se=new Ei.L(g.afterLineNumber,n.viewModel.getLineMaxColumn(g.afterLineNumber))),De===null?Ce=se:se===null?Ce=De:a<I?Ce=se:Ce=De,{viewZoneId:g.id,afterLineNumber:g.afterLineNumber,positionBefore:se,positionAfter:De,position:Ce}}return null}getFullLineRangeAtCoord(n){if(this._context.viewLayout.isAfterLines(n)){const I=this._context.viewModel.getLineCount(),R=this._context.viewModel.getLineMaxColumn(I);return{range:new Ae.e(I,R,I,R),isAfterLines:!0}}const a=this._context.viewLayout.getLineNumberAtVerticalOffset(n),g=this._context.viewModel.getLineMaxColumn(a);return{range:new Ae.e(a,1,a,g),isAfterLines:!1}}getLineNumberAtVerticalOffset(n){return this._context.viewLayout.getLineNumberAtVerticalOffset(n)}isAfterLines(n){return this._context.viewLayout.isAfterLines(n)}isInTopPadding(n){return this._context.viewLayout.isInTopPadding(n)}isInBottomPadding(n){return this._context.viewLayout.isInBottomPadding(n)}getVerticalOffsetForLineNumber(n){return this._context.viewLayout.getVerticalOffsetForLineNumber(n)}findAttribute(n,a){return Gi._findAttribute(n,a,this._viewHelper.viewDomNode)}static _findAttribute(n,a,g){for(;n&&n!==document.body;){if(n.hasAttribute&&n.hasAttribute(a))return n.getAttribute(a);if(n===g)return null;n=n.parentNode}return null}getLineWidth(n){return this._viewHelper.getLineWidth(n)}visibleRangeForPosition(n,a){return this._viewHelper.visibleRangeForPosition(n,a)}getPositionFromDOMInfo(n,a){return this._viewHelper.getPositionFromDOMInfo(n,a)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}}class Dn{constructor(n,a,g,I){this.editorPos=a,this.pos=g,this.relativePos=I,this.mouseVerticalOffset=Math.max(0,n.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=n.getCurrentScrollLeft()+this.relativePos.x-n.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<n.layoutInfo.contentLeft&&this.relativePos.x>=n.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Ot._getMouseColumn(this.mouseContentHorizontalOffset,n.typicalHalfwidthCharacterWidth))}}class st extends Dn{constructor(n,a,g,I,R){super(n,a,g,I),this._ctx=n,R?(this.target=R,this.targetPath=Re.collect(R,n.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}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}`}_getMouseColumn(n=null){return n&&n.column<this._ctx.viewModel.getLineMaxColumn(n.lineNumber)?Ii.i.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(n.lineNumber),n.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(n=null){return Yt.createUnknown(this.target,this._getMouseColumn(n),n)}fulfillTextarea(){return Yt.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(n,a,g,I){return Yt.createMargin(n,this.target,this._getMouseColumn(a),a,g,I)}fulfillViewZone(n,a,g){return Yt.createViewZone(n,this.target,this._getMouseColumn(a),a,g)}fulfillContentText(n,a,g){return Yt.createContentText(this.target,this._getMouseColumn(n),n,a,g)}fulfillContentEmpty(n,a){return Yt.createContentEmpty(this.target,this._getMouseColumn(n),n,a)}fulfillContentWidget(n){return Yt.createContentWidget(this.target,this._getMouseColumn(),n)}fulfillScrollbar(n){return Yt.createScrollbar(this.target,this._getMouseColumn(n),n)}fulfillOverlayWidget(n){return Yt.createOverlayWidget(this.target,this._getMouseColumn(),n)}withTarget(n){return new st(this._ctx,this.editorPos,this.pos,this.relativePos,n)}}const bt={isAfterLines:!0};function Zt(qe){return{isAfterLines:!1,horizontalDistanceToText:qe}}class Ot{constructor(n,a){this._context=n,this._viewHelper=a}mouseTargetIsWidget(n){const a=n.target,g=Re.collect(a,this._viewHelper.viewDomNode);return!!(bi.isChildOfContentWidgets(g)||bi.isChildOfOverflowingContentWidgets(g)||bi.isChildOfOverlayWidgets(g))}createMouseTarget(n,a,g,I,R){const se=new Gi(this._context,this._viewHelper,n),Ce=new st(se,a,g,I,R);try{return Ot._createMouseTarget(se,Ce,!1)}catch{return Ce.fulfillUnknown()}}static _createMouseTarget(n,a,g){if(a.target===null){if(g)return a.fulfillUnknown();const se=Ot._doHitTest(n,a);return se.type===1?Ot.createMouseTargetFromHitTestPosition(n,a,se.spanNode,se.position,se.injectedText):this._createMouseTarget(n,a.withTarget(se.hitTarget),!0)}const I=a;let R=null;return R=R||Ot._hitTestContentWidget(n,I),R=R||Ot._hitTestOverlayWidget(n,I),R=R||Ot._hitTestMinimap(n,I),R=R||Ot._hitTestScrollbarSlider(n,I),R=R||Ot._hitTestViewZone(n,I),R=R||Ot._hitTestMargin(n,I),R=R||Ot._hitTestViewCursor(n,I),R=R||Ot._hitTestTextArea(n,I),R=R||Ot._hitTestViewLines(n,I,g),R=R||Ot._hitTestScrollbar(n,I),R||a.fulfillUnknown()}static _hitTestContentWidget(n,a){if(bi.isChildOfContentWidgets(a.targetPath)||bi.isChildOfOverflowingContentWidgets(a.targetPath)){const g=n.findAttribute(a.target,"widgetId");return g?a.fulfillContentWidget(g):a.fulfillUnknown()}return null}static _hitTestOverlayWidget(n,a){if(bi.isChildOfOverlayWidgets(a.targetPath)){const g=n.findAttribute(a.target,"widgetId");return g?a.fulfillOverlayWidget(g):a.fulfillUnknown()}return null}static _hitTestViewCursor(n,a){if(a.target){const g=n.lastRenderData.lastViewCursorsRenderData;for(const I of g)if(a.target===I.domNode)return a.fulfillContentText(I.position,null,{mightBeForeignElement:!1,injectedText:null})}if(a.isInContentArea){const g=n.lastRenderData.lastViewCursorsRenderData,I=a.mouseContentHorizontalOffset,R=a.mouseVerticalOffset;for(const se of g){if(I<se.contentLeft||I>se.contentLeft+se.width)continue;const Ce=n.getVerticalOffsetForLineNumber(se.position.lineNumber);if(Ce<=R&&R<=Ce+se.height)return a.fulfillContentText(se.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(n,a){const g=n.getZoneAtCoord(a.mouseVerticalOffset);if(g){const I=a.isInContentArea?8:5;return a.fulfillViewZone(I,g.position,g)}return null}static _hitTestTextArea(n,a){return bi.isTextArea(a.targetPath)?n.lastRenderData.lastTextareaPosition?a.fulfillContentText(n.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):a.fulfillTextarea():null}static _hitTestMargin(n,a){if(a.isInMarginArea){const g=n.getFullLineRangeAtCoord(a.mouseVerticalOffset),I=g.range.getStartPosition();let R=Math.abs(a.relativePos.x);const se={isAfterLines:g.isAfterLines,glyphMarginLeft:n.layoutInfo.glyphMarginLeft,glyphMarginWidth:n.layoutInfo.glyphMarginWidth,lineNumbersWidth:n.layoutInfo.lineNumbersWidth,offsetX:R};return R-=n.layoutInfo.glyphMarginLeft,R<=n.layoutInfo.glyphMarginWidth?a.fulfillMargin(2,I,g.range,se):(R-=n.layoutInfo.glyphMarginWidth,R<=n.layoutInfo.lineNumbersWidth?a.fulfillMargin(3,I,g.range,se):(R-=n.layoutInfo.lineNumbersWidth,a.fulfillMargin(4,I,g.range,se)))}return null}static _hitTestViewLines(n,a,g){if(!bi.isChildOfViewLines(a.targetPath))return null;if(n.isInTopPadding(a.mouseVerticalOffset))return a.fulfillContentEmpty(new Ei.L(1,1),bt);if(n.isAfterLines(a.mouseVerticalOffset)||n.isInBottomPadding(a.mouseVerticalOffset)){const R=n.viewModel.getLineCount(),se=n.viewModel.getLineMaxColumn(R);return a.fulfillContentEmpty(new Ei.L(R,se),bt)}if(g){if(bi.isStrictChildOfViewLines(a.targetPath)){const R=n.getLineNumberAtVerticalOffset(a.mouseVerticalOffset);if(n.viewModel.getLineLength(R)===0){const Ce=n.getLineWidth(R),De=Zt(a.mouseContentHorizontalOffset-Ce);return a.fulfillContentEmpty(new Ei.L(R,1),De)}const se=n.getLineWidth(R);if(a.mouseContentHorizontalOffset>=se){const Ce=Zt(a.mouseContentHorizontalOffset-se),De=new Ei.L(R,n.viewModel.getLineMaxColumn(R));return a.fulfillContentEmpty(De,Ce)}}return a.fulfillUnknown()}const I=Ot._doHitTest(n,a);return I.type===1?Ot.createMouseTargetFromHitTestPosition(n,a,I.spanNode,I.position,I.injectedText):this._createMouseTarget(n,a.withTarget(I.hitTarget),!0)}static _hitTestMinimap(n,a){if(bi.isChildOfMinimap(a.targetPath)){const g=n.getLineNumberAtVerticalOffset(a.mouseVerticalOffset),I=n.viewModel.getLineMaxColumn(g);return a.fulfillScrollbar(new Ei.L(g,I))}return null}static _hitTestScrollbarSlider(n,a){if(bi.isChildOfScrollableElement(a.targetPath)&&a.target&&a.target.nodeType===1){const g=a.target.className;if(g&&/\b(slider|scrollbar)\b/.test(g)){const I=n.getLineNumberAtVerticalOffset(a.mouseVerticalOffset),R=n.viewModel.getLineMaxColumn(I);return a.fulfillScrollbar(new Ei.L(I,R))}}return null}static _hitTestScrollbar(n,a){if(bi.isChildOfScrollableElement(a.targetPath)){const g=n.getLineNumberAtVerticalOffset(a.mouseVerticalOffset),I=n.viewModel.getLineMaxColumn(g);return a.fulfillScrollbar(new Ei.L(g,I))}return null}getMouseColumn(n){const a=this._context.configuration.options,g=a.get(133),I=this._context.viewLayout.getCurrentScrollLeft()+n.x-g.contentLeft;return Ot._getMouseColumn(I,a.get(46).typicalHalfwidthCharacterWidth)}static _getMouseColumn(n,a){return n<0?1:Math.round(n/a)+1}static createMouseTargetFromHitTestPosition(n,a,g,I,R){const se=I.lineNumber,Ce=I.column,De=n.getLineWidth(se);if(a.mouseContentHorizontalOffset>De){const Bt=Zt(a.mouseContentHorizontalOffset-De);return a.fulfillContentEmpty(I,Bt)}const Ie=n.visibleRangeForPosition(se,Ce);if(!Ie)return a.fulfillUnknown(I);const Pe=Ie.left;if(a.mouseContentHorizontalOffset===Pe)return a.fulfillContentText(I,null,{mightBeForeignElement:!!R,injectedText:R});const Ke=[];if(Ke.push({offset:Ie.left,column:Ce}),Ce>1){const Bt=n.visibleRangeForPosition(se,Ce-1);Bt&&Ke.push({offset:Bt.left,column:Ce-1})}const Je=n.viewModel.getLineMaxColumn(se);if(Ce<Je){const Bt=n.visibleRangeForPosition(se,Ce+1);Bt&&Ke.push({offset:Bt.left,column:Ce+1})}Ke.sort((Bt,jt)=>Bt.offset-jt.offset);const nt=a.pos.toClientCoordinates(),Lt=g.getBoundingClientRect(),Tt=Lt.left<=nt.clientX&&nt.clientX<=Lt.right;for(let Bt=1;Bt<Ke.length;Bt++){const jt=Ke[Bt-1],fi=Ke[Bt];if(jt.offset<=a.mouseContentHorizontalOffset&&a.mouseContentHorizontalOffset<=fi.offset){const ei=new Ae.e(se,jt.column,se,fi.column),Ki=Math.abs(jt.offset-a.mouseContentHorizontalOffset),di=Math.abs(fi.offset-a.mouseContentHorizontalOffset),tn=Ki<di?new Ei.L(se,jt.column):new Ei.L(se,fi.column);return a.fulfillContentText(tn,ei,{mightBeForeignElement:!Tt||!!R,injectedText:R})}}return a.fulfillContentText(I,null,{mightBeForeignElement:!Tt||!!R,injectedText:R})}static _doHitTestWithCaretRangeFromPoint(n,a){const g=n.getLineNumberAtVerticalOffset(a.mouseVerticalOffset),R=n.getVerticalOffsetForLineNumber(g)+Math.floor(n.lineHeight/2);let se=a.pos.y+(R-a.mouseVerticalOffset);se<=a.editorPos.y&&(se=a.editorPos.y+1),se>=a.editorPos.y+a.editorPos.height&&(se=a.editorPos.y+a.editorPos.height-1);const Ce=new Ee.YN(a.pos.x,se),De=this._actualDoHitTestWithCaretRangeFromPoint(n,Ce.toClientCoordinates());return De.type===1?De:this._actualDoHitTestWithCaretRangeFromPoint(n,a.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(n,a){const g=q.Ay(n.viewDomNode);let I;if(g?typeof g.caretRangeFromPoint>"u"?I=lt(g,a.clientX,a.clientY):I=g.caretRangeFromPoint(a.clientX,a.clientY):I=document.caretRangeFromPoint(a.clientX,a.clientY),!I||!I.startContainer)return new Se;const R=I.startContainer;if(R.nodeType===R.TEXT_NODE){const se=R.parentNode,Ce=se?se.parentNode:null,De=Ce?Ce.parentNode:null;return(De&&De.nodeType===De.ELEMENT_NODE?De.className:null)===Ye.CLASS_NAME?Oe.createFromDOMInfo(n,se,I.startOffset):new Se(R.parentNode)}else if(R.nodeType===R.ELEMENT_NODE){const se=R.parentNode,Ce=se?se.parentNode:null;return(Ce&&Ce.nodeType===Ce.ELEMENT_NODE?Ce.className:null)===Ye.CLASS_NAME?Oe.createFromDOMInfo(n,R,R.textContent.length):new Se(R)}return new Se}static _doHitTestWithCaretPositionFromPoint(n,a){const g=document.caretPositionFromPoint(a.clientX,a.clientY);if(g.offsetNode.nodeType===g.offsetNode.TEXT_NODE){const I=g.offsetNode.parentNode,R=I?I.parentNode:null,se=R?R.parentNode:null;return(se&&se.nodeType===se.ELEMENT_NODE?se.className:null)===Ye.CLASS_NAME?Oe.createFromDOMInfo(n,g.offsetNode.parentNode,g.offset):new Se(g.offsetNode.parentNode)}if(g.offsetNode.nodeType===g.offsetNode.ELEMENT_NODE){const I=g.offsetNode.parentNode,R=I&&I.nodeType===I.ELEMENT_NODE?I.className:null,se=I?I.parentNode:null,Ce=se&&se.nodeType===se.ELEMENT_NODE?se.className:null;if(R===Ye.CLASS_NAME){const De=g.offsetNode.childNodes[Math.min(g.offset,g.offsetNode.childNodes.length-1)];if(De)return Oe.createFromDOMInfo(n,De,0)}else if(Ce===Ye.CLASS_NAME)return Oe.createFromDOMInfo(n,g.offsetNode,0)}return new Se(g.offsetNode)}static _snapToSoftTabBoundary(n,a){const g=a.getLineContent(n.lineNumber),{tabSize:I}=a.model.getOptions(),R=Ue.l.atomicPosition(g,n.column-1,I,2);return R!==-1?new Ei.L(n.lineNumber,R+1):n}static _doHitTest(n,a){let g=new Se;if(typeof document.caretRangeFromPoint=="function"?g=this._doHitTestWithCaretRangeFromPoint(n,a):document.caretPositionFromPoint&&(g=this._doHitTestWithCaretPositionFromPoint(n,a.pos.toClientCoordinates())),g.type===1){const I=n.viewModel.getInjectedTextAt(g.position),R=n.viewModel.normalizePosition(g.position,2);(I||!R.equals(g.position))&&(g=new ht(R,g.spanNode,I))}return g.type===1&&n.stickyTabStops&&(g=new ht(this._snapToSoftTabBoundary(g.position,n.viewModel),g.spanNode,g.injectedText)),g}}function lt(qe,n,a){const g=document.createRange();let I=qe.elementFromPoint(n,a);if(I!==null){for(;I&&I.firstChild&&I.firstChild.nodeType!==I.firstChild.TEXT_NODE&&I.lastChild&&I.lastChild.firstChild;)I=I.lastChild;const R=I.getBoundingClientRect(),se=window.getComputedStyle(I,null).getPropertyValue("font"),Ce=I.innerText;let De=R.left,Ie=0,Pe;if(n>R.left+R.width)Ie=Ce.length;else{const Ke=Xi.getInstance();for(let Je=0;Je<Ce.length+1;Je++){if(Pe=Ke.getCharWidth(Ce.charAt(Je),se)/2,De+=Pe,n<De){Ie=Je;break}De+=Pe}}g.setStart(I.firstChild,Ie),g.setEnd(I.firstChild,Ie)}return g}class Xi{constructor(){this._cache={},this._canvas=document.createElement("canvas")}static getInstance(){return Xi._INSTANCE||(Xi._INSTANCE=new Xi),Xi._INSTANCE}getCharWidth(n,a){const g=n+a;if(this._cache[g])return this._cache[g];const I=this._canvas.getContext("2d");I.font=a;const se=I.measureText(n).width;return this._cache[g]=se,se}}Xi._INSTANCE=null;class wi extends Fe{constructor(n,a,g){super(),this._mouseLeaveMonitor=null,this._context=n,this.viewController=a,this.viewHelper=g,this.mouseTargetFactory=new Ot(this._context,g),this._mouseDownOperation=this._register(new yt(this._context,this.viewController,this.viewHelper,(Ce,De)=>this._createMouseTarget(Ce,De),Ce=>this._getMouseColumn(Ce))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(133).height;const I=new Ee.N5(this.viewHelper.viewDomNode);this._register(I.onContextMenu(this.viewHelper.viewDomNode,Ce=>this._onContextMenu(Ce,!0))),this._register(I.onMouseMove(this.viewHelper.viewDomNode,Ce=>{this._onMouseMove(Ce),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=q.nm(document,"mousemove",De=>{this.viewHelper.viewDomNode.contains(De.target)||this._onMouseLeave(new Ee.gy(De,!1,this.viewHelper.viewDomNode))}))})),this._register(I.onMouseUp(this.viewHelper.viewDomNode,Ce=>this._onMouseUp(Ce))),this._register(I.onMouseLeave(this.viewHelper.viewDomNode,Ce=>this._onMouseLeave(Ce)));let R=0;this._register(I.onPointerDown(this.viewHelper.viewDomNode,(Ce,De)=>{R=De})),this._register(q.nm(this.viewHelper.viewDomNode,q.tw.POINTER_UP,Ce=>{this._mouseDownOperation.onPointerUp()})),this._register(I.onMouseDown(this.viewHelper.viewDomNode,Ce=>this._onMouseDown(Ce,R)));const se=Ce=>{if(this.viewController.emitMouseWheel(Ce),!this._context.configuration.options.get(70))return;const De=new Ve.q(Ce);if(E.dz?(Ce.metaKey||Ce.ctrlKey)&&!Ce.shiftKey&&!Ce.altKey:Ce.ctrlKey&&!Ce.metaKey&&!Ce.shiftKey&&!Ce.altKey){const Pe=he.C.getZoomLevel(),Ke=De.deltaY>0?1:-1;he.C.setZoomLevel(Pe+Ke),De.preventDefault(),De.stopPropagation()}};this._register(q.nm(this.viewHelper.viewDomNode,q.tw.MOUSE_WHEEL,se,{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(n){if(n.hasChanged(133)){const a=this._context.configuration.options.get(133).height;this._height!==a&&(this._height=a,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(n){return this._mouseDownOperation.onCursorStateChanged(n),!1}onFocusChanged(n){return!1}onScrollChanged(n){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(n,a){const I=new Ee.rU(n,a).toPageCoordinates(),R=(0,Ee.kG)(this.viewHelper.viewDomNode);if(I.y<R.y||I.y>R.y+R.height||I.x<R.x||I.x>R.x+R.width)return null;const se=(0,Ee.Pp)(this.viewHelper.viewDomNode,R,I);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),R,I,se,null)}_createMouseTarget(n,a){let g=n.target;if(!this.viewHelper.viewDomNode.contains(g)){const I=q.Ay(this.viewHelper.viewDomNode);I&&(g=I.elementsFromPoint(n.posx,n.posy).find(R=>this.viewHelper.viewDomNode.contains(R)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),n.editorPos,n.pos,n.relativePos,a?g:null)}_getMouseColumn(n){return this.mouseTargetFactory.getMouseColumn(n.relativePos)}_onContextMenu(n,a){this.viewController.emitContextMenu({event:n,target:this._createMouseTarget(n,a)})}_onMouseMove(n){this.mouseTargetFactory.mouseTargetIsWidget(n)||n.preventDefault(),!(this._mouseDownOperation.isActive()||n.timestamp<this.lastMouseLeaveTime)&&this.viewController.emitMouseMove({event:n,target:this._createMouseTarget(n,!0)})}_onMouseLeave(n){this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:n,target:null})}_onMouseUp(n){this.viewController.emitMouseUp({event:n,target:this._createMouseTarget(n,!0)})}_onMouseDown(n,a){const g=this._createMouseTarget(n,!0),I=g.type===6||g.type===7,R=g.type===2||g.type===3||g.type===4,se=g.type===3,Ce=this._context.configuration.options.get(100),De=g.type===8||g.type===5,Ie=g.type===9;let Pe=n.leftButton||n.middleButton;E.dz&&n.leftButton&&n.ctrlKey&&(Pe=!1);const Ke=()=>{n.preventDefault(),this.viewHelper.focusTextArea()};if(Pe&&(I||se&&Ce))Ke(),this._mouseDownOperation.start(g.type,n,a);else if(R)n.preventDefault();else if(De){const Je=g.detail;Pe&&this.viewHelper.shouldSuppressMouseDownOnViewZone(Je.viewZoneId)&&(Ke(),this._mouseDownOperation.start(g.type,n,a),n.preventDefault())}else Ie&&this.viewHelper.shouldSuppressMouseDownOnWidget(g.detail)&&(Ke(),n.preventDefault());this.viewController.emitMouseDown({event:n,target:g})}}class yt extends C.JT{constructor(n,a,g,I,R){super(),this._context=n,this._viewController=a,this._viewHelper=g,this._createMouseTarget=I,this._getMouseColumn=R,this._mouseMoveMonitor=this._register(new Ee.AL(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new $e._F),this._mouseState=new wn,this._currentSelection=new O.Y(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(n){this._lastMouseEvent=n,this._mouseState.setModifiers(n);const a=this._findMousePosition(n,!1);a&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:n,target:a}):this._dispatchMouse(a,!0))}start(n,a,g){this._lastMouseEvent=a,this._mouseState.setStartedOnLineNumbers(n===3),this._mouseState.setStartButtons(a),this._mouseState.setModifiers(a);const I=this._findMousePosition(a,!0);if(!I||!I.position)return;this._mouseState.trySetCount(a.detail,I.position),a.detail=this._mouseState.count;const R=this._context.configuration.options;if(!R.get(83)&&R.get(31)&&!R.get(18)&&!this._mouseState.altKey&&a.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&I.type===6&&I.position&&this._currentSelection.containsPosition(I.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,g,a.buttons,se=>this._onMouseDownThenMove(se),se=>{const Ce=this._findMousePosition(this._lastMouseEvent,!1);se&&se instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:Ce?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(I,a.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,g,a.buttons,se=>this._onMouseDownThenMove(se),()=>this._stop()))}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){this._isActive&&this._onScrollTimeout.setIfNotSet(()=>{if(!this._lastMouseEvent)return;const n=this._findMousePosition(this._lastMouseEvent,!1);n&&(this._mouseState.isDragAndDrop||this._dispatchMouse(n,!0))},10)}onCursorStateChanged(n){this._currentSelection=n.selections[0]}_getPositionOutsideEditor(n){const a=n.editorPos,g=this._context.viewModel,I=this._context.viewLayout,R=this._getMouseColumn(n);if(n.posy<a.y){const Ce=Math.max(I.getCurrentScrollTop()-(a.y-n.posy),0),De=Gi.getZoneAtCoord(this._context,Ce);if(De){const Pe=this._helpPositionJumpOverViewZone(De);if(Pe)return Yt.createOutsideEditor(R,Pe)}const Ie=I.getLineNumberAtVerticalOffset(Ce);return Yt.createOutsideEditor(R,new Ei.L(Ie,1))}if(n.posy>a.y+a.height){const Ce=I.getCurrentScrollTop()+n.relativePos.y,De=Gi.getZoneAtCoord(this._context,Ce);if(De){const Pe=this._helpPositionJumpOverViewZone(De);if(Pe)return Yt.createOutsideEditor(R,Pe)}const Ie=I.getLineNumberAtVerticalOffset(Ce);return Yt.createOutsideEditor(R,new Ei.L(Ie,g.getLineMaxColumn(Ie)))}const se=I.getLineNumberAtVerticalOffset(I.getCurrentScrollTop()+n.relativePos.y);return n.posx<a.x?Yt.createOutsideEditor(R,new Ei.L(se,1)):n.posx>a.x+a.width?Yt.createOutsideEditor(R,new Ei.L(se,g.getLineMaxColumn(se))):null}_findMousePosition(n,a){const g=this._getPositionOutsideEditor(n);if(g)return g;const I=this._createMouseTarget(n,a);if(!I.position)return null;if(I.type===8||I.type===5){const se=this._helpPositionJumpOverViewZone(I.detail);if(se)return Yt.createViewZone(I.type,I.element,I.mouseColumn,se,I.detail)}return I}_helpPositionJumpOverViewZone(n){const a=new Ei.L(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),g=n.positionBefore,I=n.positionAfter;return g&&I?g.isBefore(a)?g:I:null}_dispatchMouse(n,a){n.position&&this._viewController.dispatchMouse({position:n.position,mouseColumn:n.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:a,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:n.type===6&&n.detail.injectedText!==null})}}class wn{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 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}get count(){return this._lastMouseDownCount}setModifiers(n){this._altKey=n.altKey,this._ctrlKey=n.ctrlKey,this._metaKey=n.metaKey,this._shiftKey=n.shiftKey}setStartButtons(n){this._leftButton=n.leftButton,this._middleButton=n.middleButton}setStartedOnLineNumbers(n){this._startedOnLineNumbers=n}trySetCount(n,a){const g=new Date().getTime();g-this._lastSetMouseDownCountTime>wn.CLEAR_MOUSE_DOWN_COUNT_TIME&&(n=1),this._lastSetMouseDownCountTime=g,n>this._lastMouseDownCount+1&&(n=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(a)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=a,this._lastMouseDownCount=Math.min(n,this._lastMouseDownPositionEqualCount)}}wn.CLEAR_MOUSE_DOWN_COUNT_TIME=400;var on=m(39910),si=m(76179);class Ne extends wi{constructor(n,a,g){super(n,a,g),this._register(ct.o.addTarget(this.viewHelper.linesContentDomNode)),this._register(q.nm(this.viewHelper.linesContentDomNode,ct.t.Tap,R=>this.onTap(R))),this._register(q.nm(this.viewHelper.linesContentDomNode,ct.t.Change,R=>this.onChange(R))),this._register(q.nm(this.viewHelper.linesContentDomNode,ct.t.Contextmenu,R=>this._onContextMenu(new Ee.gy(R,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(q.nm(this.viewHelper.linesContentDomNode,"pointerdown",R=>{const se=R.pointerType;if(se==="mouse"){this._lastPointerType="mouse";return}else se==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const I=new Ee.tC(this.viewHelper.viewDomNode);this._register(I.onPointerMove(this.viewHelper.viewDomNode,R=>this._onMouseMove(R))),this._register(I.onPointerUp(this.viewHelper.viewDomNode,R=>this._onMouseUp(R))),this._register(I.onPointerLeave(this.viewHelper.viewDomNode,R=>this._onMouseLeave(R))),this._register(I.onPointerDown(this.viewHelper.viewDomNode,(R,se)=>this._onMouseDown(R,se)))}onTap(n){if(!n.initialTarget||!this.viewHelper.linesContentDomNode.contains(n.initialTarget))return;n.preventDefault(),this.viewHelper.focusTextArea();const a=this._createMouseTarget(new Ee.gy(n,!1,this.viewHelper.viewDomNode),!1);a.position&&this.viewController.dispatchMouse({position:a.position,mouseColumn:a.position.column,startedOnLineNumbers:!1,mouseDownCount:n.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:a.type===6&&a.detail.injectedText!==null})}onChange(n){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-n.translationX,-n.translationY)}_onMouseDown(n,a){n.browserEvent.pointerType!=="touch"&&super._onMouseDown(n,a)}}class be extends wi{constructor(n,a,g){super(n,a,g),this._register(ct.o.addTarget(this.viewHelper.linesContentDomNode)),this._register(q.nm(this.viewHelper.linesContentDomNode,ct.t.Tap,I=>this.onTap(I))),this._register(q.nm(this.viewHelper.linesContentDomNode,ct.t.Change,I=>this.onChange(I))),this._register(q.nm(this.viewHelper.linesContentDomNode,ct.t.Contextmenu,I=>this._onContextMenu(new Ee.gy(I,!1,this.viewHelper.viewDomNode),!1)))}onTap(n){n.preventDefault(),this.viewHelper.focusTextArea();const a=this._createMouseTarget(new Ee.gy(n,!1,this.viewHelper.viewDomNode),!1);if(a.position){const g=document.createEvent("CustomEvent");g.initEvent(si.pd.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(g),this.viewController.moveTo(a.position)}}onChange(n){this._context.viewModel.viewLayout.deltaScrollNow(-n.translationX,-n.translationY)}}class Xe extends C.JT{constructor(n,a,g){super(),E.gn&&on.D.pointerEvents?this.handler=this._register(new Ne(n,a,g)):window.TouchEvent?this.handler=this._register(new be(n,a,g)):this.handler=this._register(new wi(n,a,g))}getTargetAtClientPoint(n,a){return this.handler.getTargetAtClientPoint(n,a)}}var Rt=m(72171),Ht=m(34504),Qt=m(51462),ai=m(78397),mi=m(37138);class ci extends Fe{}var qt=m(1107),li=m(26194);class xi extends ci{constructor(n){super(),this._context=n,this._readConfig(),this._lastCursorModelPosition=new Ei.L(1,1),this._lastCursorViewPosition=new Ei.L(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const n=this._context.configuration.options;this._lineHeight=n.get(61);const a=n.get(62);this._renderLineNumbers=a.renderType,this._renderCustomLineNumbers=a.renderFn,this._renderFinalNewline=n.get(86);const g=n.get(133);this._lineNumbersLeft=g.lineNumbersLeft,this._lineNumbersWidth=g.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){return this._readConfig(),!0}onCursorStateChanged(n){const a=n.selections[0].getPosition();this._lastCursorViewPosition=a,this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(a);let g=!1;return this._activeLineNumber!==a.lineNumber&&(this._activeLineNumber=a.lineNumber,g=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(g=!0),g}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}_getLineRenderLineNumber(n){const a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(n,1));if(a.column!==1)return"";const g=a.lineNumber;return this._renderCustomLineNumbers?this._renderCustomLineNumbers(g):this._renderLineNumbers===3?this._lastCursorModelPosition.lineNumber===g||g%10===0?String(g):"":String(g)}prepareRender(n){if(this._renderLineNumbers===0){this._renderResult=null;return}const a=E.IJ?this._lineHeight%2===0?" lh-even":" lh-odd":"",g=n.visibleRange.startLineNumber,I=n.visibleRange.endLineNumber,R='<div class="'+xi.CLASS_NAME+a+'" style="left:'+this._lineNumbersLeft+"px;width:"+this._lineNumbersWidth+'px;">';let se=null;if(this._renderLineNumbers===2){se=new Array(I-g+1),this._lastCursorViewPosition.lineNumber>=g&&this._lastCursorViewPosition.lineNumber<=I&&(se[this._lastCursorViewPosition.lineNumber-g]=this._lastCursorModelPosition.lineNumber);{let Ie=0;for(let Pe=this._lastCursorViewPosition.lineNumber+1;Pe<=I;Pe++){const Je=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(Pe,1)).column!==1;Je||Ie++,Pe>=g&&(se[Pe-g]=Je?0:Ie)}}{let Ie=0;for(let Pe=this._lastCursorViewPosition.lineNumber-1;Pe>=g;Pe--){const Je=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(Pe,1)).column!==1;Je||Ie++,Pe<=I&&(se[Pe-g]=Je?0:Ie)}}}const Ce=this._context.viewModel.getLineCount(),De=[];for(let Ie=g;Ie<=I;Ie++){const Pe=Ie-g;if(!this._renderFinalNewline&&Ie===Ce&&this._context.viewModel.getLineLength(Ie)===0){De[Pe]="";continue}let Ke;if(se){const Je=se[Pe];this._lastCursorViewPosition.lineNumber===Ie?Ke=`<span class="relative-current-line-number">${Je}</span>`:Je?Ke=String(Je):Ke=""}else Ke=this._getLineRenderLineNumber(Ie);Ke?Ie===this._activeLineNumber?De[Pe]='<div class="active-line-number '+xi.CLASS_NAME+a+'" style="left:'+this._lineNumbersLeft+"px;width:"+this._lineNumbersWidth+'px;">'+Ke+"</div>":De[Pe]=R+Ke+"</div>":De[Pe]=""}this._renderResult=De}render(n,a){if(!this._renderResult)return"";const g=a-n;return g<0||g>=this._renderResult.length?"":this._renderResult[g]}}xi.CLASS_NAME="line-numbers",(0,li.Ic)((qe,n)=>{const a=qe.getColor(qt.hw);a&&n.addRule(`.monaco-editor .line-numbers { color: ${a}; }`);const g=qe.getColor(qt.DD);g&&n.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${g}; }`)});class Si extends je{constructor(n){super(n);const a=this._context.configuration.options,g=a.get(133);this._canUseLayerHinting=!a.get(28),this._contentLeft=g.contentLeft,this._glyphMarginLeft=g.glyphMarginLeft,this._glyphMarginWidth=g.glyphMarginWidth,this._domNode=(0,rt.X)(document.createElement("div")),this._domNode.setClassName(Si.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=(0,rt.X)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Si.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(133);return this._canUseLayerHinting=!a.get(28),this._contentLeft=g.contentLeft,this._glyphMarginLeft=g.glyphMarginLeft,this._glyphMarginWidth=g.glyphMarginWidth,!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollTopChanged}prepareRender(n){}render(n){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const a=n.scrollTop-n.bigNumbersDelta;this._domNode.setTop(-a);const g=Math.min(n.scrollHeight,1e6);this._domNode.setHeight(g),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(g)}}Si.CLASS_NAME="glyph-margin",Si.OUTER_CLASS_NAME="margin";var Pi=m(90120),Ti=m(53548),en=m(90865),Fi=m(80733);class gn{constructor(n,a,g,I,R){this._context=n,this.modelLineNumber=a,this.distanceToModelLineStart=g,this.widthOfHiddenLineTextBefore=I,this.distanceToModelLineEnd=R,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(n){const a=new Ei.L(this.modelLineNumber,this.distanceToModelLineStart+1),g=new Ei.L(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(a),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(g),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=n.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=n.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(n){return this._previousPresentation||(n?this._previousPresentation=n:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const Qi=b.isFirefox;class Oi extends je{constructor(n,a,g){super(n),this._primaryCursorPosition=new Ei.L(1,1),this._primaryCursorVisibleRange=null,this._viewController=a,this._visibleRangeProvider=g,this._scrollLeft=0,this._scrollTop=0;const I=this._context.configuration.options,R=I.get(133);this._setAccessibilityOptions(I),this._contentLeft=R.contentLeft,this._contentWidth=R.contentWidth,this._contentHeight=R.height,this._fontInfo=I.get(46),this._lineHeight=I.get(61),this._emptySelectionClipboard=I.get(33),this._copyWithSyntaxHighlighting=I.get(21),this._visibleTextArea=null,this._selections=[new O.Y(1,1,1,1)],this._modelSelections=[new O.Y(1,1,1,1)],this._lastRenderPosition=null,this.textArea=(0,rt.X)(document.createElement("textarea")),Re.write(this.textArea,6),this.textArea.setClassName(`inputarea ${Ti.S}`),this.textArea.setAttribute("wrap","off"),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(I)),this.textArea.setAttribute("tabindex",String(I.get(114))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",Z.NC("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),I.get(30)&&I.get(83)&&this.textArea.setAttribute("readonly","true"),this.textAreaCover=(0,rt.X)(document.createElement("div")),this.textAreaCover.setPosition("absolute");const se={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:Ie=>this._context.viewModel.getLineMaxColumn(Ie),getValueInRange:(Ie,Pe)=>this._context.viewModel.getValueInRange(Ie,Pe)},Ce={getDataToCopy:()=>{const Ie=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,E.ED),Pe=this._context.viewModel.model.getEOL(),Ke=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),Je=Array.isArray(Ie)?Ie:null,nt=Array.isArray(Ie)?Ie.join(Pe):Ie;let Lt,Tt=null;if(si.RA.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&nt.length<65536){const Bt=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);Bt&&(Lt=Bt.html,Tt=Bt.mode)}return{isFromEmptySelection:Ke,multicursorText:Je,text:nt,html:Lt,mode:Tt}},getScreenReaderContent:Ie=>{if(this._accessibilitySupport===1){const Pe=this._selections[0];if(E.dz&&Pe.isEmpty()){const Ke=Pe.getStartPosition();let Je=this._getWordBeforePosition(Ke);if(Je.length===0&&(Je=this._getCharacterBeforePosition(Ke)),Je.length>0)return new ai.un(Je,Je.length,Je.length,Ke,Ke)}if(b.isSafari&&!Pe.isEmpty()){const Ke="vscode-placeholder";return new ai.un(Ke,0,Ke.length,null,null)}return ai.un.EMPTY}if(b.isAndroid){const Pe=this._selections[0];if(Pe.isEmpty()){const Ke=Pe.getStartPosition(),[Je,nt]=this._getAndroidWordAtPosition(Ke);if(Je.length>0)return new ai.un(Je,nt,nt,Ke,Ke)}return ai.un.EMPTY}return ai.ee.fromEditorSelection(Ie,se,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(Ie,Pe,Ke)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(Ie,Pe,Ke)},De=this._register(new si.Tj(this.textArea.domNode));this._textAreaInput=this._register(new si.Fz(Ce,De,E.OS,b)),this._register(this._textAreaInput.onKeyDown(Ie=>{this._viewController.emitKeyDown(Ie)})),this._register(this._textAreaInput.onKeyUp(Ie=>{this._viewController.emitKeyUp(Ie)})),this._register(this._textAreaInput.onPaste(Ie=>{let Pe=!1,Ke=null,Je=null;Ie.metadata&&(Pe=this._emptySelectionClipboard&&!!Ie.metadata.isFromEmptySelection,Ke=typeof Ie.metadata.multicursorText<"u"?Ie.metadata.multicursorText:null,Je=Ie.metadata.mode),this._viewController.paste(Ie.text,Pe,Ke,Je)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(Ie=>{Ie.replacePrevCharCnt||Ie.replaceNextCharCnt||Ie.positionDelta?(ai.al&&console.log(` => compositionType: <<${Ie.text}>>, ${Ie.replacePrevCharCnt}, ${Ie.replaceNextCharCnt}, ${Ie.positionDelta}`),this._viewController.compositionType(Ie.text,Ie.replacePrevCharCnt,Ie.replaceNextCharCnt,Ie.positionDelta)):(ai.al&&console.log(` => type: <<${Ie.text}>>`),this._viewController.type(Ie.text))})),this._register(this._textAreaInput.onSelectionChangeRequest(Ie=>{this._viewController.setSelection(Ie)})),this._register(this._textAreaInput.onCompositionStart(Ie=>{const Pe=this.textArea.domNode,Ke=this._modelSelections[0],{distanceToModelLineStart:Je,widthOfHiddenTextBefore:nt}=(()=>{const Tt=Pe.value.substring(0,Math.min(Pe.selectionStart,Pe.selectionEnd)),Bt=Tt.lastIndexOf(` `),jt=Tt.substring(Bt+1),fi=jt.lastIndexOf(" "),ei=jt.length-fi-1,Ki=Ke.getStartPosition(),di=Math.min(Ki.column-1,ei),tn=Ki.column-1-di,Ji=jt.substring(0,jt.length-di),zi=Bi(Ji,this._fontInfo);return{distanceToModelLineStart:tn,widthOfHiddenTextBefore:zi}})(),{distanceToModelLineEnd:Lt}=(()=>{const Tt=Pe.value.substring(Math.max(Pe.selectionStart,Pe.selectionEnd)),Bt=Tt.indexOf(` `),jt=Bt===-1?Tt:Tt.substring(0,Bt),fi=jt.indexOf(" "),ei=fi===-1?jt.length:jt.length-fi-1,Ki=Ke.getEndPosition(),di=Math.min(this._context.viewModel.model.getLineMaxColumn(Ki.lineNumber)-Ki.column,ei);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(Ki.lineNumber)-Ki.column-di}})();this._context.viewModel.revealRange("keyboard",!0,Ae.e.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new gn(this._context,Ke.startLineNumber,Je,nt,Lt),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${Ti.S} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(Ie=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this._render(),this.textArea.setClassName(`inputarea ${Ti.S}`),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)}))}dispose(){super.dispose()}_getAndroidWordAtPosition(n){const a='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',g=this._context.viewModel.getLineContent(n.lineNumber),I=(0,Pi.u)(a);let R=!0,se=n.column,Ce=!0,De=n.column,Ie=0;for(;Ie<50&&(R||Ce);){if(R&&se<=1&&(R=!1),R){const Pe=g.charCodeAt(se-2);I.get(Pe)!==0?R=!1:se--}if(Ce&&De>g.length&&(Ce=!1),Ce){const Pe=g.charCodeAt(De-1);I.get(Pe)!==0?Ce=!1:De++}Ie++}return[g.substring(se-1,De-1),n.column-se]}_getWordBeforePosition(n){const a=this._context.viewModel.getLineContent(n.lineNumber),g=(0,Pi.u)(this._context.configuration.options.get(119));let I=n.column,R=0;for(;I>1;){const se=a.charCodeAt(I-2);if(g.get(se)!==0||R>50)return a.substring(I-1,n.column-1);R++,I--}return a.substring(0,n.column-1)}_getCharacterBeforePosition(n){if(n.column>1){const g=this._context.viewModel.getLineContent(n.lineNumber).charAt(n.column-2);if(!Ht.ZG(g.charCodeAt(0)))return g}return""}_getAriaLabel(n){return n.get(2)===1?Z.NC("accessibilityOffAriaLabel","The editor is not accessible at this time. Press {0} for options.",E.IJ?"Shift+Alt+F1":"Alt+F1"):n.get(4)}_setAccessibilityOptions(n){this._accessibilitySupport=n.get(2);const a=n.get(3);this._accessibilitySupport===2&&a===te.BH.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=a}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(133);return this._setAccessibilityOptions(a),this._contentLeft=g.contentLeft,this._contentWidth=g.contentWidth,this._contentHeight=g.height,this._fontInfo=a.get(46),this._lineHeight=a.get(61),this._emptySelectionClipboard=a.get(33),this._copyWithSyntaxHighlighting=a.get(21),this.textArea.setAttribute("aria-label",this._getAriaLabel(a)),this.textArea.setAttribute("tabindex",String(a.get(114))),(n.hasChanged(30)||n.hasChanged(83))&&(a.get(30)&&a.get(83)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")),n.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent("strategy changed"),!0}onCursorStateChanged(n){return this._selections=n.selections.slice(0),this._modelSelections=n.modelSelections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return this._scrollLeft=n.scrollLeft,this._scrollTop=n.scrollTop,!0}onZonesChanged(n){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(n){n.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",n.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),n.role&&this.textArea.setAttribute("role",n.role)}prepareRender(n){var a;this._primaryCursorPosition=new Ei.L(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=n.visibleRangeForPosition(this._primaryCursorPosition),(a=this._visibleTextArea)===null||a===void 0||a.prepareRender(n)}render(n){this._textAreaInput.writeScreenReaderContent("render"),this._render()}_render(){if(this._visibleTextArea){const g=this._visibleTextArea.visibleTextareaStart,I=this._visibleTextArea.visibleTextareaEnd,R=this._visibleTextArea.startPosition,se=this._visibleTextArea.endPosition;if(R&&se&&g&&I&&I.left>=this._scrollLeft&&g.left<=this._scrollLeft+this._contentWidth){const Ce=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,De=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let Ie=this._visibleTextArea.widthOfHiddenLineTextBefore,Pe=this._contentLeft+g.left-this._scrollLeft,Ke=I.left-g.left+1;if(Pe<this._contentLeft){const jt=this._contentLeft-Pe;Pe+=jt,Ie+=jt,Ke-=jt}Ke>this._contentWidth&&(Ke=this._contentWidth);const Je=this._context.viewModel.getViewLineData(R.lineNumber),nt=Je.tokens.findTokenIndexAtOffset(R.column-1),Lt=Je.tokens.findTokenIndexAtOffset(se.column-1),Tt=nt===Lt,Bt=this._visibleTextArea.definePresentation(Tt?Je.tokens.getPresentation(nt):null);this.textArea.domNode.scrollTop=De*this._lineHeight,this.textArea.domNode.scrollLeft=Ie,this._doRender({lastRenderPosition:null,top:Ce,left:Pe,width:Ke,height:this._lineHeight,useCover:!1,color:(en.RW.getColorMap()||[])[Bt.foreground],italic:Bt.italic,bold:Bt.bold,underline:Bt.underline,strikethrough:Bt.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const n=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(n<this._contentLeft||n>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const a=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(a<0||a>this._contentHeight){this._renderAtTopLeft();return}if(E.dz){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:a,left:n,width:Qi?0:1,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const g=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=g*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:a,left:n,width:Qi?0:1,height:Qi?0:1,useCover:!1})}_newlinecount(n){let a=0,g=-1;do{if(g=n.indexOf(` `,g+1),g===-1)break;a++}while(!0);return a}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:Qi?0:1,height:Qi?0:1,useCover:!0})}_doRender(n){this._lastRenderPosition=n.lastRenderPosition;const a=this.textArea,g=this.textAreaCover;(0,Qt.N)(a,this._fontInfo),a.setTop(n.top),a.setLeft(n.left),a.setWidth(n.width),a.setHeight(n.height),a.setColor(n.color?Fi.Il.Format.CSS.formatHex(n.color):""),a.setFontStyle(n.italic?"italic":""),n.bold&&a.setFontWeight("bold"),a.setTextDecoration(`${n.underline?" underline":""}${n.strikethrough?" line-through":""}`),g.setTop(n.useCover?n.top:0),g.setLeft(n.useCover?n.left:0),g.setWidth(n.useCover?n.width:0),g.setHeight(n.useCover?n.height:0);const I=this._context.configuration.options;I.get(52)?g.setClassName("monaco-editor-background textAreaCover "+Si.OUTER_CLASS_NAME):I.get(62).renderType!==0?g.setClassName("monaco-editor-background textAreaCover "+xi.CLASS_NAME):g.setClassName("monaco-editor-background textAreaCover")}}function Bi(qe,n){if(qe.length===0)return 0;const a=document.createElement("div");a.style.position="absolute",a.style.top="-50000px",a.style.width="50000px";const g=document.createElement("span");(0,Qt.N)(g,n),g.style.whiteSpace="pre",g.append(qe),a.appendChild(g),document.body.appendChild(a);const I=g.offsetWidth;return document.body.removeChild(a),I}var Wi=m(28575);class an{constructor(n,a,g,I){this.configuration=n,this.viewModel=a,this.userInputEvents=g,this.commandDelegate=I}paste(n,a,g,I){this.commandDelegate.paste(n,a,g,I)}type(n){this.commandDelegate.type(n)}compositionType(n,a,g,I){this.commandDelegate.compositionType(n,a,g,I)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(n){Wi.Ox.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:n})}_validateViewColumn(n){const a=this.viewModel.getLineMinColumn(n.lineNumber);return n.column<a?new Ei.L(n.lineNumber,a):n}_hasMulticursorModifier(n){switch(this.configuration.options.get(72)){case"altKey":return n.altKey;case"ctrlKey":return n.ctrlKey;case"metaKey":return n.metaKey;default:return!1}}_hasNonMulticursorModifier(n){switch(this.configuration.options.get(72)){case"altKey":return n.ctrlKey||n.metaKey;case"ctrlKey":return n.altKey||n.metaKey;case"metaKey":return n.ctrlKey||n.altKey;default:return!1}}dispatchMouse(n){const a=this.configuration.options,g=E.IJ&&a.get(98),I=a.get(18);n.middleButton&&!g?this._columnSelect(n.position,n.mouseColumn,n.inSelectionMode):n.startedOnLineNumbers?this._hasMulticursorModifier(n)?n.inSelectionMode?this._lastCursorLineSelect(n.position):this._createCursor(n.position,!0):n.inSelectionMode?this._lineSelectDrag(n.position):this._lineSelect(n.position):n.mouseDownCount>=4?this._selectAll():n.mouseDownCount===3?this._hasMulticursorModifier(n)?n.inSelectionMode?this._lastCursorLineSelectDrag(n.position):this._lastCursorLineSelect(n.position):n.inSelectionMode?this._lineSelectDrag(n.position):this._lineSelect(n.position):n.mouseDownCount===2?n.onInjectedText||(this._hasMulticursorModifier(n)?this._lastCursorWordSelect(n.position):n.inSelectionMode?this._wordSelectDrag(n.position):this._wordSelect(n.position)):this._hasMulticursorModifier(n)?this._hasNonMulticursorModifier(n)||(n.shiftKey?this._columnSelect(n.position,n.mouseColumn,!0):n.inSelectionMode?this._lastCursorMoveToSelect(n.position):this._createCursor(n.position,!1)):n.inSelectionMode?n.altKey?this._columnSelect(n.position,n.mouseColumn,!0):I?this._columnSelect(n.position,n.mouseColumn,!0):this._moveToSelect(n.position):this.moveTo(n.position)}_usualArgs(n){return n=this._validateViewColumn(n),{source:"mouse",position:this._convertViewToModelPosition(n),viewPosition:n}}moveTo(n){Wi.Ox.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_moveToSelect(n){Wi.Ox.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_columnSelect(n,a,g){n=this._validateViewColumn(n),Wi.Ox.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(n),viewPosition:n,mouseColumn:a,doColumnSelect:g})}_createCursor(n,a){n=this._validateViewColumn(n),Wi.Ox.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(n),viewPosition:n,wholeLine:a})}_lastCursorMoveToSelect(n){Wi.Ox.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_wordSelect(n){Wi.Ox.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_wordSelectDrag(n){Wi.Ox.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_lastCursorWordSelect(n){Wi.Ox.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_lineSelect(n){Wi.Ox.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_lineSelectDrag(n){Wi.Ox.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_lastCursorLineSelect(n){Wi.Ox.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_lastCursorLineSelectDrag(n){Wi.Ox.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(n))}_selectAll(){Wi.Ox.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(n){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(n)}emitKeyDown(n){this.userInputEvents.emitKeyDown(n)}emitKeyUp(n){this.userInputEvents.emitKeyUp(n)}emitContextMenu(n){this.userInputEvents.emitContextMenu(n)}emitMouseMove(n){this.userInputEvents.emitMouseMove(n)}emitMouseLeave(n){this.userInputEvents.emitMouseLeave(n)}emitMouseUp(n){this.userInputEvents.emitMouseUp(n)}emitMouseDown(n){this.userInputEvents.emitMouseDown(n)}emitMouseDrag(n){this.userInputEvents.emitMouseDrag(n)}emitMouseDrop(n){this.userInputEvents.emitMouseDrop(n)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(n){this.userInputEvents.emitMouseWheel(n)}}class Ci{constructor(n){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=n}emitKeyDown(n){var a;(a=this.onKeyDown)===null||a===void 0||a.call(this,n)}emitKeyUp(n){var a;(a=this.onKeyUp)===null||a===void 0||a.call(this,n)}emitContextMenu(n){var a;(a=this.onContextMenu)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseMove(n){var a;(a=this.onMouseMove)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseLeave(n){var a;(a=this.onMouseLeave)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseDown(n){var a;(a=this.onMouseDown)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseUp(n){var a;(a=this.onMouseUp)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseDrag(n){var a;(a=this.onMouseDrag)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseDrop(n){var a;(a=this.onMouseDrop)===null||a===void 0||a.call(this,this._convertViewToModelMouseEvent(n))}emitMouseDropCanceled(){var n;(n=this.onMouseDropCanceled)===null||n===void 0||n.call(this)}emitMouseWheel(n){var a;(a=this.onMouseWheel)===null||a===void 0||a.call(this,n)}_convertViewToModelMouseEvent(n){return n.target?{event:n.event,target:this._convertViewToModelMouseTarget(n.target)}:n}_convertViewToModelMouseTarget(n){return Ci.convertViewToModelMouseTarget(n,this._coordinatesConverter)}static convertViewToModelMouseTarget(n,a){const g=Object.assign({},n);return g.position&&(g.position=a.convertViewPositionToModelPosition(g.position)),g.range&&(g.range=a.convertViewRangeToModelRange(g.range)),g}}var Kn=m(96808),Vn;class Nn{constructor(n){this._createLine=n,this._set(1,[])}flush(){this._set(1,[])}_set(n,a){this._lines=a,this._rendLineNumberStart=n}_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(n){const a=n-this._rendLineNumberStart;if(a<0||a>=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[a]}onLinesDeleted(n,a){if(this.getCount()===0)return null;const g=this.getStartLineNumber(),I=this.getEndLineNumber();if(a<g){const De=a-n+1;return this._rendLineNumberStart-=De,null}if(n>I)return null;let R=0,se=0;for(let De=g;De<=I;De++){const Ie=De-this._rendLineNumberStart;n<=De&&De<=a&&(se===0?(R=Ie,se=1):se++)}if(n<g){let De=0;a<g?De=a-n+1:De=g-n,this._rendLineNumberStart-=De}return this._lines.splice(R,se)}onLinesChanged(n,a){const g=n+a-1;if(this.getCount()===0)return!1;const I=this.getStartLineNumber(),R=this.getEndLineNumber();let se=!1;for(let Ce=n;Ce<=g;Ce++)Ce>=I&&Ce<=R&&(this._lines[Ce-this._rendLineNumberStart].onContentChanged(),se=!0);return se}onLinesInserted(n,a){if(this.getCount()===0)return null;const g=a-n+1,I=this.getStartLineNumber(),R=this.getEndLineNumber();if(n<=I)return this._rendLineNumberStart+=g,null;if(n>R)return null;if(g+n>R)return this._lines.splice(n-this._rendLineNumberStart,R-n+1);const se=[];for(let Ke=0;Ke<g;Ke++)se[Ke]=this._createLine();const Ce=n-this._rendLineNumberStart,De=this._lines.slice(0,Ce),Ie=this._lines.slice(Ce,this._lines.length-g),Pe=this._lines.slice(this._lines.length-g,this._lines.length);return this._lines=De.concat(se).concat(Ie),Pe}onTokensChanged(n){if(this.getCount()===0)return!1;const a=this.getStartLineNumber(),g=this.getEndLineNumber();let I=!1;for(let R=0,se=n.length;R<se;R++){const Ce=n[R];if(Ce.toLineNumber<a||Ce.fromLineNumber>g)continue;const De=Math.max(a,Ce.fromLineNumber),Ie=Math.min(g,Ce.toLineNumber);for(let Pe=De;Pe<=Ie;Pe++){const Ke=Pe-this._rendLineNumberStart;this._lines[Ke].onTokensChanged(),I=!0}}return I}}class Rn{constructor(n){this._host=n,this.domNode=this._createDomNode(),this._linesCollection=new Nn(()=>this._host.createVisibleLine())}_createDomNode(){const n=(0,rt.X)(document.createElement("div"));return n.setClassName("view-layer"),n.setPosition("absolute"),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n}onConfigurationChanged(n){return!!n.hasChanged(133)}onFlushed(n){return this._linesCollection.flush(),!0}onLinesChanged(n){return this._linesCollection.onLinesChanged(n.fromLineNumber,n.count)}onLinesDeleted(n){const a=this._linesCollection.onLinesDeleted(n.fromLineNumber,n.toLineNumber);if(a)for(let g=0,I=a.length;g<I;g++){const R=a[g].getDomNode();R&&this.domNode.domNode.removeChild(R)}return!0}onLinesInserted(n){const a=this._linesCollection.onLinesInserted(n.fromLineNumber,n.toLineNumber);if(a)for(let g=0,I=a.length;g<I;g++){const R=a[g].getDomNode();R&&this.domNode.domNode.removeChild(R)}return!0}onScrollChanged(n){return n.scrollTopChanged}onTokensChanged(n){return this._linesCollection.onTokensChanged(n.ranges)}onZonesChanged(n){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(n){return this._linesCollection.getLine(n)}renderLines(n){const a=this._linesCollection._get(),g=new $i(this.domNode.domNode,this._host,n),I={rendLineNumberStart:a.rendLineNumberStart,lines:a.lines,linesLength:a.lines.length},R=g.render(I,n.startLineNumber,n.endLineNumber,n.relativeVerticalOffset);this._linesCollection._set(R.rendLineNumberStart,R.lines)}}class $i{constructor(n,a,g){this.domNode=n,this.host=a,this.viewportData=g}render(n,a,g,I){const R={rendLineNumberStart:n.rendLineNumberStart,lines:n.lines.slice(0),linesLength:n.linesLength};if(R.rendLineNumberStart+R.linesLength-1<a||g<R.rendLineNumberStart){R.rendLineNumberStart=a,R.linesLength=g-a+1,R.lines=[];for(let se=a;se<=g;se++)R.lines[se-a]=this.host.createVisibleLine();return this._finishRendering(R,!0,I),R}if(this._renderUntouchedLines(R,Math.max(a-R.rendLineNumberStart,0),Math.min(g-R.rendLineNumberStart,R.linesLength-1),I,a),R.rendLineNumberStart>a){const se=a,Ce=Math.min(g,R.rendLineNumberStart-1);se<=Ce&&(this._insertLinesBefore(R,se,Ce,I,a),R.linesLength+=Ce-se+1)}else if(R.rendLineNumberStart<a){const se=Math.min(R.linesLength,a-R.rendLineNumberStart);se>0&&(this._removeLinesBefore(R,se),R.linesLength-=se)}if(R.rendLineNumberStart=a,R.rendLineNumberStart+R.linesLength-1<g){const se=R.rendLineNumberStart+R.linesLength,Ce=g;se<=Ce&&(this._insertLinesAfter(R,se,Ce,I,a),R.linesLength+=Ce-se+1)}else if(R.rendLineNumberStart+R.linesLength-1>g){const se=Math.max(0,g-R.rendLineNumberStart+1),De=R.linesLength-1-se+1;De>0&&(this._removeLinesAfter(R,De),R.linesLength-=De)}return this._finishRendering(R,!1,I),R}_renderUntouchedLines(n,a,g,I,R){const se=n.rendLineNumberStart,Ce=n.lines;for(let De=a;De<=g;De++){const Ie=se+De;Ce[De].layoutLine(Ie,I[Ie-R])}}_insertLinesBefore(n,a,g,I,R){const se=[];let Ce=0;for(let De=a;De<=g;De++)se[Ce++]=this.host.createVisibleLine();n.lines=se.concat(n.lines)}_removeLinesBefore(n,a){for(let g=0;g<a;g++){const I=n.lines[g].getDomNode();I&&this.domNode.removeChild(I)}n.lines.splice(0,a)}_insertLinesAfter(n,a,g,I,R){const se=[];let Ce=0;for(let De=a;De<=g;De++)se[Ce++]=this.host.createVisibleLine();n.lines=n.lines.concat(se)}_removeLinesAfter(n,a){const g=n.linesLength-a;for(let I=0;I<a;I++){const R=n.lines[g+I].getDomNode();R&&this.domNode.removeChild(R)}n.lines.splice(g,a)}_finishRenderingNewLines(n,a,g,I){$i._ttPolicy&&(g=$i._ttPolicy.createHTML(g));const R=this.domNode.lastChild;a||!R?this.domNode.innerHTML=g:R.insertAdjacentHTML("afterend",g);let se=this.domNode.lastChild;for(let Ce=n.linesLength-1;Ce>=0;Ce--){const De=n.lines[Ce];I[Ce]&&(De.setDomNode(se),se=se.previousSibling)}}_finishRenderingInvalidLines(n,a,g){const I=document.createElement("div");$i._ttPolicy&&(a=$i._ttPolicy.createHTML(a)),I.innerHTML=a;for(let R=0;R<n.linesLength;R++){const se=n.lines[R];if(g[R]){const Ce=I.firstChild,De=se.getDomNode();De.parentNode.replaceChild(Ce,De),se.setDomNode(Ce)}}}_finishRendering(n,a,g){const I=$i._sb,R=n.linesLength,se=n.lines,Ce=n.rendLineNumberStart,De=[];{I.reset();let Ie=!1;for(let Pe=0;Pe<R;Pe++){const Ke=se[Pe];De[Pe]=!1,!(Ke.getDomNode()||!Ke.renderLine(Pe+Ce,g[Pe],this.viewportData,I))&&(De[Pe]=!0,Ie=!0)}Ie&&this._finishRenderingNewLines(n,a,I.build(),De)}{I.reset();let Ie=!1;const Pe=[];for(let Ke=0;Ke<R;Ke++){const Je=se[Ke];Pe[Ke]=!1,!(De[Ke]||!Je.renderLine(Ke+Ce,g[Ke],this.viewportData,I))&&(Pe[Ke]=!0,Ie=!0)}Ie&&this._finishRenderingInvalidLines(n,I.build(),Pe)}}}$i._ttPolicy=(Vn=window.trustedTypes)===null||Vn===void 0?void 0:Vn.createPolicy("editorViewLayer",{createHTML:qe=>qe}),$i._sb=(0,Kn.l$)(1e5);class Tn extends je{constructor(n){super(n),this._visibleLines=new Rn(this),this.domNode=this._visibleLines.domNode,this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let n=0,a=this._dynamicOverlays.length;n<a;n++)if(this._dynamicOverlays[n].shouldRender())return!0;return!1}dispose(){super.dispose();for(let n=0,a=this._dynamicOverlays.length;n<a;n++)this._dynamicOverlays[n].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}createVisibleLine(){return new qn(this._context.configuration,this._dynamicOverlays)}addDynamicOverlay(n){this._dynamicOverlays.push(n)}onConfigurationChanged(n){this._visibleLines.onConfigurationChanged(n);const a=this._visibleLines.getStartLineNumber(),g=this._visibleLines.getEndLineNumber();for(let I=a;I<=g;I++)this._visibleLines.getVisibleLine(I).onConfigurationChanged(n);return!0}onFlushed(n){return this._visibleLines.onFlushed(n)}onFocusChanged(n){return this._isFocused=n.isFocused,!0}onLinesChanged(n){return this._visibleLines.onLinesChanged(n)}onLinesDeleted(n){return this._visibleLines.onLinesDeleted(n)}onLinesInserted(n){return this._visibleLines.onLinesInserted(n)}onScrollChanged(n){return this._visibleLines.onScrollChanged(n)||!0}onTokensChanged(n){return this._visibleLines.onTokensChanged(n)}onZonesChanged(n){return this._visibleLines.onZonesChanged(n)}prepareRender(n){const a=this._dynamicOverlays.filter(g=>g.shouldRender());for(let g=0,I=a.length;g<I;g++){const R=a[g];R.prepareRender(n),R.onDidRender()}}render(n){this._viewOverlaysRender(n),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(n){this._visibleLines.renderLines(n.viewportData)}}class qn{constructor(n,a){this._configuration=n,this._lineHeight=this._configuration.options.get(61),this._dynamicOverlays=a,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(n){this._domNode=(0,rt.X)(n)}onContentChanged(){}onTokensChanged(){}onConfigurationChanged(n){this._lineHeight=this._configuration.options.get(61)}renderLine(n,a,g,I){let R="";for(let se=0,Ce=this._dynamicOverlays.length;se<Ce;se++){const De=this._dynamicOverlays[se];R+=De.render(g.startLineNumber,n)}return this._renderedContent===R?!1:(this._renderedContent=R,I.appendASCIIString('<div style="position:absolute;top:'),I.appendASCIIString(String(a)),I.appendASCIIString("px;width:100%;height:"),I.appendASCIIString(String(this._lineHeight)),I.appendASCIIString('px;">'),I.appendASCIIString(R),I.appendASCIIString("</div>"),!0)}layoutLine(n,a){this._domNode&&(this._domNode.setTop(a),this._domNode.setHeight(this._lineHeight))}}class Ai extends Tn{constructor(n){super(n);const g=this._context.configuration.options.get(133);this._contentWidth=g.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(n){const g=this._context.configuration.options.get(133);return this._contentWidth=g.contentWidth,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollWidthChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n),this.domNode.setWidth(Math.max(n.scrollWidth,this._contentWidth))}}class ts extends Tn{constructor(n){super(n);const a=this._context.configuration.options,g=a.get(133);this._contentLeft=g.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),(0,Qt.N)(this.domNode,a.get(46))}onConfigurationChanged(n){const a=this._context.configuration.options;(0,Qt.N)(this.domNode,a.get(46));const g=a.get(133);return this._contentLeft=g.contentLeft,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollHeightChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n);const a=Math.min(n.scrollHeight,1e6);this.domNode.setHeight(a),this.domNode.setWidth(this._contentLeft)}}class Ni{constructor(n,a){this._coordinateBrand=void 0,this.top=n,this.left=a}}class rs extends je{constructor(n,a){super(n),this._viewDomNode=a,this._widgets={},this.domNode=(0,rt.X)(document.createElement("div")),Re.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,rt.X)(document.createElement("div")),Re.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(n){const a=Object.keys(this._widgets);for(const g of a)this._widgets[g].onConfigurationChanged(n);return!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLineMappingChanged(n){const a=Object.keys(this._widgets);for(const g of a)this._widgets[g].onLineMappingChanged(n);return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return!0}onZonesChanged(n){return!0}addWidget(n){const a=new Yi(this._context,this._viewDomNode,n);this._widgets[a.id]=a,a.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(a.domNode):this.domNode.appendChild(a.domNode),this.setShouldRender()}setWidgetPosition(n,a,g,I){this._widgets[n.getId()].setPosition(a,g,I),this.setShouldRender()}removeWidget(n){const a=n.getId();if(this._widgets.hasOwnProperty(a)){const g=this._widgets[a];delete this._widgets[a];const I=g.domNode.domNode;I.parentNode.removeChild(I),I.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(n){return this._widgets.hasOwnProperty(n)?this._widgets[n].suppressMouseDown:!1}onBeforeRender(n){const a=Object.keys(this._widgets);for(const g of a)this._widgets[g].onBeforeRender(n)}prepareRender(n){const a=Object.keys(this._widgets);for(const g of a)this._widgets[g].prepareRender(n)}render(n){const a=Object.keys(this._widgets);for(const g of a)this._widgets[g].render(n)}}class Yi{constructor(n,a,g){this._context=n,this._viewDomNode=a,this._actual=g,this.domNode=(0,rt.X)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const I=this._context.configuration.options,R=I.get(133);this._fixedOverflowWidgets=I.get(38),this._contentWidth=R.contentWidth,this._contentLeft=R.contentLeft,this._lineHeight=I.get(61),this._range=null,this._viewRange=null,this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(n){const a=this._context.configuration.options;if(this._lineHeight=a.get(61),n.hasChanged(133)){const g=a.get(133);this._contentLeft=g.contentLeft,this._contentWidth=g.contentWidth,this._maxWidth=this._getMaxWidth()}}onLineMappingChanged(n){this._setPosition(this._range,this._affinity)}_setPosition(n,a){var g;if(this._range=n,this._viewRange=null,this._affinity=a,this._range){const I=this._context.viewModel.model.validateRange(this._range);(this._context.viewModel.coordinatesConverter.modelPositionIsVisible(I.getStartPosition())||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(I.getEndPosition()))&&(this._viewRange=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(I,(g=this._affinity)!==null&&g!==void 0?g:void 0))}}_getMaxWidth(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.offsetWidth||document.body.offsetWidth:this._contentWidth}setPosition(n,a,g){this._setPosition(n,g),this._preference=a,this._viewRange&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(n,a,g,I,R){const se=n.top,Ce=se,De=a.top+this._lineHeight,Ie=R.viewportHeight-De,Pe=se-I,Ke=Ce>=I,Je=De,nt=Ie>=I;let Lt=n.left,Tt=a.left;return Lt+g>R.scrollLeft+R.viewportWidth&&(Lt=R.scrollLeft+R.viewportWidth-g),Tt+g>R.scrollLeft+R.viewportWidth&&(Tt=R.scrollLeft+R.viewportWidth-g),Lt<R.scrollLeft&&(Lt=R.scrollLeft),Tt<R.scrollLeft&&(Tt=R.scrollLeft),{fitsAbove:Ke,aboveTop:Pe,aboveLeft:Lt,fitsBelow:nt,belowTop:Je,belowLeft:Tt}}_layoutHorizontalSegmentInPage(n,a,g,I){const R=Math.max(0,a.left-I),se=Math.min(a.left+a.width+I,n.width);let Ce=a.left+g-q.DI.scrollX;if(Ce+I>se){const De=Ce-(se-I);Ce-=De,g-=De}if(Ce<R){const De=Ce-R;Ce-=De,g-=De}return[g,Ce]}_layoutBoxInPage(n,a,g,I,R){const se=n.top-I,Ce=a.top+this._lineHeight,De=q.i(this._viewDomNode.domNode),Ie=De.top+se-q.DI.scrollY,Pe=De.top+Ce-q.DI.scrollY,Ke=q.D6(document.body),[Je,nt]=this._layoutHorizontalSegmentInPage(Ke,De,n.left-R.scrollLeft+this._contentLeft,g),[Lt,Tt]=this._layoutHorizontalSegmentInPage(Ke,De,a.left-R.scrollLeft+this._contentLeft,g),Bt=22,jt=22,fi=Ie>=Bt,ei=Pe+I<=Ke.height-jt;return this._fixedOverflowWidgets?{fitsAbove:fi,aboveTop:Math.max(Ie,Bt),aboveLeft:nt,fitsBelow:ei,belowTop:Pe,belowLeft:Tt}:{fitsAbove:fi,aboveTop:se,aboveLeft:Je,fitsBelow:ei,belowTop:Ce,belowLeft:Lt}}_prepareRenderWidgetAtExactPositionOverflowing(n){return new Ni(n.top,n.left+this._contentLeft)}_getTopAndBottomLeft(n){if(!this._viewRange)return[null,null];const a=n.linesVisibleRangesForRange(this._viewRange,!1);if(!a||a.length===0)return[null,null];let g=a[0],I=a[0];for(const Ke of a)Ke.lineNumber<g.lineNumber&&(g=Ke),Ke.lineNumber>I.lineNumber&&(I=Ke);let R=1073741824;for(const Ke of g.ranges)Ke.left<R&&(R=Ke.left);let se=1073741824;for(const Ke of I.ranges)Ke.left<se&&(se=Ke.left);const Ce=n.getVerticalOffsetForLineNumber(g.lineNumber)-n.scrollTop,De=new Ni(Ce,R),Ie=n.getVerticalOffsetForLineNumber(I.lineNumber)-n.scrollTop,Pe=new Ni(Ie,se);return[De,Pe]}_prepareRenderWidget(n){if(!this._preference||this._preference.length===0)return null;const[a,g]=this._getTopAndBottomLeft(n);if(!a||!g)return null;if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let R=null;if(typeof this._actual.beforeRender=="function"&&(R=hn(this._actual.beforeRender,this._actual)),R)this._cachedDomNodeOffsetWidth=R.width,this._cachedDomNodeOffsetHeight=R.height;else{const Ce=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(Ce.width),this._cachedDomNodeOffsetHeight=Math.round(Ce.height)}}let I;this.allowEditorOverflow?I=this._layoutBoxInPage(a,g,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,n):I=this._layoutBoxInViewport(a,g,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,n);for(let R=1;R<=2;R++)for(const se of this._preference)if(se===1){if(!I)return null;if(R===2||I.fitsAbove)return{coordinate:new Ni(I.aboveTop,I.aboveLeft),position:1}}else if(se===2){if(!I)return null;if(R===2||I.fitsBelow)return{coordinate:new Ni(I.belowTop,I.belowLeft),position:2}}else return this.allowEditorOverflow?{coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(a),position:0}:{coordinate:a,position:0};return null}onBeforeRender(n){!this._viewRange||!this._preference||this._viewRange.endLineNumber<n.startLineNumber||this._viewRange.startLineNumber>n.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(n){this._renderData=this._prepareRenderWidget(n)}render(n){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&hn(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+n.scrollTop-n.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"&&hn(this._actual.afterRender,this._actual,this._renderData.position)}}function hn(qe,n,...a){try{return qe.call(n,...a)}catch{return null}}var Vi=m(30401);class vn extends ci{constructor(n){super(),this._context=n;const a=this._context.configuration.options,g=a.get(133);this._lineHeight=a.get(61),this._renderLineHighlight=a.get(87),this._renderLineHighlightOnlyWhenFocus=a.get(88),this._contentLeft=g.contentLeft,this._contentWidth=g.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new O.Y(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let n=!1;const a=this._selections.map(I=>I.positionLineNumber);a.sort((I,R)=>I-R),d.fS(this._cursorLineNumbers,a)||(this._cursorLineNumbers=a,n=!0);const g=this._selections.every(I=>I.isEmpty());return this._selectionIsEmpty!==g&&(this._selectionIsEmpty=g,n=!0),n}onThemeChanged(n){return this._readFromSelections()}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(133);return this._lineHeight=a.get(61),this._renderLineHighlight=a.get(87),this._renderLineHighlightOnlyWhenFocus=a.get(88),this._contentLeft=g.contentLeft,this._contentWidth=g.contentWidth,!0}onCursorStateChanged(n){return this._selections=n.selections,this._readFromSelections()}onFlushed(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollWidthChanged||n.scrollTopChanged}onZonesChanged(n){return!0}onFocusChanged(n){return this._renderLineHighlightOnlyWhenFocus?(this._focused=n.isFocused,!0):!1}prepareRender(n){if(!this._shouldRenderThis()){this._renderData=null;return}const a=this._renderOne(n),g=n.visibleRange.startLineNumber,I=n.visibleRange.endLineNumber,R=this._cursorLineNumbers.length;let se=0;const Ce=[];for(let De=g;De<=I;De++){const Ie=De-g;for(;se<R&&this._cursorLineNumbers[se]<De;)se++;se<R&&this._cursorLineNumbers[se]===De?Ce[Ie]=a:Ce[Ie]=""}this._renderData=Ce}render(n,a){if(!this._renderData)return"";const g=a-n;return g>=this._renderData.length?"":this._renderData[g]}_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 Qn extends vn{_renderOne(n){return`<div class="${"current-line"+(this._shouldRenderOther()?" current-line-both":"")}" style="width:${Math.max(n.scrollWidth,this._contentWidth)}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class Ss extends vn{_renderOne(n){return`<div class="${"current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")}" style="width:${this._contentLeft}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,li.Ic)((qe,n)=>{const a=qe.getColor(qt.Kh);if(a&&(n.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${a}; }`),n.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${a}; border: none; }`)),!a||a.isTransparent()||qe.defines(qt.Mm)){const g=qe.getColor(qt.Mm);g&&(n.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${g}; }`),n.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${g}; }`),(0,_t.c3)(qe.type)&&(n.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),n.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}});var mn=m(81263);class Is extends ci{constructor(n){super(),this._context=n;const a=this._context.configuration.options;this._lineHeight=a.get(61),this._typicalHalfwidthCharacterWidth=a.get(46).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){const a=this._context.configuration.options;return this._lineHeight=a.get(61),this._typicalHalfwidthCharacterWidth=a.get(46).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged||n.scrollWidthChanged}onZonesChanged(n){return!0}prepareRender(n){const a=n.getDecorationsInViewport();let g=[],I=0;for(let De=0,Ie=a.length;De<Ie;De++){const Pe=a[De];Pe.options.className&&(g[I++]=Pe)}g=g.sort((De,Ie)=>{if(De.options.zIndex<Ie.options.zIndex)return-1;if(De.options.zIndex>Ie.options.zIndex)return 1;const Pe=De.options.className,Ke=Ie.options.className;return Pe<Ke?-1:Pe>Ke?1:Ae.e.compareRangesUsingStarts(De.range,Ie.range)});const R=n.visibleRange.startLineNumber,se=n.visibleRange.endLineNumber,Ce=[];for(let De=R;De<=se;De++){const Ie=De-R;Ce[Ie]=""}this._renderWholeLineDecorations(n,g,Ce),this._renderNormalDecorations(n,g,Ce),this._renderResult=Ce}_renderWholeLineDecorations(n,a,g){const I=String(this._lineHeight),R=n.visibleRange.startLineNumber,se=n.visibleRange.endLineNumber;for(let Ce=0,De=a.length;Ce<De;Ce++){const Ie=a[Ce];if(!Ie.options.isWholeLine)continue;const Pe='<div class="cdr '+Ie.options.className+'" style="left:0;width:100%;height:'+I+'px;"></div>',Ke=Math.max(Ie.range.startLineNumber,R),Je=Math.min(Ie.range.endLineNumber,se);for(let nt=Ke;nt<=Je;nt++){const Lt=nt-R;g[Lt]+=Pe}}}_renderNormalDecorations(n,a,g){const I=String(this._lineHeight),R=n.visibleRange.startLineNumber;let se=null,Ce=!1,De=null;for(let Ie=0,Pe=a.length;Ie<Pe;Ie++){const Ke=a[Ie];if(Ke.options.isWholeLine)continue;const Je=Ke.options.className,nt=!!Ke.options.showIfCollapsed;let Lt=Ke.range;if(nt&&Lt.endColumn===1&&Lt.endLineNumber!==Lt.startLineNumber&&(Lt=new Ae.e(Lt.startLineNumber,Lt.startColumn,Lt.endLineNumber-1,this._context.viewModel.getLineMaxColumn(Lt.endLineNumber-1))),se===Je&&Ce===nt&&Ae.e.areIntersectingOrTouching(De,Lt)){De=Ae.e.plusRange(De,Lt);continue}se!==null&&this._renderNormalDecoration(n,De,se,Ce,I,R,g),se=Je,Ce=nt,De=Lt}se!==null&&this._renderNormalDecoration(n,De,se,Ce,I,R,g)}_renderNormalDecoration(n,a,g,I,R,se,Ce){const De=n.linesVisibleRangesForRange(a,g==="findMatch");if(De)for(let Ie=0,Pe=De.length;Ie<Pe;Ie++){const Ke=De[Ie];if(Ke.outsideRenderedLine)continue;const Je=Ke.lineNumber-se;if(I&&Ke.ranges.length===1){const nt=Ke.ranges[0];if(nt.width<this._typicalHalfwidthCharacterWidth){const Lt=Math.round(nt.left+nt.width/2),Tt=Math.max(0,Math.round(Lt-this._typicalHalfwidthCharacterWidth/2));Ke.ranges[0]=new Et(Tt,this._typicalHalfwidthCharacterWidth)}}for(let nt=0,Lt=Ke.ranges.length;nt<Lt;nt++){const Tt=Ke.ranges[nt],Bt='<div class="cdr '+g+'" style="left:'+String(Tt.left)+"px;width:"+String(Tt.width)+"px;height:"+R+'px;"></div>';Ce[Je]+=Bt}}}render(n,a){if(!this._renderResult)return"";const g=a-n;return g<0||g>=this._renderResult.length?"":this._renderResult[g]}}var Sn=m(9756),Ln=m(40611);class fo extends je{constructor(n,a,g,I){super(n);const R=this._context.configuration.options,se=R.get(94),Ce=R.get(69),De=R.get(36),Ie=R.get(97),Pe={listenOnDomNode:g.domNode,className:"editor-scrollable "+(0,li.m6)(n.theme.type),useShadows:!1,lazyRender:!0,vertical:se.vertical,horizontal:se.horizontal,verticalHasArrows:se.verticalHasArrows,horizontalHasArrows:se.horizontalHasArrows,verticalScrollbarSize:se.verticalScrollbarSize,verticalSliderSize:se.verticalSliderSize,horizontalScrollbarSize:se.horizontalScrollbarSize,horizontalSliderSize:se.horizontalSliderSize,handleMouseWheel:se.handleMouseWheel,alwaysConsumeMouseWheel:se.alwaysConsumeMouseWheel,arrowSize:se.arrowSize,mouseWheelScrollSensitivity:Ce,fastScrollSensitivity:De,scrollPredominantAxis:Ie,scrollByPage:se.scrollByPage};this.scrollbar=this._register(new Sn.$Z(a.domNode,Pe,this._context.viewLayout.getScrollable())),Re.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=(0,rt.X)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const Ke=(Je,nt,Lt)=>{const Tt={};if(nt){const Bt=Je.scrollTop;Bt&&(Tt.scrollTop=this._context.viewLayout.getCurrentScrollTop()+Bt,Je.scrollTop=0)}if(Lt){const Bt=Je.scrollLeft;Bt&&(Tt.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+Bt,Je.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(Tt,1)};this._register(q.nm(g.domNode,"scroll",Je=>Ke(g.domNode,!0,!0))),this._register(q.nm(a.domNode,"scroll",Je=>Ke(a.domNode,!0,!1))),this._register(q.nm(I.domNode,"scroll",Je=>Ke(I.domNode,!0,!1))),this._register(q.nm(this.scrollbarDomNode.domNode,"scroll",Je=>Ke(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const n=this._context.configuration.options,a=n.get(133);this.scrollbarDomNode.setLeft(a.contentLeft),n.get(67).side==="right"?this.scrollbarDomNode.setWidth(a.contentWidth+a.minimap.minimapWidth):this.scrollbarDomNode.setWidth(a.contentWidth),this.scrollbarDomNode.setHeight(a.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(n){this.scrollbar.delegateVerticalScrollbarPointerDown(n)}onConfigurationChanged(n){if(n.hasChanged(94)||n.hasChanged(69)||n.hasChanged(36)){const a=this._context.configuration.options,g=a.get(94),I=a.get(69),R=a.get(36),se=a.get(97),Ce={vertical:g.vertical,horizontal:g.horizontal,verticalScrollbarSize:g.verticalScrollbarSize,horizontalScrollbarSize:g.horizontalScrollbarSize,scrollByPage:g.scrollByPage,handleMouseWheel:g.handleMouseWheel,mouseWheelScrollSensitivity:I,fastScrollSensitivity:R,scrollPredominantAxis:se};this.scrollbar.updateOptions(Ce)}return n.hasChanged(133)&&this._setLayout(),!0}onScrollChanged(n){return!0}onThemeChanged(n){return this.scrollbar.updateClassName("editor-scrollable "+(0,li.m6)(this._context.theme.type)),!0}prepareRender(n){}render(n){this.scrollbar.renderNow()}}(0,li.Ic)((qe,n)=>{const a=qe.getColor(Ln._wn);a&&n.addRule(` .monaco-scrollable-element > .shadow.top { box-shadow: ${a} 0 6px 6px -6px inset; } .monaco-scrollable-element > .shadow.left { box-shadow: ${a} 6px 0 6px -6px inset; } .monaco-scrollable-element > .shadow.top.left { box-shadow: ${a} 6px 6px 6px -6px inset; } `);const g=qe.getColor(Ln.etL);g&&n.addRule(` .monaco-scrollable-element > .scrollbar > .slider { background: ${g}; } `);const I=qe.getColor(Ln.ABB);I&&n.addRule(` .monaco-scrollable-element > .scrollbar > .slider:hover { background: ${I}; } `);const R=qe.getColor(Ln.ynu);R&&n.addRule(` .monaco-scrollable-element > .scrollbar > .slider.active { background: ${R}; } `)});var Ms=m(88091);class As{constructor(n,a,g){this._decorationToRenderBrand=void 0,this.startLineNumber=+n,this.endLineNumber=+a,this.className=String(g)}}class xt extends ci{_render(n,a,g){const I=[];for(let Ce=n;Ce<=a;Ce++){const De=Ce-n;I[De]=[]}if(g.length===0)return I;g.sort((Ce,De)=>Ce.className===De.className?Ce.startLineNumber===De.startLineNumber?Ce.endLineNumber-De.endLineNumber:Ce.startLineNumber-De.startLineNumber:Ce.className<De.className?-1:1);let R=null,se=0;for(let Ce=0,De=g.length;Ce<De;Ce++){const Ie=g[Ce],Pe=Ie.className;let Ke=Math.max(Ie.startLineNumber,n)-n;const Je=Math.min(Ie.endLineNumber,a)-n;R===Pe?(Ke=Math.max(se+1,Ke),se=Math.max(se,Je)):(R=Pe,se=Je);for(let nt=Ke;nt<=se;nt++)I[nt].push(R)}return I}}class ds extends xt{constructor(n){super(),this._context=n;const a=this._context.configuration.options,g=a.get(133);this._lineHeight=a.get(61),this._glyphMargin=a.get(52),this._glyphMarginLeft=g.glyphMarginLeft,this._glyphMarginWidth=g.glyphMarginWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(133);return this._lineHeight=a.get(61),this._glyphMargin=a.get(52),this._glyphMarginLeft=g.glyphMarginLeft,this._glyphMarginWidth=g.glyphMarginWidth,!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}_getDecorations(n){const a=n.getDecorationsInViewport(),g=[];let I=0;for(let R=0,se=a.length;R<se;R++){const Ce=a[R],De=Ce.options.glyphMarginClassName;De&&(g[I++]=new As(Ce.range.startLineNumber,Ce.range.endLineNumber,De))}return g}prepareRender(n){if(!this._glyphMargin){this._renderResult=null;return}const a=n.visibleRange.startLineNumber,g=n.visibleRange.endLineNumber,I=this._render(a,g,this._getDecorations(n)),R=this._lineHeight.toString(),se=this._glyphMarginLeft.toString(),Ce=this._glyphMarginWidth.toString(),De='" style="left:'+se+"px;width:"+Ce+"px;height:"+R+'px;"></div>',Ie=[];for(let Pe=a;Pe<=g;Pe++){const Ke=Pe-a,Je=I[Ke];Je.length===0?Ie[Ke]="":Ie[Ke]='<div class="cgmr codicon '+Je.join(" ")+De}this._renderResult=Ie}render(n,a){if(!this._renderResult)return"";const g=a-n;return g<0||g>=this._renderResult.length?"":this._renderResult[g]}}var ys=m(25372),is=m(4626),Us=m(45663),vs=m(75628);class Ps extends ci{constructor(n){super(),this._context=n,this._primaryPosition=null;const a=this._context.configuration.options,g=a.get(134),I=a.get(46);this._lineHeight=a.get(61),this._spaceWidth=I.spaceWidth,this._maxIndentLeft=g.wrappingColumn===-1?-1:g.wrappingColumn*I.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=a.get(13),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(134),I=a.get(46);return this._lineHeight=a.get(61),this._spaceWidth=I.spaceWidth,this._maxIndentLeft=g.wrappingColumn===-1?-1:g.wrappingColumn*I.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=a.get(13),!0}onCursorStateChanged(n){var a;const I=n.selections[0].getPosition();return!((a=this._primaryPosition)===null||a===void 0)&&a.equals(I)?!1:(this._primaryPosition=I,!0)}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}onLanguageConfigurationChanged(n){return!0}prepareRender(n){var a,g,I,R;if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const se=n.visibleRange.startLineNumber,Ce=n.visibleRange.endLineNumber,De=n.scrollWidth,Ie=this._lineHeight,Pe=this._primaryPosition,Ke=this.getGuidesByLine(se,Ce,Pe),Je=[];for(let nt=se;nt<=Ce;nt++){const Lt=nt-se,Tt=Ke[Lt];let Bt="";const jt=(g=(a=n.visibleRangeForPosition(new Ei.L(nt,1)))===null||a===void 0?void 0:a.left)!==null&&g!==void 0?g:0;for(const fi of Tt){const ei=fi.column===-1?jt+(fi.visibleColumn-1)*this._spaceWidth:n.visibleRangeForPosition(new Ei.L(nt,fi.column)).left;if(ei>De||this._maxIndentLeft>0&&ei>this._maxIndentLeft)break;const Ki=fi.horizontalLine?fi.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",di=fi.horizontalLine?((R=(I=n.visibleRangeForPosition(new Ei.L(nt,fi.horizontalLine.endColumn)))===null||I===void 0?void 0:I.left)!==null&&R!==void 0?R:ei+this._spaceWidth)-ei:this._spaceWidth;Bt+=`<div class="core-guide ${fi.className} ${Ki}" style="left:${ei}px;height:${Ie}px;width:${di}px"></div>`}Je[Lt]=Bt}this._renderResult=Je}getGuidesByLine(n,a,g){const I=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(n,a,g,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?vs.s6.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?vs.s6.EnabledForActive:vs.s6.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,R=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(n,a):null;let se=0,Ce=0,De=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&g){const Ke=this._context.viewModel.getActiveIndentGuide(g.lineNumber,n,a);se=Ke.startLineNumber,Ce=Ke.endLineNumber,De=Ke.indent}const{indentSize:Ie}=this._context.viewModel.model.getOptions(),Pe=[];for(let Ke=n;Ke<=a;Ke++){const Je=new Array;Pe.push(Je);const nt=I?I[Ke-n]:[],Lt=new d.H9(nt),Tt=R?R[Ke-n]:[];for(let Bt=1;Bt<=Tt;Bt++){const jt=(Bt-1)*Ie+1,fi=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||nt.length===0)&&se<=Ke&&Ke<=Ce&&Bt===De;Je.push(...Lt.takeWhile(Ki=>Ki.visibleColumn<jt)||[]);const ei=Lt.peek();(!ei||ei.visibleColumn!==jt||ei.horizontalLine)&&Je.push(new vs.UO(jt,-1,fi?"core-guide-indent-active":"core-guide-indent",null,-1,-1))}Je.push(...Lt.takeWhile(Bt=>!0)||[])}return Pe}render(n,a){if(!this._renderResult)return"";const g=a-n;return g<0||g>=this._renderResult.length?"":this._renderResult[g]}}function Gs(qe){if(!(qe&&qe.isTransparent()))return qe}(0,li.Ic)((qe,n)=>{const a=qe.getColor(qt.tR);a&&n.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 ${a} inset; }`);const g=qe.getColor(qt.Ym)||a;g&&n.addRule(`.monaco-editor .lines-content .core-guide-indent-active { box-shadow: 1px 0 0 0 ${g} inset; }`);const I=[{bracketColor:qt.zJ,guideColor:qt.oV,guideColorActive:qt.Qb},{bracketColor:qt.Vs,guideColor:qt.m$,guideColorActive:qt.m3},{bracketColor:qt.CE,guideColor:qt.DS,guideColorActive:qt.To},{bracketColor:qt.UP,guideColor:qt.lS,guideColorActive:qt.L7},{bracketColor:qt.r0,guideColor:qt.Jn,guideColorActive:qt.HV},{bracketColor:qt.m1,guideColor:qt.YF,guideColorActive:qt.f9}],R=new Us.W,se=I.map(Ce=>{var De,Ie;const Pe=qe.getColor(Ce.bracketColor),Ke=qe.getColor(Ce.guideColor),Je=qe.getColor(Ce.guideColorActive),nt=Gs((De=Gs(Ke))!==null&&De!==void 0?De:Pe?.transparent(.3)),Lt=Gs((Ie=Gs(Je))!==null&&Ie!==void 0?Ie:Pe);if(!(!nt||!Lt))return{guideColor:nt,guideColorActive:Lt}}).filter(is.$K);if(se.length>0){for(let Ce=0;Ce<30;Ce++){const De=se[Ce%se.length];n.addRule(`.monaco-editor .${R.getInlineClassNameOfLevel(Ce).replace(/ /g,".")} { --guide-color: ${De.guideColor}; --guide-color-active: ${De.guideColorActive}; }`)}n.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),n.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),n.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),n.addRule(`.monaco-editor .vertical.${R.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),n.addRule(`.monaco-editor .horizontal-top.${R.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),n.addRule(`.monaco-editor .horizontal-bottom.${R.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}});var Qs=m(94802);class as{constructor(){this._currentVisibleRange=new Ae.e(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(n){this._currentVisibleRange=n}}class Wn{constructor(n,a,g,I,R,se,Ce){this.minimalReveal=n,this.lineNumber=a,this.startColumn=g,this.endColumn=I,this.startScrollTop=R,this.stopScrollTop=se,this.scrollType=Ce,this.type="range",this.minLineNumber=a,this.maxLineNumber=a}}class pn{constructor(n,a,g,I,R){this.minimalReveal=n,this.selections=a,this.startScrollTop=g,this.stopScrollTop=I,this.scrollType=R,this.type="selections";let se=a[0].startLineNumber,Ce=a[0].endLineNumber;for(let De=1,Ie=a.length;De<Ie;De++){const Pe=a[De];se=Math.min(se,Pe.startLineNumber),Ce=Math.max(Ce,Pe.endLineNumber)}this.minLineNumber=se,this.maxLineNumber=Ce}}class $t extends je{constructor(n,a){super(n),this._linesContent=a,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new Rn(this),this.domNode=this._visibleLines.domNode;const g=this._context.configuration,I=this._context.configuration.options,R=I.get(46),se=I.get(134),Ce=I.get(133);this._lineHeight=I.get(61),this._typicalHalfwidthCharacterWidth=R.typicalHalfwidthCharacterWidth,this._isViewportWrapping=se.isViewportWrapping,this._revealHorizontalRightPadding=I.get(91),this._horizontalScrollbarHeight=Ce.horizontalScrollbarHeight,this._cursorSurroundingLines=I.get(25),this._cursorSurroundingLinesStyle=I.get(26),this._canUseLayerHinting=!I.get(28),this._viewLineOptions=new vi(g,this._context.theme.type),Re.write(this.domNode,7),this.domNode.setClassName(`view-lines ${Ti.S}`),(0,Qt.N)(this.domNode,R),this._maxLineWidth=0,this._asyncUpdateLineWidths=new $e.pY(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new $e.pY(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new as,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new Ye(this._viewLineOptions)}onConfigurationChanged(n){this._visibleLines.onConfigurationChanged(n),n.hasChanged(134)&&(this._maxLineWidth=0);const a=this._context.configuration.options,g=a.get(46),I=a.get(134),R=a.get(133);return this._lineHeight=a.get(61),this._typicalHalfwidthCharacterWidth=g.typicalHalfwidthCharacterWidth,this._isViewportWrapping=I.isViewportWrapping,this._revealHorizontalRightPadding=a.get(91),this._horizontalScrollbarHeight=R.horizontalScrollbarHeight,this._cursorSurroundingLines=a.get(25),this._cursorSurroundingLinesStyle=a.get(26),this._canUseLayerHinting=!a.get(28),(0,Qt.N)(this.domNode,g),this._onOptionsMaybeChanged(),n.hasChanged(133)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const n=this._context.configuration,a=new vi(n,this._context.theme.type);if(!this._viewLineOptions.equals(a)){this._viewLineOptions=a;const g=this._visibleLines.getStartLineNumber(),I=this._visibleLines.getEndLineNumber();for(let R=g;R<=I;R++)this._visibleLines.getVisibleLine(R).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(n){const a=this._visibleLines.getStartLineNumber(),g=this._visibleLines.getEndLineNumber();let I=!1;for(let R=a;R<=g;R++)I=this._visibleLines.getVisibleLine(R).onSelectionChanged()||I;return I}onDecorationsChanged(n){{const a=this._visibleLines.getStartLineNumber(),g=this._visibleLines.getEndLineNumber();for(let I=a;I<=g;I++)this._visibleLines.getVisibleLine(I).onDecorationsChanged()}return!0}onFlushed(n){const a=this._visibleLines.onFlushed(n);return this._maxLineWidth=0,a}onLinesChanged(n){return this._visibleLines.onLinesChanged(n)}onLinesDeleted(n){return this._visibleLines.onLinesDeleted(n)}onLinesInserted(n){return this._visibleLines.onLinesInserted(n)}onRevealRangeRequest(n){const a=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),n.source,n.minimalReveal,n.range,n.selections,n.verticalType);if(a===-1)return!1;let g=this._context.viewLayout.validateScrollPosition({scrollTop:a});n.revealHorizontal?n.range&&n.range.startLineNumber!==n.range.endLineNumber?g={scrollTop:g.scrollTop,scrollLeft:0}:n.range?this._horizontalRevealRequest=new Wn(n.minimalReveal,n.range.startLineNumber,n.range.startColumn,n.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),g.scrollTop,n.scrollType):n.selections&&n.selections.length>0&&(this._horizontalRevealRequest=new pn(n.minimalReveal,n.selections,this._context.viewLayout.getCurrentScrollTop(),g.scrollTop,n.scrollType)):this._horizontalRevealRequest=null;const R=Math.abs(this._context.viewLayout.getCurrentScrollTop()-g.scrollTop)<=this._lineHeight?1:n.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(g,R),!0}onScrollChanged(n){if(this._horizontalRevealRequest&&n.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&n.scrollTopChanged){const a=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),g=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(n.scrollTop<a||n.scrollTop>g)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(n.scrollWidth),this._visibleLines.onScrollChanged(n)||!0}onTokensChanged(n){return this._visibleLines.onTokensChanged(n)}onZonesChanged(n){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(n)}onThemeChanged(n){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(n,a){const g=this._getViewLineDomNode(n);if(g===null)return null;const I=this._getLineNumberFor(g);if(I===-1||I<1||I>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(I)===1)return new Ei.L(I,1);const R=this._visibleLines.getStartLineNumber(),se=this._visibleLines.getEndLineNumber();if(I<R||I>se)return null;let Ce=this._visibleLines.getVisibleLine(I).getColumnOfNodeOffset(I,n,a);const De=this._context.viewModel.getLineMinColumn(I);return Ce<De&&(Ce=De),new Ei.L(I,Ce)}_getViewLineDomNode(n){for(;n&&n.nodeType===1;){if(n.className===Ye.CLASS_NAME)return n;n=n.parentElement}return null}_getLineNumberFor(n){const a=this._visibleLines.getStartLineNumber(),g=this._visibleLines.getEndLineNumber();for(let I=a;I<=g;I++){const R=this._visibleLines.getVisibleLine(I);if(n===R.getDomNode())return I}return-1}getLineWidth(n){const a=this._visibleLines.getStartLineNumber(),g=this._visibleLines.getEndLineNumber();return n<a||n>g?-1:this._visibleLines.getVisibleLine(n).getWidth()}linesVisibleRangesForRange(n,a){if(this.shouldRender())return null;const g=n.endLineNumber,I=Ae.e.intersectRanges(n,this._lastRenderedData.getCurrentVisibleRange());if(!I)return null;const R=[];let se=0;const Ce=new ni(this.domNode.domNode,this._textRangeRestingSpot);let De=0;a&&(De=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(I.startLineNumber,1)).lineNumber);const Ie=this._visibleLines.getStartLineNumber(),Pe=this._visibleLines.getEndLineNumber();for(let Ke=I.startLineNumber;Ke<=I.endLineNumber;Ke++){if(Ke<Ie||Ke>Pe)continue;const Je=Ke===I.startLineNumber?I.startColumn:1,nt=Ke===I.endLineNumber?I.endColumn:this._context.viewModel.getLineMaxColumn(Ke),Lt=this._visibleLines.getVisibleLine(Ke).getVisibleRangesForRange(Ke,Je,nt,Ce);if(Lt){if(a&&Ke<g){const Tt=De;De=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(Ke+1,1)).lineNumber,Tt!==De&&(Lt.ranges[Lt.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth)}R[se++]=new Dt(Lt.outsideRenderedLine,Ke,Et.from(Lt.ranges))}}return se===0?null:R}_visibleRangesForLineRange(n,a,g){return this.shouldRender()||n<this._visibleLines.getStartLineNumber()||n>this._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(n).getVisibleRangesForRange(n,a,g,new ni(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(n){const a=this._visibleRangesForLineRange(n.lineNumber,n.column,n.column);return a?new ke(a.outsideRenderedLine,a.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(n){const a=this._visibleLines.getStartLineNumber(),g=this._visibleLines.getEndLineNumber();let I=1,R=!0;for(let se=a;se<=g;se++){const Ce=this._visibleLines.getVisibleLine(se);if(n&&!Ce.getWidthIsFast()){R=!1;continue}I=Math.max(I,Ce.getWidth())}return R&&a===1&&g===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(I),R}_checkMonospaceFontAssumptions(){let n=-1,a=-1;const g=this._visibleLines.getStartLineNumber(),I=this._visibleLines.getEndLineNumber();for(let R=g;R<=I;R++){const se=this._visibleLines.getVisibleLine(R);if(se.needsMonospaceFontCheck()){const Ce=se.getWidth();Ce>a&&(a=Ce,n=R)}}if(n!==-1&&!this._visibleLines.getVisibleLine(n).monospaceAssumptionsAreValid())for(let R=g;R<=I;R++)this._visibleLines.getVisibleLine(R).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(n){if(this._visibleLines.renderLines(n),this._lastRenderedData.setCurrentVisibleRange(n.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const g=this._horizontalRevealRequest;if(n.startLineNumber<=g.minLineNumber&&g.maxLineNumber<=n.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const I=this._computeScrollLeftToReveal(g);I&&(this._isViewportWrapping||this._ensureMaxLineWidth(I.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:I.scrollLeft},g.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),E.IJ&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const g=this._visibleLines.getStartLineNumber(),I=this._visibleLines.getEndLineNumber();for(let R=g;R<=I;R++)if(this._visibleLines.getVisibleLine(R).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const a=this._context.viewLayout.getCurrentScrollTop()-n.bigNumbersDelta;this._linesContent.setTop(-a),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(n){const a=Math.ceil(n);this._maxLineWidth<a&&(this._maxLineWidth=a,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(n,a,g,I,R,se){const Ce=n.top,De=n.height,Ie=Ce+De;let Pe,Ke,Je;if(R&&R.length>0){let Tt=R[0].startLineNumber,Bt=R[0].endLineNumber;for(let jt=1,fi=R.length;jt<fi;jt++){const ei=R[jt];Tt=Math.min(Tt,ei.startLineNumber),Bt=Math.max(Bt,ei.endLineNumber)}Pe=!1,Ke=this._context.viewLayout.getVerticalOffsetForLineNumber(Tt),Je=this._context.viewLayout.getVerticalOffsetForLineNumber(Bt)+this._lineHeight}else if(I)Pe=!0,Ke=this._context.viewLayout.getVerticalOffsetForLineNumber(I.startLineNumber),Je=this._context.viewLayout.getVerticalOffsetForLineNumber(I.endLineNumber)+this._lineHeight;else return-1;if((a==="mouse"||g)&&this._cursorSurroundingLinesStyle==="default")g||(Ke-=this._lineHeight);else{const Tt=Math.min(De/this._lineHeight/2,this._cursorSurroundingLines);Ke-=Tt*this._lineHeight,Je+=Math.max(0,Tt-1)*this._lineHeight}(se===0||se===4)&&(Je+=g?this._horizontalScrollbarHeight:this._lineHeight);let Lt;if(Je-Ke>De){if(!Pe)return-1;Lt=Ke}else if(se===5||se===6)if(se===6&&Ce<=Ke&&Je<=Ie)Lt=Ce;else{const Tt=Math.max(5*this._lineHeight,De*.2),Bt=Ke-Tt,jt=Je-De;Lt=Math.max(jt,Bt)}else if(se===1||se===2)if(se===2&&Ce<=Ke&&Je<=Ie)Lt=Ce;else{const Tt=(Ke+Je)/2;Lt=Math.max(0,Tt-De/2)}else Lt=this._computeMinimumScrolling(Ce,Ie,Ke,Je,se===3,se===4);return Lt}_computeScrollLeftToReveal(n){const a=this._context.viewLayout.getCurrentViewport(),g=a.left,I=g+a.width;let R=1073741824,se=0;if(n.type==="range"){const De=this._visibleRangesForLineRange(n.lineNumber,n.startColumn,n.endColumn);if(!De)return null;for(const Ie of De.ranges)R=Math.min(R,Math.round(Ie.left)),se=Math.max(se,Math.round(Ie.left+Ie.width))}else for(const De of n.selections){if(De.startLineNumber!==De.endLineNumber)return null;const Ie=this._visibleRangesForLineRange(De.startLineNumber,De.startColumn,De.endColumn);if(!Ie)return null;for(const Pe of Ie.ranges)R=Math.min(R,Math.round(Pe.left)),se=Math.max(se,Math.round(Pe.left+Pe.width))}return n.minimalReveal||(R=Math.max(0,R-$t.HORIZONTAL_EXTRA_PX),se+=this._revealHorizontalRightPadding),n.type==="selections"&&se-R>a.width?null:{scrollLeft:this._computeMinimumScrolling(g,I,R,se),maxHorizontalOffset:se}}_computeMinimumScrolling(n,a,g,I,R,se){n=n|0,a=a|0,g=g|0,I=I|0,R=!!R,se=!!se;const Ce=a-n;if(I-g<Ce){if(R)return g;if(se)return Math.max(0,I-Ce);if(g<n)return g;if(I>a)return Math.max(0,I-Ce)}else return g;return n}}$t.HORIZONTAL_EXTRA_PX=30;var Ri=m(81351);class sn extends xt{constructor(n){super(),this._context=n;const g=this._context.configuration.options.get(133);this._decorationsLeft=g.decorationsLeft,this._decorationsWidth=g.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){const g=this._context.configuration.options.get(133);return this._decorationsLeft=g.decorationsLeft,this._decorationsWidth=g.decorationsWidth,!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}_getDecorations(n){const a=n.getDecorationsInViewport(),g=[];let I=0;for(let R=0,se=a.length;R<se;R++){const Ce=a[R],De=Ce.options.linesDecorationsClassName;De&&(g[I++]=new As(Ce.range.startLineNumber,Ce.range.endLineNumber,De));const Ie=Ce.options.firstLineDecorationClassName;Ie&&(g[I++]=new As(Ce.range.startLineNumber,Ce.range.startLineNumber,Ie))}return g}prepareRender(n){const a=n.visibleRange.startLineNumber,g=n.visibleRange.endLineNumber,I=this._render(a,g,this._getDecorations(n)),R=this._decorationsLeft.toString(),se=this._decorationsWidth.toString(),Ce='" style="left:'+R+"px;width:"+se+'px;"></div>',De=[];for(let Ie=a;Ie<=g;Ie++){const Pe=Ie-a,Ke=I[Pe];let Je="";for(let nt=0,Lt=Ke.length;nt<Lt;nt++)Je+='<div class="cldr '+Ke[nt]+Ce;De[Pe]=Je}this._renderResult=De}render(n,a){return this._renderResult?this._renderResult[a-n]:""}}var Mn=m(15226);class ms extends xt{constructor(n){super(),this._context=n,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){return!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}_getDecorations(n){const a=n.getDecorationsInViewport(),g=[];let I=0;for(let R=0,se=a.length;R<se;R++){const Ce=a[R],De=Ce.options.marginClassName;De&&(g[I++]=new As(Ce.range.startLineNumber,Ce.range.endLineNumber,De))}return g}prepareRender(n){const a=n.visibleRange.startLineNumber,g=n.visibleRange.endLineNumber,I=this._render(a,g,this._getDecorations(n)),R=[];for(let se=a;se<=g;se++){const Ce=se-a,De=I[Ce];let Ie="";for(let Pe=0,Ke=De.length;Pe<Ke;Pe++)Ie+='<div class="cmdr '+De[Pe]+'" style=""></div>';R[Ce]=Ie}this._renderResult=R}render(n,a){return this._renderResult?this._renderResult[a-n]:""}}var ns=m(88257),et=m(26964);class w{constructor(n,a,g,I){this._rgba8Brand=void 0,this.r=w._clamp(n),this.g=w._clamp(a),this.b=w._clamp(g),this.a=w._clamp(I)}equals(n){return this.r===n.r&&this.g===n.g&&this.b===n.b&&this.a===n.a}static _clamp(n){return n<0?0:n>255?255:n|0}}w.Empty=new w(0,0,0,0);class F extends C.JT{constructor(){super(),this._onDidChange=new y.Q5,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(en.RW.onDidChange(n=>{n.changedColorMap&&this._updateColorMap()}))}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,C.dk)(new F)),this._INSTANCE}_updateColorMap(){const n=en.RW.getColorMap();if(!n){this._colors=[w.Empty],this._backgroundIsLight=!0;return}this._colors=[w.Empty];for(let g=1;g<n.length;g++){const I=n[g].rgba;this._colors[g]=new w(I.r,I.g,I.b,Math.round(I.a*255))}const a=n[2].getRelativeLuminance();this._backgroundIsLight=a>=.5,this._onDidChange.fire(void 0)}getColor(n){return(n<1||n>=this._colors.length)&&(n=2),this._colors[n]}backgroundIsLight(){return this._backgroundIsLight}}F._INSTANCE=null;var M=m(8704);const ee=(()=>{const qe=[];for(let n=32;n<=126;n++)qe.push(n);return qe.push(65533),qe})(),_=(qe,n)=>(qe-=32,qe<0||qe>96?n<=2?(qe+96)%96:96-1:qe);var B=m(65423);class ce{constructor(n,a){this.scale=a,this._minimapCharRendererBrand=void 0,this.charDataNormal=ce.soften(n,12/15),this.charDataLight=ce.soften(n,50/60)}static soften(n,a){const g=new Uint8ClampedArray(n.length);for(let I=0,R=n.length;I<R;I++)g[I]=(0,B.K)(n[I]*a);return g}renderChar(n,a,g,I,R,se,Ce,De,Ie,Pe,Ke){const Je=1*this.scale,nt=2*this.scale,Lt=Ke?1:nt;if(a+Je>n.width||g+Lt>n.height){console.warn("bad render request outside image data");return}const Tt=Pe?this.charDataLight:this.charDataNormal,Bt=_(I,Ie),jt=n.width*4,fi=Ce.r,ei=Ce.g,Ki=Ce.b,di=R.r-fi,tn=R.g-ei,Ji=R.b-Ki,zi=Math.max(se,De),rn=n.data;let $n=Bt*Je*nt,Zi=g*jt+a*4;for(let Hn=0;Hn<Lt;Hn++){let gs=Zi;for(let Ls=0;Ls<Je;Ls++){const zn=Tt[$n++]/255*(se/255);rn[gs++]=fi+di*zn,rn[gs++]=ei+tn*zn,rn[gs++]=Ki+Ji*zn,rn[gs++]=zi}Zi+=jt}}blockRenderChar(n,a,g,I,R,se,Ce,De){const Ie=1*this.scale,Pe=2*this.scale,Ke=De?1:Pe;if(a+Ie>n.width||g+Ke>n.height){console.warn("bad render request outside image data");return}const Je=n.width*4,nt=.5*(R/255),Lt=se.r,Tt=se.g,Bt=se.b,jt=I.r-Lt,fi=I.g-Tt,ei=I.b-Bt,Ki=Lt+jt*nt,di=Tt+fi*nt,tn=Bt+ei*nt,Ji=Math.max(R,Ce),zi=n.data;let rn=g*Je+a*4;for(let $n=0;$n<Ke;$n++){let Zi=rn;for(let Hn=0;Hn<Ie;Hn++)zi[Zi++]=Ki,zi[Zi++]=di,zi[Zi++]=tn,zi[Zi++]=Ji;rn+=Je}}}var we=m(17759);const Le={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},Me=qe=>{const n=new Uint8ClampedArray(qe.length/2);for(let a=0;a<qe.length;a+=2)n[a>>1]=Le[qe[a]]<<4|Le[qe[a+1]]&15;return n},ze={1:(0,we.I)(()=>Me("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,we.I)(()=>Me("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class Ge{static create(n,a){if(this.lastCreated&&n===this.lastCreated.scale&&a===this.lastFontFamily)return this.lastCreated;let g;return ze[n]?g=new ce(ze[n](),n):g=Ge.createFromSampleData(Ge.createSampleData(a).data,n),this.lastFontFamily=a,this.lastCreated=g,g}static createSampleData(n){const a=document.createElement("canvas"),g=a.getContext("2d");a.style.height="16px",a.height=16,a.width=96*10,a.style.width=96*10+"px",g.fillStyle="#ffffff",g.font=`bold 16px ${n}`,g.textBaseline="middle";let I=0;for(const R of ee)g.fillText(String.fromCharCode(R),I,16/2),I+=10;return g.getImageData(0,0,96*10,16)}static createFromSampleData(n,a){if(n.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const I=Ge._downsample(n,a);return new ce(I,a)}static _downsampleChar(n,a,g,I,R){const se=1*R,Ce=2*R;let De=I,Ie=0;for(let Pe=0;Pe<Ce;Pe++){const Ke=Pe/Ce*16,Je=(Pe+1)/Ce*16;for(let nt=0;nt<se;nt++){const Lt=nt/se*10,Tt=(nt+1)/se*10;let Bt=0,jt=0;for(let ei=Ke;ei<Je;ei++){const Ki=a+Math.floor(ei)*3840,di=1-(ei-Math.floor(ei));for(let tn=Lt;tn<Tt;tn++){const Ji=1-(tn-Math.floor(tn)),zi=Ki+Math.floor(tn)*4,rn=Ji*di;jt+=rn,Bt+=n[zi]*n[zi+3]/255*rn}}const fi=Bt/jt;Ie=Math.max(Ie,fi),g[De++]=(0,B.K)(fi)}}return Ie}static _downsample(n,a){const g=2*a*1*a,I=g*96,R=new Uint8ClampedArray(I);let se=0,Ce=0,De=0;for(let Ie=0;Ie<96;Ie++)De=Math.max(De,this._downsampleChar(n,Ce,R,se,a)),se+=g,Ce+=10*4;if(De>0){const Ie=255/De;for(let Pe=0;Pe<I;Pe++)R[Pe]*=Ie}return R}}var gt=m(40115);const St=140,kt=2;class Ft{constructor(n,a,g){const I=n.options,R=I.get(131),se=I.get(133),Ce=se.minimap,De=I.get(46),Ie=I.get(67);this.renderMinimap=Ce.renderMinimap,this.size=Ie.size,this.minimapHeightIsEditorHeight=Ce.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=I.get(96),this.showSlider=Ie.showSlider,this.autohide=Ie.autohide,this.pixelRatio=R,this.typicalHalfwidthCharacterWidth=De.typicalHalfwidthCharacterWidth,this.lineHeight=I.get(61),this.minimapLeft=Ce.minimapLeft,this.minimapWidth=Ce.minimapWidth,this.minimapHeight=se.height,this.canvasInnerWidth=Ce.minimapCanvasInnerWidth,this.canvasInnerHeight=Ce.minimapCanvasInnerHeight,this.canvasOuterWidth=Ce.minimapCanvasOuterWidth,this.canvasOuterHeight=Ce.minimapCanvasOuterHeight,this.isSampling=Ce.minimapIsSampling,this.editorHeight=se.height,this.fontScale=Ce.minimapScale,this.minimapLineHeight=Ce.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.charRenderer=(0,we.I)(()=>Ge.create(this.fontScale,De.fontFamily)),this.defaultBackgroundColor=g.getColor(2),this.backgroundColor=Ft._getMinimapBackground(a,this.defaultBackgroundColor),this.foregroundAlpha=Ft._getMinimapForegroundOpacity(a)}static _getMinimapBackground(n,a){const g=n.getColor(Ln.kVY);return g?new w(g.rgba.r,g.rgba.g,g.rgba.b,Math.round(255*g.rgba.a)):a}static _getMinimapForegroundOpacity(n){const a=n.getColor(Ln.Itd);return a?w._clamp(Math.round(255*a.rgba.a)):255}equals(n){return this.renderMinimap===n.renderMinimap&&this.size===n.size&&this.minimapHeightIsEditorHeight===n.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===n.scrollBeyondLastLine&&this.showSlider===n.showSlider&&this.autohide===n.autohide&&this.pixelRatio===n.pixelRatio&&this.typicalHalfwidthCharacterWidth===n.typicalHalfwidthCharacterWidth&&this.lineHeight===n.lineHeight&&this.minimapLeft===n.minimapLeft&&this.minimapWidth===n.minimapWidth&&this.minimapHeight===n.minimapHeight&&this.canvasInnerWidth===n.canvasInnerWidth&&this.canvasInnerHeight===n.canvasInnerHeight&&this.canvasOuterWidth===n.canvasOuterWidth&&this.canvasOuterHeight===n.canvasOuterHeight&&this.isSampling===n.isSampling&&this.editorHeight===n.editorHeight&&this.fontScale===n.fontScale&&this.minimapLineHeight===n.minimapLineHeight&&this.minimapCharWidth===n.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(n.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(n.backgroundColor)&&this.foregroundAlpha===n.foregroundAlpha}}class Vt{constructor(n,a,g,I,R,se,Ce,De){this.scrollTop=n,this.scrollHeight=a,this.sliderNeeded=g,this._computedSliderRatio=I,this.sliderTop=R,this.sliderHeight=se,this.startLineNumber=Ce,this.endLineNumber=De}getDesiredScrollTopFromDelta(n){return Math.round(this.scrollTop+n/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(n){return Math.round((n-this.sliderHeight/2)/this._computedSliderRatio)}static create(n,a,g,I,R,se,Ce,De,Ie,Pe,Ke){const Je=n.pixelRatio,nt=n.minimapLineHeight,Lt=Math.floor(n.canvasInnerHeight/nt),Tt=n.lineHeight;if(n.minimapHeightIsEditorHeight){const di=De*n.lineHeight+(n.scrollBeyondLastLine?R-n.lineHeight:0),tn=Math.max(1,Math.floor(R*R/di)),Ji=Math.max(0,n.minimapHeight-tn),zi=Ji/(Pe-R),rn=Ie*zi,$n=Ji>0,Zi=Math.floor(n.canvasInnerHeight/n.minimapLineHeight);return new Vt(Ie,Pe,$n,zi,rn,tn,1,Math.min(Ce,Zi))}let Bt;if(se&&g!==Ce){const di=g-a+1;Bt=Math.floor(di*nt/Je)}else{const di=R/Tt;Bt=Math.floor(di*nt/Je)}let jt;n.scrollBeyondLastLine?jt=(Ce-1)*nt/Je:jt=Math.max(0,Ce*nt/Je-Bt),jt=Math.min(n.minimapHeight-Bt,jt);const fi=jt/(Pe-R),ei=Ie*fi;let Ki=0;if(n.scrollBeyondLastLine&&(Ki=R/Tt-1),Lt>=Ce+Ki){const tn=Ce,Ji=jt>0;return new Vt(Ie,Pe,Ji,fi,ei,Bt,1,tn)}else{let di=Math.max(1,Math.floor(a-ei*Je/nt));Ke&&Ke.scrollHeight===Pe&&(Ke.scrollTop>Ie&&(di=Math.min(di,Ke.startLineNumber)),Ke.scrollTop<Ie&&(di=Math.max(di,Ke.startLineNumber)));const tn=Math.min(Ce,di+Lt-1),Ji=(Ie-I)/Tt,zi=(a-di+Ji)*nt/Je;return new Vt(Ie,Pe,!0,fi,zi,Bt,di,tn)}}}class Jt{constructor(n){this.dy=n}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}Jt.INVALID=new Jt(-1);class pi{constructor(n,a,g){this.renderedLayout=n,this._imageData=a,this._renderedLines=new Nn(()=>Jt.INVALID),this._renderedLines._set(n.startLineNumber,g)}linesEquals(n){if(!this.scrollEquals(n))return!1;const g=this._renderedLines._get().lines;for(let I=0,R=g.length;I<R;I++)if(g[I].dy===-1)return!1;return!0}scrollEquals(n){return this.renderedLayout.startLineNumber===n.startLineNumber&&this.renderedLayout.endLineNumber===n.endLineNumber}_get(){const n=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:n.rendLineNumberStart,lines:n.lines}}onLinesChanged(n,a){return this._renderedLines.onLinesChanged(n,a)}onLinesDeleted(n,a){this._renderedLines.onLinesDeleted(n,a)}onLinesInserted(n,a){this._renderedLines.onLinesInserted(n,a)}onTokensChanged(n){return this._renderedLines.onTokensChanged(n)}}class ki{constructor(n,a,g,I){this._backgroundFillData=ki._createBackgroundFillData(a,g,I),this._buffers=[n.createImageData(a,g),n.createImageData(a,g)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;const n=this._buffers[this._lastUsedBuffer];return n.data.set(this._backgroundFillData),n}static _createBackgroundFillData(n,a,g){const I=g.r,R=g.g,se=g.b,Ce=g.a,De=new Uint8ClampedArray(n*a*4);let Ie=0;for(let Pe=0;Pe<a;Pe++)for(let Ke=0;Ke<n;Ke++)De[Ie]=I,De[Ie+1]=R,De[Ie+2]=se,De[Ie+3]=Ce,Ie+=4;return De}}class qi{constructor(n,a){this.samplingRatio=n,this.minimapLines=a}static compute(n,a,g){if(n.renderMinimap===0||!n.isSampling)return[null,[]];const I=n.pixelRatio,R=n.lineHeight,se=n.scrollBeyondLastLine,{minimapLineCount:Ce}=te.gk.computeContainedMinimapLineCount({viewLineCount:a,scrollBeyondLastLine:se,height:n.editorHeight,lineHeight:R,pixelRatio:I}),De=a/Ce,Ie=De/2;if(!g||g.minimapLines.length===0){const ei=[];if(ei[0]=1,Ce>1){for(let Ki=0,di=Ce-1;Ki<di;Ki++)ei[Ki]=Math.round(Ki*De+Ie);ei[Ce-1]=a}return[new qi(De,ei),[]]}const Pe=g.minimapLines,Ke=Pe.length,Je=[];let nt=0,Lt=0,Tt=1;const Bt=10;let jt=[],fi=null;for(let ei=0;ei<Ce;ei++){const Ki=Math.max(Tt,Math.round(ei*De)),di=Math.max(Ki,Math.round((ei+1)*De));for(;nt<Ke&&Pe[nt]<Ki;){if(jt.length<Bt){const Ji=nt+1+Lt;fi&&fi.type==="deleted"&&fi._oldIndex===nt-1?fi.deleteToLineNumber++:(fi={type:"deleted",_oldIndex:nt,deleteFromLineNumber:Ji,deleteToLineNumber:Ji},jt.push(fi)),Lt--}nt++}let tn;if(nt<Ke&&Pe[nt]<=di)tn=Pe[nt],nt++;else if(ei===0?tn=1:ei+1===Ce?tn=a:tn=Math.round(ei*De+Ie),jt.length<Bt){const Ji=nt+1+Lt;fi&&fi.type==="inserted"&&fi._i===ei-1?fi.insertToLineNumber++:(fi={type:"inserted",_i:ei,insertFromLineNumber:Ji,insertToLineNumber:Ji},jt.push(fi)),Lt++}Je[ei]=tn,Tt=tn}if(jt.length<Bt)for(;nt<Ke;){const ei=nt+1+Lt;fi&&fi.type==="deleted"&&fi._oldIndex===nt-1?fi.deleteToLineNumber++:(fi={type:"deleted",_oldIndex:nt,deleteFromLineNumber:ei,deleteToLineNumber:ei},jt.push(fi)),Lt--,nt++}else jt=[{type:"flush"}];return[new qi(De,Je),jt]}modelLineToMinimapLine(n){return Math.min(this.minimapLines.length,Math.max(1,Math.round(n/this.samplingRatio)))}modelLineRangeToMinimapLineRange(n,a){let g=this.modelLineToMinimapLine(n)-1;for(;g>0&&this.minimapLines[g-1]>=n;)g--;let I=this.modelLineToMinimapLine(a)-1;for(;I+1<this.minimapLines.length&&this.minimapLines[I+1]<=a;)I++;if(g===I){const R=this.minimapLines[g];if(R<n||R>a)return null}return[g+1,I+1]}decorationLineRangeToMinimapLineRange(n,a){let g=this.modelLineToMinimapLine(n),I=this.modelLineToMinimapLine(a);return n!==a&&I===g&&(I===this.minimapLines.length?g>1&&g--:I++),[g,I]}onLinesDeleted(n){const a=n.toLineNumber-n.fromLineNumber+1;let g=this.minimapLines.length,I=0;for(let R=this.minimapLines.length-1;R>=0&&!(this.minimapLines[R]<n.fromLineNumber);R--)this.minimapLines[R]<=n.toLineNumber?(this.minimapLines[R]=Math.max(1,n.fromLineNumber-1),g=Math.min(g,R),I=Math.max(I,R)):this.minimapLines[R]-=a;return[g,I]}onLinesInserted(n){const a=n.toLineNumber-n.fromLineNumber+1;for(let g=this.minimapLines.length-1;g>=0&&!(this.minimapLines[g]<n.fromLineNumber);g--)this.minimapLines[g]+=a}}class kn extends je{constructor(n){super(n),this.tokensColorTracker=F.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new Ft(this._context.configuration,this._context.theme,this.tokensColorTracker);const[a]=qi.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=a,this._shouldCheckSampling=!1,this._actual=new Mi(n.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){const n=new Ft(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(n)?!1:(this.options=n,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(n){return this._onOptionsMaybeChanged()}onCursorStateChanged(n){return this._selections=n.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(n){return n.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(n){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(n){if(this._samplingState){const a=this._samplingState.modelLineRangeToMinimapLineRange(n.fromLineNumber,n.fromLineNumber+n.count-1);return a?this._actual.onLinesChanged(a[0],a[1]-a[0]+1):!1}else return this._actual.onLinesChanged(n.fromLineNumber,n.count)}onLinesDeleted(n){if(this._samplingState){const[a,g]=this._samplingState.onLinesDeleted(n);return a<=g&&this._actual.onLinesChanged(a+1,g-a+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(n.fromLineNumber,n.toLineNumber)}onLinesInserted(n){return this._samplingState?(this._samplingState.onLinesInserted(n),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(n.fromLineNumber,n.toLineNumber)}onScrollChanged(n){return this._actual.onScrollChanged()}onThemeChanged(n){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(n){if(this._samplingState){const a=[];for(const g of n.ranges){const I=this._samplingState.modelLineRangeToMinimapLineRange(g.fromLineNumber,g.toLineNumber);I&&a.push({fromLineNumber:I[0],toLineNumber:I[1]})}return a.length?this._actual.onTokensChanged(a):!1}else return this._actual.onTokensChanged(n.ranges)}onTokensColorsChanged(n){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(n){return this._actual.onZonesChanged()}prepareRender(n){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(n){let a=n.visibleRange.startLineNumber,g=n.visibleRange.endLineNumber;this._samplingState&&(a=this._samplingState.modelLineToMinimapLine(a),g=this._samplingState.modelLineToMinimapLine(g));const I={viewportContainsWhitespaceGaps:n.viewportData.whitespaceViewportData.length>0,scrollWidth:n.scrollWidth,scrollHeight:n.scrollHeight,viewportStartLineNumber:a,viewportEndLineNumber:g,viewportStartLineNumberVerticalOffset:n.getVerticalOffsetForLineNumber(a),scrollTop:n.scrollTop,scrollLeft:n.scrollLeft,viewportWidth:n.viewportWidth,viewportHeight:n.viewportHeight};this._actual.render(I)}_recreateLineSampling(){this._minimapSelections=null;const n=!!this._samplingState,[a,g]=qi.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=a,n&&this._samplingState)for(const I of g)switch(I.type){case"deleted":this._actual.onLinesDeleted(I.deleteFromLineNumber,I.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(I.insertFromLineNumber,I.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(n){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[n-1]):this._context.viewModel.getLineContent(n)}getLineMaxColumn(n){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[n-1]):this._context.viewModel.getLineMaxColumn(n)}getMinimapLinesRenderingData(n,a,g){if(this._samplingState){const I=[];for(let R=0,se=a-n+1;R<se;R++)g[R]?I[R]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[n+R-1]):I[R]=null;return I}return this._context.viewModel.getMinimapLinesRenderingData(n,a,g).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(const n of this._selections){const[a,g]=this._samplingState.decorationLineRangeToMinimapLineRange(n.startLineNumber,n.endLineNumber);this._minimapSelections.push(new O.Y(a,n.startColumn,g,n.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(n,a){let g;if(this._samplingState){const R=this._samplingState.minimapLines[n-1],se=this._samplingState.minimapLines[a-1];g=new Ae.e(R,1,se,this._context.viewModel.getLineMaxColumn(se))}else g=new Ae.e(n,1,a,this._context.viewModel.getLineMaxColumn(a));const I=this._context.viewModel.getDecorationsInViewport(g);if(this._samplingState){const R=[];for(const se of I){if(!se.options.minimap)continue;const Ce=se.range,De=this._samplingState.modelLineToMinimapLine(Ce.startLineNumber),Ie=this._samplingState.modelLineToMinimapLine(Ce.endLineNumber);R.push(new M.$l(new Ae.e(De,Ce.startColumn,Ie,Ce.endColumn),se.options))}return R}return I}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(n){this._samplingState&&(n=this._samplingState.minimapLines[n-1]),this._context.viewModel.revealRange("mouse",!1,new Ae.e(n,1,n,1),1,0)}setScrollTop(n){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:n},1)}}class Mi extends C.JT{constructor(n,a){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=n,this._model=a,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(Ln.ov3),this._domNode=(0,rt.X)(document.createElement("div")),Re.write(this._domNode,8),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=(0,rt.X)(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=(0,rt.X)(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,rt.X)(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=(0,rt.X)(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=(0,rt.X)(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=q.mu(this._domNode.domNode,q.tw.POINTER_DOWN,g=>{if(g.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(g.button===0&&this._lastRenderData){const Ie=q.i(this._slider.domNode),Pe=Ie.top+Ie.height/2;this._startSliderDragging(g,Pe,this._lastRenderData.renderedLayout)}return}const R=this._model.options.minimapLineHeight,se=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*g.offsetY;let De=Math.floor(se/R)+this._lastRenderData.renderedLayout.startLineNumber;De=Math.min(De,this._model.getLineCount()),this._model.revealLineNumber(De)}),this._sliderPointerMoveMonitor=new et.C,this._sliderPointerDownListener=q.mu(this._slider.domNode,q.tw.POINTER_DOWN,g=>{g.preventDefault(),g.stopPropagation(),g.button===0&&this._lastRenderData&&this._startSliderDragging(g,g.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=ct.o.addTarget(this._domNode.domNode),this._sliderTouchStartListener=q.nm(this._domNode.domNode,ct.t.Start,g=>{g.preventDefault(),g.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(g))},{passive:!1}),this._sliderTouchMoveListener=q.nm(this._domNode.domNode,ct.t.Change,g=>{g.preventDefault(),g.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(g)},{passive:!1}),this._sliderTouchEndListener=q.mu(this._domNode.domNode,ct.t.End,g=>{g.preventDefault(),g.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(n,a,g){if(!n.target||!(n.target instanceof Element))return;const I=n.pageX;this._slider.toggleClassName("active",!0);const R=(se,Ce)=>{const De=Math.abs(Ce-I);if(E.ED&&De>St){this._model.setScrollTop(g.scrollTop);return}const Ie=se-a;this._model.setScrollTop(g.getDesiredScrollTopFromDelta(Ie))};n.pageY!==a&&R(n.pageY,I),this._sliderPointerMoveMonitor.startMonitoring(n.target,n.pointerId,n.buttons,se=>R(se.pageY,se.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(n){const a=this._domNode.domNode.getBoundingClientRect().top,g=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(n.pageY-a);this._model.setScrollTop(g)}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 n=["minimap"];return this._model.options.showSlider==="always"?n.push("slider-always"):n.push("slider-mouseover"),this._model.options.autohide&&n.push("autohide"),n.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 ki(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(n,a){return this._lastRenderData?this._lastRenderData.onLinesChanged(n,a):!1}onLinesDeleted(n,a){var g;return(g=this._lastRenderData)===null||g===void 0||g.onLinesDeleted(n,a),!0}onLinesInserted(n,a){var g;return(g=this._lastRenderData)===null||g===void 0||g.onLinesInserted(n,a),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(Ln.ov3),this._renderDecorations=!0,!0}onTokensChanged(n){return this._lastRenderData?this._lastRenderData.onTokensChanged(n):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(n){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}n.scrollLeft+n.viewportWidth>=n.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const g=Vt.create(this._model.options,n.viewportStartLineNumber,n.viewportEndLineNumber,n.viewportStartLineNumberVerticalOffset,n.viewportHeight,n.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),n.scrollTop,n.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(g.sliderNeeded?"block":"none"),this._slider.setTop(g.sliderTop),this._slider.setHeight(g.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(g.sliderHeight),this.renderDecorations(g),this._lastRenderData=this.renderLines(g)}renderDecorations(n){if(this._renderDecorations){this._renderDecorations=!1;const a=this._model.getSelections();a.sort(Ae.e.compareRangesUsingStarts);const g=this._model.getMinimapDecorationsInViewport(n.startLineNumber,n.endLineNumber);g.sort((Je,nt)=>(Je.options.zIndex||0)-(nt.options.zIndex||0));const{canvasInnerWidth:I,canvasInnerHeight:R}=this._model.options,se=this._model.options.minimapLineHeight,Ce=this._model.options.minimapCharWidth,De=this._model.getOptions().tabSize,Ie=this._decorationsCanvas.domNode.getContext("2d");Ie.clearRect(0,0,I,R);const Pe=new Hi(n.startLineNumber,n.endLineNumber,!1);this._renderSelectionLineHighlights(Ie,a,Pe,n,se),this._renderDecorationsLineHighlights(Ie,g,Pe,n,se);const Ke=new Hi(n.startLineNumber,n.endLineNumber,null);this._renderSelectionsHighlights(Ie,a,Ke,n,se,De,Ce,I),this._renderDecorationsHighlights(Ie,g,Ke,n,se,De,Ce,I)}}_renderSelectionLineHighlights(n,a,g,I,R){if(!this._selectionColor||this._selectionColor.isTransparent())return;n.fillStyle=this._selectionColor.transparent(.5).toString();let se=0,Ce=0;for(const De of a){const Ie=Math.max(I.startLineNumber,De.startLineNumber),Pe=Math.min(I.endLineNumber,De.endLineNumber);if(Ie>Pe)continue;for(let nt=Ie;nt<=Pe;nt++)g.set(nt,!0);const Ke=(Ie-I.startLineNumber)*R,Je=(Pe-I.startLineNumber)*R+R;Ce>=Ke||(Ce>se&&n.fillRect(te.y0,se,n.canvas.width,Ce-se),se=Ke),Ce=Je}Ce>se&&n.fillRect(te.y0,se,n.canvas.width,Ce-se)}_renderDecorationsLineHighlights(n,a,g,I,R){const se=new Map;for(let Ce=a.length-1;Ce>=0;Ce--){const De=a[Ce],Ie=De.options.minimap;if(!Ie||Ie.position!==gt.F5.Inline)continue;const Pe=Math.max(I.startLineNumber,De.range.startLineNumber),Ke=Math.min(I.endLineNumber,De.range.endLineNumber);if(Pe>Ke)continue;const Je=Ie.getColor(this._theme.value);if(!Je||Je.isTransparent())continue;let nt=se.get(Je.toString());nt||(nt=Je.transparent(.5).toString(),se.set(Je.toString(),nt)),n.fillStyle=nt;for(let Lt=Pe;Lt<=Ke;Lt++){if(g.has(Lt))continue;g.set(Lt,!0);const Tt=(Pe-I.startLineNumber)*R;n.fillRect(te.y0,Tt,n.canvas.width,R)}}}_renderSelectionsHighlights(n,a,g,I,R,se,Ce,De){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const Ie of a){const Pe=Math.max(I.startLineNumber,Ie.startLineNumber),Ke=Math.min(I.endLineNumber,Ie.endLineNumber);if(!(Pe>Ke))for(let Je=Pe;Je<=Ke;Je++)this.renderDecorationOnLine(n,g,Ie,this._selectionColor,I,Je,R,R,se,Ce,De)}}_renderDecorationsHighlights(n,a,g,I,R,se,Ce,De){for(const Ie of a){const Pe=Ie.options.minimap;if(!Pe)continue;const Ke=Math.max(I.startLineNumber,Ie.range.startLineNumber),Je=Math.min(I.endLineNumber,Ie.range.endLineNumber);if(Ke>Je)continue;const nt=Pe.getColor(this._theme.value);if(!(!nt||nt.isTransparent()))for(let Lt=Ke;Lt<=Je;Lt++)switch(Pe.position){case gt.F5.Inline:this.renderDecorationOnLine(n,g,Ie.range,nt,I,Lt,R,R,se,Ce,De);continue;case gt.F5.Gutter:{const Tt=(Lt-I.startLineNumber)*R,Bt=2;this.renderDecoration(n,nt,Bt,Tt,kt,R);continue}}}}renderDecorationOnLine(n,a,g,I,R,se,Ce,De,Ie,Pe,Ke){const Je=(se-R.startLineNumber)*De;if(Je+Ce<0||Je>this._model.options.canvasInnerHeight)return;const{startLineNumber:nt,endLineNumber:Lt}=g,Tt=nt===se?g.startColumn:1,Bt=Lt===se?g.endColumn:this._model.getLineMaxColumn(se),jt=this.getXOffsetForPosition(a,se,Tt,Ie,Pe,Ke),fi=this.getXOffsetForPosition(a,se,Bt,Ie,Pe,Ke);this.renderDecoration(n,I,jt,Je,fi-jt,Ce)}getXOffsetForPosition(n,a,g,I,R,se){if(g===1)return te.y0;if((g-1)*R>=se)return se;let De=n.get(a);if(!De){const Ie=this._model.getLineContent(a);De=[te.y0];let Pe=te.y0;for(let Ke=1;Ke<Ie.length+1;Ke++){const Je=Ie.charCodeAt(Ke-1),nt=Je===9?I*R:Ht.K7(Je)?2*R:R,Lt=Pe+nt;if(Lt>=se){De[Ke]=se;break}De[Ke]=Lt,Pe=Lt}n.set(a,De)}return g-1<De.length?De[g-1]:se}renderDecoration(n,a,g,I,R,se){n.fillStyle=a&&a.toString()||"",n.fillRect(g,I,R,se)}renderLines(n){const a=n.startLineNumber,g=n.endLineNumber,I=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(n)){const zn=this._lastRenderData._get();return new pi(n,zn.imageData,zn.lines)}const R=this._getBuffer();if(!R)return null;const[se,Ce,De]=Mi._renderUntouchedLines(R,a,g,I,this._lastRenderData),Ie=this._model.getMinimapLinesRenderingData(a,g,De),Pe=this._model.getOptions().tabSize,Ke=this._model.options.defaultBackgroundColor,Je=this._model.options.backgroundColor,nt=this._model.options.foregroundAlpha,Lt=this._model.tokensColorTracker,Tt=Lt.backgroundIsLight(),Bt=this._model.options.renderMinimap,jt=this._model.options.charRenderer(),fi=this._model.options.fontScale,ei=this._model.options.minimapCharWidth,di=(Bt===1?2:2+1)*fi,tn=I>di?Math.floor((I-di)/2):0,Ji=Je.a/255,zi=new w(Math.round((Je.r-Ke.r)*Ji+Ke.r),Math.round((Je.g-Ke.g)*Ji+Ke.g),Math.round((Je.b-Ke.b)*Ji+Ke.b),255);let rn=0;const $n=[];for(let zn=0,ks=g-a+1;zn<ks;zn++)De[zn]&&Mi._renderLine(R,zi,Je.a,Tt,Bt,ei,Lt,nt,jt,rn,tn,Pe,Ie[zn],fi,I),$n[zn]=new Jt(rn),rn+=I;const Zi=se===-1?0:se,gs=(Ce===-1?R.height:Ce)-Zi;return this._canvas.domNode.getContext("2d").putImageData(R,0,0,0,Zi,R.width,gs),new pi(n,R,$n)}static _renderUntouchedLines(n,a,g,I,R){const se=[];if(!R){for(let zi=0,rn=g-a+1;zi<rn;zi++)se[zi]=!0;return[-1,-1,se]}const Ce=R._get(),De=Ce.imageData.data,Ie=Ce.rendLineNumberStart,Pe=Ce.lines,Ke=Pe.length,Je=n.width,nt=n.data,Lt=(g-a+1)*I*Je*4;let Tt=-1,Bt=-1,jt=-1,fi=-1,ei=-1,Ki=-1,di=0;for(let zi=a;zi<=g;zi++){const rn=zi-a,$n=zi-Ie,Zi=$n>=0&&$n<Ke?Pe[$n].dy:-1;if(Zi===-1){se[rn]=!0,di+=I;continue}const Hn=Zi*Je*4,gs=(Zi+I)*Je*4,Ls=di*Je*4,zn=(di+I)*Je*4;fi===Hn&&Ki===Ls?(fi=gs,Ki=zn):(jt!==-1&&(nt.set(De.subarray(jt,fi),ei),Tt===-1&&jt===0&&jt===ei&&(Tt=fi),Bt===-1&&fi===Lt&&jt===ei&&(Bt=jt)),jt=Hn,fi=gs,ei=Ls,Ki=zn),se[rn]=!1,di+=I}jt!==-1&&(nt.set(De.subarray(jt,fi),ei),Tt===-1&&jt===0&&jt===ei&&(Tt=fi),Bt===-1&&fi===Lt&&jt===ei&&(Bt=jt));const tn=Tt===-1?-1:Tt/(Je*4),Ji=Bt===-1?-1:Bt/(Je*4);return[tn,Ji,se]}static _renderLine(n,a,g,I,R,se,Ce,De,Ie,Pe,Ke,Je,nt,Lt,Tt){const Bt=nt.content,jt=nt.tokens,fi=n.width-se,ei=Tt===1;let Ki=te.y0,di=0,tn=0;for(let Ji=0,zi=jt.getCount();Ji<zi;Ji++){const rn=jt.getEndOffset(Ji),$n=jt.getForeground(Ji),Zi=Ce.getColor($n);for(;di<rn;di++){if(Ki>fi)return;const Hn=Bt.charCodeAt(di);if(Hn===9){const gs=Je-(di+tn)%Je;tn+=gs-1,Ki+=gs*se}else if(Hn===32)Ki+=se;else{const gs=Ht.K7(Hn)?2:1;for(let Ls=0;Ls<gs;Ls++)if(R===2?Ie.blockRenderChar(n,Ki,Pe+Ke,Zi,De,a,g,ei):Ie.renderChar(n,Ki,Pe+Ke,Hn,Zi,De,a,g,Lt,I,ei),Ki+=se,Ki>fi)return}}}}}class Hi{constructor(n,a,g){this._startLineNumber=n,this._endLineNumber=a,this._defaultValue=g,this._values=[];for(let I=0,R=this._endLineNumber-this._startLineNumber+1;I<R;I++)this._values[I]=g}has(n){return this.get(n)!==this._defaultValue}set(n,a){n<this._startLineNumber||n>this._endLineNumber||(this._values[n-this._startLineNumber]=a)}get(n){return n<this._startLineNumber||n>this._endLineNumber?this._defaultValue:this._values[n-this._startLineNumber]}}(0,li.Ic)((qe,n)=>{const a=qe.getColor(Ln.CA6);a&&n.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${a}; }`);const g=qe.getColor(Ln.Xy4);g&&n.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${g}; }`);const I=qe.getColor(Ln.brw);I&&n.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${I}; }`);const R=qe.getColor(Ln._wn);R&&n.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${R} -6px 0 6px -6px inset; }`)});var Os=m(35744);class wo extends je{constructor(n){super(n);const g=this._context.configuration.options.get(133);this._widgets={},this._verticalScrollbarWidth=g.verticalScrollbarWidth,this._minimapWidth=g.minimap.minimapWidth,this._horizontalScrollbarHeight=g.horizontalScrollbarHeight,this._editorHeight=g.height,this._editorWidth=g.width,this._domNode=(0,rt.X)(document.createElement("div")),Re.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(n){const g=this._context.configuration.options.get(133);return this._verticalScrollbarWidth=g.verticalScrollbarWidth,this._minimapWidth=g.minimap.minimapWidth,this._horizontalScrollbarHeight=g.horizontalScrollbarHeight,this._editorHeight=g.height,this._editorWidth=g.width,!0}addWidget(n){const a=(0,rt.X)(n.getDomNode());this._widgets[n.getId()]={widget:n,preference:null,domNode:a},a.setPosition("absolute"),a.setAttribute("widgetId",n.getId()),this._domNode.appendChild(a),this.setShouldRender()}setWidgetPosition(n,a){const g=this._widgets[n.getId()];return g.preference===a?!1:(g.preference=a,this.setShouldRender(),!0)}removeWidget(n){const a=n.getId();if(this._widgets.hasOwnProperty(a)){const I=this._widgets[a].domNode.domNode;delete this._widgets[a],I.parentNode.removeChild(I),this.setShouldRender()}}_renderWidget(n){const a=n.domNode;if(n.preference===null){a.setTop("");return}if(n.preference===0)a.setTop(0),a.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(n.preference===1){const g=a.domNode.clientHeight;a.setTop(this._editorHeight-g-2*this._horizontalScrollbarHeight),a.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else n.preference===2&&(a.setTop(0),a.domNode.style.right="50%")}prepareRender(n){}render(n){this._domNode.setWidth(this._editorWidth);const a=Object.keys(this._widgets);for(let g=0,I=a.length;g<I;g++){const R=a[g];this._renderWidget(this._widgets[R])}}}class ss{constructor(n,a){const g=n.options;this.lineHeight=g.get(61),this.pixelRatio=g.get(131),this.overviewRulerLanes=g.get(76),this.renderBorder=g.get(75);const I=a.getColor(qt.zw);this.borderColor=I?I.toString():null,this.hideCursor=g.get(54);const R=a.getColor(qt.n0);this.cursorColor=R?R.transparent(.7).toString():null,this.themeType=a.type;const se=g.get(67),Ce=se.enabled,De=se.side,Ie=a.getColor(qt.e_),Pe=en.RW.getDefaultBackground();let Ke=null;Ie!==void 0?Ke=Ie:Ce&&(Ke=Pe),Ke===null||De==="left"?this.backgroundColor=null:this.backgroundColor=Fi.Il.Format.CSS.formatHex(Ke);const nt=g.get(133).overviewRuler;this.top=nt.top,this.right=nt.right,this.domWidth=nt.width,this.domHeight=nt.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[Lt,Tt]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=Lt,this.w=Tt}_initLanes(n,a,g){const I=a-n;if(g>=3){const R=Math.floor(I/3),se=Math.floor(I/3),Ce=I-R-se,De=n,Ie=De+R,Pe=De+R+Ce;return[[0,De,Ie,De,Pe,De,Ie,De],[0,R,Ce,R+Ce,se,R+Ce+se,Ce+se,R+Ce+se]]}else if(g===2){const R=Math.floor(I/2),se=I-R,Ce=n,De=Ce+R;return[[0,Ce,Ce,Ce,De,Ce,Ce,Ce],[0,R,R,R,se,R+se,R+se,R+se]]}else{const R=n,se=I;return[[0,R,R,R,R,R,R,R],[0,se,se,se,se,se,se,se]]}}equals(n){return this.lineHeight===n.lineHeight&&this.pixelRatio===n.pixelRatio&&this.overviewRulerLanes===n.overviewRulerLanes&&this.renderBorder===n.renderBorder&&this.borderColor===n.borderColor&&this.hideCursor===n.hideCursor&&this.cursorColor===n.cursorColor&&this.themeType===n.themeType&&this.backgroundColor===n.backgroundColor&&this.top===n.top&&this.right===n.right&&this.domWidth===n.domWidth&&this.domHeight===n.domHeight&&this.canvasWidth===n.canvasWidth&&this.canvasHeight===n.canvasHeight}}class ro extends je{constructor(n){super(n),this._domNode=(0,rt.X)(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=en.RW.onDidChange(a=>{a.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(n){const a=new ss(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(a)?!1:(this._settings=a,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,n&&this._render(),!0)}onConfigurationChanged(n){return this._updateSettings(!1)}onCursorStateChanged(n){this._cursorPositions=[];for(let a=0,g=n.selections.length;a<g;a++)this._cursorPositions[a]=n.selections[a].getPosition();return this._cursorPositions.sort(Ei.L.compare),!0}onDecorationsChanged(n){return!!n.affectsOverviewRuler}onFlushed(n){return!0}onScrollChanged(n){return n.scrollHeightChanged}onZonesChanged(n){return!0}onThemeChanged(n){return this._updateSettings(!1)}getDomNode(){return this._domNode.domNode}prepareRender(n){}render(n){this._render()}_render(){if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(this._settings.backgroundColor?this._settings.backgroundColor:""),this._domNode.setDisplay("none");return}this._domNode.setDisplay("block");const n=this._settings.canvasWidth,a=this._settings.canvasHeight,g=this._settings.lineHeight,I=this._context.viewLayout,R=this._context.viewLayout.getScrollHeight(),se=a/R,Ce=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme),De=6*this._settings.pixelRatio|0,Ie=De/2|0,Pe=this._domNode.domNode.getContext("2d");this._settings.backgroundColor===null?Pe.clearRect(0,0,n,a):(Pe.fillStyle=this._settings.backgroundColor,Pe.fillRect(0,0,n,a));const Ke=this._settings.x,Je=this._settings.w;Ce.sort(M.SQ.cmp);for(const nt of Ce){const Lt=nt.color,Tt=nt.data;Pe.fillStyle=Lt;let Bt=0,jt=0,fi=0;for(let ei=0,Ki=Tt.length/3;ei<Ki;ei++){const di=Tt[3*ei],tn=Tt[3*ei+1],Ji=Tt[3*ei+2];let zi=I.getVerticalOffsetForLineNumber(tn)*se|0,rn=(I.getVerticalOffsetForLineNumber(Ji)+g)*se|0;if(rn-zi<De){let Zi=(zi+rn)/2|0;Zi<Ie?Zi=Ie:Zi+Ie>a&&(Zi=a-Ie),zi=Zi-Ie,rn=Zi+Ie}zi>fi+1||di!==Bt?(ei!==0&&Pe.fillRect(Ke[Bt],jt,Je[Bt],fi-jt),Bt=di,jt=zi,fi=rn):rn>fi&&(fi=rn)}Pe.fillRect(Ke[Bt],jt,Je[Bt],fi-jt)}if(!this._settings.hideCursor&&this._settings.cursorColor){const nt=2*this._settings.pixelRatio|0,Lt=nt/2|0,Tt=this._settings.x[7],Bt=this._settings.w[7];Pe.fillStyle=this._settings.cursorColor;let jt=-100,fi=-100;for(let ei=0,Ki=this._cursorPositions.length;ei<Ki;ei++){const di=this._cursorPositions[ei];let tn=I.getVerticalOffsetForLineNumber(di.lineNumber)*se|0;tn<Lt?tn=Lt:tn+Lt>a&&(tn=a-Lt);const Ji=tn-Lt,zi=Ji+nt;Ji>fi+1?(ei!==0&&Pe.fillRect(Tt,jt,Bt,fi-jt),jt=Ji,fi=zi):zi>fi&&(fi=zi)}Pe.fillRect(Tt,jt,Bt,fi-jt)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(Pe.beginPath(),Pe.lineWidth=1,Pe.strokeStyle=this._settings.borderColor,Pe.moveTo(0,0),Pe.lineTo(0,a),Pe.stroke(),Pe.moveTo(0,0),Pe.lineTo(n,0),Pe.stroke())}}var go=m(60980);class Fs extends Fe{constructor(n,a){super(),this._context=n;const g=this._context.configuration.options;this._domNode=(0,rt.X)(document.createElement("canvas")),this._domNode.setClassName(a),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new go.Tj(I=>this._context.viewLayout.getVerticalOffsetForLineNumber(I)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(g.get(61)),this._zoneManager.setPixelRatio(g.get(131)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(n){const a=this._context.configuration.options;return n.hasChanged(61)&&(this._zoneManager.setLineHeight(a.get(61)),this._render()),n.hasChanged(131)&&(this._zoneManager.setPixelRatio(a.get(131)),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(n){return this._render(),!0}onScrollChanged(n){return n.scrollHeightChanged&&(this._zoneManager.setOuterHeight(n.scrollHeight),this._render()),!0}onZonesChanged(n){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(n){this._domNode.setTop(n.top),this._domNode.setRight(n.right);let a=!1;a=this._zoneManager.setDOMWidth(n.width)||a,a=this._zoneManager.setDOMHeight(n.height)||a,a&&(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(n){this._zoneManager.setZones(n),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const n=this._zoneManager.getCanvasWidth(),a=this._zoneManager.getCanvasHeight(),g=this._zoneManager.resolveColorZones(),I=this._zoneManager.getId2Color(),R=this._domNode.domNode.getContext("2d");return R.clearRect(0,0,n,a),g.length>0&&this._renderOneLane(R,g,I,n),!0}_renderOneLane(n,a,g,I){let R=0,se=0,Ce=0;for(const De of a){const Ie=De.colorId,Pe=De.from,Ke=De.to;Ie!==R?(n.fillRect(0,se,I,Ce-se),R=Ie,n.fillStyle=g[R],se=Pe,Ce=Ke):Ce>=Pe?Ce=Math.max(Ce,Ke):(n.fillRect(0,se,I,Ce-se),se=Pe,Ce=Ke)}n.fillRect(0,se,I,Ce-se)}}var js=m(99149);class qs extends je{constructor(n){super(n),this.domNode=(0,rt.X)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const a=this._context.configuration.options;this._rulers=a.get(93),this._typicalHalfwidthCharacterWidth=a.get(46).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(n){const a=this._context.configuration.options;return this._rulers=a.get(93),this._typicalHalfwidthCharacterWidth=a.get(46).typicalHalfwidthCharacterWidth,!0}onScrollChanged(n){return n.scrollHeightChanged}prepareRender(n){}_ensureRulersCount(){const n=this._renderedRulers.length,a=this._rulers.length;if(n===a)return;if(n<a){const{tabSize:I}=this._context.viewModel.model.getOptions(),R=I;let se=a-n;for(;se>0;){const Ce=(0,rt.X)(document.createElement("div"));Ce.setClassName("view-ruler"),Ce.setWidth(R),this.domNode.appendChild(Ce),this._renderedRulers.push(Ce),se--}return}let g=n-a;for(;g>0;){const I=this._renderedRulers.pop();this.domNode.removeChild(I),g--}}render(n){this._ensureRulersCount();for(let a=0,g=this._rulers.length;a<g;a++){const I=this._renderedRulers[a],R=this._rulers[a];I.setBoxShadow(R.color?`1px 0 0 0 ${R.color} inset`:""),I.setHeight(Math.min(n.scrollHeight,1e6)),I.setLeft(R.column*this._typicalHalfwidthCharacterWidth)}}}(0,li.Ic)((qe,n)=>{const a=qe.getColor(qt.zk);a&&n.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${a} inset; }`)});var Hs=m(72585);class zr extends je{constructor(n){super(n),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const g=this._context.configuration.options.get(94);this._useShadows=g.useShadows,this._domNode=(0,rt.X)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const n=this._useShadows&&this._scrollTop>0;return this._shouldShow!==n?(this._shouldShow=n,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const a=this._context.configuration.options.get(133);a.minimap.renderMinimap===0||a.minimap.minimapWidth>0&&a.minimap.minimapLeft===0?this._width=a.width:this._width=a.width-a.verticalScrollbarWidth}onConfigurationChanged(n){const g=this._context.configuration.options.get(94);return this._useShadows=g.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(n){return this._scrollTop=n.scrollTop,this._updateShouldShow()}prepareRender(n){}render(n){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}(0,li.Ic)((qe,n)=>{const a=qe.getColor(Ln._wn);a&&n.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${a} 0 6px 6px -6px inset; }`)});var ld=m(13006);class Ur{constructor(n){this.left=n.left,this.width=n.width,this.startStyle=null,this.endStyle=null}}class da{constructor(n,a){this.lineNumber=n,this.ranges=a}}function Xn(qe){return new Ur(qe)}function bs(qe){return new da(qe.lineNumber,qe.ranges.map(Xn))}class un extends ci{constructor(n){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=n;const a=this._context.configuration.options;this._lineHeight=a.get(61),this._roundedSelection=a.get(92),this._typicalHalfwidthCharacterWidth=a.get(46).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(n){const a=this._context.configuration.options;return this._lineHeight=a.get(61),this._roundedSelection=a.get(92),this._typicalHalfwidthCharacterWidth=a.get(46).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(n){return this._selections=n.selections.slice(0),!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return n.scrollTopChanged}onZonesChanged(n){return!0}_visibleRangesHaveGaps(n){for(let a=0,g=n.length;a<g;a++)if(n[a].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(n,a,g){const I=this._typicalHalfwidthCharacterWidth/4;let R=null,se=null;if(g&&g.length>0&&a.length>0){const Ce=a[0].lineNumber;if(Ce===n.startLineNumber)for(let Ie=0;!R&&Ie<g.length;Ie++)g[Ie].lineNumber===Ce&&(R=g[Ie].ranges[0]);const De=a[a.length-1].lineNumber;if(De===n.endLineNumber)for(let Ie=g.length-1;!se&&Ie>=0;Ie--)g[Ie].lineNumber===De&&(se=g[Ie].ranges[0]);R&&!R.startStyle&&(R=null),se&&!se.startStyle&&(se=null)}for(let Ce=0,De=a.length;Ce<De;Ce++){const Ie=a[Ce].ranges[0],Pe=Ie.left,Ke=Ie.left+Ie.width,Je={top:0,bottom:0},nt={top:0,bottom:0};if(Ce>0){const Lt=a[Ce-1].ranges[0].left,Tt=a[Ce-1].ranges[0].left+a[Ce-1].ranges[0].width;kr(Pe-Lt)<I?Je.top=2:Pe>Lt&&(Je.top=1),kr(Ke-Tt)<I?nt.top=2:Lt<Ke&&Ke<Tt&&(nt.top=1)}else R&&(Je.top=R.startStyle.top,nt.top=R.endStyle.top);if(Ce+1<De){const Lt=a[Ce+1].ranges[0].left,Tt=a[Ce+1].ranges[0].left+a[Ce+1].ranges[0].width;kr(Pe-Lt)<I?Je.bottom=2:Lt<Pe&&Pe<Tt&&(Je.bottom=1),kr(Ke-Tt)<I?nt.bottom=2:Ke<Tt&&(nt.bottom=1)}else se&&(Je.bottom=se.startStyle.bottom,nt.bottom=se.endStyle.bottom);Ie.startStyle=Je,Ie.endStyle=nt}}_getVisibleRangesWithStyle(n,a,g){const R=(a.linesVisibleRangesForRange(n,!0)||[]).map(bs);return!this._visibleRangesHaveGaps(R)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(a.visibleRange,R,g),R}_createSelectionPiece(n,a,g,I,R){return'<div class="cslr '+g+'" style="top:'+n.toString()+"px;left:"+I.toString()+"px;width:"+R.toString()+"px;height:"+a+'px;"></div>'}_actualRenderOneSelection(n,a,g,I){if(I.length===0)return;const R=!!I[0].ranges[0].startStyle,se=this._lineHeight.toString(),Ce=(this._lineHeight-1).toString(),De=I[0].lineNumber,Ie=I[I.length-1].lineNumber;for(let Pe=0,Ke=I.length;Pe<Ke;Pe++){const Je=I[Pe],nt=Je.lineNumber,Lt=nt-a,Tt=g&&(nt===Ie||nt===De)?Ce:se,Bt=g&&nt===De?1:0;let jt="",fi="";for(let ei=0,Ki=Je.ranges.length;ei<Ki;ei++){const di=Je.ranges[ei];if(R){const Ji=di.startStyle,zi=di.endStyle;if(Ji.top===1||Ji.bottom===1){jt+=this._createSelectionPiece(Bt,Tt,un.SELECTION_CLASS_NAME,di.left-un.ROUNDED_PIECE_WIDTH,un.ROUNDED_PIECE_WIDTH);let rn=un.EDITOR_BACKGROUND_CLASS_NAME;Ji.top===1&&(rn+=" "+un.SELECTION_TOP_RIGHT),Ji.bottom===1&&(rn+=" "+un.SELECTION_BOTTOM_RIGHT),jt+=this._createSelectionPiece(Bt,Tt,rn,di.left-un.ROUNDED_PIECE_WIDTH,un.ROUNDED_PIECE_WIDTH)}if(zi.top===1||zi.bottom===1){jt+=this._createSelectionPiece(Bt,Tt,un.SELECTION_CLASS_NAME,di.left+di.width,un.ROUNDED_PIECE_WIDTH);let rn=un.EDITOR_BACKGROUND_CLASS_NAME;zi.top===1&&(rn+=" "+un.SELECTION_TOP_LEFT),zi.bottom===1&&(rn+=" "+un.SELECTION_BOTTOM_LEFT),jt+=this._createSelectionPiece(Bt,Tt,rn,di.left+di.width,un.ROUNDED_PIECE_WIDTH)}}let tn=un.SELECTION_CLASS_NAME;if(R){const Ji=di.startStyle,zi=di.endStyle;Ji.top===0&&(tn+=" "+un.SELECTION_TOP_LEFT),Ji.bottom===0&&(tn+=" "+un.SELECTION_BOTTOM_LEFT),zi.top===0&&(tn+=" "+un.SELECTION_TOP_RIGHT),zi.bottom===0&&(tn+=" "+un.SELECTION_BOTTOM_RIGHT)}fi+=this._createSelectionPiece(Bt,Tt,tn,di.left,di.width)}n[Lt][0]+=jt,n[Lt][1]+=fi}}prepareRender(n){const a=[],g=n.visibleRange.startLineNumber,I=n.visibleRange.endLineNumber;for(let se=g;se<=I;se++){const Ce=se-g;a[Ce]=["",""]}const R=[];for(let se=0,Ce=this._selections.length;se<Ce;se++){const De=this._selections[se];if(De.isEmpty()){R[se]=null;continue}const Ie=this._getVisibleRangesWithStyle(De,n,this._previousFrameVisibleRangesWithStyle[se]);R[se]=Ie,this._actualRenderOneSelection(a,g,this._selections.length>1,Ie)}this._previousFrameVisibleRangesWithStyle=R,this._renderResult=a.map(([se,Ce])=>se+Ce)}render(n,a){if(!this._renderResult)return"";const g=a-n;return g<0||g>=this._renderResult.length?"":this._renderResult[g]}}un.SELECTION_CLASS_NAME="selected-text",un.SELECTION_TOP_LEFT="top-left-radius",un.SELECTION_BOTTOM_LEFT="bottom-left-radius",un.SELECTION_TOP_RIGHT="top-right-radius",un.SELECTION_BOTTOM_RIGHT="bottom-right-radius",un.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",un.ROUNDED_PIECE_WIDTH=10,(0,li.Ic)((qe,n)=>{const a=qe.getColor(Ln.hEj);a&&n.addRule(`.monaco-editor .focused .selected-text { background-color: ${a}; }`);const g=qe.getColor(Ln.ES4);g&&n.addRule(`.monaco-editor .selected-text { background-color: ${g}; }`);const I=qe.getColor(Ln.yb5);I&&!I.isTransparent()&&n.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${I}; }`)});function kr(qe){return qe<0?-qe:qe}var Tr=m(59532);class Mr{constructor(n,a,g,I,R,se){this.top=n,this.left=a,this.width=g,this.height=I,this.textContent=R,this.textContentClassName=se}}class Ko{constructor(n){this._context=n;const a=this._context.configuration.options,g=a.get(46);this._cursorStyle=a.get(24),this._lineHeight=a.get(61),this._typicalHalfwidthCharacterWidth=g.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(a.get(27),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,rt.X)(document.createElement("div")),this._domNode.setClassName(`cursor ${Ti.S}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),(0,Qt.N)(this._domNode,g),this._domNode.setDisplay("none"),this._position=new Ei.L(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(46);return this._cursorStyle=a.get(24),this._lineHeight=a.get(61),this._typicalHalfwidthCharacterWidth=g.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(a.get(27),this._typicalHalfwidthCharacterWidth),(0,Qt.N)(this._domNode,g),!0}onCursorPositionChanged(n){return this._position=n,!0}_getGraphemeAwarePosition(){const{lineNumber:n,column:a}=this._position,g=this._context.viewModel.getLineContent(n),[I,R]=Ht.J_(g,a-1);return[new Ei.L(n,I+1),g.substring(I,R)]}_prepareRender(n){let a="";const[g,I]=this._getGraphemeAwarePosition();if(this._cursorStyle===te.d2.Line||this._cursorStyle===te.d2.LineThin){const Je=n.visibleRangeForPosition(g);if(!Je||Je.outsideRenderedLine)return null;let nt;this._cursorStyle===te.d2.Line?(nt=q.Uh(this._lineCursorWidth>0?this._lineCursorWidth:2),nt>2&&(a=I)):nt=q.Uh(1);let Lt=Je.left;nt>=2&&Lt>=1&&(Lt-=1);const Tt=n.getVerticalOffsetForLineNumber(g.lineNumber)-n.bigNumbersDelta;return new Mr(Tt,Lt,nt,this._lineHeight,a,"")}const R=n.linesVisibleRangesForRange(new Ae.e(g.lineNumber,g.column,g.lineNumber,g.column+I.length),!1);if(!R||R.length===0)return null;const se=R[0];if(se.outsideRenderedLine||se.ranges.length===0)return null;const Ce=se.ranges[0],De=I===" "?this._typicalHalfwidthCharacterWidth:Ce.width<1?this._typicalHalfwidthCharacterWidth:Ce.width;let Ie="";if(this._cursorStyle===te.d2.Block){const Je=this._context.viewModel.getViewLineData(g.lineNumber);a=I;const nt=Je.tokens.findTokenIndexAtOffset(g.column-1);Ie=Je.tokens.getClassName(nt)}let Pe=n.getVerticalOffsetForLineNumber(g.lineNumber)-n.bigNumbersDelta,Ke=this._lineHeight;return(this._cursorStyle===te.d2.Underline||this._cursorStyle===te.d2.UnderlineThin)&&(Pe+=this._lineHeight-2,Ke=2),new Mr(Pe,Ce.left,De,Ke,a,Ie)}prepareRender(n){this._renderData=this._prepareRender(n)}render(n){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${Ti.S} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),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)}}class Ar extends je{constructor(n){super(n);const a=this._context.configuration.options;this._readOnly=a.get(83),this._cursorBlinking=a.get(22),this._cursorStyle=a.get(24),this._cursorSmoothCaretAnimation=a.get(23),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new Ko(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,rt.X)(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 $e._F,this._cursorFlatBlinkInterval=new $e.zh,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(n){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(n){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(n){const a=this._context.configuration.options;this._readOnly=a.get(83),this._cursorBlinking=a.get(22),this._cursorStyle=a.get(24),this._cursorSmoothCaretAnimation=a.get(23),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(n);for(let g=0,I=this._secondaryCursors.length;g<I;g++)this._secondaryCursors[g].onConfigurationChanged(n);return!0}_onCursorPositionChanged(n,a){if(this._primaryCursor.onCursorPositionChanged(n),this._updateBlinking(),this._secondaryCursors.length<a.length){const g=a.length-this._secondaryCursors.length;for(let I=0;I<g;I++){const R=new Ko(this._context);this._domNode.domNode.insertBefore(R.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(R)}}else if(this._secondaryCursors.length>a.length){const g=this._secondaryCursors.length-a.length;for(let I=0;I<g;I++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let g=0;g<a.length;g++)this._secondaryCursors[g].onCursorPositionChanged(a[g])}onCursorStateChanged(n){const a=[];for(let I=0,R=n.selections.length;I<R;I++)a[I]=n.selections[I].getPosition();this._onCursorPositionChanged(a[0],a.slice(1));const g=n.selections[0].isEmpty();return this._selectionIsEmpty!==g&&(this._selectionIsEmpty=g,this._updateDomClassName()),!0}onDecorationsChanged(n){return!0}onFlushed(n){return!0}onFocusChanged(n){return this._editorHasFocus=n.isFocused,this._updateBlinking(),!1}onLinesChanged(n){return!0}onLinesDeleted(n){return!0}onLinesInserted(n){return!0}onScrollChanged(n){return!0}onTokensChanged(n){const a=g=>{for(let I=0,R=n.ranges.length;I<R;I++)if(n.ranges[I].fromLineNumber<=g.lineNumber&&g.lineNumber<=n.ranges[I].toLineNumber)return!0;return!1};if(a(this._primaryCursor.getPosition()))return!0;for(const g of this._secondaryCursors)if(a(g.getPosition()))return!0;return!1}onZonesChanged(n){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();const n=this._getCursorBlinking(),a=n===0,g=n===5;a?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!a&&!g&&(n===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},Ar.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},Ar.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let n="cursors-layer";switch(this._selectionIsEmpty||(n+=" has-selection"),this._cursorStyle){case te.d2.Line:n+=" cursor-line-style";break;case te.d2.Block:n+=" cursor-block-style";break;case te.d2.Underline:n+=" cursor-underline-style";break;case te.d2.LineThin:n+=" cursor-line-thin-style";break;case te.d2.BlockOutline:n+=" cursor-block-outline-style";break;case te.d2.UnderlineThin:n+=" cursor-underline-thin-style";break;default:n+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:n+=" cursor-blink";break;case 2:n+=" cursor-smooth";break;case 3:n+=" cursor-phase";break;case 4:n+=" cursor-expand";break;case 5:n+=" cursor-solid";break;default:n+=" cursor-solid"}else n+=" cursor-solid";return this._cursorSmoothCaretAnimation&&(n+=" cursor-smooth-caret-animation"),n}_show(){this._primaryCursor.show();for(let n=0,a=this._secondaryCursors.length;n<a;n++)this._secondaryCursors[n].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let n=0,a=this._secondaryCursors.length;n<a;n++)this._secondaryCursors[n].hide();this._isVisible=!1}prepareRender(n){this._primaryCursor.prepareRender(n);for(let a=0,g=this._secondaryCursors.length;a<g;a++)this._secondaryCursors[a].prepareRender(n)}render(n){const a=[];let g=0;const I=this._primaryCursor.render(n);I&&(a[g++]=I);for(let R=0,se=this._secondaryCursors.length;R<se;R++){const Ce=this._secondaryCursors[R].render(n);Ce&&(a[g++]=Ce)}this._renderData=a}getLastRenderData(){return this._renderData}}Ar.BLINK_INTERVAL=500,(0,li.Ic)((qe,n)=>{const a=qe.getColor(qt.n0);if(a){let g=qe.getColor(qt.fY);g||(g=a.opposite()),n.addRule(`.monaco-editor .inputarea.ime-input { caret-color: ${a}; }`),n.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${a}; border-color: ${a}; color: ${g}; }`),(0,_t.c3)(qe.type)&&n.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${g}; border-right: 1px solid ${g}; }`)}});const Zs=()=>{throw new Error("Invalid change accessor")};class uc extends je{constructor(n){super(n);const a=this._context.configuration.options,g=a.get(133);this._lineHeight=a.get(61),this._contentWidth=g.contentWidth,this._contentLeft=g.contentLeft,this.domNode=(0,rt.X)(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=(0,rt.X)(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 n=this._context.viewLayout.getWhitespaces(),a=new Map;for(const I of n)a.set(I.id,I);let g=!1;return this._context.viewModel.changeWhitespace(I=>{const R=Object.keys(this._zones);for(let se=0,Ce=R.length;se<Ce;se++){const De=R[se],Ie=this._zones[De],Pe=this._computeWhitespaceProps(Ie.delegate);Ie.isInHiddenArea=Pe.isInHiddenArea;const Ke=a.get(De);Ke&&(Ke.afterLineNumber!==Pe.afterViewLineNumber||Ke.height!==Pe.heightInPx)&&(I.changeOneWhitespace(De,Pe.afterViewLineNumber,Pe.heightInPx),this._safeCallOnComputedHeight(Ie.delegate,Pe.heightInPx),g=!0)}}),g}onConfigurationChanged(n){const a=this._context.configuration.options,g=a.get(133);return this._lineHeight=a.get(61),this._contentWidth=g.contentWidth,this._contentLeft=g.contentLeft,n.hasChanged(61)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(n){return this._recomputeWhitespacesProps()}onLinesDeleted(n){return!0}onScrollChanged(n){return n.scrollTopChanged||n.scrollWidthChanged}onZonesChanged(n){return!0}onLinesInserted(n){return!0}_getZoneOrdinal(n){return typeof n.afterColumn<"u"?n.afterColumn:1e4}_computeWhitespaceProps(n){if(n.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(n),minWidthInPx:this._minWidthInPixels(n)};let a;if(typeof n.afterColumn<"u")a=this._context.viewModel.model.validatePosition({lineNumber:n.afterLineNumber,column:n.afterColumn});else{const se=this._context.viewModel.model.validatePosition({lineNumber:n.afterLineNumber,column:1}).lineNumber;a=new Ei.L(se,this._context.viewModel.model.getLineMaxColumn(se))}let g;a.column===this._context.viewModel.model.getLineMaxColumn(a.lineNumber)?g=this._context.viewModel.model.validatePosition({lineNumber:a.lineNumber+1,column:1}):g=this._context.viewModel.model.validatePosition({lineNumber:a.lineNumber,column:a.column+1});const I=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(a,n.afterColumnAffinity),R=this._context.viewModel.coordinatesConverter.modelPositionIsVisible(g);return{isInHiddenArea:!R,afterViewLineNumber:I.lineNumber,heightInPx:R?this._heightInPixels(n):0,minWidthInPx:this._minWidthInPixels(n)}}changeViewZones(n){let a=!1;return this._context.viewModel.changeWhitespace(g=>{const I={addZone:R=>(a=!0,this._addZone(g,R)),removeZone:R=>{R&&(a=this._removeZone(g,R)||a)},layoutZone:R=>{R&&(a=this._layoutZone(g,R)||a)}};ca(n,I),I.addZone=Zs,I.removeZone=Zs,I.layoutZone=Zs}),a}_addZone(n,a){const g=this._computeWhitespaceProps(a),R={whitespaceId:n.insertWhitespace(g.afterViewLineNumber,this._getZoneOrdinal(a),g.heightInPx,g.minWidthInPx),delegate:a,isInHiddenArea:g.isInHiddenArea,isVisible:!1,domNode:(0,rt.X)(a.domNode),marginDomNode:a.marginDomNode?(0,rt.X)(a.marginDomNode):null};return this._safeCallOnComputedHeight(R.delegate,g.heightInPx),R.domNode.setPosition("absolute"),R.domNode.domNode.style.width="100%",R.domNode.setDisplay("none"),R.domNode.setAttribute("monaco-view-zone",R.whitespaceId),this.domNode.appendChild(R.domNode),R.marginDomNode&&(R.marginDomNode.setPosition("absolute"),R.marginDomNode.domNode.style.width="100%",R.marginDomNode.setDisplay("none"),R.marginDomNode.setAttribute("monaco-view-zone",R.whitespaceId),this.marginDomNode.appendChild(R.marginDomNode)),this._zones[R.whitespaceId]=R,this.setShouldRender(),R.whitespaceId}_removeZone(n,a){if(this._zones.hasOwnProperty(a)){const g=this._zones[a];return delete this._zones[a],n.removeWhitespace(g.whitespaceId),g.domNode.removeAttribute("monaco-visible-view-zone"),g.domNode.removeAttribute("monaco-view-zone"),g.domNode.domNode.parentNode.removeChild(g.domNode.domNode),g.marginDomNode&&(g.marginDomNode.removeAttribute("monaco-visible-view-zone"),g.marginDomNode.removeAttribute("monaco-view-zone"),g.marginDomNode.domNode.parentNode.removeChild(g.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(n,a){if(this._zones.hasOwnProperty(a)){const g=this._zones[a],I=this._computeWhitespaceProps(g.delegate);return g.isInHiddenArea=I.isInHiddenArea,n.changeOneWhitespace(g.whitespaceId,I.afterViewLineNumber,I.heightInPx),this._safeCallOnComputedHeight(g.delegate,I.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(n){return this._zones.hasOwnProperty(n)?!!this._zones[n].delegate.suppressMouseDown:!1}_heightInPixels(n){return typeof n.heightInPx=="number"?n.heightInPx:typeof n.heightInLines=="number"?this._lineHeight*n.heightInLines:this._lineHeight}_minWidthInPixels(n){return typeof n.minWidthInPx=="number"?n.minWidthInPx:0}_safeCallOnComputedHeight(n,a){if(typeof n.onComputedHeight=="function")try{n.onComputedHeight(a)}catch(g){(0,z.dL)(g)}}_safeCallOnDomNodeTop(n,a){if(typeof n.onDomNodeTop=="function")try{n.onDomNodeTop(a)}catch(g){(0,z.dL)(g)}}prepareRender(n){}render(n){const a=n.viewportData.whitespaceViewportData,g={};let I=!1;for(const se of a)this._zones[se.id].isInHiddenArea||(g[se.id]=se,I=!0);const R=Object.keys(this._zones);for(let se=0,Ce=R.length;se<Ce;se++){const De=R[se],Ie=this._zones[De];let Pe=0,Ke=0,Je="none";g.hasOwnProperty(De)?(Pe=g[De].verticalOffset-n.bigNumbersDelta,Ke=g[De].height,Je="block",Ie.isVisible||(Ie.domNode.setAttribute("monaco-visible-view-zone","true"),Ie.isVisible=!0),this._safeCallOnDomNodeTop(Ie.delegate,n.getScrolledTopFromAbsoluteTop(g[De].verticalOffset))):(Ie.isVisible&&(Ie.domNode.removeAttribute("monaco-visible-view-zone"),Ie.isVisible=!1),this._safeCallOnDomNodeTop(Ie.delegate,n.getScrolledTopFromAbsoluteTop(-1e6))),Ie.domNode.setTop(Pe),Ie.domNode.setHeight(Ke),Ie.domNode.setDisplay(Je),Ie.marginDomNode&&(Ie.marginDomNode.setTop(Pe),Ie.marginDomNode.setHeight(Ke),Ie.marginDomNode.setDisplay(Je))}I&&(this.domNode.setWidth(Math.max(n.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}function ca(qe,n){try{return qe(n)}catch(a){(0,z.dL)(a)}}class fc{constructor(n){this._theme=n}get type(){return this._theme.type}get value(){return this._theme}update(n){this._theme=n}getColor(n){return this._theme.getColor(n)}}class _r{constructor(n,a,g){this.configuration=n,this.theme=new fc(a),this.viewModel=g,this.viewLayout=g.viewLayout}addEventHandler(n){this.viewModel.addViewEventHandler(n)}removeEventHandler(n){this.viewModel.removeViewEventHandler(n)}}class jr{constructor(n,a,g,I){this.selections=n,this.startLineNumber=a.startLineNumber|0,this.endLineNumber=a.endLineNumber|0,this.relativeVerticalOffset=a.relativeVerticalOffset,this.bigNumbersDelta=a.bigNumbersDelta|0,this.whitespaceViewportData=g,this._model=I,this.visibleRange=new Ae.e(a.startLineNumber,this._model.getLineMinColumn(a.startLineNumber),a.endLineNumber,this._model.getLineMaxColumn(a.endLineNumber))}getViewLineRenderingData(n){return this._model.getViewportViewLineRenderingData(this.visibleRange,n)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}var $o=m(53232);class ha extends je{constructor(n){super(n),this.blocks=[],this.contentWidth=-1,this.domNode=(0,rt.X)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let n=!1;const g=this._context.configuration.options.get(133),I=g.contentWidth-g.verticalScrollbarWidth;return this.contentWidth!==I&&(this.contentWidth=I,n=!0),n}dispose(){super.dispose()}onConfigurationChanged(n){return this.update()}onScrollChanged(n){return n.scrollTopChanged||n.scrollLeftChanged}onDecorationsChanged(n){return!0}onZonesChanged(n){return!0}prepareRender(n){}render(n){let a=0;const g=n.getDecorationsInViewport();for(const I of g){if(!I.options.blockClassName)continue;let R=this.blocks[a];R||(R=this.blocks[a]=(0,rt.X)(document.createElement("div")),this.domNode.appendChild(R));const se=n.getVerticalOffsetForLineNumber(I.range.startLineNumber),Ce=n.getVerticalOffsetForLineNumber(I.range.endLineNumber+1);R.setClassName("blockDecorations-block "+I.options.blockClassName),R.setLeft(n.scrollLeft),R.setWidth(this.contentWidth),R.setTop(se),R.setHeight(Ce-se),a++}for(let I=a;I<this.blocks.length;I++)this.blocks[I].domNode.remove();this.blocks.length=a}}class Cr extends Fe{constructor(n,a,g,I,R,se){super(),this._selections=[new O.Y(1,1,1,1)],this._renderAnimationFrame=null;const Ce=new an(a,I,R,n);this._context=new _r(a,g,I),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=new Oi(this._context,Ce,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=(0,rt.X)(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=(0,rt.X)(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=(0,rt.X)(document.createElement("div")),Re.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new fo(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new $t(this._context,this._linesContent),this._viewZones=new uc(this._context),this._viewParts.push(this._viewZones);const De=new ro(this._context);this._viewParts.push(De);const Ie=new zr(this._context);this._viewParts.push(Ie);const Pe=new Ai(this._context);this._viewParts.push(Pe),Pe.addDynamicOverlay(new Qn(this._context)),Pe.addDynamicOverlay(new un(this._context)),Pe.addDynamicOverlay(new Ps(this._context)),Pe.addDynamicOverlay(new Is(this._context));const Ke=new ts(this._context);this._viewParts.push(Ke),Ke.addDynamicOverlay(new Ss(this._context)),Ke.addDynamicOverlay(new ds(this._context)),Ke.addDynamicOverlay(new ms(this._context)),Ke.addDynamicOverlay(new sn(this._context)),Ke.addDynamicOverlay(new xi(this._context));const Je=new Si(this._context);Je.getDomNode().appendChild(this._viewZones.marginDomNode),Je.getDomNode().appendChild(Ke.getDomNode()),this._viewParts.push(Je),this._contentWidgets=new rs(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Ar(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new wo(this._context),this._viewParts.push(this._overlayWidgets);const nt=new qs(this._context);this._viewParts.push(nt);const Lt=new ha(this._context);this._viewParts.push(Lt);const Tt=new kn(this._context);if(this._viewParts.push(Tt),De){const Bt=this._scrollbar.getOverviewRulerLayoutInfo();Bt.parent.insertBefore(De.getDomNode(),Bt.insertBefore)}this._linesContent.appendChild(Pe.getDomNode()),this._linesContent.appendChild(nt.domNode),this._linesContent.appendChild(Lt.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(Je.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(Ie.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(Tt.getDomNode()),this.domNode.appendChild(this._overflowGuardContainer),se?se.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new Xe(this._context,Ce,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){this._renderNow()}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:n=>{this._textAreaHandler.textArea.domNode.dispatchEvent(n)},getLastRenderData:()=>{const n=this._viewCursors.getLastRenderData()||[],a=this._textAreaHandler.getLastRenderData();return new ft(n,a)},shouldSuppressMouseDownOnViewZone:n=>this._viewZones.shouldSuppressMouseDownOnViewZone(n),shouldSuppressMouseDownOnWidget:n=>this._contentWidgets.shouldSuppressMouseDownOnWidget(n),getPositionFromDOMInfo:(n,a)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(n,a)),visibleRangeForPosition:(n,a)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Ei.L(n,a))),getLineWidth:n=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(n))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:n=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(n))}}_applyLayout(){const a=this._context.configuration.options.get(133);this.domNode.setWidth(a.width),this.domNode.setHeight(a.height),this._overflowGuardContainer.setWidth(a.width),this._overflowGuardContainer.setHeight(a.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const n=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(130)+" "+(0,li.m6)(this._context.theme.type)+n}handleEvents(n){super.handleEvents(n),this._scheduleRender()}onConfigurationChanged(n){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(n){return this._selections=n.selections,!1}onFocusChanged(n){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(n){return this._context.theme.update(n.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 n of this._viewParts)n.dispose();super.dispose()}_scheduleRender(){this._renderAnimationFrame===null&&(this._renderAnimationFrame=q.lI(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){tr(()=>this._actualRender())}_getViewPartsToRender(){const n=[];let a=0;for(const g of this._viewParts)g.shouldRender()&&(n[a++]=g);return n}_actualRender(){if(!q.Uw(this.domNode.domNode))return;let n=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&n.length===0)return;const a=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(a.startLineNumber,a.endLineNumber,a.centeredLineNumber);const g=new jr(this._selections,a,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(g),this._viewLines.shouldRender()&&(this._viewLines.renderText(g),this._viewLines.onDidRender(),n=this._getViewPartsToRender());const I=new at(this._context.viewLayout,g,this._viewLines);for(const R of n)R.prepareRender(I);for(const R of n)R.render(I),R.onDidRender()}delegateVerticalScrollbarPointerDown(n){this._scrollbar.delegateVerticalScrollbarPointerDown(n)}restoreState(n){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:n.scrollTop},1),this._context.viewModel.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:n.scrollLeft},1)}getOffsetForColumn(n,a){const g=this._context.viewModel.model.validatePosition({lineNumber:n,column:a}),I=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(g);this._flushAccumulatedAndRenderNow();const R=this._viewLines.visibleRangeForPosition(new Ei.L(I.lineNumber,I.column));return R?R.left:-1}getTargetAtClientPoint(n,a){const g=this._pointerHandler.getTargetAtClientPoint(n,a);return g?Ci.convertViewToModelMouseTarget(g,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(n){return new Fs(this._context,n)}change(n){this._viewZones.changeViewZones(n),this._scheduleRender()}render(n,a){if(a){this._viewLines.forceShouldRender();for(const g of this._viewParts)g.forceShouldRender()}n?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(n){this._textAreaHandler.setAriaOptions(n)}addContentWidget(n){this._contentWidgets.addWidget(n.widget),this.layoutContentWidget(n),this._scheduleRender()}layoutContentWidget(n){var a,g;let I=n.position&&n.position.range||null;if(I===null){const se=n.position?n.position.position:null;se!==null&&(I=new Ae.e(se.lineNumber,se.column,se.lineNumber,se.column))}const R=n.position?n.position.preference:null;this._contentWidgets.setWidgetPosition(n.widget,I,R,(g=(a=n.position)===null||a===void 0?void 0:a.positionAffinity)!==null&&g!==void 0?g:null),this._scheduleRender()}removeContentWidget(n){this._contentWidgets.removeWidget(n.widget),this._scheduleRender()}addOverlayWidget(n){this._overlayWidgets.addWidget(n.widget),this.layoutOverlayWidget(n),this._scheduleRender()}layoutOverlayWidget(n){const a=n.position?n.position.preference:null;this._overlayWidgets.setWidgetPosition(n.widget,a)&&this._scheduleRender()}removeOverlayWidget(n){this._overlayWidgets.removeWidget(n.widget),this._scheduleRender()}}function tr(qe){try{return qe()}catch(n){(0,z.dL)(n)}}var ps=m(40376);class ua{constructor(n){this._selTrackedRange=null,this._trackSelection=!0,this._setState(n,new ps.rS(new Ae.e(1,1,1,1),0,new Ei.L(1,1),0),new ps.rS(new Ae.e(1,1,1,1),0,new Ei.L(1,1),0))}dispose(n){this._removeTrackedRange(n)}startTrackingSelection(n){this._trackSelection=!0,this._updateTrackedRange(n)}stopTrackingSelection(n){this._trackSelection=!1,this._removeTrackedRange(n)}_updateTrackedRange(n){this._trackSelection&&(this._selTrackedRange=n.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(n){this._selTrackedRange=n.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new ps.Vi(this.modelState,this.viewState)}readSelectionFromMarkers(n){const a=n.model._getTrackedRange(this._selTrackedRange);return O.Y.fromRange(a,this.modelState.selection.getDirection())}ensureValidState(n){this._setState(n,this.modelState,this.viewState)}setState(n,a,g){this._setState(n,a,g)}static _validatePositionWithCache(n,a,g,I){return a.equals(g)?I:n.normalizePosition(a,2)}static _validateViewState(n,a){const g=a.position,I=a.selectionStart.getStartPosition(),R=a.selectionStart.getEndPosition(),se=n.normalizePosition(g,2),Ce=this._validatePositionWithCache(n,I,g,se),De=this._validatePositionWithCache(n,R,I,Ce);return g.equals(se)&&I.equals(Ce)&&R.equals(De)?a:new ps.rS(Ae.e.fromPositions(Ce,De),a.selectionStartLeftoverVisibleColumns+I.column-Ce.column,se,a.leftoverVisibleColumns+g.column-se.column)}_setState(n,a,g){if(g&&(g=ua._validateViewState(n.viewModel,g)),a){const I=n.model.validateRange(a.selectionStart),R=a.selectionStart.equalsRange(I)?a.selectionStartLeftoverVisibleColumns:0,se=n.model.validatePosition(a.position),Ce=a.position.equals(se)?a.leftoverVisibleColumns:0;a=new ps.rS(I,R,se,Ce)}else{if(!g)return;const I=n.model.validateRange(n.coordinatesConverter.convertViewRangeToModelRange(g.selectionStart)),R=n.model.validatePosition(n.coordinatesConverter.convertViewPositionToModelPosition(g.position));a=new ps.rS(I,g.selectionStartLeftoverVisibleColumns,R,g.leftoverVisibleColumns)}if(g){const I=n.coordinatesConverter.validateViewRange(g.selectionStart,a.selectionStart),R=n.coordinatesConverter.validateViewPosition(g.position,a.position);g=new ps.rS(I,a.selectionStartLeftoverVisibleColumns,R,a.leftoverVisibleColumns)}else{const I=n.coordinatesConverter.convertModelPositionToViewPosition(new Ei.L(a.selectionStart.startLineNumber,a.selectionStart.startColumn)),R=n.coordinatesConverter.convertModelPositionToViewPosition(new Ei.L(a.selectionStart.endLineNumber,a.selectionStart.endColumn)),se=new Ae.e(I.lineNumber,I.column,R.lineNumber,R.column),Ce=n.coordinatesConverter.convertModelPositionToViewPosition(a.position);g=new ps.rS(se,a.selectionStartLeftoverVisibleColumns,Ce,a.leftoverVisibleColumns)}this.modelState=a,this.viewState=g,this._updateTrackedRange(n)}}class ka{constructor(n){this.context=n,this.cursors=[new ua(n)],this.lastAddedCursorIndex=0}dispose(){for(const n of this.cursors)n.dispose(this.context)}startTrackingSelections(){for(const n of this.cursors)n.startTrackingSelection(this.context)}stopTrackingSelections(){for(const n of this.cursors)n.stopTrackingSelection(this.context)}updateContext(n){this.context=n}ensureValidState(){for(const n of this.cursors)n.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(n=>n.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(n=>n.asCursorState())}getViewPositions(){return this.cursors.map(n=>n.viewState.position)}getTopMostViewPosition(){return(0,d.VJ)(this.cursors,(0,d.tT)(n=>n.viewState.position,Ei.L.compare)).viewState.position}getBottomMostViewPosition(){return(0,d.jV)(this.cursors,(0,d.tT)(n=>n.viewState.position,Ei.L.compare)).viewState.position}getSelections(){return this.cursors.map(n=>n.modelState.selection)}getViewSelections(){return this.cursors.map(n=>n.viewState.selection)}setSelections(n){this.setStates(ps.Vi.fromModelSelections(n))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(n){n!==null&&(this.cursors[0].setState(this.context,n[0].modelState,n[0].viewState),this._setSecondaryStates(n.slice(1)))}_setSecondaryStates(n){const a=this.cursors.length-1,g=n.length;if(a<g){const I=g-a;for(let R=0;R<I;R++)this._addSecondaryCursor()}else if(a>g){const I=a-g;for(let R=0;R<I;R++)this._removeSecondaryCursor(this.cursors.length-2)}for(let I=0;I<g;I++)this.cursors[I+1].setState(this.context,n[I].modelState,n[I].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new ua(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(n){this.lastAddedCursorIndex>=n+1&&this.lastAddedCursorIndex--,this.cursors[n+1].dispose(this.context),this.cursors.splice(n+1,1)}normalize(){if(this.cursors.length===1)return;const n=this.cursors.slice(0),a=[];for(let g=0,I=n.length;g<I;g++)a.push({index:g,selection:n[g].modelState.selection});a.sort((0,d.tT)(g=>g.selection,Ae.e.compareRangesUsingStarts));for(let g=0;g<a.length-1;g++){const I=a[g],R=a[g+1],se=I.selection,Ce=R.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let De;if(Ce.isEmpty()||se.isEmpty()?De=Ce.getStartPosition().isBeforeOrEqual(se.getEndPosition()):De=Ce.getStartPosition().isBefore(se.getEndPosition()),De){const Ie=I.index<R.index?g:g+1,Pe=I.index<R.index?g+1:g,Ke=a[Pe].index,Je=a[Ie].index,nt=a[Pe].selection,Lt=a[Ie].selection;if(!nt.equalsSelection(Lt)){const Tt=nt.plusRange(Lt),Bt=nt.selectionStartLineNumber===nt.startLineNumber&&nt.selectionStartColumn===nt.startColumn,jt=Lt.selectionStartLineNumber===Lt.startLineNumber&&Lt.selectionStartColumn===Lt.startColumn;let fi;Ke===this.lastAddedCursorIndex?(fi=Bt,this.lastAddedCursorIndex=Je):fi=jt;let ei;fi?ei=new O.Y(Tt.startLineNumber,Tt.startColumn,Tt.endLineNumber,Tt.endColumn):ei=new O.Y(Tt.endLineNumber,Tt.endColumn,Tt.startLineNumber,Tt.startColumn),a[Ie].selection=ei;const Ki=ps.Vi.fromModelSelection(ei);n[Je].setState(this.context,Ki.modelState,Ki.viewState)}for(const Tt of a)Tt.index>Ke&&Tt.index--;n.splice(Ke,1),a.splice(Pe,1),this._removeSecondaryCursor(Ke-1),g--}}}}class vr{constructor(n,a,g,I){this._cursorContextBrand=void 0,this.model=n,this.viewModel=a,this.coordinatesConverter=g,this.cursorConfig=I}}var So=m(94316),To=m(12843),ao=m(54910);class dd{constructor(){this.type=0}}class cd{constructor(){this.type=1}}class gc{constructor(n){this.type=2,this._source=n}hasChanged(n){return this._source.hasChanged(n)}}class ul{constructor(n,a){this.type=3,this.selections=n,this.modelSelections=a}}class Go{constructor(n){this.type=4,n?(this.affectsMinimap=n.affectsMinimap,this.affectsOverviewRuler=n.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}}class eo{constructor(){this.type=5}}class Kr{constructor(n){this.type=6,this.isFocused=n}}class fa{constructor(){this.type=7}}class Rr{constructor(){this.type=8}}class yo{constructor(n,a){this.fromLineNumber=n,this.count=a,this.type=9}}class ir{constructor(n,a){this.type=10,this.fromLineNumber=n,this.toLineNumber=a}}class Lo{constructor(n,a){this.type=11,this.fromLineNumber=n,this.toLineNumber=a}}class cs{constructor(n,a,g,I,R,se,Ce){this.source=n,this.minimalReveal=a,this.range=g,this.selections=I,this.verticalType=R,this.revealHorizontal=se,this.scrollType=Ce,this.type=12}}class _i{constructor(n){this.type=13,this.scrollWidth=n.scrollWidth,this.scrollLeft=n.scrollLeft,this.scrollHeight=n.scrollHeight,this.scrollTop=n.scrollTop,this.scrollWidthChanged=n.scrollWidthChanged,this.scrollLeftChanged=n.scrollLeftChanged,this.scrollHeightChanged=n.scrollHeightChanged,this.scrollTopChanged=n.scrollTopChanged}}class $r{constructor(n){this.theme=n,this.type=14}}class Ta{constructor(n){this.type=15,this.ranges=n}}class Ma{constructor(){this.type=16}}class Ho{constructor(){this.type=17}}class nr extends C.JT{constructor(){super(),this._onEvent=this._register(new y.Q5),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(n){this._addOutgoingEvent(n),this._emitOutgoingEvents()}_addOutgoingEvent(n){for(let a=0,g=this._outgoingEvents.length;a<g;a++){const I=this._outgoingEvents[a].kind===n.kind?this._outgoingEvents[a].attemptToMerge(n):null;if(I){this._outgoingEvents[a]=I;return}}this._outgoingEvents.push(n)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;const n=this._outgoingEvents.shift();n.isNoOp()||this._onEvent.fire(n)}}addViewEventHandler(n){for(let a=0,g=this._eventHandlers.length;a<g;a++)this._eventHandlers[a]===n&&console.warn("Detected duplicate listener in ViewEventDispatcher",n);this._eventHandlers.push(n)}removeViewEventHandler(n){for(let a=0;a<this._eventHandlers.length;a++)if(this._eventHandlers[a]===n){this._eventHandlers.splice(a,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new sr),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){const n=this._collector.outgoingEvents,a=this._collector.viewEvents;this._collector=null;for(const g of n)this._addOutgoingEvent(g);a.length>0&&this._emitMany(a)}this._emitOutgoingEvents()}emitSingleViewEvent(n){try{this.beginEmitViewEvents().emitViewEvent(n)}finally{this.endEmitViewEvents()}}_emitMany(n){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(n):this._viewEventQueue=n,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const n=this._viewEventQueue;this._viewEventQueue=null;const a=this._eventHandlers.slice(0);for(const g of a)g.handleEvents(n)}}}class sr{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(n){this.viewEvents.push(n)}emitOutgoingEvent(n){this.outgoingEvents.push(n)}}class mo{constructor(n,a,g,I){this.kind=0,this._oldContentWidth=n,this._oldContentHeight=a,this.contentWidth=g,this.contentHeight=I,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(n){return n.kind!==this.kind?null:new mo(this._oldContentWidth,this._oldContentHeight,n.contentWidth,n.contentHeight)}}class fn{constructor(n,a){this.kind=1,this.oldHasFocus=n,this.hasFocus=a}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(n){return n.kind!==this.kind?null:new fn(this.oldHasFocus,n.hasFocus)}}class Jn{constructor(n,a,g,I,R,se,Ce,De){this.kind=2,this._oldScrollWidth=n,this._oldScrollLeft=a,this._oldScrollHeight=g,this._oldScrollTop=I,this.scrollWidth=R,this.scrollLeft=se,this.scrollHeight=Ce,this.scrollTop=De,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(n){return n.kind!==this.kind?null:new Jn(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,n.scrollWidth,n.scrollLeft,n.scrollHeight,n.scrollTop)}}class fs{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(n){return n.kind!==this.kind?null:this}}class Rs{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(n){return n.kind!==this.kind?null:this}}class Ks{constructor(n,a,g,I,R,se,Ce){this.kind=6,this.oldSelections=n,this.selections=a,this.oldModelVersionId=g,this.modelVersionId=I,this.source=R,this.reason=se,this.reachedMaxCursorCount=Ce}static _selectionsAreEqual(n,a){if(!n&&!a)return!0;if(!n||!a)return!1;const g=n.length,I=a.length;if(g!==I)return!1;for(let R=0;R<g;R++)if(!n[R].equalsSelection(a[R]))return!1;return!0}isNoOp(){return Ks._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(n){return n.kind!==this.kind?null:new Ks(this.oldSelections,n.selections,this.oldModelVersionId,n.modelVersionId,n.source,n.reason,this.reachedMaxCursorCount||n.reachedMaxCursorCount)}}class Ys{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(n){return n.kind!==this.kind?null:this}}class or{constructor(n){this.event=n,this.kind=7}isNoOp(){return!1}attemptToMerge(n){return null}}class fl{constructor(n){this.event=n,this.kind=8}isNoOp(){return!1}attemptToMerge(n){return null}}class gl{constructor(n){this.event=n,this.kind=9}isNoOp(){return!1}attemptToMerge(n){return null}}class ml{constructor(n){this.event=n,this.kind=10}isNoOp(){return!1}attemptToMerge(n){return null}}class mc{constructor(n){this.event=n,this.kind=11}isNoOp(){return!1}attemptToMerge(n){return null}}class Gr{constructor(n){this.event=n,this.kind=12}isNoOp(){return!1}attemptToMerge(n){return null}}class Do extends C.JT{constructor(n,a,g,I){super(),this._model=n,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=a,this._coordinatesConverter=g,this.context=new vr(this._model,this._viewModel,this._coordinatesConverter,I),this._cursors=new ka(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,C.B9)(this._autoClosedActions),super.dispose()}updateConfiguration(n){this.context=new vr(this._model,this._viewModel,this._coordinatesConverter,n),this._cursors.updateContext(this.context)}onLineMappingChanged(n){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(n,"viewModel",0,this.getCursorStates())}setHasFocus(n){this._hasFocus=n}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){const n=this._cursors.getSelections();for(let a=0;a<this._autoClosedActions.length;a++){const g=this._autoClosedActions[a];g.isValid(n)||(g.dispose(),this._autoClosedActions.splice(a,1),a--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(n,a,g,I){let R=!1;I!==null&&I.length>Do.MAX_CURSOR_COUNT&&(I=I.slice(0,Do.MAX_CURSOR_COUNT),R=!0);const se=Aa.from(this._model,this);return this._cursors.setStates(I),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(n,a,g,se,R)}setCursorColumnSelectData(n){this._columnSelectData=n}revealPrimary(n,a,g,I,R,se){const Ce=this._cursors.getViewPositions();let De=null,Ie=null;Ce.length>1?Ie=this._cursors.getViewSelections():De=Ae.e.fromPositions(Ce[0],Ce[0]),n.emitViewEvent(new cs(a,g,De,Ie,I,R,se))}saveState(){const n=[],a=this._cursors.getSelections();for(let g=0,I=a.length;g<I;g++){const R=a[g];n.push({inSelectionMode:!R.isEmpty(),selectionStart:{lineNumber:R.selectionStartLineNumber,column:R.selectionStartColumn},position:{lineNumber:R.positionLineNumber,column:R.positionColumn}})}return n}restoreState(n,a){const g=[];for(let I=0,R=a.length;I<R;I++){const se=a[I];let Ce=1,De=1;se.position&&se.position.lineNumber&&(Ce=se.position.lineNumber),se.position&&se.position.column&&(De=se.position.column);let Ie=Ce,Pe=De;se.selectionStart&&se.selectionStart.lineNumber&&(Ie=se.selectionStart.lineNumber),se.selectionStart&&se.selectionStart.column&&(Pe=se.selectionStart.column),g.push({selectionStartLineNumber:Ie,selectionStartColumn:Pe,positionLineNumber:Ce,positionColumn:De})}this.setStates(n,"restoreState",0,ps.Vi.fromModelSelections(g)),this.revealPrimary(n,"restoreState",!1,0,!0,1)}onModelContentChanged(n,a){if(a instanceof ao.D8){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(n,"modelChange",0,this.getCursorStates())}finally{this._isHandling=!1}}else{const g=a.rawContentChangedEvent;if(this._knownModelVersionId=g.versionId,this._isHandling)return;const I=g.containsEvent(1);if(this._prevEditOperationType=0,I)this._cursors.dispose(),this._cursors=new ka(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(n,"model",1,null,!1);else if(this._hasFocus&&g.resultingSelection&&g.resultingSelection.length>0){const R=ps.Vi.fromModelSelections(g.resultingSelection);this.setStates(n,"modelChange",g.isUndoing?5:g.isRedoing?6:2,R)&&this.revealPrimary(n,"modelChange",!1,0,!0,0)}else{const R=this._cursors.readSelectionFromMarkers();this.setStates(n,"modelChange",2,ps.Vi.fromModelSelections(R))}}}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 n=this._cursors.getPrimaryCursor(),a=n.viewState.selectionStart.getStartPosition(),g=n.viewState.position;return{isReal:!1,fromViewLineNumber:a.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,a),toViewLineNumber:g.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,g)}}getSelections(){return this._cursors.getSelections()}setSelections(n,a,g,I){this.setStates(n,a,I,ps.Vi.fromModelSelections(g))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(n){this._prevEditOperationType=n}_pushAutoClosedAction(n,a){const g=[],I=[];for(let Ce=0,De=n.length;Ce<De;Ce++)g.push({range:n[Ce],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}}),I.push({range:a[Ce],options:{description:"auto-closed-enclosing",stickiness:1}});const R=this._model.deltaDecorations([],g),se=this._model.deltaDecorations([],I);this._autoClosedActions.push(new ga(this._model,R,se))}_executeEditOperation(n){if(!n)return;n.shouldPushStackElementBefore&&this._model.pushStackElement();const a=Th.executeCommands(this._model,this._cursors.getSelections(),n.commands);if(a){this._interpretCommandResult(a);const g=[],I=[];for(let R=0;R<n.commands.length;R++){const se=n.commands[R];se instanceof To.g_&&se.enclosingRange&&se.closeCharacterRange&&(g.push(se.closeCharacterRange),I.push(se.enclosingRange))}g.length>0&&this._pushAutoClosedAction(g,I),this._prevEditOperationType=n.type}n.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(n){(!n||n.length===0)&&(n=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(n),this._cursors.normalize()}_emitStateChangedIfNecessary(n,a,g,I,R){const se=Aa.from(this._model,this);if(se.equals(I))return!1;const Ce=this._cursors.getSelections(),De=this._cursors.getViewSelections();if(n.emitViewEvent(new ul(De,Ce)),!I||I.cursorState.length!==se.cursorState.length||se.cursorState.some((Ie,Pe)=>!Ie.modelState.equals(I.cursorState[Pe].modelState))){const Ie=I?I.cursorState.map(Ke=>Ke.modelState.selection):null,Pe=I?I.modelVersionId:0;n.emitOutgoingEvent(new Ks(Ie,Ce,Pe,se.modelVersionId,a||"keyboard",g,R))}return!0}_findAutoClosingPairs(n){if(!n.length)return null;const a=[];for(let g=0,I=n.length;g<I;g++){const R=n[g];if(!R.text||R.text.indexOf(` `)>=0)return null;const se=R.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!se)return null;const Ce=se[1],De=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(Ce);if(!De||De.length!==1)return null;const Ie=De[0].open,Pe=R.text.length-se[2].length-1,Ke=R.text.lastIndexOf(Ie,Pe-1);if(Ke===-1)return null;a.push([Ke,Pe])}return a}executeEdits(n,a,g,I){let R=null;a==="snippet"&&(R=this._findAutoClosingPairs(g)),R&&(g[0]._isTracked=!0);const se=[],Ce=[],De=this._model.pushEditOperations(this.getSelections(),g,Ie=>{if(R)for(let Ke=0,Je=R.length;Ke<Je;Ke++){const[nt,Lt]=R[Ke],Tt=Ie[Ke],Bt=Tt.range.startLineNumber,jt=Tt.range.startColumn-1+nt,fi=Tt.range.startColumn-1+Lt;se.push(new Ae.e(Bt,fi+1,Bt,fi+2)),Ce.push(new Ae.e(Bt,jt+1,Bt,fi+2))}const Pe=I(Ie);return Pe&&(this._isHandling=!0),Pe});De&&(this._isHandling=!1,this.setSelections(n,a,De,0)),se.length>0&&this._pushAutoClosedAction(se,Ce)}_executeEdit(n,a,g,I=0){if(this.context.cursorConfig.readOnly)return;const R=Aa.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),n()}catch(se){(0,z.dL)(se)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(a,g,I,R,!1)&&this.revealPrimary(a,g,!1,0,!0,0)}getAutoClosedCharacters(){return ga.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(n){this._compositionState=new En(this._model,this.getSelections())}endComposition(n,a){const g=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{a==="keyboard"&&this._executeEditOperation(To.u6.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,g,this.getSelections(),this.getAutoClosedCharacters()))},n,a)}type(n,a,g){this._executeEdit(()=>{if(g==="keyboard"){const I=a.length;let R=0;for(;R<I;){const se=Ht.vH(a,R),Ce=a.substr(R,se);this._executeEditOperation(To.u6.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),Ce)),R+=se}}else this._executeEditOperation(To.u6.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),a))},n,g)}compositionType(n,a,g,I,R,se){if(a.length===0&&g===0&&I===0){if(R!==0){const Ce=this.getSelections().map(De=>{const Ie=De.getPosition();return new O.Y(Ie.lineNumber,Ie.column+R,Ie.lineNumber,Ie.column+R)});this.setSelections(n,se,Ce,0)}return}this._executeEdit(()=>{this._executeEditOperation(To.u6.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),a,g,I,R))},n,se)}paste(n,a,g,I,R){this._executeEdit(()=>{this._executeEditOperation(To.u6.paste(this.context.cursorConfig,this._model,this.getSelections(),a,g,I||[]))},n,R,4)}cut(n,a){this._executeEdit(()=>{this._executeEditOperation(So.A.cut(this.context.cursorConfig,this._model,this.getSelections()))},n,a)}executeCommand(n,a,g){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new ps.Tp(0,[a],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},n,g)}executeCommands(n,a,g){this._executeEdit(()=>{this._executeEditOperation(new ps.Tp(0,a,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},n,g)}}Do.MAX_CURSOR_COUNT=1e4;class Aa{constructor(n,a){this.modelVersionId=n,this.cursorState=a}static from(n,a){return new Aa(n.getVersionId(),a.getCursorStates())}equals(n){if(!n||this.modelVersionId!==n.modelVersionId||this.cursorState.length!==n.cursorState.length)return!1;for(let a=0,g=this.cursorState.length;a<g;a++)if(!this.cursorState[a].equals(n.cursorState[a]))return!1;return!0}}class ga{constructor(n,a,g){this._model=n,this._autoClosedCharactersDecorations=a,this._autoClosedEnclosingDecorations=g}static getAllAutoClosedCharacters(n){let a=[];for(const g of n)a=a.concat(g.getAutoClosedCharactersRanges());return a}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const n=[];for(let a=0;a<this._autoClosedCharactersDecorations.length;a++){const g=this._model.getDecorationRange(this._autoClosedCharactersDecorations[a]);g&&n.push(g)}return n}isValid(n){const a=[];for(let g=0;g<this._autoClosedEnclosingDecorations.length;g++){const I=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[g]);if(I&&(a.push(I),I.startLineNumber!==I.endLineNumber))return!1}a.sort(Ae.e.compareRangesUsingStarts),n.sort(Ae.e.compareRangesUsingStarts);for(let g=0;g<n.length;g++)if(g>=a.length||!a[g].strictContainsRange(n[g]))return!1;return!0}}class Th{static executeCommands(n,a,g){const I={model:n,selectionsBefore:a,trackedRanges:[],trackedRangesDirection:[]},R=this._innerExecuteCommands(I,g);for(let se=0,Ce=I.trackedRanges.length;se<Ce;se++)I.model._setTrackedRange(I.trackedRanges[se],null,0);return R}static _innerExecuteCommands(n,a){if(this._arrayIsEmpty(a))return null;const g=this._getEditOperations(n,a);if(g.operations.length===0)return null;const I=g.operations,R=this._getLoserCursorMap(I);if(R.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;const se=[];for(let Ie=0,Pe=I.length;Ie<Pe;Ie++)R.hasOwnProperty(I[Ie].identifier.major.toString())||se.push(I[Ie]);g.hadTrackedEditOperation&&se.length>0&&(se[0]._isTracked=!0);let Ce=n.model.pushEditOperations(n.selectionsBefore,se,Ie=>{const Pe=[];for(let nt=0;nt<n.selectionsBefore.length;nt++)Pe[nt]=[];for(const nt of Ie)nt.identifier&&Pe[nt.identifier.major].push(nt);const Ke=(nt,Lt)=>nt.identifier.minor-Lt.identifier.minor,Je=[];for(let nt=0;nt<n.selectionsBefore.length;nt++)Pe[nt].length>0?(Pe[nt].sort(Ke),Je[nt]=a[nt].computeCursorState(n.model,{getInverseEditOperations:()=>Pe[nt],getTrackedSelection:Lt=>{const Tt=parseInt(Lt,10),Bt=n.model._getTrackedRange(n.trackedRanges[Tt]);return n.trackedRangesDirection[Tt]===0?new O.Y(Bt.startLineNumber,Bt.startColumn,Bt.endLineNumber,Bt.endColumn):new O.Y(Bt.endLineNumber,Bt.endColumn,Bt.startLineNumber,Bt.startColumn)}})):Je[nt]=n.selectionsBefore[nt];return Je});Ce||(Ce=n.selectionsBefore);const De=[];for(const Ie in R)R.hasOwnProperty(Ie)&&De.push(parseInt(Ie,10));De.sort((Ie,Pe)=>Pe-Ie);for(const Ie of De)Ce.splice(Ie,1);return Ce}static _arrayIsEmpty(n){for(let a=0,g=n.length;a<g;a++)if(n[a])return!1;return!0}static _getEditOperations(n,a){let g=[],I=!1;for(let R=0,se=a.length;R<se;R++){const Ce=a[R];if(Ce){const De=this._getEditOperationsFromCommand(n,R,Ce);g=g.concat(De.operations),I=I||De.hadTrackedEditOperation}}return{operations:g,hadTrackedEditOperation:I}}static _getEditOperationsFromCommand(n,a,g){const I=[];let R=0;const se=(Ke,Je,nt=!1)=>{Ae.e.isEmpty(Ke)&&Je===""||I.push({identifier:{major:a,minor:R++},range:Ke,text:Je,forceMoveMarkers:nt,isAutoWhitespaceEdit:g.insertsAutoWhitespace})};let Ce=!1;const Pe={addEditOperation:se,addTrackedEditOperation:(Ke,Je,nt)=>{Ce=!0,se(Ke,Je,nt)},trackSelection:(Ke,Je)=>{const nt=O.Y.liftSelection(Ke);let Lt;if(nt.isEmpty())if(typeof Je=="boolean")Je?Lt=2:Lt=3;else{const jt=n.model.getLineMaxColumn(nt.startLineNumber);nt.startColumn===jt?Lt=2:Lt=3}else Lt=1;const Tt=n.trackedRanges.length,Bt=n.model._setTrackedRange(null,nt,Lt);return n.trackedRanges[Tt]=Bt,n.trackedRangesDirection[Tt]=nt.getDirection(),Tt.toString()}};try{g.getEditOperations(n.model,Pe)}catch(Ke){return(0,z.dL)(Ke),{operations:[],hadTrackedEditOperation:!1}}return{operations:I,hadTrackedEditOperation:Ce}}static _getLoserCursorMap(n){n=n.slice(0),n.sort((g,I)=>-Ae.e.compareRangesUsingEnds(g.range,I.range));const a={};for(let g=1;g<n.length;g++){const I=n[g-1],R=n[g];if(Ae.e.getStartPosition(I.range).isBefore(Ae.e.getEndPosition(R.range))){let se;I.identifier.major>R.identifier.major?se=I.identifier.major:se=R.identifier.major,a[se.toString()]=!0;for(let Ce=0;Ce<n.length;Ce++)n[Ce].identifier.major===se&&(n.splice(Ce,1),Ce<g&&g--,Ce--);g>0&&g--}}return a}}class Qr{constructor(n,a,g){this.text=n,this.startSelection=a,this.endSelection=g}}class En{constructor(n,a){this._original=En._capture(n,a)}static _capture(n,a){const g=[];for(const I of a){if(I.startLineNumber!==I.endLineNumber)return null;g.push(new Qr(n.getLineContent(I.startLineNumber),I.startColumn-1,I.endColumn-1))}return g}deduceOutcome(n,a){if(!this._original)return null;const g=En._capture(n,a);if(!g||this._original.length!==g.length)return null;const I=[];for(let R=0,se=this._original.length;R<se;R++)I.push(En._deduceOutcome(this._original[R],g[R]));return I}static _deduceOutcome(n,a){const g=Math.min(n.startSelection,a.startSelection,Ht.Mh(n.text,a.text)),I=Math.min(n.text.length-n.endSelection,a.text.length-a.endSelection,Ht.P1(n.text,a.text)),R=n.text.substring(g,n.text.length-I),se=a.text.substring(g,a.text.length-I);return new To.Nu(R,n.startSelection-g,n.endSelection-g,se,a.startSelection-g,a.endSelection-g)}}var Xs=m(83728),Zr=m(59634),hs=m(74840),pl=m(24450),_l=m(74621),hd=m(78759),Mh=m(3759);class pc{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(n){this._hasPending=!0,this._inserts.push(n)}change(n){this._hasPending=!0,this._changes.push(n)}remove(n){this._hasPending=!0,this._removes.push(n)}mustCommit(){return this._hasPending}commit(n){if(!this._hasPending)return;const a=this._inserts,g=this._changes,I=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],n._commitPendingChanges(a,g,I)}}class Ah{constructor(n,a,g,I,R){this.id=n,this.afterLineNumber=a,this.ordinal=g,this.height=I,this.minWidth=R,this.prefixSum=0}}class Qo{constructor(n,a,g,I){this._instanceId=Ht.PJ(++Qo.INSTANCE_COUNT),this._pendingChanges=new pc,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=n,this._lineHeight=a,this._paddingTop=g,this._paddingBottom=I}static findInsertionIndex(n,a,g){let I=0,R=n.length;for(;I<R;){const se=I+R>>>1;a===n[se].afterLineNumber?g<n[se].ordinal?R=se:I=se+1:a<n[se].afterLineNumber?R=se:I=se+1}return I}setLineHeight(n){this._checkPendingChanges(),this._lineHeight=n}setPadding(n,a){this._paddingTop=n,this._paddingBottom=a}onFlushed(n){this._checkPendingChanges(),this._lineCount=n}changeWhitespace(n){let a=!1;try{n({insertWhitespace:(I,R,se,Ce)=>{a=!0,I=I|0,R=R|0,se=se|0,Ce=Ce|0;const De=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Ah(De,I,R,se,Ce)),De},changeOneWhitespace:(I,R,se)=>{a=!0,R=R|0,se=se|0,this._pendingChanges.change({id:I,newAfterLineNumber:R,newHeight:se})},removeWhitespace:I=>{a=!0,this._pendingChanges.remove({id:I})}})}finally{this._pendingChanges.commit(this)}return a}_commitPendingChanges(n,a,g){if((n.length>0||g.length>0)&&(this._minWidth=-1),n.length+a.length+g.length<=1){for(const De of n)this._insertWhitespace(De);for(const De of a)this._changeOneWhitespace(De.id,De.newAfterLineNumber,De.newHeight);for(const De of g){const Ie=this._findWhitespaceIndex(De.id);Ie!==-1&&this._removeWhitespace(Ie)}return}const I=new Set;for(const De of g)I.add(De.id);const R=new Map;for(const De of a)R.set(De.id,De);const se=De=>{const Ie=[];for(const Pe of De)if(!I.has(Pe.id)){if(R.has(Pe.id)){const Ke=R.get(Pe.id);Pe.afterLineNumber=Ke.newAfterLineNumber,Pe.height=Ke.newHeight}Ie.push(Pe)}return Ie},Ce=se(this._arr).concat(se(n));Ce.sort((De,Ie)=>De.afterLineNumber===Ie.afterLineNumber?De.ordinal-Ie.ordinal:De.afterLineNumber-Ie.afterLineNumber),this._arr=Ce,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(n){const a=Qo.findInsertionIndex(this._arr,n.afterLineNumber,n.ordinal);this._arr.splice(a,0,n),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,a-1)}_findWhitespaceIndex(n){const a=this._arr;for(let g=0,I=a.length;g<I;g++)if(a[g].id===n)return g;return-1}_changeOneWhitespace(n,a,g){const I=this._findWhitespaceIndex(n);if(I!==-1&&(this._arr[I].height!==g&&(this._arr[I].height=g,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,I-1)),this._arr[I].afterLineNumber!==a)){const R=this._arr[I];this._removeWhitespace(I),R.afterLineNumber=a,this._insertWhitespace(R)}}_removeWhitespace(n){this._arr.splice(n,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}onLinesDeleted(n,a){this._checkPendingChanges(),n=n|0,a=a|0,this._lineCount-=a-n+1;for(let g=0,I=this._arr.length;g<I;g++){const R=this._arr[g].afterLineNumber;n<=R&&R<=a?this._arr[g].afterLineNumber=n-1:R>a&&(this._arr[g].afterLineNumber-=a-n+1)}}onLinesInserted(n,a){this._checkPendingChanges(),n=n|0,a=a|0,this._lineCount+=a-n+1;for(let g=0,I=this._arr.length;g<I;g++){const R=this._arr[g].afterLineNumber;n<=R&&(this._arr[g].afterLineNumber+=a-n+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(n){this._checkPendingChanges(),n=n|0;let a=Math.max(0,this._prefixSumValidIndex+1);a===0&&(this._arr[0].prefixSum=this._arr[0].height,a++);for(let g=a;g<=n;g++)this._arr[g].prefixSum=this._arr[g-1].prefixSum+this._arr[g].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,n),this._arr[n].prefixSum}getLinesTotalHeight(){this._checkPendingChanges();const n=this._lineHeight*this._lineCount,a=this.getWhitespacesTotalHeight();return n+a+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(n){this._checkPendingChanges(),n=n|0;const a=this._findLastWhitespaceBeforeLineNumber(n);return a===-1?0:this.getWhitespacesAccumulatedHeight(a)}_findLastWhitespaceBeforeLineNumber(n){n=n|0;const a=this._arr;let g=0,I=a.length-1;for(;g<=I;){const se=(I-g|0)/2|0,Ce=g+se|0;if(a[Ce].afterLineNumber<n){if(Ce+1>=a.length||a[Ce+1].afterLineNumber>=n)return Ce;g=Ce+1|0}else I=Ce-1|0}return-1}_findFirstWhitespaceAfterLineNumber(n){n=n|0;const g=this._findLastWhitespaceBeforeLineNumber(n)+1;return g<this._arr.length?g:-1}getFirstWhitespaceIndexAfterLineNumber(n){return this._checkPendingChanges(),n=n|0,this._findFirstWhitespaceAfterLineNumber(n)}getVerticalOffsetForLineNumber(n,a=!1){this._checkPendingChanges(),n=n|0;let g;n>1?g=this._lineHeight*(n-1):g=0;const I=this.getWhitespaceAccumulatedHeightBeforeLineNumber(n-(a?1:0));return g+I+this._paddingTop}getVerticalOffsetAfterLineNumber(n,a=!1){this._checkPendingChanges(),n=n|0;const g=this._lineHeight*n,I=this.getWhitespaceAccumulatedHeightBeforeLineNumber(n+(a?1:0));return g+I+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let n=0;for(let a=0,g=this._arr.length;a<g;a++)n=Math.max(n,this._arr[a].minWidth);this._minWidth=n}return this._minWidth}isAfterLines(n){this._checkPendingChanges();const a=this.getLinesTotalHeight();return n>a}isInTopPadding(n){return this._paddingTop===0?!1:(this._checkPendingChanges(),n<this._paddingTop)}isInBottomPadding(n){if(this._paddingBottom===0)return!1;this._checkPendingChanges();const a=this.getLinesTotalHeight();return n>=a-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(n){if(this._checkPendingChanges(),n=n|0,n<0)return 1;const a=this._lineCount|0,g=this._lineHeight;let I=1,R=a;for(;I<R;){const se=(I+R)/2|0,Ce=this.getVerticalOffsetForLineNumber(se)|0;if(n>=Ce+g)I=se+1;else{if(n>=Ce)return se;R=se}}return I>a?a:I}getLinesViewportData(n,a){this._checkPendingChanges(),n=n|0,a=a|0;const g=this._lineHeight,I=this.getLineNumberAtOrAfterVerticalOffset(n)|0,R=this.getVerticalOffsetForLineNumber(I)|0;let se=this._lineCount|0,Ce=this.getFirstWhitespaceIndexAfterLineNumber(I)|0;const De=this.getWhitespacesCount()|0;let Ie,Pe;Ce===-1?(Ce=De,Pe=se+1,Ie=0):(Pe=this.getAfterLineNumberForWhitespaceIndex(Ce)|0,Ie=this.getHeightForWhitespaceIndex(Ce)|0);let Ke=R,Je=Ke;const nt=5e5;let Lt=0;R>=nt&&(Lt=Math.floor(R/nt)*nt,Lt=Math.floor(Lt/g)*g,Je-=Lt);const Tt=[],Bt=n+(a-n)/2;let jt=-1;for(let di=I;di<=se;di++){if(jt===-1){const tn=Ke,Ji=Ke+g;(tn<=Bt&&Bt<Ji||tn>Bt)&&(jt=di)}for(Ke+=g,Tt[di-I]=Je,Je+=g;Pe===di;)Je+=Ie,Ke+=Ie,Ce++,Ce>=De?Pe=se+1:(Pe=this.getAfterLineNumberForWhitespaceIndex(Ce)|0,Ie=this.getHeightForWhitespaceIndex(Ce)|0);if(Ke>=a){se=di;break}}jt===-1&&(jt=se);const fi=this.getVerticalOffsetForLineNumber(se)|0;let ei=I,Ki=se;return ei<Ki&&R<n&&ei++,ei<Ki&&fi+g>a&&Ki--,{bigNumbersDelta:Lt,startLineNumber:I,endLineNumber:se,relativeVerticalOffset:Tt,centeredLineNumber:jt,completelyVisibleStartLineNumber:ei,completelyVisibleEndLineNumber:Ki}}getVerticalOffsetForWhitespaceIndex(n){this._checkPendingChanges(),n=n|0;const a=this.getAfterLineNumberForWhitespaceIndex(n);let g;a>=1?g=this._lineHeight*a:g=0;let I;return n>0?I=this.getWhitespacesAccumulatedHeight(n-1):I=0,g+I+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(n){this._checkPendingChanges(),n=n|0;let a=0,g=this.getWhitespacesCount()-1;if(g<0)return-1;const I=this.getVerticalOffsetForWhitespaceIndex(g),R=this.getHeightForWhitespaceIndex(g);if(n>=I+R)return-1;for(;a<g;){const se=Math.floor((a+g)/2),Ce=this.getVerticalOffsetForWhitespaceIndex(se),De=this.getHeightForWhitespaceIndex(se);if(n>=Ce+De)a=se+1;else{if(n>=Ce)return se;g=se}}return a}getWhitespaceAtVerticalOffset(n){this._checkPendingChanges(),n=n|0;const a=this.getWhitespaceIndexAtOrAfterVerticallOffset(n);if(a<0||a>=this.getWhitespacesCount())return null;const g=this.getVerticalOffsetForWhitespaceIndex(a);if(g>n)return null;const I=this.getHeightForWhitespaceIndex(a),R=this.getIdForWhitespaceIndex(a),se=this.getAfterLineNumberForWhitespaceIndex(a);return{id:R,afterLineNumber:se,verticalOffset:g,height:I}}getWhitespaceViewportData(n,a){this._checkPendingChanges(),n=n|0,a=a|0;const g=this.getWhitespaceIndexAtOrAfterVerticallOffset(n),I=this.getWhitespacesCount()-1;if(g<0)return[];const R=[];for(let se=g;se<=I;se++){const Ce=this.getVerticalOffsetForWhitespaceIndex(se),De=this.getHeightForWhitespaceIndex(se);if(Ce>=a)break;R.push({id:this.getIdForWhitespaceIndex(se),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(se),verticalOffset:Ce,height:De})}return R}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(n){return this._checkPendingChanges(),n=n|0,this._arr[n].id}getAfterLineNumberForWhitespaceIndex(n){return this._checkPendingChanges(),n=n|0,this._arr[n].afterLineNumber}getHeightForWhitespaceIndex(n){return this._checkPendingChanges(),n=n|0,this._arr[n].height}}Qo.INSTANCE_COUNT=0;const _c=125;class ma{constructor(n,a,g,I){n=n|0,a=a|0,g=g|0,I=I|0,n<0&&(n=0),a<0&&(a=0),g<0&&(g=0),I<0&&(I=0),this.width=n,this.contentWidth=a,this.scrollWidth=Math.max(n,a),this.height=g,this.contentHeight=I,this.scrollHeight=Math.max(g,I)}equals(n){return this.width===n.width&&this.contentWidth===n.contentWidth&&this.height===n.height&&this.contentHeight===n.contentHeight}}class br extends C.JT{constructor(n,a){super(),this._onDidContentSizeChange=this._register(new y.Q5),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new ma(0,0,0,0),this._scrollable=this._register(new Mh.Rm({forceIntegerValues:!0,smoothScrollDuration:n,scheduleAtNextAnimationFrame:a})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(n){this._scrollable.setSmoothScrollDuration(n)}validateScrollPosition(n){return this._scrollable.validateScrollPosition(n)}getScrollDimensions(){return this._dimensions}setScrollDimensions(n){if(this._dimensions.equals(n))return;const a=this._dimensions;this._dimensions=n,this._scrollable.setScrollDimensions({width:n.width,scrollWidth:n.scrollWidth,height:n.height,scrollHeight:n.scrollHeight},!0);const g=a.contentWidth!==n.contentWidth,I=a.contentHeight!==n.contentHeight;(g||I)&&this._onDidContentSizeChange.fire(new mo(a.contentWidth,a.contentHeight,n.contentWidth,n.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(n){this._scrollable.setScrollPositionNow(n)}setScrollPositionSmooth(n){this._scrollable.setScrollPositionSmooth(n)}}class Cc extends C.JT{constructor(n,a,g){super(),this._configuration=n;const I=this._configuration.options,R=I.get(133),se=I.get(77);this._linesLayout=new Qo(a,I.get(61),se.top,se.bottom),this._scrollable=this._register(new br(0,g)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new ma(R.contentWidth,0,R.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(105)?_c:0)}onConfigurationChanged(n){const a=this._configuration.options;if(n.hasChanged(61)&&this._linesLayout.setLineHeight(a.get(61)),n.hasChanged(77)){const g=a.get(77);this._linesLayout.setPadding(g.top,g.bottom)}if(n.hasChanged(133)){const g=a.get(133),I=g.contentWidth,R=g.height,se=this._scrollable.getScrollDimensions(),Ce=se.contentWidth;this._scrollable.setScrollDimensions(new ma(I,se.contentWidth,R,this._getContentHeight(I,R,Ce)))}else this._updateHeight();n.hasChanged(105)&&this._configureSmoothScrollDuration()}onFlushed(n){this._linesLayout.onFlushed(n)}onLinesDeleted(n,a){this._linesLayout.onLinesDeleted(n,a)}onLinesInserted(n,a){this._linesLayout.onLinesInserted(n,a)}_getHorizontalScrollbarHeight(n,a){const I=this._configuration.options.get(94);return I.horizontal===2||n>=a?0:I.horizontalScrollbarSize}_getContentHeight(n,a,g){const I=this._configuration.options;let R=this._linesLayout.getLinesTotalHeight();return I.get(96)?R+=Math.max(0,a-I.get(61)-I.get(77).bottom):R+=this._getHorizontalScrollbarHeight(n,g),R}_updateHeight(){const n=this._scrollable.getScrollDimensions(),a=n.width,g=n.height,I=n.contentWidth;this._scrollable.setScrollDimensions(new ma(a,n.contentWidth,g,this._getContentHeight(a,g,I)))}getCurrentViewport(){const n=this._scrollable.getScrollDimensions(),a=this._scrollable.getCurrentScrollPosition();return new M.l_(a.scrollTop,a.scrollLeft,n.width,n.height)}getFutureViewport(){const n=this._scrollable.getScrollDimensions(),a=this._scrollable.getFutureScrollPosition();return new M.l_(a.scrollTop,a.scrollLeft,n.width,n.height)}_computeContentWidth(n){const a=this._configuration.options,g=a.get(134),I=a.get(46),R=a.get(133);if(g.isViewportWrapping){const se=a.get(67);return n>R.contentWidth+I.typicalHalfwidthCharacterWidth&&se.enabled&&se.side==="right"?n+R.verticalScrollbarWidth:n}else{const se=a.get(95)*I.typicalHalfwidthCharacterWidth,Ce=this._linesLayout.getWhitespaceMinWidth();return Math.max(n+se+R.verticalScrollbarWidth,Ce)}}setMaxLineWidth(n){const a=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new ma(a.width,this._computeContentWidth(n),a.height,a.contentHeight)),this._updateHeight()}saveState(){const n=this._scrollable.getFutureScrollPosition(),a=n.scrollTop,g=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(a),I=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(g);return{scrollTop:a,scrollTopWithoutViewZones:a-I,scrollLeft:n.scrollLeft}}changeWhitespace(n){const a=this._linesLayout.changeWhitespace(n);return a&&this.onHeightMaybeChanged(),a}getVerticalOffsetForLineNumber(n,a=!1){return this._linesLayout.getVerticalOffsetForLineNumber(n,a)}getVerticalOffsetAfterLineNumber(n,a=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(n,a)}isAfterLines(n){return this._linesLayout.isAfterLines(n)}isInTopPadding(n){return this._linesLayout.isInTopPadding(n)}isInBottomPadding(n){return this._linesLayout.isInBottomPadding(n)}getLineNumberAtVerticalOffset(n){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(n)}getWhitespaceAtVerticalOffset(n){return this._linesLayout.getWhitespaceAtVerticalOffset(n)}getLinesViewportData(){const n=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(n.top,n.top+n.height)}getLinesViewportDataAtScrollTop(n){const a=this._scrollable.getScrollDimensions();return n+a.height>a.scrollHeight&&(n=a.scrollHeight-a.height),n<0&&(n=0),this._linesLayout.getLinesViewportData(n,n+a.height)}getWhitespaceViewportData(){const n=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(n.top,n.top+n.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(n){return this._scrollable.validateScrollPosition(n)}setScrollPosition(n,a){a===1?this._scrollable.setScrollPositionNow(n):this._scrollable.setScrollPositionSmooth(n)}deltaScrollNow(n,a){const g=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:g.scrollLeft+n,scrollTop:g.scrollTop+a})}}var Mo=m(43025),vc=m(38684);function ud(qe,n){return qe===null?n?wr.INSTANCE:Pa.INSTANCE:new Ra(qe,n)}class Ra{constructor(n,a){this._projectionData=n,this._isVisible=a}isVisible(){return this._isVisible}setVisible(n){return this._isVisible=n,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(n,a,g){this._assertVisible();const I=g>0?this._projectionData.breakOffsets[g-1]:0,R=this._projectionData.breakOffsets[g];let se;if(this._projectionData.injectionOffsets!==null){const Ce=this._projectionData.injectionOffsets.map((Ie,Pe)=>new ao.gk(0,0,Ie+1,this._projectionData.injectionOptions[Pe],0));se=ao.gk.applyInjectedText(n.getLineContent(a),Ce).substring(I,R)}else se=n.getValueInRange({startLineNumber:a,startColumn:I+1,endLineNumber:a,endColumn:R+1});return g>0&&(se=Cl(this._projectionData.wrappedTextIndentLength)+se),se}getViewLineLength(n,a,g){return this._assertVisible(),this._projectionData.getLineLength(g)}getViewLineMinColumn(n,a,g){return this._assertVisible(),this._projectionData.getMinOutputOffset(g)+1}getViewLineMaxColumn(n,a,g){return this._assertVisible(),this._projectionData.getMaxOutputOffset(g)+1}getViewLineData(n,a,g){const I=new Array;return this.getViewLinesData(n,a,g,1,0,[!0],I),I[0]}getViewLinesData(n,a,g,I,R,se,Ce){this._assertVisible();const De=this._projectionData,Ie=De.injectionOffsets,Pe=De.injectionOptions;let Ke=null;if(Ie){Ke=[];let nt=0,Lt=0;for(let Tt=0;Tt<De.getOutputLineCount();Tt++){const Bt=new Array;Ke[Tt]=Bt;const jt=Tt>0?De.breakOffsets[Tt-1]:0,fi=De.breakOffsets[Tt];for(;Lt<Ie.length;){const ei=Pe[Lt].content.length,Ki=Ie[Lt]+nt,di=Ki+ei;if(Ki>fi)break;if(jt<di){const tn=Pe[Lt];if(tn.inlineClassName){const Ji=Tt>0?De.wrappedTextIndentLength:0,zi=Ji+Math.max(Ki-jt,0),rn=Ji+Math.min(di-jt,fi);zi!==rn&&Bt.push(new M.Wx(zi,rn,tn.inlineClassName,tn.inlineClassNameAffectsLetterSpacing))}}if(di<=fi)nt+=ei,Lt++;else break}}}let Je;Ie?Je=n.tokenization.getLineTokens(a).withInserted(Ie.map((nt,Lt)=>({offset:nt,text:Pe[Lt].content,tokenMetadata:vc.A.defaultTokenMetadata}))):Je=n.tokenization.getLineTokens(a);for(let nt=g;nt<g+I;nt++){const Lt=R+nt-g;if(!se[Lt]){Ce[Lt]=null;continue}Ce[Lt]=this._getViewLineData(Je,Ke?Ke[nt]:null,nt)}}_getViewLineData(n,a,g){this._assertVisible();const I=this._projectionData,R=g>0?I.wrappedTextIndentLength:0,se=g>0?I.breakOffsets[g-1]:0,Ce=I.breakOffsets[g],De=n.sliceAndInflate(se,Ce,R);let Ie=De.getLineContent();g>0&&(Ie=Cl(I.wrappedTextIndentLength)+Ie);const Pe=this._projectionData.getMinOutputOffset(g)+1,Ke=Ie.length+1,Je=g+1<this.getViewLineCount(),nt=g===0?0:I.breakOffsetsVisibleColumn[g-1];return new M.IP(Ie,Je,Pe,Ke,nt,De,a)}getModelColumnOfViewPosition(n,a){return this._assertVisible(),this._projectionData.translateToInputOffset(n,a-1)+1}getViewPositionOfModelPosition(n,a,g=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(a-1,g).toPosition(n)}getViewLineNumberOfModelPosition(n,a){this._assertVisible();const g=this._projectionData.translateToOutputPosition(a-1);return n+g.outputLineIndex}normalizePosition(n,a,g){const I=a.lineNumber-n;return this._projectionData.normalizeOutputPosition(n,a.column-1,g).toPosition(I)}getInjectedTextAt(n,a){return this._projectionData.getInjectedText(n,a-1)}_assertVisible(){if(!this._isVisible)throw new Error("Not supported")}}class wr{constructor(){}isVisible(){return!0}setVisible(n){return n?this:Pa.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(n,a,g){return n.getLineContent(a)}getViewLineLength(n,a,g){return n.getLineLength(a)}getViewLineMinColumn(n,a,g){return n.getLineMinColumn(a)}getViewLineMaxColumn(n,a,g){return n.getLineMaxColumn(a)}getViewLineData(n,a,g){const I=n.tokenization.getLineTokens(a),R=I.getLineContent();return new M.IP(R,!1,1,R.length+1,0,I.inflate(),null)}getViewLinesData(n,a,g,I,R,se,Ce){if(!se[R]){Ce[R]=null;return}Ce[R]=this.getViewLineData(n,a,0)}getModelColumnOfViewPosition(n,a){return a}getViewPositionOfModelPosition(n,a){return new Ei.L(n,a)}getViewLineNumberOfModelPosition(n,a){return n}normalizePosition(n,a,g){return a}getInjectedTextAt(n,a){return null}}wr.INSTANCE=new wr;class Pa{constructor(){}isVisible(){return!1}setVisible(n){return n?wr.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(n,a,g){throw new Error("Not supported")}getViewLineLength(n,a,g){throw new Error("Not supported")}getViewLineMinColumn(n,a,g){throw new Error("Not supported")}getViewLineMaxColumn(n,a,g){throw new Error("Not supported")}getViewLineData(n,a,g){throw new Error("Not supported")}getViewLinesData(n,a,g,I,R,se,Ce){throw new Error("Not supported")}getModelColumnOfViewPosition(n,a){throw new Error("Not supported")}getViewPositionOfModelPosition(n,a){throw new Error("Not supported")}getViewLineNumberOfModelPosition(n,a){throw new Error("Not supported")}normalizePosition(n,a,g){throw new Error("Not supported")}getInjectedTextAt(n,a){throw new Error("Not supported")}}Pa.INSTANCE=new Pa;const Oa=[""];function Cl(qe){if(qe>=Oa.length)for(let n=1;n<=qe;n++)Oa[n]=pa(n);return Oa[qe]}function pa(qe){return new Array(qe+1).join(" ")}var vl=m(95320);class fd{constructor(n,a,g,I,R,se,Ce,De,Ie){this._editorId=n,this.model=a,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=g,this._monospaceLineBreaksComputerFactory=I,this.fontInfo=R,this.tabSize=se,this.wrappingStrategy=Ce,this.wrappingColumn=De,this.wrappingIndent=Ie,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new Fa(this)}_constructLines(n,a){this.modelLineProjections=[],n&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const g=this.model.getLinesContent(),I=this.model.getInjectedTextDecorations(this._editorId),R=g.length,se=this.createLineBreaksComputer(),Ce=new d.H9(ao.gk.fromDecorations(I));for(let Tt=0;Tt<R;Tt++){const Bt=Ce.takeWhile(jt=>jt.lineNumber===Tt+1);se.addRequest(g[Tt],Bt,a?a[Tt]:null)}const De=se.finalize(),Ie=[],Pe=this.hiddenAreasDecorationIds.map(Tt=>this.model.getDecorationRange(Tt)).sort(Ae.e.compareRangesUsingStarts);let Ke=1,Je=0,nt=-1,Lt=nt+1<Pe.length?Je+1:R+2;for(let Tt=0;Tt<R;Tt++){const Bt=Tt+1;Bt===Lt&&(nt++,Ke=Pe[nt].startLineNumber,Je=Pe[nt].endLineNumber,Lt=nt+1<Pe.length?Je+1:R+2);const jt=Bt>=Ke&&Bt<=Je,fi=ud(De[Tt],!jt);Ie[Tt]=fi.getViewLineCount(),this.modelLineProjections[Tt]=fi}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new vl.Ck(Ie)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(n=>this.model.getDecorationRange(n))}setHiddenAreas(n){const a=n.map(Je=>this.model.validateRange(Je)),g=bc(a),I=this.hiddenAreasDecorationIds.map(Je=>this.model.getDecorationRange(Je)).sort(Ae.e.compareRangesUsingStarts);if(g.length===I.length){let Je=!1;for(let nt=0;nt<g.length;nt++)if(!g[nt].equalsRange(I[nt])){Je=!0;break}if(!Je)return!1}const R=g.map(Je=>({range:Je,options:pl.qx.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,R);const se=g;let Ce=1,De=0,Ie=-1,Pe=Ie+1<se.length?De+1:this.modelLineProjections.length+2,Ke=!1;for(let Je=0;Je<this.modelLineProjections.length;Je++){const nt=Je+1;nt===Pe&&(Ie++,Ce=se[Ie].startLineNumber,De=se[Ie].endLineNumber,Pe=Ie+1<se.length?De+1:this.modelLineProjections.length+2);let Lt=!1;if(nt>=Ce&&nt<=De?this.modelLineProjections[Je].isVisible()&&(this.modelLineProjections[Je]=this.modelLineProjections[Je].setVisible(!1),Lt=!0):(Ke=!0,this.modelLineProjections[Je].isVisible()||(this.modelLineProjections[Je]=this.modelLineProjections[Je].setVisible(!0),Lt=!0)),Lt){const Tt=this.modelLineProjections[Je].getViewLineCount();this.projectedModelLineLineCounts.setValue(Je,Tt)}}return Ke||this.setHiddenAreas([]),!0}modelPositionIsVisible(n,a){return n<1||n>this.modelLineProjections.length?!1:this.modelLineProjections[n-1].isVisible()}getModelLineViewLineCount(n){return n<1||n>this.modelLineProjections.length?1:this.modelLineProjections[n-1].getViewLineCount()}setTabSize(n){return this.tabSize===n?!1:(this.tabSize=n,this._constructLines(!1,null),!0)}setWrappingSettings(n,a,g,I){const R=this.fontInfo.equals(n),se=this.wrappingStrategy===a,Ce=this.wrappingColumn===g,De=this.wrappingIndent===I;if(R&&se&&Ce&&De)return!1;const Ie=R&&se&&!Ce&&De;this.fontInfo=n,this.wrappingStrategy=a,this.wrappingColumn=g,this.wrappingIndent=I;let Pe=null;if(Ie){Pe=[];for(let Ke=0,Je=this.modelLineProjections.length;Ke<Je;Ke++)Pe[Ke]=this.modelLineProjections[Ke].getProjectionData()}return this._constructLines(!1,Pe),!0}createLineBreaksComputer(){return(this.wrappingStrategy==="advanced"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(n,a,g){if(!n||n<=this._validModelVersionId)return null;const I=a===1?1:this.projectedModelLineLineCounts.getPrefixSum(a-1)+1,R=this.projectedModelLineLineCounts.getPrefixSum(g);return this.modelLineProjections.splice(a-1,g-a+1),this.projectedModelLineLineCounts.removeValues(a-1,g-a+1),new ir(I,R)}onModelLinesInserted(n,a,g,I){if(!n||n<=this._validModelVersionId)return null;const R=a>2&&!this.modelLineProjections[a-2].isVisible(),se=a===1?1:this.projectedModelLineLineCounts.getPrefixSum(a-1)+1;let Ce=0;const De=[],Ie=[];for(let Pe=0,Ke=I.length;Pe<Ke;Pe++){const Je=ud(I[Pe],!R);De.push(Je);const nt=Je.getViewLineCount();Ce+=nt,Ie[Pe]=nt}return this.modelLineProjections=this.modelLineProjections.slice(0,a-1).concat(De).concat(this.modelLineProjections.slice(a-1)),this.projectedModelLineLineCounts.insertValues(a-1,Ie),new Lo(se,se+Ce-1)}onModelLineChanged(n,a,g){if(n!==null&&n<=this._validModelVersionId)return[!1,null,null,null];const I=a-1,R=this.modelLineProjections[I].getViewLineCount(),se=this.modelLineProjections[I].isVisible(),Ce=ud(g,se);this.modelLineProjections[I]=Ce;const De=this.modelLineProjections[I].getViewLineCount();let Ie=!1,Pe=0,Ke=-1,Je=0,nt=-1,Lt=0,Tt=-1;R>De?(Pe=this.projectedModelLineLineCounts.getPrefixSum(a-1)+1,Ke=Pe+De-1,Lt=Ke+1,Tt=Lt+(R-De)-1,Ie=!0):R<De?(Pe=this.projectedModelLineLineCounts.getPrefixSum(a-1)+1,Ke=Pe+R-1,Je=Ke+1,nt=Je+(De-R)-1,Ie=!0):(Pe=this.projectedModelLineLineCounts.getPrefixSum(a-1)+1,Ke=Pe+De-1),this.projectedModelLineLineCounts.setValue(I,De);const Bt=Pe<=Ke?new yo(Pe,Ke-Pe+1):null,jt=Je<=nt?new Lo(Je,nt):null,fi=Lt<=Tt?new ir(Lt,Tt):null;return[Ie,Bt,jt,fi]}acceptVersionId(n){this._validModelVersionId=n,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(n){if(n<1)return 1;const a=this.getViewLineCount();return n>a?a:n|0}getActiveIndentGuide(n,a,g){n=this._toValidViewLineNumber(n),a=this._toValidViewLineNumber(a),g=this._toValidViewLineNumber(g);const I=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),R=this.convertViewPositionToModelPosition(a,this.getViewLineMinColumn(a)),se=this.convertViewPositionToModelPosition(g,this.getViewLineMinColumn(g)),Ce=this.model.guides.getActiveIndentGuide(I.lineNumber,R.lineNumber,se.lineNumber),De=this.convertModelPositionToViewPosition(Ce.startLineNumber,1),Ie=this.convertModelPositionToViewPosition(Ce.endLineNumber,this.model.getLineMaxColumn(Ce.endLineNumber));return{startLineNumber:De.lineNumber,endLineNumber:Ie.lineNumber,indent:Ce.indent}}getViewLineInfo(n){n=this._toValidViewLineNumber(n);const a=this.projectedModelLineLineCounts.getIndexOf(n-1),g=a.index,I=a.remainder;return new bl(g+1,I)}getMinColumnOfViewLine(n){return this.modelLineProjections[n.modelLineNumber-1].getViewLineMinColumn(this.model,n.modelLineNumber,n.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(n){return this.modelLineProjections[n.modelLineNumber-1].getViewLineMaxColumn(this.model,n.modelLineNumber,n.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(n){const a=this.modelLineProjections[n.modelLineNumber-1],g=a.getViewLineMinColumn(this.model,n.modelLineNumber,n.modelLineWrappedLineIdx),I=a.getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,g);return new Ei.L(n.modelLineNumber,I)}getModelEndPositionOfViewLine(n){const a=this.modelLineProjections[n.modelLineNumber-1],g=a.getViewLineMaxColumn(this.model,n.modelLineNumber,n.modelLineWrappedLineIdx),I=a.getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,g);return new Ei.L(n.modelLineNumber,I)}getViewLineInfosGroupedByModelRanges(n,a){const g=this.getViewLineInfo(n),I=this.getViewLineInfo(a),R=new Array;let se=this.getModelStartPositionOfViewLine(g),Ce=new Array;for(let De=g.modelLineNumber;De<=I.modelLineNumber;De++){const Ie=this.modelLineProjections[De-1];if(Ie.isVisible()){const Pe=De===g.modelLineNumber?g.modelLineWrappedLineIdx:0,Ke=De===I.modelLineNumber?I.modelLineWrappedLineIdx+1:Ie.getViewLineCount();for(let Je=Pe;Je<Ke;Je++)Ce.push(new bl(De,Je))}if(!Ie.isVisible()&&se){const Pe=new Ei.L(De-1,this.model.getLineMaxColumn(De-1)+1),Ke=Ae.e.fromPositions(se,Pe);R.push(new Bs(Ke,Ce)),Ce=[],se=null}else Ie.isVisible()&&!se&&(se=new Ei.L(De,1))}if(se){const De=Ae.e.fromPositions(se,this.getModelEndPositionOfViewLine(I));R.push(new Bs(De,Ce))}return R}getViewLinesBracketGuides(n,a,g,I){const R=g?this.convertViewPositionToModelPosition(g.lineNumber,g.column):null,se=[];for(const Ce of this.getViewLineInfosGroupedByModelRanges(n,a)){const De=Ce.modelRange.startLineNumber,Ie=this.model.guides.getLinesBracketGuides(De,Ce.modelRange.endLineNumber,R,I);for(const Pe of Ce.viewLines){const Je=Ie[Pe.modelLineNumber-De].map(nt=>{if(nt.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[Pe.modelLineNumber-1].getViewPositionOfModelPosition(0,nt.forWrappedLinesAfterColumn).lineNumber>=Pe.modelLineWrappedLineIdx||nt.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[Pe.modelLineNumber-1].getViewPositionOfModelPosition(0,nt.forWrappedLinesBeforeOrAtColumn).lineNumber<Pe.modelLineWrappedLineIdx)return;if(!nt.horizontalLine)return nt;let Lt=-1;if(nt.column!==-1){const jt=this.modelLineProjections[Pe.modelLineNumber-1].getViewPositionOfModelPosition(0,nt.column);if(jt.lineNumber===Pe.modelLineWrappedLineIdx)Lt=jt.column;else if(jt.lineNumber<Pe.modelLineWrappedLineIdx)Lt=this.getMinColumnOfViewLine(Pe);else if(jt.lineNumber>Pe.modelLineWrappedLineIdx)return}const Tt=this.convertModelPositionToViewPosition(Pe.modelLineNumber,nt.horizontalLine.endColumn),Bt=this.modelLineProjections[Pe.modelLineNumber-1].getViewPositionOfModelPosition(0,nt.horizontalLine.endColumn);return Bt.lineNumber===Pe.modelLineWrappedLineIdx?new vs.UO(nt.visibleColumn,Lt,nt.className,new vs.vW(nt.horizontalLine.top,Tt.column),-1,-1):Bt.lineNumber<Pe.modelLineWrappedLineIdx||nt.visibleColumn!==-1?void 0:new vs.UO(nt.visibleColumn,Lt,nt.className,new vs.vW(nt.horizontalLine.top,this.getMaxColumnOfViewLine(Pe)),-1,-1)});se.push(Je.filter(nt=>!!nt))}}return se}getViewLinesIndentGuides(n,a){n=this._toValidViewLineNumber(n),a=this._toValidViewLineNumber(a);const g=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),I=this.convertViewPositionToModelPosition(a,this.getViewLineMaxColumn(a));let R=[];const se=[],Ce=[],De=g.lineNumber-1,Ie=I.lineNumber-1;let Pe=null;for(let Lt=De;Lt<=Ie;Lt++){const Tt=this.modelLineProjections[Lt];if(Tt.isVisible()){const Bt=Tt.getViewLineNumberOfModelPosition(0,Lt===De?g.column:1),jt=Tt.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(Lt+1)),fi=jt-Bt+1;let ei=0;fi>1&&Tt.getViewLineMinColumn(this.model,Lt+1,jt)===1&&(ei=Bt===0?1:2),se.push(fi),Ce.push(ei),Pe===null&&(Pe=new Ei.L(Lt+1,0))}else Pe!==null&&(R=R.concat(this.model.guides.getLinesIndentGuides(Pe.lineNumber,Lt)),Pe=null)}Pe!==null&&(R=R.concat(this.model.guides.getLinesIndentGuides(Pe.lineNumber,I.lineNumber)),Pe=null);const Ke=a-n+1,Je=new Array(Ke);let nt=0;for(let Lt=0,Tt=R.length;Lt<Tt;Lt++){let Bt=R[Lt];const jt=Math.min(Ke-nt,se[Lt]),fi=Ce[Lt];let ei;fi===2?ei=0:fi===1?ei=1:ei=jt;for(let Ki=0;Ki<jt;Ki++)Ki===ei&&(Bt=0),Je[nt++]=Bt}return Je}getViewLineContent(n){const a=this.getViewLineInfo(n);return this.modelLineProjections[a.modelLineNumber-1].getViewLineContent(this.model,a.modelLineNumber,a.modelLineWrappedLineIdx)}getViewLineLength(n){const a=this.getViewLineInfo(n);return this.modelLineProjections[a.modelLineNumber-1].getViewLineLength(this.model,a.modelLineNumber,a.modelLineWrappedLineIdx)}getViewLineMinColumn(n){const a=this.getViewLineInfo(n);return this.modelLineProjections[a.modelLineNumber-1].getViewLineMinColumn(this.model,a.modelLineNumber,a.modelLineWrappedLineIdx)}getViewLineMaxColumn(n){const a=this.getViewLineInfo(n);return this.modelLineProjections[a.modelLineNumber-1].getViewLineMaxColumn(this.model,a.modelLineNumber,a.modelLineWrappedLineIdx)}getViewLineData(n){const a=this.getViewLineInfo(n);return this.modelLineProjections[a.modelLineNumber-1].getViewLineData(this.model,a.modelLineNumber,a.modelLineWrappedLineIdx)}getViewLinesData(n,a,g){n=this._toValidViewLineNumber(n),a=this._toValidViewLineNumber(a);const I=this.projectedModelLineLineCounts.getIndexOf(n-1);let R=n;const se=I.index,Ce=I.remainder,De=[];for(let Ie=se,Pe=this.model.getLineCount();Ie<Pe;Ie++){const Ke=this.modelLineProjections[Ie];if(!Ke.isVisible())continue;const Je=Ie===se?Ce:0;let nt=Ke.getViewLineCount()-Je,Lt=!1;if(R+nt>a&&(Lt=!0,nt=a-R+1),Ke.getViewLinesData(this.model,Ie+1,Je,nt,R-n,g,De),R+=nt,Lt)break}return De}validateViewPosition(n,a,g){n=this._toValidViewLineNumber(n);const I=this.projectedModelLineLineCounts.getIndexOf(n-1),R=I.index,se=I.remainder,Ce=this.modelLineProjections[R],De=Ce.getViewLineMinColumn(this.model,R+1,se),Ie=Ce.getViewLineMaxColumn(this.model,R+1,se);a<De&&(a=De),a>Ie&&(a=Ie);const Pe=Ce.getModelColumnOfViewPosition(se,a);return this.model.validatePosition(new Ei.L(R+1,Pe)).equals(g)?new Ei.L(n,a):this.convertModelPositionToViewPosition(g.lineNumber,g.column)}validateViewRange(n,a){const g=this.validateViewPosition(n.startLineNumber,n.startColumn,a.getStartPosition()),I=this.validateViewPosition(n.endLineNumber,n.endColumn,a.getEndPosition());return new Ae.e(g.lineNumber,g.column,I.lineNumber,I.column)}convertViewPositionToModelPosition(n,a){const g=this.getViewLineInfo(n),I=this.modelLineProjections[g.modelLineNumber-1].getModelColumnOfViewPosition(g.modelLineWrappedLineIdx,a);return this.model.validatePosition(new Ei.L(g.modelLineNumber,I))}convertViewRangeToModelRange(n){const a=this.convertViewPositionToModelPosition(n.startLineNumber,n.startColumn),g=this.convertViewPositionToModelPosition(n.endLineNumber,n.endColumn);return new Ae.e(a.lineNumber,a.column,g.lineNumber,g.column)}convertModelPositionToViewPosition(n,a,g=2){const I=this.model.validatePosition(new Ei.L(n,a)),R=I.lineNumber,se=I.column;let Ce=R-1,De=!1;for(;Ce>0&&!this.modelLineProjections[Ce].isVisible();)Ce--,De=!0;if(Ce===0&&!this.modelLineProjections[Ce].isVisible())return new Ei.L(1,1);const Ie=1+this.projectedModelLineLineCounts.getPrefixSum(Ce);let Pe;return De?Pe=this.modelLineProjections[Ce].getViewPositionOfModelPosition(Ie,this.model.getLineMaxColumn(Ce+1),g):Pe=this.modelLineProjections[R-1].getViewPositionOfModelPosition(Ie,se,g),Pe}convertModelRangeToViewRange(n,a=0){if(n.isEmpty()){const g=this.convertModelPositionToViewPosition(n.startLineNumber,n.startColumn,a);return Ae.e.fromPositions(g)}else{const g=this.convertModelPositionToViewPosition(n.startLineNumber,n.startColumn,1),I=this.convertModelPositionToViewPosition(n.endLineNumber,n.endColumn,0);return new Ae.e(g.lineNumber,g.column,I.lineNumber,I.column)}}getViewLineNumberOfModelPosition(n,a){let g=n-1;if(this.modelLineProjections[g].isVisible()){const R=1+this.projectedModelLineLineCounts.getPrefixSum(g);return this.modelLineProjections[g].getViewLineNumberOfModelPosition(R,a)}for(;g>0&&!this.modelLineProjections[g].isVisible();)g--;if(g===0&&!this.modelLineProjections[g].isVisible())return 1;const I=1+this.projectedModelLineLineCounts.getPrefixSum(g);return this.modelLineProjections[g].getViewLineNumberOfModelPosition(I,this.model.getLineMaxColumn(g+1))}getDecorationsInRange(n,a,g){const I=this.convertViewPositionToModelPosition(n.startLineNumber,n.startColumn),R=this.convertViewPositionToModelPosition(n.endLineNumber,n.endColumn);if(R.lineNumber-I.lineNumber<=n.endLineNumber-n.startLineNumber)return this.model.getDecorationsInRange(new Ae.e(I.lineNumber,1,R.lineNumber,R.column),a,g);let se=[];const Ce=I.lineNumber-1,De=R.lineNumber-1;let Ie=null;for(let nt=Ce;nt<=De;nt++)if(this.modelLineProjections[nt].isVisible())Ie===null&&(Ie=new Ei.L(nt+1,nt===Ce?I.column:1));else if(Ie!==null){const Tt=this.model.getLineMaxColumn(nt);se=se.concat(this.model.getDecorationsInRange(new Ae.e(Ie.lineNumber,Ie.column,nt,Tt),a,g)),Ie=null}Ie!==null&&(se=se.concat(this.model.getDecorationsInRange(new Ae.e(Ie.lineNumber,Ie.column,R.lineNumber,R.column),a,g)),Ie=null),se.sort((nt,Lt)=>{const Tt=Ae.e.compareRangesUsingStarts(nt.range,Lt.range);return Tt===0?nt.id<Lt.id?-1:nt.id>Lt.id?1:0:Tt});const Pe=[];let Ke=0,Je=null;for(const nt of se){const Lt=nt.id;Je!==Lt&&(Je=Lt,Pe[Ke++]=nt)}return Pe}getInjectedTextAt(n){const a=this.getViewLineInfo(n.lineNumber);return this.modelLineProjections[a.modelLineNumber-1].getInjectedTextAt(a.modelLineWrappedLineIdx,n.column)}normalizePosition(n,a){const g=this.getViewLineInfo(n.lineNumber);return this.modelLineProjections[g.modelLineNumber-1].normalizePosition(g.modelLineWrappedLineIdx,n,a)}getLineIndentColumn(n){const a=this.getViewLineInfo(n);return a.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(a.modelLineNumber):0}}function bc(qe){if(qe.length===0)return[];const n=qe.slice();n.sort(Ae.e.compareRangesUsingStarts);const a=[];let g=n[0].startLineNumber,I=n[0].endLineNumber;for(let R=1,se=n.length;R<se;R++){const Ce=n[R];Ce.startLineNumber>I+1?(a.push(new Ae.e(g,1,I,1)),g=Ce.startLineNumber,I=Ce.endLineNumber):Ce.endLineNumber>I&&(I=Ce.endLineNumber)}return a.push(new Ae.e(g,1,I,1)),a}class bl{constructor(n,a){this.modelLineNumber=n,this.modelLineWrappedLineIdx=a}}class Bs{constructor(n,a){this.modelRange=n,this.viewLines=a}}class Fa{constructor(n){this._lines=n}convertViewPositionToModelPosition(n){return this._lines.convertViewPositionToModelPosition(n.lineNumber,n.column)}convertViewRangeToModelRange(n){return this._lines.convertViewRangeToModelRange(n)}validateViewPosition(n,a){return this._lines.validateViewPosition(n.lineNumber,n.column,a)}validateViewRange(n,a){return this._lines.validateViewRange(n,a)}convertModelPositionToViewPosition(n,a){return this._lines.convertModelPositionToViewPosition(n.lineNumber,n.column,a)}convertModelRangeToViewRange(n,a){return this._lines.convertModelRangeToViewRange(n,a)}modelPositionIsVisible(n){return this._lines.modelPositionIsVisible(n.lineNumber,n.column)}getModelLineViewLineCount(n){return this._lines.getModelLineViewLineCount(n)}getViewLineNumberOfModelPosition(n,a){return this._lines.getViewLineNumberOfModelPosition(n,a)}}class zs{constructor(n){this.model=n}dispose(){}createCoordinatesConverter(){return new Ba(this)}getHiddenAreas(){return[]}setHiddenAreas(n){return!1}setTabSize(n){return!1}setWrappingSettings(n,a,g,I){return!1}createLineBreaksComputer(){const n=[];return{addRequest:(a,g,I)=>{n.push(null)},finalize:()=>n}}onModelFlushed(){}onModelLinesDeleted(n,a,g){return new ir(a,g)}onModelLinesInserted(n,a,g,I){return new Lo(a,g)}onModelLineChanged(n,a,g){return[!1,new yo(a,1),null,null]}acceptVersionId(n){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(n,a,g){return{startLineNumber:n,endLineNumber:n,indent:0}}getViewLinesBracketGuides(n,a,g){return new Array(a-n+1).fill([])}getViewLinesIndentGuides(n,a){const g=a-n+1,I=new Array(g);for(let R=0;R<g;R++)I[R]=0;return I}getViewLineContent(n){return this.model.getLineContent(n)}getViewLineLength(n){return this.model.getLineLength(n)}getViewLineMinColumn(n){return this.model.getLineMinColumn(n)}getViewLineMaxColumn(n){return this.model.getLineMaxColumn(n)}getViewLineData(n){const a=this.model.tokenization.getLineTokens(n),g=a.getLineContent();return new M.IP(g,!1,1,g.length+1,0,a.inflate(),null)}getViewLinesData(n,a,g){const I=this.model.getLineCount();n=Math.min(Math.max(1,n),I),a=Math.min(Math.max(1,a),I);const R=[];for(let se=n;se<=a;se++){const Ce=se-n;R[Ce]=g[Ce]?this.getViewLineData(se):null}return R}getDecorationsInRange(n,a,g){return this.model.getDecorationsInRange(n,a,g)}normalizePosition(n,a){return this.model.normalizePosition(n,a)}getLineIndentColumn(n){return this.model.getLineIndentColumn(n)}getInjectedTextAt(n){return null}}class Ba{constructor(n){this._lines=n}_validPosition(n){return this._lines.model.validatePosition(n)}_validRange(n){return this._lines.model.validateRange(n)}convertViewPositionToModelPosition(n){return this._validPosition(n)}convertViewRangeToModelRange(n){return this._validRange(n)}validateViewPosition(n,a){return this._validPosition(a)}validateViewRange(n,a){return this._validRange(a)}convertModelPositionToViewPosition(n){return this._validPosition(n)}convertModelRangeToViewRange(n){return this._validRange(n)}modelPositionIsVisible(n){const a=this._lines.model.getLineCount();return!(n.lineNumber<1||n.lineNumber>a)}getModelLineViewLineCount(n){return 1}getViewLineNumberOfModelPosition(n,a){return n}}const Wa=!0;class Va extends C.JT{constructor(n,a,g,I,R,se,Ce,De){if(super(),this.languageConfigurationService=Ce,this._themeService=De,this._editorId=n,this._configuration=a,this.model=g,this._eventDispatcher=new nr,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new ps.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._tokenizeViewportSoon=this._register(new $e.pY(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new $e.pY(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=Zo.create(this.model),Wa&&this.model.isTooLargeForTokenization())this._lines=new zs(this.model);else{const Ie=this._configuration.options,Pe=Ie.get(46),Ke=Ie.get(127),Je=Ie.get(134),nt=Ie.get(126);this._lines=new fd(this._editorId,this.model,I,R,Pe,this.model.getOptions().tabSize,Ke,Je.wrappingColumn,nt)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Do(g,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Cc(this._configuration,this.getLineCount(),se)),this._register(this.viewLayout.onDidScroll(Ie=>{Ie.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),Ie.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new _i(Ie)),this._eventDispatcher.emitOutgoingEvent(new Jn(Ie.oldScrollWidth,Ie.oldScrollLeft,Ie.oldScrollHeight,Ie.oldScrollTop,Ie.scrollWidth,Ie.scrollLeft,Ie.scrollHeight,Ie.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(Ie=>{this._eventDispatcher.emitOutgoingEvent(Ie)})),this._decorations=new Mo.CU(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(Ie=>{try{const Pe=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(Pe,Ie)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(F.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new Ma)})),this._register(this._themeService.onDidColorThemeChange(Ie=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new $r(Ie))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(n){this._eventDispatcher.addViewEventHandler(n)}removeViewEventHandler(n){this._eventDispatcher.removeViewEventHandler(n)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){const n=this.viewLayout.getLinesViewportData(),a=new Ae.e(n.startLineNumber,this.getLineMinColumn(n.startLineNumber),n.endLineNumber,this.getLineMaxColumn(n.endLineNumber)),g=this._toModelVisibleRanges(a);for(const I of g)this.model.tokenization.tokenizeViewport(I.startLineNumber,I.endLineNumber)}setHasFocus(n){this._hasFocus=n,this._cursor.setHasFocus(n),this._eventDispatcher.emitSingleViewEvent(new Kr(n)),this._eventDispatcher.emitOutgoingEvent(new fn(!n,n))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new dd)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new cd)}_onConfigurationChanged(n,a){let g=null;if(this._viewportStart.isValid){const Pe=new Ei.L(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));g=this.coordinatesConverter.convertViewPositionToModelPosition(Pe)}let I=!1;const R=this._configuration.options,se=R.get(46),Ce=R.get(127),De=R.get(134),Ie=R.get(126);if(this._lines.setWrappingSettings(se,Ce,De.wrappingColumn,Ie)&&(n.emitViewEvent(new eo),n.emitViewEvent(new Rr),n.emitViewEvent(new Go(null)),this._cursor.onLineMappingChanged(n),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.getCurrentScrollTop()!==0&&(I=!0),this._updateConfigurationViewLineCount.schedule()),a.hasChanged(83)&&(this._decorations.reset(),n.emitViewEvent(new Go(null))),n.emitViewEvent(new gc(a)),this.viewLayout.onConfigurationChanged(a),I&&g){const Pe=this.coordinatesConverter.convertModelPositionToViewPosition(g),Ke=this.viewLayout.getVerticalOffsetForLineNumber(Pe.lineNumber);this.viewLayout.setScrollPosition({scrollTop:Ke+this._viewportStart.startLineDelta},1)}ps.LM.shouldRecreate(a)&&(this.cursorConfig=new ps.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(n=>{try{const g=this._eventDispatcher.beginEmitViewEvents();let I=!1,R=!1;const se=n instanceof ao.fV?n.rawContentChangedEvent.changes:n.changes,Ce=n instanceof ao.fV?n.rawContentChangedEvent.versionId:null,De=this._lines.createLineBreaksComputer();for(const Ke of se)switch(Ke.changeType){case 4:{for(let Je=0;Je<Ke.detail.length;Je++){const nt=Ke.detail[Je];let Lt=Ke.injectedTexts[Je];Lt&&(Lt=Lt.filter(Tt=>!Tt.ownerId||Tt.ownerId===this._editorId)),De.addRequest(nt,Lt,null)}break}case 2:{let Je=null;Ke.injectedText&&(Je=Ke.injectedText.filter(nt=>!nt.ownerId||nt.ownerId===this._editorId)),De.addRequest(Ke.detail,Je,null);break}}const Ie=De.finalize(),Pe=new d.H9(Ie);for(const Ke of se)switch(Ke.changeType){case 1:{this._lines.onModelFlushed(),g.emitViewEvent(new eo),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),I=!0;break}case 3:{const Je=this._lines.onModelLinesDeleted(Ce,Ke.fromLineNumber,Ke.toLineNumber);Je!==null&&(g.emitViewEvent(Je),this.viewLayout.onLinesDeleted(Je.fromLineNumber,Je.toLineNumber)),I=!0;break}case 4:{const Je=Pe.takeCount(Ke.detail.length),nt=this._lines.onModelLinesInserted(Ce,Ke.fromLineNumber,Ke.toLineNumber,Je);nt!==null&&(g.emitViewEvent(nt),this.viewLayout.onLinesInserted(nt.fromLineNumber,nt.toLineNumber)),I=!0;break}case 2:{const Je=Pe.dequeue(),[nt,Lt,Tt,Bt]=this._lines.onModelLineChanged(Ce,Ke.lineNumber,Je);R=nt,Lt&&g.emitViewEvent(Lt),Tt&&(g.emitViewEvent(Tt),this.viewLayout.onLinesInserted(Tt.fromLineNumber,Tt.toLineNumber)),Bt&&(g.emitViewEvent(Bt),this.viewLayout.onLinesDeleted(Bt.fromLineNumber,Bt.toLineNumber));break}case 5:break}Ce!==null&&this._lines.acceptVersionId(Ce),this.viewLayout.onHeightMaybeChanged(),!I&&R&&(g.emitViewEvent(new Rr),g.emitViewEvent(new Go(null)),this._cursor.onLineMappingChanged(g),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const a=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&a){const g=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(g){const I=this.coordinatesConverter.convertModelPositionToViewPosition(g.getStartPosition()),R=this.viewLayout.getVerticalOffsetForLineNumber(I.lineNumber);this.viewLayout.setScrollPosition({scrollTop:R+this._viewportStart.startLineDelta},1)}}try{const g=this._eventDispatcher.beginEmitViewEvents();n instanceof ao.fV&&g.emitOutgoingEvent(new ml(n.contentChangedEvent)),this._cursor.onModelContentChanged(g,n)}finally{this._eventDispatcher.endEmitViewEvents()}this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeTokens(n=>{const a=[];for(let g=0,I=n.ranges.length;g<I;g++){const R=n.ranges[g],se=this.coordinatesConverter.convertModelPositionToViewPosition(new Ei.L(R.fromLineNumber,1)).lineNumber,Ce=this.coordinatesConverter.convertModelPositionToViewPosition(new Ei.L(R.toLineNumber,this.model.getLineMaxColumn(R.toLineNumber))).lineNumber;a[g]={fromLineNumber:se,toLineNumber:Ce}}this._eventDispatcher.emitSingleViewEvent(new Ta(a)),n.tokenizationSupportChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitOutgoingEvent(new Gr(n))})),this._register(this.model.onDidChangeLanguageConfiguration(n=>{this._eventDispatcher.emitSingleViewEvent(new fa),this.cursorConfig=new ps.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new gl(n))})),this._register(this.model.onDidChangeLanguage(n=>{this.cursorConfig=new ps.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new fl(n))})),this._register(this.model.onDidChangeOptions(n=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const a=this._eventDispatcher.beginEmitViewEvents();a.emitViewEvent(new eo),a.emitViewEvent(new Rr),a.emitViewEvent(new Go(null)),this._cursor.onLineMappingChanged(a),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new ps.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new mc(n))})),this._register(this.model.onDidChangeDecorations(n=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Go(n)),this._eventDispatcher.emitOutgoingEvent(new or(n))}))}setHiddenAreas(n){let a=!1;try{const g=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(n),a&&(g.emitViewEvent(new eo),g.emitViewEvent(new Rr),g.emitViewEvent(new Go(null)),this._cursor.onLineMappingChanged(g),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Rs)}getVisibleRangesPlusViewportAboveBelow(){const n=this._configuration.options.get(133),a=this._configuration.options.get(61),g=Math.max(20,Math.round(n.height/a)),I=this.viewLayout.getLinesViewportData(),R=Math.max(1,I.completelyVisibleStartLineNumber-g),se=Math.min(this.getLineCount(),I.completelyVisibleEndLineNumber+g);return this._toModelVisibleRanges(new Ae.e(R,this.getLineMinColumn(R),se,this.getLineMaxColumn(se)))}getVisibleRanges(){const n=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(n)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(n){const a=this.coordinatesConverter.convertViewRangeToModelRange(n),g=this._lines.getHiddenAreas();if(g.length===0)return[a];const I=[];let R=0,se=a.startLineNumber,Ce=a.startColumn;const De=a.endLineNumber,Ie=a.endColumn;for(let Pe=0,Ke=g.length;Pe<Ke;Pe++){const Je=g[Pe].startLineNumber,nt=g[Pe].endLineNumber;nt<se||Je>De||(se<Je&&(I[R++]=new Ae.e(se,Ce,Je-1,this.model.getLineMaxColumn(Je-1))),se=nt+1,Ce=1)}return(se<De||se===De&&Ce<Ie)&&(I[R++]=new Ae.e(se,Ce,De,Ie)),I}getCompletelyVisibleViewRange(){const n=this.viewLayout.getLinesViewportData(),a=n.completelyVisibleStartLineNumber,g=n.completelyVisibleEndLineNumber;return new Ae.e(a,this.getLineMinColumn(a),g,this.getLineMaxColumn(g))}getCompletelyVisibleViewRangeAtScrollTop(n){const a=this.viewLayout.getLinesViewportDataAtScrollTop(n),g=a.completelyVisibleStartLineNumber,I=a.completelyVisibleEndLineNumber;return new Ae.e(g,this.getLineMinColumn(g),I,this.getLineMaxColumn(I))}saveState(){const n=this.viewLayout.saveState(),a=n.scrollTop,g=this.viewLayout.getLineNumberAtVerticalOffset(a),I=this.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(g,this.getLineMinColumn(g))),R=this.viewLayout.getVerticalOffsetForLineNumber(g)-a;return{scrollLeft:n.scrollLeft,firstPosition:I,firstPositionDeltaTop:R}}reduceRestoreState(n){if(typeof n.firstPosition>"u")return this._reduceRestoreStateCompatibility(n);const a=this.model.validatePosition(n.firstPosition),g=this.coordinatesConverter.convertModelPositionToViewPosition(a),I=this.viewLayout.getVerticalOffsetForLineNumber(g.lineNumber)-n.firstPositionDeltaTop;return{scrollLeft:n.scrollLeft,scrollTop:I}}_reduceRestoreStateCompatibility(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(n,a,g){this._viewportStart.update(this,n)}getActiveIndentGuide(n,a,g){return this._lines.getActiveIndentGuide(n,a,g)}getLinesIndentGuides(n,a){return this._lines.getViewLinesIndentGuides(n,a)}getBracketGuidesInRangeByLine(n,a,g,I){return this._lines.getViewLinesBracketGuides(n,a,g,I)}getLineContent(n){return this._lines.getViewLineContent(n)}getLineLength(n){return this._lines.getViewLineLength(n)}getLineMinColumn(n){return this._lines.getViewLineMinColumn(n)}getLineMaxColumn(n){return this._lines.getViewLineMaxColumn(n)}getLineFirstNonWhitespaceColumn(n){const a=Ht.LC(this.getLineContent(n));return a===-1?0:a+1}getLineLastNonWhitespaceColumn(n){const a=Ht.ow(this.getLineContent(n));return a===-1?0:a+2}getDecorationsInViewport(n){return this._decorations.getDecorationsViewportData(n).decorations}getInjectedTextAt(n){return this._lines.getInjectedTextAt(n)}getViewportViewLineRenderingData(n,a){const I=this._decorations.getDecorationsViewportData(n).inlineDecorations[a-n.startLineNumber];return this._getViewLineRenderingData(a,I)}getViewLineRenderingData(n){const a=this._decorations.getInlineDecorationsOnLine(n);return this._getViewLineRenderingData(n,a)}_getViewLineRenderingData(n,a){const g=this.model.mightContainRTL(),I=this.model.mightContainNonBasicASCII(),R=this.getTabSize(),se=this._lines.getViewLineData(n);return se.inlineDecorations&&(a=[...a,...se.inlineDecorations.map(Ce=>Ce.toInlineDecoration(n))]),new M.wA(se.minColumn,se.maxColumn,se.content,se.continuesWithWrappedLine,g,I,se.tokens,a,R,se.startVisibleColumn)}getViewLineData(n){return this._lines.getViewLineData(n)}getMinimapLinesRenderingData(n,a,g){const I=this._lines.getViewLinesData(n,a,g);return new M.ud(this.getTabSize(),I)}getAllOverviewRulerDecorations(n){const a=this.model.getOverviewRulerDecorations(this._editorId,(0,te.$J)(this._configuration.options)),g=new wl;for(const I of a){const R=I.options,se=R.overviewRuler;if(!se)continue;const Ce=se.position;if(Ce===0)continue;const De=se.getColor(n.value),Ie=this.coordinatesConverter.getViewLineNumberOfModelPosition(I.range.startLineNumber,I.range.startColumn),Pe=this.coordinatesConverter.getViewLineNumberOfModelPosition(I.range.endLineNumber,I.range.endColumn);g.accept(De,R.zIndex,Ie,Pe,Ce)}return g.asArray}_invalidateDecorationsColorCache(){const n=this.model.getOverviewRulerDecorations();for(const a of n){const g=a.options.overviewRuler;g&&g.invalidateCachedColor();const I=a.options.minimap;I&&I.invalidateCachedColor()}}getValueInRange(n,a){const g=this.coordinatesConverter.convertViewRangeToModelRange(n);return this.model.getValueInRange(g,a)}deduceModelPositionRelativeToViewPosition(n,a,g){const I=this.coordinatesConverter.convertViewPositionToModelPosition(n);this.model.getEOL().length===2&&(a<0?a-=g:a+=g);const se=this.model.getOffsetAt(I)+a;return this.model.getPositionAt(se)}getPlainTextToCopy(n,a,g){const I=g?`\r `:this.model.getEOL();n=n.slice(0),n.sort(Ae.e.compareRangesUsingStarts);let R=!1,se=!1;for(const De of n)De.isEmpty()?R=!0:se=!0;if(!se){if(!a)return"";const De=n.map(Pe=>Pe.startLineNumber);let Ie="";for(let Pe=0;Pe<De.length;Pe++)Pe>0&&De[Pe-1]===De[Pe]||(Ie+=this.model.getLineContent(De[Pe])+I);return Ie}if(R&&a){const De=[];let Ie=0;for(const Pe of n){const Ke=Pe.startLineNumber;Pe.isEmpty()?Ke!==Ie&&De.push(this.model.getLineContent(Ke)):De.push(this.model.getValueInRange(Pe,g?2:0)),Ie=Ke}return De.length===1?De[0]:De}const Ce=[];for(const De of n)De.isEmpty()||Ce.push(this.model.getValueInRange(De,g?2:0));return Ce.length===1?Ce[0]:Ce}getRichTextToCopy(n,a){const g=this.model.getLanguageId();if(g===_l.bd||n.length!==1)return null;let I=n[0];if(I.isEmpty()){if(!a)return null;const Pe=I.startLineNumber;I=new Ae.e(Pe,this.model.getLineMinColumn(Pe),Pe,this.model.getLineMaxColumn(Pe))}const R=this._configuration.options.get(46),se=this._getColorMap(),De=/[:;\\\/<>]/.test(R.fontFamily)||R.fontFamily===te.hL.fontFamily;let Ie;return De?Ie=te.hL.fontFamily:(Ie=R.fontFamily,Ie=Ie.replace(/"/g,"'"),/[,']/.test(Ie)||/[+ ]/.test(Ie)&&(Ie=`'${Ie}'`),Ie=`${Ie}, ${te.hL.fontFamily}`),{mode:g,html:`<div style="color: ${se[1]};background-color: ${se[2]};font-family: ${Ie};font-weight: ${R.fontWeight};font-size: ${R.fontSize}px;line-height: ${R.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(I,se)+"</div>"}}_getHTMLToCopy(n,a){const g=n.startLineNumber,I=n.startColumn,R=n.endLineNumber,se=n.endColumn,Ce=this.getTabSize();let De="";for(let Ie=g;Ie<=R;Ie++){const Pe=this.model.tokenization.getLineTokens(Ie),Ke=Pe.getLineContent(),Je=Ie===g?I-1:0,nt=Ie===R?se-1:Ke.length;Ke===""?De+="<br>":De+=(0,hd.Fq)(Ke,Pe.inflate(),a,Je,nt,Ce,E.ED)}return De}_getColorMap(){const n=en.RW.getColorMap(),a=["#000000"];if(n)for(let g=1,I=n.length;g<I;g++)a[g]=Fi.Il.Format.CSS.formatHex(n[g]);return a}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(n,a,g){return this._withViewEventsCollector(I=>this._cursor.setStates(I,n,a,g))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(n){this._cursor.setCursorColumnSelectData(n)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(n){this._cursor.setPrevEditOperationType(n)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(n,a,g=0){this._withViewEventsCollector(I=>this._cursor.setSelections(I,n,a,g))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(n){this._withViewEventsCollector(a=>this._cursor.restoreState(a,n))}_executeCursorEdit(n){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new Ys);return}this._withViewEventsCollector(n)}executeEdits(n,a,g){this._executeCursorEdit(I=>this._cursor.executeEdits(I,n,a,g))}startComposition(){this._executeCursorEdit(n=>this._cursor.startComposition(n))}endComposition(n){this._executeCursorEdit(a=>this._cursor.endComposition(a,n))}type(n,a){this._executeCursorEdit(g=>this._cursor.type(g,n,a))}compositionType(n,a,g,I,R){this._executeCursorEdit(se=>this._cursor.compositionType(se,n,a,g,I,R))}paste(n,a,g,I){this._executeCursorEdit(R=>this._cursor.paste(R,n,a,g,I))}cut(n){this._executeCursorEdit(a=>this._cursor.cut(a,n))}executeCommand(n,a){this._executeCursorEdit(g=>this._cursor.executeCommand(g,n,a))}executeCommands(n,a){this._executeCursorEdit(g=>this._cursor.executeCommands(g,n,a))}revealPrimaryCursor(n,a,g=!1){this._withViewEventsCollector(I=>this._cursor.revealPrimary(I,n,g,0,a,0))}revealTopMostCursor(n){const a=this._cursor.getTopMostViewPosition(),g=new Ae.e(a.lineNumber,a.column,a.lineNumber,a.column);this._withViewEventsCollector(I=>I.emitViewEvent(new cs(n,!1,g,null,0,!0,0)))}revealBottomMostCursor(n){const a=this._cursor.getBottomMostViewPosition(),g=new Ae.e(a.lineNumber,a.column,a.lineNumber,a.column);this._withViewEventsCollector(I=>I.emitViewEvent(new cs(n,!1,g,null,0,!0,0)))}revealRange(n,a,g,I,R){this._withViewEventsCollector(se=>se.emitViewEvent(new cs(n,!1,g,null,I,a,R)))}changeWhitespace(n){this.viewLayout.changeWhitespace(n)&&(this._eventDispatcher.emitSingleViewEvent(new Ho),this._eventDispatcher.emitOutgoingEvent(new fs))}_withViewEventsCollector(n){try{const a=this._eventDispatcher.beginEmitViewEvents();return n(a)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(n,a){return this._lines.normalizePosition(n,a)}getLineIndentColumn(n){return this._lines.getLineIndentColumn(n)}}class Zo{constructor(n,a,g,I,R){this._model=n,this._viewLineNumber=a,this._isValid=g,this._modelTrackedRange=I,this._startLineDelta=R}static create(n){const a=n._setTrackedRange(null,new Ae.e(1,1,1,1),1);return new Zo(n,1,!1,a,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(n,a){const g=n.coordinatesConverter.convertViewPositionToModelPosition(new Ei.L(a,n.getLineMinColumn(a))),I=n.model._setTrackedRange(this._modelTrackedRange,new Ae.e(g.lineNumber,g.column,g.lineNumber,g.column),1),R=n.viewLayout.getVerticalOffsetForLineNumber(a),se=n.viewLayout.getCurrentScrollTop();this._viewLineNumber=a,this._isValid=!0,this._modelTrackedRange=I,this._startLineDelta=se-R}invalidate(){this._isValid=!1}}class wl{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(n,a,g,I,R){const se=this._asMap[n];if(se){const Ce=se.data,De=Ce[Ce.length-3],Ie=Ce[Ce.length-1];if(De===R&&Ie+1>=g){I>Ie&&(Ce[Ce.length-1]=I);return}Ce.push(R,g,I)}else{const Ce=new M.SQ(n,a,[R,g,I]);this._asMap[n]=Ce,this.asArray.push(Ce)}}}var Sl=m(88324),Yr=m(50199),Ha=m(41846),rf=m(81775),Bo=m(21058),lo=m(18457);class za{constructor(n,a,g,I,R){this.injectionOffsets=n,this.injectionOptions=a,this.breakOffsets=g,this.breakOffsetsVisibleColumn=I,this.wrappedTextIndentLength=R}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(n){return n>0?this.wrappedTextIndentLength:0}getLineLength(n){const a=n>0?this.breakOffsets[n-1]:0;let I=this.breakOffsets[n]-a;return n>0&&(I+=this.wrappedTextIndentLength),I}getMaxOutputOffset(n){return this.getLineLength(n)}translateToInputOffset(n,a){n>0&&(a=Math.max(0,a-this.wrappedTextIndentLength));let I=n===0?a:this.breakOffsets[n-1]+a;if(this.injectionOffsets!==null)for(let R=0;R<this.injectionOffsets.length&&I>this.injectionOffsets[R];R++)I<this.injectionOffsets[R]+this.injectionOptions[R].content.length?I=this.injectionOffsets[R]:I-=this.injectionOptions[R].content.length;return I}translateToOutputPosition(n,a=2){let g=n;if(this.injectionOffsets!==null)for(let I=0;I<this.injectionOffsets.length&&!(n<this.injectionOffsets[I]||a!==1&&n===this.injectionOffsets[I]);I++)g+=this.injectionOptions[I].content.length;return this.offsetInInputWithInjectionsToOutputPosition(g,a)}offsetInInputWithInjectionsToOutputPosition(n,a=2){let g=0,I=this.breakOffsets.length-1,R=0,se=0;for(;g<=I;){R=g+(I-g)/2|0;const De=this.breakOffsets[R];if(se=R>0?this.breakOffsets[R-1]:0,a===0)if(n<=se)I=R-1;else if(n>De)g=R+1;else break;else if(n<se)I=R-1;else if(n>=De)g=R+1;else break}let Ce=n-se;return R>0&&(Ce+=this.wrappedTextIndentLength),new Sr(R,Ce)}normalizeOutputPosition(n,a,g){if(this.injectionOffsets!==null){const I=this.outputPositionToOffsetInInputWithInjections(n,a),R=this.normalizeOffsetInInputWithInjectionsAroundInjections(I,g);if(R!==I)return this.offsetInInputWithInjectionsToOutputPosition(R,g)}if(g===0){if(n>0&&a===this.getMinOutputOffset(n))return new Sr(n-1,this.getMaxOutputOffset(n-1))}else if(g===1){const I=this.getOutputLineCount()-1;if(n<I&&a===this.getMaxOutputOffset(n))return new Sr(n+1,this.getMinOutputOffset(n+1))}return new Sr(n,a)}outputPositionToOffsetInInputWithInjections(n,a){return n>0&&(a=Math.max(0,a-this.wrappedTextIndentLength)),(n>0?this.breakOffsets[n-1]:0)+a}normalizeOffsetInInputWithInjectionsAroundInjections(n,a){const g=this.getInjectedTextAtOffset(n);if(!g)return n;if(a===2){if(n===g.offsetInInputWithInjections+g.length&&Ao(this.injectionOptions[g.injectedTextIndex].cursorStops))return g.offsetInInputWithInjections+g.length;{let I=g.offsetInInputWithInjections;if(rr(this.injectionOptions[g.injectedTextIndex].cursorStops))return I;let R=g.injectedTextIndex-1;for(;R>=0&&this.injectionOffsets[R]===this.injectionOffsets[g.injectedTextIndex]&&!(Ao(this.injectionOptions[R].cursorStops)||(I-=this.injectionOptions[R].content.length,rr(this.injectionOptions[R].cursorStops)));)R--;return I}}else if(a===1||a===4){let I=g.offsetInInputWithInjections+g.length,R=g.injectedTextIndex;for(;R+1<this.injectionOffsets.length&&this.injectionOffsets[R+1]===this.injectionOffsets[R];)I+=this.injectionOptions[R+1].content.length,R++;return I}else if(a===0||a===3){let I=g.offsetInInputWithInjections,R=g.injectedTextIndex;for(;R-1>=0&&this.injectionOffsets[R-1]===this.injectionOffsets[R];)I-=this.injectionOptions[R-1].content.length,R--;return I}(0,is.vE)(a)}getInjectedText(n,a){const g=this.outputPositionToOffsetInInputWithInjections(n,a),I=this.getInjectedTextAtOffset(g);return I?{options:this.injectionOptions[I.injectedTextIndex]}:null}getInjectedTextAtOffset(n){const a=this.injectionOffsets,g=this.injectionOptions;if(a!==null){let I=0;for(let R=0;R<a.length;R++){const se=g[R].content.length,Ce=a[R]+I,De=a[R]+I+se;if(Ce>n)break;if(n<=De)return{injectedTextIndex:R,offsetInInputWithInjections:Ce,length:se};I+=se}}}}function Ao(qe){return qe==null?!0:qe===gt.RM.Right||qe===gt.RM.Both}function rr(qe){return qe==null?!0:qe===gt.RM.Left||qe===gt.RM.Both}class Pr{constructor(n){this.options=n}}class Sr{constructor(n,a){this.outputLineIndex=n,this.outputOffset=a}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(n){return new Ei.L(n+this.outputLineIndex,this.outputOffset+1)}}class _a{constructor(n,a){this.classifier=new yl(n,a)}static create(n){return new _a(n.get(122),n.get(121))}createLineBreaksComputer(n,a,g,I){const R=[],se=[],Ce=[];return{addRequest:(De,Ie,Pe)=>{R.push(De),se.push(Ie),Ce.push(Pe)},finalize:()=>{const De=n.typicalFullwidthCharacterWidth/n.typicalHalfwidthCharacterWidth,Ie=[];for(let Pe=0,Ke=R.length;Pe<Ke;Pe++){const Je=se[Pe],nt=Ce[Pe];nt&&!nt.injectionOptions&&!Je?Ie[Pe]=gd(this.classifier,nt,R[Pe],a,g,De,I):Ie[Pe]=md(this.classifier,R[Pe],Je,a,g,De,I)}return Ca.length=0,yr.length=0,Ie}}}}class yl extends lo.N{constructor(n,a){super(0);for(let g=0;g<n.length;g++)this.set(n.charCodeAt(g),1);for(let g=0;g<a.length;g++)this.set(a.charCodeAt(g),2)}get(n){return n>=0&&n<256?this._asciiMap[n]:n>=12352&&n<=12543||n>=13312&&n<=19903||n>=19968&&n<=40959?3:this._map.get(n)||this._defaultValue}}let Ca=[],yr=[];function gd(qe,n,a,g,I,R,se){if(I===-1)return null;const Ce=a.length;if(Ce<=1)return null;const De=n.breakOffsets,Ie=n.breakOffsetsVisibleColumn,Pe=jn(a,g,I,R,se),Ke=I-Pe,Je=Ca,nt=yr;let Lt=0,Tt=0,Bt=0,jt=I;const fi=De.length;let ei=0;if(ei>=0){let Ki=Math.abs(Ie[ei]-jt);for(;ei+1<fi;){const di=Math.abs(Ie[ei+1]-jt);if(di>=Ki)break;Ki=di,ei++}}for(;ei<fi;){let Ki=ei<0?0:De[ei],di=ei<0?0:Ie[ei];Tt>Ki&&(Ki=Tt,di=Bt);let tn=0,Ji=0,zi=0,rn=0;if(di<=jt){let Zi=di,Hn=Ki===0?0:a.charCodeAt(Ki-1),gs=Ki===0?0:qe.get(Hn),Ls=!0;for(let zn=Ki;zn<Ce;zn++){const ks=zn,Ts=a.charCodeAt(zn);let xs,Wo;if(Ht.ZG(Ts)?(zn++,xs=0,Wo=2):(xs=qe.get(Ts),Wo=ar(Ts,Zi,g,R)),ks>Tt&&Lr(Hn,gs,Ts,xs)&&(tn=ks,Ji=Zi),Zi+=Wo,Zi>jt){ks>Tt?(zi=ks,rn=Zi-Wo):(zi=zn+1,rn=Zi),Zi-Ji>Ke&&(tn=0),Ls=!1;break}Hn=Ts,gs=xs}if(Ls){Lt>0&&(Je[Lt]=De[De.length-1],nt[Lt]=Ie[De.length-1],Lt++);break}}if(tn===0){let Zi=di,Hn=a.charCodeAt(Ki),gs=qe.get(Hn),Ls=!1;for(let zn=Ki-1;zn>=Tt;zn--){const ks=zn+1,Ts=a.charCodeAt(zn);if(Ts===9){Ls=!0;break}let xs,Wo;if(Ht.YK(Ts)?(zn--,xs=0,Wo=2):(xs=qe.get(Ts),Wo=Ht.K7(Ts)?R:1),Zi<=jt){if(zi===0&&(zi=ks,rn=Zi),Zi<=jt-Ke)break;if(Lr(Ts,xs,Hn,gs)){tn=ks,Ji=Zi;break}}Zi-=Wo,Hn=Ts,gs=xs}if(tn!==0){const zn=Ke-(rn-Ji);if(zn<=g){const ks=a.charCodeAt(zi);let Ts;Ht.ZG(ks)?Ts=2:Ts=ar(ks,rn,g,R),zn-Ts<0&&(tn=0)}}if(Ls){ei--;continue}}if(tn===0&&(tn=zi,Ji=rn),tn<=Tt){const Zi=a.charCodeAt(Tt);Ht.ZG(Zi)?(tn=Tt+2,Ji=Bt+2):(tn=Tt+1,Ji=Bt+ar(Zi,Bt,g,R))}for(Tt=tn,Je[Lt]=tn,Bt=Ji,nt[Lt]=Ji,Lt++,jt=Ji+Ke;ei<0||ei<fi&&Ie[ei]<Ji;)ei++;let $n=Math.abs(Ie[ei]-jt);for(;ei+1<fi;){const Zi=Math.abs(Ie[ei+1]-jt);if(Zi>=$n)break;$n=Zi,ei++}}return Lt===0?null:(Je.length=Lt,nt.length=Lt,Ca=n.breakOffsets,yr=n.breakOffsetsVisibleColumn,n.breakOffsets=Je,n.breakOffsetsVisibleColumn=nt,n.wrappedTextIndentLength=Pe,n)}function md(qe,n,a,g,I,R,se){const Ce=ao.gk.applyInjectedText(n,a);let De,Ie;if(a&&a.length>0?(De=a.map(Ji=>Ji.options),Ie=a.map(Ji=>Ji.column-1)):(De=null,Ie=null),I===-1)return De?new za(Ie,De,[Ce.length],[],0):null;const Pe=Ce.length;if(Pe<=1)return De?new za(Ie,De,[Ce.length],[],0):null;const Ke=jn(Ce,g,I,R,se),Je=I-Ke,nt=[],Lt=[];let Tt=0,Bt=0,jt=0,fi=I,ei=Ce.charCodeAt(0),Ki=qe.get(ei),di=ar(ei,0,g,R),tn=1;Ht.ZG(ei)&&(di+=1,ei=Ce.charCodeAt(1),Ki=qe.get(ei),tn++);for(let Ji=tn;Ji<Pe;Ji++){const zi=Ji,rn=Ce.charCodeAt(Ji);let $n,Zi;Ht.ZG(rn)?(Ji++,$n=0,Zi=2):($n=qe.get(rn),Zi=ar(rn,di,g,R)),Lr(ei,Ki,rn,$n)&&(Bt=zi,jt=di),di+=Zi,di>fi&&((Bt===0||di-jt>Je)&&(Bt=zi,jt=di-Zi),nt[Tt]=Bt,Lt[Tt]=jt,Tt++,fi=jt+Je,Bt=0),ei=rn,Ki=$n}return Tt===0&&(!a||a.length===0)?null:(nt[Tt]=Pe,Lt[Tt]=di,new za(Ie,De,nt,Lt,Ke))}function ar(qe,n,a,g){return qe===9?a-n%a:Ht.K7(qe)||qe<32?g:1}function po(qe,n){return n-qe%n}function Lr(qe,n,a,g){return a!==32&&(n===2&&g!==2||n!==1&&g===1||n===3&&g!==2||g===3&&n!==1)}function jn(qe,n,a,g,I){let R=0;if(I!==0){const se=Ht.LC(qe);if(se!==-1){for(let De=0;De<se;De++){const Ie=qe.charCodeAt(De)===9?po(R,n):1;R+=Ie}const Ce=I===3?2:I===2?1:0;for(let De=0;De<Ce;De++){const Ie=po(R,n);R+=Ie}R+g>a&&(R=0)}}return R}var wc;const Ll=(wc=window.trustedTypes)===null||wc===void 0?void 0:wc.createPolicy("domLineBreaksComputer",{createHTML:qe=>qe});class pd{static create(){return new pd}constructor(){}createLineBreaksComputer(n,a,g,I){const R=[],se=[];return{addRequest:(Ce,De,Ie)=>{R.push(Ce),se.push(De)},finalize:()=>Dl(R,n,a,g,I,se)}}}function Dl(qe,n,a,g,I,R){var se;function Ce(zi){const rn=R[zi];if(rn){const $n=ao.gk.applyInjectedText(qe[zi],rn),Zi=rn.map(gs=>gs.options),Hn=rn.map(gs=>gs.column-1);return new za(Hn,Zi,[$n.length],[],0)}else return null}if(g===-1){const zi=[];for(let rn=0,$n=qe.length;rn<$n;rn++)zi[rn]=Ce(rn);return zi}const De=Math.round(g*n.typicalHalfwidthCharacterWidth),Pe=Math.round(a*(I===3?2:I===2?1:0)),Ke=Math.ceil(n.spaceWidth*Pe),Je=document.createElement("div");(0,Qt.N)(Je,n);const nt=(0,Kn.l$)(1e4),Lt=[],Tt=[],Bt=[],jt=[],fi=[];for(let zi=0;zi<qe.length;zi++){const rn=ao.gk.applyInjectedText(qe[zi],R[zi]);let $n=0,Zi=0,Hn=De;if(I!==0)if($n=Ht.LC(rn),$n===-1)$n=0;else{for(let ks=0;ks<$n;ks++){const Ts=rn.charCodeAt(ks)===9?a-Zi%a:1;Zi+=Ts}const zn=Math.ceil(n.spaceWidth*Zi);zn+n.typicalFullwidthCharacterWidth>De?($n=0,Zi=0):Hn=De-zn}const gs=rn.substr($n),Ls=Rh(gs,Zi,a,Hn,nt,Ke);Lt[zi]=$n,Tt[zi]=Zi,Bt[zi]=gs,jt[zi]=Ls[0],fi[zi]=Ls[1]}const ei=nt.build(),Ki=(se=Ll?.createHTML(ei))!==null&&se!==void 0?se:ei;Je.innerHTML=Ki,Je.style.position="absolute",Je.style.top="10000",Je.style.wordWrap="break-word",document.body.appendChild(Je);const di=document.createRange(),tn=Array.prototype.slice.call(Je.children,0),Ji=[];for(let zi=0;zi<qe.length;zi++){const rn=tn[zi],$n=af(di,rn,Bt[zi],jt[zi]);if($n===null){Ji[zi]=Ce(zi);continue}const Zi=Lt[zi],Hn=Tt[zi]+Pe,gs=fi[zi],Ls=[];for(let xs=0,Wo=$n.length;xs<Wo;xs++)Ls[xs]=gs[$n[xs]];if(Zi!==0)for(let xs=0,Wo=$n.length;xs<Wo;xs++)$n[xs]+=Zi;let zn,ks;const Ts=R[zi];Ts?(zn=Ts.map(xs=>xs.options),ks=Ts.map(xs=>xs.column-1)):(zn=null,ks=null),Ji[zi]=new za(ks,zn,$n,Ls,Hn)}return document.body.removeChild(Je),Ji}function Rh(qe,n,a,g,I,R){if(R!==0){const Je=String(R);I.appendASCIIString('<div style="text-indent: -'),I.appendASCIIString(Je),I.appendASCIIString("px; padding-left: "),I.appendASCIIString(Je),I.appendASCIIString("px; box-sizing: border-box; width:")}else I.appendASCIIString('<div style="width:');I.appendASCIIString(String(g)),I.appendASCIIString('px;">');const se=qe.length;let Ce=n,De=0;const Ie=[],Pe=[];let Ke=0<se?qe.charCodeAt(0):0;I.appendASCIIString("<span>");for(let Je=0;Je<se;Je++){Je!==0&&Je%16384===0&&I.appendASCIIString("</span><span>"),Ie[Je]=De,Pe[Je]=Ce;const nt=Ke;Ke=Je+1<se?qe.charCodeAt(Je+1):0;let Lt=1,Tt=1;switch(nt){case 9:Lt=a-Ce%a,Tt=Lt;for(let Bt=1;Bt<=Lt;Bt++)Bt<Lt?I.write1(160):I.appendASCII(32);break;case 32:Ke===32?I.write1(160):I.appendASCII(32);break;case 60:I.appendASCIIString("<");break;case 62:I.appendASCIIString(">");break;case 38:I.appendASCIIString("&");break;case 0:I.appendASCIIString("�");break;case 65279:case 8232:case 8233:case 133:I.write1(65533);break;default:Ht.K7(nt)&&Tt++,nt<32?I.write1(9216+nt):I.write1(nt)}De+=Lt,Ce+=Tt}return I.appendASCIIString("</span>"),Ie[qe.length]=De,Pe[qe.length]=Ce,I.appendASCIIString("</div>"),[Ie,Pe]}function af(qe,n,a,g){if(a.length<=1)return null;const I=Array.prototype.slice.call(n.children,0),R=[];try{Ro(qe,I,g,0,null,a.length-1,null,R)}catch(se){return console.log(se),null}return R.length===0?null:(R.push(a.length),R)}function Ro(qe,n,a,g,I,R,se,Ce){if(g===R||(I=I||Ua(qe,n,a[g],a[g+1]),se=se||Ua(qe,n,a[R],a[R+1]),Math.abs(I[0].top-se[0].top)<=.1))return;if(g+1===R){Ce.push(R);return}const De=g+(R-g)/2|0,Ie=Ua(qe,n,a[De],a[De+1]);Ro(qe,n,a,g,I,De,Ie,Ce),Ro(qe,n,a,De,Ie,R,se,Ce)}function Ua(qe,n,a,g){return qe.setStart(n[a/16384|0].firstChild,a%16384),qe.setEnd(n[g/16384|0].firstChild,g%16384),qe.getClientRects()}var to=m(20225),_d=m(38490),va=m(64467),lf=function(qe,n,a,g){var I=arguments.length,R=I<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,a):g,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(qe,n,a,g);else for(var Ce=qe.length-1;Ce>=0;Ce--)(se=qe[Ce])&&(R=(I<3?se(R):I>3?se(n,a,R):se(n,a))||R);return I>3&&R&&Object.defineProperty(n,a,R),R},Dr=function(qe,n){return function(a,g){n(a,g,qe)}},Xr=function(qe,n,a,g){function I(R){return R instanceof a?R:new a(function(se){se(R)})}return new(a||(a=Promise))(function(R,se){function Ce(Pe){try{Ie(g.next(Pe))}catch(Ke){se(Ke)}}function De(Pe){try{Ie(g.throw(Pe))}catch(Ke){se(Ke)}}function Ie(Pe){Pe.done?R(Pe.value):I(Pe.value).then(Ce,De)}Ie((g=g.apply(qe,n||[])).next())})};let El=0;class Sc{constructor(n,a,g,I,R){this.model=n,this.viewModel=a,this.view=g,this.hasRealView=I,this.listenersToRemove=R}dispose(){(0,C.B9)(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let ja=class xh extends C.JT{constructor(n,a,g,I,R,se,Ce,De,Ie,Pe,Ke,Je){super(),this.languageConfigurationService=Ke,this._deliveryQueue=new y.F3,this._onDidDispose=this._register(new y.Q5),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Il({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Il({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onWillType=this._onWillType.event,this._onDidType=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new y.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection();const nt=Object.assign({},a);this._domElement=n,this._overflowWidgetsDomNode=nt.overflowWidgetsDomNode,delete nt.overflowWidgetsDomNode,this._id=++El,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=g.telemetryData,this._configuration=this._register(this._createConfiguration(g.isSimpleWidget||!1,nt,Pe)),this._register(this._configuration.onDidChange(Bt=>{this._onDidChangeConfiguration.fire(Bt);const jt=this._configuration.options;if(Bt.hasChanged(133)){const fi=jt.get(133);this._onDidLayoutChange.fire(fi)}})),this._contextKeyService=this._register(Ce.createScoped(this._domElement)),this._notificationService=Ie,this._codeEditorService=R,this._commandService=se,this._themeService=De,this._register(new xl(this,this._contextKeyService)),this._register(new Nl(this,this._contextKeyService,Je)),this._instantiationService=I.createChild(new rf.y([Yr.i6,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new co(n),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={};let Lt;Array.isArray(g.contributions)?Lt=g.contributions:Lt=u.Uc.getEditorContributions();for(const Bt of Lt){if(this._contributions[Bt.id]){(0,z.dL)(new Error(`Cannot have two contributions with the same id ${Bt.id}`));continue}try{const jt=this._instantiationService.createInstance(Bt.ctor,this);this._contributions[Bt.id]=jt}catch(jt){(0,z.dL)(jt)}}u.Uc.getEditorActions().forEach(Bt=>{if(this._actions[Bt.id]){(0,z.dL)(new Error(`Cannot have two actions with the same id ${Bt.id}`));return}const jt=new Xs.p(Bt.id,Bt.label,Bt.alias,(0,is.f6)(Bt.precondition),()=>this._instantiationService.invokeFunction(fi=>Promise.resolve(Bt.runEditorCommand(fi,this,null))),this._contextKeyService);this._actions[jt.id]=jt});const Tt=()=>!this._configuration.options.get(83)&&this._configuration.options.get(32).enabled;this._register(new q.eg(this._domElement,{onDragEnter:()=>{},onDragOver:Bt=>{if(!Tt())return;const jt=this.getTargetAtClientPoint(Bt.clientX,Bt.clientY);jt?.position&&this.showDropIndicatorAt(jt.position)},onDrop:Bt=>Xr(this,void 0,void 0,function*(){if(!Tt()||(this.removeDropIndicator(),!Bt.dataTransfer))return;const jt=this.getTargetAtClientPoint(Bt.clientX,Bt.clientY);jt?.position&&this._onDropIntoEditor.fire({position:jt.position,event:Bt})}),onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}get isSimpleWidget(){return this._configuration.isSimpleWidget}_createConfiguration(n,a,g){return new Y(n,a,this._domElement,g)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return Zr.g.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();const n=Object.keys(this._contributions);for(let a=0,g=n.length;a<g;a++){const I=n[a];this._contributions[I].dispose()}this._contributions={},this._actions={},this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(n){return this._instantiationService.invokeFunction(n)}updateOptions(n){this._configuration.updateOptions(n||{})}getOptions(){return this._configuration.options}getOption(n){return this._configuration.options.get(n)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(n){return this._modelData?to.w.getWordAtPosition(this._modelData.model,this._configuration.options.get(119),n):null}getValue(n=null){if(!this._modelData)return"";const a=!!(n&&n.preserveBOM);let g=0;return n&&n.lineEnding&&n.lineEnding===` `?g=1:n&&n.lineEnding&&n.lineEnding===`\r `&&(g=2),this._modelData.model.getValue(g,a)}setValue(n){this._modelData&&this._modelData.model.setValue(n)}getModel(){return this._modelData?this._modelData.model:null}setModel(n=null){const a=n;if(this._modelData===null&&a===null||this._modelData&&this._modelData.model===a)return;const g=this.hasTextFocus(),I=this._detachModel();this._attachModel(a),g&&this.hasModel()&&this.focus();const R={oldModelUrl:I?I.uri:null,newModelUrl:a?a.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(R),this._postDetachModelCleanup(I)}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const n in this._decorationTypeSubtypes){const a=this._decorationTypeSubtypes[n];for(const g in a)this._removeDecorationType(n+"-"+g)}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(n,a,g,I){const R=n.model.validatePosition({lineNumber:a,column:g}),se=n.viewModel.coordinatesConverter.convertModelPositionToViewPosition(R);return n.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(se.lineNumber,I)}getTopForLineNumber(n,a=!1){return this._modelData?xh._getVerticalOffsetForPosition(this._modelData,n,1,a):-1}getTopForPosition(n,a){return this._modelData?xh._getVerticalOffsetForPosition(this._modelData,n,a,!1):-1}static _getVerticalOffsetForPosition(n,a,g,I=!1){const R=n.model.validatePosition({lineNumber:a,column:g}),se=n.viewModel.coordinatesConverter.convertModelPositionToViewPosition(R);return n.viewModel.viewLayout.getVerticalOffsetForLineNumber(se.lineNumber,I)}getBottomForLineNumber(n,a=!1){return this._modelData?xh._getVerticalOffsetAfterPosition(this._modelData,n,1,a):-1}setHiddenAreas(n){var a;(a=this._modelData)===null||a===void 0||a.viewModel.setHiddenAreas(n.map(g=>Ae.e.lift(g)))}getVisibleColumnFromPosition(n){if(!this._modelData)return n.column;const a=this._modelData.model.validatePosition(n),g=this._modelData.model.getOptions().tabSize;return Ii.i.visibleColumnFromColumn(this._modelData.model.getLineContent(a.lineNumber),a.column,g)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(n,a="api"){if(this._modelData){if(!Ei.L.isIPosition(n))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(a,[{selectionStartLineNumber:n.lineNumber,selectionStartColumn:n.column,positionLineNumber:n.lineNumber,positionColumn:n.column}])}}_sendRevealRange(n,a,g,I){if(!this._modelData)return;if(!Ae.e.isIRange(n))throw new Error("Invalid arguments");const R=this._modelData.model.validateRange(n),se=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(R);this._modelData.viewModel.revealRange("api",g,se,a,I)}revealLine(n,a=0){this._revealLine(n,0,a)}revealLineInCenter(n,a=0){this._revealLine(n,1,a)}revealLineInCenterIfOutsideViewport(n,a=0){this._revealLine(n,2,a)}revealLineNearTop(n,a=0){this._revealLine(n,5,a)}_revealLine(n,a,g){if(typeof n!="number")throw new Error("Invalid arguments");this._sendRevealRange(new Ae.e(n,1,n,1),a,!1,g)}revealPosition(n,a=0){this._revealPosition(n,0,!0,a)}revealPositionInCenter(n,a=0){this._revealPosition(n,1,!0,a)}revealPositionInCenterIfOutsideViewport(n,a=0){this._revealPosition(n,2,!0,a)}revealPositionNearTop(n,a=0){this._revealPosition(n,5,!0,a)}_revealPosition(n,a,g,I){if(!Ei.L.isIPosition(n))throw new Error("Invalid arguments");this._sendRevealRange(new Ae.e(n.lineNumber,n.column,n.lineNumber,n.column),a,g,I)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(n,a="api"){const g=O.Y.isISelection(n),I=Ae.e.isIRange(n);if(!g&&!I)throw new Error("Invalid arguments");if(g)this._setSelectionImpl(n,a);else if(I){const R={selectionStartLineNumber:n.startLineNumber,selectionStartColumn:n.startColumn,positionLineNumber:n.endLineNumber,positionColumn:n.endColumn};this._setSelectionImpl(R,a)}}_setSelectionImpl(n,a){if(!this._modelData)return;const g=new O.Y(n.selectionStartLineNumber,n.selectionStartColumn,n.positionLineNumber,n.positionColumn);this._modelData.viewModel.setSelections(a,[g])}revealLines(n,a,g=0){this._revealLines(n,a,0,g)}revealLinesInCenter(n,a,g=0){this._revealLines(n,a,1,g)}revealLinesInCenterIfOutsideViewport(n,a,g=0){this._revealLines(n,a,2,g)}revealLinesNearTop(n,a,g=0){this._revealLines(n,a,5,g)}_revealLines(n,a,g,I){if(typeof n!="number"||typeof a!="number")throw new Error("Invalid arguments");this._sendRevealRange(new Ae.e(n,1,a,1),g,!1,I)}revealRange(n,a=0,g=!1,I=!0){this._revealRange(n,g?1:0,I,a)}revealRangeInCenter(n,a=0){this._revealRange(n,1,!0,a)}revealRangeInCenterIfOutsideViewport(n,a=0){this._revealRange(n,2,!0,a)}revealRangeNearTop(n,a=0){this._revealRange(n,5,!0,a)}revealRangeNearTopIfOutsideViewport(n,a=0){this._revealRange(n,6,!0,a)}revealRangeAtTop(n,a=0){this._revealRange(n,3,!0,a)}_revealRange(n,a,g,I){if(!Ae.e.isIRange(n))throw new Error("Invalid arguments");this._sendRevealRange(Ae.e.lift(n),a,g,I)}setSelections(n,a="api",g=0){if(this._modelData){if(!n||n.length===0)throw new Error("Invalid arguments");for(let I=0,R=n.length;I<R;I++)if(!O.Y.isISelection(n[I]))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(a,n,g)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(n,a=1){if(this._modelData){if(typeof n!="number")throw new Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:n},a)}}setScrollTop(n,a=1){if(this._modelData){if(typeof n!="number")throw new Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:n},a)}}setScrollPosition(n,a=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(n,a)}saveViewState(){if(!this._modelData)return null;const n={},a=Object.keys(this._contributions);for(const R of a){const se=this._contributions[R];typeof se.saveViewState=="function"&&(n[R]=se.saveViewState())}const g=this._modelData.viewModel.saveCursorState(),I=this._modelData.viewModel.saveState();return{cursorState:g,viewState:I,contributionsState:n}}restoreViewState(n){if(!this._modelData||!this._modelData.hasRealView)return;const a=n;if(a&&a.cursorState&&a.viewState){const g=a.cursorState;Array.isArray(g)?g.length>0&&this._modelData.viewModel.restoreCursorState(g):this._modelData.viewModel.restoreCursorState([g]);const I=a.contributionsState||{},R=Object.keys(this._contributions);for(let Ce=0,De=R.length;Ce<De;Ce++){const Ie=R[Ce],Pe=this._contributions[Ie];typeof Pe.restoreViewState=="function"&&Pe.restoreViewState(I[Ie])}const se=this._modelData.viewModel.reduceRestoreState(a.viewState);this._modelData.view.restoreState(se)}}getContribution(n){return this._contributions[n]||null}getActions(){const n=[],a=Object.keys(this._actions);for(let g=0,I=a.length;g<I;g++){const R=a[g];n.push(this._actions[R])}return n}getSupportedActions(){let n=this.getActions();return n=n.filter(a=>a.isSupported()),n}getAction(n){return this._actions[n]||null}trigger(n,a,g){switch(g=g||{},a){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(n);return;case"type":{const R=g;this._type(n,R.text||"");return}case"replacePreviousChar":{const R=g;this._compositionType(n,R.text||"",R.replaceCharCnt||0,0,0);return}case"compositionType":{const R=g;this._compositionType(n,R.text||"",R.replacePrevCharCnt||0,R.replaceNextCharCnt||0,R.positionDelta||0);return}case"paste":{const R=g;this._paste(n,R.text||"",R.pasteOnNewLine||!1,R.multicursorText||null,R.mode||null);return}case"cut":this._cut(n);return}const I=this.getAction(a);if(I){Promise.resolve(I.run()).then(void 0,z.dL);return}this._modelData&&(this._triggerEditorCommand(n,a,g)||this._triggerCommand(a,g))}_triggerCommand(n,a){this._commandService.executeCommand(n,a)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(n){this._modelData&&(this._modelData.viewModel.endComposition(n),this._onDidCompositionEnd.fire())}_type(n,a){!this._modelData||a.length===0||(n==="keyboard"&&this._onWillType.fire(a),this._modelData.viewModel.type(a,n),n==="keyboard"&&this._onDidType.fire(a))}_compositionType(n,a,g,I,R){this._modelData&&this._modelData.viewModel.compositionType(a,g,I,R,n)}_paste(n,a,g,I,R){if(!this._modelData||a.length===0)return;const se=this._modelData.viewModel,Ce=se.getSelection().getStartPosition();se.paste(a,g,I,n);const De=se.getSelection().getStartPosition();n==="keyboard"&&this._onDidPaste.fire({range:new Ae.e(Ce.lineNumber,Ce.column,De.lineNumber,De.column),languageId:R})}_cut(n){this._modelData&&this._modelData.viewModel.cut(n)}_triggerEditorCommand(n,a,g){const I=u.Uc.getEditorCommand(a);return I?(g=g||{},g.source=n,this._instantiationService.invokeFunction(R=>{Promise.resolve(I.runEditorCommand(R,this,g)).then(void 0,z.dL)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(83)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(83)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(n,a,g){if(!this._modelData||this._configuration.options.get(83))return!1;let I;return g?Array.isArray(g)?I=()=>g:I=g:I=()=>null,this._modelData.viewModel.executeEdits(n,a,I),!0}executeCommand(n,a){this._modelData&&this._modelData.viewModel.executeCommand(a,n)}executeCommands(n,a){this._modelData&&this._modelData.viewModel.executeCommands(a,n)}createDecorationsCollection(n){return new Ka(this,n)}changeDecorations(n){return this._modelData?this._modelData.model.changeDecorations(n,this._id):null}getLineDecorations(n){return this._modelData?this._modelData.model.getLineDecorations(n,this._id,(0,te.$J)(this._configuration.options)):null}getDecorationsInRange(n){return this._modelData?this._modelData.model.getDecorationsInRange(n,this._id,(0,te.$J)(this._configuration.options)):null}deltaDecorations(n,a){return this._modelData?n.length===0&&a.length===0?n:this._modelData.model.deltaDecorations(n,a,this._id):[]}removeDecorations(n){!this._modelData||n.length===0||this._modelData.model.changeDecorations(a=>{a.deltaDecorations(n,[])})}removeDecorationsByType(n){const a=this._decorationTypeKeysToIds[n];a&&this.deltaDecorations(a,[]),this._decorationTypeKeysToIds.hasOwnProperty(n)&&delete this._decorationTypeKeysToIds[n],this._decorationTypeSubtypes.hasOwnProperty(n)&&delete this._decorationTypeSubtypes[n]}getLayoutInfo(){return this._configuration.options.get(133)}createOverviewRuler(n){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(n)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(n){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(n)}layout(n){this._configuration.observeContainer(n),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(n){const a={widget:n,position:n.getPosition()};this._contentWidgets.hasOwnProperty(n.getId())&&console.warn("Overwriting a content widget with the same id."),this._contentWidgets[n.getId()]=a,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(a)}layoutContentWidget(n){const a=n.getId();if(this._contentWidgets.hasOwnProperty(a)){const g=this._contentWidgets[a];g.position=n.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(g)}}removeContentWidget(n){const a=n.getId();if(this._contentWidgets.hasOwnProperty(a)){const g=this._contentWidgets[a];delete this._contentWidgets[a],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(g)}}addOverlayWidget(n){const a={widget:n,position:n.getPosition()};this._overlayWidgets.hasOwnProperty(n.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[n.getId()]=a,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(a)}layoutOverlayWidget(n){const a=n.getId();if(this._overlayWidgets.hasOwnProperty(a)){const g=this._overlayWidgets[a];g.position=n.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(g)}}removeOverlayWidget(n){const a=n.getId();if(this._overlayWidgets.hasOwnProperty(a)){const g=this._overlayWidgets[a];delete this._overlayWidgets[a],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(g)}}changeViewZones(n){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(n)}getTargetAtClientPoint(n,a){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(n,a)}getScrolledVisiblePosition(n){if(!this._modelData||!this._modelData.hasRealView)return null;const a=this._modelData.model.validatePosition(n),g=this._configuration.options,I=g.get(133),R=xh._getVerticalOffsetForPosition(this._modelData,a.lineNumber,a.column)-this.getScrollTop(),se=this._modelData.view.getOffsetForColumn(a.lineNumber,a.column)+I.glyphMarginWidth+I.lineNumbersWidth+I.decorationsWidth-this.getScrollLeft();return{top:R,left:se,height:g.get(61)}}getOffsetForColumn(n,a){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(n,a)}render(n=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,n)}setAriaOptions(n){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(n)}applyFontInfo(n){(0,Qt.N)(n,this._configuration.options.get(46))}setBanner(n,a){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=n,this._configuration.setReservedHeight(n?a:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(n){if(!n){this._modelData=null;return}const a=[];this._domElement.setAttribute("data-mode-id",n.getLanguageId()),this._configuration.setIsDominatedByLongLines(n.isDominatedByLongLines()),this._configuration.setModelLineCount(n.getLineCount()),n.onBeforeAttached();const g=new Va(this._id,this._configuration,n,pd.create(),_a.create(this._configuration.options),se=>q.jL(se),this.languageConfigurationService,this._themeService);a.push(n.onWillDispose(()=>this.setModel(null))),a.push(g.onEvent(se=>{switch(se.kind){case 0:this._onDidContentSizeChange.fire(se);break;case 1:this._editorTextFocus.setValue(se.hasFocus);break;case 2:this._onDidScrollChange.fire(se);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{se.reachedMaxCursorCount&&this._notificationService.warn(Z.NC("cursors.maximum","The number of cursors has been limited to {0}.",Do.MAX_CURSOR_COUNT));const Ce=[];for(let Pe=0,Ke=se.selections.length;Pe<Ke;Pe++)Ce[Pe]=se.selections[Pe].getPosition();const De={position:Ce[0],secondaryPositions:Ce.slice(1),reason:se.reason,source:se.source};this._onDidChangeCursorPosition.fire(De);const Ie={selection:se.selections[0],secondarySelections:se.selections.slice(1),modelVersionId:se.modelVersionId,oldSelections:se.oldSelections,oldModelVersionId:se.oldModelVersionId,source:se.source,reason:se.reason};this._onDidChangeCursorSelection.fire(Ie);break}case 7:this._onDidChangeModelDecorations.fire(se.event);break;case 8:this._domElement.setAttribute("data-mode-id",n.getLanguageId()),this._onDidChangeModelLanguage.fire(se.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(se.event);break;case 10:this._onDidChangeModelContent.fire(se.event);break;case 11:this._onDidChangeModelOptions.fire(se.event);break;case 12:this._onDidChangeModelTokens.fire(se.event);break}}));const[I,R]=this._createView(g);if(R){this._domElement.appendChild(I.domNode.domNode);let se=Object.keys(this._contentWidgets);for(let Ce=0,De=se.length;Ce<De;Ce++){const Ie=se[Ce];I.addContentWidget(this._contentWidgets[Ie])}se=Object.keys(this._overlayWidgets);for(let Ce=0,De=se.length;Ce<De;Ce++){const Ie=se[Ce];I.addOverlayWidget(this._overlayWidgets[Ie])}I.render(!1,!0),I.domNode.domNode.setAttribute("data-uri",n.uri.toString())}this._modelData=new Sc(n,g,I,R,a)}_createView(n){let a;this.isSimpleWidget?a={paste:(R,se,Ce,De)=>{this._paste("keyboard",R,se,Ce,De)},type:R=>{this._type("keyboard",R)},compositionType:(R,se,Ce,De)=>{this._compositionType("keyboard",R,se,Ce,De)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:a={paste:(R,se,Ce,De)=>{const Ie={text:R,pasteOnNewLine:se,multicursorText:Ce,mode:De};this._commandService.executeCommand("paste",Ie)},type:R=>{const se={text:R};this._commandService.executeCommand("type",se)},compositionType:(R,se,Ce,De)=>{if(Ce||De){const Ie={text:R,replacePrevCharCnt:se,replaceNextCharCnt:Ce,positionDelta:De};this._commandService.executeCommand("compositionType",Ie)}else{const Ie={text:R,replaceCharCnt:se};this._commandService.executeCommand("replacePreviousChar",Ie)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const g=new Ci(n.coordinatesConverter);return g.onKeyDown=R=>this._onKeyDown.fire(R),g.onKeyUp=R=>this._onKeyUp.fire(R),g.onContextMenu=R=>this._onContextMenu.fire(R),g.onMouseMove=R=>this._onMouseMove.fire(R),g.onMouseLeave=R=>this._onMouseLeave.fire(R),g.onMouseDown=R=>this._onMouseDown.fire(R),g.onMouseUp=R=>this._onMouseUp.fire(R),g.onMouseDrag=R=>this._onMouseDrag.fire(R),g.onMouseDrop=R=>this._onMouseDrop.fire(R),g.onMouseDropCanceled=R=>this._onMouseDropCanceled.fire(R),g.onMouseWheel=R=>this._onMouseWheel.fire(R),[new Cr(a,this._configuration,this._themeService.getColorTheme(),n,g,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(n){n?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const n=this._modelData.model,a=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),a&&this._domElement.contains(a)&&this._domElement.removeChild(a),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),n}_removeDecorationType(n){this._codeEditorService.removeDecorationType(n)}hasModel(){return this._modelData!==null}showDropIndicatorAt(n){const a=[{range:new Ae.e(n.lineNumber,n.column,n.lineNumber,n.column),options:xh.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(a),this.revealPosition(n,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}};ja.dropIntoEditorDecorationOptions=pl.qx.register({description:"workbench-dnd-target",className:"dnd-target"}),ja=lf([Dr(3,Ha.TG),Dr(4,xe.$),Dr(5,Sl.Hy),Dr(6,Yr.i6),Dr(7,li.XE),Dr(8,Bo.lT),Dr(9,ge.F),Dr(10,_d.c_),Dr(11,va.p)],ja);class Il extends C.JT{constructor(n){super(),this._emitterOptions=n,this._onDidChangeToTrue=this._register(new y.Q5(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new y.Q5(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(n){const a=n?2:1;this._value!==a&&(this._value=a,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class xl extends C.JT{constructor(n,a){super(),this._editor=n,a.createKey("editorId",n.getId()),this._editorSimpleInput=hs.u.editorSimpleInput.bindTo(a),this._editorFocus=hs.u.focus.bindTo(a),this._textInputFocus=hs.u.textInputFocus.bindTo(a),this._editorTextFocus=hs.u.editorTextFocus.bindTo(a),this._editorTabMovesFocus=hs.u.tabMovesFocus.bindTo(a),this._editorReadonly=hs.u.readOnly.bindTo(a),this._inDiffEditor=hs.u.inDiffEditor.bindTo(a),this._editorColumnSelection=hs.u.columnSelection.bindTo(a),this._hasMultipleSelections=hs.u.hasMultipleSelections.bindTo(a),this._hasNonEmptySelection=hs.u.hasNonEmptySelection.bindTo(a),this._canUndo=hs.u.canUndo.bindTo(a),this._canRedo=hs.u.canRedo.bindTo(a),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._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const n=this._editor.getOptions();this._editorTabMovesFocus.set(n.get(132)),this._editorReadonly.set(n.get(83)),this._inDiffEditor.set(n.get(56)),this._editorColumnSelection.set(n.get(18))}_updateFromSelection(){const n=this._editor.getSelections();n?(this._hasMultipleSelections.set(n.length>1),this._hasNonEmptySelection.set(n.some(a=>!a.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 n=this._editor.getModel();this._canUndo.set(!!(n&&n.canUndo())),this._canRedo.set(!!(n&&n.canRedo()))}}class Nl extends C.JT{constructor(n,a,g){super(),this._editor=n,this._contextKeyService=a,this._languageFeaturesService=g,this._langId=hs.u.languageId.bindTo(a),this._hasCompletionItemProvider=hs.u.hasCompletionItemProvider.bindTo(a),this._hasCodeActionsProvider=hs.u.hasCodeActionsProvider.bindTo(a),this._hasCodeLensProvider=hs.u.hasCodeLensProvider.bindTo(a),this._hasDefinitionProvider=hs.u.hasDefinitionProvider.bindTo(a),this._hasDeclarationProvider=hs.u.hasDeclarationProvider.bindTo(a),this._hasImplementationProvider=hs.u.hasImplementationProvider.bindTo(a),this._hasTypeDefinitionProvider=hs.u.hasTypeDefinitionProvider.bindTo(a),this._hasHoverProvider=hs.u.hasHoverProvider.bindTo(a),this._hasDocumentHighlightProvider=hs.u.hasDocumentHighlightProvider.bindTo(a),this._hasDocumentSymbolProvider=hs.u.hasDocumentSymbolProvider.bindTo(a),this._hasReferenceProvider=hs.u.hasReferenceProvider.bindTo(a),this._hasRenameProvider=hs.u.hasRenameProvider.bindTo(a),this._hasSignatureHelpProvider=hs.u.hasSignatureHelpProvider.bindTo(a),this._hasInlayHintsProvider=hs.u.hasInlayHintsProvider.bindTo(a),this._hasDocumentFormattingProvider=hs.u.hasDocumentFormattingProvider.bindTo(a),this._hasDocumentSelectionFormattingProvider=hs.u.hasDocumentSelectionFormattingProvider.bindTo(a),this._hasMultipleDocumentFormattingProvider=hs.u.hasMultipleDocumentFormattingProvider.bindTo(a),this._hasMultipleDocumentSelectionFormattingProvider=hs.u.hasMultipleDocumentSelectionFormattingProvider.bindTo(a),this._isInWalkThrough=hs.u.isInWalkThroughSnippet.bindTo(a);const I=()=>this._update();this._register(n.onDidChangeModel(I)),this._register(n.onDidChangeModelLanguage(I)),this._register(g.completionProvider.onDidChange(I)),this._register(g.codeActionProvider.onDidChange(I)),this._register(g.codeLensProvider.onDidChange(I)),this._register(g.definitionProvider.onDidChange(I)),this._register(g.declarationProvider.onDidChange(I)),this._register(g.implementationProvider.onDidChange(I)),this._register(g.typeDefinitionProvider.onDidChange(I)),this._register(g.hoverProvider.onDidChange(I)),this._register(g.documentHighlightProvider.onDidChange(I)),this._register(g.documentSymbolProvider.onDidChange(I)),this._register(g.referenceProvider.onDidChange(I)),this._register(g.renameProvider.onDidChange(I)),this._register(g.documentFormattingEditProvider.onDidChange(I)),this._register(g.documentRangeFormattingEditProvider.onDidChange(I)),this._register(g.signatureHelpProvider.onDidChange(I)),this._register(g.inlayHintsProvider.onDidChange(I)),I()}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._isInWalkThrough.reset()})}_update(){const n=this._editor.getModel();if(!n){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(n.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(n)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(n)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(n)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(n)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(n)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(n)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(n)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(n)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(n)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(n)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(n)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(n)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(n)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(n)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(n)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(n)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(n)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(n).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(n).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(n).length>1),this._isInWalkThrough.set(n.uri.scheme===L.lg.walkThroughSnippet)})}}class co extends C.JT{constructor(n){super(),this._onChange=this._register(new y.Q5),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(q.go(n)),this._register(this._domFocusTracker.onDidFocus(()=>{this._hasFocus=!0,this._onChange.fire(void 0)})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasFocus=!1,this._onChange.fire(void 0)}))}hasFocus(){return this._hasFocus}}class Ka{constructor(n,a){this._editor=n,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(a)&&a.length>0&&this.set(a)}get length(){return this._decorationIds.length}onDidChange(n,a,g){return this._editor.onDidChangeModelDecorations(I=>{this._isChangingDecorations||n.call(a,I)},g)}getRange(n){return!this._editor.hasModel()||n>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[n])}getRanges(){if(!this._editor.hasModel())return[];const n=this._editor.getModel(),a=[];for(const g of this._decorationIds){const I=n.getDecorationRange(g);I&&a.push(I)}return a}has(n){return this._decorationIds.includes(n.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(n){try{this._isChangingDecorations=!0,this._editor.changeDecorations(a=>{this._decorationIds=a.deltaDecorations(this._decorationIds,n)})}finally{this._isChangingDecorations=!1}}}const kl=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),Ph=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function $a(qe){return kl+encodeURIComponent(qe.toString())+Ph}const Cd=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),yc=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');function Tl(qe){return Cd+encodeURIComponent(qe.toString())+yc}(0,li.Ic)((qe,n)=>{const a=qe.getColor(Ln.b6y);a&&n.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${a}; }`);const g=qe.getColor(Ln.lXJ);g&&n.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${$a(g)}") repeat-x bottom left; }`);const I=qe.getColor(Ln.L_H);I&&n.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${I}; }`);const R=qe.getColor(Ln.pW3);R&&n.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${R}; }`);const se=qe.getColor(Ln.uoC);se&&n.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${$a(se)}") repeat-x bottom left; }`);const Ce=qe.getColor(Ln.gpD);Ce&&n.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${Ce}; }`);const De=qe.getColor(Ln.T83);De&&n.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${De}; }`);const Ie=qe.getColor(Ln.c63);Ie&&n.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${$a(Ie)}") repeat-x bottom left; }`);const Pe=qe.getColor(Ln.few);Pe&&n.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${Pe}; }`);const Ke=qe.getColor(Ln.fEB);Ke&&n.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${Ke}; }`);const Je=qe.getColor(Ln.Dut);Je&&n.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${Tl(Je)}") no-repeat bottom left; }`);const nt=qe.getColor(qt.zu);nt&&n.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${nt.rgba.a}; }`);const Lt=qe.getColor(qt.kp);Lt&&n.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${Lt}; }`);const Tt=qe.getColor(Ln.NOs)||"inherit";n.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${Tt}}`)})},96241:(At,Be,m)=>{m.d(Be,{p:()=>Ii});var k=m(86950),u=m(88631),ie=m(22120),Q=m(18565),N=m(35788),ne=m(24641),Z=m(49434),q=m(86640),z=m(50149),y=m(51462),C=m(30940),L=m(23728),b=m(89581),d=m(51961),S=m(3732),E=m(9756),D=m(2599),x=m(21688),K=m(11876),T=m(38684),W=m(8689),A=m(1107),U=m(9283),X=m(8704),te=m(50199),he=m(40611),_e=m(26194),ge=m(15324),me=m(44207),re=m(45440),Y=function(si,Ne,be,Xe){var Rt=arguments.length,Ht=Rt<3?Ne:Xe===null?Xe=Object.getOwnPropertyDescriptor(Ne,be):Xe,Qt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ht=Reflect.decorate(si,Ne,be,Xe);else for(var ai=si.length-1;ai>=0;ai--)(Qt=si[ai])&&(Ht=(Rt<3?Qt(Ht):Rt>3?Qt(Ne,be,Ht):Qt(Ne,be))||Ht);return Rt>3&&Ht&&Object.defineProperty(Ne,be,Ht),Ht},de=function(si,Ne){return function(be,Xe){Ne(be,Xe,si)}},oe=function(si,Ne,be,Xe){function Rt(Ht){return Ht instanceof be?Ht:new be(function(Qt){Qt(Ht)})}return new(be||(be=Promise))(function(Ht,Qt){function ai(qt){try{ci(Xe.next(qt))}catch(li){Qt(li)}}function mi(qt){try{ci(Xe.throw(qt))}catch(li){Qt(li)}}function ci(qt){qt.done?Ht(qt.value):Rt(qt.value).then(ai,mi)}ci((Xe=Xe.apply(si,Ne||[])).next())})},J;const $=3;class ue{constructor(Ne,be,Xe,Rt){this.originalLineStart=Ne,this.originalLineEnd=be,this.modifiedLineStart=Xe,this.modifiedLineEnd=Rt}getType(){return this.originalLineStart===0?1:this.modifiedLineStart===0?2:0}}class ve{constructor(Ne){this.entries=Ne}}const xe=(0,me.q5)("diff-review-insert",ge.lA.add,u.NC("diffReviewInsertIcon","Icon for 'Insert' in diff review.")),O=(0,me.q5)("diff-review-remove",ge.lA.remove,u.NC("diffReviewRemoveIcon","Icon for 'Remove' in diff review.")),rt=(0,me.q5)("diff-review-close",ge.lA.close,u.NC("diffReviewCloseIcon","Icon for 'Close' in diff review."));let ct=class cc extends z.JT{constructor(Ne,be){super(),this._languageService=be,this._width=0,this._diffEditor=Ne,this._isVisible=!1,this.shadow=(0,N.X)(document.createElement("div")),this.shadow.setClassName("diff-review-shadow"),this.actionBarContainer=(0,N.X)(document.createElement("div")),this.actionBarContainer.setClassName("diff-review-actions"),this._actionBar=this._register(new S.o(this.actionBarContainer.domNode)),this._actionBar.push(new D.aU("diffreview.close",u.NC("label.close","Close"),"close-diff-review "+_e.kS.asClassName(rt),!0,()=>oe(this,void 0,void 0,function*(){return this.hide()})),{label:!1,icon:!0}),this.domNode=(0,N.X)(document.createElement("div")),this.domNode.setClassName("diff-review monaco-editor-background"),this._content=(0,N.X)(document.createElement("div")),this._content.setClassName("diff-review-content"),this._content.setAttribute("role","code"),this.scrollbar=this._register(new E.s$(this._content.domNode,{})),this.domNode.domNode.appendChild(this.scrollbar.getDomNode()),this._register(Ne.onDidUpdateDiff(()=>{this._isVisible&&(this._diffs=this._compute(),this._render())})),this._register(Ne.getModifiedEditor().onDidChangeCursorPosition(()=>{this._isVisible&&this._render()})),this._register(ie.mu(this.domNode.domNode,"click",Xe=>{Xe.preventDefault();const Rt=ie.Fx(Xe.target,"diff-review-row");Rt&&this._goToRow(Rt)})),this._register(ie.mu(this.domNode.domNode,"keydown",Xe=>{(Xe.equals(18)||Xe.equals(2066)||Xe.equals(530))&&(Xe.preventDefault(),this._goToRow(this._getNextRow())),(Xe.equals(16)||Xe.equals(2064)||Xe.equals(528))&&(Xe.preventDefault(),this._goToRow(this._getPrevRow())),(Xe.equals(9)||Xe.equals(2057)||Xe.equals(521)||Xe.equals(1033))&&(Xe.preventDefault(),this.hide()),(Xe.equals(10)||Xe.equals(3))&&(Xe.preventDefault(),this.accept())})),this._diffs=[],this._currentDiff=null}prev(){let Ne=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let Xe=-1;for(let Rt=0,Ht=this._diffs.length;Rt<Ht;Rt++)if(this._diffs[Rt]===this._currentDiff){Xe=Rt;break}Ne=this._diffs.length+Xe-1}else Ne=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;Ne=Ne%this._diffs.length;const be=this._diffs[Ne].entries;this._diffEditor.setPosition(new W.L(be[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:be[0].modifiedLineStart,endColumn:1073741824,endLineNumber:be[be.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}next(){let Ne=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let Xe=-1;for(let Rt=0,Ht=this._diffs.length;Rt<Ht;Rt++)if(this._diffs[Rt]===this._currentDiff){Xe=Rt;break}Ne=Xe+1}else Ne=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;Ne=Ne%this._diffs.length;const be=this._diffs[Ne].entries;this._diffEditor.setPosition(new W.L(be[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:be[0].modifiedLineStart,endColumn:1073741824,endLineNumber:be[be.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}accept(){let Ne=-1;const be=this._getCurrentFocusedRow();if(be){const Xe=parseInt(be.getAttribute("data-line"),10);isNaN(Xe)||(Ne=Xe)}this.hide(),Ne!==-1&&(this._diffEditor.setPosition(new W.L(Ne,1)),this._diffEditor.revealPosition(new W.L(Ne,1),1))}hide(){this._isVisible=!1,this._diffEditor.updateOptions({readOnly:!1}),this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()}_getPrevRow(){const Ne=this._getCurrentFocusedRow();return Ne?Ne.previousElementSibling?Ne.previousElementSibling:Ne:this._getFirstRow()}_getNextRow(){const Ne=this._getCurrentFocusedRow();return Ne?Ne.nextElementSibling?Ne.nextElementSibling:Ne:this._getFirstRow()}_getFirstRow(){return this.domNode.domNode.querySelector(".diff-review-row")}_getCurrentFocusedRow(){const Ne=document.activeElement;return Ne&&/diff-review-row/.test(Ne.className)?Ne:null}_goToRow(Ne){const be=this._getCurrentFocusedRow();Ne.tabIndex=0,Ne.focus(),be&&be!==Ne&&(be.tabIndex=-1),this.scrollbar.scanDomNode()}isVisible(){return this._isVisible}layout(Ne,be,Xe){this._width=be,this.shadow.setTop(Ne-6),this.shadow.setWidth(be),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(Ne),this.domNode.setWidth(be),this.domNode.setHeight(Xe),this._content.setHeight(Xe),this._content.setWidth(be),this._isVisible?(this.actionBarContainer.setAttribute("aria-hidden","false"),this.actionBarContainer.setDisplay("block")):(this.actionBarContainer.setAttribute("aria-hidden","true"),this.actionBarContainer.setDisplay("none"))}_compute(){const Ne=this._diffEditor.getLineChanges();if(!Ne||Ne.length===0)return[];const be=this._diffEditor.getOriginalEditor().getModel(),Xe=this._diffEditor.getModifiedEditor().getModel();return!be||!Xe?[]:cc._mergeAdjacent(Ne,be.getLineCount(),Xe.getLineCount())}static _mergeAdjacent(Ne,be,Xe){if(!Ne||Ne.length===0)return[];const Rt=[];let Ht=0;for(let ci=0,qt=Ne.length;ci<qt;ci++){const li=Ne[ci],xi=li.originalStartLineNumber,Si=li.originalEndLineNumber,Pi=li.modifiedStartLineNumber,Ti=li.modifiedEndLineNumber,en=[];let Fi=0;{const gn=Si===0?xi:xi-1,Qi=Ti===0?Pi:Pi-1;let Oi=1,Bi=1;if(ci>0){const Ci=Ne[ci-1];Ci.originalEndLineNumber===0?Oi=Ci.originalStartLineNumber+1:Oi=Ci.originalEndLineNumber+1,Ci.modifiedEndLineNumber===0?Bi=Ci.modifiedStartLineNumber+1:Bi=Ci.modifiedEndLineNumber+1}let Wi=gn-$+1,an=Qi-$+1;if(Wi<Oi){const Ci=Oi-Wi;Wi=Wi+Ci,an=an+Ci}if(an<Bi){const Ci=Bi-an;Wi=Wi+Ci,an=an+Ci}en[Fi++]=new ue(Wi,gn,an,Qi)}Si!==0&&(en[Fi++]=new ue(xi,Si,0,0)),Ti!==0&&(en[Fi++]=new ue(0,0,Pi,Ti));{const gn=Si===0?xi+1:Si+1,Qi=Ti===0?Pi+1:Ti+1;let Oi=be,Bi=Xe;if(ci+1<qt){const Ci=Ne[ci+1];Ci.originalEndLineNumber===0?Oi=Ci.originalStartLineNumber:Oi=Ci.originalStartLineNumber-1,Ci.modifiedEndLineNumber===0?Bi=Ci.modifiedStartLineNumber:Bi=Ci.modifiedStartLineNumber-1}let Wi=gn+$-1,an=Qi+$-1;if(Wi>Oi){const Ci=Oi-Wi;Wi=Wi+Ci,an=an+Ci}if(an>Bi){const Ci=Bi-an;Wi=Wi+Ci,an=an+Ci}en[Fi++]=new ue(gn,Wi,Qi,an)}Rt[Ht++]=new ve(en)}let Qt=Rt[0].entries;const ai=[];let mi=0;for(let ci=1,qt=Rt.length;ci<qt;ci++){const li=Rt[ci].entries,xi=Qt[Qt.length-1],Si=li[0];if(xi.getType()===0&&Si.getType()===0&&Si.originalLineStart<=xi.originalLineEnd){Qt[Qt.length-1]=new ue(xi.originalLineStart,Si.originalLineEnd,xi.modifiedLineStart,Si.modifiedLineEnd),Qt=Qt.concat(li.slice(1));continue}ai[mi++]=new ve(Qt),Qt=li}return ai[mi++]=new ve(Qt),ai}_findDiffIndex(Ne){const be=Ne.lineNumber;for(let Xe=0,Rt=this._diffs.length;Xe<Rt;Xe++){const Ht=this._diffs[Xe].entries,Qt=Ht[Ht.length-1].modifiedLineEnd;if(be<=Qt)return Xe}return 0}_render(){const Ne=this._diffEditor.getOriginalEditor().getOptions(),be=this._diffEditor.getModifiedEditor().getOptions(),Xe=this._diffEditor.getOriginalEditor().getModel(),Rt=this._diffEditor.getModifiedEditor().getModel(),Ht=Xe.getOptions(),Qt=Rt.getOptions();if(!this._isVisible||!Xe||!Rt){ie.PO(this._content.domNode),this._currentDiff=null,this.scrollbar.scanDomNode();return}this._diffEditor.updateOptions({readOnly:!0});const ai=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs[ai]===this._currentDiff)return;this._currentDiff=this._diffs[ai];const mi=this._diffs[ai].entries,ci=document.createElement("div");ci.className="diff-review-table",ci.setAttribute("role","list"),ci.setAttribute("aria-label",'Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands'),(0,y.N)(ci,be.get(46));let qt=0,li=0,xi=0,Si=0;for(let an=0,Ci=mi.length;an<Ci;an++){const Kn=mi[an],Vn=Kn.originalLineStart,Nn=Kn.originalLineEnd,Rn=Kn.modifiedLineStart,$i=Kn.modifiedLineEnd;Vn!==0&&(qt===0||Vn<qt)&&(qt=Vn),Nn!==0&&(li===0||Nn>li)&&(li=Nn),Rn!==0&&(xi===0||Rn<xi)&&(xi=Rn),$i!==0&&(Si===0||$i>Si)&&(Si=$i)}const Pi=document.createElement("div");Pi.className="diff-review-row";const Ti=document.createElement("div");Ti.className="diff-review-cell diff-review-summary";const en=li-qt+1,Fi=Si-xi+1;Ti.appendChild(document.createTextNode(`${ai+1}/${this._diffs.length}: @@ -${qt},${en} +${xi},${Fi} @@`)),Pi.setAttribute("data-line",String(xi));const gn=an=>an===0?u.NC("no_lines_changed","no lines changed"):an===1?u.NC("one_line_changed","1 line changed"):u.NC("more_lines_changed","{0} lines changed",an),Qi=gn(en),Oi=gn(Fi);Pi.setAttribute("aria-label",u.NC({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}",ai+1,this._diffs.length,qt,Qi,xi,Oi)),Pi.appendChild(Ti),Pi.setAttribute("role","listitem"),ci.appendChild(Pi);const Bi=be.get(61);let Wi=xi;for(let an=0,Ci=mi.length;an<Ci;an++){const Kn=mi[an];cc._renderSection(ci,Kn,Wi,Bi,this._width,Ne,Xe,Ht,be,Rt,Qt,this._languageService.languageIdCodec),Kn.modifiedLineStart!==0&&(Wi=Kn.modifiedLineEnd)}ie.PO(this._content.domNode),this._content.domNode.appendChild(ci),this.scrollbar.scanDomNode()}static _renderSection(Ne,be,Xe,Rt,Ht,Qt,ai,mi,ci,qt,li,xi){const Si=be.getType();let Pi="diff-review-row",Ti="";const en="diff-review-spacer";let Fi=null;switch(Si){case 1:Pi="diff-review-row line-insert",Ti=" char-insert",Fi=xe;break;case 2:Pi="diff-review-row line-delete",Ti=" char-delete",Fi=O;break}const gn=be.originalLineStart,Qi=be.originalLineEnd,Oi=be.modifiedLineStart,Bi=be.modifiedLineEnd,Wi=Math.max(Bi-Oi,Qi-gn),an=Qt.get(133),Ci=an.glyphMarginWidth+an.lineNumbersWidth,Kn=ci.get(133),Vn=10+Kn.glyphMarginWidth+Kn.lineNumbersWidth;for(let Nn=0;Nn<=Wi;Nn++){const Rn=gn===0?0:gn+Nn,$i=Oi===0?0:Oi+Nn,Tn=document.createElement("div");Tn.style.minWidth=Ht+"px",Tn.className=Pi,Tn.setAttribute("role","listitem"),$i!==0&&(Xe=$i),Tn.setAttribute("data-line",String(Xe));const qn=document.createElement("div");qn.className="diff-review-cell",qn.style.height=`${Rt}px`,Tn.appendChild(qn);const Ai=document.createElement("span");Ai.style.width=Ci+"px",Ai.style.minWidth=Ci+"px",Ai.className="diff-review-line-number"+Ti,Rn!==0?Ai.appendChild(document.createTextNode(String(Rn))):Ai.innerText="\xA0",qn.appendChild(Ai);const ts=document.createElement("span");ts.style.width=Vn+"px",ts.style.minWidth=Vn+"px",ts.style.paddingRight="10px",ts.className="diff-review-line-number"+Ti,$i!==0?ts.appendChild(document.createTextNode(String($i))):ts.innerText="\xA0",qn.appendChild(ts);const Ni=document.createElement("span");if(Ni.className=en,Fi){const hn=document.createElement("span");hn.className=_e.kS.asClassName(Fi),hn.innerText="\xA0\xA0",Ni.appendChild(hn)}else Ni.innerText="\xA0\xA0";qn.appendChild(Ni);let rs;if($i!==0){let hn=this._renderLine(qt,ci,li.tabSize,$i,xi);cc._ttPolicy&&(hn=cc._ttPolicy.createHTML(hn)),qn.insertAdjacentHTML("beforeend",hn),rs=qt.getLineContent($i)}else{let hn=this._renderLine(ai,Qt,mi.tabSize,Rn,xi);cc._ttPolicy&&(hn=cc._ttPolicy.createHTML(hn)),qn.insertAdjacentHTML("beforeend",hn),rs=ai.getLineContent(Rn)}rs.length===0&&(rs=u.NC("blankLine","blank"));let Yi="";switch(Si){case 0:Rn===$i?Yi=u.NC({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",rs,Rn):Yi=u.NC("equalLine","{0} original line {1} modified line {2}",rs,Rn,$i);break;case 1:Yi=u.NC("insertLine","+ {0} modified line {1}",rs,$i);break;case 2:Yi=u.NC("deleteLine","- {0} original line {1}",rs,Rn);break}Tn.setAttribute("aria-label",Yi),Ne.appendChild(Tn)}}static _renderLine(Ne,be,Xe,Rt,Ht){const Qt=Ne.getLineContent(Rt),ai=be.get(46),mi=T.A.createEmpty(Qt,Ht),ci=X.wA.isBasicASCII(Qt,Ne.mightContainNonBasicASCII()),qt=X.wA.containsRTL(Qt,ci,Ne.mightContainRTL());return(0,U.tF)(new U.IJ(ai.isMonospace&&!be.get(29),ai.canUseHalfwidthRightwardsArrow,Qt,!1,ci,qt,0,mi,[],Xe,0,ai.spaceWidth,ai.middotWidth,ai.wsmiddotWidth,be.get(107),be.get(90),be.get(85),be.get(47)!==K.n0.OFF,null)).html}};ct._ttPolicy=(J=window.trustedTypes)===null||J===void 0?void 0:J.createPolicy("diffReview",{createHTML:si=>si}),ct=Y([de(1,re.O)],ct),(0,_e.Ic)((si,Ne)=>{const be=si.getColor(A.hw);be&&Ne.addRule(`.monaco-diff-editor .diff-review-line-number { color: ${be}; }`);const Xe=si.getColor(he._wn);Xe&&Ne.addRule(`.monaco-diff-editor .diff-review-shadow { box-shadow: ${Xe} 0 -6px 6px -6px inset; }`)});class Ve extends x.R6{constructor(){super({id:"editor.action.diffReview.next",label:u.NC("editor.action.diffReview.next","Go to Next Difference"),alias:"Go to Next Difference",precondition:te.Ao.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})}run(Ne,be){const Xe=Ee(Ne);Xe&&Xe.diffReviewNext()}}class $e extends x.R6{constructor(){super({id:"editor.action.diffReview.prev",label:u.NC("editor.action.diffReview.prev","Go to Previous Difference"),alias:"Go to Previous Difference",precondition:te.Ao.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1089,weight:100}})}run(Ne,be){const Xe=Ee(Ne);Xe&&Xe.diffReviewPrev()}}function Ee(si){const Ne=si.get(L.$),be=Ne.listDiffEditors(),Xe=Ne.getActiveCodeEditor();if(!Xe)return null;for(let Rt=0,Ht=be.length;Rt<Ht;Rt++){const Qt=be[Rt];if(Qt.getModifiedEditor().getId()===Xe.getId()||Qt.getOriginalEditor().getId()===Xe.getId())return Qt}return null}(0,x.Qr)(Ve),(0,x.Qr)($e);var Fe=m(62685),je=m(96808),Re=m(59634),tt=m(24450),at=m(81698),Dt=m(60980),Et=m(92201),Nt=m(41846),ke=m(81775),dt=m(21058),mt=m(30746),Wt=function(si,Ne,be,Xe){function Rt(Ht){return Ht instanceof be?Ht:new be(function(Qt){Qt(Ht)})}return new(be||(be=Promise))(function(Ht,Qt){function ai(qt){try{ci(Xe.next(qt))}catch(li){Qt(li)}}function mi(qt){try{ci(Xe.throw(qt))}catch(li){Qt(li)}}function ci(qt){qt.done?Ht(qt.value):Rt(qt.value).then(ai,mi)}ci((Xe=Xe.apply(si,Ne||[])).next())})};class Kt extends z.JT{constructor(Ne,be,Xe,Rt,Ht,Qt){super(),this._viewZoneId=Ne,this._marginDomNode=be,this.editor=Xe,this.diff=Rt,this._contextMenuService=Ht,this._clipboardService=Qt,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=ge.lA.lightBulb.classNames+" lightbulb-glyph",this._diffActions.style.position="absolute";const ai=Xe.getOption(61),mi=Xe.getModel().getEOL();this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${ai}px`,this._diffActions.style.lineHeight=`${ai}px`,this._marginDomNode.appendChild(this._diffActions);const ci=[],qt=Rt.modifiedEndLineNumber===0;ci.push(new D.aU("diff.clipboard.copyDeletedContent",qt?Rt.originalEndLineNumber>Rt.modifiedStartLineNumber?u.NC("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):u.NC("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):Rt.originalEndLineNumber>Rt.modifiedStartLineNumber?u.NC("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):u.NC("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,()=>Wt(this,void 0,void 0,function*(){const Ti=new Fe.e(Rt.originalStartLineNumber,1,Rt.originalEndLineNumber+1,1),en=Rt.originalModel.getValueInRange(Ti);yield this._clipboardService.writeText(en)})));let li=0,xi;Rt.originalEndLineNumber>Rt.modifiedStartLineNumber&&(xi=new D.aU("diff.clipboard.copyDeletedLineContent",qt?u.NC("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",Rt.originalStartLineNumber):u.NC("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",Rt.originalStartLineNumber),void 0,!0,()=>Wt(this,void 0,void 0,function*(){const Ti=Rt.originalModel.getLineContent(Rt.originalStartLineNumber+li);if(Ti===""){const en=Rt.originalModel.getEndOfLineSequence();yield this._clipboardService.writeText(en===0?` `:`\r `)}else yield this._clipboardService.writeText(Ti)})),ci.push(xi)),Xe.getOption(83)||ci.push(new D.aU("diff.inline.revertChange",u.NC("diff.inline.revertChange.label","Revert this change"),void 0,!0,()=>Wt(this,void 0,void 0,function*(){const Ti=new Fe.e(Rt.originalStartLineNumber,1,Rt.originalEndLineNumber,Rt.originalModel.getLineMaxColumn(Rt.originalEndLineNumber)),en=Rt.originalModel.getValueInRange(Ti);if(Rt.modifiedEndLineNumber===0){const Fi=Xe.getModel().getLineMaxColumn(Rt.modifiedStartLineNumber);Xe.executeEdits("diffEditor",[{range:new Fe.e(Rt.modifiedStartLineNumber,Fi,Rt.modifiedStartLineNumber,Fi),text:mi+en}])}else{const Fi=Xe.getModel().getLineMaxColumn(Rt.modifiedEndLineNumber);Xe.executeEdits("diffEditor",[{range:new Fe.e(Rt.modifiedStartLineNumber,1,Rt.modifiedEndLineNumber,Fi),text:en}])}})));const Pi=(Ti,en)=>{this._contextMenuService.showContextMenu({getAnchor:()=>({x:Ti,y:en}),getActions:()=>(xi&&(xi.label=qt?u.NC("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",Rt.originalStartLineNumber+li):u.NC("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",Rt.originalStartLineNumber+li)),ci),autoSelectFirstItem:!0})};this._register(ie.mu(this._diffActions,"mousedown",Ti=>{const{top:en,height:Fi}=ie.i(this._diffActions),gn=Math.floor(ai/3);Ti.preventDefault(),Pi(Ti.posx,en+Fi+gn)})),this._register(Xe.onMouseMove(Ti=>{Ti.target.type===8||Ti.target.type===5?Ti.target.detail.viewZoneId===this._viewZoneId?(this.visibility=!0,li=this._updateLightBulbPosition(this._marginDomNode,Ti.event.browserEvent.y,ai)):this.visibility=!1:this.visibility=!1})),this._register(Xe.onMouseDown(Ti=>{Ti.event.rightButton&&(Ti.target.type===8||Ti.target.type===5)&&Ti.target.detail.viewZoneId===this._viewZoneId&&(Ti.event.preventDefault(),li=this._updateLightBulbPosition(this._marginDomNode,Ti.event.browserEvent.y,ai),Pi(Ti.event.posx,Ti.event.posy+ai))}))}get visibility(){return this._visibility}set visibility(Ne){this._visibility!==Ne&&(this._visibility=Ne,Ne?this._diffActions.style.visibility="visible":this._diffActions.style.visibility="hidden")}_updateLightBulbPosition(Ne,be,Xe){const{top:Rt}=ie.i(Ne),Ht=be-Rt,Qt=Math.floor(Ht/Xe),ai=Qt*Xe;if(this._diffActions.style.top=`${ai}px`,this.diff.viewLineCounts){let mi=0;for(let ci=0;ci<this.diff.viewLineCounts.length;ci++)if(mi+=this.diff.viewLineCounts[ci],Qt<mi)return ci}return Qt}}var _t=m(65102),wt=m(35230),Ut=m(61554),ni=m(64647),vi=m(53548),Ye=m(77421),Ct=function(si,Ne,be,Xe){var Rt=arguments.length,Ht=Rt<3?Ne:Xe===null?Xe=Object.getOwnPropertyDescriptor(Ne,be):Xe,Qt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ht=Reflect.decorate(si,Ne,be,Xe);else for(var ai=si.length-1;ai>=0;ai--)(Qt=si[ai])&&(Ht=(Rt<3?Qt(Ht):Rt>3?Qt(Ne,be,Ht):Qt(Ne,be))||Ht);return Rt>3&&Ht&&Object.defineProperty(Ne,be,Ht),Ht},Pt=function(si,Ne){return function(be,Xe){Ne(be,Xe,si)}},ti;class ri{constructor(Ne,be){this._contextMenuService=Ne,this._clipboardService=be,this._zones=[],this._inlineDiffMargins=[],this._zonesMap={},this._decorations=[]}getForeignViewZones(Ne){return Ne.filter(be=>!this._zonesMap[String(be.id)])}clean(Ne){this._zones.length>0&&Ne.changeViewZones(be=>{for(const Xe of this._zones)be.removeZone(Xe)}),this._zones=[],this._zonesMap={},Ne.changeDecorations(be=>{this._decorations=be.deltaDecorations(this._decorations,[])})}apply(Ne,be,Xe,Rt){const Ht=Rt?C.Z.capture(Ne):null;Ne.changeViewZones(Qt=>{var ai;for(const mi of this._zones)Qt.removeZone(mi);for(const mi of this._inlineDiffMargins)mi.dispose();this._zones=[],this._zonesMap={},this._inlineDiffMargins=[];for(let mi=0,ci=Xe.zones.length;mi<ci;mi++){const qt=Xe.zones[mi];qt.suppressMouseDown=!0;const li=Qt.addZone(qt);this._zones.push(li),this._zonesMap[String(li)]=!0,Xe.zones[mi].diff&&qt.marginDomNode&&(qt.suppressMouseDown=!1,((ai=Xe.zones[mi].diff)===null||ai===void 0?void 0:ai.originalModel.getValueLength())!==0&&this._inlineDiffMargins.push(new Kt(li,qt.marginDomNode,Ne,Xe.zones[mi].diff,this._contextMenuService,this._clipboardService)))}}),Ht?.restore(Ne),Ne.changeDecorations(Qt=>{this._decorations=Qt.deltaDecorations(this._decorations,Xe.decorations)}),be?.setZones(Xe.overviewZones)}}let Di=0;const Ui=(0,me.q5)("diff-insert",ge.lA.add,u.NC("diffInsertIcon","Line decoration for inserts in the diff editor.")),Ei=(0,me.q5)("diff-remove",ge.lA.remove,u.NC("diffRemoveIcon","Line decoration for removals in the diff editor.")),Ae=(ti=window.trustedTypes)===null||ti===void 0?void 0:ti.createPolicy("diffEditorWidget",{createHTML:si=>si});let Ii=class ko extends z.JT{constructor(Ne,be,Xe,Rt,Ht,Qt,ai,mi,ci,qt,li,xi){super(),this._editorProgressService=xi,this._onDidDispose=this._register(new q.Q5),this.onDidDispose=this._onDidDispose.event,this._onDidUpdateDiff=this._register(new q.Q5),this.onDidUpdateDiff=this._onDidUpdateDiff.event,this._onDidContentSizeChange=this._register(new q.Q5),this._lastOriginalWarning=null,this._lastModifiedWarning=null,this._editorWorkerService=Ht,this._codeEditorService=mi,this._contextKeyService=this._register(Qt.createScoped(Ne)),this._instantiationService=ai.createChild(new ke.y([te.i6,this._contextKeyService])),this._contextKeyService.createKey("isInDiffEditor",!0),this._themeService=ci,this._notificationService=qt,this._id=++Di,this._state=0,this._updatingDiffProgress=null,this._domElement=Ne,be=be||{},this._options=wn(be,{enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit"}),typeof be.isInEmbeddedEditor<"u"?this._contextKeyService.createKey("isInEmbeddedDiffEditor",be.isInEmbeddedEditor):this._contextKeyService.createKey("isInEmbeddedDiffEditor",!1),this._updateDecorationsRunner=this._register(new Z.pY(()=>this._updateDecorations(),0)),this._containerDomElement=document.createElement("div"),this._containerDomElement.className=ko._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide),this._containerDomElement.style.position="relative",this._containerDomElement.style.height="100%",this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=(0,N.X)(document.createElement("div")),this._overviewViewportDomElement.setClassName("diffViewport"),this._overviewViewportDomElement.setPosition("absolute"),this._overviewDomElement=document.createElement("div"),this._overviewDomElement.className="diffOverview",this._overviewDomElement.style.position="absolute",this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode),this._register(ie.mu(this._overviewDomElement,ie.tw.POINTER_DOWN,Pi=>{this._modifiedEditor.delegateVerticalScrollbarPointerDown(Pi)})),this._options.renderOverviewRuler&&this._containerDomElement.appendChild(this._overviewDomElement),this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode),this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new ri(li,Rt),this._modifiedEditorState=new ri(li,Rt),this._isVisible=!0,this._isHandlingScrollEvent=!1,this._elementSizeObserver=this._register(new ni.I(this._containerDomElement,be.dimension)),this._register(this._elementSizeObserver.onDidChange(()=>this._onDidContainerSizeChanged())),be.automaticLayout&&this._elementSizeObserver.startObserving(),this._diffComputationResult=null,this._originalEditor=this._createLeftHandSideEditor(be,Xe.originalEditor||{}),this._modifiedEditor=this._createRightHandSideEditor(be,Xe.modifiedEditor||{}),this._originalOverviewRuler=null,this._modifiedOverviewRuler=null,this._reviewPane=ai.createInstance(ct,this),this._containerDomElement.appendChild(this._reviewPane.domNode.domNode),this._containerDomElement.appendChild(this._reviewPane.shadow.domNode),this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode),this._options.renderSideBySide?this._setStrategy(new Yt(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new Gi(this._createDataSource(),this._options.enableSplitViewResizing)),this._register(ci.onDidColorThemeChange(Pi=>{this._strategy&&this._strategy.applyColors(Pi)&&this._updateDecorationsRunner.schedule(),this._containerDomElement.className=ko._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)}));const Si=x.Uc.getDiffEditorContributions();for(const Pi of Si)try{this._register(ai.createInstance(Pi.ctor,this))}catch(Ti){(0,wt.dL)(Ti)}this._codeEditorService.addDiffEditor(this)}_setState(Ne){this._state!==Ne&&(this._state=Ne,this._updatingDiffProgress&&(this._updatingDiffProgress.done(),this._updatingDiffProgress=null),this._state===1&&(this._updatingDiffProgress=this._editorProgressService.show(!0,1e3)))}diffReviewNext(){this._reviewPane.next()}diffReviewPrev(){this._reviewPane.prev()}static _getClassName(Ne,be){let Xe="monaco-diff-editor monaco-editor-background ";return be&&(Xe+="side-by-side "),Xe+=(0,_e.m6)(Ne.type),Xe}_disposeOverviewRulers(){this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose(),this._originalOverviewRuler=null),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose(),this._modifiedOverviewRuler=null)}_createOverviewRulers(){this._options.renderOverviewRuler&&(Q.ok(!this._originalOverviewRuler&&!this._modifiedOverviewRuler),this._originalEditor.hasModel()&&(this._originalOverviewRuler=this._originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())),this._modifiedEditor.hasModel()&&(this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())),this._layoutOverviewRulers())}_createLeftHandSideEditor(Ne,be){const Xe=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(Ne),be);this._register(Xe.onDidScrollChange(Ht=>{this._isHandlingScrollEvent||!Ht.scrollTopChanged&&!Ht.scrollLeftChanged&&!Ht.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._modifiedEditor.setScrollPosition({scrollLeft:Ht.scrollLeft,scrollTop:Ht.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(Xe.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(Xe.onDidChangeConfiguration(Ht=>{Xe.getModel()&&(Ht.hasChanged(46)&&this._updateDecorationsRunner.schedule(),Ht.hasChanged(134)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(Xe.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(Xe.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()}));const Rt=this._contextKeyService.createKey("isInDiffLeftEditor",Xe.hasWidgetFocus());return this._register(Xe.onDidFocusEditorWidget(()=>Rt.set(!0))),this._register(Xe.onDidBlurEditorWidget(()=>Rt.set(!1))),this._register(Xe.onDidContentSizeChange(Ht=>{const Qt=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+ko.ONE_OVERVIEW_WIDTH,ai=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:ai,contentWidth:Qt,contentHeightChanged:Ht.contentHeightChanged,contentWidthChanged:Ht.contentWidthChanged})})),Xe}_createRightHandSideEditor(Ne,be){const Xe=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(Ne),be);this._register(Xe.onDidScrollChange(Ht=>{this._isHandlingScrollEvent||!Ht.scrollTopChanged&&!Ht.scrollLeftChanged&&!Ht.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._originalEditor.setScrollPosition({scrollLeft:Ht.scrollLeft,scrollTop:Ht.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(Xe.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(Xe.onDidChangeConfiguration(Ht=>{Xe.getModel()&&(Ht.hasChanged(46)&&this._updateDecorationsRunner.schedule(),Ht.hasChanged(134)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(Xe.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(Xe.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()})),this._register(Xe.onDidChangeModelOptions(Ht=>{Ht.tabSize&&this._updateDecorationsRunner.schedule()}));const Rt=this._contextKeyService.createKey("isInDiffRightEditor",Xe.hasWidgetFocus());return this._register(Xe.onDidFocusEditorWidget(()=>Rt.set(!0))),this._register(Xe.onDidBlurEditorWidget(()=>Rt.set(!1))),this._register(Xe.onDidContentSizeChange(Ht=>{const Qt=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+ko.ONE_OVERVIEW_WIDTH,ai=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:ai,contentWidth:Qt,contentHeightChanged:Ht.contentHeightChanged,contentWidthChanged:Ht.contentWidthChanged})})),this._register(Xe.onMouseDown(Ht=>{var Qt,ai;if(!Ht.event.rightButton&&Ht.target.position&&(!((Qt=Ht.target.element)===null||Qt===void 0)&&Qt.className.includes("arrow-revert-change"))){const mi=Ht.target.position.lineNumber,ci=(ai=this._diffComputationResult)===null||ai===void 0?void 0:ai.changes.find(qt=>qt.modifiedStartLineNumber===mi-1||qt.modifiedStartLineNumber===mi);ci&&this.revertChange(ci),Ht.event.stopPropagation(),this._updateDecorations();return}})),Xe}revertChange(Ne){const be=this._modifiedEditor,Xe=this._originalEditor.getModel(),Rt=this._modifiedEditor.getModel();if(!Xe||!Rt||!be)return;const Ht=Ne.originalEndLineNumber>0?new Fe.e(Ne.originalStartLineNumber,1,Ne.originalEndLineNumber,Xe.getLineMaxColumn(Ne.originalEndLineNumber)):null,Qt=Ht?Xe.getValueInRange(Ht):null,ai=Ne.modifiedEndLineNumber>0?new Fe.e(Ne.modifiedStartLineNumber,1,Ne.modifiedEndLineNumber,Rt.getLineMaxColumn(Ne.modifiedEndLineNumber)):null,mi=Rt.getEOL();if(Ne.originalEndLineNumber===0&&ai){let ci=ai;Ne.modifiedStartLineNumber>1?ci=ai.setStartPosition(Ne.modifiedStartLineNumber-1,Rt.getLineMaxColumn(Ne.modifiedStartLineNumber-1)):Ne.modifiedEndLineNumber<Rt.getLineCount()&&(ci=ai.setEndPosition(Ne.modifiedEndLineNumber+1,1)),be.executeEdits("diffEditor",[{range:ci,text:""}])}else if(Ne.modifiedEndLineNumber===0&&Qt!==null){const ci=Ne.modifiedStartLineNumber<Rt.getLineCount()?new W.L(Ne.modifiedStartLineNumber+1,1):new W.L(Ne.modifiedStartLineNumber,Rt.getLineMaxColumn(Ne.modifiedStartLineNumber));be.executeEdits("diffEditor",[{range:Fe.e.fromPositions(ci,ci),text:Ne.modifiedStartLineNumber<Rt.getLineCount()?Qt+mi:mi+Qt}])}else ai&&Qt!==null&&be.executeEdits("diffEditor",[{range:ai,text:Qt}])}_createInnerEditor(Ne,be,Xe,Rt){return Ne.createInstance(b.Gm,be,Xe,Rt)}dispose(){this._codeEditorService.removeDiffEditor(this),this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._options.renderOverviewRuler&&this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this._originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this._modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),super.dispose()}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return Re.g.IDiffEditor}getLineChanges(){return this._diffComputationResult?this._diffComputationResult.changes:null}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(Ne){const be=wn(Ne,this._options),Xe=on(this._options,be);this._options=be;const Rt=Xe.ignoreTrimWhitespace||Xe.renderIndicators||Xe.renderMarginRevertIcon,Ht=this._isVisible&&(Xe.maxComputationTime||Xe.maxFileSize);Rt?this._beginUpdateDecorations():Ht&&this._beginUpdateDecorationsSoon(),this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(Ne)),this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(Ne)),this._strategy.setEnableSplitViewResizing(this._options.enableSplitViewResizing),Xe.renderSideBySide&&(this._options.renderSideBySide?this._setStrategy(new Yt(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new Gi(this._createDataSource(),this._options.enableSplitViewResizing)),this._containerDomElement.className=ko._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)),Xe.renderOverviewRuler&&(this._options.renderOverviewRuler?this._containerDomElement.appendChild(this._overviewDomElement):this._containerDomElement.removeChild(this._overviewDomElement))}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}setModel(Ne){if(Ne&&(!Ne.original||!Ne.modified))throw new Error(Ne.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this._disposeOverviewRulers(),this._originalEditor.setModel(Ne?Ne.original:null),this._modifiedEditor.setModel(Ne?Ne.modified:null),this._updateDecorationsRunner.cancel(),Ne&&(this._originalEditor.setScrollTop(0),this._modifiedEditor.setScrollTop(0)),this._diffComputationResult=null,this._diffComputationToken++,this._setState(0),Ne&&(this._createOverviewRulers(),this._beginUpdateDecorations()),this._layoutOverviewViewport()}getContainerDomNode(){return this._domElement}getVisibleColumnFromPosition(Ne){return this._modifiedEditor.getVisibleColumnFromPosition(Ne)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(Ne,be="api"){this._modifiedEditor.setPosition(Ne,be)}revealLine(Ne,be=0){this._modifiedEditor.revealLine(Ne,be)}revealLineInCenter(Ne,be=0){this._modifiedEditor.revealLineInCenter(Ne,be)}revealLineInCenterIfOutsideViewport(Ne,be=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(Ne,be)}revealLineNearTop(Ne,be=0){this._modifiedEditor.revealLineNearTop(Ne,be)}revealPosition(Ne,be=0){this._modifiedEditor.revealPosition(Ne,be)}revealPositionInCenter(Ne,be=0){this._modifiedEditor.revealPositionInCenter(Ne,be)}revealPositionInCenterIfOutsideViewport(Ne,be=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(Ne,be)}revealPositionNearTop(Ne,be=0){this._modifiedEditor.revealPositionNearTop(Ne,be)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(Ne,be="api"){this._modifiedEditor.setSelection(Ne,be)}setSelections(Ne,be="api"){this._modifiedEditor.setSelections(Ne,be)}revealLines(Ne,be,Xe=0){this._modifiedEditor.revealLines(Ne,be,Xe)}revealLinesInCenter(Ne,be,Xe=0){this._modifiedEditor.revealLinesInCenter(Ne,be,Xe)}revealLinesInCenterIfOutsideViewport(Ne,be,Xe=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(Ne,be,Xe)}revealLinesNearTop(Ne,be,Xe=0){this._modifiedEditor.revealLinesNearTop(Ne,be,Xe)}revealRange(Ne,be=0,Xe=!1,Rt=!0){this._modifiedEditor.revealRange(Ne,be,Xe,Rt)}revealRangeInCenter(Ne,be=0){this._modifiedEditor.revealRangeInCenter(Ne,be)}revealRangeInCenterIfOutsideViewport(Ne,be=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(Ne,be)}revealRangeNearTop(Ne,be=0){this._modifiedEditor.revealRangeNearTop(Ne,be)}revealRangeNearTopIfOutsideViewport(Ne,be=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(Ne,be)}revealRangeAtTop(Ne,be=0){this._modifiedEditor.revealRangeAtTop(Ne,be)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}saveViewState(){const Ne=this._originalEditor.saveViewState(),be=this._modifiedEditor.saveViewState();return{original:Ne,modified:be}}restoreViewState(Ne){if(Ne&&Ne.original&&Ne.modified){const be=Ne;this._originalEditor.restoreViewState(be.original),this._modifiedEditor.restoreViewState(be.modified)}}layout(Ne){this._elementSizeObserver.observe(Ne)}focus(){this._modifiedEditor.focus()}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}trigger(Ne,be,Xe){this._modifiedEditor.trigger(Ne,be,Xe)}createDecorationsCollection(Ne){return this._modifiedEditor.createDecorationsCollection(Ne)}changeDecorations(Ne){return this._modifiedEditor.changeDecorations(Ne)}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!this._options.renderOverviewRuler||!this._originalOverviewRuler||!this._modifiedOverviewRuler)return;const Ne=this._elementSizeObserver.getHeight(),be=this._getReviewHeight(),Xe=ko.ENTIRE_DIFF_OVERVIEW_WIDTH-2*ko.ONE_OVERVIEW_WIDTH;this._modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:ko.ONE_OVERVIEW_WIDTH,right:Xe+ko.ONE_OVERVIEW_WIDTH,height:Ne-be}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:ko.ONE_OVERVIEW_WIDTH,height:Ne-be}))}_onViewZonesChanged(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout(()=>this._beginUpdateDecorations(),ko.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(Ne,be){return!Ne&&!be?!0:!Ne||!be?!1:Ne.toString()===be.toString()}_beginUpdateDecorations(){this._beginUpdateDecorationsTimeout=-1;const Ne=this._originalEditor.getModel(),be=this._modifiedEditor.getModel();if(!Ne||!be)return;this._diffComputationToken++;const Xe=this._diffComputationToken,Rt=this._options.maxFileSize*1024*1024,Ht=Qt=>{const ai=Qt.getValueLength();return Rt===0||ai<=Rt};if(!Ht(Ne)||!Ht(be)){(!ko._equals(Ne.uri,this._lastOriginalWarning)||!ko._equals(be.uri,this._lastModifiedWarning))&&(this._lastOriginalWarning=Ne.uri,this._lastModifiedWarning=be.uri,this._notificationService.warn(u.NC("diff.tooLarge","Cannot compare files because one file is too large.")));return}this._setState(1),this._editorWorkerService.computeDiff(Ne.uri,be.uri,this._options.ignoreTrimWhitespace,this._options.maxComputationTime).then(Qt=>{Xe===this._diffComputationToken&&Ne===this._originalEditor.getModel()&&be===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=Qt,this._updateDecorationsRunner.schedule(),this._onDidUpdateDiff.fire())},Qt=>{Xe===this._diffComputationToken&&Ne===this._originalEditor.getModel()&&be===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=null,this._updateDecorationsRunner.schedule())})}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor),this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!this._originalEditor.getModel()||!this._modifiedEditor.getModel())return;const Ne=this._diffComputationResult?this._diffComputationResult.changes:[],be=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces()),Xe=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces()),Rt=this._strategy.getEditorsDiffDecorations(Ne,this._options.ignoreTrimWhitespace,this._options.renderIndicators,this._options.renderMarginRevertIcon,be,Xe);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,Rt.original,!1),this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,Rt.modified,!0)}finally{this._currentlyChangingViewZones=!1}}_adjustOptionsForSubEditor(Ne){const be=Object.assign({},Ne);return be.inDiffEditor=!0,be.automaticLayout=!1,be.scrollbar=Object.assign({},be.scrollbar||{}),be.scrollbar.vertical="visible",be.folding=!1,be.codeLens=this._options.diffCodeLens,be.fixedOverflowWidgets=!0,be.minimap=Object.assign({},be.minimap||{}),be.minimap.enabled=!1,be}_adjustOptionsForLeftHandSide(Ne){const be=this._adjustOptionsForSubEditor(Ne);return this._options.renderSideBySide?be.wordWrapOverride1=this._options.diffWordWrap:(be.wordWrapOverride1="off",be.wordWrapOverride2="off"),Ne.originalAriaLabel&&(be.ariaLabel=Ne.originalAriaLabel),be.readOnly=!this._options.originalEditable,be.dropIntoEditor={enabled:!be.readOnly},be.extraEditorClassName="original-in-monaco-diff-editor",Object.assign(Object.assign({},be),{dimension:{height:0,width:0}})}_adjustOptionsForRightHandSide(Ne){const be=this._adjustOptionsForSubEditor(Ne);return Ne.modifiedAriaLabel&&(be.ariaLabel=Ne.modifiedAriaLabel),be.wordWrapOverride1=this._options.diffWordWrap,be.revealHorizontalRightPadding=K.BH.revealHorizontalRightPadding.defaultValue+ko.ENTIRE_DIFF_OVERVIEW_WIDTH,be.scrollbar.verticalHasArrows=!1,be.extraEditorClassName="modified-in-monaco-diff-editor",Object.assign(Object.assign({},be),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe(),this._doLayout()}_doLayout(){const Ne=this._elementSizeObserver.getWidth(),be=this._elementSizeObserver.getHeight(),Xe=this._getReviewHeight(),Rt=this._strategy.layout();this._originalDomNode.style.width=Rt+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=Ne-Rt+"px",this._modifiedDomNode.style.left=Rt+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=be-Xe+"px",this._overviewDomElement.style.width=ko.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=Ne-ko.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(ko.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this._originalEditor.layout({width:Rt,height:be-Xe}),this._modifiedEditor.layout({width:Ne-Rt-(this._options.renderOverviewRuler?ko.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:be-Xe}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(be-Xe,Ne,Xe),this._layoutOverviewViewport()}_layoutOverviewViewport(){const Ne=this._computeOverviewViewport();Ne?(this._overviewViewportDomElement.setTop(Ne.top),this._overviewViewportDomElement.setHeight(Ne.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))}_computeOverviewViewport(){const Ne=this._modifiedEditor.getLayoutInfo();if(!Ne)return null;const be=this._modifiedEditor.getScrollTop(),Xe=this._modifiedEditor.getScrollHeight(),Rt=Math.max(0,Ne.height),Ht=Math.max(0,Rt-2*0),Qt=Xe>0?Ht/Xe:0,ai=Math.max(0,Math.floor(Ne.height*Qt)),mi=Math.floor(be*Qt);return{height:ai,top:mi}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._options.renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(Ne){this._strategy&&this._strategy.dispose(),this._strategy=Ne,Ne.applyColors(this._themeService.getColorTheme()),this._diffComputationResult&&this._updateDecorations(),this._doLayout()}_getLineChangeAtOrBeforeLineNumber(Ne,be){const Xe=this._diffComputationResult?this._diffComputationResult.changes:[];if(Xe.length===0||Ne<be(Xe[0]))return null;let Rt=0,Ht=Xe.length-1;for(;Rt<Ht;){const Qt=Math.floor((Rt+Ht)/2),ai=be(Xe[Qt]),mi=Qt+1<=Ht?be(Xe[Qt+1]):1073741824;Ne<ai?Ht=Qt-1:Ne>=mi?Rt=Qt+1:(Rt=Qt,Ht=Qt)}return Xe[Rt]}_getEquivalentLineForOriginalLineNumber(Ne){const be=this._getLineChangeAtOrBeforeLineNumber(Ne,mi=>mi.originalStartLineNumber);if(!be)return Ne;const Xe=be.originalStartLineNumber+(be.originalEndLineNumber>0?-1:0),Rt=be.modifiedStartLineNumber+(be.modifiedEndLineNumber>0?-1:0),Ht=be.originalEndLineNumber>0?be.originalEndLineNumber-be.originalStartLineNumber+1:0,Qt=be.modifiedEndLineNumber>0?be.modifiedEndLineNumber-be.modifiedStartLineNumber+1:0,ai=Ne-Xe;return ai<=Ht?Rt+Math.min(ai,Qt):Rt+Qt-Ht+ai}_getEquivalentLineForModifiedLineNumber(Ne){const be=this._getLineChangeAtOrBeforeLineNumber(Ne,mi=>mi.modifiedStartLineNumber);if(!be)return Ne;const Xe=be.originalStartLineNumber+(be.originalEndLineNumber>0?-1:0),Rt=be.modifiedStartLineNumber+(be.modifiedEndLineNumber>0?-1:0),Ht=be.originalEndLineNumber>0?be.originalEndLineNumber-be.originalStartLineNumber+1:0,Qt=be.modifiedEndLineNumber>0?be.modifiedEndLineNumber-be.modifiedStartLineNumber+1:0,ai=Ne-Rt;return ai<=Qt?Xe+Math.min(ai,Ht):Xe+Ht-Qt+ai}getDiffLineInformationForOriginal(Ne){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(Ne)}:null}getDiffLineInformationForModified(Ne){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(Ne)}:null}};Ii.ONE_OVERVIEW_WIDTH=15,Ii.ENTIRE_DIFF_OVERVIEW_WIDTH=30,Ii.UPDATE_DIFF_DECORATIONS_DELAY=200,Ii=Ct([Pt(3,_t.p),Pt(4,at.p),Pt(5,te.i6),Pt(6,Nt.TG),Pt(7,L.$),Pt(8,_e.XE),Pt(9,dt.lT),Pt(10,mt.i),Pt(11,Ut.ek)],Ii);class Ue extends z.JT{constructor(Ne){super(),this._dataSource=Ne,this._insertColor=null,this._removeColor=null}applyColors(Ne){const be=Ne.getColor(he.P6Y)||(Ne.getColor(he.ypS)||he.CzK).transparent(2),Xe=Ne.getColor(he.F9q)||(Ne.getColor(he.P4M)||he.keg).transparent(2),Rt=!be.equals(this._insertColor)||!Xe.equals(this._removeColor);return this._insertColor=be,this._removeColor=Xe,Rt}getEditorsDiffDecorations(Ne,be,Xe,Rt,Ht,Qt){Qt=Qt.sort((qt,li)=>qt.afterLineNumber-li.afterLineNumber),Ht=Ht.sort((qt,li)=>qt.afterLineNumber-li.afterLineNumber);const ai=this._getViewZones(Ne,Ht,Qt,Xe),mi=this._getOriginalEditorDecorations(ai,Ne,be,Xe),ci=this._getModifiedEditorDecorations(ai,Ne,be,Xe,Rt);return{original:{decorations:mi.decorations,overviewZones:mi.overviewZones,zones:ai.original},modified:{decorations:ci.decorations,overviewZones:ci.overviewZones,zones:ai.modified}}}}class Se{constructor(Ne){this._source=Ne,this._index=-1,this.current=null,this.advance()}advance(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null}}class ht{constructor(Ne,be,Xe,Rt,Ht){this._lineChanges=Ne,this._originalForeignVZ=be,this._modifiedForeignVZ=Xe,this._originalEditor=Rt,this._modifiedEditor=Ht}static _getViewLineCount(Ne,be,Xe){const Rt=Ne.getModel(),Ht=Ne._getViewModel();if(Rt&&Ht){const Qt=yt(Rt,Ht,be,Xe);return Qt.endLineNumber-Qt.startLineNumber+1}return Xe-be+1}getViewZones(){const Ne=this._originalEditor.getOption(61),be=this._modifiedEditor.getOption(61),Xe=this._originalEditor.getOption(134).wrappingColumn!==-1,Rt=this._modifiedEditor.getOption(134).wrappingColumn!==-1,Ht=Xe||Rt,Qt=this._originalEditor.getModel(),ai=this._originalEditor._getViewModel().coordinatesConverter,mi=this._modifiedEditor._getViewModel().coordinatesConverter,ci={original:[],modified:[]};let qt=0,li=0,xi=0,Si=0,Pi=0,Ti=0;const en=(Wi,an)=>Wi.afterLineNumber-an.afterLineNumber,Fi=(Wi,an)=>{if(an.domNode===null&&Wi.length>0){const Ci=Wi[Wi.length-1];if(Ci.afterLineNumber===an.afterLineNumber&&Ci.domNode===null){Ci.heightInLines+=an.heightInLines;return}}Wi.push(an)},gn=new Se(this._modifiedForeignVZ),Qi=new Se(this._originalForeignVZ);let Oi=1,Bi=1;for(let Wi=0,an=this._lineChanges.length;Wi<=an;Wi++){const Ci=Wi<an?this._lineChanges[Wi]:null;Ci!==null?(xi=Ci.originalStartLineNumber+(Ci.originalEndLineNumber>0?-1:0),Si=Ci.modifiedStartLineNumber+(Ci.modifiedEndLineNumber>0?-1:0),li=Ci.originalEndLineNumber>0?ht._getViewLineCount(this._originalEditor,Ci.originalStartLineNumber,Ci.originalEndLineNumber):0,qt=Ci.modifiedEndLineNumber>0?ht._getViewLineCount(this._modifiedEditor,Ci.modifiedStartLineNumber,Ci.modifiedEndLineNumber):0,Pi=Math.max(Ci.originalStartLineNumber,Ci.originalEndLineNumber),Ti=Math.max(Ci.modifiedStartLineNumber,Ci.modifiedEndLineNumber)):(xi+=1e7+li,Si+=1e7+qt,Pi=xi,Ti=Si);let Kn=[],Vn=[];if(Ht){let $i;Ci?Ci.originalEndLineNumber>0?$i=Ci.originalStartLineNumber-Oi:$i=Ci.modifiedStartLineNumber-Bi:$i=Qt.getLineCount()-Oi+1;for(let Tn=0;Tn<$i;Tn++){const qn=Oi+Tn,Ai=Bi+Tn,ts=ai.getModelLineViewLineCount(qn),Ni=mi.getModelLineViewLineCount(Ai);ts<Ni?Kn.push({afterLineNumber:qn,heightInLines:Ni-ts,domNode:null,marginDomNode:null}):ts>Ni&&Vn.push({afterLineNumber:Ai,heightInLines:ts-Ni,domNode:null,marginDomNode:null})}Ci&&(Oi=(Ci.originalEndLineNumber>0?Ci.originalEndLineNumber:Ci.originalStartLineNumber)+1,Bi=(Ci.modifiedEndLineNumber>0?Ci.modifiedEndLineNumber:Ci.modifiedStartLineNumber)+1)}for(;gn.current&&gn.current.afterLineNumber<=Ti;){let $i;gn.current.afterLineNumber<=Si?$i=xi-Si+gn.current.afterLineNumber:$i=Pi;let Tn=null;Ci&&Ci.modifiedStartLineNumber<=gn.current.afterLineNumber&&gn.current.afterLineNumber<=Ci.modifiedEndLineNumber&&(Tn=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),Kn.push({afterLineNumber:$i,heightInLines:gn.current.height/be,domNode:null,marginDomNode:Tn}),gn.advance()}for(;Qi.current&&Qi.current.afterLineNumber<=Pi;){let $i;Qi.current.afterLineNumber<=xi?$i=Si-xi+Qi.current.afterLineNumber:$i=Ti,Vn.push({afterLineNumber:$i,heightInLines:Qi.current.height/Ne,domNode:null}),Qi.advance()}if(Ci!==null&&bt(Ci)){const $i=this._produceOriginalFromDiff(Ci,li,qt);$i&&Kn.push($i)}if(Ci!==null&&Zt(Ci)){const $i=this._produceModifiedFromDiff(Ci,li,qt);$i&&Vn.push($i)}let Nn=0,Rn=0;for(Kn=Kn.sort(en),Vn=Vn.sort(en);Nn<Kn.length&&Rn<Vn.length;){const $i=Kn[Nn],Tn=Vn[Rn],qn=$i.afterLineNumber-xi,Ai=Tn.afterLineNumber-Si;qn<Ai?(Fi(ci.original,$i),Nn++):Ai<qn?(Fi(ci.modified,Tn),Rn++):$i.shouldNotShrink?(Fi(ci.original,$i),Nn++):Tn.shouldNotShrink?(Fi(ci.modified,Tn),Rn++):$i.heightInLines>=Tn.heightInLines?($i.heightInLines-=Tn.heightInLines,Rn++):(Tn.heightInLines-=$i.heightInLines,Nn++)}for(;Nn<Kn.length;)Fi(ci.original,Kn[Nn]),Nn++;for(;Rn<Vn.length;)Fi(ci.modified,Vn[Rn]),Rn++}return{original:ht._ensureDomNodes(ci.original),modified:ht._ensureDomNodes(ci.modified)}}static _ensureDomNodes(Ne){return Ne.map(be=>(be.domNode||(be.domNode=Xi()),be))}}function Oe(si,Ne,be,Xe,Rt){return{range:new Fe.e(si,Ne,be,Xe),options:Rt}}const ft={arrowRevertChange:tt.qx.register({description:"diff-editor-arrow-revert-change",glyphMarginClassName:"arrow-revert-change "+_e.kS.asClassName(ge.lA.arrowRight)}),charDelete:tt.qx.register({description:"diff-editor-char-delete",className:"char-delete"}),charDeleteWholeLine:tt.qx.register({description:"diff-editor-char-delete-whole-line",className:"char-delete",isWholeLine:!0}),charInsert:tt.qx.register({description:"diff-editor-char-insert",className:"char-insert"}),charInsertWholeLine:tt.qx.register({description:"diff-editor-char-insert-whole-line",className:"char-insert",isWholeLine:!0}),lineInsert:tt.qx.register({description:"diff-editor-line-insert",className:"line-insert",marginClassName:"gutter-insert",isWholeLine:!0}),lineInsertWithSign:tt.qx.register({description:"diff-editor-line-insert-with-sign",className:"line-insert",linesDecorationsClassName:"insert-sign "+_e.kS.asClassName(Ui),marginClassName:"gutter-insert",isWholeLine:!0}),lineDelete:tt.qx.register({description:"diff-editor-line-delete",className:"line-delete",marginClassName:"gutter-delete",isWholeLine:!0}),lineDeleteWithSign:tt.qx.register({description:"diff-editor-line-delete-with-sign",className:"line-delete",linesDecorationsClassName:"delete-sign "+_e.kS.asClassName(Ei),marginClassName:"gutter-delete",isWholeLine:!0}),lineDeleteMargin:tt.qx.register({description:"diff-editor-line-delete-margin",marginClassName:"gutter-delete"})};class Yt extends Ue{constructor(Ne,be){super(Ne),this._disableSash=be===!1,this._sashRatio=null,this._sashPosition=null,this._startSashPosition=null,this._sash=this._register(new ne.g(this._dataSource.getContainerDomNode(),this,{orientation:0})),this._disableSash&&(this._sash.state=0),this._sash.onDidStart(()=>this._onSashDragStart()),this._sash.onDidChange(Xe=>this._onSashDrag(Xe)),this._sash.onDidEnd(()=>this._onSashDragEnd()),this._sash.onDidReset(()=>this._onSashReset())}setEnableSplitViewResizing(Ne){const be=Ne===!1;this._disableSash!==be&&(this._disableSash=be,this._sash.state=this._disableSash?0:3)}layout(Ne=this._sashRatio){const Xe=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?Ii.ENTIRE_DIFF_OVERVIEW_WIDTH:0);let Rt=Math.floor((Ne||.5)*Xe);const Ht=Math.floor(.5*Xe);return Rt=this._disableSash?Ht:Rt||Ht,Xe>Yt.MINIMUM_EDITOR_WIDTH*2?(Rt<Yt.MINIMUM_EDITOR_WIDTH&&(Rt=Yt.MINIMUM_EDITOR_WIDTH),Rt>Xe-Yt.MINIMUM_EDITOR_WIDTH&&(Rt=Xe-Yt.MINIMUM_EDITOR_WIDTH)):Rt=Ht,this._sashPosition!==Rt&&(this._sashPosition=Rt),this._sash.layout(),this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(Ne){const Xe=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?Ii.ENTIRE_DIFF_OVERVIEW_WIDTH:0),Rt=this.layout((this._startSashPosition+(Ne.currentX-Ne.startX))/Xe);this._sashRatio=Rt/Xe,this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()}getVerticalSashTop(Ne){return 0}getVerticalSashLeft(Ne){return this._sashPosition}getVerticalSashHeight(Ne){return this._dataSource.getHeight()}_getViewZones(Ne,be,Xe){const Rt=this._dataSource.getOriginalEditor(),Ht=this._dataSource.getModifiedEditor();return new bi(Ne,be,Xe,Rt,Ht).getViewZones()}_getOriginalEditorDecorations(Ne,be,Xe,Rt){const Ht=this._dataSource.getOriginalEditor(),Qt=String(this._removeColor),ai={decorations:[],overviewZones:[]},mi=Ht.getModel(),ci=Ht._getViewModel();for(const qt of be)if(Zt(qt)){ai.decorations.push({range:new Fe.e(qt.originalStartLineNumber,1,qt.originalEndLineNumber,1073741824),options:Rt?ft.lineDeleteWithSign:ft.lineDelete}),(!bt(qt)||!qt.charChanges)&&ai.decorations.push(Oe(qt.originalStartLineNumber,1,qt.originalEndLineNumber,1073741824,ft.charDeleteWholeLine));const li=yt(mi,ci,qt.originalStartLineNumber,qt.originalEndLineNumber);if(ai.overviewZones.push(new Dt.EY(li.startLineNumber,li.endLineNumber,0,Qt)),qt.charChanges){for(const xi of qt.charChanges)if(lt(xi))if(Xe)for(let Si=xi.originalStartLineNumber;Si<=xi.originalEndLineNumber;Si++){let Pi,Ti;Si===xi.originalStartLineNumber?Pi=xi.originalStartColumn:Pi=mi.getLineFirstNonWhitespaceColumn(Si),Si===xi.originalEndLineNumber?Ti=xi.originalEndColumn:Ti=mi.getLineLastNonWhitespaceColumn(Si),ai.decorations.push(Oe(Si,Pi,Si,Ti,ft.charDelete))}else ai.decorations.push(Oe(xi.originalStartLineNumber,xi.originalStartColumn,xi.originalEndLineNumber,xi.originalEndColumn,ft.charDelete))}}return ai}_getModifiedEditorDecorations(Ne,be,Xe,Rt,Ht){const Qt=this._dataSource.getModifiedEditor(),ai=String(this._insertColor),mi={decorations:[],overviewZones:[]},ci=Qt.getModel(),qt=Qt._getViewModel();for(const li of be){if(Ht)if(li.modifiedEndLineNumber>0)mi.decorations.push({range:new Fe.e(li.modifiedStartLineNumber,1,li.modifiedStartLineNumber,1),options:ft.arrowRevertChange});else{const xi=Ne.modified.find(Si=>Si.afterLineNumber===li.modifiedStartLineNumber);xi&&(xi.marginDomNode=wi())}if(bt(li)){mi.decorations.push({range:new Fe.e(li.modifiedStartLineNumber,1,li.modifiedEndLineNumber,1073741824),options:Rt?ft.lineInsertWithSign:ft.lineInsert}),(!Zt(li)||!li.charChanges)&&mi.decorations.push(Oe(li.modifiedStartLineNumber,1,li.modifiedEndLineNumber,1073741824,ft.charInsertWholeLine));const xi=yt(ci,qt,li.modifiedStartLineNumber,li.modifiedEndLineNumber);if(mi.overviewZones.push(new Dt.EY(xi.startLineNumber,xi.endLineNumber,0,ai)),li.charChanges){for(const Si of li.charChanges)if(Ot(Si))if(Xe)for(let Pi=Si.modifiedStartLineNumber;Pi<=Si.modifiedEndLineNumber;Pi++){let Ti,en;Pi===Si.modifiedStartLineNumber?Ti=Si.modifiedStartColumn:Ti=ci.getLineFirstNonWhitespaceColumn(Pi),Pi===Si.modifiedEndLineNumber?en=Si.modifiedEndColumn:en=ci.getLineLastNonWhitespaceColumn(Pi),mi.decorations.push(Oe(Pi,Ti,Pi,en,ft.charInsert))}else mi.decorations.push(Oe(Si.modifiedStartLineNumber,Si.modifiedStartColumn,Si.modifiedEndLineNumber,Si.modifiedEndColumn,ft.charInsert))}}}return mi}}Yt.MINIMUM_EDITOR_WIDTH=100;class bi extends ht{constructor(Ne,be,Xe,Rt,Ht){super(Ne,be,Xe,Rt,Ht)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(Ne,be,Xe){return Xe>be?{afterLineNumber:Math.max(Ne.originalStartLineNumber,Ne.originalEndLineNumber),heightInLines:Xe-be,domNode:null}:null}_produceModifiedFromDiff(Ne,be,Xe){return be>Xe?{afterLineNumber:Math.max(Ne.modifiedStartLineNumber,Ne.modifiedEndLineNumber),heightInLines:be-Xe,domNode:null}:null}}class Gi extends Ue{constructor(Ne,be){super(Ne),this._decorationsLeft=Ne.getOriginalEditor().getLayoutInfo().decorationsLeft,this._register(Ne.getOriginalEditor().onDidLayoutChange(Xe=>{this._decorationsLeft!==Xe.decorationsLeft&&(this._decorationsLeft=Xe.decorationsLeft,Ne.relayoutEditors())}))}setEnableSplitViewResizing(Ne){}_getViewZones(Ne,be,Xe,Rt){const Ht=this._dataSource.getOriginalEditor(),Qt=this._dataSource.getModifiedEditor();return new Dn(Ne,be,Xe,Ht,Qt,Rt).getViewZones()}_getOriginalEditorDecorations(Ne,be,Xe,Rt){const Ht=String(this._removeColor),Qt={decorations:[],overviewZones:[]},ai=this._dataSource.getOriginalEditor(),mi=ai.getModel(),ci=ai._getViewModel();let qt=0;for(const li of be)if(Zt(li)){for(Qt.decorations.push({range:new Fe.e(li.originalStartLineNumber,1,li.originalEndLineNumber,1073741824),options:ft.lineDeleteMargin});qt<Ne.modified.length;){const Pi=Ne.modified[qt];if(Pi.diff&&Pi.diff.originalStartLineNumber>=li.originalStartLineNumber)break;qt++}let xi=0;if(qt<Ne.modified.length){const Pi=Ne.modified[qt];Pi.diff&&Pi.diff.originalStartLineNumber===li.originalStartLineNumber&&Pi.diff.originalEndLineNumber===li.originalEndLineNumber&&Pi.diff.modifiedStartLineNumber===li.modifiedStartLineNumber&&Pi.diff.modifiedEndLineNumber===li.modifiedEndLineNumber&&(xi=Pi.heightInLines)}const Si=yt(mi,ci,li.originalStartLineNumber,li.originalEndLineNumber);Qt.overviewZones.push(new Dt.EY(Si.startLineNumber,Si.endLineNumber,xi,Ht))}return Qt}_getModifiedEditorDecorations(Ne,be,Xe,Rt,Ht){const Qt=this._dataSource.getModifiedEditor(),ai=String(this._insertColor),mi={decorations:[],overviewZones:[]},ci=Qt.getModel(),qt=Qt._getViewModel();for(const li of be)if(bt(li)){mi.decorations.push({range:new Fe.e(li.modifiedStartLineNumber,1,li.modifiedEndLineNumber,1073741824),options:Rt?ft.lineInsertWithSign:ft.lineInsert});const xi=yt(ci,qt,li.modifiedStartLineNumber,li.modifiedEndLineNumber);if(mi.overviewZones.push(new Dt.EY(xi.startLineNumber,xi.endLineNumber,0,ai)),li.charChanges){for(const Si of li.charChanges)if(Ot(Si))if(Xe)for(let Pi=Si.modifiedStartLineNumber;Pi<=Si.modifiedEndLineNumber;Pi++){let Ti,en;Pi===Si.modifiedStartLineNumber?Ti=Si.modifiedStartColumn:Ti=ci.getLineFirstNonWhitespaceColumn(Pi),Pi===Si.modifiedEndLineNumber?en=Si.modifiedEndColumn:en=ci.getLineLastNonWhitespaceColumn(Pi),mi.decorations.push(Oe(Pi,Ti,Pi,en,ft.charInsert))}else mi.decorations.push(Oe(Si.modifiedStartLineNumber,Si.modifiedStartColumn,Si.modifiedEndLineNumber,Si.modifiedEndColumn,ft.charInsert))}else mi.decorations.push(Oe(li.modifiedStartLineNumber,1,li.modifiedEndLineNumber,1073741824,ft.charInsertWholeLine))}return mi}layout(){return Math.max(5,this._decorationsLeft)}}class Dn extends ht{constructor(Ne,be,Xe,Rt,Ht,Qt){super(Ne,be,Xe,Rt,Ht),this._originalModel=Rt.getModel(),this._renderIndicators=Qt,this._pendingLineChange=[],this._pendingViewZones=[],this._lineBreaksComputer=this._modifiedEditor._getViewModel().createLineBreaksComputer()}getViewZones(){const Ne=super.getViewZones();return this._finalize(Ne),Ne}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){const Ne=document.createElement("div");return Ne.className="inline-added-margin-view-zone",Ne}_produceOriginalFromDiff(Ne,be,Xe){const Rt=document.createElement("div");return Rt.className="inline-added-margin-view-zone",{afterLineNumber:Math.max(Ne.originalStartLineNumber,Ne.originalEndLineNumber),heightInLines:Xe,domNode:document.createElement("div"),marginDomNode:Rt}}_produceModifiedFromDiff(Ne,be,Xe){const Rt=document.createElement("div");Rt.className=`view-lines line-delete ${vi.S}`;const Ht=document.createElement("div");Ht.className="inline-deleted-margin-view-zone";const Qt={shouldNotShrink:!0,afterLineNumber:Ne.modifiedEndLineNumber===0?Ne.modifiedStartLineNumber:Ne.modifiedStartLineNumber-1,heightInLines:be,minWidthInPx:0,domNode:Rt,marginDomNode:Ht,diff:{originalStartLineNumber:Ne.originalStartLineNumber,originalEndLineNumber:Ne.originalEndLineNumber,modifiedStartLineNumber:Ne.modifiedStartLineNumber,modifiedEndLineNumber:Ne.modifiedEndLineNumber,originalModel:this._originalModel,viewLineCounts:null}};for(let ai=Ne.originalStartLineNumber;ai<=Ne.originalEndLineNumber;ai++)this._lineBreaksComputer.addRequest(this._originalModel.getLineContent(ai),null,null);return this._pendingLineChange.push(Ne),this._pendingViewZones.push(Qt),Qt}_finalize(Ne){const be=this._modifiedEditor.getOptions(),Xe=this._modifiedEditor.getModel().getOptions().tabSize,Rt=be.get(46),Ht=be.get(29),Qt=Rt.typicalHalfwidthCharacterWidth,ai=be.get(95),mi=this._originalModel.mightContainNonBasicASCII(),ci=this._originalModel.mightContainRTL(),qt=be.get(61),xi=be.get(133).decorationsWidth,Si=be.get(107),Pi=be.get(90),Ti=be.get(85),en=be.get(47),Fi=this._lineBreaksComputer.finalize();let gn=0;for(let Qi=0;Qi<this._pendingLineChange.length;Qi++){const Oi=this._pendingLineChange[Qi],Bi=this._pendingViewZones[Qi],Wi=Bi.domNode;(0,y.N)(Wi,Rt);const an=Bi.marginDomNode;(0,y.N)(an,Rt);const Ci=[];if(Oi.charChanges)for(const Ai of Oi.charChanges)lt(Ai)&&Ci.push(new X.$t(new Fe.e(Ai.originalStartLineNumber,Ai.originalStartColumn,Ai.originalEndLineNumber,Ai.originalEndColumn),"char-delete",0));const Kn=Ci.length>0,Vn=(0,je.l$)(1e4);let Nn=0,Rn=0,$i=null;for(let Ai=Oi.originalStartLineNumber;Ai<=Oi.originalEndLineNumber;Ai++){const ts=Ai-Oi.originalStartLineNumber,Ni=this._originalModel.tokenization.getLineTokens(Ai),rs=Ni.getLineContent(),Yi=Fi[gn++],hn=Et.Kp.filter(Ci,Ai,1,rs.length+1);if(Yi){let Vi=0;for(const Qn of Yi.breakOffsets){const Ss=Ni.sliceAndInflate(Vi,Qn,0),mn=rs.substring(Vi,Qn);Nn=Math.max(Nn,this._renderOriginalLine(Rn++,mn,Ss,Et.Kp.extractWrapped(hn,Vi,Qn),Kn,mi,ci,Rt,Ht,qt,xi,Si,Pi,Ti,en,Xe,Vn,an)),Vi=Qn}for($i||($i=[]);$i.length<ts;)$i[$i.length]=1;$i[ts]=Yi.breakOffsets.length,Bi.heightInLines+=Yi.breakOffsets.length-1;const vn=document.createElement("div");vn.className="gutter-delete",Ne.original.push({afterLineNumber:Ai,afterColumn:0,heightInLines:Yi.breakOffsets.length-1,domNode:Xi(),marginDomNode:vn})}else Nn=Math.max(Nn,this._renderOriginalLine(Rn++,rs,Ni,hn,Kn,mi,ci,Rt,Ht,qt,xi,Si,Pi,Ti,en,Xe,Vn,an))}Nn+=ai;const Tn=Vn.build(),qn=Ae?Ae.createHTML(Tn):Tn;if(Wi.innerHTML=qn,Bi.minWidthInPx=Nn*Qt,$i){const Ai=Oi.originalEndLineNumber-Oi.originalStartLineNumber;for(;$i.length<=Ai;)$i[$i.length]=1}Bi.diff.viewLineCounts=$i}Ne.original.sort((Qi,Oi)=>Qi.afterLineNumber-Oi.afterLineNumber)}_renderOriginalLine(Ne,be,Xe,Rt,Ht,Qt,ai,mi,ci,qt,li,xi,Si,Pi,Ti,en,Fi,gn){Fi.appendASCIIString('<div class="view-line'),Ht||Fi.appendASCIIString(" char-delete"),Fi.appendASCIIString('" style="top:'),Fi.appendASCIIString(String(Ne*qt)),Fi.appendASCIIString('px;width:1000000px;">');const Qi=X.wA.isBasicASCII(be,Qt),Oi=X.wA.containsRTL(be,Qi,ai),Bi=(0,U.d1)(new U.IJ(mi.isMonospace&&!ci,mi.canUseHalfwidthRightwardsArrow,be,!1,Qi,Oi,0,Xe,Rt,en,0,mi.spaceWidth,mi.middotWidth,mi.wsmiddotWidth,xi,Si,Pi,Ti!==K.n0.OFF,null),Fi);if(Fi.appendASCIIString("</div>"),this._renderIndicators){const Wi=document.createElement("div");Wi.className=`delete-sign ${_e.kS.asClassName(Ei)}`,Wi.setAttribute("style",`position:absolute;top:${Ne*qt}px;width:${li}px;height:${qt}px;right:0;`),gn.appendChild(Wi)}return Bi.characterMapping.getHorizontalOffset(Bi.characterMapping.length)}}function st(si,Ne){return(0,K.NY)(si,Ne,["off","on","inherit"])}function bt(si){return si.modifiedEndLineNumber>0}function Zt(si){return si.originalEndLineNumber>0}function Ot(si){return si.modifiedStartLineNumber===si.modifiedEndLineNumber?si.modifiedEndColumn-si.modifiedStartColumn>0:si.modifiedEndLineNumber-si.modifiedStartLineNumber>0}function lt(si){return si.originalStartLineNumber===si.originalEndLineNumber?si.originalEndColumn-si.originalStartColumn>0:si.originalEndLineNumber-si.originalStartLineNumber>0}function Xi(){const si=document.createElement("div");return si.className="diagonal-fill",si}function wi(){const si=document.createElement("div");return si.className="arrow-revert-change "+_e.kS.asClassName(ge.lA.arrowRight),ie.$("div",{},si)}function yt(si,Ne,be,Xe){const Rt=si.getLineCount();return be=Math.min(Rt,Math.max(1,be)),Xe=Math.min(Rt,Math.max(1,Xe)),Ne.coordinatesConverter.convertModelRangeToViewRange(new Fe.e(be,si.getLineMinColumn(be),Xe,si.getLineMaxColumn(Xe)))}function wn(si,Ne){return{enableSplitViewResizing:(0,K.O7)(si.enableSplitViewResizing,Ne.enableSplitViewResizing),renderSideBySide:(0,K.O7)(si.renderSideBySide,Ne.renderSideBySide),renderMarginRevertIcon:(0,K.O7)(si.renderMarginRevertIcon,Ne.renderMarginRevertIcon),maxComputationTime:(0,K.Zc)(si.maxComputationTime,Ne.maxComputationTime,0,1073741824),maxFileSize:(0,K.Zc)(si.maxFileSize,Ne.maxFileSize,0,1073741824),ignoreTrimWhitespace:(0,K.O7)(si.ignoreTrimWhitespace,Ne.ignoreTrimWhitespace),renderIndicators:(0,K.O7)(si.renderIndicators,Ne.renderIndicators),originalEditable:(0,K.O7)(si.originalEditable,Ne.originalEditable),diffCodeLens:(0,K.O7)(si.diffCodeLens,Ne.diffCodeLens),renderOverviewRuler:(0,K.O7)(si.renderOverviewRuler,Ne.renderOverviewRuler),diffWordWrap:st(si.diffWordWrap,Ne.diffWordWrap)}}function on(si,Ne){return{enableSplitViewResizing:si.enableSplitViewResizing!==Ne.enableSplitViewResizing,renderSideBySide:si.renderSideBySide!==Ne.renderSideBySide,renderMarginRevertIcon:si.renderMarginRevertIcon!==Ne.renderMarginRevertIcon,maxComputationTime:si.maxComputationTime!==Ne.maxComputationTime,maxFileSize:si.maxFileSize!==Ne.maxFileSize,ignoreTrimWhitespace:si.ignoreTrimWhitespace!==Ne.ignoreTrimWhitespace,renderIndicators:si.renderIndicators!==Ne.renderIndicators,originalEditable:si.originalEditable!==Ne.originalEditable,diffCodeLens:si.diffCodeLens!==Ne.diffCodeLens,renderOverviewRuler:si.renderOverviewRuler!==Ne.renderOverviewRuler,diffWordWrap:si.diffWordWrap!==Ne.diffWordWrap}}(0,_e.Ic)((si,Ne)=>{const be=si.getColor(he.ypS);be&&Ne.addRule(`.monaco-editor .char-insert, .monaco-diff-editor .char-insert { background-color: ${be}; }`);const Xe=si.getColor(he.hzo)||be;Xe&&Ne.addRule(`.monaco-editor .line-insert, .monaco-diff-editor .line-insert { background-color: ${Xe}; }`);const Rt=si.getColor(he.j51)||Xe;Rt&&(Ne.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${Rt}; }`),Ne.addRule(`.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert { background-color: ${Rt}; }`));const Ht=si.getColor(he.P4M);Ht&&Ne.addRule(`.monaco-editor .char-delete, .monaco-diff-editor .char-delete { background-color: ${Ht}; }`);const Qt=si.getColor(he.xi6)||Ht;Qt&&Ne.addRule(`.monaco-editor .line-delete, .monaco-diff-editor .line-delete { background-color: ${Qt}; }`);const ai=si.getColor(he.zOm)||Qt;ai&&(Ne.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${ai}; }`),Ne.addRule(`.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete { background-color: ${ai}; }`));const mi=si.getColor(he.XL$);mi&&Ne.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${(0,Ye.c3)(si.type)?"dashed":"solid"} ${mi}; }`);const ci=si.getColor(he.mHy);ci&&Ne.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${(0,Ye.c3)(si.type)?"dashed":"solid"} ${ci}; }`);const qt=si.getColor(he._wn);qt&&Ne.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${qt}; }`);const li=si.getColor(he.LLc);li&&Ne.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${li}; }`);const xi=si.getColor(he.etL);xi&&Ne.addRule(` .monaco-diff-editor .diffViewport { background: ${xi}; } `);const Si=si.getColor(he.ABB);Si&&Ne.addRule(` .monaco-diff-editor .diffViewport:hover { background: ${Si}; } `);const Pi=si.getColor(he.ynu);Pi&&Ne.addRule(` .monaco-diff-editor .diffViewport:active { background: ${Pi}; } `);const Ti=si.getColor(he.L_t);Ne.addRule(` .monaco-editor .diagonal-fill { background-image: linear-gradient( -45deg, ${Ti} 12.5%, #0000 12.5%, #0000 50%, ${Ti} 50%, ${Ti} 62.5%, #0000 62.5%, #0000 100% ); background-size: 8px 8px; } `)})},31365:(At,Be,m)=>{m.d(Be,{F:()=>Z});var k=m(18565),u=m(86640),ie=m(50149),Q=m(2758),N=m(62685);const ne={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0};class Z extends ie.JT{constructor(z,y={}){super(),this._onDidUpdate=this._register(new u.Q5),this._editor=z,this._options=Q.jB(y,ne,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=!!this._options.alwaysRevealFirst,this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(C=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(C=>{this.revealFirst=!0})),this._init()}_init(){this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(z){this.ranges=[],z&&z.forEach(y=>{!this._options.ignoreCharChanges&&y.charChanges?y.charChanges.forEach(C=>{this.ranges.push({rhs:!0,range:new N.e(C.modifiedStartLineNumber,C.modifiedStartColumn,C.modifiedEndLineNumber,C.modifiedEndColumn)})}):y.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new N.e(y.modifiedStartLineNumber,1,y.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new N.e(y.modifiedStartLineNumber,1,y.modifiedEndLineNumber+1,1)})}),this.ranges.sort((y,C)=>N.e.compareRangesUsingStarts(y.range,C.range)),this._onDidUpdate.fire(this)}_initIdx(z){let y=!1;const C=this._editor.getPosition();if(!C){this.nextIdx=0;return}for(let L=0,b=this.ranges.length;L<b&&!y;L++){const d=this.ranges[L].range;C.isBeforeOrEqual(d.getStartPosition())&&(this.nextIdx=L+(z?0:-1),y=!0)}y||(this.nextIdx=z?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)}_move(z,y){if(k.ok(!this.disposed,"Illegal State - diff navigator has been disposed"),!this.canNavigate())return;this.nextIdx===-1?this._initIdx(z):z?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));const C=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{const L=C.range.getStartPosition();this._editor.setPosition(L),this._editor.revealRangeInCenter(C.range,y)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(z=0){this._move(!0,z)}previous(z=0){this._move(!1,z)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}}},58216:(At,Be,m)=>{m.d(Be,{OY:()=>ie,Sj:()=>Q,T4:()=>u,Uo:()=>N,hP:()=>ne});var k=m(13352);class u{constructor(q,z,y=!1){this._range=q,this._text=z,this.insertsAutoWhitespace=y}getEditOperations(q,z){z.addTrackedEditOperation(this._range,this._text)}computeCursorState(q,z){const C=z.getInverseEditOperations()[0].range;return k.Y.fromPositions(C.getEndPosition())}}class ie{constructor(q,z){this._range=q,this._text=z}getEditOperations(q,z){z.addTrackedEditOperation(this._range,this._text)}computeCursorState(q,z){const C=z.getInverseEditOperations()[0].range;return k.Y.fromRange(C,0)}}class Q{constructor(q,z,y=!1){this._range=q,this._text=z,this.insertsAutoWhitespace=y}getEditOperations(q,z){z.addTrackedEditOperation(this._range,this._text)}computeCursorState(q,z){const C=z.getInverseEditOperations()[0].range;return k.Y.fromPositions(C.getStartPosition())}}class N{constructor(q,z,y,C,L=!1){this._range=q,this._text=z,this._columnDeltaOffset=C,this._lineNumberDeltaOffset=y,this.insertsAutoWhitespace=L}getEditOperations(q,z){z.addTrackedEditOperation(this._range,this._text)}computeCursorState(q,z){const C=z.getInverseEditOperations()[0].range;return k.Y.fromPositions(C.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}class ne{constructor(q,z,y,C=!1){this._range=q,this._text=z,this._initialSelection=y,this._forceMoveMarkers=C,this._selectionId=null}getEditOperations(q,z){z.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=z.trackSelection(this._initialSelection)}computeCursorState(q,z){return z.getTrackedSelection(this._selectionId)}}},5631:(At,Be,m)=>{m.d(Be,{U:()=>C});var k=m(34504),u=m(76502),ie=m(62685),Q=m(13352),N=m(84397),ne=m(38490),Z=function(L,b,d,S){var E=arguments.length,D=E<3?b:S===null?S=Object.getOwnPropertyDescriptor(b,d):S,x;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(L,b,d,S);else for(var K=L.length-1;K>=0;K--)(x=L[K])&&(D=(E<3?x(D):E>3?x(b,d,D):x(b,d))||D);return E>3&&D&&Object.defineProperty(b,d,D),D},q=function(L,b){return function(d,S){b(d,S,L)}};const z=Object.create(null);function y(L,b){if(b<=0)return"";z[L]||(z[L]=["",L]);const d=z[L];for(let S=d.length;S<=b;S++)d[S]=d[S-1]+L;return d[b]}let C=class y_{constructor(b,d,S){this._languageConfigurationService=S,this._opts=d,this._selection=b,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}static unshiftIndent(b,d,S,E,D){const x=u.i.visibleColumnFromColumn(b,d,S);if(D){const K=y(" ",E),W=u.i.prevIndentTabStop(x,E)/E;return y(K,W)}else{const K=" ",W=u.i.prevRenderTabStop(x,S)/S;return y(K,W)}}static shiftIndent(b,d,S,E,D){const x=u.i.visibleColumnFromColumn(b,d,S);if(D){const K=y(" ",E),W=u.i.nextIndentTabStop(x,E)/E;return y(K,W)}else{const K=" ",W=u.i.nextRenderTabStop(x,S)/S;return y(K,W)}}_addEditOperation(b,d,S){this._useLastEditRangeForCursorEndPosition?b.addTrackedEditOperation(d,S):b.addEditOperation(d,S)}getEditOperations(b,d){const S=this._selection.startLineNumber;let E=this._selection.endLineNumber;this._selection.endColumn===1&&S!==E&&(E=E-1);const{tabSize:D,indentSize:x,insertSpaces:K}=this._opts,T=S===E;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(b.getLineContent(S))&&(this._useLastEditRangeForCursorEndPosition=!0);let W=0,A=0;for(let U=S;U<=E;U++,W=A){A=0;const X=b.getLineContent(U);let te=k.LC(X);if(this._opts.isUnshift&&(X.length===0||te===0)||!T&&!this._opts.isUnshift&&X.length===0)continue;if(te===-1&&(te=X.length),U>1&&u.i.visibleColumnFromColumn(X,te+1,D)%x!==0&&b.tokenization.isCheapToTokenize(U-1)){const ge=(0,N.A)(this._opts.autoIndent,b,new ie.e(U-1,b.getLineMaxColumn(U-1),U-1,b.getLineMaxColumn(U-1)),this._languageConfigurationService);if(ge){if(A=W,ge.appendText)for(let me=0,re=ge.appendText.length;me<re&&A<x&&ge.appendText.charCodeAt(me)===32;me++)A++;ge.removeText&&(A=Math.max(0,A-ge.removeText));for(let me=0;me<A&&!(te===0||X.charCodeAt(te-1)!==32);me++)te--}}if(this._opts.isUnshift&&te===0)continue;let he;this._opts.isUnshift?he=y_.unshiftIndent(X,te+1,D,x,K):he=y_.shiftIndent(X,te+1,D,x,K),this._addEditOperation(d,new ie.e(U,1,U,te+1),he),U===S&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=te+1)}}else{!this._opts.isUnshift&&this._selection.isEmpty()&&b.getLineLength(S)===0&&(this._useLastEditRangeForCursorEndPosition=!0);const W=K?y(" ",x):" ";for(let A=S;A<=E;A++){const U=b.getLineContent(A);let X=k.LC(U);if(!(this._opts.isUnshift&&(U.length===0||X===0))&&!(!T&&!this._opts.isUnshift&&U.length===0)&&(X===-1&&(X=U.length),!(this._opts.isUnshift&&X===0)))if(this._opts.isUnshift){X=Math.min(X,x);for(let te=0;te<X;te++)if(U.charCodeAt(te)===9){X=te+1;break}this._addEditOperation(d,new ie.e(A,1,A,X+1),"")}else this._addEditOperation(d,new ie.e(A,1,A,1),W),A===S&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn===1)}}this._selectionId=d.trackSelection(this._selection)}computeCursorState(b,d){if(this._useLastEditRangeForCursorEndPosition){const E=d.getInverseEditOperations()[0];return new Q.Y(E.range.endLineNumber,E.range.endColumn,E.range.endLineNumber,E.range.endColumn)}const S=d.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){const E=this._selection.startColumn;return S.startColumn<=E?S:S.getDirection()===0?new Q.Y(S.startLineNumber,E,S.endLineNumber,S.endColumn):new Q.Y(S.endLineNumber,S.endColumn,S.startLineNumber,E)}return S}};C=Z([q(2,ne.c_)],C)},46727:(At,Be,m)=>{m.d(Be,{Pe:()=>L,ei:()=>C,wk:()=>ne});var k=m(11876),u=m(25318),ie=m(88631),Q=m(43148),N=m(77220);const ne=Object.freeze({id:"editor",order:5,type:"object",title:ie.NC("editorConfigurationTitle","Editor"),scope:5}),Z=Object.assign(Object.assign({},ne),{properties:{"editor.tabSize":{type:"number",default:u.D.tabSize,minimum:1,markdownDescription:ie.NC("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.")},"editor.insertSpaces":{type:"boolean",default:u.D.insertSpaces,markdownDescription:ie.NC("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.")},"editor.detectIndentation":{type:"boolean",default:u.D.detectIndentation,markdownDescription:ie.NC("detectIndentation","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.")},"editor.trimAutoWhitespace":{type:"boolean",default:u.D.trimAutoWhitespace,description:ie.NC("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:u.D.largeFileOptimizations,description:ie.NC("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{type:"boolean",default:!0,description:ie.NC("wordBasedSuggestions","Controls whether completions should be computed based on words in the document.")},"editor.wordBasedSuggestionsMode":{enum:["currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[ie.NC("wordBasedSuggestionsMode.currentDocument","Only suggest words from the active document."),ie.NC("wordBasedSuggestionsMode.matchingDocuments","Suggest words from all open documents of the same language."),ie.NC("wordBasedSuggestionsMode.allDocuments","Suggest words from all open documents.")],description:ie.NC("wordBasedSuggestionsMode","Controls from which documents word based completions are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[ie.NC("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),ie.NC("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),ie.NC("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:ie.NC("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:ie.NC("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:ie.NC("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.language.brackets":{type:["array","null"],default:null,description:ie.NC("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:ie.NC("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:ie.NC("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:ie.NC("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:ie.NC("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:ie.NC("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:5e3,description:ie.NC("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:50,description:ie.NC("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:ie.NC("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:!0,description:ie.NC("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:ie.NC("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:ie.NC("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:!1,description:ie.NC("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:"inherit",markdownEnumDescriptions:[ie.NC("wordWrap.off","Lines will never wrap."),ie.NC("wordWrap.on","Lines will wrap at the viewport width."),ie.NC("wordWrap.inherit","Lines will wrap according to the `#editor.wordWrap#` setting.")]}}});function q(d){return typeof d.type<"u"||typeof d.anyOf<"u"}for(const d of k.Bc){const S=d.schema;if(typeof S<"u")if(q(S))Z.properties[`editor.${d.name}`]=S;else for(const E in S)Object.hasOwnProperty.call(S,E)&&(Z.properties[E]=S[E])}let z=null;function y(){return z===null&&(z=Object.create(null),Object.keys(Z.properties).forEach(d=>{z[d]=!0})),z}function C(d){return y()[`editor.${d}`]||!1}function L(d){return y()[`diffEditor.${d}`]||!1}N.B.as(Q.IP.Configuration).registerConfiguration(Z)},11876:(At,Be,m)=>{m.d(Be,{$J:()=>Et,Av:()=>mt,BH:()=>Se,Bb:()=>q,Bc:()=>Ii,LJ:()=>z,NY:()=>W,O7:()=>S,Zc:()=>D,d2:()=>ge,gk:()=>O,hL:()=>Ae,n0:()=>oe,qt:()=>Wt,rk:()=>C,y0:()=>Z});var k=m(88631),u=m(75874),ie=m(44005),Q=m(99359),N=m(2758),ne=m(25318);const Z=8;class q{constructor(Oe){this._values=Oe}hasChanged(Oe){return this._values[Oe]}}class z{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class y{constructor(Oe,ft,Yt,bi){this.id=Oe,this.name=ft,this.defaultValue=Yt,this.schema=bi}applyUpdate(Oe,ft){return L(Oe,ft)}compute(Oe,ft,Yt){return Yt}}class C{constructor(Oe,ft){this.newValue=Oe,this.didChange=ft}}function L(ht,Oe){if(typeof ht!="object"||typeof Oe!="object"||!ht||!Oe)return new C(Oe,ht!==Oe);if(Array.isArray(ht)||Array.isArray(Oe)){const Yt=Array.isArray(ht)&&Array.isArray(Oe)&&Q.fS(ht,Oe);return new C(Oe,!Yt)}let ft=!1;for(const Yt in Oe)if(Oe.hasOwnProperty(Yt)){const bi=L(ht[Yt],Oe[Yt]);bi.didChange&&(ht[Yt]=bi.newValue,ft=!0)}return new C(ht,ft)}class b{constructor(Oe){this.schema=void 0,this.id=Oe,this.name="_never_",this.defaultValue=void 0}applyUpdate(Oe,ft){return L(Oe,ft)}validate(Oe){return this.defaultValue}}class d{constructor(Oe,ft,Yt,bi){this.id=Oe,this.name=ft,this.defaultValue=Yt,this.schema=bi}applyUpdate(Oe,ft){return L(Oe,ft)}validate(Oe){return typeof Oe>"u"?this.defaultValue:Oe}compute(Oe,ft,Yt){return Yt}}function S(ht,Oe){return typeof ht>"u"?Oe:ht==="false"?!1:!!ht}class E extends d{constructor(Oe,ft,Yt,bi=void 0){typeof bi<"u"&&(bi.type="boolean",bi.default=Yt),super(Oe,ft,Yt,bi)}validate(Oe){return S(Oe,this.defaultValue)}}function D(ht,Oe,ft,Yt){if(typeof ht>"u")return Oe;let bi=parseInt(ht,10);return isNaN(bi)?Oe:(bi=Math.max(ft,bi),bi=Math.min(Yt,bi),bi|0)}class x extends d{constructor(Oe,ft,Yt,bi,Gi,Dn=void 0){typeof Dn<"u"&&(Dn.type="integer",Dn.default=Yt,Dn.minimum=bi,Dn.maximum=Gi),super(Oe,ft,Yt,Dn),this.minimum=bi,this.maximum=Gi}static clampedInt(Oe,ft,Yt,bi){return D(Oe,ft,Yt,bi)}validate(Oe){return x.clampedInt(Oe,this.defaultValue,this.minimum,this.maximum)}}class K extends d{constructor(Oe,ft,Yt,bi,Gi){typeof Gi<"u"&&(Gi.type="number",Gi.default=Yt),super(Oe,ft,Yt,Gi),this.validationFn=bi}static clamp(Oe,ft,Yt){return Oe<ft?ft:Oe>Yt?Yt:Oe}static float(Oe,ft){if(typeof Oe=="number")return Oe;if(typeof Oe>"u")return ft;const Yt=parseFloat(Oe);return isNaN(Yt)?ft:Yt}validate(Oe){return this.validationFn(K.float(Oe,this.defaultValue))}}class T extends d{static string(Oe,ft){return typeof Oe!="string"?ft:Oe}constructor(Oe,ft,Yt,bi=void 0){typeof bi<"u"&&(bi.type="string",bi.default=Yt),super(Oe,ft,Yt,bi)}validate(Oe){return T.string(Oe,this.defaultValue)}}function W(ht,Oe,ft){return typeof ht!="string"||ft.indexOf(ht)===-1?Oe:ht}class A extends d{constructor(Oe,ft,Yt,bi,Gi=void 0){typeof Gi<"u"&&(Gi.type="string",Gi.enum=bi,Gi.default=Yt),super(Oe,ft,Yt,Gi),this._allowedValues=bi}validate(Oe){return W(Oe,this.defaultValue,this._allowedValues)}}class U extends y{constructor(Oe,ft,Yt,bi,Gi,Dn,st=void 0){typeof st<"u"&&(st.type="string",st.enum=Gi,st.default=bi),super(Oe,ft,Yt,st),this._allowedValues=Gi,this._convert=Dn}validate(Oe){return typeof Oe!="string"?this.defaultValue:this._allowedValues.indexOf(Oe)===-1?this.defaultValue:this._convert(Oe)}}function X(ht){switch(ht){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class te extends y{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[k.NC("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),k.NC("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled."),k.NC("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:"auto",description:k.NC("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.")})}validate(Oe){switch(Oe){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(Oe,ft,Yt){return Yt===0?Oe.accessibilitySupport:Yt}}class he extends y{constructor(){const Oe={insertSpace:!0,ignoreEmptyLines:!0};super(19,"comments",Oe,{"editor.comments.insertSpace":{type:"boolean",default:Oe.insertSpace,description:k.NC("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:Oe.ignoreEmptyLines,description:k.NC("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{insertSpace:S(ft.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:S(ft.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function _e(ht){switch(ht){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var ge;(function(ht){ht[ht.Line=1]="Line",ht[ht.Block=2]="Block",ht[ht.Underline=3]="Underline",ht[ht.LineThin=4]="LineThin",ht[ht.BlockOutline=5]="BlockOutline",ht[ht.UnderlineThin=6]="UnderlineThin"})(ge||(ge={}));function me(ht){switch(ht){case"line":return ge.Line;case"block":return ge.Block;case"underline":return ge.Underline;case"line-thin":return ge.LineThin;case"block-outline":return ge.BlockOutline;case"underline-thin":return ge.UnderlineThin}}class re extends b{constructor(){super(130)}compute(Oe,ft,Yt){const bi=["monaco-editor"];return ft.get(35)&&bi.push(ft.get(35)),Oe.extraEditorClassName&&bi.push(Oe.extraEditorClassName),ft.get(68)==="default"?bi.push("mouse-default"):ft.get(68)==="copy"&&bi.push("mouse-copy"),ft.get(102)&&bi.push("showUnused"),ft.get(128)&&bi.push("showDeprecated"),bi.join(" ")}}class Y extends E{constructor(){super(33,"emptySelectionClipboard",!0,{description:k.NC("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(Oe,ft,Yt){return Yt&&Oe.emptySelectionClipboard}}class de extends y{constructor(){const Oe={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(37,"find",Oe,{"editor.find.cursorMoveOnType":{type:"boolean",default:Oe.cursorMoveOnType,description:k.NC("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:Oe.seedSearchStringFromSelection,enumDescriptions:[k.NC("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),k.NC("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),k.NC("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:k.NC("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:Oe.autoFindInSelection,enumDescriptions:[k.NC("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),k.NC("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),k.NC("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:k.NC("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:Oe.globalFindClipboard,description:k.NC("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:u.dz},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:Oe.addExtraSpaceOnTop,description:k.NC("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:Oe.loop,description:k.NC("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{cursorMoveOnType:S(ft.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof Oe.seedSearchStringFromSelection=="boolean"?Oe.seedSearchStringFromSelection?"always":"never":W(ft.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof Oe.autoFindInSelection=="boolean"?Oe.autoFindInSelection?"always":"never":W(ft.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:S(ft.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:S(ft.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:S(ft.loop,this.defaultValue.loop)}}}class oe extends y{constructor(){super(47,"fontLigatures",oe.OFF,{anyOf:[{type:"boolean",description:k.NC("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:k.NC("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:k.NC("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(Oe){return typeof Oe>"u"?this.defaultValue:typeof Oe=="string"?Oe==="false"?oe.OFF:Oe==="true"?oe.ON:Oe:Oe?oe.ON:oe.OFF}}oe.OFF='"liga" off, "calt" off',oe.ON='"liga" on, "calt" on';class J extends b{constructor(){super(46)}compute(Oe,ft,Yt){return Oe.fontInfo}}class $ extends d{constructor(){super(48,"fontSize",Ae.fontSize,{type:"number",minimum:6,maximum:100,default:Ae.fontSize,description:k.NC("fontSize","Controls the font size in pixels.")})}validate(Oe){const ft=K.float(Oe,this.defaultValue);return ft===0?Ae.fontSize:K.clamp(ft,6,100)}compute(Oe,ft,Yt){return Oe.fontInfo.fontSize}}class ue extends y{constructor(){super(49,"fontWeight",Ae.fontWeight,{anyOf:[{type:"number",minimum:ue.MINIMUM_VALUE,maximum:ue.MAXIMUM_VALUE,errorMessage:k.NC("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:ue.SUGGESTION_VALUES}],default:Ae.fontWeight,description:k.NC("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(Oe){return Oe==="normal"||Oe==="bold"?Oe:String(x.clampedInt(Oe,Ae.fontWeight,ue.MINIMUM_VALUE,ue.MAXIMUM_VALUE))}}ue.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],ue.MINIMUM_VALUE=1,ue.MAXIMUM_VALUE=1e3;class ve extends y{constructor(){const Oe={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},ft={type:"string",enum:["peek","gotoAndPeek","goto"],default:Oe.multiple,enumDescriptions:[k.NC("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),k.NC("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),k.NC("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},Yt=["","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(53,"gotoLocation",Oe,{"editor.gotoLocation.multiple":{deprecationMessage:k.NC("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":Object.assign({description:k.NC("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},ft),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:k.NC("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},ft),"editor.gotoLocation.multipleDeclarations":Object.assign({description:k.NC("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},ft),"editor.gotoLocation.multipleImplementations":Object.assign({description:k.NC("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},ft),"editor.gotoLocation.multipleReferences":Object.assign({description:k.NC("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist.")},ft),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:Oe.alternativeDefinitionCommand,enum:Yt,description:k.NC("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:Oe.alternativeTypeDefinitionCommand,enum:Yt,description:k.NC("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:Oe.alternativeDeclarationCommand,enum:Yt,description:k.NC("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:Oe.alternativeImplementationCommand,enum:Yt,description:k.NC("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:Oe.alternativeReferenceCommand,enum:Yt,description:k.NC("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(Oe){var ft,Yt,bi,Gi,Dn;if(!Oe||typeof Oe!="object")return this.defaultValue;const st=Oe;return{multiple:W(st.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(ft=st.multipleDefinitions)!==null&&ft!==void 0?ft:W(st.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(Yt=st.multipleTypeDefinitions)!==null&&Yt!==void 0?Yt:W(st.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(bi=st.multipleDeclarations)!==null&&bi!==void 0?bi:W(st.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(Gi=st.multipleImplementations)!==null&&Gi!==void 0?Gi:W(st.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(Dn=st.multipleReferences)!==null&&Dn!==void 0?Dn:W(st.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:T.string(st.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:T.string(st.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:T.string(st.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:T.string(st.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:T.string(st.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class xe extends y{constructor(){const Oe={enabled:!0,delay:300,sticky:!0,above:!0};super(55,"hover",Oe,{"editor.hover.enabled":{type:"boolean",default:Oe.enabled,description:k.NC("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:Oe.delay,minimum:0,maximum:1e4,description:k.NC("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:Oe.sticky,description:k.NC("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:Oe.above,description:k.NC("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{enabled:S(ft.enabled,this.defaultValue.enabled),delay:x.clampedInt(ft.delay,this.defaultValue.delay,0,1e4),sticky:S(ft.sticky,this.defaultValue.sticky),above:S(ft.above,this.defaultValue.above)}}}class O extends b{constructor(){super(133)}compute(Oe,ft,Yt){return O.computeLayout(ft,{memory:Oe.memory,outerWidth:Oe.outerWidth,outerHeight:Oe.outerHeight,isDominatedByLongLines:Oe.isDominatedByLongLines,lineHeight:Oe.fontInfo.lineHeight,viewLineCount:Oe.viewLineCount,lineNumbersDigitCount:Oe.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:Oe.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:Oe.fontInfo.maxDigitWidth,pixelRatio:Oe.pixelRatio})}static computeContainedMinimapLineCount(Oe){const ft=Oe.height/Oe.lineHeight,Yt=Oe.scrollBeyondLastLine?ft-1:0,bi=(Oe.viewLineCount+Yt)/(Oe.pixelRatio*Oe.height),Gi=Math.floor(Oe.viewLineCount/bi);return{typicalViewportLineCount:ft,extraLinesBeyondLastLine:Yt,desiredRatio:bi,minimapLineCount:Gi}}static _computeMinimapLayout(Oe,ft){const Yt=Oe.outerWidth,bi=Oe.outerHeight,Gi=Oe.pixelRatio;if(!Oe.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(Gi*bi),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:bi};const Dn=ft.stableMinimapLayoutInput,st=Dn&&Oe.outerHeight===Dn.outerHeight&&Oe.lineHeight===Dn.lineHeight&&Oe.typicalHalfwidthCharacterWidth===Dn.typicalHalfwidthCharacterWidth&&Oe.pixelRatio===Dn.pixelRatio&&Oe.scrollBeyondLastLine===Dn.scrollBeyondLastLine&&Oe.minimap.enabled===Dn.minimap.enabled&&Oe.minimap.side===Dn.minimap.side&&Oe.minimap.size===Dn.minimap.size&&Oe.minimap.showSlider===Dn.minimap.showSlider&&Oe.minimap.renderCharacters===Dn.minimap.renderCharacters&&Oe.minimap.maxColumn===Dn.minimap.maxColumn&&Oe.minimap.scale===Dn.minimap.scale&&Oe.verticalScrollbarWidth===Dn.verticalScrollbarWidth&&Oe.isViewportWrapping===Dn.isViewportWrapping,bt=Oe.lineHeight,Zt=Oe.typicalHalfwidthCharacterWidth,Ot=Oe.scrollBeyondLastLine,lt=Oe.minimap.renderCharacters;let Xi=Gi>=2?Math.round(Oe.minimap.scale*2):Oe.minimap.scale;const wi=Oe.minimap.maxColumn,yt=Oe.minimap.size,wn=Oe.minimap.side,on=Oe.verticalScrollbarWidth,si=Oe.viewLineCount,Ne=Oe.remainingWidth,be=Oe.isViewportWrapping,Xe=lt?2:3;let Rt=Math.floor(Gi*bi);const Ht=Rt/Gi;let Qt=!1,ai=!1,mi=Xe*Xi,ci=Xi/Gi,qt=1;if(yt==="fill"||yt==="fit"){const{typicalViewportLineCount:Fi,extraLinesBeyondLastLine:gn,desiredRatio:Qi,minimapLineCount:Oi}=O.computeContainedMinimapLineCount({viewLineCount:si,scrollBeyondLastLine:Ot,height:bi,lineHeight:bt,pixelRatio:Gi});if(si/Oi>1)Qt=!0,ai=!0,Xi=1,mi=1,ci=Xi/Gi;else{let Wi=!1,an=Xi+1;if(yt==="fit"){const Ci=Math.ceil((si+gn)*mi);be&&st&&Ne<=ft.stableFitRemainingWidth?(Wi=!0,an=ft.stableFitMaxMinimapScale):Wi=Ci>Rt}if(yt==="fill"||Wi){Qt=!0;const Ci=Xi;mi=Math.min(bt*Gi,Math.max(1,Math.floor(1/Qi))),be&&st&&Ne<=ft.stableFitRemainingWidth&&(an=ft.stableFitMaxMinimapScale),Xi=Math.min(an,Math.max(1,Math.floor(mi/Xe))),Xi>Ci&&(qt=Math.min(2,Xi/Ci)),ci=Xi/Gi/qt,Rt=Math.ceil(Math.max(Fi,si+gn)*mi),be?(ft.stableMinimapLayoutInput=Oe,ft.stableFitRemainingWidth=Ne,ft.stableFitMaxMinimapScale=Xi):(ft.stableMinimapLayoutInput=null,ft.stableFitRemainingWidth=0)}}}const li=Math.floor(wi*ci),xi=Math.min(li,Math.max(0,Math.floor((Ne-on-2)*ci/(Zt+ci)))+Z);let Si=Math.floor(Gi*xi);const Pi=Si/Gi;Si=Math.floor(Si*qt);const Ti=lt?1:2,en=wn==="left"?0:Yt-xi-on;return{renderMinimap:Ti,minimapLeft:en,minimapWidth:xi,minimapHeightIsEditorHeight:Qt,minimapIsSampling:ai,minimapScale:Xi,minimapLineHeight:mi,minimapCanvasInnerWidth:Si,minimapCanvasInnerHeight:Rt,minimapCanvasOuterWidth:Pi,minimapCanvasOuterHeight:Ht}}static computeLayout(Oe,ft){const Yt=ft.outerWidth|0,bi=ft.outerHeight|0,Gi=ft.lineHeight|0,Dn=ft.lineNumbersDigitCount|0,st=ft.typicalHalfwidthCharacterWidth,bt=ft.maxDigitWidth,Zt=ft.pixelRatio,Ot=ft.viewLineCount,lt=Oe.get(125),Xi=lt==="inherit"?Oe.get(124):lt,wi=Xi==="inherit"?Oe.get(120):Xi,yt=Oe.get(123),wn=Oe.get(2),on=ft.isDominatedByLongLines,si=Oe.get(52),Ne=Oe.get(62).renderType!==0,be=Oe.get(63),Xe=Oe.get(96),Rt=Oe.get(67),Ht=Oe.get(94),Qt=Ht.verticalScrollbarSize,ai=Ht.verticalHasArrows,mi=Ht.arrowSize,ci=Ht.horizontalScrollbarSize,qt=Oe.get(60),li=Oe.get(39),xi=Oe.get(101)!=="never";let Si;if(typeof qt=="string"&&/^\d+(\.\d+)?ch$/.test(qt)){const Rn=parseFloat(qt.substr(0,qt.length-2));Si=x.clampedInt(Rn*st,0,0,1e3)}else Si=x.clampedInt(qt,0,0,1e3);li&&xi&&(Si+=16);let Pi=0;if(Ne){const Rn=Math.max(Dn,be);Pi=Math.round(Rn*bt)}let Ti=0;si&&(Ti=Gi);let en=0,Fi=en+Ti,gn=Fi+Pi,Qi=gn+Si;const Oi=Yt-Ti-Pi-Si;let Bi=!1,Wi=!1,an=-1;wn!==2&&(Xi==="inherit"&&on?(Bi=!0,Wi=!0):wi==="on"||wi==="bounded"?Wi=!0:wi==="wordWrapColumn"&&(an=yt));const Ci=O._computeMinimapLayout({outerWidth:Yt,outerHeight:bi,lineHeight:Gi,typicalHalfwidthCharacterWidth:st,pixelRatio:Zt,scrollBeyondLastLine:Xe,minimap:Rt,verticalScrollbarWidth:Qt,viewLineCount:Ot,remainingWidth:Oi,isViewportWrapping:Wi},ft.memory||new z);Ci.renderMinimap!==0&&Ci.minimapLeft===0&&(en+=Ci.minimapWidth,Fi+=Ci.minimapWidth,gn+=Ci.minimapWidth,Qi+=Ci.minimapWidth);const Kn=Oi-Ci.minimapWidth,Vn=Math.max(1,Math.floor((Kn-Qt-2)/st)),Nn=ai?mi:0;return Wi&&(an=Math.max(1,Vn),wi==="bounded"&&(an=Math.min(an,yt))),{width:Yt,height:bi,glyphMarginLeft:en,glyphMarginWidth:Ti,lineNumbersLeft:Fi,lineNumbersWidth:Pi,decorationsLeft:gn,decorationsWidth:Si,contentLeft:Qi,contentWidth:Kn,minimap:Ci,viewportColumn:Vn,isWordWrapMinified:Bi,isViewportWrapping:Wi,wrappingColumn:an,verticalScrollbarWidth:Qt,horizontalScrollbarHeight:ci,overviewRuler:{top:Nn,width:Qt,height:bi-2*Nn,right:0}}}}class rt extends y{constructor(){const Oe={enabled:!0};super(59,"lightbulb",Oe,{"editor.lightbulb.enabled":{type:"boolean",default:Oe.enabled,description:k.NC("codeActions","Enables the code action lightbulb in the editor.")}})}validate(Oe){return!Oe||typeof Oe!="object"?this.defaultValue:{enabled:S(Oe.enabled,this.defaultValue.enabled)}}}class ct extends y{constructor(){const Oe={stickyScroll:{enabled:!1}};super(34,"experimental",Oe,{"editor.experimental.stickyScroll.enabled":{type:"boolean",default:Oe.stickyScroll.enabled,description:k.NC("editor.experimental.stickyScroll","Shows the nested current scopes during the scroll at the top of the editor.")}})}validate(Oe){var ft;return!Oe||typeof Oe!="object"?this.defaultValue:{stickyScroll:{enabled:S((ft=Oe.stickyScroll)===null||ft===void 0?void 0:ft.enabled,this.defaultValue.stickyScroll.enabled)}}}}class Ve extends y{constructor(){const Oe={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(129,"inlayHints",Oe,{"editor.inlayHints.enabled":{type:"string",default:Oe.enabled,description:k.NC("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[k.NC("editor.inlayHints.on","Inlay hints are enabled"),k.NC("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding `Ctrl+Alt`"),k.NC("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding `Ctrl+Alt`"),k.NC("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:Oe.fontSize,markdownDescription:k.NC("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:Oe.fontFamily,markdownDescription:k.NC("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:Oe.padding,description:k.NC("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return typeof ft.enabled=="boolean"&&(ft.enabled=ft.enabled?"on":"off"),{enabled:W(ft.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:x.clampedInt(ft.fontSize,this.defaultValue.fontSize,0,100),fontFamily:T.string(ft.fontFamily,this.defaultValue.fontFamily),padding:S(ft.padding,this.defaultValue.padding)}}}class $e extends K{constructor(){super(61,"lineHeight",Ae.lineHeight,Oe=>K.clamp(Oe,0,150),{markdownDescription:k.NC("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(Oe,ft,Yt){return Oe.fontInfo.lineHeight}}class Ee extends y{constructor(){const Oe={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(67,"minimap",Oe,{"editor.minimap.enabled":{type:"boolean",default:Oe.enabled,description:k.NC("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:Oe.autohide,description:k.NC("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[k.NC("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),k.NC("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),k.NC("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:Oe.size,description:k.NC("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:Oe.side,description:k.NC("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:Oe.showSlider,description:k.NC("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:Oe.scale,minimum:1,maximum:3,enum:[1,2,3],description:k.NC("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:Oe.renderCharacters,description:k.NC("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:Oe.maxColumn,description:k.NC("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{enabled:S(ft.enabled,this.defaultValue.enabled),autohide:S(ft.autohide,this.defaultValue.autohide),size:W(ft.size,this.defaultValue.size,["proportional","fill","fit"]),side:W(ft.side,this.defaultValue.side,["right","left"]),showSlider:W(ft.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:S(ft.renderCharacters,this.defaultValue.renderCharacters),scale:x.clampedInt(ft.scale,1,1,3),maxColumn:x.clampedInt(ft.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}function Fe(ht){return ht==="ctrlCmd"?u.dz?"metaKey":"ctrlKey":"altKey"}class je extends y{constructor(){super(77,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:k.NC("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:k.NC("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{top:x.clampedInt(ft.top,0,0,1e3),bottom:x.clampedInt(ft.bottom,0,0,1e3)}}}class Re extends y{constructor(){const Oe={enabled:!0,cycle:!1};super(78,"parameterHints",Oe,{"editor.parameterHints.enabled":{type:"boolean",default:Oe.enabled,description:k.NC("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:Oe.cycle,description:k.NC("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{enabled:S(ft.enabled,this.defaultValue.enabled),cycle:S(ft.cycle,this.defaultValue.cycle)}}}class tt extends b{constructor(){super(131)}compute(Oe,ft,Yt){return Oe.pixelRatio}}class at extends y{constructor(){const Oe={other:"on",comments:"off",strings:"off"},ft=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[k.NC("on","Quick suggestions show inside the suggest widget"),k.NC("inline","Quick suggestions show as ghost text"),k.NC("off","Quick suggestions are disabled")]}];super(81,"quickSuggestions",Oe,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:ft,default:Oe.strings,description:k.NC("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:ft,default:Oe.comments,description:k.NC("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:ft,default:Oe.other,description:k.NC("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:Oe,markdownDescription:k.NC("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=Oe}validate(Oe){if(typeof Oe=="boolean"){const Zt=Oe?"on":"off";return{comments:Zt,strings:Zt,other:Zt}}if(!Oe||typeof Oe!="object")return this.defaultValue;const{other:ft,comments:Yt,strings:bi}=Oe,Gi=["on","inline","off"];let Dn,st,bt;return typeof ft=="boolean"?Dn=ft?"on":"off":Dn=W(ft,this.defaultValue.other,Gi),typeof Yt=="boolean"?st=Yt?"on":"off":st=W(Yt,this.defaultValue.comments,Gi),typeof bi=="boolean"?bt=bi?"on":"off":bt=W(bi,this.defaultValue.strings,Gi),{other:Dn,comments:st,strings:bt}}}class Dt extends y{constructor(){super(62,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[k.NC("lineNumbers.off","Line numbers are not rendered."),k.NC("lineNumbers.on","Line numbers are rendered as absolute number."),k.NC("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),k.NC("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:k.NC("lineNumbers","Controls the display of line numbers.")})}validate(Oe){let ft=this.defaultValue.renderType,Yt=this.defaultValue.renderFn;return typeof Oe<"u"&&(typeof Oe=="function"?(ft=4,Yt=Oe):Oe==="interval"?ft=3:Oe==="relative"?ft=2:Oe==="on"?ft=1:ft=0),{renderType:ft,renderFn:Yt}}}function Et(ht){const Oe=ht.get(89);return Oe==="editable"?ht.get(83):Oe!=="on"}class Nt extends y{constructor(){const Oe=[],ft={type:"number",description:k.NC("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(93,"rulers",Oe,{type:"array",items:{anyOf:[ft,{type:["object"],properties:{column:ft,color:{type:"string",description:k.NC("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:Oe,description:k.NC("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(Oe){if(Array.isArray(Oe)){const ft=[];for(const Yt of Oe)if(typeof Yt=="number")ft.push({column:x.clampedInt(Yt,0,0,1e4),color:null});else if(Yt&&typeof Yt=="object"){const bi=Yt;ft.push({column:x.clampedInt(bi.column,0,0,1e4),color:bi.color})}return ft.sort((Yt,bi)=>Yt.column-bi.column),ft}return this.defaultValue}}function ke(ht,Oe){if(typeof ht!="string")return Oe;switch(ht){case"hidden":return 2;case"visible":return 3;default:return 1}}class dt extends y{constructor(){const Oe={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};super(94,"scrollbar",Oe,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[k.NC("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),k.NC("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),k.NC("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:k.NC("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[k.NC("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),k.NC("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),k.NC("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:k.NC("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:Oe.verticalScrollbarSize,description:k.NC("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:Oe.horizontalScrollbarSize,description:k.NC("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:Oe.scrollByPage,description:k.NC("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe,Yt=x.clampedInt(ft.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),bi=x.clampedInt(ft.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:x.clampedInt(ft.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:ke(ft.vertical,this.defaultValue.vertical),horizontal:ke(ft.horizontal,this.defaultValue.horizontal),useShadows:S(ft.useShadows,this.defaultValue.useShadows),verticalHasArrows:S(ft.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:S(ft.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:S(ft.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:S(ft.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:Yt,horizontalSliderSize:x.clampedInt(ft.horizontalSliderSize,Yt,0,1e3),verticalScrollbarSize:bi,verticalSliderSize:x.clampedInt(ft.verticalSliderSize,bi,0,1e3),scrollByPage:S(ft.scrollByPage,this.defaultValue.scrollByPage)}}}const mt="inUntrustedWorkspace",Wt={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 Kt extends y{constructor(){const Oe={nonBasicASCII:mt,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:mt,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(115,"unicodeHighlight",Oe,{[Wt.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,mt],default:Oe.nonBasicASCII,description:k.NC("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.")},[Wt.invisibleCharacters]:{restricted:!0,type:"boolean",default:Oe.invisibleCharacters,description:k.NC("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[Wt.ambiguousCharacters]:{restricted:!0,type:"boolean",default:Oe.ambiguousCharacters,description:k.NC("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.")},[Wt.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,mt],default:Oe.includeComments,description:k.NC("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to unicode highlighting.")},[Wt.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,mt],default:Oe.includeStrings,description:k.NC("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to unicode highlighting.")},[Wt.allowedCharacters]:{restricted:!0,type:"object",default:Oe.allowedCharacters,description:k.NC("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Wt.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:Oe.allowedLocales,description:k.NC("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(Oe,ft){let Yt=!1;ft.allowedCharacters&&Oe&&(N.fS(Oe.allowedCharacters,ft.allowedCharacters)||(Oe=Object.assign(Object.assign({},Oe),{allowedCharacters:ft.allowedCharacters}),Yt=!0)),ft.allowedLocales&&Oe&&(N.fS(Oe.allowedLocales,ft.allowedLocales)||(Oe=Object.assign(Object.assign({},Oe),{allowedLocales:ft.allowedLocales}),Yt=!0));const bi=super.applyUpdate(Oe,ft);return Yt?new C(bi.newValue,!0):bi}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{nonBasicASCII:ni(ft.nonBasicASCII,mt,[!0,!1,mt]),invisibleCharacters:S(ft.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:S(ft.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ni(ft.includeComments,mt,[!0,!1,mt]),includeStrings:ni(ft.includeStrings,mt,[!0,!1,mt]),allowedCharacters:this.validateBooleanMap(Oe.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(Oe.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(Oe,ft){if(typeof Oe!="object"||!Oe)return ft;const Yt={};for(const[bi,Gi]of Object.entries(Oe))Gi===!0&&(Yt[bi]=!0);return Yt}}class _t extends y{constructor(){const Oe={enabled:!0,mode:"subwordSmart"};super(57,"inlineSuggest",Oe,{"editor.inlineSuggest.enabled":{type:"boolean",default:Oe.enabled,description:k.NC("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{enabled:S(ft.enabled,this.defaultValue.enabled),mode:W(ft.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"])}}}class wt extends y{constructor(){const Oe={enabled:ne.D.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:ne.D.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(12,"bracketPairColorization",Oe,{"editor.bracketPairColorization.enabled":{type:"boolean",default:Oe.enabled,markdownDescription:k.NC("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:Oe.independentColorPoolPerBracketType,description:k.NC("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{enabled:S(ft.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:S(ft.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class Ut extends y{constructor(){const Oe={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,"guides",Oe,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[k.NC("editor.guides.bracketPairs.true","Enables bracket pair guides."),k.NC("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),k.NC("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:Oe.bracketPairs,description:k.NC("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[k.NC("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),k.NC("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),k.NC("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:Oe.bracketPairsHorizontal,description:k.NC("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:Oe.highlightActiveBracketPair,description:k.NC("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:Oe.indentation,description:k.NC("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[k.NC("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),k.NC("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),k.NC("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:Oe.highlightActiveIndentation,description:k.NC("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{bracketPairs:ni(ft.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:ni(ft.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:S(ft.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:S(ft.indentation,this.defaultValue.indentation),highlightActiveIndentation:ni(ft.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function ni(ht,Oe,ft){const Yt=ft.indexOf(ht);return Yt===-1?Oe:ft[Yt]}class vi extends y{constructor(){const Oe={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!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(108,"suggest",Oe,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[k.NC("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),k.NC("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:Oe.insertMode,description:k.NC("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:Oe.filterGraceful,description:k.NC("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:Oe.localityBonus,description:k.NC("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:Oe.shareSuggestSelections,markdownDescription:k.NC("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:Oe.snippetsPreventQuickSuggestions,description:k.NC("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:Oe.showIcons,description:k.NC("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:Oe.showStatusBar,description:k.NC("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:Oe.preview,description:k.NC("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:Oe.showInlineDetails,description:k.NC("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:k.NC("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:k.NC("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:k.NC("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:k.NC("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(Oe){if(!Oe||typeof Oe!="object")return this.defaultValue;const ft=Oe;return{insertMode:W(ft.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:S(ft.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:S(ft.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:S(ft.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:S(ft.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:S(ft.showIcons,this.defaultValue.showIcons),showStatusBar:S(ft.showStatusBar,this.defaultValue.showStatusBar),preview:S(ft.preview,this.defaultValue.preview),previewMode:W(ft.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:S(ft.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:S(ft.showMethods,this.defaultValue.showMethods),showFunctions:S(ft.showFunctions,this.defaultValue.showFunctions),showConstructors:S(ft.showConstructors,this.defaultValue.showConstructors),showDeprecated:S(ft.showDeprecated,this.defaultValue.showDeprecated),showFields:S(ft.showFields,this.defaultValue.showFields),showVariables:S(ft.showVariables,this.defaultValue.showVariables),showClasses:S(ft.showClasses,this.defaultValue.showClasses),showStructs:S(ft.showStructs,this.defaultValue.showStructs),showInterfaces:S(ft.showInterfaces,this.defaultValue.showInterfaces),showModules:S(ft.showModules,this.defaultValue.showModules),showProperties:S(ft.showProperties,this.defaultValue.showProperties),showEvents:S(ft.showEvents,this.defaultValue.showEvents),showOperators:S(ft.showOperators,this.defaultValue.showOperators),showUnits:S(ft.showUnits,this.defaultValue.showUnits),showValues:S(ft.showValues,this.defaultValue.showValues),showConstants:S(ft.showConstants,this.defaultValue.showConstants),showEnums:S(ft.showEnums,this.defaultValue.showEnums),showEnumMembers:S(ft.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:S(ft.showKeywords,this.defaultValue.showKeywords),showWords:S(ft.showWords,this.defaultValue.showWords),showColors:S(ft.showColors,this.defaultValue.showColors),showFiles:S(ft.showFiles,this.defaultValue.showFiles),showReferences:S(ft.showReferences,this.defaultValue.showReferences),showFolders:S(ft.showFolders,this.defaultValue.showFolders),showTypeParameters:S(ft.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:S(ft.showSnippets,this.defaultValue.showSnippets),showUsers:S(ft.showUsers,this.defaultValue.showUsers),showIssues:S(ft.showIssues,this.defaultValue.showIssues)}}}class Ye extends y{constructor(){super(104,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:k.NC("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"}})}validate(Oe){return!Oe||typeof Oe!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:S(Oe.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}}class Ct extends b{constructor(){super(132)}compute(Oe,ft,Yt){return ft.get(83)?!0:Oe.tabFocusMode}}function Pt(ht){switch(ht){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}}class ti extends b{constructor(){super(134)}compute(Oe,ft,Yt){const bi=ft.get(133);return{isDominatedByLongLines:Oe.isDominatedByLongLines,isWordWrapMinified:bi.isWordWrapMinified,isViewportWrapping:bi.isViewportWrapping,wrappingColumn:bi.wrappingColumn}}}class ri extends y{constructor(){const Oe={enabled:!0};super(32,"dropIntoEditor",Oe,{"editor.dropIntoEditor.enabled":{type:"boolean",default:Oe.enabled,markdownDescription:k.NC("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down `shift` (instead of opening the file in an editor).")}})}validate(Oe){return!Oe||typeof Oe!="object"?this.defaultValue:{enabled:S(Oe.enabled,this.defaultValue.enabled)}}}const Di="Consolas, 'Courier New', monospace",Ui="Menlo, Monaco, 'Courier New', monospace",Ei="'Droid Sans Mono', 'monospace', monospace",Ae={fontFamily:u.dz?Ui:u.IJ?Ei:Di,fontWeight:"normal",fontSize:u.dz?12:14,lineHeight:0,letterSpacing:0},Ii=[];function Ue(ht){return Ii[ht.id]=ht,ht}const Se={acceptSuggestionOnCommitCharacter:Ue(new E(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:k.NC("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:Ue(new A(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",k.NC("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:k.NC("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:Ue(new te),accessibilityPageSize:Ue(new x(3,"accessibilityPageSize",10,1,1073741824,{description:k.NC("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.")})),ariaLabel:Ue(new T(4,"ariaLabel",k.NC("editorViewAccessibleLabel","Editor content"))),autoClosingBrackets:Ue(new A(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.NC("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),k.NC("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:k.NC("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingDelete:Ue(new A(6,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",k.NC("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:k.NC("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Ue(new A(7,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",k.NC("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:k.NC("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Ue(new A(8,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.NC("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),k.NC("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:k.NC("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Ue(new U(9,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],X,{enumDescriptions:[k.NC("editor.autoIndent.none","The editor will not insert indentation automatically."),k.NC("editor.autoIndent.keep","The editor will keep the current line's indentation."),k.NC("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),k.NC("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),k.NC("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:k.NC("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Ue(new E(10,"automaticLayout",!1)),autoSurround:Ue(new A(11,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[k.NC("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),k.NC("editor.autoSurround.quotes","Surround with quotes but not brackets."),k.NC("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:k.NC("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Ue(new wt),bracketPairGuides:Ue(new Ut),stickyTabStops:Ue(new E(106,"stickyTabStops",!1,{description:k.NC("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Ue(new E(14,"codeLens",!0,{description:k.NC("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Ue(new T(15,"codeLensFontFamily","",{description:k.NC("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:Ue(new x(16,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:k.NC("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to `0`, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Ue(new E(17,"colorDecorators",!0,{description:k.NC("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),columnSelection:Ue(new E(18,"columnSelection",!1,{description:k.NC("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:Ue(new he),contextmenu:Ue(new E(20,"contextmenu",!0)),copyWithSyntaxHighlighting:Ue(new E(21,"copyWithSyntaxHighlighting",!0,{description:k.NC("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Ue(new U(22,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],_e,{description:k.NC("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:Ue(new E(23,"cursorSmoothCaretAnimation",!1,{description:k.NC("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Ue(new U(24,"cursorStyle",ge.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],me,{description:k.NC("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:Ue(new x(25,"cursorSurroundingLines",0,0,1073741824,{description:k.NC("cursorSurroundingLines","Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Ue(new A(26,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[k.NC("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),k.NC("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],description:k.NC("cursorSurroundingLinesStyle","Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:Ue(new x(27,"cursorWidth",0,0,1073741824,{markdownDescription:k.NC("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Ue(new E(28,"disableLayerHinting",!1)),disableMonospaceOptimizations:Ue(new E(29,"disableMonospaceOptimizations",!1)),domReadOnly:Ue(new E(30,"domReadOnly",!1)),dragAndDrop:Ue(new E(31,"dragAndDrop",!0,{description:k.NC("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Ue(new Y),dropIntoEditor:Ue(new ri),experimental:Ue(new ct),extraEditorClassName:Ue(new T(35,"extraEditorClassName","")),fastScrollSensitivity:Ue(new K(36,"fastScrollSensitivity",5,ht=>ht<=0?5:ht,{markdownDescription:k.NC("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:Ue(new de),fixedOverflowWidgets:Ue(new E(38,"fixedOverflowWidgets",!1)),folding:Ue(new E(39,"folding",!0,{description:k.NC("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:Ue(new A(40,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[k.NC("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),k.NC("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:k.NC("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:Ue(new E(41,"foldingHighlight",!0,{description:k.NC("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Ue(new E(42,"foldingImportsByDefault",!1,{description:k.NC("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Ue(new x(43,"foldingMaximumRegions",5e3,10,65e3,{description:k.NC("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:Ue(new E(44,"unfoldOnClickAfterEndOfLine",!1,{description:k.NC("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Ue(new T(45,"fontFamily",Ae.fontFamily,{description:k.NC("fontFamily","Controls the font family.")})),fontInfo:Ue(new J),fontLigatures2:Ue(new oe),fontSize:Ue(new $),fontWeight:Ue(new ue),formatOnPaste:Ue(new E(50,"formatOnPaste",!1,{description:k.NC("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:Ue(new E(51,"formatOnType",!1,{description:k.NC("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Ue(new E(52,"glyphMargin",!0,{description:k.NC("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Ue(new ve),hideCursorInOverviewRuler:Ue(new E(54,"hideCursorInOverviewRuler",!1,{description:k.NC("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:Ue(new xe),inDiffEditor:Ue(new E(56,"inDiffEditor",!1)),letterSpacing:Ue(new K(58,"letterSpacing",Ae.letterSpacing,ht=>K.clamp(ht,-5,20),{description:k.NC("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:Ue(new rt),lineDecorationsWidth:Ue(new d(60,"lineDecorationsWidth",10)),lineHeight:Ue(new $e),lineNumbers:Ue(new Dt),lineNumbersMinChars:Ue(new x(63,"lineNumbersMinChars",5,1,300)),linkedEditing:Ue(new E(64,"linkedEditing",!1,{description:k.NC("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.")})),links:Ue(new E(65,"links",!0,{description:k.NC("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Ue(new A(66,"matchBrackets","always",["always","near","never"],{description:k.NC("matchBrackets","Highlight matching brackets.")})),minimap:Ue(new Ee),mouseStyle:Ue(new A(68,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Ue(new K(69,"mouseWheelScrollSensitivity",1,ht=>ht===0?1:ht,{markdownDescription:k.NC("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Ue(new E(70,"mouseWheelZoom",!1,{markdownDescription:k.NC("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Ue(new E(71,"multiCursorMergeOverlapping",!0,{description:k.NC("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Ue(new U(72,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],Fe,{markdownEnumDescriptions:[k.NC("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),k.NC("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:k.NC({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:Ue(new A(73,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[k.NC("multiCursorPaste.spread","Each cursor pastes a single line of the text."),k.NC("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:k.NC("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),occurrencesHighlight:Ue(new E(74,"occurrencesHighlight",!0,{description:k.NC("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")})),overviewRulerBorder:Ue(new E(75,"overviewRulerBorder",!0,{description:k.NC("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Ue(new x(76,"overviewRulerLanes",3,0,3)),padding:Ue(new je),parameterHints:Ue(new Re),peekWidgetDefaultFocus:Ue(new A(79,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[k.NC("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),k.NC("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:k.NC("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:Ue(new E(80,"definitionLinkOpensInPeek",!1,{description:k.NC("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Ue(new at),quickSuggestionsDelay:Ue(new x(82,"quickSuggestionsDelay",10,0,1073741824,{description:k.NC("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Ue(new E(83,"readOnly",!1)),renameOnType:Ue(new E(84,"renameOnType",!1,{description:k.NC("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:k.NC("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Ue(new E(85,"renderControlCharacters",!0,{description:k.NC("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Ue(new E(86,"renderFinalNewline",!0,{description:k.NC("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:Ue(new A(87,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",k.NC("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:k.NC("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Ue(new E(88,"renderLineHighlightOnlyWhenFocus",!1,{description:k.NC("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Ue(new A(89,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Ue(new A(90,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",k.NC("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),k.NC("renderWhitespace.selection","Render whitespace characters only on selected text."),k.NC("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:k.NC("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Ue(new x(91,"revealHorizontalRightPadding",30,0,1e3)),roundedSelection:Ue(new E(92,"roundedSelection",!0,{description:k.NC("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:Ue(new Nt),scrollbar:Ue(new dt),scrollBeyondLastColumn:Ue(new x(95,"scrollBeyondLastColumn",4,0,1073741824,{description:k.NC("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Ue(new E(96,"scrollBeyondLastLine",!0,{description:k.NC("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Ue(new E(97,"scrollPredominantAxis",!0,{description:k.NC("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:Ue(new E(98,"selectionClipboard",!0,{description:k.NC("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:u.IJ})),selectionHighlight:Ue(new E(99,"selectionHighlight",!0,{description:k.NC("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Ue(new E(100,"selectOnLineNumbers",!0)),showFoldingControls:Ue(new A(101,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[k.NC("showFoldingControls.always","Always show the folding controls."),k.NC("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),k.NC("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:k.NC("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:Ue(new E(102,"showUnused",!0,{description:k.NC("showUnused","Controls fading out of unused code.")})),showDeprecated:Ue(new E(128,"showDeprecated",!0,{description:k.NC("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:Ue(new Ve),snippetSuggestions:Ue(new A(103,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[k.NC("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),k.NC("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),k.NC("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),k.NC("snippetSuggestions.none","Do not show snippet suggestions.")],description:k.NC("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Ue(new Ye),smoothScrolling:Ue(new E(105,"smoothScrolling",!1,{description:k.NC("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Ue(new x(107,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Ue(new vi),inlineSuggest:Ue(new _t),suggestFontSize:Ue(new x(109,"suggestFontSize",0,0,1e3,{markdownDescription:k.NC("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Ue(new x(110,"suggestLineHeight",0,0,1e3,{markdownDescription:k.NC("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:Ue(new E(111,"suggestOnTriggerCharacters",!0,{description:k.NC("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Ue(new A(112,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[k.NC("suggestSelection.first","Always select the first suggestion."),k.NC("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),k.NC("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:k.NC("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Ue(new A(113,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[k.NC("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),k.NC("tabCompletion.off","Disable tab completions."),k.NC("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:k.NC("tabCompletion","Enables tab completions.")})),tabIndex:Ue(new x(114,"tabIndex",0,-1,1073741824)),unicodeHighlight:Ue(new Kt),unusualLineTerminators:Ue(new A(116,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[k.NC("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),k.NC("unusualLineTerminators.off","Unusual line terminators are ignored."),k.NC("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:k.NC("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:Ue(new E(117,"useShadowDOM",!0)),useTabStops:Ue(new E(118,"useTabStops",!0,{description:k.NC("useTabStops","Inserting and deleting whitespace follows tab stops.")})),wordSeparators:Ue(new T(119,"wordSeparators",ie.vu,{description:k.NC("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Ue(new A(120,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[k.NC("wordWrap.off","Lines will never wrap."),k.NC("wordWrap.on","Lines will wrap at the viewport width."),k.NC({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),k.NC({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:k.NC({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:Ue(new T(121,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:Ue(new T(122,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:Ue(new x(123,"wordWrapColumn",80,1,1073741824,{markdownDescription:k.NC({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:Ue(new A(124,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Ue(new A(125,"wordWrapOverride2","inherit",["off","on","inherit"])),wrappingIndent:Ue(new U(126,"wrappingIndent",1,"same",["none","same","indent","deepIndent"],Pt,{enumDescriptions:[k.NC("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),k.NC("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),k.NC("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),k.NC("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:k.NC("wrappingIndent","Controls the indentation of wrapped lines.")})),wrappingStrategy:Ue(new A(127,"wrappingStrategy","simple",["simple","advanced"],{enumDescriptions:[k.NC("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."),k.NC("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.")],description:k.NC("wrappingStrategy","Controls the algorithm that computes wrapping points.")})),editorClassName:Ue(new re),pixelRatio:Ue(new tt),tabFocusMode:Ue(new Ct),layoutInfo:Ue(new O),wrappingInfo:Ue(new ti)}},44314:(At,Be,m)=>{m.d(Be,{C:()=>u});var k=m(86640);const u=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new k.Q5,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(ie){ie=Math.min(Math.max(-5,ie),20),this._zoomLevel!==ie&&(this._zoomLevel=ie,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}},53038:(At,Be,m)=>{m.d(Be,{E4:()=>ne,pR:()=>q});var k=m(75874),u=m(11876),ie=m(44314);const Q=k.dz?1.5:1.35,N=8;class ne{constructor(y){this._bareFontInfoBrand=void 0,this.pixelRatio=y.pixelRatio,this.fontFamily=String(y.fontFamily),this.fontWeight=String(y.fontWeight),this.fontSize=y.fontSize,this.fontFeatureSettings=y.fontFeatureSettings,this.lineHeight=y.lineHeight|0,this.letterSpacing=y.letterSpacing}static createFromValidatedSettings(y,C,L){const b=y.get(45),d=y.get(49),S=y.get(48),E=y.get(47),D=y.get(61),x=y.get(58);return ne._create(b,d,S,E,D,x,C,L)}static _create(y,C,L,b,d,S,E,D){d===0?d=Q*L:d<N&&(d=d*L),d=Math.round(d),d<N&&(d=N);const x=1+(D?0:ie.C.getZoomLevel()*.1);return L*=x,d*=x,new ne({pixelRatio:E,fontFamily:y,fontWeight:C,fontSize:L,fontFeatureSettings:b,lineHeight:d,letterSpacing:S})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const y=u.hL.fontFamily,C=ne._wrapInQuotes(this.fontFamily);return y&&this.fontFamily!==y?`${C}, ${y}`:C}static _wrapInQuotes(y){return/[,"']/.test(y)?y:/[+ ]/.test(y)?`"${y}"`:y}}const Z=1;class q extends ne{constructor(y,C){super(y),this._editorStylingBrand=void 0,this.version=Z,this.isTrusted=C,this.isMonospace=y.isMonospace,this.typicalHalfwidthCharacterWidth=y.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=y.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=y.canUseHalfwidthRightwardsArrow,this.spaceWidth=y.spaceWidth,this.middotWidth=y.middotWidth,this.wsmiddotWidth=y.wsmiddotWidth,this.maxDigitWidth=y.maxDigitWidth}equals(y){return this.fontFamily===y.fontFamily&&this.fontWeight===y.fontWeight&&this.fontSize===y.fontSize&&this.fontFeatureSettings===y.fontFeatureSettings&&this.lineHeight===y.lineHeight&&this.letterSpacing===y.letterSpacing&&this.typicalHalfwidthCharacterWidth===y.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===y.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===y.canUseHalfwidthRightwardsArrow&&this.spaceWidth===y.spaceWidth&&this.middotWidth===y.middotWidth&&this.wsmiddotWidth===y.wsmiddotWidth&&this.maxDigitWidth===y.maxDigitWidth}}},18457:(At,Be,m)=>{m.d(Be,{N:()=>u,q:()=>ie});var k=m(65423);class u{constructor(N){const ne=(0,k.K)(N);this._defaultValue=ne,this._asciiMap=u._createAsciiMap(ne),this._map=new Map}static _createAsciiMap(N){const ne=new Uint8Array(256);for(let Z=0;Z<256;Z++)ne[Z]=N;return ne}set(N,ne){const Z=(0,k.K)(ne);N>=0&&N<256?this._asciiMap[N]=Z:this._map.set(N,Z)}get(N){return N>=0&&N<256?this._asciiMap[N]:this._map.get(N)||this._defaultValue}}class ie{constructor(){this._actual=new u(0)}add(N){this._actual.set(N,1)}has(N){return this._actual.get(N)===1}}},76502:(At,Be,m)=>{m.d(Be,{i:()=>u});var k=m(34504);class u{static _nextVisibleColumn(Q,N,ne){return Q===9?u.nextRenderTabStop(N,ne):k.K7(Q)||k.C8(Q)?N+2:N+1}static visibleColumnFromColumn(Q,N,ne){const Z=Math.min(N-1,Q.length),q=Q.substring(0,Z),z=new k.W1(q);let y=0;for(;!z.eol();){const C=k.ZH(q,Z,z.offset);z.nextGraphemeLength(),y=this._nextVisibleColumn(C,y,ne)}return y}static columnFromVisibleColumn(Q,N,ne){if(N<=0)return 1;const Z=Q.length,q=new k.W1(Q);let z=0,y=1;for(;!q.eol();){const C=k.ZH(Q,Z,q.offset);q.nextGraphemeLength();const L=this._nextVisibleColumn(C,z,ne),b=q.offset+1;if(L>=N){const d=N-z;return L-N<d?b:y}z=L,y=b}return Z+1}static nextRenderTabStop(Q,N){return Q+N-Q%N}static nextIndentTabStop(Q,N){return Q+N-Q%N}static prevRenderTabStop(Q,N){return Math.max(0,Q-1-(Q-1)%N)}static prevIndentTabStop(Q,N){return Math.max(0,Q-1-(Q-1)%N)}}},86520:(At,Be,m)=>{m.d(Be,{h:()=>u});var k=m(62685);class u{static insert(Q,N){return{range:new k.e(Q.lineNumber,Q.column,Q.lineNumber,Q.column),text:N,forceMoveMarkers:!0}}static delete(Q){return{range:Q,text:null}}static replace(Q,N){return{range:Q,text:N}}static replaceMove(Q,N){return{range:Q,text:N,forceMoveMarkers:!0}}}},1107:(At,Be,m)=>{m.d(Be,{CE:()=>O,DD:()=>K,DS:()=>je,Dl:()=>U,HV:()=>dt,IO:()=>Y,Jn:()=>tt,Kh:()=>ne,L7:()=>ke,Mm:()=>Z,N5:()=>re,Qb:()=>Dt,Re:()=>$,TC:()=>A,To:()=>Nt,UP:()=>rt,Vs:()=>xe,YF:()=>at,Ym:()=>E,eS:()=>ue,e_:()=>te,f9:()=>mt,fY:()=>b,hw:()=>D,kp:()=>_e,lK:()=>J,lS:()=>Re,m$:()=>Fe,m1:()=>Ve,m3:()=>Et,m9:()=>oe,n0:()=>L,oV:()=>Ee,r0:()=>ct,tR:()=>S,ts:()=>$e,x3:()=>me,zJ:()=>ve,zk:()=>T,zu:()=>ge,zw:()=>X});var k=m(88631),u=m(80733),ie=m(40611),Q=m(26194),N=m(77421);const ne=(0,ie.P6G)("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},k.NC("lineHighlight","Background color for the highlight of line at the cursor position.")),Z=(0,ie.P6G)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:ie.lRK},k.NC("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),q=(0,ie.P6G)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},k.NC("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),z=(0,ie.P6G)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:ie.xL1,hcLight:ie.xL1},k.NC("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),y=(0,ie.P6G)("editor.symbolHighlightBackground",{dark:ie.MUv,light:ie.MUv,hcDark:null,hcLight:null},k.NC("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),C=(0,ie.P6G)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:ie.xL1,hcLight:ie.xL1},k.NC("symbolHighlightBorder","Background color of the border around highlighted symbols."),!0),L=(0,ie.P6G)("editorCursor.foreground",{dark:"#AEAFAD",light:u.Il.black,hcDark:u.Il.white,hcLight:"#0F4A85"},k.NC("caret","Color of the editor cursor.")),b=(0,ie.P6G)("editorCursor.background",null,k.NC("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),d=(0,ie.P6G)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},k.NC("editorWhitespaces","Color of whitespace characters in the editor.")),S=(0,ie.P6G)("editorIndentGuide.background",{dark:d,light:d,hcDark:d,hcLight:d},k.NC("editorIndentGuides","Color of the editor indentation guides.")),E=(0,ie.P6G)("editorIndentGuide.activeBackground",{dark:d,light:d,hcDark:d,hcLight:d},k.NC("editorActiveIndentGuide","Color of the active editor indentation guides.")),D=(0,ie.P6G)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:u.Il.white,hcLight:"#292929"},k.NC("editorLineNumbers","Color of editor line numbers.")),x=(0,ie.P6G)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:ie.xL1,hcLight:ie.xL1},k.NC("editorActiveLineNumber","Color of editor active line number"),!1,k.NC("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),K=(0,ie.P6G)("editorLineNumber.activeForeground",{dark:x,light:x,hcDark:x,hcLight:x},k.NC("editorActiveLineNumber","Color of editor active line number")),T=(0,ie.P6G)("editorRuler.foreground",{dark:"#5A5A5A",light:u.Il.lightgrey,hcDark:u.Il.white,hcLight:"#292929"},k.NC("editorRuler","Color of the editor rulers.")),W=(0,ie.P6G)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},k.NC("editorCodeLensForeground","Foreground color of editor CodeLens")),A=(0,ie.P6G)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},k.NC("editorBracketMatchBackground","Background color behind matching brackets")),U=(0,ie.P6G)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:ie.lRK,hcLight:ie.lRK},k.NC("editorBracketMatchBorder","Color for matching brackets boxes")),X=(0,ie.P6G)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},k.NC("editorOverviewRulerBorder","Color of the overview ruler border.")),te=(0,ie.P6G)("editorOverviewRuler.background",null,k.NC("editorOverviewRulerBackground","Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.")),he=(0,ie.P6G)("editorGutter.background",{dark:ie.cvW,light:ie.cvW,hcDark:ie.cvW,hcLight:ie.cvW},k.NC("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),_e=(0,ie.P6G)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:u.Il.fromHex("#fff").transparent(.8),hcLight:ie.lRK},k.NC("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),ge=(0,ie.P6G)("editorUnnecessaryCode.opacity",{dark:u.Il.fromHex("#000a"),light:u.Il.fromHex("#0007"),hcDark:null,hcLight:null},k.NC("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.`)),me=(0,ie.P6G)("editorGhostText.border",{dark:null,light:null,hcDark:u.Il.fromHex("#fff").transparent(.8),hcLight:u.Il.fromHex("#292929").transparent(.8)},k.NC("editorGhostTextBorder","Border color of ghost text in the editor.")),re=(0,ie.P6G)("editorGhostText.foreground",{dark:u.Il.fromHex("#ffffff56"),light:u.Il.fromHex("#0007"),hcDark:null,hcLight:null},k.NC("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),Y=(0,ie.P6G)("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},k.NC("editorGhostTextBackground","Background color of the ghost text in the editor.")),de=new u.Il(new u.VS(0,122,204,.6)),oe=(0,ie.P6G)("editorOverviewRuler.rangeHighlightForeground",{dark:de,light:de,hcDark:de,hcLight:de},k.NC("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),J=(0,ie.P6G)("editorOverviewRuler.errorForeground",{dark:new u.Il(new u.VS(255,18,18,.7)),light:new u.Il(new u.VS(255,18,18,.7)),hcDark:new u.Il(new u.VS(255,50,50,1)),hcLight:"#B5200D"},k.NC("overviewRuleError","Overview ruler marker color for errors.")),$=(0,ie.P6G)("editorOverviewRuler.warningForeground",{dark:ie.uoC,light:ie.uoC,hcDark:ie.pW3,hcLight:ie.pW3},k.NC("overviewRuleWarning","Overview ruler marker color for warnings.")),ue=(0,ie.P6G)("editorOverviewRuler.infoForeground",{dark:ie.c63,light:ie.c63,hcDark:ie.T83,hcLight:ie.T83},k.NC("overviewRuleInfo","Overview ruler marker color for infos.")),ve=(0,ie.P6G)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},k.NC("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),xe=(0,ie.P6G)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},k.NC("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),O=(0,ie.P6G)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},k.NC("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),rt=(0,ie.P6G)("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),ct=(0,ie.P6G)("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),Ve=(0,ie.P6G)("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),$e=(0,ie.P6G)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new u.Il(new u.VS(255,18,18,.8)),light:new u.Il(new u.VS(255,18,18,.8)),hcDark:new u.Il(new u.VS(255,50,50,1)),hcLight:""},k.NC("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),Ee=(0,ie.P6G)("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Fe=(0,ie.P6G)("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),je=(0,ie.P6G)("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Re=(0,ie.P6G)("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),tt=(0,ie.P6G)("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),at=(0,ie.P6G)("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Dt=(0,ie.P6G)("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Et=(0,ie.P6G)("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Nt=(0,ie.P6G)("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),ke=(0,ie.P6G)("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),dt=(0,ie.P6G)("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),mt=(0,ie.P6G)("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},k.NC("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),Wt=(0,ie.P6G)("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hcDark:"#ff0000",hcLight:""},k.NC("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),Kt=(0,ie.P6G)("editorUnicodeHighlight.background",{dark:"#bd9b0326",light:"#cea33d14",hcDark:"#00000000",hcLight:""},k.NC("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,Q.Ic)((_t,wt)=>{const Ut=_t.getColor(ie.cvW);Ut&&wt.addRule(`.monaco-editor, .monaco-editor-background { background-color: ${Ut}; }`);const ni=_t.getColor(ne),vi=ni&&!ni.isTransparent()?ni:Ut;vi&&wt.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${vi}; }`);const Ye=_t.getColor(ie.NOs);Ye&&wt.addRule(`.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${Ye}; }`);const Ct=_t.getColor(he);Ct&&wt.addRule(`.monaco-editor .margin { background-color: ${Ct}; }`);const Pt=_t.getColor(q);Pt&&wt.addRule(`.monaco-editor .rangeHighlight { background-color: ${Pt}; }`);const ti=_t.getColor(z);ti&&wt.addRule(`.monaco-editor .rangeHighlight { border: 1px ${(0,N.c3)(_t.type)?"dotted":"solid"} ${ti}; }`);const ri=_t.getColor(y);ri&&wt.addRule(`.monaco-editor .symbolHighlight { background-color: ${ri}; }`);const Di=_t.getColor(C);Di&&wt.addRule(`.monaco-editor .symbolHighlight { border: 1px ${(0,N.c3)(_t.type)?"dotted":"solid"} ${Di}; }`);const Ui=_t.getColor(d);Ui&&(wt.addRule(`.monaco-editor .mtkw { color: ${Ui} !important; }`),wt.addRule(`.monaco-editor .mtkz { color: ${Ui} !important; }`))})},52512:(At,Be,m)=>{m.d(Be,{Q:()=>k});function k(u){let ie=0,Q=0,N=0,ne=0;for(let Z=0,q=u.length;Z<q;Z++){const z=u.charCodeAt(Z);z===13?(ie===0&&(Q=Z),ie++,Z+1<q&&u.charCodeAt(Z+1)===10?(ne|=2,Z++):ne|=3,N=Z+1):z===10&&(ne|=1,ie===0&&(Q=Z),ie++,N=Z+1)}return ie===0&&(Q=u.length),[ie,Q,u.length-N,ne]}},39767:(At,Be,m)=>{m.d(Be,{x:()=>Q});var k=m(34504),u=m(76502);function ie(N,ne,Z){let q=0;for(let y=0;y<N.length;y++)N.charAt(y)===" "?q=u.i.nextIndentTabStop(q,ne):q++;let z="";if(!Z){const y=Math.floor(q/ne);q=q%ne;for(let C=0;C<y;C++)z+=" "}for(let y=0;y<q;y++)z+=" ";return z}function Q(N,ne,Z){let q=k.LC(N);return q===-1&&(q=N.length),ie(N.substring(0,q),ne,Z)+N.substring(q)}},8689:(At,Be,m)=>{m.d(Be,{L:()=>k});class k{constructor(ie,Q){this.lineNumber=ie,this.column=Q}with(ie=this.lineNumber,Q=this.column){return ie===this.lineNumber&&Q===this.column?this:new k(ie,Q)}delta(ie=0,Q=0){return this.with(this.lineNumber+ie,this.column+Q)}equals(ie){return k.equals(this,ie)}static equals(ie,Q){return!ie&&!Q?!0:!!ie&&!!Q&&ie.lineNumber===Q.lineNumber&&ie.column===Q.column}isBefore(ie){return k.isBefore(this,ie)}static isBefore(ie,Q){return ie.lineNumber<Q.lineNumber?!0:Q.lineNumber<ie.lineNumber?!1:ie.column<Q.column}isBeforeOrEqual(ie){return k.isBeforeOrEqual(this,ie)}static isBeforeOrEqual(ie,Q){return ie.lineNumber<Q.lineNumber?!0:Q.lineNumber<ie.lineNumber?!1:ie.column<=Q.column}static compare(ie,Q){const N=ie.lineNumber|0,ne=Q.lineNumber|0;if(N===ne){const Z=ie.column|0,q=Q.column|0;return Z-q}return N-ne}clone(){return new k(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(ie){return new k(ie.lineNumber,ie.column)}static isIPosition(ie){return ie&&typeof ie.lineNumber=="number"&&typeof ie.column=="number"}}},62685:(At,Be,m)=>{m.d(Be,{e:()=>u});var k=m(8689);class u{constructor(Q,N,ne,Z){Q>ne||Q===ne&&N>Z?(this.startLineNumber=ne,this.startColumn=Z,this.endLineNumber=Q,this.endColumn=N):(this.startLineNumber=Q,this.startColumn=N,this.endLineNumber=ne,this.endColumn=Z)}isEmpty(){return u.isEmpty(this)}static isEmpty(Q){return Q.startLineNumber===Q.endLineNumber&&Q.startColumn===Q.endColumn}containsPosition(Q){return u.containsPosition(this,Q)}static containsPosition(Q,N){return!(N.lineNumber<Q.startLineNumber||N.lineNumber>Q.endLineNumber||N.lineNumber===Q.startLineNumber&&N.column<Q.startColumn||N.lineNumber===Q.endLineNumber&&N.column>Q.endColumn)}static strictContainsPosition(Q,N){return!(N.lineNumber<Q.startLineNumber||N.lineNumber>Q.endLineNumber||N.lineNumber===Q.startLineNumber&&N.column<=Q.startColumn||N.lineNumber===Q.endLineNumber&&N.column>=Q.endColumn)}containsRange(Q){return u.containsRange(this,Q)}static containsRange(Q,N){return!(N.startLineNumber<Q.startLineNumber||N.endLineNumber<Q.startLineNumber||N.startLineNumber>Q.endLineNumber||N.endLineNumber>Q.endLineNumber||N.startLineNumber===Q.startLineNumber&&N.startColumn<Q.startColumn||N.endLineNumber===Q.endLineNumber&&N.endColumn>Q.endColumn)}strictContainsRange(Q){return u.strictContainsRange(this,Q)}static strictContainsRange(Q,N){return!(N.startLineNumber<Q.startLineNumber||N.endLineNumber<Q.startLineNumber||N.startLineNumber>Q.endLineNumber||N.endLineNumber>Q.endLineNumber||N.startLineNumber===Q.startLineNumber&&N.startColumn<=Q.startColumn||N.endLineNumber===Q.endLineNumber&&N.endColumn>=Q.endColumn)}plusRange(Q){return u.plusRange(this,Q)}static plusRange(Q,N){let ne,Z,q,z;return N.startLineNumber<Q.startLineNumber?(ne=N.startLineNumber,Z=N.startColumn):N.startLineNumber===Q.startLineNumber?(ne=N.startLineNumber,Z=Math.min(N.startColumn,Q.startColumn)):(ne=Q.startLineNumber,Z=Q.startColumn),N.endLineNumber>Q.endLineNumber?(q=N.endLineNumber,z=N.endColumn):N.endLineNumber===Q.endLineNumber?(q=N.endLineNumber,z=Math.max(N.endColumn,Q.endColumn)):(q=Q.endLineNumber,z=Q.endColumn),new u(ne,Z,q,z)}intersectRanges(Q){return u.intersectRanges(this,Q)}static intersectRanges(Q,N){let ne=Q.startLineNumber,Z=Q.startColumn,q=Q.endLineNumber,z=Q.endColumn;const y=N.startLineNumber,C=N.startColumn,L=N.endLineNumber,b=N.endColumn;return ne<y?(ne=y,Z=C):ne===y&&(Z=Math.max(Z,C)),q>L?(q=L,z=b):q===L&&(z=Math.min(z,b)),ne>q||ne===q&&Z>z?null:new u(ne,Z,q,z)}equalsRange(Q){return u.equalsRange(this,Q)}static equalsRange(Q,N){return!!Q&&!!N&&Q.startLineNumber===N.startLineNumber&&Q.startColumn===N.startColumn&&Q.endLineNumber===N.endLineNumber&&Q.endColumn===N.endColumn}getEndPosition(){return u.getEndPosition(this)}static getEndPosition(Q){return new k.L(Q.endLineNumber,Q.endColumn)}getStartPosition(){return u.getStartPosition(this)}static getStartPosition(Q){return new k.L(Q.startLineNumber,Q.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(Q,N){return new u(this.startLineNumber,this.startColumn,Q,N)}setStartPosition(Q,N){return new u(Q,N,this.endLineNumber,this.endColumn)}collapseToStart(){return u.collapseToStart(this)}static collapseToStart(Q){return new u(Q.startLineNumber,Q.startColumn,Q.startLineNumber,Q.startColumn)}static fromPositions(Q,N=Q){return new u(Q.lineNumber,Q.column,N.lineNumber,N.column)}static lift(Q){return Q?new u(Q.startLineNumber,Q.startColumn,Q.endLineNumber,Q.endColumn):null}static isIRange(Q){return Q&&typeof Q.startLineNumber=="number"&&typeof Q.startColumn=="number"&&typeof Q.endLineNumber=="number"&&typeof Q.endColumn=="number"}static areIntersectingOrTouching(Q,N){return!(Q.endLineNumber<N.startLineNumber||Q.endLineNumber===N.startLineNumber&&Q.endColumn<N.startColumn||N.endLineNumber<Q.startLineNumber||N.endLineNumber===Q.startLineNumber&&N.endColumn<Q.startColumn)}static areIntersecting(Q,N){return!(Q.endLineNumber<N.startLineNumber||Q.endLineNumber===N.startLineNumber&&Q.endColumn<=N.startColumn||N.endLineNumber<Q.startLineNumber||N.endLineNumber===Q.startLineNumber&&N.endColumn<=Q.startColumn)}static compareRangesUsingStarts(Q,N){if(Q&&N){const q=Q.startLineNumber|0,z=N.startLineNumber|0;if(q===z){const y=Q.startColumn|0,C=N.startColumn|0;if(y===C){const L=Q.endLineNumber|0,b=N.endLineNumber|0;if(L===b){const d=Q.endColumn|0,S=N.endColumn|0;return d-S}return L-b}return y-C}return q-z}return(Q?1:0)-(N?1:0)}static compareRangesUsingEnds(Q,N){return Q.endLineNumber===N.endLineNumber?Q.endColumn===N.endColumn?Q.startLineNumber===N.startLineNumber?Q.startColumn-N.startColumn:Q.startLineNumber-N.startLineNumber:Q.endColumn-N.endColumn:Q.endLineNumber-N.endLineNumber}static spansMultipleLines(Q){return Q.endLineNumber>Q.startLineNumber}toJSON(){return this}}},13352:(At,Be,m)=>{m.d(Be,{Y:()=>ie});var k=m(8689),u=m(62685);class ie extends u.e{constructor(N,ne,Z,q){super(N,ne,Z,q),this.selectionStartLineNumber=N,this.selectionStartColumn=ne,this.positionLineNumber=Z,this.positionColumn=q}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(N){return ie.selectionsEqual(this,N)}static selectionsEqual(N,ne){return N.selectionStartLineNumber===ne.selectionStartLineNumber&&N.selectionStartColumn===ne.selectionStartColumn&&N.positionLineNumber===ne.positionLineNumber&&N.positionColumn===ne.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(N,ne){return this.getDirection()===0?new ie(this.startLineNumber,this.startColumn,N,ne):new ie(N,ne,this.startLineNumber,this.startColumn)}getPosition(){return new k.L(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new k.L(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(N,ne){return this.getDirection()===0?new ie(N,ne,this.endLineNumber,this.endColumn):new ie(this.endLineNumber,this.endColumn,N,ne)}static fromPositions(N,ne=N){return new ie(N.lineNumber,N.column,ne.lineNumber,ne.column)}static fromRange(N,ne){return ne===0?new ie(N.startLineNumber,N.startColumn,N.endLineNumber,N.endColumn):new ie(N.endLineNumber,N.endColumn,N.startLineNumber,N.startColumn)}static liftSelection(N){return new ie(N.selectionStartLineNumber,N.selectionStartColumn,N.positionLineNumber,N.positionColumn)}static selectionsArrEqual(N,ne){if(N&&!ne||!N&&ne)return!1;if(!N&&!ne)return!0;if(N.length!==ne.length)return!1;for(let Z=0,q=N.length;Z<q;Z++)if(!this.selectionsEqual(N[Z],ne[Z]))return!1;return!0}static isISelection(N){return N&&typeof N.selectionStartLineNumber=="number"&&typeof N.selectionStartColumn=="number"&&typeof N.positionLineNumber=="number"&&typeof N.positionColumn=="number"}static createWithDirection(N,ne,Z,q,z){return z===0?new ie(N,ne,Z,q):new ie(Z,q,N,ne)}}},96808:(At,Be,m)=>{m.d(Be,{kH:()=>L,l$:()=>C,lZ:()=>y,oe:()=>z});var k=m(34504),u=m(75874),ie=m(41186);let Q;function N(){return Q||(Q=new TextDecoder("UTF-16LE")),Q}let ne;function Z(){return ne||(ne=new TextDecoder("UTF-16BE")),ne}let q;function z(){return q||(q=u.r()?N():Z()),q}const y=typeof TextDecoder<"u";let C,L;y?(C=D=>new S(D),L=b):(C=D=>new E,L=d);function b(D,x,K){const T=new Uint16Array(D.buffer,x,K);return K>0&&(T[0]===65279||T[0]===65534)?d(D,x,K):N().decode(T)}function d(D,x,K){const T=[];let W=0;for(let A=0;A<K;A++){const U=ie.mP(D,x);x+=2,T[W++]=String.fromCharCode(U)}return T.join("")}class S{constructor(x){this._capacity=x|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const x=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return z().decode(x)}_flushBuffer(){const x=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[x]:this._completedStrings[this._completedStrings.length]=x}write1(x){const K=this._capacity-this._bufferLength;K<=1&&(K===0||k.ZG(x))&&this._flushBuffer(),this._buffer[this._bufferLength++]=x}appendASCII(x){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=x}appendASCIIString(x){const K=x.length;if(this._bufferLength+K>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=x;return}for(let T=0;T<K;T++)this._buffer[this._bufferLength++]=x.charCodeAt(T)}}class E{constructor(){this._pieces=[],this._piecesLen=0}reset(){this._pieces=[],this._piecesLen=0}build(){return this._pieces.join("")}write1(x){this._pieces[this._piecesLen++]=String.fromCharCode(x)}appendASCII(x){this._pieces[this._piecesLen++]=String.fromCharCode(x)}appendASCIIString(x){this._pieces[this._piecesLen++]=x}}},31939:(At,Be,m)=>{m.d(Be,{b:()=>N,q:()=>Q});var k=m(41186),u=m(96808);function ie(Z){return Z.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Q{constructor(q,z,y,C){this.oldPosition=q,this.oldText=z,this.newPosition=y,this.newText=C}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}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${ie(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${ie(this.oldText)}")`:`(replace@${this.oldPosition} "${ie(this.oldText)}" with "${ie(this.newText)}")`}static _writeStringSize(q){return 4+2*q.length}static _writeString(q,z,y){const C=z.length;k.T4(q,C,y),y+=4;for(let L=0;L<C;L++)k.oq(q,z.charCodeAt(L),y),y+=2;return y}static _readString(q,z){const y=k.Ag(q,z);return z+=4,(0,u.kH)(q,z,y)}writeSize(){return 4+4+Q._writeStringSize(this.oldText)+Q._writeStringSize(this.newText)}write(q,z){return k.T4(q,this.oldPosition,z),z+=4,k.T4(q,this.newPosition,z),z+=4,z=Q._writeString(q,this.oldText,z),z=Q._writeString(q,this.newText,z),z}static read(q,z,y){const C=k.Ag(q,z);z+=4;const L=k.Ag(q,z);z+=4;const b=Q._readString(q,z);z+=Q._writeStringSize(b);const d=Q._readString(q,z);return z+=Q._writeStringSize(d),y.push(new Q(C,b,L,d)),z}}function N(Z,q){return Z===null||Z.length===0?q:new ne(Z,q).compress()}class ne{constructor(q,z){this._prevEdits=q,this._currEdits=z,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let q=0,z=0,y=this._getPrev(q),C=this._getCurr(z);for(;q<this._prevLen||z<this._currLen;){if(y===null){this._acceptCurr(C),C=this._getCurr(++z);continue}if(C===null){this._acceptPrev(y),y=this._getPrev(++q);continue}if(C.oldEnd<=y.newPosition){this._acceptCurr(C),C=this._getCurr(++z);continue}if(y.newEnd<=C.oldPosition){this._acceptPrev(y),y=this._getPrev(++q);continue}if(C.oldPosition<y.newPosition){const[E,D]=ne._splitCurr(C,y.newPosition-C.oldPosition);this._acceptCurr(E),C=D;continue}if(y.newPosition<C.oldPosition){const[E,D]=ne._splitPrev(y,C.oldPosition-y.newPosition);this._acceptPrev(E),y=D;continue}let d,S;if(C.oldEnd===y.newEnd)d=y,S=C,y=this._getPrev(++q),C=this._getCurr(++z);else if(C.oldEnd<y.newEnd){const[E,D]=ne._splitPrev(y,C.oldLength);d=E,S=C,y=D,C=this._getCurr(++z)}else{const[E,D]=ne._splitCurr(C,y.newLength);d=y,S=E,y=this._getPrev(++q),C=D}this._result[this._resultLen++]=new Q(d.oldPosition,d.oldText,S.newPosition,S.newText),this._prevDeltaOffset+=d.newLength-d.oldLength,this._currDeltaOffset+=S.newLength-S.oldLength}const L=ne._merge(this._result);return ne._removeNoOps(L)}_acceptCurr(q){this._result[this._resultLen++]=ne._rebaseCurr(this._prevDeltaOffset,q),this._currDeltaOffset+=q.newLength-q.oldLength}_getCurr(q){return q<this._currLen?this._currEdits[q]:null}_acceptPrev(q){this._result[this._resultLen++]=ne._rebasePrev(this._currDeltaOffset,q),this._prevDeltaOffset+=q.newLength-q.oldLength}_getPrev(q){return q<this._prevLen?this._prevEdits[q]:null}static _rebaseCurr(q,z){return new Q(z.oldPosition-q,z.oldText,z.newPosition,z.newText)}static _rebasePrev(q,z){return new Q(z.oldPosition,z.oldText,z.newPosition+q,z.newText)}static _splitPrev(q,z){const y=q.newText.substr(0,z),C=q.newText.substr(z);return[new Q(q.oldPosition,q.oldText,q.newPosition,y),new Q(q.oldEnd,"",q.newPosition+z,C)]}static _splitCurr(q,z){const y=q.oldText.substr(0,z),C=q.oldText.substr(z);return[new Q(q.oldPosition,y,q.newPosition,q.newText),new Q(q.oldPosition+z,C,q.newEnd,"")]}static _merge(q){if(q.length===0)return q;const z=[];let y=0,C=q[0];for(let L=1;L<q.length;L++){const b=q[L];C.oldEnd===b.oldPosition?C=new Q(C.oldPosition,C.oldText+b.oldText,C.newPosition,C.newText+b.newText):(z[y++]=C,C=b)}return z[y++]=C,z}static _removeNoOps(q){if(q.length===0)return q;const z=[];let y=0;for(let C=0;C<q.length;C++){const L=q[C];L.oldText!==L.newText&&(z[y++]=L)}return z}}},25318:(At,Be,m)=>{m.d(Be,{D:()=>k});const k={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},90120:(At,Be,m)=>{m.d(Be,{u:()=>Q});var k=m(18457);class u extends k.N{constructor(ne){super(0);for(let Z=0,q=ne.length;Z<q;Z++)this.set(ne.charCodeAt(Z),2);this.set(32,1),this.set(9,1)}}function ie(N){const ne={};return Z=>(ne.hasOwnProperty(Z)||(ne[Z]=N(Z)),ne[Z])}const Q=ie(N=>new u(N))},44005:(At,Be,m)=>{m.d(Be,{Af:()=>N,eq:()=>ne,t2:()=>q,vu:()=>ie});var k=m(20459),u=m(48119);const ie="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function Q(y=""){let C="(-?\\d*\\.\\d\\w*)|([^";for(const L of ie)y.indexOf(L)>=0||(C+="\\"+L);return C+="\\s]+)",new RegExp(C,"g")}const N=Q();function ne(y){let C=N;if(y&&y instanceof RegExp)if(y.global)C=y;else{let L="g";y.ignoreCase&&(L+="i"),y.multiline&&(L+="m"),y.unicode&&(L+="u"),C=new RegExp(y.source,L)}return C.lastIndex=0,C}const Z=new u.S;Z.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function q(y,C,L,b,d){if(d||(d=k.$.first(Z)),L.length>d.maxLen){let K=y-d.maxLen/2;return K<0?K=0:b+=K,L=L.substring(K,y+d.maxLen/2),q(y,C,L,b,d)}const S=Date.now(),E=y-1-b;let D=-1,x=null;for(let K=1;!(Date.now()-S>=d.timeBudget);K++){const T=E-d.windowSize*K;C.lastIndex=Math.max(0,T);const W=z(C,L,E,D);if(!W&&x||(x=W,T<=0))break;D=T}if(x){const K={word:x[0],startColumn:b+1+x.index,endColumn:b+1+x.index+x[0].length};return C.lastIndex=0,K}return null}function z(y,C,L,b){let d;for(;d=y.exec(C);){const S=d.index||0;if(S<=L&&y.lastIndex>=L)return d;if(b>0&&S>b)return null}return null}},3267:(At,Be,m)=>{m.d(Be,{l:()=>u});var k=m(76502);class u{static whitespaceVisibleColumn(Q,N,ne){const Z=Q.length;let q=0,z=-1,y=-1;for(let C=0;C<Z;C++){if(C===N)return[z,y,q];switch(q%ne===0&&(z=C,y=q),Q.charCodeAt(C)){case 32:q+=1;break;case 9:q=k.i.nextRenderTabStop(q,ne);break;default:return[-1,-1,-1]}}return N===Z?[z,y,q]:[-1,-1,-1]}static atomicPosition(Q,N,ne,Z){const q=Q.length,[z,y,C]=u.whitespaceVisibleColumn(Q,N,ne);if(C===-1)return-1;let L;switch(Z){case 0:L=!0;break;case 1:L=!1;break;case 2:if(C%ne===0)return N;L=C%ne<=ne/2;break}if(L){if(z===-1)return-1;let S=y;for(let E=z;E<q;++E){if(S===y+ne)return z;switch(Q.charCodeAt(E)){case 32:S+=1;break;case 9:S=k.i.nextRenderTabStop(S,ne);break;default:return-1}}return S===y+ne?z:-1}const b=k.i.nextRenderTabStop(C,ne);let d=C;for(let S=N;S<q;S++){if(d===b)return S;switch(Q.charCodeAt(S)){case 32:d+=1;break;case 9:d=k.i.nextRenderTabStop(d,ne);break;default:return-1}}return d===b?q:-1}}},94316:(At,Be,m)=>{m.d(Be,{A:()=>q});var k=m(34504),u=m(58216),ie=m(40376),Q=m(76502),N=m(67450),ne=m(62685),Z=m(8689);class q{static deleteRight(y,C,L,b){const d=[];let S=y!==3;for(let E=0,D=b.length;E<D;E++){const x=b[E];let K=x;if(K.isEmpty()){const T=x.getPosition(),W=N.o.right(C,L,T);K=new ne.e(W.lineNumber,W.column,T.lineNumber,T.column)}if(K.isEmpty()){d[E]=null;continue}K.startLineNumber!==K.endLineNumber&&(S=!0),d[E]=new u.T4(K,"")}return[S,d]}static isAutoClosingPairDelete(y,C,L,b,d,S,E){if(C==="never"&&L==="never"||y==="never")return!1;for(let D=0,x=S.length;D<x;D++){const K=S[D],T=K.getPosition();if(!K.isEmpty())return!1;const W=d.getLineContent(T.lineNumber);if(T.column<2||T.column>=W.length+1)return!1;const A=W.charAt(T.column-2),U=b.get(A);if(!U)return!1;if((0,ie.LN)(A)){if(L==="never")return!1}else if(C==="never")return!1;const X=W.charAt(T.column-1);let te=!1;for(const he of U)he.open===A&&he.close===X&&(te=!0);if(!te)return!1;if(y==="auto"){let he=!1;for(let _e=0,ge=E.length;_e<ge;_e++){const me=E[_e];if(T.lineNumber===me.startLineNumber&&T.column===me.startColumn){he=!0;break}}if(!he)return!1}}return!0}static _runAutoClosingPairDelete(y,C,L){const b=[];for(let d=0,S=L.length;d<S;d++){const E=L[d].getPosition(),D=new ne.e(E.lineNumber,E.column-1,E.lineNumber,E.column+1);b[d]=new u.T4(D,"")}return[!0,b]}static deleteLeft(y,C,L,b,d){if(this.isAutoClosingPairDelete(C.autoClosingDelete,C.autoClosingBrackets,C.autoClosingQuotes,C.autoClosingPairs.autoClosingPairsOpenByEnd,L,b,d))return this._runAutoClosingPairDelete(C,L,b);const S=[];let E=y!==2;for(let D=0,x=b.length;D<x;D++){const K=q.getDeleteRange(b[D],L,C);if(K.isEmpty()){S[D]=null;continue}K.startLineNumber!==K.endLineNumber&&(E=!0),S[D]=new u.T4(K,"")}return[E,S]}static getDeleteRange(y,C,L){if(!y.isEmpty())return y;const b=y.getPosition();if(L.useTabStops&&b.column>1){const d=C.getLineContent(b.lineNumber),S=k.LC(d),E=S===-1?d.length+1:S+1;if(b.column<=E){const D=L.visibleColumnFromColumn(C,b),x=Q.i.prevIndentTabStop(D,L.indentSize),K=L.columnFromVisibleColumn(C,b.lineNumber,x);return new ne.e(b.lineNumber,K,b.lineNumber,b.column)}}return ne.e.fromPositions(q.getPositionAfterDeleteLeft(b,C),b)}static getPositionAfterDeleteLeft(y,C){if(y.column>1){const L=k.oH(y.column-1,C.getLineContent(y.lineNumber));return y.with(void 0,L+1)}else if(y.lineNumber>1){const L=y.lineNumber-1;return new Z.L(L,C.getLineMaxColumn(L))}else return y}static cut(y,C,L){const b=[];let d=null;L.sort((S,E)=>Z.L.compare(S.getStartPosition(),E.getEndPosition()));for(let S=0,E=L.length;S<E;S++){const D=L[S];if(D.isEmpty())if(y.emptySelectionClipboard){const x=D.getPosition();let K,T,W,A;x.lineNumber<C.getLineCount()?(K=x.lineNumber,T=1,W=x.lineNumber+1,A=1):x.lineNumber>1&&d?.endLineNumber!==x.lineNumber?(K=x.lineNumber-1,T=C.getLineMaxColumn(x.lineNumber-1),W=x.lineNumber,A=C.getLineMaxColumn(x.lineNumber)):(K=x.lineNumber,T=1,W=x.lineNumber,A=C.getLineMaxColumn(x.lineNumber));const U=new ne.e(K,T,W,A);d=U,U.isEmpty()?b[S]=null:b[S]=new u.T4(U,"")}else b[S]=null;else b[S]=new u.T4(D,"")}return new ie.Tp(0,b,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}},75361:(At,Be,m)=>{m.d(Be,{N:()=>q,P:()=>Z});var k=m(4626),u=m(40376),ie=m(67450),Q=m(20225),N=m(8689),ne=m(62685);class Z{static addCursorDown(y,C,L){const b=[];let d=0;for(let S=0,E=C.length;S<E;S++){const D=C[S];b[d++]=new u.Vi(D.modelState,D.viewState),L?b[d++]=u.Vi.fromModelState(ie.o.translateDown(y.cursorConfig,y.model,D.modelState)):b[d++]=u.Vi.fromViewState(ie.o.translateDown(y.cursorConfig,y,D.viewState))}return b}static addCursorUp(y,C,L){const b=[];let d=0;for(let S=0,E=C.length;S<E;S++){const D=C[S];b[d++]=new u.Vi(D.modelState,D.viewState),L?b[d++]=u.Vi.fromModelState(ie.o.translateUp(y.cursorConfig,y.model,D.modelState)):b[d++]=u.Vi.fromViewState(ie.o.translateUp(y.cursorConfig,y,D.viewState))}return b}static moveToBeginningOfLine(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d];b[d]=this._moveToLineStart(y,E,L)}return b}static _moveToLineStart(y,C,L){const b=C.viewState.position.column,d=C.modelState.position.column,S=b===d,E=C.viewState.position.lineNumber,D=y.getLineFirstNonWhitespaceColumn(E);return!S&&!(b===D)?this._moveToLineStartByView(y,C,L):this._moveToLineStartByModel(y,C,L)}static _moveToLineStartByView(y,C,L){return u.Vi.fromViewState(ie.o.moveToBeginningOfLine(y.cursorConfig,y,C.viewState,L))}static _moveToLineStartByModel(y,C,L){return u.Vi.fromModelState(ie.o.moveToBeginningOfLine(y.cursorConfig,y.model,C.modelState,L))}static moveToEndOfLine(y,C,L,b){const d=[];for(let S=0,E=C.length;S<E;S++){const D=C[S];d[S]=this._moveToLineEnd(y,D,L,b)}return d}static _moveToLineEnd(y,C,L,b){const d=C.viewState.position,S=y.getLineMaxColumn(d.lineNumber),E=d.column===S,D=C.modelState.position,x=y.model.getLineMaxColumn(D.lineNumber),K=S-d.column===x-D.column;return E||K?this._moveToLineEndByModel(y,C,L,b):this._moveToLineEndByView(y,C,L,b)}static _moveToLineEndByView(y,C,L,b){return u.Vi.fromViewState(ie.o.moveToEndOfLine(y.cursorConfig,y,C.viewState,L,b))}static _moveToLineEndByModel(y,C,L,b){return u.Vi.fromModelState(ie.o.moveToEndOfLine(y.cursorConfig,y.model,C.modelState,L,b))}static expandLineSelection(y,C){const L=[];for(let b=0,d=C.length;b<d;b++){const S=C[b],E=S.modelState.selection.startLineNumber,D=y.model.getLineCount();let x=S.modelState.selection.endLineNumber,K;x===D?K=y.model.getLineMaxColumn(D):(x++,K=1),L[b]=u.Vi.fromModelState(new u.rS(new ne.e(E,1,E,1),0,new N.L(x,K),0))}return L}static moveToBeginningOfBuffer(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d];b[d]=u.Vi.fromModelState(ie.o.moveToBeginningOfBuffer(y.cursorConfig,y.model,E.modelState,L))}return b}static moveToEndOfBuffer(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d];b[d]=u.Vi.fromModelState(ie.o.moveToEndOfBuffer(y.cursorConfig,y.model,E.modelState,L))}return b}static selectAll(y,C){const L=y.model.getLineCount(),b=y.model.getLineMaxColumn(L);return u.Vi.fromModelState(new u.rS(new ne.e(1,1,1,1),0,new N.L(L,b),0))}static line(y,C,L,b,d){const S=y.model.validatePosition(b),E=d?y.coordinatesConverter.validateViewPosition(new N.L(d.lineNumber,d.column),S):y.coordinatesConverter.convertModelPositionToViewPosition(S);if(!L||!C.modelState.hasSelection()){const x=y.model.getLineCount();let K=S.lineNumber+1,T=1;return K>x&&(K=x,T=y.model.getLineMaxColumn(K)),u.Vi.fromModelState(new u.rS(new ne.e(S.lineNumber,1,K,T),0,new N.L(K,T),0))}const D=C.modelState.selectionStart.getStartPosition().lineNumber;if(S.lineNumber<D)return u.Vi.fromViewState(C.viewState.move(C.modelState.hasSelection(),E.lineNumber,1,0));if(S.lineNumber>D){const x=y.getLineCount();let K=E.lineNumber+1,T=1;return K>x&&(K=x,T=y.getLineMaxColumn(K)),u.Vi.fromViewState(C.viewState.move(C.modelState.hasSelection(),K,T,0))}else{const x=C.modelState.selectionStart.getEndPosition();return u.Vi.fromModelState(C.modelState.move(C.modelState.hasSelection(),x.lineNumber,x.column,0))}}static word(y,C,L,b){const d=y.model.validatePosition(b);return u.Vi.fromModelState(Q.w.word(y.cursorConfig,y.model,C.modelState,L,d))}static cancelSelection(y,C){if(!C.modelState.hasSelection())return new u.Vi(C.modelState,C.viewState);const L=C.viewState.position.lineNumber,b=C.viewState.position.column;return u.Vi.fromViewState(new u.rS(new ne.e(L,b,L,b),0,new N.L(L,b),0))}static moveTo(y,C,L,b,d){const S=y.model.validatePosition(b),E=d?y.coordinatesConverter.validateViewPosition(new N.L(d.lineNumber,d.column),S):y.coordinatesConverter.convertModelPositionToViewPosition(S);return u.Vi.fromViewState(C.viewState.move(L,E.lineNumber,E.column,0))}static simpleMove(y,C,L,b,d,S){switch(L){case 0:return S===4?this._moveHalfLineLeft(y,C,b):this._moveLeft(y,C,b,d);case 1:return S===4?this._moveHalfLineRight(y,C,b):this._moveRight(y,C,b,d);case 2:return S===2?this._moveUpByViewLines(y,C,b,d):this._moveUpByModelLines(y,C,b,d);case 3:return S===2?this._moveDownByViewLines(y,C,b,d):this._moveDownByModelLines(y,C,b,d);case 4:return S===2?C.map(E=>u.Vi.fromViewState(ie.o.moveToPrevBlankLine(y.cursorConfig,y,E.viewState,b))):C.map(E=>u.Vi.fromModelState(ie.o.moveToPrevBlankLine(y.cursorConfig,y.model,E.modelState,b)));case 5:return S===2?C.map(E=>u.Vi.fromViewState(ie.o.moveToNextBlankLine(y.cursorConfig,y,E.viewState,b))):C.map(E=>u.Vi.fromModelState(ie.o.moveToNextBlankLine(y.cursorConfig,y.model,E.modelState,b)));case 6:return this._moveToViewMinColumn(y,C,b);case 7:return this._moveToViewFirstNonWhitespaceColumn(y,C,b);case 8:return this._moveToViewCenterColumn(y,C,b);case 9:return this._moveToViewMaxColumn(y,C,b);case 10:return this._moveToViewLastNonWhitespaceColumn(y,C,b);default:return null}}static viewportMove(y,C,L,b,d){const S=y.getCompletelyVisibleViewRange(),E=y.coordinatesConverter.convertViewRangeToModelRange(S);switch(L){case 11:{const D=this._firstLineNumberInRange(y.model,E,d),x=y.model.getLineFirstNonWhitespaceColumn(D);return[this._moveToModelPosition(y,C[0],b,D,x)]}case 13:{const D=this._lastLineNumberInRange(y.model,E,d),x=y.model.getLineFirstNonWhitespaceColumn(D);return[this._moveToModelPosition(y,C[0],b,D,x)]}case 12:{const D=Math.round((E.startLineNumber+E.endLineNumber)/2),x=y.model.getLineFirstNonWhitespaceColumn(D);return[this._moveToModelPosition(y,C[0],b,D,x)]}case 14:{const D=[];for(let x=0,K=C.length;x<K;x++){const T=C[x];D[x]=this.findPositionInViewportIfOutside(y,T,S,b)}return D}default:return null}}static findPositionInViewportIfOutside(y,C,L,b){const d=C.viewState.position.lineNumber;if(L.startLineNumber<=d&&d<=L.endLineNumber-1)return new u.Vi(C.modelState,C.viewState);{let S;d>L.endLineNumber-1?S=L.endLineNumber-1:d<L.startLineNumber?S=L.startLineNumber:S=d;const E=ie.o.vertical(y.cursorConfig,y,d,C.viewState.position.column,C.viewState.leftoverVisibleColumns,S,!1);return u.Vi.fromViewState(C.viewState.move(b,E.lineNumber,E.column,E.leftoverVisibleColumns))}}static _firstLineNumberInRange(y,C,L){let b=C.startLineNumber;return C.startColumn!==y.getLineMinColumn(b)&&b++,Math.min(C.endLineNumber,b+L-1)}static _lastLineNumberInRange(y,C,L){let b=C.startLineNumber;return C.startColumn!==y.getLineMinColumn(b)&&b++,Math.max(b,C.endLineNumber-L+1)}static _moveLeft(y,C,L,b){return C.map(d=>u.Vi.fromViewState(ie.o.moveLeft(y.cursorConfig,y,d.viewState,L,b)))}static _moveHalfLineLeft(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=Math.round(y.getLineContent(D).length/2);b[d]=u.Vi.fromViewState(ie.o.moveLeft(y.cursorConfig,y,E.viewState,L,x))}return b}static _moveRight(y,C,L,b){return C.map(d=>u.Vi.fromViewState(ie.o.moveRight(y.cursorConfig,y,d.viewState,L,b)))}static _moveHalfLineRight(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=Math.round(y.getLineContent(D).length/2);b[d]=u.Vi.fromViewState(ie.o.moveRight(y.cursorConfig,y,E.viewState,L,x))}return b}static _moveDownByViewLines(y,C,L,b){const d=[];for(let S=0,E=C.length;S<E;S++){const D=C[S];d[S]=u.Vi.fromViewState(ie.o.moveDown(y.cursorConfig,y,D.viewState,L,b))}return d}static _moveDownByModelLines(y,C,L,b){const d=[];for(let S=0,E=C.length;S<E;S++){const D=C[S];d[S]=u.Vi.fromModelState(ie.o.moveDown(y.cursorConfig,y.model,D.modelState,L,b))}return d}static _moveUpByViewLines(y,C,L,b){const d=[];for(let S=0,E=C.length;S<E;S++){const D=C[S];d[S]=u.Vi.fromViewState(ie.o.moveUp(y.cursorConfig,y,D.viewState,L,b))}return d}static _moveUpByModelLines(y,C,L,b){const d=[];for(let S=0,E=C.length;S<E;S++){const D=C[S];d[S]=u.Vi.fromModelState(ie.o.moveUp(y.cursorConfig,y.model,D.modelState,L,b))}return d}static _moveToViewPosition(y,C,L,b,d){return u.Vi.fromViewState(C.viewState.move(L,b,d,0))}static _moveToModelPosition(y,C,L,b,d){return u.Vi.fromModelState(C.modelState.move(L,b,d,0))}static _moveToViewMinColumn(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=y.getLineMinColumn(D);b[d]=this._moveToViewPosition(y,E,L,D,x)}return b}static _moveToViewFirstNonWhitespaceColumn(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=y.getLineFirstNonWhitespaceColumn(D);b[d]=this._moveToViewPosition(y,E,L,D,x)}return b}static _moveToViewCenterColumn(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=Math.round((y.getLineMaxColumn(D)+y.getLineMinColumn(D))/2);b[d]=this._moveToViewPosition(y,E,L,D,x)}return b}static _moveToViewMaxColumn(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=y.getLineMaxColumn(D);b[d]=this._moveToViewPosition(y,E,L,D,x)}return b}static _moveToViewLastNonWhitespaceColumn(y,C,L){const b=[];for(let d=0,S=C.length;d<S;d++){const E=C[d],D=E.viewState.position.lineNumber,x=y.getLineLastNonWhitespaceColumn(D);b[d]=this._moveToViewPosition(y,E,L,D,x)}return b}}var q;(function(z){const y=function(L){if(!k.Kn(L))return!1;const b=L;return!(!k.HD(b.to)||!k.o8(b.select)&&!k.jn(b.select)||!k.o8(b.by)&&!k.HD(b.by)||!k.o8(b.value)&&!k.hj(b.value))};z.description={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:`Property-value pairs that can be passed through this argument: * 'to': A mandatory logical position value providing where to move the cursor. \`\`\` 'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine', 'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter' 'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter' 'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside' \`\`\` * 'by': Unit to move. Default is computed based on 'to' value. \`\`\` 'line', 'wrappedLine', 'character', 'halfLine' \`\`\` * 'value': Number of units to move. Default is '1'. * 'select': If 'true' makes the selection. Default is 'false'. `,constraint:y,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},z.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},z.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"};function C(L){if(!L.to)return null;let b;switch(L.to){case z.RawDirection.Left:b=0;break;case z.RawDirection.Right:b=1;break;case z.RawDirection.Up:b=2;break;case z.RawDirection.Down:b=3;break;case z.RawDirection.PrevBlankLine:b=4;break;case z.RawDirection.NextBlankLine:b=5;break;case z.RawDirection.WrappedLineStart:b=6;break;case z.RawDirection.WrappedLineFirstNonWhitespaceCharacter:b=7;break;case z.RawDirection.WrappedLineColumnCenter:b=8;break;case z.RawDirection.WrappedLineEnd:b=9;break;case z.RawDirection.WrappedLineLastNonWhitespaceCharacter:b=10;break;case z.RawDirection.ViewPortTop:b=11;break;case z.RawDirection.ViewPortBottom:b=13;break;case z.RawDirection.ViewPortCenter:b=12;break;case z.RawDirection.ViewPortIfOutside:b=14;break;default:return null}let d=0;switch(L.by){case z.RawUnit.Line:d=1;break;case z.RawUnit.WrappedLine:d=2;break;case z.RawUnit.Character:d=3;break;case z.RawUnit.HalfLine:d=4;break}return{direction:b,unit:d,select:!!L.select,value:L.value||1}}z.parse=C})(q||(q={}))},67450:(At,Be,m)=>{m.d(Be,{o:()=>q});var k=m(40376),u=m(76502),ie=m(8689),Q=m(62685),N=m(34504),ne=m(3267);class Z{constructor(y,C,L){this._cursorPositionBrand=void 0,this.lineNumber=y,this.column=C,this.leftoverVisibleColumns=L}}class q{static leftPosition(y,C){if(C.column>y.getLineMinColumn(C.lineNumber))return C.delta(void 0,-N.HO(y.getLineContent(C.lineNumber),C.column-1));if(C.lineNumber>1){const L=C.lineNumber-1;return new ie.L(L,y.getLineMaxColumn(L))}else return C}static leftPositionAtomicSoftTabs(y,C,L){if(C.column<=y.getLineIndentColumn(C.lineNumber)){const b=y.getLineMinColumn(C.lineNumber),d=y.getLineContent(C.lineNumber),S=ne.l.atomicPosition(d,C.column-1,L,0);if(S!==-1&&S+1>=b)return new ie.L(C.lineNumber,S+1)}return this.leftPosition(y,C)}static left(y,C,L){const b=y.stickyTabStops?q.leftPositionAtomicSoftTabs(C,L,y.tabSize):q.leftPosition(C,L);return new Z(b.lineNumber,b.column,0)}static moveLeft(y,C,L,b,d){let S,E;if(L.hasSelection()&&!b)S=L.selection.startLineNumber,E=L.selection.startColumn;else{const D=L.position.delta(void 0,-(d-1)),x=C.normalizePosition(q.clipPositionColumn(D,C),0),K=q.left(y,C,x);S=K.lineNumber,E=K.column}return L.move(b,S,E,0)}static clipPositionColumn(y,C){return new ie.L(y.lineNumber,q.clipRange(y.column,C.getLineMinColumn(y.lineNumber),C.getLineMaxColumn(y.lineNumber)))}static clipRange(y,C,L){return y<C?C:y>L?L:y}static rightPosition(y,C,L){return L<y.getLineMaxColumn(C)?L=L+N.vH(y.getLineContent(C),L-1):C<y.getLineCount()&&(C=C+1,L=y.getLineMinColumn(C)),new ie.L(C,L)}static rightPositionAtomicSoftTabs(y,C,L,b,d){if(L<y.getLineIndentColumn(C)){const S=y.getLineContent(C),E=ne.l.atomicPosition(S,L-1,b,1);if(E!==-1)return new ie.L(C,E+1)}return this.rightPosition(y,C,L)}static right(y,C,L){const b=y.stickyTabStops?q.rightPositionAtomicSoftTabs(C,L.lineNumber,L.column,y.tabSize,y.indentSize):q.rightPosition(C,L.lineNumber,L.column);return new Z(b.lineNumber,b.column,0)}static moveRight(y,C,L,b,d){let S,E;if(L.hasSelection()&&!b)S=L.selection.endLineNumber,E=L.selection.endColumn;else{const D=L.position.delta(void 0,d-1),x=C.normalizePosition(q.clipPositionColumn(D,C),1),K=q.right(y,C,x);S=K.lineNumber,E=K.column}return L.move(b,S,E,0)}static vertical(y,C,L,b,d,S,E,D){const x=u.i.visibleColumnFromColumn(C.getLineContent(L),b,y.tabSize)+d,K=C.getLineCount(),T=L===1&&b===1,W=L===K&&b===C.getLineMaxColumn(L),A=S<L?T:W;if(L=S,L<1?(L=1,E?b=C.getLineMinColumn(L):b=Math.min(C.getLineMaxColumn(L),b)):L>K?(L=K,E?b=C.getLineMaxColumn(L):b=Math.min(C.getLineMaxColumn(L),b)):b=y.columnFromVisibleColumn(C,L,x),A?d=0:d=x-u.i.visibleColumnFromColumn(C.getLineContent(L),b,y.tabSize),D!==void 0){const U=new ie.L(L,b),X=C.normalizePosition(U,D);d=d+(b-X.column),L=X.lineNumber,b=X.column}return new Z(L,b,d)}static down(y,C,L,b,d,S,E){return this.vertical(y,C,L,b,d,L+S,E,4)}static moveDown(y,C,L,b,d){let S,E;L.hasSelection()&&!b?(S=L.selection.endLineNumber,E=L.selection.endColumn):(S=L.position.lineNumber,E=L.position.column);const D=q.down(y,C,S,E,L.leftoverVisibleColumns,d,!0);return L.move(b,D.lineNumber,D.column,D.leftoverVisibleColumns)}static translateDown(y,C,L){const b=L.selection,d=q.down(y,C,b.selectionStartLineNumber,b.selectionStartColumn,L.selectionStartLeftoverVisibleColumns,1,!1),S=q.down(y,C,b.positionLineNumber,b.positionColumn,L.leftoverVisibleColumns,1,!1);return new k.rS(new Q.e(d.lineNumber,d.column,d.lineNumber,d.column),d.leftoverVisibleColumns,new ie.L(S.lineNumber,S.column),S.leftoverVisibleColumns)}static up(y,C,L,b,d,S,E){return this.vertical(y,C,L,b,d,L-S,E,3)}static moveUp(y,C,L,b,d){let S,E;L.hasSelection()&&!b?(S=L.selection.startLineNumber,E=L.selection.startColumn):(S=L.position.lineNumber,E=L.position.column);const D=q.up(y,C,S,E,L.leftoverVisibleColumns,d,!0);return L.move(b,D.lineNumber,D.column,D.leftoverVisibleColumns)}static translateUp(y,C,L){const b=L.selection,d=q.up(y,C,b.selectionStartLineNumber,b.selectionStartColumn,L.selectionStartLeftoverVisibleColumns,1,!1),S=q.up(y,C,b.positionLineNumber,b.positionColumn,L.leftoverVisibleColumns,1,!1);return new k.rS(new Q.e(d.lineNumber,d.column,d.lineNumber,d.column),d.leftoverVisibleColumns,new ie.L(S.lineNumber,S.column),S.leftoverVisibleColumns)}static _isBlankLine(y,C){return y.getLineFirstNonWhitespaceColumn(C)===0}static moveToPrevBlankLine(y,C,L,b){let d=L.position.lineNumber;for(;d>1&&this._isBlankLine(C,d);)d--;for(;d>1&&!this._isBlankLine(C,d);)d--;return L.move(b,d,C.getLineMinColumn(d),0)}static moveToNextBlankLine(y,C,L,b){const d=C.getLineCount();let S=L.position.lineNumber;for(;S<d&&this._isBlankLine(C,S);)S++;for(;S<d&&!this._isBlankLine(C,S);)S++;return L.move(b,S,C.getLineMinColumn(S),0)}static moveToBeginningOfLine(y,C,L,b){const d=L.position.lineNumber,S=C.getLineMinColumn(d),E=C.getLineFirstNonWhitespaceColumn(d)||S;let D;return L.position.column===E?D=S:D=E,L.move(b,d,D,0)}static moveToEndOfLine(y,C,L,b,d){const S=L.position.lineNumber,E=C.getLineMaxColumn(S);return L.move(b,S,E,d?1073741824-E:0)}static moveToBeginningOfBuffer(y,C,L,b){return L.move(b,1,1,0)}static moveToEndOfBuffer(y,C,L,b){const d=C.getLineCount(),S=C.getLineMaxColumn(d);return L.move(b,d,S,0)}}},12843:(At,Be,m)=>{m.d(Be,{Nu:()=>K,u6:()=>D,g_:()=>x});var k=m(35230),u=m(34504),ie=m(58216),Q=m(5631),N=m(62685),ne=m(13352);class Z{constructor(te,he,_e){this._range=te,this._charBeforeSelection=he,this._charAfterSelection=_e}getEditOperations(te,he){he.addTrackedEditOperation(new N.e(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),he.addTrackedEditOperation(new N.e(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(te,he){const _e=he.getInverseEditOperations(),ge=_e[0].range,me=_e[1].range;return new ne.Y(ge.endLineNumber,ge.endColumn,me.endLineNumber,me.endColumn-this._charAfterSelection.length)}}class q{constructor(te,he,_e){this._position=te,this._text=he,this._charAfter=_e}getEditOperations(te,he){he.addTrackedEditOperation(new N.e(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(te,he){const ge=he.getInverseEditOperations()[0].range;return new ne.Y(ge.endLineNumber,ge.startColumn,ge.endLineNumber,ge.endColumn-this._charAfter.length)}}var z=m(40376),y=m(90120),C=m(8689),L=m(96618),b=m(38490),d=m(44725),S=m(40887),E=m(84397);class D{static indent(te,he,_e){if(he===null||_e===null)return[];const ge=[];for(let me=0,re=_e.length;me<re;me++)ge[me]=new Q.U(_e[me],{isUnshift:!1,tabSize:te.tabSize,indentSize:te.indentSize,insertSpaces:te.insertSpaces,useTabStops:te.useTabStops,autoIndent:te.autoIndent},te.languageConfigurationService);return ge}static outdent(te,he,_e){const ge=[];for(let me=0,re=_e.length;me<re;me++)ge[me]=new Q.U(_e[me],{isUnshift:!0,tabSize:te.tabSize,indentSize:te.indentSize,insertSpaces:te.insertSpaces,useTabStops:te.useTabStops,autoIndent:te.autoIndent},te.languageConfigurationService);return ge}static shiftIndent(te,he,_e){return _e=_e||1,Q.U.shiftIndent(he,he.length+_e,te.tabSize,te.indentSize,te.insertSpaces)}static unshiftIndent(te,he,_e){return _e=_e||1,Q.U.unshiftIndent(he,he.length+_e,te.tabSize,te.indentSize,te.insertSpaces)}static _distributedPaste(te,he,_e,ge){const me=[];for(let re=0,Y=_e.length;re<Y;re++)me[re]=new ie.T4(_e[re],ge[re]);return new z.Tp(0,me,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(te,he,_e,ge,me){const re=[];for(let Y=0,de=_e.length;Y<de;Y++){const oe=_e[Y],J=oe.getPosition();if(me&&!oe.isEmpty()&&(me=!1),me&&ge.indexOf(` `)!==ge.length-1&&(me=!1),me){const $=new N.e(J.lineNumber,1,J.lineNumber,1);re[Y]=new ie.hP($,ge,oe,!0)}else re[Y]=new ie.T4(oe,ge)}return new z.Tp(0,re,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _distributePasteToCursors(te,he,_e,ge,me){if(ge||he.length===1)return null;if(me&&me.length===he.length)return me;if(te.multiCursorPaste==="spread"){_e.charCodeAt(_e.length-1)===10&&(_e=_e.substr(0,_e.length-1)),_e.charCodeAt(_e.length-1)===13&&(_e=_e.substr(0,_e.length-1));const re=u.uq(_e);if(re.length===he.length)return re}return null}static paste(te,he,_e,ge,me,re){const Y=this._distributePasteToCursors(te,_e,ge,me,re);return Y?(_e=_e.sort(N.e.compareRangesUsingStarts),this._distributedPaste(te,he,_e,Y)):this._simplePaste(te,he,_e,ge,me)}static _goodIndentForLine(te,he,_e){let ge=null,me="";const re=(0,S.r7)(te.autoIndent,he,_e,!1,te.languageConfigurationService);if(re)ge=re.action,me=re.indentation;else if(_e>1){let Y;for(Y=_e-1;Y>=1;Y--){const J=he.getLineContent(Y);if(u.ow(J)>=0)break}if(Y<1)return null;const de=he.getLineMaxColumn(Y),oe=(0,E.A)(te.autoIndent,he,new N.e(Y,de,Y,de),te.languageConfigurationService);oe&&(me=oe.indentation+oe.appendText)}return ge&&(ge===L.wU.Indent&&(me=D.shiftIndent(te,me)),ge===L.wU.Outdent&&(me=D.unshiftIndent(te,me)),me=te.normalizeIndentation(me)),me||null}static _replaceJumpToNextIndent(te,he,_e,ge){let me="";const re=_e.getStartPosition();if(te.insertSpaces){const Y=te.visibleColumnFromColumn(he,re),de=te.indentSize,oe=de-Y%de;for(let J=0;J<oe;J++)me+=" "}else me=" ";return new ie.T4(_e,me,ge)}static tab(te,he,_e){const ge=[];for(let me=0,re=_e.length;me<re;me++){const Y=_e[me];if(Y.isEmpty()){const de=he.getLineContent(Y.startLineNumber);if(/^\s*$/.test(de)&&he.tokenization.isCheapToTokenize(Y.startLineNumber)){let oe=this._goodIndentForLine(te,he,Y.startLineNumber);oe=oe||" ";const J=te.normalizeIndentation(oe);if(!de.startsWith(J)){ge[me]=new ie.T4(new N.e(Y.startLineNumber,1,Y.startLineNumber,de.length+1),J,!0);continue}}ge[me]=this._replaceJumpToNextIndent(te,he,Y,!0)}else{if(Y.startLineNumber===Y.endLineNumber){const de=he.getLineMaxColumn(Y.startLineNumber);if(Y.startColumn!==1||Y.endColumn!==de){ge[me]=this._replaceJumpToNextIndent(te,he,Y,!1);continue}}ge[me]=new Q.U(Y,{isUnshift:!1,tabSize:te.tabSize,indentSize:te.indentSize,insertSpaces:te.insertSpaces,useTabStops:te.useTabStops,autoIndent:te.autoIndent},te.languageConfigurationService)}}return ge}static compositionType(te,he,_e,ge,me,re,Y,de){const oe=ge.map(J=>this._compositionType(_e,J,me,re,Y,de));return new z.Tp(4,oe,{shouldPushStackElementBefore:W(te,4),shouldPushStackElementAfter:!1})}static _compositionType(te,he,_e,ge,me,re){if(!he.isEmpty())return null;const Y=he.getPosition(),de=Math.max(1,Y.column-ge),oe=Math.min(te.getLineMaxColumn(Y.lineNumber),Y.column+me),J=new N.e(Y.lineNumber,de,Y.lineNumber,oe);return te.getValueInRange(J)===_e&&re===0?null:new ie.Uo(J,_e,0,re)}static _typeCommand(te,he,_e){return _e?new ie.Sj(te,he,!0):new ie.T4(te,he,!0)}static _enter(te,he,_e,ge){if(te.autoIndent===0)return D._typeCommand(ge,` `,_e);if(!he.tokenization.isCheapToTokenize(ge.getStartPosition().lineNumber)||te.autoIndent===1){const de=he.getLineContent(ge.startLineNumber),oe=u.V8(de).substring(0,ge.startColumn-1);return D._typeCommand(ge,` `+te.normalizeIndentation(oe),_e)}const me=(0,E.A)(te.autoIndent,he,ge,te.languageConfigurationService);if(me){if(me.indentAction===L.wU.None)return D._typeCommand(ge,` `+te.normalizeIndentation(me.indentation+me.appendText),_e);if(me.indentAction===L.wU.Indent)return D._typeCommand(ge,` `+te.normalizeIndentation(me.indentation+me.appendText),_e);if(me.indentAction===L.wU.IndentOutdent){const de=te.normalizeIndentation(me.indentation),oe=te.normalizeIndentation(me.indentation+me.appendText),J=` `+oe+` `+de;return _e?new ie.Sj(ge,J,!0):new ie.Uo(ge,J,-1,oe.length-de.length,!0)}else if(me.indentAction===L.wU.Outdent){const de=D.unshiftIndent(te,me.indentation);return D._typeCommand(ge,` `+te.normalizeIndentation(de+me.appendText),_e)}}const re=he.getLineContent(ge.startLineNumber),Y=u.V8(re).substring(0,ge.startColumn-1);if(te.autoIndent>=4){const de=(0,S.UF)(te.autoIndent,he,ge,{unshiftIndent:oe=>D.unshiftIndent(te,oe),shiftIndent:oe=>D.shiftIndent(te,oe),normalizeIndentation:oe=>te.normalizeIndentation(oe)},te.languageConfigurationService);if(de){let oe=te.visibleColumnFromColumn(he,ge.getEndPosition());const J=ge.endColumn,$=he.getLineContent(ge.endLineNumber),ue=u.LC($);if(ue>=0?ge=ge.setEndPosition(ge.endLineNumber,Math.max(ge.endColumn,ue+1)):ge=ge.setEndPosition(ge.endLineNumber,he.getLineMaxColumn(ge.endLineNumber)),_e)return new ie.Sj(ge,` `+te.normalizeIndentation(de.afterEnter),!0);{let ve=0;return J<=ue+1&&(te.insertSpaces||(oe=Math.ceil(oe/te.indentSize)),ve=Math.min(oe+1-te.normalizeIndentation(de.afterEnter).length-1,0)),new ie.Uo(ge,` `+te.normalizeIndentation(de.afterEnter),0,ve,!0)}}}return D._typeCommand(ge,` `+te.normalizeIndentation(Y),_e)}static _isAutoIndentType(te,he,_e){if(te.autoIndent<4)return!1;for(let ge=0,me=_e.length;ge<me;ge++)if(!he.tokenization.isCheapToTokenize(_e[ge].getEndPosition().lineNumber))return!1;return!0}static _runAutoIndentType(te,he,_e,ge){const me=(0,b.u0)(he,_e.startLineNumber,_e.startColumn),re=(0,S.$9)(te.autoIndent,he,_e,ge,{shiftIndent:Y=>D.shiftIndent(te,Y),unshiftIndent:Y=>D.unshiftIndent(te,Y)},te.languageConfigurationService);if(re===null)return null;if(re!==te.normalizeIndentation(me)){const Y=he.getLineFirstNonWhitespaceColumn(_e.startLineNumber);return Y===0?D._typeCommand(new N.e(_e.startLineNumber,1,_e.endLineNumber,_e.endColumn),te.normalizeIndentation(re)+ge,!1):D._typeCommand(new N.e(_e.startLineNumber,1,_e.endLineNumber,_e.endColumn),te.normalizeIndentation(re)+he.getLineContent(_e.startLineNumber).substring(Y-1,_e.startColumn-1)+ge,!1)}return null}static _isAutoClosingOvertype(te,he,_e,ge,me){if(te.autoClosingOvertype==="never"||!te.autoClosingPairs.autoClosingPairsCloseSingleChar.has(me))return!1;for(let re=0,Y=_e.length;re<Y;re++){const de=_e[re];if(!de.isEmpty())return!1;const oe=de.getPosition(),J=he.getLineContent(oe.lineNumber);if(J.charAt(oe.column-1)!==me)return!1;const ue=(0,z.LN)(me);if((oe.column>2?J.charCodeAt(oe.column-2):0)===92&&ue)return!1;if(te.autoClosingOvertype==="auto"){let xe=!1;for(let O=0,rt=ge.length;O<rt;O++){const ct=ge[O];if(oe.lineNumber===ct.startLineNumber&&oe.column===ct.startColumn){xe=!0;break}}if(!xe)return!1}}return!0}static _runAutoClosingOvertype(te,he,_e,ge,me){const re=[];for(let Y=0,de=ge.length;Y<de;Y++){const J=ge[Y].getPosition(),$=new N.e(J.lineNumber,J.column,J.lineNumber,J.column+1);re[Y]=new ie.T4($,me)}return new z.Tp(4,re,{shouldPushStackElementBefore:W(te,4),shouldPushStackElementAfter:!1})}static _isBeforeClosingBrace(te,he){const _e=he.charAt(0),ge=te.autoClosingPairs.autoClosingPairsOpenByStart.get(_e)||[],me=te.autoClosingPairs.autoClosingPairsCloseByStart.get(_e)||[],re=ge.some(de=>he.startsWith(de.open)),Y=me.some(de=>he.startsWith(de.close));return!re&&Y}static _findAutoClosingPairOpen(te,he,_e,ge){const me=te.autoClosingPairs.autoClosingPairsOpenByEnd.get(ge);if(!me)return null;let re=null;for(const Y of me)if(re===null||Y.open.length>re.open.length){let de=!0;for(const oe of _e)if(he.getValueInRange(new N.e(oe.lineNumber,oe.column-Y.open.length+1,oe.lineNumber,oe.column))+ge!==Y.open){de=!1;break}de&&(re=Y)}return re}static _findContainedAutoClosingPair(te,he){if(he.open.length<=1)return null;const _e=he.close.charAt(he.close.length-1),ge=te.autoClosingPairs.autoClosingPairsCloseByEnd.get(_e)||[];let me=null;for(const re of ge)re.open!==he.open&&he.open.includes(re.open)&&he.close.endsWith(re.close)&&(!me||re.open.length>me.open.length)&&(me=re);return me}static _getAutoClosingPairClose(te,he,_e,ge,me){const re=(0,z.LN)(ge),Y=re?te.autoClosingQuotes:te.autoClosingBrackets,de=re?te.shouldAutoCloseBefore.quote:te.shouldAutoCloseBefore.bracket;if(Y==="never")return null;for(const xe of _e)if(!xe.isEmpty())return null;const oe=_e.map(xe=>{const O=xe.getPosition();return me?{lineNumber:O.lineNumber,beforeColumn:O.column-ge.length,afterColumn:O.column}:{lineNumber:O.lineNumber,beforeColumn:O.column,afterColumn:O.column}}),J=this._findAutoClosingPairOpen(te,he,oe.map(xe=>new C.L(xe.lineNumber,xe.beforeColumn)),ge);if(!J)return null;const $=this._findContainedAutoClosingPair(te,J),ue=$?$.close:"";let ve=!0;for(const xe of oe){const{lineNumber:O,beforeColumn:rt,afterColumn:ct}=xe,Ve=he.getLineContent(O),$e=Ve.substring(0,rt-1),Ee=Ve.substring(ct-1);if(Ee.startsWith(ue)||(ve=!1),Ee.length>0){const tt=Ee.charAt(0);if(!D._isBeforeClosingBrace(te,Ee)&&!de(tt))return null}if(J.open.length===1&&(ge==="'"||ge==='"')&&Y!=="always"){const tt=(0,y.u)(te.wordSeparators);if($e.length>0){const at=$e.charCodeAt($e.length-1);if(tt.get(at)===0)return null}}if(!he.tokenization.isCheapToTokenize(O))return null;he.tokenization.forceTokenization(O);const Fe=he.tokenization.getLineTokens(O),je=(0,d.wH)(Fe,rt-1);if(!J.shouldAutoClose(je,rt-je.firstCharOffset))return null;const Re=J.findNeutralCharacter();if(Re){const tt=he.tokenization.getTokenTypeIfInsertingCharacter(O,rt,Re);if(!J.isOK(tt))return null}}return ve?J.close.substring(0,J.close.length-ue.length):J.close}static _runAutoClosingOpenCharType(te,he,_e,ge,me,re,Y){const de=[];for(let oe=0,J=ge.length;oe<J;oe++){const $=ge[oe];de[oe]=new x($,me,!re,Y)}return new z.Tp(4,de,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _shouldSurroundChar(te,he){return(0,z.LN)(he)?te.autoSurround==="quotes"||te.autoSurround==="languageDefined":te.autoSurround==="brackets"||te.autoSurround==="languageDefined"}static _isSurroundSelectionType(te,he,_e,ge){if(!D._shouldSurroundChar(te,ge)||!te.surroundingPairs.hasOwnProperty(ge))return!1;const me=(0,z.LN)(ge);for(const re of _e){if(re.isEmpty())return!1;let Y=!0;for(let de=re.startLineNumber;de<=re.endLineNumber;de++){const oe=he.getLineContent(de),J=de===re.startLineNumber?re.startColumn-1:0,$=de===re.endLineNumber?re.endColumn-1:oe.length,ue=oe.substring(J,$);if(/[^ \t]/.test(ue)){Y=!1;break}}if(Y)return!1;if(me&&re.startLineNumber===re.endLineNumber&&re.startColumn+1===re.endColumn){const de=he.getValueInRange(re);if((0,z.LN)(de))return!1}}return!0}static _runSurroundSelectionType(te,he,_e,ge,me){const re=[];for(let Y=0,de=ge.length;Y<de;Y++){const oe=ge[Y],J=he.surroundingPairs[me];re[Y]=new Z(oe,me,J)}return new z.Tp(0,re,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isTypeInterceptorElectricChar(te,he,_e){return!!(_e.length===1&&he.tokenization.isCheapToTokenize(_e[0].getEndPosition().lineNumber))}static _typeInterceptorElectricChar(te,he,_e,ge,me){if(!he.electricChars.hasOwnProperty(me)||!ge.isEmpty())return null;const re=ge.getPosition();_e.tokenization.forceTokenization(re.lineNumber);const Y=_e.tokenization.getLineTokens(re.lineNumber);let de;try{de=he.onElectricCharacter(me,Y,re.column)}catch(oe){return(0,k.dL)(oe),null}if(!de)return null;if(de.matchOpenBracket){const oe=(Y.getLineContent()+me).lastIndexOf(de.matchOpenBracket)+1,J=_e.bracketPairs.findMatchingBracketUp(de.matchOpenBracket,{lineNumber:re.lineNumber,column:oe},500);if(J){if(J.startLineNumber===re.lineNumber)return null;const $=_e.getLineContent(J.startLineNumber),ue=u.V8($),ve=he.normalizeIndentation(ue),xe=_e.getLineContent(re.lineNumber),O=_e.getLineFirstNonWhitespaceColumn(re.lineNumber)||re.column,rt=xe.substring(O-1,re.column-1),ct=ve+rt+me,Ve=new N.e(re.lineNumber,1,re.lineNumber,re.column),$e=new ie.T4(Ve,ct);return new z.Tp(T(ct,te),[$e],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}static compositionEndWithInterceptors(te,he,_e,ge,me,re){if(!ge)return null;let Y=null;for(const $ of ge)if(Y===null)Y=$.insertedText;else if(Y!==$.insertedText)return null;if(!Y||Y.length!==1)return null;const de=Y;let oe=!1;for(const $ of ge)if($.deletedText.length!==0){oe=!0;break}if(oe){if(!D._shouldSurroundChar(he,de)||!he.surroundingPairs.hasOwnProperty(de))return null;const $=(0,z.LN)(de);for(const xe of ge)if(xe.deletedSelectionStart!==0||xe.deletedSelectionEnd!==xe.deletedText.length||/^[ \t]+$/.test(xe.deletedText)||$&&(0,z.LN)(xe.deletedText))return null;const ue=[];for(const xe of me){if(!xe.isEmpty())return null;ue.push(xe.getPosition())}if(ue.length!==ge.length)return null;const ve=[];for(let xe=0,O=ue.length;xe<O;xe++)ve.push(new q(ue[xe],ge[xe].deletedText,de));return new z.Tp(4,ve,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingOvertype(he,_e,me,re,de)){const $=me.map(ue=>new ie.T4(new N.e(ue.positionLineNumber,ue.positionColumn,ue.positionLineNumber,ue.positionColumn+1),"",!1));return new z.Tp(4,$,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const J=this._getAutoClosingPairClose(he,_e,me,de,!0);return J!==null?this._runAutoClosingOpenCharType(te,he,_e,me,de,!0,J):null}static typeWithInterceptors(te,he,_e,ge,me,re,Y){if(!te&&Y===` `){const J=[];for(let $=0,ue=me.length;$<ue;$++)J[$]=D._enter(_e,ge,!1,me[$]);return new z.Tp(4,J,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(!te&&this._isAutoIndentType(_e,ge,me)){const J=[];let $=!1;for(let ue=0,ve=me.length;ue<ve;ue++)if(J[ue]=this._runAutoIndentType(_e,ge,me[ue],Y),!J[ue]){$=!0;break}if(!$)return new z.Tp(4,J,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingOvertype(_e,ge,me,re,Y))return this._runAutoClosingOvertype(he,_e,ge,me,Y);if(!te){const J=this._getAutoClosingPairClose(_e,ge,me,Y,!1);if(J)return this._runAutoClosingOpenCharType(he,_e,ge,me,Y,!1,J)}if(!te&&this._isSurroundSelectionType(_e,ge,me,Y))return this._runSurroundSelectionType(he,_e,ge,me,Y);if(!te&&this._isTypeInterceptorElectricChar(_e,ge,me)){const J=this._typeInterceptorElectricChar(he,_e,ge,me[0],Y);if(J)return J}const de=[];for(let J=0,$=me.length;J<$;J++)de[J]=new ie.T4(me[J],Y);const oe=T(Y,he);return new z.Tp(oe,de,{shouldPushStackElementBefore:W(he,oe),shouldPushStackElementAfter:!1})}static typeWithoutInterceptors(te,he,_e,ge,me){const re=[];for(let de=0,oe=ge.length;de<oe;de++)re[de]=new ie.T4(ge[de],me);const Y=T(me,te);return new z.Tp(Y,re,{shouldPushStackElementBefore:W(te,Y),shouldPushStackElementAfter:!1})}static lineInsertBefore(te,he,_e){if(he===null||_e===null)return[];const ge=[];for(let me=0,re=_e.length;me<re;me++){let Y=_e[me].positionLineNumber;if(Y===1)ge[me]=new ie.Sj(new N.e(1,1,1,1),` `);else{Y--;const de=he.getLineMaxColumn(Y);ge[me]=this._enter(te,he,!1,new N.e(Y,de,Y,de))}}return ge}static lineInsertAfter(te,he,_e){if(he===null||_e===null)return[];const ge=[];for(let me=0,re=_e.length;me<re;me++){const Y=_e[me].positionLineNumber,de=he.getLineMaxColumn(Y);ge[me]=this._enter(te,he,!1,new N.e(Y,de,Y,de))}return ge}static lineBreakInsert(te,he,_e){const ge=[];for(let me=0,re=_e.length;me<re;me++)ge[me]=this._enter(te,he,!0,_e[me]);return ge}}class x extends ie.Uo{constructor(te,he,_e,ge){super(te,(_e?he:"")+ge,0,-ge.length),this._openCharacter=he,this._closeCharacter=ge,this.closeCharacterRange=null,this.enclosingRange=null}computeCursorState(te,he){const ge=he.getInverseEditOperations()[0].range;return this.closeCharacterRange=new N.e(ge.startLineNumber,ge.endColumn-this._closeCharacter.length,ge.endLineNumber,ge.endColumn),this.enclosingRange=new N.e(ge.startLineNumber,ge.endColumn-this._openCharacter.length-this._closeCharacter.length,ge.endLineNumber,ge.endColumn),super.computeCursorState(te,he)}}class K{constructor(te,he,_e,ge,me,re){this.deletedText=te,this.deletedSelectionStart=he,this.deletedSelectionEnd=_e,this.insertedText=ge,this.insertedSelectionStart=me,this.insertedSelectionEnd=re}}function T(X,te){return X===" "?te===5||te===6?6:5:4}function W(X,te){return U(X)&&!U(te)?!0:X===5?!1:A(X)!==A(te)}function A(X){return X===6||X===5?"space":X}function U(X){return X===4||X===5||X===6}},20225:(At,Be,m)=>{m.d(Be,{L:()=>q,w:()=>Z});var k=m(34504),u=m(40376),ie=m(94316),Q=m(90120),N=m(8689),ne=m(62685);class Z{static _createWord(C,L,b,d,S){return{start:d,end:S,wordType:L,nextCharClass:b}}static _findPreviousWordOnLine(C,L,b){const d=L.getLineContent(b.lineNumber);return this._doFindPreviousWordOnLine(d,C,b)}static _doFindPreviousWordOnLine(C,L,b){let d=0;for(let S=b.column-2;S>=0;S--){const E=C.charCodeAt(S),D=L.get(E);if(D===0){if(d===2)return this._createWord(C,d,D,S+1,this._findEndOfWord(C,L,d,S+1));d=1}else if(D===2){if(d===1)return this._createWord(C,d,D,S+1,this._findEndOfWord(C,L,d,S+1));d=2}else if(D===1&&d!==0)return this._createWord(C,d,D,S+1,this._findEndOfWord(C,L,d,S+1))}return d!==0?this._createWord(C,d,1,0,this._findEndOfWord(C,L,d,0)):null}static _findEndOfWord(C,L,b,d){const S=C.length;for(let E=d;E<S;E++){const D=C.charCodeAt(E),x=L.get(D);if(x===1||b===1&&x===2||b===2&&x===0)return E}return S}static _findNextWordOnLine(C,L,b){const d=L.getLineContent(b.lineNumber);return this._doFindNextWordOnLine(d,C,b)}static _doFindNextWordOnLine(C,L,b){let d=0;const S=C.length;for(let E=b.column-1;E<S;E++){const D=C.charCodeAt(E),x=L.get(D);if(x===0){if(d===2)return this._createWord(C,d,x,this._findStartOfWord(C,L,d,E-1),E);d=1}else if(x===2){if(d===1)return this._createWord(C,d,x,this._findStartOfWord(C,L,d,E-1),E);d=2}else if(x===1&&d!==0)return this._createWord(C,d,x,this._findStartOfWord(C,L,d,E-1),E)}return d!==0?this._createWord(C,d,1,this._findStartOfWord(C,L,d,S-1),S):null}static _findStartOfWord(C,L,b,d){for(let S=d;S>=0;S--){const E=C.charCodeAt(S),D=L.get(E);if(D===1||b===1&&D===2||b===2&&D===0)return S+1}return 0}static moveWordLeft(C,L,b,d){let S=b.lineNumber,E=b.column;E===1&&S>1&&(S=S-1,E=L.getLineMaxColumn(S));let D=Z._findPreviousWordOnLine(C,L,new N.L(S,E));if(d===0)return new N.L(S,D?D.start+1:1);if(d===1)return D&&D.wordType===2&&D.end-D.start===1&&D.nextCharClass===0&&(D=Z._findPreviousWordOnLine(C,L,new N.L(S,D.start+1))),new N.L(S,D?D.start+1:1);if(d===3){for(;D&&D.wordType===2;)D=Z._findPreviousWordOnLine(C,L,new N.L(S,D.start+1));return new N.L(S,D?D.start+1:1)}return D&&E<=D.end+1&&(D=Z._findPreviousWordOnLine(C,L,new N.L(S,D.start+1))),new N.L(S,D?D.end+1:1)}static _moveWordPartLeft(C,L){const b=L.lineNumber,d=C.getLineMaxColumn(b);if(L.column===1)return b>1?new N.L(b-1,C.getLineMaxColumn(b-1)):L;const S=C.getLineContent(b);for(let E=L.column-1;E>1;E--){const D=S.charCodeAt(E-2),x=S.charCodeAt(E-1);if(D===95&&x!==95)return new N.L(b,E);if((k.mK(D)||k.T5(D))&&k.df(x))return new N.L(b,E);if(k.df(D)&&k.df(x)&&E+1<d){const K=S.charCodeAt(E);if(k.mK(K)||k.T5(K))return new N.L(b,E)}}return new N.L(b,1)}static moveWordRight(C,L,b,d){let S=b.lineNumber,E=b.column,D=!1;E===L.getLineMaxColumn(S)&&S<L.getLineCount()&&(D=!0,S=S+1,E=1);let x=Z._findNextWordOnLine(C,L,new N.L(S,E));if(d===2)x&&x.wordType===2&&x.end-x.start===1&&x.nextCharClass===0&&(x=Z._findNextWordOnLine(C,L,new N.L(S,x.end+1))),x?E=x.end+1:E=L.getLineMaxColumn(S);else if(d===3){for(D&&(E=0);x&&(x.wordType===2||x.start+1<=E);)x=Z._findNextWordOnLine(C,L,new N.L(S,x.end+1));x?E=x.start+1:E=L.getLineMaxColumn(S)}else x&&!D&&E>=x.start+1&&(x=Z._findNextWordOnLine(C,L,new N.L(S,x.end+1))),x?E=x.start+1:E=L.getLineMaxColumn(S);return new N.L(S,E)}static _moveWordPartRight(C,L){const b=L.lineNumber,d=C.getLineMaxColumn(b);if(L.column===d)return b<C.getLineCount()?new N.L(b+1,1):L;const S=C.getLineContent(b);for(let E=L.column+1;E<d;E++){const D=S.charCodeAt(E-2),x=S.charCodeAt(E-1);if(D!==95&&x===95)return new N.L(b,E);if((k.mK(D)||k.T5(D))&&k.df(x))return new N.L(b,E);if(k.df(D)&&k.df(x)&&E+1<d){const K=S.charCodeAt(E);if(k.mK(K)||k.T5(K))return new N.L(b,E)}}return new N.L(b,d)}static _deleteWordLeftWhitespace(C,L){const b=C.getLineContent(L.lineNumber),d=L.column-2,S=k.ow(b,d);return S+1<d?new ne.e(L.lineNumber,S+2,L.lineNumber,L.column):null}static deleteWordLeft(C,L){const b=C.wordSeparators,d=C.model,S=C.selection,E=C.whitespaceHeuristics;if(!S.isEmpty())return S;if(ie.A.isAutoClosingPairDelete(C.autoClosingDelete,C.autoClosingBrackets,C.autoClosingQuotes,C.autoClosingPairs.autoClosingPairsOpenByEnd,C.model,[C.selection],C.autoClosedCharacters)){const W=C.selection.getPosition();return new ne.e(W.lineNumber,W.column-1,W.lineNumber,W.column+1)}const D=new N.L(S.positionLineNumber,S.positionColumn);let x=D.lineNumber,K=D.column;if(x===1&&K===1)return null;if(E){const W=this._deleteWordLeftWhitespace(d,D);if(W)return W}let T=Z._findPreviousWordOnLine(b,d,D);return L===0?T?K=T.start+1:K>1?K=1:(x--,K=d.getLineMaxColumn(x)):(T&&K<=T.end+1&&(T=Z._findPreviousWordOnLine(b,d,new N.L(x,T.start+1))),T?K=T.end+1:K>1?K=1:(x--,K=d.getLineMaxColumn(x))),new ne.e(x,K,D.lineNumber,D.column)}static deleteInsideWord(C,L,b){if(!b.isEmpty())return b;const d=new N.L(b.positionLineNumber,b.positionColumn),S=this._deleteInsideWordWhitespace(L,d);return S||this._deleteInsideWordDetermineDeleteRange(C,L,d)}static _charAtIsWhitespace(C,L){const b=C.charCodeAt(L);return b===32||b===9}static _deleteInsideWordWhitespace(C,L){const b=C.getLineContent(L.lineNumber),d=b.length;if(d===0)return null;let S=Math.max(L.column-2,0);if(!this._charAtIsWhitespace(b,S))return null;let E=Math.min(L.column-1,d-1);if(!this._charAtIsWhitespace(b,E))return null;for(;S>0&&this._charAtIsWhitespace(b,S-1);)S--;for(;E+1<d&&this._charAtIsWhitespace(b,E+1);)E++;return new ne.e(L.lineNumber,S+1,L.lineNumber,E+2)}static _deleteInsideWordDetermineDeleteRange(C,L,b){const d=L.getLineContent(b.lineNumber),S=d.length;if(S===0)return b.lineNumber>1?new ne.e(b.lineNumber-1,L.getLineMaxColumn(b.lineNumber-1),b.lineNumber,1):b.lineNumber<L.getLineCount()?new ne.e(b.lineNumber,1,b.lineNumber+1,1):new ne.e(b.lineNumber,1,b.lineNumber,1);const E=W=>W.start+1<=b.column&&b.column<=W.end+1,D=(W,A)=>(W=Math.min(W,b.column),A=Math.max(A,b.column),new ne.e(b.lineNumber,W,b.lineNumber,A)),x=W=>{let A=W.start+1,U=W.end+1,X=!1;for(;U-1<S&&this._charAtIsWhitespace(d,U-1);)X=!0,U++;if(!X)for(;A>1&&this._charAtIsWhitespace(d,A-2);)A--;return D(A,U)},K=Z._findPreviousWordOnLine(C,L,b);if(K&&E(K))return x(K);const T=Z._findNextWordOnLine(C,L,b);return T&&E(T)?x(T):K&&T?D(K.end+1,T.start+1):K?D(K.start+1,K.end+1):T?D(T.start+1,T.end+1):D(1,S+1)}static _deleteWordPartLeft(C,L){if(!L.isEmpty())return L;const b=L.getPosition(),d=Z._moveWordPartLeft(C,b);return new ne.e(b.lineNumber,b.column,d.lineNumber,d.column)}static _findFirstNonWhitespaceChar(C,L){const b=C.length;for(let d=L;d<b;d++){const S=C.charAt(d);if(S!==" "&&S!==" ")return d}return b}static _deleteWordRightWhitespace(C,L){const b=C.getLineContent(L.lineNumber),d=L.column-1,S=this._findFirstNonWhitespaceChar(b,d);return d+1<S?new ne.e(L.lineNumber,L.column,L.lineNumber,S+1):null}static deleteWordRight(C,L){const b=C.wordSeparators,d=C.model,S=C.selection,E=C.whitespaceHeuristics;if(!S.isEmpty())return S;const D=new N.L(S.positionLineNumber,S.positionColumn);let x=D.lineNumber,K=D.column;const T=d.getLineCount(),W=d.getLineMaxColumn(x);if(x===T&&K===W)return null;if(E){const U=this._deleteWordRightWhitespace(d,D);if(U)return U}let A=Z._findNextWordOnLine(b,d,D);return L===2?A?K=A.end+1:K<W||x===T?K=W:(x++,A=Z._findNextWordOnLine(b,d,new N.L(x,1)),A?K=A.start+1:K=d.getLineMaxColumn(x)):(A&&K>=A.start+1&&(A=Z._findNextWordOnLine(b,d,new N.L(x,A.end+1))),A?K=A.start+1:K<W||x===T?K=W:(x++,A=Z._findNextWordOnLine(b,d,new N.L(x,1)),A?K=A.start+1:K=d.getLineMaxColumn(x))),new ne.e(x,K,D.lineNumber,D.column)}static _deleteWordPartRight(C,L){if(!L.isEmpty())return L;const b=L.getPosition(),d=Z._moveWordPartRight(C,b);return new ne.e(b.lineNumber,b.column,d.lineNumber,d.column)}static _createWordAtPosition(C,L,b){const d=new ne.e(L,b.start+1,L,b.end+1);return{word:C.getValueInRange(d),startColumn:d.startColumn,endColumn:d.endColumn}}static getWordAtPosition(C,L,b){const d=(0,Q.u)(L),S=Z._findPreviousWordOnLine(d,C,b);if(S&&S.wordType===1&&S.start<=b.column-1&&b.column-1<=S.end)return Z._createWordAtPosition(C,b.lineNumber,S);const E=Z._findNextWordOnLine(d,C,b);return E&&E.wordType===1&&E.start<=b.column-1&&b.column-1<=E.end?Z._createWordAtPosition(C,b.lineNumber,E):null}static word(C,L,b,d,S){const E=(0,Q.u)(C.wordSeparators),D=Z._findPreviousWordOnLine(E,L,S),x=Z._findNextWordOnLine(E,L,S);if(!d){let U,X;return D&&D.wordType===1&&D.start<=S.column-1&&S.column-1<=D.end?(U=D.start+1,X=D.end+1):x&&x.wordType===1&&x.start<=S.column-1&&S.column-1<=x.end?(U=x.start+1,X=x.end+1):(D?U=D.end+1:U=1,x?X=x.start+1:X=L.getLineMaxColumn(S.lineNumber)),new u.rS(new ne.e(S.lineNumber,U,S.lineNumber,X),0,new N.L(S.lineNumber,X),0)}let K,T;D&&D.wordType===1&&D.start<S.column-1&&S.column-1<D.end?(K=D.start+1,T=D.end+1):x&&x.wordType===1&&x.start<S.column-1&&S.column-1<x.end?(K=x.start+1,T=x.end+1):(K=S.column,T=S.column);const W=S.lineNumber;let A;if(b.selectionStart.containsPosition(S))A=b.selectionStart.endColumn;else if(S.isBeforeOrEqual(b.selectionStart.getStartPosition())){A=K;const U=new N.L(W,A);b.selectionStart.containsPosition(U)&&(A=b.selectionStart.endColumn)}else{A=T;const U=new N.L(W,A);b.selectionStart.containsPosition(U)&&(A=b.selectionStart.startColumn)}return b.move(!0,W,A,0)}}class q extends Z{static deleteWordPartLeft(C){const L=z([Z.deleteWordLeft(C,0),Z.deleteWordLeft(C,2),Z._deleteWordPartLeft(C.model,C.selection)]);return L.sort(ne.e.compareRangesUsingEnds),L[2]}static deleteWordPartRight(C){const L=z([Z.deleteWordRight(C,0),Z.deleteWordRight(C,2),Z._deleteWordPartRight(C.model,C.selection)]);return L.sort(ne.e.compareRangesUsingStarts),L[0]}static moveWordPartLeft(C,L,b){const d=z([Z.moveWordLeft(C,L,b,0),Z.moveWordLeft(C,L,b,2),Z._moveWordPartLeft(L,b)]);return d.sort(N.L.compare),d[2]}static moveWordPartRight(C,L,b){const d=z([Z.moveWordRight(C,L,b,0),Z.moveWordRight(C,L,b,2),Z._moveWordPartRight(L,b)]);return d.sort(N.L.compare),d[0]}}function z(y){return y.filter(C=>!!C)}},40376:(At,Be,m)=>{m.d(Be,{LM:()=>y,LN:()=>E,Tp:()=>S,Vi:()=>C,rS:()=>d});var k=m(8689),u=m(62685),ie=m(13352),Q=m(44725),N=m(76502),ne=m(39767);const Z=()=>!0,q=()=>!1,z=D=>D===" "||D===" ";class y{constructor(x,K,T,W){this.languageConfigurationService=W,this._cursorMoveConfigurationBrand=void 0,this._languageId=x;const A=T.options,U=A.get(133);this.readOnly=A.get(83),this.tabSize=K.tabSize,this.indentSize=K.indentSize,this.insertSpaces=K.insertSpaces,this.stickyTabStops=A.get(106),this.lineHeight=A.get(61),this.pageSize=Math.max(1,Math.floor(U.height/this.lineHeight)-2),this.useTabStops=A.get(118),this.wordSeparators=A.get(119),this.emptySelectionClipboard=A.get(33),this.copyWithSyntaxHighlighting=A.get(21),this.multiCursorMergeOverlapping=A.get(71),this.multiCursorPaste=A.get(73),this.autoClosingBrackets=A.get(5),this.autoClosingQuotes=A.get(8),this.autoClosingDelete=A.get(6),this.autoClosingOvertype=A.get(7),this.autoSurround=A.get(11),this.autoIndent=A.get(9),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(x,this.autoClosingQuotes),bracket:this._getShouldAutoClose(x,this.autoClosingBrackets)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(x).getAutoClosingPairs();const X=this.languageConfigurationService.getLanguageConfiguration(x).getSurroundingPairs();if(X)for(const te of X)this.surroundingPairs[te.open]=te.close}static shouldRecreate(x){return x.hasChanged(133)||x.hasChanged(119)||x.hasChanged(33)||x.hasChanged(71)||x.hasChanged(73)||x.hasChanged(5)||x.hasChanged(8)||x.hasChanged(6)||x.hasChanged(7)||x.hasChanged(11)||x.hasChanged(118)||x.hasChanged(61)||x.hasChanged(83)}get electricChars(){var x;if(!this._electricChars){this._electricChars={};const K=(x=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)===null||x===void 0?void 0:x.getElectricCharacters();if(K)for(const T of K)this._electricChars[T]=!0}return this._electricChars}onElectricCharacter(x,K,T){const W=(0,Q.wH)(K,T-1),A=this.languageConfigurationService.getLanguageConfiguration(W.languageId).electricCharacter;return A?A.onElectricCharacter(x,W,T-W.firstCharOffset):null}normalizeIndentation(x){return(0,ne.x)(x,this.indentSize,this.insertSpaces)}_getShouldAutoClose(x,K){switch(K){case"beforeWhitespace":return z;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(x);case"always":return Z;case"never":return q}}_getLanguageDefinedShouldAutoClose(x){const K=this.languageConfigurationService.getLanguageConfiguration(x).getAutoCloseBeforeSet();return T=>K.indexOf(T)!==-1}visibleColumnFromColumn(x,K){return N.i.visibleColumnFromColumn(x.getLineContent(K.lineNumber),K.column,this.tabSize)}columnFromVisibleColumn(x,K,T){const W=N.i.columnFromVisibleColumn(x.getLineContent(K),T,this.tabSize),A=x.getLineMinColumn(K);if(W<A)return A;const U=x.getLineMaxColumn(K);return W>U?U:W}}class C{constructor(x,K){this._cursorStateBrand=void 0,this.modelState=x,this.viewState=K}static fromModelState(x){return new L(x)}static fromViewState(x){return new b(x)}static fromModelSelection(x){const K=ie.Y.liftSelection(x),T=new d(u.e.fromPositions(K.getSelectionStart()),0,K.getPosition(),0);return C.fromModelState(T)}static fromModelSelections(x){const K=[];for(let T=0,W=x.length;T<W;T++)K[T]=this.fromModelSelection(x[T]);return K}equals(x){return this.viewState.equals(x.viewState)&&this.modelState.equals(x.modelState)}}class L{constructor(x){this.modelState=x,this.viewState=null}}class b{constructor(x){this.modelState=null,this.viewState=x}}class d{constructor(x,K,T,W){this._singleCursorStateBrand=void 0,this.selectionStart=x,this.selectionStartLeftoverVisibleColumns=K,this.position=T,this.leftoverVisibleColumns=W,this.selection=d._computeSelection(this.selectionStart,this.position)}equals(x){return this.selectionStartLeftoverVisibleColumns===x.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===x.leftoverVisibleColumns&&this.position.equals(x.position)&&this.selectionStart.equalsRange(x.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(x,K,T,W){return x?new d(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new k.L(K,T),W):new d(new u.e(K,T,K,T),W,new k.L(K,T),W)}static _computeSelection(x,K){return x.isEmpty()||!K.isBeforeOrEqual(x.getStartPosition())?ie.Y.fromPositions(x.getStartPosition(),K):ie.Y.fromPositions(x.getEndPosition(),K)}}class S{constructor(x,K,T){this._editOperationResultBrand=void 0,this.type=x,this.commands=K,this.shouldPushStackElementBefore=T.shouldPushStackElementBefore,this.shouldPushStackElementAfter=T.shouldPushStackElementAfter}}function E(D){return D==="'"||D==='"'||D==="`"}},83728:(At,Be,m)=>{m.d(Be,{p:()=>k});class k{constructor(ie,Q,N,ne,Z,q){this.id=ie,this.label=Q,this.alias=N,this._precondition=ne,this._run=Z,this._contextKeyService=q}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(){return this.isSupported()?this._run():Promise.resolve(void 0)}}},59634:(At,Be,m)=>{m.d(Be,{g:()=>k});const k={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}},74840:(At,Be,m)=>{m.d(Be,{u:()=>ie});var k=m(88631),u=m(50199),ie;(function(Q){Q.editorSimpleInput=new u.uy("editorSimpleInput",!1,!0),Q.editorTextFocus=new u.uy("editorTextFocus",!1,k.NC("editorTextFocus","Whether the editor text has focus (cursor is blinking)")),Q.focus=new u.uy("editorFocus",!1,k.NC("editorFocus","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)")),Q.textInputFocus=new u.uy("textInputFocus",!1,k.NC("textInputFocus","Whether an editor or a rich text input has focus (cursor is blinking)")),Q.readOnly=new u.uy("editorReadonly",!1,k.NC("editorReadonly","Whether the editor is read only")),Q.inDiffEditor=new u.uy("inDiffEditor",!1,k.NC("inDiffEditor","Whether the context is a diff editor")),Q.columnSelection=new u.uy("editorColumnSelection",!1,k.NC("editorColumnSelection","Whether `editor.columnSelection` is enabled")),Q.writable=Q.readOnly.toNegated(),Q.hasNonEmptySelection=new u.uy("editorHasSelection",!1,k.NC("editorHasSelection","Whether the editor has text selected")),Q.hasOnlyEmptySelection=Q.hasNonEmptySelection.toNegated(),Q.hasMultipleSelections=new u.uy("editorHasMultipleSelections",!1,k.NC("editorHasMultipleSelections","Whether the editor has multiple selections")),Q.hasSingleSelection=Q.hasMultipleSelections.toNegated(),Q.tabMovesFocus=new u.uy("editorTabMovesFocus",!1,k.NC("editorTabMovesFocus","Whether `Tab` will move focus out of the editor")),Q.tabDoesNotMoveFocus=Q.tabMovesFocus.toNegated(),Q.isInWalkThroughSnippet=new u.uy("isInEmbeddedEditor",!1,!0),Q.canUndo=new u.uy("canUndo",!1,!0),Q.canRedo=new u.uy("canRedo",!1,!0),Q.hoverVisible=new u.uy("editorHoverVisible",!1,k.NC("editorHoverVisible","Whether the editor hover is visible")),Q.inCompositeEditor=new u.uy("inCompositeEditor",void 0,k.NC("inCompositeEditor","Whether the editor is part of a larger editor (e.g. notebooks)")),Q.notInCompositeEditor=Q.inCompositeEditor.toNegated(),Q.languageId=new u.uy("editorLangId","",k.NC("editorLangId","The language identifier of the editor")),Q.hasCompletionItemProvider=new u.uy("editorHasCompletionItemProvider",!1,k.NC("editorHasCompletionItemProvider","Whether the editor has a completion item provider")),Q.hasCodeActionsProvider=new u.uy("editorHasCodeActionsProvider",!1,k.NC("editorHasCodeActionsProvider","Whether the editor has a code actions provider")),Q.hasCodeLensProvider=new u.uy("editorHasCodeLensProvider",!1,k.NC("editorHasCodeLensProvider","Whether the editor has a code lens provider")),Q.hasDefinitionProvider=new u.uy("editorHasDefinitionProvider",!1,k.NC("editorHasDefinitionProvider","Whether the editor has a definition provider")),Q.hasDeclarationProvider=new u.uy("editorHasDeclarationProvider",!1,k.NC("editorHasDeclarationProvider","Whether the editor has a declaration provider")),Q.hasImplementationProvider=new u.uy("editorHasImplementationProvider",!1,k.NC("editorHasImplementationProvider","Whether the editor has an implementation provider")),Q.hasTypeDefinitionProvider=new u.uy("editorHasTypeDefinitionProvider",!1,k.NC("editorHasTypeDefinitionProvider","Whether the editor has a type definition provider")),Q.hasHoverProvider=new u.uy("editorHasHoverProvider",!1,k.NC("editorHasHoverProvider","Whether the editor has a hover provider")),Q.hasDocumentHighlightProvider=new u.uy("editorHasDocumentHighlightProvider",!1,k.NC("editorHasDocumentHighlightProvider","Whether the editor has a document highlight provider")),Q.hasDocumentSymbolProvider=new u.uy("editorHasDocumentSymbolProvider",!1,k.NC("editorHasDocumentSymbolProvider","Whether the editor has a document symbol provider")),Q.hasReferenceProvider=new u.uy("editorHasReferenceProvider",!1,k.NC("editorHasReferenceProvider","Whether the editor has a reference provider")),Q.hasRenameProvider=new u.uy("editorHasRenameProvider",!1,k.NC("editorHasRenameProvider","Whether the editor has a rename provider")),Q.hasSignatureHelpProvider=new u.uy("editorHasSignatureHelpProvider",!1,k.NC("editorHasSignatureHelpProvider","Whether the editor has a signature help provider")),Q.hasInlayHintsProvider=new u.uy("editorHasInlayHintsProvider",!1,k.NC("editorHasInlayHintsProvider","Whether the editor has an inline hints provider")),Q.hasDocumentFormattingProvider=new u.uy("editorHasDocumentFormattingProvider",!1,k.NC("editorHasDocumentFormattingProvider","Whether the editor has a document formatting provider")),Q.hasDocumentSelectionFormattingProvider=new u.uy("editorHasDocumentSelectionFormattingProvider",!1,k.NC("editorHasDocumentSelectionFormattingProvider","Whether the editor has a document selection formatting provider")),Q.hasMultipleDocumentFormattingProvider=new u.uy("editorHasMultipleDocumentFormattingProvider",!1,k.NC("editorHasMultipleDocumentFormattingProvider","Whether the editor has multiple document formatting providers")),Q.hasMultipleDocumentSelectionFormattingProvider=new u.uy("editorHasMultipleDocumentSelectionFormattingProvider",!1,k.NC("editorHasMultipleDocumentSelectionFormattingProvider","Whether the editor has multiple document selection formatting providers"))})(ie||(ie={}))},23854:(At,Be,m)=>{m.d(Be,{N:()=>k});class k{static getLanguageId(ie){return(ie&255)>>>0}static getTokenType(ie){return(ie&768)>>>8}static containsBalancedBrackets(ie){return(ie&1024)!==0}static getFontStyle(ie){return(ie&30720)>>>11}static getForeground(ie){return(ie&16744448)>>>15}static getBackground(ie){return(ie&4278190080)>>>24}static getClassNameFromMetadata(ie){let N="mtk"+this.getForeground(ie);const ne=this.getFontStyle(ie);return ne&1&&(N+=" mtki"),ne&2&&(N+=" mtkb"),ne&4&&(N+=" mtku"),ne&8&&(N+=" mtks"),N}static getInlineStyleFromMetadata(ie,Q){const N=this.getForeground(ie),ne=this.getFontStyle(ie);let Z=`color: ${Q[N]};`;ne&1&&(Z+="font-style: italic;"),ne&2&&(Z+="font-weight: bold;");let q="";return ne&4&&(q+=" underline"),ne&8&&(q+=" line-through"),q&&(Z+=`text-decoration:${q};`),Z}static getPresentationFromMetadata(ie){const Q=this.getForeground(ie),N=this.getFontStyle(ie);return{foreground:Q,italic:!!(N&1),bold:!!(N&2),underline:!!(N&4),strikethrough:!!(N&8)}}}},90865:(At,Be,m)=>{m.d(Be,{mY:()=>K,gX:()=>L,MY:()=>S,DI:()=>C,AD:()=>x,gl:()=>T,bw:()=>b,WW:()=>d,uZ:()=>D,WU:()=>z,RW:()=>W,hG:()=>y,vx:()=>E});var k=m(15324),u=m(34154),ie=m(62685),Q=m(86640),N=m(50149),ne=function(A,U,X,te){function he(_e){return _e instanceof X?_e:new X(function(ge){ge(_e)})}return new(X||(X=Promise))(function(_e,ge){function me(de){try{Y(te.next(de))}catch(oe){ge(oe)}}function re(de){try{Y(te.throw(de))}catch(oe){ge(oe)}}function Y(de){de.done?_e(de.value):he(de.value).then(me,re)}Y((te=te.apply(A,U||[])).next())})};class Z{constructor(){this._map=new Map,this._factories=new Map,this._onDidChange=new Q.Q5,this.onDidChange=this._onDidChange.event,this._colorMap=null}fire(U){this._onDidChange.fire({changedLanguages:U,changedColorMap:!1})}register(U,X){return this._map.set(U,X),this.fire([U]),(0,N.OF)(()=>{this._map.get(U)===X&&(this._map.delete(U),this.fire([U]))})}registerFactory(U,X){var te;(te=this._factories.get(U))===null||te===void 0||te.dispose();const he=new q(this,U,X);return this._factories.set(U,he),(0,N.OF)(()=>{const _e=this._factories.get(U);!_e||_e!==he||(this._factories.delete(U),_e.dispose())})}getOrCreate(U){return ne(this,void 0,void 0,function*(){const X=this.get(U);if(X)return X;const te=this._factories.get(U);return!te||te.isResolved?null:(yield te.resolve(),this.get(U))})}get(U){return this._map.get(U)||null}isResolved(U){if(this.get(U))return!0;const te=this._factories.get(U);return!!(!te||te.isResolved)}setColorMap(U){this._colorMap=U,this._onDidChange.fire({changedLanguages:Array.from(this._map.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class q extends N.JT{constructor(U,X,te){super(),this._registry=U,this._languageId=X,this._factory=te,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}resolve(){return ne(this,void 0,void 0,function*(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise})}_create(){return ne(this,void 0,void 0,function*(){const U=yield Promise.resolve(this._factory.createTokenizationSupport());this._isResolved=!0,U&&!this._isDisposed&&this._register(this._registry.register(this._languageId,U))})}}class z{constructor(U,X,te){this._tokenBrand=void 0,this.offset=U,this.type=X,this.language=te}toString(){return"("+this.offset+", "+this.type+")"}}class y{constructor(U,X){this._tokenizationResultBrand=void 0,this.tokens=U,this.endState=X}}class C{constructor(U,X){this._encodedTokenizationResultBrand=void 0,this.tokens=U,this.endState=X}}var L;(function(A){const U=new Map;U.set(0,k.lA.symbolMethod),U.set(1,k.lA.symbolFunction),U.set(2,k.lA.symbolConstructor),U.set(3,k.lA.symbolField),U.set(4,k.lA.symbolVariable),U.set(5,k.lA.symbolClass),U.set(6,k.lA.symbolStruct),U.set(7,k.lA.symbolInterface),U.set(8,k.lA.symbolModule),U.set(9,k.lA.symbolProperty),U.set(10,k.lA.symbolEvent),U.set(11,k.lA.symbolOperator),U.set(12,k.lA.symbolUnit),U.set(13,k.lA.symbolValue),U.set(15,k.lA.symbolEnum),U.set(14,k.lA.symbolConstant),U.set(15,k.lA.symbolEnum),U.set(16,k.lA.symbolEnumMember),U.set(17,k.lA.symbolKeyword),U.set(27,k.lA.symbolSnippet),U.set(18,k.lA.symbolText),U.set(19,k.lA.symbolColor),U.set(20,k.lA.symbolFile),U.set(21,k.lA.symbolReference),U.set(22,k.lA.symbolCustomColor),U.set(23,k.lA.symbolFolder),U.set(24,k.lA.symbolTypeParameter),U.set(25,k.lA.account),U.set(26,k.lA.issues);function X(_e){let ge=U.get(_e);return ge||(console.info("No codicon found for CompletionItemKind "+_e),ge=k.lA.symbolProperty),ge}A.toIcon=X;const te=new Map;te.set("method",0),te.set("function",1),te.set("constructor",2),te.set("field",3),te.set("variable",4),te.set("class",5),te.set("struct",6),te.set("interface",7),te.set("module",8),te.set("property",9),te.set("event",10),te.set("operator",11),te.set("unit",12),te.set("value",13),te.set("constant",14),te.set("enum",15),te.set("enum-member",16),te.set("enumMember",16),te.set("keyword",17),te.set("snippet",27),te.set("text",18),te.set("color",19),te.set("file",20),te.set("reference",21),te.set("customcolor",22),te.set("folder",23),te.set("type-parameter",24),te.set("typeParameter",24),te.set("account",25),te.set("issue",26);function he(_e,ge){let me=te.get(_e);return typeof me>"u"&&!ge&&(me=9),me}A.fromString=he})(L||(L={}));var b;(function(A){A[A.Automatic=0]="Automatic",A[A.Explicit=1]="Explicit"})(b||(b={}));var d;(function(A){A[A.Invoke=1]="Invoke",A[A.TriggerCharacter=2]="TriggerCharacter",A[A.ContentChange=3]="ContentChange"})(d||(d={}));var S;(function(A){A[A.Text=0]="Text",A[A.Read=1]="Read",A[A.Write=2]="Write"})(S||(S={}));function E(A){return A&&u.o.isUri(A.uri)&&ie.e.isIRange(A.range)&&(ie.e.isIRange(A.originSelectionRange)||ie.e.isIRange(A.targetSelectionRange))}var D;(function(A){const U=new Map;U.set(0,k.lA.symbolFile),U.set(1,k.lA.symbolModule),U.set(2,k.lA.symbolNamespace),U.set(3,k.lA.symbolPackage),U.set(4,k.lA.symbolClass),U.set(5,k.lA.symbolMethod),U.set(6,k.lA.symbolProperty),U.set(7,k.lA.symbolField),U.set(8,k.lA.symbolConstructor),U.set(9,k.lA.symbolEnum),U.set(10,k.lA.symbolInterface),U.set(11,k.lA.symbolFunction),U.set(12,k.lA.symbolVariable),U.set(13,k.lA.symbolConstant),U.set(14,k.lA.symbolString),U.set(15,k.lA.symbolNumber),U.set(16,k.lA.symbolBoolean),U.set(17,k.lA.symbolArray),U.set(18,k.lA.symbolObject),U.set(19,k.lA.symbolKey),U.set(20,k.lA.symbolNull),U.set(21,k.lA.symbolEnumMember),U.set(22,k.lA.symbolStruct),U.set(23,k.lA.symbolEvent),U.set(24,k.lA.symbolOperator),U.set(25,k.lA.symbolTypeParameter);function X(te){let he=U.get(te);return he||(console.info("No codicon found for SymbolKind "+te),he=k.lA.symbolProperty),he}A.toIcon=X})(D||(D={}));class x{constructor(U){this.value=U}}x.Comment=new x("comment"),x.Imports=new x("imports"),x.Region=new x("region");var K;(function(A){function U(X){return!X||typeof X!="object"?!1:typeof X.id=="string"&&typeof X.title=="string"}A.is=U})(K||(K={}));var T;(function(A){A[A.Type=1]="Type",A[A.Parameter=2]="Parameter"})(T||(T={}));const W=new Z},40887:(At,Be,m)=>{m.d(Be,{$9:()=>z,UF:()=>q,n8:()=>Z,r7:()=>ne,tI:()=>y});var k=m(34504),u=m(96618),ie=m(44725),Q=m(38490);function N(C,L,b){const d=C.tokenization.getLanguageIdAtPosition(L,0);if(L>1){let S,E=-1;for(S=L-1;S>=1;S--){if(C.tokenization.getLanguageIdAtPosition(S,0)!==d)return E;const D=C.getLineContent(S);if(b.shouldIgnore(D)||/^\s+$/.test(D)||D===""){E=S;continue}return S}}return-1}function ne(C,L,b,d=!0,S){if(C<4)return null;const E=S.getLanguageConfiguration(L.tokenization.getLanguageId()).indentRulesSupport;if(!E)return null;if(b<=1)return{indentation:"",action:null};const D=N(L,b,E);if(D<0)return null;if(D<1)return{indentation:"",action:null};const x=L.getLineContent(D);if(E.shouldIncrease(x)||E.shouldIndentNextLine(x))return{indentation:k.V8(x),action:u.wU.Indent,line:D};if(E.shouldDecrease(x))return{indentation:k.V8(x),action:null,line:D};{if(D===1)return{indentation:k.V8(L.getLineContent(D)),action:null,line:D};const K=D-1,T=E.getIndentMetadata(L.getLineContent(K));if(!(T&3)&&T&4){let W=0;for(let A=K-1;A>0;A--)if(!E.shouldIndentNextLine(L.getLineContent(A))){W=A;break}return{indentation:k.V8(L.getLineContent(W+1)),action:null,line:W+1}}if(d)return{indentation:k.V8(L.getLineContent(D)),action:null,line:D};for(let W=D;W>0;W--){const A=L.getLineContent(W);if(E.shouldIncrease(A))return{indentation:k.V8(A),action:u.wU.Indent,line:W};if(E.shouldIndentNextLine(A)){let U=0;for(let X=W-1;X>0;X--)if(!E.shouldIndentNextLine(L.getLineContent(W))){U=X;break}return{indentation:k.V8(L.getLineContent(U+1)),action:null,line:U+1}}else if(E.shouldDecrease(A))return{indentation:k.V8(A),action:null,line:W}}return{indentation:k.V8(L.getLineContent(1)),action:null,line:1}}}function Z(C,L,b,d,S,E){if(C<4)return null;const D=E.getLanguageConfiguration(b);if(!D)return null;const x=E.getLanguageConfiguration(b).indentRulesSupport;if(!x)return null;const K=ne(C,L,d,void 0,E),T=L.getLineContent(d);if(K){const W=K.line;if(W!==void 0){const A=D.onEnter(C,"",L.getLineContent(W),"");if(A){let U=k.V8(L.getLineContent(W));return A.removeText&&(U=U.substring(0,U.length-A.removeText)),A.indentAction===u.wU.Indent||A.indentAction===u.wU.IndentOutdent?U=S.shiftIndent(U):A.indentAction===u.wU.Outdent&&(U=S.unshiftIndent(U)),x.shouldDecrease(T)&&(U=S.unshiftIndent(U)),A.appendText&&(U+=A.appendText),k.V8(U)}}return x.shouldDecrease(T)?K.action===u.wU.Indent?K.indentation:S.unshiftIndent(K.indentation):K.action===u.wU.Indent?S.shiftIndent(K.indentation):K.indentation}return null}function q(C,L,b,d,S){if(C<4)return null;L.tokenization.forceTokenization(b.startLineNumber);const E=L.tokenization.getLineTokens(b.startLineNumber),D=(0,ie.wH)(E,b.startColumn-1),x=D.getLineContent();let K=!1,T;D.firstCharOffset>0&&E.getLanguageId(0)!==D.languageId?(K=!0,T=x.substr(0,b.startColumn-1-D.firstCharOffset)):T=E.getLineContent().substring(0,b.startColumn-1);let W;b.isEmpty()?W=x.substr(b.startColumn-1-D.firstCharOffset):W=(0,Q.n2)(L,b.endLineNumber,b.endColumn).getLineContent().substr(b.endColumn-1-D.firstCharOffset);const A=S.getLanguageConfiguration(D.languageId).indentRulesSupport;if(!A)return null;const U=T,X=k.V8(T),te={tokenization:{getLineTokens:me=>L.tokenization.getLineTokens(me),getLanguageId:()=>L.getLanguageId(),getLanguageIdAtPosition:(me,re)=>L.getLanguageIdAtPosition(me,re)},getLineContent:me=>me===b.startLineNumber?U:L.getLineContent(me)},he=k.V8(E.getLineContent()),_e=ne(C,te,b.startLineNumber+1,void 0,S);if(!_e){const me=K?he:X;return{beforeEnter:me,afterEnter:me}}let ge=K?he:_e.indentation;return _e.action===u.wU.Indent&&(ge=d.shiftIndent(ge)),A.shouldDecrease(W)&&(ge=d.unshiftIndent(ge)),{beforeEnter:K?he:X,afterEnter:ge}}function z(C,L,b,d,S,E){if(C<4)return null;const D=(0,Q.n2)(L,b.startLineNumber,b.startColumn);if(D.firstCharOffset)return null;const x=E.getLanguageConfiguration(D.languageId).indentRulesSupport;if(!x)return null;const K=D.getLineContent(),T=K.substr(0,b.startColumn-1-D.firstCharOffset);let W;if(b.isEmpty()?W=K.substr(b.startColumn-1-D.firstCharOffset):W=(0,Q.n2)(L,b.endLineNumber,b.endColumn).getLineContent().substr(b.endColumn-1-D.firstCharOffset),!x.shouldDecrease(T+W)&&x.shouldDecrease(T+d+W)){const A=ne(C,L,b.startLineNumber,!1,E);if(!A)return null;let U=A.indentation;return A.action!==u.wU.Indent&&(U=S.unshiftIndent(U)),U}return null}function y(C,L,b){const d=b.getLanguageConfiguration(C.getLanguageId()).indentRulesSupport;return!d||L<1||L>C.getLineCount()?null:d.getIndentMetadata(C.getLineContent(L))}},84397:(At,Be,m)=>{m.d(Be,{A:()=>ie});var k=m(96618),u=m(38490);function ie(Q,N,ne,Z){const q=(0,u.n2)(N,ne.startLineNumber,ne.startColumn),z=Z.getLanguageConfiguration(q.languageId);if(!z)return null;const y=q.getLineContent(),C=y.substr(0,ne.startColumn-1-q.firstCharOffset);let L;ne.isEmpty()?L=y.substr(ne.startColumn-1-q.firstCharOffset):L=(0,u.n2)(N,ne.endLineNumber,ne.endColumn).getLineContent().substr(ne.endColumn-1-q.firstCharOffset);let b="";if(ne.startLineNumber>1&&q.firstCharOffset===0){const K=(0,u.n2)(N,ne.startLineNumber-1);K.languageId===q.languageId&&(b=K.getLineContent())}const d=z.onEnter(Q,b,C,L);if(!d)return null;const S=d.indentAction;let E=d.appendText;const D=d.removeText||0;E?S===k.wU.Indent&&(E=" "+E):S===k.wU.Indent||S===k.wU.IndentOutdent?E=" ":E="";let x=(0,u.u0)(N,ne.startLineNumber,ne.startColumn);return D&&(x=x.substring(0,x.length-D)),{indentAction:S,appendText:E,removeText:D,indentation:x}}},45440:(At,Be,m)=>{m.d(Be,{O:()=>u});var k=m(41846);const u=(0,k.yh)("languageService")},96618:(At,Be,m)=>{m.d(Be,{V6:()=>u,c$:()=>ie,wU:()=>k});var k;(function(N){N[N.None=0]="None",N[N.Indent=1]="Indent",N[N.IndentOutdent=2]="IndentOutdent",N[N.Outdent=3]="Outdent"})(k||(k={}));class u{constructor(ne){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=ne.open,this.close=ne.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(ne.notIn))for(let Z=0,q=ne.notIn.length;Z<q;Z++)switch(ne.notIn[Z]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1;break}}isOK(ne){switch(ne){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(ne,Z){if(ne.getTokenCount()===0)return!0;const q=ne.findTokenIndexAtOffset(Z-2),z=ne.getStandardTokenType(q);return this.isOK(z)}_findNeutralCharacterInRange(ne,Z){for(let q=ne;q<=Z;q++){const z=String.fromCharCode(q);if(!this.open.includes(z)&&!this.close.includes(z))return z}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class ie{constructor(ne){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const Z of ne)Q(this.autoClosingPairsOpenByStart,Z.open.charAt(0),Z),Q(this.autoClosingPairsOpenByEnd,Z.open.charAt(Z.open.length-1),Z),Q(this.autoClosingPairsCloseByStart,Z.close.charAt(0),Z),Q(this.autoClosingPairsCloseByEnd,Z.close.charAt(Z.close.length-1),Z),Z.close.length===1&&Z.open.length===1&&Q(this.autoClosingPairsCloseSingleChar,Z.close,Z)}}function Q(N,ne,Z){N.has(ne)?N.get(ne).push(Z):N.set(ne,[Z])}},38490:(At,Be,m)=>{m.d(Be,{c_:()=>me,u0:()=>$,n2:()=>ue});var k=m(86640),u=m(50149),ie=m(34504),Q=m(44005),N=m(96618),ne=m(44725);class Z{constructor(Ee){if(Ee.autoClosingPairs?this._autoClosingPairs=Ee.autoClosingPairs.map(Fe=>new N.V6(Fe)):Ee.brackets?this._autoClosingPairs=Ee.brackets.map(Fe=>new N.V6({open:Fe[0],close:Fe[1]})):this._autoClosingPairs=[],Ee.__electricCharacterSupport&&Ee.__electricCharacterSupport.docComment){const Fe=Ee.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new N.V6({open:Fe.open,close:Fe.close||""}))}this._autoCloseBefore=typeof Ee.autoCloseBefore=="string"?Ee.autoCloseBefore:Z.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=Ee.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(){return this._autoCloseBefore}getSurroundingPairs(){return this._surroundingPairs}}Z.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=`;:.,=}])> `;var q=m(99359),z=m(70013);class y{constructor(Ee){this._richEditBrackets=Ee}getElectricCharacters(){const Ee=[];if(this._richEditBrackets)for(const Fe of this._richEditBrackets.brackets)for(const je of Fe.close){const Re=je.charAt(je.length-1);Ee.push(Re)}return(0,q.EB)(Ee)}onElectricCharacter(Ee,Fe,je){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const Re=Fe.findTokenIndexAtOffset(je-1);if((0,ne.Bu)(Fe.getStandardTokenType(Re)))return null;const tt=this._richEditBrackets.reversedRegex,at=Fe.getLineContent().substring(0,je-1)+Ee,Dt=z.Vr.findPrevBracketInRange(tt,1,at,0,at.length);if(!Dt)return null;const Et=at.substring(Dt.startColumn-1,Dt.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[Et])return null;const ke=Fe.getActualLineContentBefore(Dt.startColumn-1);return/^\s*$/.test(ke)?{matchOpenBracket:Et}:null}}function C($e){return $e.global&&($e.lastIndex=0),!0}class L{constructor(Ee){this._indentationRules=Ee}shouldIncrease(Ee){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&C(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(Ee))}shouldDecrease(Ee){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&C(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(Ee))}shouldIndentNextLine(Ee){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&C(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(Ee))}shouldIgnore(Ee){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&C(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(Ee))}getIndentMetadata(Ee){let Fe=0;return this.shouldIncrease(Ee)&&(Fe+=1),this.shouldDecrease(Ee)&&(Fe+=2),this.shouldIndentNextLine(Ee)&&(Fe+=4),this.shouldIgnore(Ee)&&(Fe+=8),Fe}}var b=m(35230);class d{constructor(Ee){Ee=Ee||{},Ee.brackets=Ee.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],Ee.brackets.forEach(Fe=>{const je=d._createOpenBracketRegExp(Fe[0]),Re=d._createCloseBracketRegExp(Fe[1]);je&&Re&&this._brackets.push({open:Fe[0],openRegExp:je,close:Fe[1],closeRegExp:Re})}),this._regExpRules=Ee.onEnterRules||[]}onEnter(Ee,Fe,je,Re){if(Ee>=3)for(let tt=0,at=this._regExpRules.length;tt<at;tt++){const Dt=this._regExpRules[tt];if([{reg:Dt.beforeText,text:je},{reg:Dt.afterText,text:Re},{reg:Dt.previousLineText,text:Fe}].every(Nt=>Nt.reg?(Nt.reg.lastIndex=0,Nt.reg.test(Nt.text)):!0))return Dt.action}if(Ee>=2&&je.length>0&&Re.length>0)for(let tt=0,at=this._brackets.length;tt<at;tt++){const Dt=this._brackets[tt];if(Dt.openRegExp.test(je)&&Dt.closeRegExp.test(Re))return{indentAction:N.wU.IndentOutdent}}if(Ee>=2&&je.length>0){for(let tt=0,at=this._brackets.length;tt<at;tt++)if(this._brackets[tt].openRegExp.test(je))return{indentAction:N.wU.Indent}}return null}static _createOpenBracketRegExp(Ee){let Fe=ie.ec(Ee);return/\B/.test(Fe.charAt(0))||(Fe="\\b"+Fe),Fe+="\\s*$",d._safeRegExp(Fe)}static _createCloseBracketRegExp(Ee){let Fe=ie.ec(Ee);return/\B/.test(Fe.charAt(Fe.length-1))||(Fe=Fe+"\\b"),Fe="^\\s*"+Fe,d._safeRegExp(Fe)}static _safeRegExp(Ee){try{return new RegExp(Ee)}catch(Fe){return(0,b.dL)(Fe),null}}}var S=m(41846),E=m(47133),D=m(45440),x=m(59894),K=m(74621),T=m(60912);class W{constructor(Ee,Fe){this.languageId=Ee;let je;Fe.colorizedBracketPairs?je=A(Fe.colorizedBracketPairs.map(at=>[at[0],at[1]])):Fe.brackets?je=A(Fe.brackets.map(at=>[at[0],at[1]]).filter(at=>!(at[0]==="<"&&at[1]===">"))):je=[];const Re=new T.b(at=>{const Dt=new Set;return{info:new X(this,at,Dt),closing:Dt}}),tt=new T.b(at=>{const Dt=new Set;return{info:new te(this,at,Dt),opening:Dt}});for(const[at,Dt]of je){const Et=Re.get(at),Nt=tt.get(Dt);Et.closing.add(Nt.info),Nt.opening.add(Et.info)}this._openingBrackets=new Map([...Re.cachedValues].map(([at,Dt])=>[at,Dt.info])),this._closingBrackets=new Map([...tt.cachedValues].map(([at,Dt])=>[at,Dt.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(Ee){return this._openingBrackets.get(Ee)}getClosingBracketInfo(Ee){return this._closingBrackets.get(Ee)}getBracketInfo(Ee){return this.getOpeningBracketInfo(Ee)||this.getClosingBracketInfo(Ee)}}function A($e){return $e.filter(([Ee,Fe])=>Ee!==""&&Fe!=="")}class U{constructor(Ee,Fe){this.config=Ee,this.bracketText=Fe}get languageId(){return this.config.languageId}}class X extends U{constructor(Ee,Fe,je){super(Ee,Fe),this.openedBrackets=je,this.isOpeningBracket=!0}}class te extends U{constructor(Ee,Fe,je){super(Ee,Fe),this.closedBrackets=je,this.isOpeningBracket=!1}closes(Ee){if(Ee.languageId===this.languageId&&Ee.config!==this.config)throw new b.he("Brackets from different language configuration cannot be used.");return this.closedBrackets.has(Ee)}getClosedBrackets(){return[...this.closedBrackets]}}var he=function($e,Ee,Fe,je){var Re=arguments.length,tt=Re<3?Ee:je===null?je=Object.getOwnPropertyDescriptor(Ee,Fe):je,at;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")tt=Reflect.decorate($e,Ee,Fe,je);else for(var Dt=$e.length-1;Dt>=0;Dt--)(at=$e[Dt])&&(tt=(Re<3?at(tt):Re>3?at(Ee,Fe,tt):at(Ee,Fe))||tt);return Re>3&&tt&&Object.defineProperty(Ee,Fe,tt),tt},_e=function($e,Ee){return function(Fe,je){Ee(Fe,je,$e)}};class ge{constructor(Ee){this.languageId=Ee}affects(Ee){return this.languageId?this.languageId===Ee:!0}}const me=(0,S.yh)("languageConfigurationService");let re=class extends u.JT{constructor(Ee,Fe){super(),this.configurationService=Ee,this.languageService=Fe,this._registry=this._register(new ct),this.onDidChangeEmitter=this._register(new k.Q5),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const je=new Set(Object.values(de));this._register(this.configurationService.onDidChangeConfiguration(Re=>{const tt=Re.change.keys.some(Dt=>je.has(Dt)),at=Re.change.overrides.filter(([Dt,Et])=>Et.some(Nt=>je.has(Nt))).map(([Dt])=>Dt);if(tt)this.configurations.clear(),this.onDidChangeEmitter.fire(new ge(void 0));else for(const Dt of at)this.languageService.isRegisteredLanguageId(Dt)&&(this.configurations.delete(Dt),this.onDidChangeEmitter.fire(new ge(Dt)))})),this._register(this._registry.onDidChange(Re=>{this.configurations.delete(Re.languageId),this.onDidChangeEmitter.fire(new ge(Re.languageId))}))}register(Ee,Fe,je){return this._registry.register(Ee,Fe,je)}getLanguageConfiguration(Ee){let Fe=this.configurations.get(Ee);return Fe||(Fe=Y(Ee,this._registry,this.configurationService,this.languageService),this.configurations.set(Ee,Fe)),Fe}};re=he([_e(0,E.Ui),_e(1,D.O)],re);function Y($e,Ee,Fe,je){let Re=Ee.getLanguageConfiguration($e);if(!Re){if(!je.isRegisteredLanguageId($e))throw new Error(`Language id "${$e}" is not configured nor known`);Re=new Ve($e,{})}const tt=oe(Re.languageId,Fe),at=xe([Re.underlyingConfig,tt]);return new Ve(Re.languageId,at)}const de={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function oe($e,Ee){const Fe=Ee.getValue(de.brackets,{overrideIdentifier:$e}),je=Ee.getValue(de.colorizedBracketPairs,{overrideIdentifier:$e});return{brackets:J(Fe),colorizedBracketPairs:J(je)}}function J($e){if(Array.isArray($e))return $e.map(Ee=>{if(!(!Array.isArray(Ee)||Ee.length!==2))return[Ee[0],Ee[1]]}).filter(Ee=>!!Ee)}function $($e,Ee,Fe){const je=$e.getLineContent(Ee);let Re=ie.V8(je);return Re.length>Fe-1&&(Re=Re.substring(0,Fe-1)),Re}function ue($e,Ee,Fe){$e.tokenization.forceTokenization(Ee);const je=$e.tokenization.getLineTokens(Ee),Re=typeof Fe>"u"?$e.getLineMaxColumn(Ee)-1:Fe-1;return(0,ne.wH)(je,Re)}class ve{constructor(Ee){this.languageId=Ee,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(Ee,Fe){const je=new O(Ee,Fe,++this._order);return this._entries.push(je),this._resolved=null,(0,u.OF)(()=>{for(let Re=0;Re<this._entries.length;Re++)if(this._entries[Re]===je){this._entries.splice(Re,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){const Ee=this._resolve();Ee&&(this._resolved=new Ve(this.languageId,Ee))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(O.cmp),xe(this._entries.map(Ee=>Ee.configuration)))}}function xe($e){let Ee={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 Fe of $e)Ee={comments:Fe.comments||Ee.comments,brackets:Fe.brackets||Ee.brackets,wordPattern:Fe.wordPattern||Ee.wordPattern,indentationRules:Fe.indentationRules||Ee.indentationRules,onEnterRules:Fe.onEnterRules||Ee.onEnterRules,autoClosingPairs:Fe.autoClosingPairs||Ee.autoClosingPairs,surroundingPairs:Fe.surroundingPairs||Ee.surroundingPairs,autoCloseBefore:Fe.autoCloseBefore||Ee.autoCloseBefore,folding:Fe.folding||Ee.folding,colorizedBracketPairs:Fe.colorizedBracketPairs||Ee.colorizedBracketPairs,__electricCharacterSupport:Fe.__electricCharacterSupport||Ee.__electricCharacterSupport};return Ee}class O{constructor(Ee,Fe,je){this.configuration=Ee,this.priority=Fe,this.order=je}static cmp(Ee,Fe){return Ee.priority===Fe.priority?Ee.order-Fe.order:Ee.priority-Fe.priority}}class rt{constructor(Ee){this.languageId=Ee}}class ct extends u.JT{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new k.Q5),this.onDidChange=this._onDidChange.event,this._register(this.register(K.bd,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(Ee,Fe,je=0){let Re=this._entries.get(Ee);Re||(Re=new ve(Ee),this._entries.set(Ee,Re));const tt=Re.register(Fe,je);return this._onDidChange.fire(new rt(Ee)),(0,u.OF)(()=>{tt.dispose(),this._onDidChange.fire(new rt(Ee))})}getLanguageConfiguration(Ee){const Fe=this._entries.get(Ee);return Fe?.getResolvedConfiguration()||null}}class Ve{constructor(Ee,Fe){this.languageId=Ee,this.underlyingConfig=Fe,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new d(this.underlyingConfig):null,this.comments=Ve._handleComments(this.underlyingConfig),this.characterPair=new Z(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Q.Af,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new L(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new W(Ee,this.underlyingConfig)}getWordDefinition(){return(0,Q.eq)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new z.EA(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new y(this.brackets)),this._electricCharacter}onEnter(Ee,Fe,je,Re){return this._onEnterSupport?this._onEnterSupport.onEnter(Ee,Fe,je,Re):null}getAutoClosingPairs(){return new N.c$(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(){return this.characterPair.getAutoCloseBeforeSet()}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(Ee){const Fe=Ee.comments;if(!Fe)return null;const je={};if(Fe.lineComment&&(je.lineCommentToken=Fe.lineComment),Fe.blockComment){const[Re,tt]=Fe.blockComment;je.blockCommentStartToken=Re,je.blockCommentEndToken=tt}return je}}(0,x.z)(me,re)},74621:(At,Be,m)=>{m.d(Be,{bd:()=>z,dQ:()=>q});var k=m(88631),u=m(86640),ie=m(77220),Q=m(37800),N=m(43148);const ne={ModesRegistry:"editor.modesRegistry"};class Z{constructor(){this._onDidChangeLanguages=new u.Q5,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(L){return this._languages.push(L),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let b=0,d=this._languages.length;b<d;b++)if(this._languages[b]===L){this._languages.splice(b,1);return}}}}getLanguages(){return this._languages}}const q=new Z;ie.B.add(ne.ModesRegistry,q);const z="plaintext",y=".txt";q.registerLanguage({id:z,extensions:[y],aliases:[k.NC("plainText.alias","Plain Text"),"text"],mimetypes:[Q.v.text]}),ie.B.as(N.IP.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}])},79995:(At,Be,m)=>{m.d(Be,{Dy:()=>Q,Ri:()=>ie,TJ:()=>u});var k=m(90865);const u=new class{clone(){return this}equals(N){return this===N}};function ie(N,ne){return new k.hG([new k.WU(0,"",N)],ne)}function Q(N,ne){const Z=new Uint32Array(2);return Z[0]=0,Z[1]=(N<<0|0|0|32768|2<<24)>>>0,new k.DI(Z,ne===null?u:ne)}},44725:(At,Be,m)=>{m.d(Be,{Bu:()=>ie,wH:()=>k});function k(Q,N){const ne=Q.getCount(),Z=Q.findTokenIndexAtOffset(N),q=Q.getLanguageId(Z);let z=Z;for(;z+1<ne&&Q.getLanguageId(z+1)===q;)z++;let y=Z;for(;y>0&&Q.getLanguageId(y-1)===q;)y--;return new u(Q,q,y,z+1,Q.getStartOffset(y),Q.getEndOffset(z))}class u{constructor(N,ne,Z,q,z,y){this._scopedLineTokensBrand=void 0,this._actual=N,this.languageId=ne,this._firstTokenIndex=Z,this._lastTokenIndex=q,this.firstCharOffset=z,this._lastCharOffset=y}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(N){return this._actual.getLineContent().substring(0,this.firstCharOffset+N)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(N){return this._actual.findTokenIndexAtOffset(N+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(N){return this._actual.getStandardTokenType(N+this._firstTokenIndex)}}function ie(Q){return(Q&3)!==0}},70013:(At,Be,m)=>{m.d(Be,{EA:()=>ne,Vr:()=>D});var k=m(34504),u=m(96808),ie=m(62685);class Q{constructor(K,T,W,A,U,X){this._richEditBracketBrand=void 0,this.languageId=K,this.index=T,this.open=W,this.close=A,this.forwardRegex=U,this.reversedRegex=X,this._openSet=Q._toSet(this.open),this._closeSet=Q._toSet(this.close)}isOpen(K){return this._openSet.has(K)}isClose(K){return this._closeSet.has(K)}static _toSet(K){const T=new Set;for(const W of K)T.add(W);return T}}function N(x){const K=x.length;x=x.map(X=>[X[0].toLowerCase(),X[1].toLowerCase()]);const T=[];for(let X=0;X<K;X++)T[X]=X;const W=(X,te)=>{const[he,_e]=X,[ge,me]=te;return he===ge||he===me||_e===ge||_e===me},A=(X,te)=>{const he=Math.min(X,te),_e=Math.max(X,te);for(let ge=0;ge<K;ge++)T[ge]===_e&&(T[ge]=he)};for(let X=0;X<K;X++){const te=x[X];for(let he=X+1;he<K;he++){const _e=x[he];W(te,_e)&&A(T[X],T[he])}}const U=[];for(let X=0;X<K;X++){const te=[],he=[];for(let _e=0;_e<K;_e++)if(T[_e]===X){const[ge,me]=x[_e];te.push(ge),he.push(me)}te.length>0&&U.push({open:te,close:he})}return U}class ne{constructor(K,T){this._richEditBracketsBrand=void 0;const W=N(T);this.brackets=W.map((A,U)=>new Q(K,U,A.open,A.close,y(A.open,A.close,W,U),C(A.open,A.close,W,U))),this.forwardRegex=L(this.brackets),this.reversedRegex=b(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const A of this.brackets){for(const U of A.open)this.textIsBracket[U]=A,this.textIsOpenBracket[U]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,U.length);for(const U of A.close)this.textIsBracket[U]=A,this.textIsOpenBracket[U]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,U.length)}}}function Z(x,K,T,W){for(let A=0,U=K.length;A<U;A++){if(A===T)continue;const X=K[A];for(const te of X.open)te.indexOf(x)>=0&&W.push(te);for(const te of X.close)te.indexOf(x)>=0&&W.push(te)}}function q(x,K){return x.length-K.length}function z(x){if(x.length<=1)return x;const K=[],T=new Set;for(const W of x)T.has(W)||(K.push(W),T.add(W));return K}function y(x,K,T,W){let A=[];A=A.concat(x),A=A.concat(K);for(let U=0,X=A.length;U<X;U++)Z(A[U],T,W,A);return A=z(A),A.sort(q),A.reverse(),S(A)}function C(x,K,T,W){let A=[];A=A.concat(x),A=A.concat(K);for(let U=0,X=A.length;U<X;U++)Z(A[U],T,W,A);return A=z(A),A.sort(q),A.reverse(),S(A.map(E))}function L(x){let K=[];for(const T of x){for(const W of T.open)K.push(W);for(const W of T.close)K.push(W)}return K=z(K),S(K)}function b(x){let K=[];for(const T of x){for(const W of T.open)K.push(W);for(const W of T.close)K.push(W)}return K=z(K),S(K.map(E))}function d(x){const K=/^[\w ]+$/.test(x);return x=k.ec(x),K?`\\b${x}\\b`:x}function S(x){const K=`(${x.map(d).join(")|(")})`;return k.GF(K,!0)}const E=function(){function x(W){if(u.lZ){const A=new Uint16Array(W.length);let U=0;for(let X=W.length-1;X>=0;X--)A[U++]=W.charCodeAt(X);return u.oe().decode(A)}else{const A=[];let U=0;for(let X=W.length-1;X>=0;X--)A[U++]=W.charAt(X);return A.join("")}}let K=null,T=null;return function(A){return K!==A&&(K=A,T=x(K)),T}}();class D{static _findPrevBracketInText(K,T,W,A){const U=W.match(K);if(!U)return null;const X=W.length-(U.index||0),te=U[0].length,he=A+X;return new ie.e(T,he-te+1,T,he+1)}static findPrevBracketInRange(K,T,W,A,U){const te=E(W).substring(W.length-U,W.length-A);return this._findPrevBracketInText(K,T,te,A)}static findNextBracketInText(K,T,W,A){const U=W.match(K);if(!U)return null;const X=U.index||0,te=U[0].length;if(te===0)return null;const he=A+X;return new ie.e(T,he+1,T,he+1+te)}static findNextBracketInRange(K,T,W,A,U){const X=W.substring(A,U);return this.findNextBracketInText(K,T,X,A)}}},78759:(At,Be,m)=>{m.d(Be,{C2:()=>Z,Fq:()=>q});var k=m(34504),u=m(38684),ie=m(90865),Q=m(79995),N=function(y,C,L,b){function d(S){return S instanceof L?S:new L(function(E){E(S)})}return new(L||(L=Promise))(function(S,E){function D(T){try{K(b.next(T))}catch(W){E(W)}}function x(T){try{K(b.throw(T))}catch(W){E(W)}}function K(T){T.done?S(T.value):d(T.value).then(D,x)}K((b=b.apply(y,C||[])).next())})};const ne={getInitialState:()=>Q.TJ,tokenizeEncoded:(y,C,L)=>(0,Q.Dy)(0,L)};function Z(y,C,L){return N(this,void 0,void 0,function*(){if(!L)return z(C,y.languageIdCodec,ne);const b=yield ie.RW.getOrCreate(L);return z(C,y.languageIdCodec,b||ne)})}function q(y,C,L,b,d,S,E){let D="<div>",x=b,K=0,T=!0;for(let W=0,A=C.getCount();W<A;W++){const U=C.getEndOffset(W);if(U<=b)continue;let X="";for(;x<U&&x<d;x++){const te=y.charCodeAt(x);switch(te){case 9:{let he=S-(x+K)%S;for(K+=he-1;he>0;)E&&T?(X+=" ",T=!1):(X+=" ",T=!0),he--;break}case 60:X+="<",T=!1;break;case 62:X+=">",T=!1;break;case 38:X+="&",T=!1;break;case 0:X+="�",T=!1;break;case 65279:case 8232:case 8233:case 133:X+="\uFFFD",T=!1;break;case 13:X+="​",T=!1;break;case 32:E&&T?(X+=" ",T=!1):(X+=" ",T=!0);break;default:X+=String.fromCharCode(te),T=!1}}if(D+=`<span style="${C.getInlineStyle(W,L)}">${X}</span>`,U>d||x>=d)break}return D+="</div>",D}function z(y,C,L){let b='<div class="monaco-tokenized-source">';const d=k.uq(y);let S=L.getInitialState();for(let E=0,D=d.length;E<D;E++){const x=d[E];E>0&&(b+="<br/>");const K=L.tokenizeEncoded(x,!0,S);u.A.convertToEndOffset(K.tokens,x.length);const W=new u.A(K.tokens,x,C).inflate();let A=0;for(let U=0,X=W.getCount();U<X;U++){const te=W.getClassName(U),he=W.getEndOffset(U);b+=`<span class="${te}">${k.YU(x.substring(A,he))}</span>`,A=he}S=K.endState}return b+="</div>",b}},40115:(At,Be,m)=>{m.d(Be,{F5:()=>ie,Hf:()=>Z,Qi:()=>q,RM:()=>Q,Tx:()=>z,dJ:()=>N,je:()=>y,pt:()=>C,sh:()=>u,tk:()=>ne});var k=m(2758),u;(function(L){L[L.Left=1]="Left",L[L.Center=2]="Center",L[L.Right=4]="Right",L[L.Full=7]="Full"})(u||(u={}));var ie;(function(L){L[L.Inline=1]="Inline",L[L.Gutter=2]="Gutter"})(ie||(ie={}));var Q;(function(L){L[L.Both=0]="Both",L[L.Right=1]="Right",L[L.Left=2]="Left",L[L.None=3]="None"})(Q||(Q={}));class N{constructor(b){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,b.tabSize|0),this.indentSize=b.tabSize|0,this.insertSpaces=!!b.insertSpaces,this.defaultEOL=b.defaultEOL|0,this.trimAutoWhitespace=!!b.trimAutoWhitespace,this.bracketPairColorizationOptions=b.bracketPairColorizationOptions}equals(b){return this.tabSize===b.tabSize&&this.indentSize===b.indentSize&&this.insertSpaces===b.insertSpaces&&this.defaultEOL===b.defaultEOL&&this.trimAutoWhitespace===b.trimAutoWhitespace&&(0,k.fS)(this.bracketPairColorizationOptions,b.bracketPairColorizationOptions)}createChangeEvent(b){return{tabSize:this.tabSize!==b.tabSize,indentSize:this.indentSize!==b.indentSize,insertSpaces:this.insertSpaces!==b.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==b.trimAutoWhitespace}}}class ne{constructor(b,d){this._findMatchBrand=void 0,this.range=b,this.matches=d}}function Z(L){return L&&typeof L.read=="function"}class q{constructor(b,d,S,E,D,x){this.identifier=b,this.range=d,this.text=S,this.forceMoveMarkers=E,this.isAutoWhitespaceEdit=D,this._isTracked=x}}class z{constructor(b,d,S){this.regex=b,this.wordSeparators=d,this.simpleSearch=S}}class y{constructor(b,d,S){this.reverseEdits=b,this.changes=d,this.trimAutoWhitespaceLineNumbers=S}}function C(L){return!L.isTooLargeForSyncing()&&!L.isForSimpleWidget}},47134:(At,Be,m)=>{m.d(Be,{BH:()=>b,Dm:()=>S,Kd:()=>N,Y0:()=>ne,n2:()=>d});var k=m(76502),u=m(77438),ie=m(60937);class Q{constructor(D){this._length=D}get length(){return this._length}}class N extends Q{constructor(D,x,K,T,W){super(D),this.openingBracket=x,this.child=K,this.closingBracket=T,this.missingOpeningBracketIds=W}static create(D,x,K){let T=D.length;return x&&(T=(0,u.Ii)(T,x.length)),K&&(T=(0,u.Ii)(T,K.length)),new N(T,D,x,K,x?x.missingOpeningBracketIds:ie.tS.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(D){switch(D){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const D=new Array;return D.push(this.openingBracket),this.child&&D.push(this.child),this.closingBracket&&D.push(this.closingBracket),D}canBeReused(D){return!(this.closingBracket===null||D.intersects(this.missingOpeningBracketIds))}deepClone(){return new N(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(D,x){return this.child?this.child.computeMinIndentation((0,u.Ii)(D,this.openingBracket.length),x):Number.MAX_SAFE_INTEGER}}class ne extends Q{constructor(D,x,K){super(D),this.listHeight=x,this._missingOpeningBracketIds=K,this.cachedMinIndentation=-1}static create23(D,x,K,T=!1){let W=D.length,A=D.missingOpeningBracketIds;if(D.listHeight!==x.listHeight)throw new Error("Invalid list heights");if(W=(0,u.Ii)(W,x.length),A=A.merge(x.missingOpeningBracketIds),K){if(D.listHeight!==K.listHeight)throw new Error("Invalid list heights");W=(0,u.Ii)(W,K.length),A=A.merge(K.missingOpeningBracketIds)}return T?new q(W,D.listHeight+1,D,x,K,A):new Z(W,D.listHeight+1,D,x,K,A)}static getEmpty(){return new y(u.xl,0,[],ie.tS.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const D=this.childrenLength;if(D===0)return;const x=this.getChild(D-1),K=x.kind===4?x.toMutable():x;return x!==K&&this.setChild(D-1,K),K}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const x=this.getChild(0),K=x.kind===4?x.toMutable():x;return x!==K&&this.setChild(0,K),K}canBeReused(D){if(D.intersects(this.missingOpeningBracketIds))return!1;let x=this,K;for(;x.kind===4&&(K=x.childrenLength)>0;)x=x.getChild(K-1);return x.canBeReused(D)}handleChildrenChanged(){this.throwIfImmutable();const D=this.childrenLength;let x=this.getChild(0).length,K=this.getChild(0).missingOpeningBracketIds;for(let T=1;T<D;T++){const W=this.getChild(T);x=(0,u.Ii)(x,W.length),K=K.merge(W.missingOpeningBracketIds)}this._length=x,this._missingOpeningBracketIds=K,this.cachedMinIndentation=-1}computeMinIndentation(D,x){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let K=Number.MAX_SAFE_INTEGER,T=D;for(let W=0;W<this.childrenLength;W++){const A=this.getChild(W);A&&(K=Math.min(K,A.computeMinIndentation(T,x)),T=(0,u.Ii)(T,A.length))}return this.cachedMinIndentation=K,K}}class Z extends ne{constructor(D,x,K,T,W,A){super(D,x,A),this._item1=K,this._item2=T,this._item3=W}get childrenLength(){return this._item3!==null?3:2}getChild(D){switch(D){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(D,x){switch(D){case 0:this._item1=x;return;case 1:this._item2=x;return;case 2:this._item3=x;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}deepClone(){return new Z(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(D){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=D,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const D=this._item3;return this._item3=null,this.handleChildrenChanged(),D}prependChildOfSameHeight(D){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=D,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const D=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),D}toMutable(){return this}}class q extends Z{toMutable(){return new Z(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class z extends ne{constructor(D,x,K,T){super(D,x,T),this._children=K}get childrenLength(){return this._children.length}getChild(D){return this._children[D]}setChild(D,x){this._children[D]=x}get children(){return this._children}deepClone(){const D=new Array(this._children.length);for(let x=0;x<this._children.length;x++)D[x]=this._children[x].deepClone();return new z(this.length,this.listHeight,D,this.missingOpeningBracketIds)}appendChildOfSameHeight(D){this.throwIfImmutable(),this._children.push(D),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const D=this._children.pop();return this.handleChildrenChanged(),D}prependChildOfSameHeight(D){this.throwIfImmutable(),this._children.unshift(D),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const D=this._children.shift();return this.handleChildrenChanged(),D}toMutable(){return this}}class y extends z{toMutable(){return new z(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const C=[];class L extends Q{get listHeight(){return 0}get childrenLength(){return 0}getChild(D){return null}get children(){return C}deepClone(){return this}}class b extends L{get kind(){return 0}get missingOpeningBracketIds(){return ie.tS.getEmpty()}canBeReused(D){return!0}computeMinIndentation(D,x){const K=(0,u.Hw)(D),T=(K.columnCount===0?K.lineCount:K.lineCount+1)+1,W=(0,u.W9)((0,u.Ii)(D,this.length))+1;let A=Number.MAX_SAFE_INTEGER;for(let U=T;U<=W;U++){const X=x.getLineFirstNonWhitespaceColumn(U),te=x.getLineContent(U);if(X===0)continue;const he=k.i.visibleColumnFromColumn(te,X,x.getOptions().tabSize);A=Math.min(A,he)}return A}}class d extends L{constructor(D,x,K){super(D),this.bracketInfo=x,this.bracketIds=K}static create(D,x,K){return new d(D,x,K)}get kind(){return 1}get missingOpeningBracketIds(){return ie.tS.getEmpty()}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(D){return!1}computeMinIndentation(D,x){return Number.MAX_SAFE_INTEGER}}class S extends L{constructor(D,x){super(x),this.missingOpeningBracketIds=D}get kind(){return 3}canBeReused(D){return!D.intersects(this.missingOpeningBracketIds)}computeMinIndentation(D,x){return Number.MAX_SAFE_INTEGER}}},66633:(At,Be,m)=>{m.d(Be,{Q:()=>u,Y:()=>ie});var k=m(77438);class u{constructor(ne,Z,q){this.startOffset=ne,this.endOffset=Z,this.newLength=q}}class ie{constructor(ne,Z){this.documentLength=Z,this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=ne.map(q=>Q.from(q))}getOffsetBeforeChange(ne){return this.adjustNextEdit(ne),this.translateCurToOld(ne)}getDistanceToNextChange(ne){this.adjustNextEdit(ne);const Z=this.edits[this.nextEditIdx],q=Z?this.translateOldToCur(Z.offsetObj):this.documentLength;return(0,k.BE)(ne,q)}translateOldToCur(ne){return ne.lineCount===this.deltaLineIdxInOld?(0,k.Hg)(ne.lineCount+this.deltaOldToNewLineCount,ne.columnCount+this.deltaOldToNewColumnCount):(0,k.Hg)(ne.lineCount+this.deltaOldToNewLineCount,ne.columnCount)}translateCurToOld(ne){const Z=(0,k.Hw)(ne);return Z.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,k.Hg)(Z.lineCount-this.deltaOldToNewLineCount,Z.columnCount-this.deltaOldToNewColumnCount):(0,k.Hg)(Z.lineCount-this.deltaOldToNewLineCount,Z.columnCount)}adjustNextEdit(ne){for(;this.nextEditIdx<this.edits.length;){const Z=this.edits[this.nextEditIdx],q=this.translateOldToCur(Z.endOffsetAfterObj);if((0,k.By)(q,ne)){this.nextEditIdx++;const z=(0,k.Hw)(q),y=(0,k.Hw)(this.translateOldToCur(Z.endOffsetBeforeObj)),C=z.lineCount-y.lineCount;this.deltaOldToNewLineCount+=C;const L=this.deltaLineIdxInOld===Z.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,b=z.columnCount-y.columnCount;this.deltaOldToNewColumnCount=L+b,this.deltaLineIdxInOld=Z.endOffsetBeforeObj.lineCount}else break}}}class Q{constructor(ne,Z,q){this.endOffsetBeforeObj=(0,k.Hw)(Z),this.endOffsetAfterObj=(0,k.Hw)((0,k.Ii)(ne,q)),this.offsetObj=(0,k.Hw)(ne)}static from(ne){return new Q(ne.startOffset,ne.endOffset,ne.newLength)}}},33281:(At,Be,m)=>{m.d(Be,{Z:()=>q});var k=m(34504),u=m(47134),ie=m(77438),Q=m(60937),N=m(97009);class ne{constructor(y){this.map=y,this.hasRegExp=!1,this._regExpGlobal=null}static createFromLanguage(y,C){function L(d){return C.getKey(`${d.languageId}:::${d.bracketText}`)}const b=new Map;for(const d of y.bracketsNew.openingBrackets){const S=(0,ie.Hg)(0,d.bracketText.length),E=L(d),D=Q.tS.getEmpty().add(E,Q.Qw);b.set(d.bracketText,new N.WU(S,1,E,D,u.n2.create(S,d,D)))}for(const d of y.bracketsNew.closingBrackets){const S=(0,ie.Hg)(0,d.bracketText.length);let E=Q.tS.getEmpty();const D=d.getClosedBrackets();for(const x of D)E=E.add(L(x),Q.Qw);b.set(d.bracketText,new N.WU(S,2,L(D[0]),E,u.n2.create(S,d,E)))}return new ne(b)}getRegExpStr(){if(this.isEmpty)return null;{const y=[...this.map.keys()];return y.sort(),y.reverse(),y.map(C=>Z(C)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const y=this.getRegExpStr();this._regExpGlobal=y?new RegExp(y,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(y){return this.map.get(y.toLowerCase())}findClosingTokenText(y){for(const[C,L]of this.map)if(L.kind===2&&L.bracketIds.intersects(y))return C}get isEmpty(){return this.map.size===0}}function Z(z){let y=(0,k.ec)(z);return/^[\w ]+/.test(z)&&(y=`\\b${y}`),/[\w ]+$/.test(z)&&(y=`${y}\\b`),y}class q{constructor(y,C){this.denseKeyProvider=y,this.getLanguageConfiguration=C,this.languageIdToBracketTokens=new Map}didLanguageChange(y){return this.languageIdToBracketTokens.has(y)}getSingleLanguageBracketTokens(y){let C=this.languageIdToBracketTokens.get(y);return C||(C=ne.createFromLanguage(this.getLanguageConfiguration(y),this.denseKeyProvider),this.languageIdToBracketTokens.set(y,C)),C}}},77438:(At,Be,m)=>{m.d(Be,{BE:()=>b,By:()=>S,F_:()=>C,Hg:()=>q,Hw:()=>z,Ii:()=>L,PZ:()=>D,Qw:()=>x,VR:()=>d,W9:()=>y,Zq:()=>E,av:()=>Q,oR:()=>K,xd:()=>ne,xl:()=>N});var k=m(34504),u=m(62685);class ie{constructor(W,A){this.lineCount=W,this.columnCount=A}toString(){return`${this.lineCount},${this.columnCount}`}}ie.zero=new ie(0,0);function Q(T,W,A,U){return T!==A?q(A-T,U):q(0,U-W)}const N=0;function ne(T){return T===0}const Z=Math.pow(2,26);function q(T,W){return T*Z+W}function z(T){const W=T,A=Math.floor(W/Z),U=W-A*Z;return new ie(A,U)}function y(T){return Math.floor(T/Z)}function C(T){return T}function L(T,W){return W<Z?T+W:T-T%Z+W}function b(T,W){const A=T,U=W;if(U-A<=0)return N;const te=Math.floor(A/Z),he=Math.floor(U/Z),_e=U-he*Z;if(te===he){const ge=A-te*Z;return q(0,_e-ge)}else return q(he-te,_e)}function d(T,W){return T<W}function S(T,W){return T<=W}function E(T,W){return T>=W}function D(T){return q(T.lineNumber-1,T.column-1)}function x(T,W){const A=T,U=Math.floor(A/Z),X=A-U*Z,te=W,he=Math.floor(te/Z),_e=te-he*Z;return new u.e(U+1,X+1,he+1,_e+1)}function K(T){const W=(0,k.uq)(T);return q(W.length-1,W[W.length-1].length)}},87996:(At,Be,m)=>{m.d(Be,{w:()=>d});var k=m(47134),u=m(66633),ie=m(60937),Q=m(77438);function N(E){if(E.length===0)return null;if(E.length===1)return E[0];let D=0;function x(){if(D>=E.length)return null;const A=D,U=E[A].listHeight;for(D++;D<E.length&&E[D].listHeight===U;)D++;return D-A>=2?ne(A===0&&D===E.length?E:E.slice(A,D),!1):E[A]}let K=x(),T=x();if(!T)return K;for(let A=x();A;A=x())Z(K,T)<=Z(T,A)?(K=q(K,T),T=A):T=q(T,A);return q(K,T)}function ne(E,D=!1){if(E.length===0)return null;if(E.length===1)return E[0];let x=E.length;for(;x>3;){const K=x>>1;for(let T=0;T<K;T++){const W=T<<1;E[T]=k.Y0.create23(E[W],E[W+1],W+3===x?E[W+2]:null,D)}x=K}return k.Y0.create23(E[0],E[1],x>=3?E[2]:null,D)}function Z(E,D){return Math.abs(E.listHeight-D.listHeight)}function q(E,D){return E.listHeight===D.listHeight?k.Y0.create23(E,D,null,!1):E.listHeight>D.listHeight?z(E,D):y(D,E)}function z(E,D){E=E.toMutable();let x=E;const K=new Array;let T;for(;;){if(D.listHeight===x.listHeight){T=D;break}if(x.kind!==4)throw new Error("unexpected");K.push(x),x=x.makeLastElementMutable()}for(let W=K.length-1;W>=0;W--){const A=K[W];T?A.childrenLength>=3?T=k.Y0.create23(A.unappendChild(),T,null,!1):(A.appendChildOfSameHeight(T),T=void 0):A.handleChildrenChanged()}return T?k.Y0.create23(E,T,null,!1):E}function y(E,D){E=E.toMutable();let x=E;const K=new Array;for(;D.listHeight!==x.listHeight;){if(x.kind!==4)throw new Error("unexpected");K.push(x),x=x.makeFirstElementMutable()}let T=D;for(let W=K.length-1;W>=0;W--){const A=K[W];T?A.childrenLength>=3?T=k.Y0.create23(T,A.unprependChild(),null,!1):(A.prependChildOfSameHeight(T),T=void 0):A.handleChildrenChanged()}return T?k.Y0.create23(T,E,null,!1):E}class C{constructor(D){this.lastOffset=Q.xl,this.nextNodes=[D],this.offsets=[Q.xl],this.idxs=[]}readLongestNodeAt(D,x){if((0,Q.VR)(D,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=D;;){const K=b(this.nextNodes);if(!K)return;const T=b(this.offsets);if((0,Q.VR)(D,T))return;if((0,Q.VR)(T,D))if((0,Q.Ii)(T,K.length)<=D)this.nextNodeAfterCurrent();else{const W=L(K);W!==-1?(this.nextNodes.push(K.getChild(W)),this.offsets.push(T),this.idxs.push(W)):this.nextNodeAfterCurrent()}else{if(x(K))return this.nextNodeAfterCurrent(),K;{const W=L(K);if(W===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(K.getChild(W)),this.offsets.push(T),this.idxs.push(W)}}}}nextNodeAfterCurrent(){for(;;){const D=b(this.offsets),x=b(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const K=b(this.nextNodes),T=L(K,this.idxs[this.idxs.length-1]);if(T!==-1){this.nextNodes.push(K.getChild(T)),this.offsets.push((0,Q.Ii)(D,x.length)),this.idxs[this.idxs.length-1]=T;break}else this.idxs.pop()}}}function L(E,D=-1){for(;;){if(D++,D>=E.childrenLength)return-1;if(E.getChild(D))return D}}function b(E){return E.length>0?E[E.length-1]:void 0}function d(E,D,x,K){return new S(E,D,x,K).parseDocument()}class S{constructor(D,x,K,T){if(this.tokenizer=D,this.createImmutableLists=T,this._itemsConstructed=0,this._itemsFromCache=0,K&&T)throw new Error("Not supported");this.oldNodeReader=K?new C(K):void 0,this.positionMapper=new u.Y(x,D.length)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let D=this.parseList(ie.tS.getEmpty());return D||(D=k.Y0.getEmpty()),D}parseList(D){const x=new Array;for(;;){const T=this.tokenizer.peek();if(!T||T.kind===2&&T.bracketIds.intersects(D))break;const W=this.parseChild(D);W.kind===4&&W.childrenLength===0||x.push(W)}return this.oldNodeReader?N(x):ne(x,this.createImmutableLists)}parseChild(D){if(this.oldNodeReader){const K=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(!(0,Q.xd)(K)){const T=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),W=>(0,Q.VR)(W.length,K)?W.canBeReused(D):!1);if(T)return this._itemsFromCache++,this.tokenizer.skip(T.length),T}}this._itemsConstructed++;const x=this.tokenizer.read();switch(x.kind){case 2:return new k.Dm(x.bracketIds,x.length);case 0:return x.astNode;case 1:{const K=D.merge(x.bracketIds),T=this.parseList(K),W=this.tokenizer.peek();return W&&W.kind===2&&(W.bracketId===x.bracketId||W.bracketIds.intersects(x.bracketIds))?(this.tokenizer.read(),k.Kd.create(x.astNode,T,W.astNode)):k.Kd.create(x.astNode,T,null)}default:throw new Error("unexpected")}}}},60937:(At,Be,m)=>{m.d(Be,{FE:()=>Q,Qw:()=>ie,tS:()=>u});const k=new Array;class u{constructor(ne,Z){this.items=ne,this.additionalItems=Z}static create(ne,Z){if(ne<=128&&Z.length===0){let q=u.cache[ne];return q||(q=new u(ne,Z),u.cache[ne]=q),q}return new u(ne,Z)}static getEmpty(){return this.empty}add(ne,Z){const q=Z.getKey(ne);let z=q>>5;if(z===0){const C=1<<q|this.items;return C===this.items?this:u.create(C,this.additionalItems)}z--;const y=this.additionalItems.slice(0);for(;y.length<z;)y.push(0);return y[z]|=1<<(q&31),u.create(this.items,y)}merge(ne){const Z=this.items|ne.items;if(this.additionalItems===k&&ne.additionalItems===k)return Z===this.items?this:Z===ne.items?ne:u.create(Z,k);const q=new Array;for(let z=0;z<Math.max(this.additionalItems.length,ne.additionalItems.length);z++){const y=this.additionalItems[z]||0,C=ne.additionalItems[z]||0;q.push(y|C)}return u.create(Z,q)}intersects(ne){if(this.items&ne.items)return!0;for(let Z=0;Z<Math.min(this.additionalItems.length,ne.additionalItems.length);Z++)if(this.additionalItems[Z]&ne.additionalItems[Z])return!0;return!1}}u.cache=new Array(129),u.empty=u.create(0,k);const ie={getKey(N){return N}};class Q{constructor(){this.items=new Map}getKey(ne){let Z=this.items.get(ne);return Z===void 0&&(Z=this.items.size,this.items.set(ne,Z)),Z}}},97009:(At,Be,m)=>{m.d(Be,{WU:()=>ne,g:()=>z,xH:()=>Z});var k=m(35230),u=m(23854),ie=m(47134),Q=m(77438),N=m(60937);class ne{constructor(C,L,b,d,S){this.length=C,this.kind=L,this.bracketId=b,this.bracketIds=d,this.astNode=S}}class Z{constructor(C,L){this.textModel=C,this.bracketTokens=L,this.reader=new q(this.textModel,this.bracketTokens),this._offset=Q.xl,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=C.getLineCount(),this.textBufferLastLineLength=C.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,Q.Hg)(this.textBufferLineCount,this.textBufferLastLineLength)}skip(C){this.didPeek=!1,this._offset=(0,Q.Ii)(this._offset,C);const L=(0,Q.Hw)(this._offset);this.reader.setPosition(L.lineCount,L.columnCount)}read(){let C;return this.peeked?(this.didPeek=!1,C=this.peeked):C=this.reader.read(),C&&(this._offset=(0,Q.Ii)(this._offset,C.length)),C}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class q{constructor(C,L){this.textModel=C,this.bracketTokens=L,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=C.getLineCount(),this.textBufferLastLineLength=C.getLineLength(this.textBufferLineCount)}setPosition(C,L){C===this.lineIdx?(this.lineCharOffset=L,this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset)):(this.lineIdx=C,this.lineCharOffset=L,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const S=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,Q.F_)(S.length),S}if(this.lineIdx>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 C=this.lineIdx,L=this.lineCharOffset;let b=0;for(;;){const S=this.lineTokens,E=S.getCount();let D=null;if(this.lineTokenOffset<E){const x=S.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<E&&x===S.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const K=u.N.getTokenType(x)===0,T=u.N.containsBalancedBrackets(x),W=S.getEndOffset(this.lineTokenOffset);if(T&&K&&this.lineCharOffset<W){const A=S.getLanguageId(this.lineTokenOffset),U=this.line.substring(this.lineCharOffset,W),X=this.bracketTokens.getSingleLanguageBracketTokens(A),te=X.regExpGlobal;if(te){te.lastIndex=0;const he=te.exec(U);he&&(D=X.getToken(he[0]),D&&(this.lineCharOffset+=he.index))}}if(b+=W-this.lineCharOffset,D)if(C!==this.lineIdx||L!==this.lineCharOffset){this.peekedToken=D;break}else return this.lineCharOffset+=(0,Q.F_)(D.length),D;else this.lineTokenOffset++,this.lineCharOffset=W}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,b+=33,b>1e3))break;if(b>1500)break}const d=(0,Q.av)(C,L,this.lineIdx,this.lineCharOffset);return new ne(d,0,-1,N.tS.getEmpty(),new ie.BH(d))}}class z{constructor(C,L){this.text=C,this._offset=Q.xl,this.idx=0;const b=L.getRegExpStr(),d=b?new RegExp(b+`| `,"gi"):null,S=[];let E,D=0,x=0,K=0,T=0;const W=new Array;for(let X=0;X<60;X++)W.push(new ne((0,Q.Hg)(0,X),0,-1,N.tS.getEmpty(),new ie.BH((0,Q.Hg)(0,X))));const A=new Array;for(let X=0;X<60;X++)A.push(new ne((0,Q.Hg)(1,X),0,-1,N.tS.getEmpty(),new ie.BH((0,Q.Hg)(1,X))));if(d)for(d.lastIndex=0;(E=d.exec(C))!==null;){const X=E.index,te=E[0];if(te===` `)D++,x=X+1;else{if(K!==X){let he;if(T===D){const _e=X-K;if(_e<W.length)he=W[_e];else{const ge=(0,Q.Hg)(0,_e);he=new ne(ge,0,-1,N.tS.getEmpty(),new ie.BH(ge))}}else{const _e=D-T,ge=X-x;if(_e===1&&ge<A.length)he=A[ge];else{const me=(0,Q.Hg)(_e,ge);he=new ne(me,0,-1,N.tS.getEmpty(),new ie.BH(me))}}S.push(he)}S.push(L.getToken(te)),K=X+te.length,T=D}}const U=C.length;if(K!==U){const X=T===D?(0,Q.Hg)(0,U-K):(0,Q.Hg)(D-T,U-x);S.push(new ne(X,0,-1,N.tS.getEmpty(),new ie.BH(X)))}this.length=(0,Q.Hg)(D,U-x),this.tokens=S}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(C){throw new k.B8}}},63312:(At,Be,m)=>{m.d(Be,{NL:()=>d,e9:()=>b});var k=m(88631),u=m(35230),ie=m(13352),Q=m(34154),N=m(31939),ne=m(41186),Z=m(51704);function q(S){return S.toString()}class z{constructor(E,D,x,K,T,W,A){this.beforeVersionId=E,this.afterVersionId=D,this.beforeEOL=x,this.afterEOL=K,this.beforeCursorState=T,this.afterCursorState=W,this.changes=A}static create(E,D){const x=E.getAlternativeVersionId(),K=L(E);return new z(x,x,K,K,D,D,[])}append(E,D,x,K,T){D.length>0&&(this.changes=(0,N.b)(this.changes,D)),this.afterEOL=x,this.afterVersionId=K,this.afterCursorState=T}static _writeSelectionsSize(E){return 4+4*4*(E?E.length:0)}static _writeSelections(E,D,x){if(ne.T4(E,D?D.length:0,x),x+=4,D)for(const K of D)ne.T4(E,K.selectionStartLineNumber,x),x+=4,ne.T4(E,K.selectionStartColumn,x),x+=4,ne.T4(E,K.positionLineNumber,x),x+=4,ne.T4(E,K.positionColumn,x),x+=4;return x}static _readSelections(E,D,x){const K=ne.Ag(E,D);D+=4;for(let T=0;T<K;T++){const W=ne.Ag(E,D);D+=4;const A=ne.Ag(E,D);D+=4;const U=ne.Ag(E,D);D+=4;const X=ne.Ag(E,D);D+=4,x.push(new ie.Y(W,A,U,X))}return D}serialize(){let E=10+z._writeSelectionsSize(this.beforeCursorState)+z._writeSelectionsSize(this.afterCursorState)+4;for(const K of this.changes)E+=K.writeSize();const D=new Uint8Array(E);let x=0;ne.T4(D,this.beforeVersionId,x),x+=4,ne.T4(D,this.afterVersionId,x),x+=4,ne.Cg(D,this.beforeEOL,x),x+=1,ne.Cg(D,this.afterEOL,x),x+=1,x=z._writeSelections(D,this.beforeCursorState,x),x=z._writeSelections(D,this.afterCursorState,x),ne.T4(D,this.changes.length,x),x+=4;for(const K of this.changes)x=K.write(D,x);return D.buffer}static deserialize(E){const D=new Uint8Array(E);let x=0;const K=ne.Ag(D,x);x+=4;const T=ne.Ag(D,x);x+=4;const W=ne.Q$(D,x);x+=1;const A=ne.Q$(D,x);x+=1;const U=[];x=z._readSelections(D,x,U);const X=[];x=z._readSelections(D,x,X);const te=ne.Ag(D,x);x+=4;const he=[];for(let _e=0;_e<te;_e++)x=N.q.read(D,x,he);return new z(K,T,W,A,U,X,he)}}class y{constructor(E,D,x,K){this.label=E,this.code=D,this.model=x,this._data=z.create(x,K)}get type(){return 0}get resource(){return Q.o.isUri(this.model)?this.model:this.model.uri}toString(){return(this._data instanceof z?this._data:z.deserialize(this._data)).changes.map(D=>D.toString()).join(", ")}matchesResource(E){return(Q.o.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 z}append(E,D,x,K,T){this._data instanceof z&&this._data.append(E,D,x,K,T)}close(){this._data instanceof z&&(this._data=this._data.serialize())}open(){this._data instanceof z||(this._data=z.deserialize(this._data))}undo(){if(Q.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof z&&(this._data=this._data.serialize());const E=z.deserialize(this._data);this.model._applyUndo(E.changes,E.beforeEOL,E.beforeVersionId,E.beforeCursorState)}redo(){if(Q.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof z&&(this._data=this._data.serialize());const E=z.deserialize(this._data);this.model._applyRedo(E.changes,E.afterEOL,E.afterVersionId,E.afterCursorState)}heapSize(){return this._data instanceof z&&(this._data=this._data.serialize()),this._data.byteLength+168}}class C{constructor(E,D,x){this.label=E,this.code=D,this.type=1,this._isOpen=!0,this._editStackElementsArr=x.slice(0),this._editStackElementsMap=new Map;for(const K of this._editStackElementsArr){const T=q(K.resource);this._editStackElementsMap.set(T,K)}this._delegate=null}get resources(){return this._editStackElementsArr.map(E=>E.resource)}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(E){const D=q(E);return this._editStackElementsMap.has(D)}setModel(E){const D=q(Q.o.isUri(E)?E:E.uri);this._editStackElementsMap.has(D)&&this._editStackElementsMap.get(D).setModel(E)}canAppend(E){if(!this._isOpen)return!1;const D=q(E.uri);return this._editStackElementsMap.has(D)?this._editStackElementsMap.get(D).canAppend(E):!1}append(E,D,x,K,T){const W=q(E.uri);this._editStackElementsMap.get(W).append(E,D,x,K,T)}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 D=q(E);return this._editStackElementsMap.has(D)?this._editStackElementsMap.get(D).heapSize():0}split(){return this._editStackElementsArr}toString(){const E=[];for(const D of this._editStackElementsArr)E.push(`${(0,Z.EZ)(D.resource)}: ${D}`);return`{${E.join(", ")}}`}}function L(S){return S.getEOL()===` `?0:1}function b(S){return S?S instanceof y||S instanceof C:!1}class d{constructor(E,D){this._model=E,this._undoRedoService=D}pushStackElement(){const E=this._undoRedoService.getLastElement(this._model.uri);b(E)&&E.close()}popStackElement(){const E=this._undoRedoService.getLastElement(this._model.uri);b(E)&&E.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(E){const D=this._undoRedoService.getLastElement(this._model.uri);if(b(D)&&D.canAppend(this._model))return D;const x=new y(k.NC("edit","Typing"),"undoredo.textBufferEdit",this._model,E);return this._undoRedoService.pushElement(x),x}pushEOL(E){const D=this._getOrCreateEditStackElement(null);this._model.setEOL(E),D.append(this._model,[],L(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(E,D,x){const K=this._getOrCreateEditStackElement(E),T=this._model.applyEdits(D,!0),W=d._computeCursorState(x,T),A=T.map((U,X)=>({index:X,textChange:U.textChange}));return A.sort((U,X)=>U.textChange.oldPosition===X.textChange.oldPosition?U.index-X.index:U.textChange.oldPosition-X.textChange.oldPosition),K.append(this._model,A.map(U=>U.textChange),L(this._model),this._model.getAlternativeVersionId(),W),W}static _computeCursorState(E,D){try{return E?E(D):null}catch(x){return(0,u.dL)(x),null}}}},45663:(At,Be,m)=>{m.d(Be,{W:()=>z,l:()=>q});var k=m(99359),u=m(34504),ie=m(76502),Q=m(62685),N=m(90638),ne=m(74654),Z=m(75628);class q extends N.U{constructor(C,L){super(),this.textModel=C,this.languageConfigurationService=L}getLanguageConfiguration(C){return this.languageConfigurationService.getLanguageConfiguration(C)}_computeIndentLevel(C){return(0,ne.q)(this.textModel.getLineContent(C+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(C,L,b){this.assertNotDisposed();const d=this.textModel.getLineCount();if(C<1||C>d)throw new Error("Illegal value for lineNumber");const S=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,E=!!(S&&S.offSide);let D=-2,x=-1,K=-2,T=-1;const W=oe=>{if(D!==-1&&(D===-2||D>oe-1)){D=-1,x=-1;for(let J=oe-2;J>=0;J--){const $=this._computeIndentLevel(J);if($>=0){D=J,x=$;break}}}if(K===-2){K=-1,T=-1;for(let J=oe;J<d;J++){const $=this._computeIndentLevel(J);if($>=0){K=J,T=$;break}}}};let A=-2,U=-1,X=-2,te=-1;const he=oe=>{if(A===-2){A=-1,U=-1;for(let J=oe-2;J>=0;J--){const $=this._computeIndentLevel(J);if($>=0){A=J,U=$;break}}}if(X!==-1&&(X===-2||X<oe-1)){X=-1,te=-1;for(let J=oe;J<d;J++){const $=this._computeIndentLevel(J);if($>=0){X=J,te=$;break}}}};let _e=0,ge=!0,me=0,re=!0,Y=0,de=0;for(let oe=0;ge||re;oe++){const J=C-oe,$=C+oe;oe>1&&(J<1||J<L)&&(ge=!1),oe>1&&($>d||$>b)&&(re=!1),oe>5e4&&(ge=!1,re=!1);let ue=-1;if(ge&&J>=1){const xe=this._computeIndentLevel(J-1);xe>=0?(K=J-1,T=xe,ue=Math.ceil(xe/this.textModel.getOptions().indentSize)):(W(J),ue=this._getIndentLevelForWhitespaceLine(E,x,T))}let ve=-1;if(re&&$<=d){const xe=this._computeIndentLevel($-1);xe>=0?(A=$-1,U=xe,ve=Math.ceil(xe/this.textModel.getOptions().indentSize)):(he($),ve=this._getIndentLevelForWhitespaceLine(E,U,te))}if(oe===0){de=ue;continue}if(oe===1){if($<=d&&ve>=0&&de+1===ve){ge=!1,_e=$,me=$,Y=ve;continue}if(J>=1&&ue>=0&&ue-1===de){re=!1,_e=J,me=J,Y=ue;continue}if(_e=C,me=C,Y=de,Y===0)return{startLineNumber:_e,endLineNumber:me,indent:Y}}ge&&(ue>=Y?_e=J:ge=!1),re&&(ve>=Y?me=$:re=!1)}return{startLineNumber:_e,endLineNumber:me,indent:Y}}getLinesBracketGuides(C,L,b,d){var S;const E=[];for(let A=C;A<=L;A++)E.push([]);const D=!0,x=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Q.e(C,1,L,this.textModel.getLineMaxColumn(L)));let K;if(b&&x.length>0){const A=(C<=b.lineNumber&&b.lineNumber<=L?x:this.textModel.bracketPairs.getBracketPairsInRange(Q.e.fromPositions(b))).filter(U=>Q.e.strictContainsPosition(U.range,b));K=(S=(0,k.dF)(A,U=>D||U.range.startLineNumber!==U.range.endLineNumber))===null||S===void 0?void 0:S.range}const T=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,W=new z;for(const A of x){if(!A.closingBracketRange)continue;const U=K&&A.range.equalsRange(K);if(!U&&!d.includeInactive)continue;const X=W.getInlineClassName(A.nestingLevel,A.nestingLevelOfEqualBracketType,T)+(d.highlightActive&&U?" "+W.activeClassName:""),te=A.openingBracketRange.getStartPosition(),he=A.closingBracketRange.getStartPosition(),_e=d.horizontalGuides===Z.s6.Enabled||d.horizontalGuides===Z.s6.EnabledForActive&&U;if(A.range.startLineNumber===A.range.endLineNumber){D&&_e&&E[A.range.startLineNumber-C].push(new Z.UO(-1,A.openingBracketRange.getEndPosition().column,X,new Z.vW(!1,he.column),-1,-1));continue}const ge=this.getVisibleColumnFromPosition(he),me=this.getVisibleColumnFromPosition(A.openingBracketRange.getStartPosition()),re=Math.min(me,ge,A.minVisibleColumnIndentation+1);let Y=!1;u.LC(this.textModel.getLineContent(A.closingBracketRange.startLineNumber))<A.closingBracketRange.startColumn-1&&(Y=!0);const J=Math.max(te.lineNumber,C),$=Math.min(he.lineNumber,L),ue=Y?1:0;for(let ve=J;ve<$+ue;ve++)E[ve-C].push(new Z.UO(re,-1,X,null,ve===te.lineNumber?te.column:-1,ve===he.lineNumber?he.column:-1));_e&&(te.lineNumber>=C&&me>re&&E[te.lineNumber-C].push(new Z.UO(re,-1,X,new Z.vW(!1,te.column),-1,-1)),he.lineNumber<=L&&ge>re&&E[he.lineNumber-C].push(new Z.UO(re,-1,X,new Z.vW(!Y,he.column),-1,-1)))}for(const A of E)A.sort((U,X)=>U.visibleColumn-X.visibleColumn);return E}getVisibleColumnFromPosition(C){return ie.i.visibleColumnFromColumn(this.textModel.getLineContent(C.lineNumber),C.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(C,L){this.assertNotDisposed();const b=this.textModel.getLineCount();if(C<1||C>b)throw new Error("Illegal value for startLineNumber");if(L<1||L>b)throw new Error("Illegal value for endLineNumber");const d=this.textModel.getOptions(),S=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,E=!!(S&&S.offSide),D=new Array(L-C+1);let x=-2,K=-1,T=-2,W=-1;for(let A=C;A<=L;A++){const U=A-C,X=this._computeIndentLevel(A-1);if(X>=0){x=A-1,K=X,D[U]=Math.ceil(X/d.indentSize);continue}if(x===-2){x=-1,K=-1;for(let te=A-2;te>=0;te--){const he=this._computeIndentLevel(te);if(he>=0){x=te,K=he;break}}}if(T!==-1&&(T===-2||T<A-1)){T=-1,W=-1;for(let te=A;te<b;te++){const he=this._computeIndentLevel(te);if(he>=0){T=te,W=he;break}}}D[U]=this._getIndentLevelForWhitespaceLine(E,K,W)}return D}_getIndentLevelForWhitespaceLine(C,L,b){const d=this.textModel.getOptions();return L===-1||b===-1?0:L<b?1+Math.floor(L/d.indentSize):L===b||C?Math.ceil(b/d.indentSize):1+Math.floor(b/d.indentSize)}}class z{constructor(){this.activeClassName="indent-active"}getInlineClassName(C,L,b){return this.getInlineClassNameOfLevel(b?L:C)}getInlineClassNameOfLevel(C){return`bracket-indent-guide lvl-${C%30}`}}},95320:(At,Be,m)=>{m.d(Be,{Ck:()=>Q,oQ:()=>ie});var k=m(99359),u=m(65423);class ie{constructor(Z){this.values=Z,this.prefixSum=new Uint32Array(Z.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(Z,q){Z=(0,u.A)(Z);const z=this.values,y=this.prefixSum,C=q.length;return C===0?!1:(this.values=new Uint32Array(z.length+C),this.values.set(z.subarray(0,Z),0),this.values.set(z.subarray(Z),Z+C),this.values.set(q,Z),Z-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=Z-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(y.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(Z,q){return Z=(0,u.A)(Z),q=(0,u.A)(q),this.values[Z]===q?!1:(this.values[Z]=q,Z-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=Z-1),!0)}removeValues(Z,q){Z=(0,u.A)(Z),q=(0,u.A)(q);const z=this.values,y=this.prefixSum;if(Z>=z.length)return!1;const C=z.length-Z;return q>=C&&(q=C),q===0?!1:(this.values=new Uint32Array(z.length-q),this.values.set(z.subarray(0,Z),0),this.values.set(z.subarray(Z+q),Z),this.prefixSum=new Uint32Array(this.values.length),Z-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=Z-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(y.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(Z){return Z<0?0:(Z=(0,u.A)(Z),this._getPrefixSum(Z))}_getPrefixSum(Z){if(Z<=this.prefixSumValidIndex[0])return this.prefixSum[Z];let q=this.prefixSumValidIndex[0]+1;q===0&&(this.prefixSum[0]=this.values[0],q++),Z>=this.values.length&&(Z=this.values.length-1);for(let z=q;z<=Z;z++)this.prefixSum[z]=this.prefixSum[z-1]+this.values[z];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],Z),this.prefixSum[Z]}getIndexOf(Z){Z=Math.floor(Z),this.getTotalSum();let q=0,z=this.values.length-1,y=0,C=0,L=0;for(;q<=z;)if(y=q+(z-q)/2|0,C=this.prefixSum[y],L=C-this.values[y],Z<L)z=y-1;else if(Z>=C)q=y+1;else break;return new N(y,Z-L)}}class Q{constructor(Z){this._values=Z,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(Z){return this._ensureValid(),Z===0?0:this._prefixSum[Z-1]}getIndexOf(Z){this._ensureValid();const q=this._indexBySum[Z],z=q>0?this._prefixSum[q-1]:0;return new N(q,Z-z)}removeValues(Z,q){this._values.splice(Z,q),this._invalidate(Z)}insertValues(Z,q){this._values=(0,k.Zv)(this._values,Z,q),this._invalidate(Z)}_invalidate(Z){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,Z-1)}_ensureValid(){if(!this._isValid){for(let Z=this._validEndIndex+1,q=this._values.length;Z<q;Z++){const z=this._values[Z],y=Z>0?this._prefixSum[Z-1]:0;this._prefixSum[Z]=y+z;for(let C=0;C<z;C++)this._indexBySum[y+C]=Z}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(Z,q){this._values[Z]!==q&&(this._values[Z]=q,this._invalidate(Z))}}class N{constructor(Z,q){this.index=Z,this.remainder=q,this._prefixSumIndexOfResultBrand=void 0,this.index=Z,this.remainder=q}}},24450:(At,Be,m)=>{m.d(Be,{HS:()=>$t,qx:()=>Ri,yO:()=>is});var k=m(99359),u=m(80733),ie=m(35230),Q=m(86640),N=m(50149),ne=m(34504),Z=m(34154),q=m(52512),z=m(39767),y=m(8689),C=m(62685),L=m(13352),b=m(25318),d=m(45440),S=m(38490),E=m(40115);class D{constructor(w,F,M,ee){this.range=w,this.nestingLevel=F,this.nestingLevelOfEqualBracketType=M,this.isInvalid=ee}}class x{constructor(w,F,M,ee,_,B){this.range=w,this.openingBracketRange=F,this.closingBracketRange=M,this.nestingLevel=ee,this.nestingLevelOfEqualBracketType=_,this.bracketPairNode=B}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class K extends x{constructor(w,F,M,ee,_,B,ce){super(w,F,M,ee,_,B),this.minVisibleColumnIndentation=ce}}var T=m(66633),W=m(33281),A=m(77438),U=m(87996),X=m(60937),te=m(97009);class he extends N.JT{constructor(w,F){if(super(),this.textModel=w,this.getLanguageConfiguration=F,this.didChangeEmitter=new Q.Q5,this.denseKeyProvider=new X.FE,this.brackets=new W.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,w.tokenization.backgroundTokenizationState===0){const M=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),ee=new te.g(this.textModel.getValue(),M);this.initialAstWithoutTokens=(0,U.w)(ee,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}else w.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):w.tokenization.backgroundTokenizationState===1&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens)}didLanguageChange(w){return this.brackets.didLanguageChange(w)}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const w=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,w||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:w}){const F=w.map(M=>new T.Q((0,A.Hg)(M.fromLineNumber-1,0),(0,A.Hg)(M.toLineNumber,0),(0,A.Hg)(M.toLineNumber-M.fromLineNumber+1,0)));this.astWithTokens=this.parseDocumentFromTextBuffer(F,this.astWithTokens,!1),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(w){const F=w.changes.map(M=>{const ee=C.e.lift(M.range);return new T.Q((0,A.PZ)(ee.getStartPosition()),(0,A.PZ)(ee.getEndPosition()),(0,A.oR)(M.text))}).reverse();this.astWithTokens=this.parseDocumentFromTextBuffer(F,this.astWithTokens,!1),this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(F,this.initialAstWithoutTokens,!1))}parseDocumentFromTextBuffer(w,F,M){const _=F,B=new te.xH(this.textModel,this.brackets);return(0,U.w)(B,w,_,M)}getBracketsInRange(w){const F=(0,A.Hg)(w.startLineNumber-1,w.startColumn-1),M=(0,A.Hg)(w.endLineNumber-1,w.endColumn-1),ee=new Array,_=this.initialAstWithoutTokens||this.astWithTokens;return me(_,A.xl,_.length,F,M,ee,0,new Map),ee}getBracketPairsInRange(w,F){const M=new Array,ee=(0,A.PZ)(w.getStartPosition()),_=(0,A.PZ)(w.getEndPosition()),B=this.initialAstWithoutTokens||this.astWithTokens,ce=new re(M,F,this.textModel);return Y(B,A.xl,B.length,ee,_,ce,0,new Map),M}getFirstBracketAfter(w){const F=this.initialAstWithoutTokens||this.astWithTokens;return ge(F,A.xl,F.length,(0,A.PZ)(w))}getFirstBracketBefore(w){const F=this.initialAstWithoutTokens||this.astWithTokens;return _e(F,A.xl,F.length,(0,A.PZ)(w))}}function _e(et,w,F,M){if(et.kind===4||et.kind===2){const ee=[];for(const _ of et.children)F=(0,A.Ii)(w,_.length),ee.push({nodeOffsetStart:w,nodeOffsetEnd:F}),w=F;for(let _=ee.length-1;_>=0;_--){const{nodeOffsetStart:B,nodeOffsetEnd:ce}=ee[_];if((0,A.VR)(B,M)){const we=_e(et.children[_],B,ce,M);if(we)return we}}return null}else{if(et.kind===3)return null;if(et.kind===1){const ee=(0,A.Qw)(w,F);return{bracketInfo:et.bracketInfo,range:ee}}}return null}function ge(et,w,F,M){if(et.kind===4||et.kind===2){for(const ee of et.children){if(F=(0,A.Ii)(w,ee.length),(0,A.VR)(M,F)){const _=ge(ee,w,F,M);if(_)return _}w=F}return null}else{if(et.kind===3)return null;if(et.kind===1){const ee=(0,A.Qw)(w,F);return{bracketInfo:et.bracketInfo,range:ee}}}return null}function me(et,w,F,M,ee,_,B,ce){if(!(B>200)){if(et.kind===4)for(const we of et.children)F=(0,A.Ii)(w,we.length),(0,A.By)(w,ee)&&(0,A.Zq)(F,M)&&me(we,w,F,M,ee,_,B,ce),w=F;else if(et.kind===2){let we=0;if(ce){let Le=ce.get(et.openingBracket.text);Le===void 0&&(Le=0),we=Le,Le++,ce.set(et.openingBracket.text,Le)}{const Le=et.openingBracket;if(F=(0,A.Ii)(w,Le.length),(0,A.By)(w,ee)&&(0,A.Zq)(F,M)){const Me=(0,A.Qw)(w,F);_.push(new D(Me,B,we,!et.closingBracket))}w=F}if(et.child){const Le=et.child;F=(0,A.Ii)(w,Le.length),(0,A.By)(w,ee)&&(0,A.Zq)(F,M)&&me(Le,w,F,M,ee,_,B+1,ce),w=F}if(et.closingBracket){const Le=et.closingBracket;if(F=(0,A.Ii)(w,Le.length),(0,A.By)(w,ee)&&(0,A.Zq)(F,M)){const Me=(0,A.Qw)(w,F);_.push(new D(Me,B,we,!1))}w=F}ce?.set(et.openingBracket.text,we)}else if(et.kind===3){const we=(0,A.Qw)(w,F);_.push(new D(we,B-1,0,!0))}else if(et.kind===1){const we=(0,A.Qw)(w,F);_.push(new D(we,B-1,0,!1))}}}class re{constructor(w,F,M){this.result=w,this.includeMinIndentation=F,this.textModel=M}}function Y(et,w,F,M,ee,_,B,ce){var we;if(!(B>200))if(et.kind===2){let Le=0;if(ce){let Ge=ce.get(et.openingBracket.text);Ge===void 0&&(Ge=0),Le=Ge,Ge++,ce.set(et.openingBracket.text,Ge)}const Me=(0,A.Ii)(w,et.openingBracket.length);let ze=-1;if(_.includeMinIndentation&&(ze=et.computeMinIndentation(w,_.textModel)),_.result.push(new K((0,A.Qw)(w,F),(0,A.Qw)(w,Me),et.closingBracket?(0,A.Qw)((0,A.Ii)(Me,((we=et.child)===null||we===void 0?void 0:we.length)||A.xl),F):void 0,B,Le,et,ze)),w=Me,et.child){const Ge=et.child;F=(0,A.Ii)(w,Ge.length),(0,A.By)(w,ee)&&(0,A.Zq)(F,M)&&Y(Ge,w,F,M,ee,_,B+1,ce)}ce?.set(et.openingBracket.text,Le)}else{let Le=w;for(const Me of et.children){const ze=Le;Le=(0,A.Ii)(Le,Me.length),(0,A.By)(ze,ee)&&(0,A.By)(M,Le)&&Y(Me,ze,Le,M,ee,_,B,ce)}}}var de=m(44725),oe=m(70013);class J extends N.JT{constructor(w,F){super(),this.textModel=w,this.languageConfigurationService=F,this.bracketPairsTree=this._register(new N.XK),this.onDidChangeEmitter=new Q.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange(M=>{var ee;(!M.languageId||!((ee=this.bracketPairsTree.value)===null||ee===void 0)&&ee.object.didLanguageChange(M.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}))}get canBuildAST(){return this.textModel.getValueLength()<=5e6}handleDidChangeOptions(w){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(w){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(w){var F;(F=this.bracketPairsTree.value)===null||F===void 0||F.object.handleContentChanged(w)}handleDidChangeBackgroundTokenizationState(){var w;(w=this.bracketPairsTree.value)===null||w===void 0||w.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(w){var F;(F=this.bracketPairsTree.value)===null||F===void 0||F.object.handleDidChangeTokens(w)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const w=new N.SL;this.bracketPairsTree.value=$(w.add(new he(this.textModel,F=>this.languageConfigurationService.getLanguageConfiguration(F))),w),w.add(this.bracketPairsTree.value.object.onDidChange(F=>this.onDidChangeEmitter.fire(F))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(w){var F;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((F=this.bracketPairsTree.value)===null||F===void 0?void 0:F.object.getBracketPairsInRange(w,!1))||[]}getBracketPairsInRangeWithMinIndentation(w){var F;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((F=this.bracketPairsTree.value)===null||F===void 0?void 0:F.object.getBracketPairsInRange(w,!0))||[]}getBracketsInRange(w){var F;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((F=this.bracketPairsTree.value)===null||F===void 0?void 0:F.object.getBracketsInRange(w))||[]}findMatchingBracketUp(w,F,M){const ee=this.textModel.validatePosition(F),_=this.textModel.getLanguageIdAtPosition(ee.lineNumber,ee.column);if(this.canBuildAST){const B=this.languageConfigurationService.getLanguageConfiguration(_).bracketsNew.getClosingBracketInfo(w);if(!B)return null;const ce=(0,k.dF)(this.getBracketPairsInRange(C.e.fromPositions(F,F))||[],we=>B.closes(we.openingBracketInfo));return ce?ce.openingBracketRange:null}else{const B=w.toLowerCase(),ce=this.languageConfigurationService.getLanguageConfiguration(_).brackets;if(!ce)return null;const we=ce.textIsBracket[B];return we?xe(this._findMatchingBracketUp(we,ee,ue(M))):null}}matchBracket(w,F){if(this.canBuildAST){const M=(0,k.jV)(this.getBracketPairsInRange(C.e.fromPositions(w,w)).filter(ee=>ee.closingBracketRange!==void 0&&(ee.openingBracketRange.containsPosition(w)||ee.closingBracketRange.containsPosition(w))),(0,k.tT)(ee=>ee.openingBracketRange.containsPosition(w)?ee.openingBracketRange:ee.closingBracketRange,C.e.compareRangesUsingStarts));return M?[M.openingBracketRange,M.closingBracketRange]:null}else{const M=ue(F);return this._matchBracket(this.textModel.validatePosition(w),M)}}_establishBracketSearchOffsets(w,F,M,ee){const _=F.getCount(),B=F.getLanguageId(ee);let ce=Math.max(0,w.column-1-M.maxBracketLength);for(let Le=ee-1;Le>=0;Le--){const Me=F.getEndOffset(Le);if(Me<=ce)break;if((0,de.Bu)(F.getStandardTokenType(Le))||F.getLanguageId(Le)!==B){ce=Me;break}}let we=Math.min(F.getLineContent().length,w.column-1+M.maxBracketLength);for(let Le=ee+1;Le<_;Le++){const Me=F.getStartOffset(Le);if(Me>=we)break;if((0,de.Bu)(F.getStandardTokenType(Le))||F.getLanguageId(Le)!==B){we=Me;break}}return{searchStartOffset:ce,searchEndOffset:we}}_matchBracket(w,F){const M=w.lineNumber,ee=this.textModel.tokenization.getLineTokens(M),_=this.textModel.getLineContent(M),B=ee.findTokenIndexAtOffset(w.column-1);if(B<0)return null;const ce=this.languageConfigurationService.getLanguageConfiguration(ee.getLanguageId(B)).brackets;if(ce&&!(0,de.Bu)(ee.getStandardTokenType(B))){let{searchStartOffset:we,searchEndOffset:Le}=this._establishBracketSearchOffsets(w,ee,ce,B),Me=null;for(;;){const ze=oe.Vr.findNextBracketInRange(ce.forwardRegex,M,_,we,Le);if(!ze)break;if(ze.startColumn<=w.column&&w.column<=ze.endColumn){const Ge=_.substring(ze.startColumn-1,ze.endColumn-1).toLowerCase(),gt=this._matchFoundBracket(ze,ce.textIsBracket[Ge],ce.textIsOpenBracket[Ge],F);if(gt){if(gt instanceof ve)return null;Me=gt}}we=ze.endColumn-1}if(Me)return Me}if(B>0&&ee.getStartOffset(B)===w.column-1){const we=B-1,Le=this.languageConfigurationService.getLanguageConfiguration(ee.getLanguageId(we)).brackets;if(Le&&!(0,de.Bu)(ee.getStandardTokenType(we))){const{searchStartOffset:Me,searchEndOffset:ze}=this._establishBracketSearchOffsets(w,ee,Le,we),Ge=oe.Vr.findPrevBracketInRange(Le.reversedRegex,M,_,Me,ze);if(Ge&&Ge.startColumn<=w.column&&w.column<=Ge.endColumn){const gt=_.substring(Ge.startColumn-1,Ge.endColumn-1).toLowerCase(),St=this._matchFoundBracket(Ge,Le.textIsBracket[gt],Le.textIsOpenBracket[gt],F);if(St)return St instanceof ve?null:St}}}return null}_matchFoundBracket(w,F,M,ee){if(!F)return null;const _=M?this._findMatchingBracketDown(F,w.getEndPosition(),ee):this._findMatchingBracketUp(F,w.getStartPosition(),ee);return _?_ instanceof ve?_:[w,_]:null}_findMatchingBracketUp(w,F,M){const ee=w.languageId,_=w.reversedRegex;let B=-1,ce=0;const we=(Le,Me,ze,Ge)=>{for(;;){if(M&&++ce%100===0&&!M())return ve.INSTANCE;const gt=oe.Vr.findPrevBracketInRange(_,Le,Me,ze,Ge);if(!gt)break;const St=Me.substring(gt.startColumn-1,gt.endColumn-1).toLowerCase();if(w.isOpen(St)?B++:w.isClose(St)&&B--,B===0)return gt;Ge=gt.startColumn-1}return null};for(let Le=F.lineNumber;Le>=1;Le--){const Me=this.textModel.tokenization.getLineTokens(Le),ze=Me.getCount(),Ge=this.textModel.getLineContent(Le);let gt=ze-1,St=Ge.length,kt=Ge.length;Le===F.lineNumber&&(gt=Me.findTokenIndexAtOffset(F.column-1),St=F.column-1,kt=F.column-1);let Ft=!0;for(;gt>=0;gt--){const Vt=Me.getLanguageId(gt)===ee&&!(0,de.Bu)(Me.getStandardTokenType(gt));if(Vt)Ft?St=Me.getStartOffset(gt):(St=Me.getStartOffset(gt),kt=Me.getEndOffset(gt));else if(Ft&&St!==kt){const Jt=we(Le,Ge,St,kt);if(Jt)return Jt}Ft=Vt}if(Ft&&St!==kt){const Vt=we(Le,Ge,St,kt);if(Vt)return Vt}}return null}_findMatchingBracketDown(w,F,M){const ee=w.languageId,_=w.forwardRegex;let B=1,ce=0;const we=(Me,ze,Ge,gt)=>{for(;;){if(M&&++ce%100===0&&!M())return ve.INSTANCE;const St=oe.Vr.findNextBracketInRange(_,Me,ze,Ge,gt);if(!St)break;const kt=ze.substring(St.startColumn-1,St.endColumn-1).toLowerCase();if(w.isOpen(kt)?B++:w.isClose(kt)&&B--,B===0)return St;Ge=St.endColumn-1}return null},Le=this.textModel.getLineCount();for(let Me=F.lineNumber;Me<=Le;Me++){const ze=this.textModel.tokenization.getLineTokens(Me),Ge=ze.getCount(),gt=this.textModel.getLineContent(Me);let St=0,kt=0,Ft=0;Me===F.lineNumber&&(St=ze.findTokenIndexAtOffset(F.column-1),kt=F.column-1,Ft=F.column-1);let Vt=!0;for(;St<Ge;St++){const Jt=ze.getLanguageId(St)===ee&&!(0,de.Bu)(ze.getStandardTokenType(St));if(Jt)Vt||(kt=ze.getStartOffset(St)),Ft=ze.getEndOffset(St);else if(Vt&&kt!==Ft){const pi=we(Me,gt,kt,Ft);if(pi)return pi}Vt=Jt}if(Vt&&kt!==Ft){const Jt=we(Me,gt,kt,Ft);if(Jt)return Jt}}return null}findPrevBracket(w){var F;const M=this.textModel.validatePosition(w);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((F=this.bracketPairsTree.value)===null||F===void 0?void 0:F.object.getFirstBracketBefore(M))||null;let ee=null,_=null,B=null;for(let ce=M.lineNumber;ce>=1;ce--){const we=this.textModel.tokenization.getLineTokens(ce),Le=we.getCount(),Me=this.textModel.getLineContent(ce);let ze=Le-1,Ge=Me.length,gt=Me.length;if(ce===M.lineNumber){ze=we.findTokenIndexAtOffset(M.column-1),Ge=M.column-1,gt=M.column-1;const kt=we.getLanguageId(ze);ee!==kt&&(ee=kt,_=this.languageConfigurationService.getLanguageConfiguration(ee).brackets,B=this.languageConfigurationService.getLanguageConfiguration(ee).bracketsNew)}let St=!0;for(;ze>=0;ze--){const kt=we.getLanguageId(ze);if(ee!==kt){if(_&&B&&St&&Ge!==gt){const Vt=oe.Vr.findPrevBracketInRange(_.reversedRegex,ce,Me,Ge,gt);if(Vt)return this._toFoundBracket(B,Vt);St=!1}ee=kt,_=this.languageConfigurationService.getLanguageConfiguration(ee).brackets,B=this.languageConfigurationService.getLanguageConfiguration(ee).bracketsNew}const Ft=!!_&&!(0,de.Bu)(we.getStandardTokenType(ze));if(Ft)St?Ge=we.getStartOffset(ze):(Ge=we.getStartOffset(ze),gt=we.getEndOffset(ze));else if(B&&_&&St&&Ge!==gt){const Vt=oe.Vr.findPrevBracketInRange(_.reversedRegex,ce,Me,Ge,gt);if(Vt)return this._toFoundBracket(B,Vt)}St=Ft}if(B&&_&&St&&Ge!==gt){const kt=oe.Vr.findPrevBracketInRange(_.reversedRegex,ce,Me,Ge,gt);if(kt)return this._toFoundBracket(B,kt)}}return null}findNextBracket(w){var F;const M=this.textModel.validatePosition(w);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((F=this.bracketPairsTree.value)===null||F===void 0?void 0:F.object.getFirstBracketAfter(M))||null;const ee=this.textModel.getLineCount();let _=null,B=null,ce=null;for(let we=M.lineNumber;we<=ee;we++){const Le=this.textModel.tokenization.getLineTokens(we),Me=Le.getCount(),ze=this.textModel.getLineContent(we);let Ge=0,gt=0,St=0;if(we===M.lineNumber){Ge=Le.findTokenIndexAtOffset(M.column-1),gt=M.column-1,St=M.column-1;const Ft=Le.getLanguageId(Ge);_!==Ft&&(_=Ft,B=this.languageConfigurationService.getLanguageConfiguration(_).brackets,ce=this.languageConfigurationService.getLanguageConfiguration(_).bracketsNew)}let kt=!0;for(;Ge<Me;Ge++){const Ft=Le.getLanguageId(Ge);if(_!==Ft){if(ce&&B&&kt&>!==St){const Jt=oe.Vr.findNextBracketInRange(B.forwardRegex,we,ze,gt,St);if(Jt)return this._toFoundBracket(ce,Jt);kt=!1}_=Ft,B=this.languageConfigurationService.getLanguageConfiguration(_).brackets,ce=this.languageConfigurationService.getLanguageConfiguration(_).bracketsNew}const Vt=!!B&&!(0,de.Bu)(Le.getStandardTokenType(Ge));if(Vt)kt||(gt=Le.getStartOffset(Ge)),St=Le.getEndOffset(Ge);else if(ce&&B&&kt&>!==St){const Jt=oe.Vr.findNextBracketInRange(B.forwardRegex,we,ze,gt,St);if(Jt)return this._toFoundBracket(ce,Jt)}kt=Vt}if(ce&&B&&kt&>!==St){const Ft=oe.Vr.findNextBracketInRange(B.forwardRegex,we,ze,gt,St);if(Ft)return this._toFoundBracket(ce,Ft)}}return null}findEnclosingBrackets(w,F){const M=this.textModel.validatePosition(w);if(this.canBuildAST){const gt=C.e.fromPositions(M),St=(0,k.dF)(this.getBracketPairsInRange(C.e.fromPositions(M,M)),kt=>kt.closingBracketRange!==void 0&&kt.range.strictContainsRange(gt));return St?[St.openingBracketRange,St.closingBracketRange]:null}const ee=ue(F),_=this.textModel.getLineCount(),B=new Map;let ce=[];const we=(gt,St)=>{if(!B.has(gt)){const kt=[];for(let Ft=0,Vt=St?St.brackets.length:0;Ft<Vt;Ft++)kt[Ft]=0;B.set(gt,kt)}ce=B.get(gt)};let Le=0;const Me=(gt,St,kt,Ft,Vt)=>{for(;;){if(ee&&++Le%100===0&&!ee())return ve.INSTANCE;const Jt=oe.Vr.findNextBracketInRange(gt.forwardRegex,St,kt,Ft,Vt);if(!Jt)break;const pi=kt.substring(Jt.startColumn-1,Jt.endColumn-1).toLowerCase(),ki=gt.textIsBracket[pi];if(ki&&(ki.isOpen(pi)?ce[ki.index]++:ki.isClose(pi)&&ce[ki.index]--,ce[ki.index]===-1))return this._matchFoundBracket(Jt,ki,!1,ee);Ft=Jt.endColumn-1}return null};let ze=null,Ge=null;for(let gt=M.lineNumber;gt<=_;gt++){const St=this.textModel.tokenization.getLineTokens(gt),kt=St.getCount(),Ft=this.textModel.getLineContent(gt);let Vt=0,Jt=0,pi=0;if(gt===M.lineNumber){Vt=St.findTokenIndexAtOffset(M.column-1),Jt=M.column-1,pi=M.column-1;const qi=St.getLanguageId(Vt);ze!==qi&&(ze=qi,Ge=this.languageConfigurationService.getLanguageConfiguration(ze).brackets,we(ze,Ge))}let ki=!0;for(;Vt<kt;Vt++){const qi=St.getLanguageId(Vt);if(ze!==qi){if(Ge&&ki&&Jt!==pi){const Mi=Me(Ge,gt,Ft,Jt,pi);if(Mi)return xe(Mi);ki=!1}ze=qi,Ge=this.languageConfigurationService.getLanguageConfiguration(ze).brackets,we(ze,Ge)}const kn=!!Ge&&!(0,de.Bu)(St.getStandardTokenType(Vt));if(kn)ki||(Jt=St.getStartOffset(Vt)),pi=St.getEndOffset(Vt);else if(Ge&&ki&&Jt!==pi){const Mi=Me(Ge,gt,Ft,Jt,pi);if(Mi)return xe(Mi)}ki=kn}if(Ge&&ki&&Jt!==pi){const qi=Me(Ge,gt,Ft,Jt,pi);if(qi)return xe(qi)}}return null}_toFoundBracket(w,F){if(!F)return null;let M=this.textModel.getValueInRange(F);M=M.toLowerCase();const ee=w.getBracketInfo(M);return ee?{range:F,bracketInfo:ee}:null}}function $(et,w){return{object:et,dispose:()=>w?.dispose()}}function ue(et){if(typeof et>"u")return()=>!0;{const w=Date.now();return()=>Date.now()-w<=et}}class ve{constructor(){this._searchCanceledBrand=void 0}}ve.INSTANCE=new ve;function xe(et){return et instanceof ve?null:et}var O=m(1107),rt=m(26194);class ct extends N.JT{constructor(w){super(),this.textModel=w,this.colorProvider=new Ve,this.onDidChangeEmitter=new Q.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=w.getOptions().bracketPairColorizationOptions,this._register(w.bracketPairs.onDidChange(F=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(w){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(w,F,M){if(F===void 0)return[];if(!this.colorizationOptions.enabled)return[];const ee=new Array,_=this.textModel.bracketPairs.getBracketsInRange(w);for(const B of _)ee.push({id:`bracket${B.range.toString()}-${B.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(B,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:B.range});return ee}getAllDecorations(w,F){return w===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new C.e(1,1,this.textModel.getLineCount(),1),w,F):[]}}class Ve{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(w,F){return w.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(F?w.nestingLevelOfEqualBracketType:w.nestingLevel)}getInlineClassNameOfLevel(w){return`bracket-highlighting-${w%30}`}}(0,rt.Ic)((et,w)=>{const F=[O.zJ,O.Vs,O.CE,O.UP,O.r0,O.m1],M=new Ve;w.addRule(`.monaco-editor .${M.unexpectedClosingBracketClassName} { color: ${et.getColor(O.ts)}; }`);const ee=F.map(_=>et.getColor(_)).filter(_=>!!_).filter(_=>!_.isTransparent());for(let _=0;_<30;_++){const B=ee[_%ee.length];w.addRule(`.monaco-editor .${M.getInlineClassNameOfLevel(_)} { color: ${B}; }`)}});var $e=m(63312),Ee=m(45663);class Fe{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function je(et,w,F,M,ee){ee.spacesDiff=0,ee.looksLikeAlignment=!1;let _;for(_=0;_<w&&_<M;_++){const Ge=et.charCodeAt(_),gt=F.charCodeAt(_);if(Ge!==gt)break}let B=0,ce=0;for(let Ge=_;Ge<w;Ge++)et.charCodeAt(Ge)===32?B++:ce++;let we=0,Le=0;for(let Ge=_;Ge<M;Ge++)F.charCodeAt(Ge)===32?we++:Le++;if(B>0&&ce>0||we>0&&Le>0)return;const Me=Math.abs(ce-Le),ze=Math.abs(B-we);if(Me===0){ee.spacesDiff=ze,ze>0&&0<=we-1&&we-1<et.length&&we<F.length&&F.charCodeAt(we)!==32&&et.charCodeAt(we-1)===32&&et.charCodeAt(et.length-1)===44&&(ee.looksLikeAlignment=!0);return}if(ze%Me===0){ee.spacesDiff=ze/Me;return}}function Re(et,w,F){const M=Math.min(et.getLineCount(),1e4);let ee=0,_=0,B="",ce=0;const we=[2,4,6,8,3,5,7],Le=8,Me=[0,0,0,0,0,0,0,0,0],ze=new Fe;for(let St=1;St<=M;St++){const kt=et.getLineLength(St),Ft=et.getLineContent(St),Vt=kt<=65536;let Jt=!1,pi=0,ki=0,qi=0;for(let Mi=0,Hi=kt;Mi<Hi;Mi++){const Os=Vt?Ft.charCodeAt(Mi):et.getLineCharCode(St,Mi);if(Os===9)qi++;else if(Os===32)ki++;else{Jt=!0,pi=Mi;break}}if(!Jt||(qi>0?ee++:ki>1&&_++,je(B,ce,Ft,pi,ze),ze.looksLikeAlignment&&!(F&&w===ze.spacesDiff)))continue;const kn=ze.spacesDiff;kn<=Le&&Me[kn]++,B=Ft,ce=pi}let Ge=F;ee!==_&&(Ge=ee<_);let gt=w;if(Ge){let St=Ge?0:.1*M;we.forEach(kt=>{const Ft=Me[kt];Ft>St&&(St=Ft,gt=kt)}),gt===4&&Me[4]>0&&Me[2]>0&&Me[2]>=Me[4]/2&&(gt=2)}return{insertSpaces:Ge,tabSize:gt}}function tt(et){return(et.metadata&1)>>>0}function at(et,w){et.metadata=et.metadata&254|w<<0}function Dt(et){return(et.metadata&2)>>>1===1}function Et(et,w){et.metadata=et.metadata&253|(w?1:0)<<1}function Nt(et){return(et.metadata&4)>>>2===1}function ke(et,w){et.metadata=et.metadata&251|(w?1:0)<<2}function dt(et){return(et.metadata&24)>>>3}function mt(et,w){et.metadata=et.metadata&231|w<<3}function Wt(et){return(et.metadata&32)>>>5===1}function Kt(et,w){et.metadata=et.metadata&223|(w?1:0)<<5}class _t{constructor(w,F,M){this.metadata=0,this.parent=this,this.left=this,this.right=this,at(this,1),this.start=F,this.end=M,this.delta=0,this.maxEnd=M,this.id=w,this.ownerId=0,this.options=null,ke(this,!1),mt(this,1),Kt(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=F,this.cachedAbsoluteEnd=M,this.range=null,Et(this,!1)}reset(w,F,M,ee){this.start=F,this.end=M,this.maxEnd=M,this.cachedVersionId=w,this.cachedAbsoluteStart=F,this.cachedAbsoluteEnd=M,this.range=ee}setOptions(w){this.options=w;const F=this.options.className;ke(this,F==="squiggly-error"||F==="squiggly-warning"||F==="squiggly-info"),mt(this,this.options.stickiness),Kt(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(w,F,M){this.cachedVersionId!==M&&(this.range=null),this.cachedVersionId=M,this.cachedAbsoluteStart=w,this.cachedAbsoluteEnd=F}detach(){this.parent=null,this.left=null,this.right=null}}const wt=new _t(null,0,0);wt.parent=wt,wt.left=wt,wt.right=wt,at(wt,0);class Ut{constructor(){this.root=wt,this.requestNormalizeDelta=!1}intervalSearch(w,F,M,ee,_){return this.root===wt?[]:Ui(this,w,F,M,ee,_)}search(w,F,M){return this.root===wt?[]:Di(this,w,F,M)}collectNodesFromOwner(w){return ti(this,w)}collectNodesPostOrder(){return ri(this)}insert(w){Ei(this,w),this._normalizeDeltaIfNecessary()}delete(w){Ii(this,w),this._normalizeDeltaIfNecessary()}resolveNode(w,F){const M=w;let ee=0;for(;w!==this.root;)w===w.parent.right&&(ee+=w.parent.delta),w=w.parent;const _=M.start+ee,B=M.end+ee;M.setCachedOffsets(_,B,F)}acceptReplace(w,F,M,ee){const _=Ct(this,w,w+F);for(let B=0,ce=_.length;B<ce;B++){const we=_[B];Ii(this,we)}this._normalizeDeltaIfNecessary(),Pt(this,w,w+F,M),this._normalizeDeltaIfNecessary();for(let B=0,ce=_.length;B<ce;B++){const we=_[B];we.start=we.cachedAbsoluteStart,we.end=we.cachedAbsoluteEnd,Ye(we,w,w+F,M,ee),we.maxEnd=we.end,Ei(this,we)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,ni(this))}}function ni(et){let w=et.root,F=0;for(;w!==wt;){if(w.left!==wt&&!Dt(w.left)){w=w.left;continue}if(w.right!==wt&&!Dt(w.right)){F+=w.delta,w=w.right;continue}w.start=F+w.start,w.end=F+w.end,w.delta=0,Yt(w),Et(w,!0),Et(w.left,!1),Et(w.right,!1),w===w.parent.right&&(F-=w.parent.delta),w=w.parent}Et(et.root,!1)}function vi(et,w,F,M){return et<F?!0:et>F||M===1?!1:M===2?!0:w}function Ye(et,w,F,M,ee){const _=dt(et),B=_===0||_===2,ce=_===1||_===2,we=F-w,Le=M,Me=Math.min(we,Le),ze=et.start;let Ge=!1;const gt=et.end;let St=!1;w<=ze&><=F&&Wt(et)&&(et.start=w,Ge=!0,et.end=w,St=!0);{const Ft=ee?1:we>0?2:0;!Ge&&vi(ze,B,w,Ft)&&(Ge=!0),!St&&vi(gt,ce,w,Ft)&&(St=!0)}if(Me>0&&!ee){const Ft=we>Le?2:0;!Ge&&vi(ze,B,w+Me,Ft)&&(Ge=!0),!St&&vi(gt,ce,w+Me,Ft)&&(St=!0)}{const Ft=ee?1:0;!Ge&&vi(ze,B,F,Ft)&&(et.start=w+Le,Ge=!0),!St&&vi(gt,ce,F,Ft)&&(et.end=w+Le,St=!0)}const kt=Le-we;Ge||(et.start=Math.max(0,ze+kt)),St||(et.end=Math.max(0,gt+kt)),et.start>et.end&&(et.end=et.start)}function Ct(et,w,F){let M=et.root,ee=0,_=0,B=0,ce=0;const we=[];let Le=0;for(;M!==wt;){if(Dt(M)){Et(M.left,!1),Et(M.right,!1),M===M.parent.right&&(ee-=M.parent.delta),M=M.parent;continue}if(!Dt(M.left)){if(_=ee+M.maxEnd,_<w){Et(M,!0);continue}if(M.left!==wt){M=M.left;continue}}if(B=ee+M.start,B>F){Et(M,!0);continue}if(ce=ee+M.end,ce>=w&&(M.setCachedOffsets(B,ce,0),we[Le++]=M),Et(M,!0),M.right!==wt&&!Dt(M.right)){ee+=M.delta,M=M.right;continue}}return Et(et.root,!1),we}function Pt(et,w,F,M){let ee=et.root,_=0,B=0,ce=0;const we=M-(F-w);for(;ee!==wt;){if(Dt(ee)){Et(ee.left,!1),Et(ee.right,!1),ee===ee.parent.right&&(_-=ee.parent.delta),Yt(ee),ee=ee.parent;continue}if(!Dt(ee.left)){if(B=_+ee.maxEnd,B<w){Et(ee,!0);continue}if(ee.left!==wt){ee=ee.left;continue}}if(ce=_+ee.start,ce>F){ee.start+=we,ee.end+=we,ee.delta+=we,(ee.delta<-1073741824||ee.delta>1073741824)&&(et.requestNormalizeDelta=!0),Et(ee,!0);continue}if(Et(ee,!0),ee.right!==wt&&!Dt(ee.right)){_+=ee.delta,ee=ee.right;continue}}Et(et.root,!1)}function ti(et,w){let F=et.root;const M=[];let ee=0;for(;F!==wt;){if(Dt(F)){Et(F.left,!1),Et(F.right,!1),F=F.parent;continue}if(F.left!==wt&&!Dt(F.left)){F=F.left;continue}if(F.ownerId===w&&(M[ee++]=F),Et(F,!0),F.right!==wt&&!Dt(F.right)){F=F.right;continue}}return Et(et.root,!1),M}function ri(et){let w=et.root;const F=[];let M=0;for(;w!==wt;){if(Dt(w)){Et(w.left,!1),Et(w.right,!1),w=w.parent;continue}if(w.left!==wt&&!Dt(w.left)){w=w.left;continue}if(w.right!==wt&&!Dt(w.right)){w=w.right;continue}F[M++]=w,Et(w,!0)}return Et(et.root,!1),F}function Di(et,w,F,M){let ee=et.root,_=0,B=0,ce=0;const we=[];let Le=0;for(;ee!==wt;){if(Dt(ee)){Et(ee.left,!1),Et(ee.right,!1),ee===ee.parent.right&&(_-=ee.parent.delta),ee=ee.parent;continue}if(ee.left!==wt&&!Dt(ee.left)){ee=ee.left;continue}B=_+ee.start,ce=_+ee.end,ee.setCachedOffsets(B,ce,M);let Me=!0;if(w&&ee.ownerId&&ee.ownerId!==w&&(Me=!1),F&&Nt(ee)&&(Me=!1),Me&&(we[Le++]=ee),Et(ee,!0),ee.right!==wt&&!Dt(ee.right)){_+=ee.delta,ee=ee.right;continue}}return Et(et.root,!1),we}function Ui(et,w,F,M,ee,_){let B=et.root,ce=0,we=0,Le=0,Me=0;const ze=[];let Ge=0;for(;B!==wt;){if(Dt(B)){Et(B.left,!1),Et(B.right,!1),B===B.parent.right&&(ce-=B.parent.delta),B=B.parent;continue}if(!Dt(B.left)){if(we=ce+B.maxEnd,we<w){Et(B,!0);continue}if(B.left!==wt){B=B.left;continue}}if(Le=ce+B.start,Le>F){Et(B,!0);continue}if(Me=ce+B.end,Me>=w){B.setCachedOffsets(Le,Me,_);let gt=!0;M&&B.ownerId&&B.ownerId!==M&&(gt=!1),ee&&Nt(B)&&(gt=!1),gt&&(ze[Ge++]=B)}if(Et(B,!0),B.right!==wt&&!Dt(B.right)){ce+=B.delta,B=B.right;continue}}return Et(et.root,!1),ze}function Ei(et,w){if(et.root===wt)return w.parent=wt,w.left=wt,w.right=wt,at(w,0),et.root=w,et.root;Ae(et,w),bi(w.parent);let F=w;for(;F!==et.root&&tt(F.parent)===1;)if(F.parent===F.parent.parent.left){const M=F.parent.parent.right;tt(M)===1?(at(F.parent,0),at(M,0),at(F.parent.parent,1),F=F.parent.parent):(F===F.parent.right&&(F=F.parent,ht(et,F)),at(F.parent,0),at(F.parent.parent,1),Oe(et,F.parent.parent))}else{const M=F.parent.parent.left;tt(M)===1?(at(F.parent,0),at(M,0),at(F.parent.parent,1),F=F.parent.parent):(F===F.parent.left&&(F=F.parent,Oe(et,F)),at(F.parent,0),at(F.parent.parent,1),ht(et,F.parent.parent))}return at(et.root,0),w}function Ae(et,w){let F=0,M=et.root;const ee=w.start,_=w.end;for(;;)if(Gi(ee,_,M.start+F,M.end+F)<0)if(M.left===wt){w.start-=F,w.end-=F,w.maxEnd-=F,M.left=w;break}else M=M.left;else if(M.right===wt){w.start-=F+M.delta,w.end-=F+M.delta,w.maxEnd-=F+M.delta,M.right=w;break}else F+=M.delta,M=M.right;w.parent=M,w.left=wt,w.right=wt,at(w,1)}function Ii(et,w){let F,M;if(w.left===wt?(F=w.right,M=w,F.delta+=w.delta,(F.delta<-1073741824||F.delta>1073741824)&&(et.requestNormalizeDelta=!0),F.start+=w.delta,F.end+=w.delta):w.right===wt?(F=w.left,M=w):(M=Ue(w.right),F=M.right,F.start+=M.delta,F.end+=M.delta,F.delta+=M.delta,(F.delta<-1073741824||F.delta>1073741824)&&(et.requestNormalizeDelta=!0),M.start+=w.delta,M.end+=w.delta,M.delta=w.delta,(M.delta<-1073741824||M.delta>1073741824)&&(et.requestNormalizeDelta=!0)),M===et.root){et.root=F,at(F,0),w.detach(),Se(),Yt(F),et.root.parent=wt;return}const ee=tt(M)===1;if(M===M.parent.left?M.parent.left=F:M.parent.right=F,M===w?F.parent=M.parent:(M.parent===w?F.parent=M:F.parent=M.parent,M.left=w.left,M.right=w.right,M.parent=w.parent,at(M,tt(w)),w===et.root?et.root=M:w===w.parent.left?w.parent.left=M:w.parent.right=M,M.left!==wt&&(M.left.parent=M),M.right!==wt&&(M.right.parent=M)),w.detach(),ee){bi(F.parent),M!==w&&(bi(M),bi(M.parent)),Se();return}bi(F),bi(F.parent),M!==w&&(bi(M),bi(M.parent));let _;for(;F!==et.root&&tt(F)===0;)F===F.parent.left?(_=F.parent.right,tt(_)===1&&(at(_,0),at(F.parent,1),ht(et,F.parent),_=F.parent.right),tt(_.left)===0&&tt(_.right)===0?(at(_,1),F=F.parent):(tt(_.right)===0&&(at(_.left,0),at(_,1),Oe(et,_),_=F.parent.right),at(_,tt(F.parent)),at(F.parent,0),at(_.right,0),ht(et,F.parent),F=et.root)):(_=F.parent.left,tt(_)===1&&(at(_,0),at(F.parent,1),Oe(et,F.parent),_=F.parent.left),tt(_.left)===0&&tt(_.right)===0?(at(_,1),F=F.parent):(tt(_.left)===0&&(at(_.right,0),at(_,1),ht(et,_),_=F.parent.left),at(_,tt(F.parent)),at(F.parent,0),at(_.left,0),Oe(et,F.parent),F=et.root));at(F,0),Se()}function Ue(et){for(;et.left!==wt;)et=et.left;return et}function Se(){wt.parent=wt,wt.delta=0,wt.start=0,wt.end=0}function ht(et,w){const F=w.right;F.delta+=w.delta,(F.delta<-1073741824||F.delta>1073741824)&&(et.requestNormalizeDelta=!0),F.start+=w.delta,F.end+=w.delta,w.right=F.left,F.left!==wt&&(F.left.parent=w),F.parent=w.parent,w.parent===wt?et.root=F:w===w.parent.left?w.parent.left=F:w.parent.right=F,F.left=w,w.parent=F,Yt(w),Yt(F)}function Oe(et,w){const F=w.left;w.delta-=F.delta,(w.delta<-1073741824||w.delta>1073741824)&&(et.requestNormalizeDelta=!0),w.start-=F.delta,w.end-=F.delta,w.left=F.right,F.right!==wt&&(F.right.parent=w),F.parent=w.parent,w.parent===wt?et.root=F:w===w.parent.right?w.parent.right=F:w.parent.left=F,F.right=w,w.parent=F,Yt(w),Yt(F)}function ft(et){let w=et.end;if(et.left!==wt){const F=et.left.maxEnd;F>w&&(w=F)}if(et.right!==wt){const F=et.right.maxEnd+et.delta;F>w&&(w=F)}return w}function Yt(et){et.maxEnd=ft(et)}function bi(et){for(;et!==wt;){const w=ft(et);if(et.maxEnd===w)return;et.maxEnd=w,et=et.parent}}function Gi(et,w,F,M){return et===F?w-M:et-F}class Dn{constructor(w,F){this.piece=w,this.color=F,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==st)return bt(this.right);let w=this;for(;w.parent!==st&&w.parent.left!==w;)w=w.parent;return w.parent===st?st:w.parent}prev(){if(this.left!==st)return Zt(this.left);let w=this;for(;w.parent!==st&&w.parent.right!==w;)w=w.parent;return w.parent===st?st:w.parent}detach(){this.parent=null,this.left=null,this.right=null}}const st=new Dn(null,0);st.parent=st,st.left=st,st.right=st,st.color=0;function bt(et){for(;et.left!==st;)et=et.left;return et}function Zt(et){for(;et.right!==st;)et=et.right;return et}function Ot(et){return et===st?0:et.size_left+et.piece.length+Ot(et.right)}function lt(et){return et===st?0:et.lf_left+et.piece.lineFeedCnt+lt(et.right)}function Xi(){st.parent=st}function wi(et,w){const F=w.right;F.size_left+=w.size_left+(w.piece?w.piece.length:0),F.lf_left+=w.lf_left+(w.piece?w.piece.lineFeedCnt:0),w.right=F.left,F.left!==st&&(F.left.parent=w),F.parent=w.parent,w.parent===st?et.root=F:w.parent.left===w?w.parent.left=F:w.parent.right=F,F.left=w,w.parent=F}function yt(et,w){const F=w.left;w.left=F.right,F.right!==st&&(F.right.parent=w),F.parent=w.parent,w.size_left-=F.size_left+(F.piece?F.piece.length:0),w.lf_left-=F.lf_left+(F.piece?F.piece.lineFeedCnt:0),w.parent===st?et.root=F:w===w.parent.right?w.parent.right=F:w.parent.left=F,F.right=w,w.parent=F}function wn(et,w){let F,M;if(w.left===st?(M=w,F=M.right):w.right===st?(M=w,F=M.left):(M=bt(w.right),F=M.right),M===et.root){et.root=F,F.color=0,w.detach(),Xi(),et.root.parent=st;return}const ee=M.color===1;if(M===M.parent.left?M.parent.left=F:M.parent.right=F,M===w?(F.parent=M.parent,Ne(et,F)):(M.parent===w?F.parent=M:F.parent=M.parent,Ne(et,F),M.left=w.left,M.right=w.right,M.parent=w.parent,M.color=w.color,w===et.root?et.root=M:w===w.parent.left?w.parent.left=M:w.parent.right=M,M.left!==st&&(M.left.parent=M),M.right!==st&&(M.right.parent=M),M.size_left=w.size_left,M.lf_left=w.lf_left,Ne(et,M)),w.detach(),F.parent.left===F){const B=Ot(F),ce=lt(F);if(B!==F.parent.size_left||ce!==F.parent.lf_left){const we=B-F.parent.size_left,Le=ce-F.parent.lf_left;F.parent.size_left=B,F.parent.lf_left=ce,si(et,F.parent,we,Le)}}if(Ne(et,F.parent),ee){Xi();return}let _;for(;F!==et.root&&F.color===0;)F===F.parent.left?(_=F.parent.right,_.color===1&&(_.color=0,F.parent.color=1,wi(et,F.parent),_=F.parent.right),_.left.color===0&&_.right.color===0?(_.color=1,F=F.parent):(_.right.color===0&&(_.left.color=0,_.color=1,yt(et,_),_=F.parent.right),_.color=F.parent.color,F.parent.color=0,_.right.color=0,wi(et,F.parent),F=et.root)):(_=F.parent.left,_.color===1&&(_.color=0,F.parent.color=1,yt(et,F.parent),_=F.parent.left),_.left.color===0&&_.right.color===0?(_.color=1,F=F.parent):(_.left.color===0&&(_.right.color=0,_.color=1,wi(et,_),_=F.parent.left),_.color=F.parent.color,F.parent.color=0,_.left.color=0,yt(et,F.parent),F=et.root));F.color=0,Xi()}function on(et,w){for(Ne(et,w);w!==et.root&&w.parent.color===1;)if(w.parent===w.parent.parent.left){const F=w.parent.parent.right;F.color===1?(w.parent.color=0,F.color=0,w.parent.parent.color=1,w=w.parent.parent):(w===w.parent.right&&(w=w.parent,wi(et,w)),w.parent.color=0,w.parent.parent.color=1,yt(et,w.parent.parent))}else{const F=w.parent.parent.left;F.color===1?(w.parent.color=0,F.color=0,w.parent.parent.color=1,w=w.parent.parent):(w===w.parent.left&&(w=w.parent,yt(et,w)),w.parent.color=0,w.parent.parent.color=1,wi(et,w.parent.parent))}et.root.color=0}function si(et,w,F,M){for(;w!==et.root&&w!==st;)w.parent.left===w&&(w.parent.size_left+=F,w.parent.lf_left+=M),w=w.parent}function Ne(et,w){let F=0,M=0;if(w!==et.root){for(;w!==et.root&&w===w.parent.right;)w=w.parent;if(w!==et.root)for(w=w.parent,F=Ot(w.left)-w.size_left,M=lt(w.left)-w.lf_left,w.size_left+=F,w.lf_left+=M;w!==et.root&&(F!==0||M!==0);)w.parent.left===w&&(w.parent.size_left+=F,w.parent.lf_left+=M),w=w.parent}}var be=m(73774);const Xe=65535;function Rt(et){let w;return et[et.length-1]<65536?w=new Uint16Array(et.length):w=new Uint32Array(et.length),w.set(et,0),w}class Ht{constructor(w,F,M,ee,_){this.lineStarts=w,this.cr=F,this.lf=M,this.crlf=ee,this.isBasicASCII=_}}function Qt(et,w=!0){const F=[0];let M=1;for(let ee=0,_=et.length;ee<_;ee++){const B=et.charCodeAt(ee);B===13?ee+1<_&&et.charCodeAt(ee+1)===10?(F[M++]=ee+2,ee++):F[M++]=ee+1:B===10&&(F[M++]=ee+1)}return w?Rt(F):F}function ai(et,w){et.length=0,et[0]=0;let F=1,M=0,ee=0,_=0,B=!0;for(let we=0,Le=w.length;we<Le;we++){const Me=w.charCodeAt(we);Me===13?we+1<Le&&w.charCodeAt(we+1)===10?(_++,et[F++]=we+2,we++):(M++,et[F++]=we+1):Me===10?(ee++,et[F++]=we+1):B&&Me!==9&&(Me<32||Me>126)&&(B=!1)}const ce=new Ht(Rt(et),M,ee,_,B);return et.length=0,ce}class mi{constructor(w,F,M,ee,_){this.bufferIndex=w,this.start=F,this.end=M,this.lineFeedCnt=ee,this.length=_}}class ci{constructor(w,F){this.buffer=w,this.lineStarts=F}}class qt{constructor(w,F){this._pieces=[],this._tree=w,this._BOM=F,this._index=0,w.root!==st&&w.iterate(w.root,M=>(M!==st&&this._pieces.push(M.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 li{constructor(w){this._limit=w,this._cache=[]}get(w){for(let F=this._cache.length-1;F>=0;F--){const M=this._cache[F];if(M.nodeStartOffset<=w&&M.nodeStartOffset+M.node.piece.length>=w)return M}return null}get2(w){for(let F=this._cache.length-1;F>=0;F--){const M=this._cache[F];if(M.nodeStartLineNumber&&M.nodeStartLineNumber<w&&M.nodeStartLineNumber+M.node.piece.lineFeedCnt>=w)return M}return null}set(w){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(w)}validate(w){let F=!1;const M=this._cache;for(let ee=0;ee<M.length;ee++){const _=M[ee];if(_.node.parent===null||_.nodeStartOffset>=w){M[ee]=null,F=!0;continue}}if(F){const ee=[];for(const _ of M)_!==null&&ee.push(_);this._cache=ee}}}class xi{constructor(w,F,M){this.create(w,F,M)}create(w,F,M){this._buffers=[new ci("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=st,this._lineCnt=1,this._length=0,this._EOL=F,this._EOLLength=F.length,this._EOLNormalized=M;let ee=null;for(let _=0,B=w.length;_<B;_++)if(w[_].buffer.length>0){w[_].lineStarts||(w[_].lineStarts=Qt(w[_].buffer));const ce=new mi(_+1,{line:0,column:0},{line:w[_].lineStarts.length-1,column:w[_].buffer.length-w[_].lineStarts[w[_].lineStarts.length-1]},w[_].lineStarts.length-1,w[_].buffer.length);this._buffers.push(w[_]),ee=this.rbInsertRight(ee,ce)}this._searchCache=new li(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(w){const F=Xe,M=F-Math.floor(F/3),ee=M*2;let _="",B=0;const ce=[];if(this.iterate(this.root,we=>{const Le=this.getNodeContent(we),Me=Le.length;if(B<=M||B+Me<ee)return _+=Le,B+=Me,!0;const ze=_.replace(/\r\n|\r|\n/g,w);return ce.push(new ci(ze,Qt(ze))),_=Le,B=Me,!0}),B>0){const we=_.replace(/\r\n|\r|\n/g,w);ce.push(new ci(we,Qt(we)))}this.create(ce,w,!0)}getEOL(){return this._EOL}setEOL(w){this._EOL=w,this._EOLLength=this._EOL.length,this.normalizeEOL(w)}createSnapshot(w){return new qt(this,w)}getOffsetAt(w,F){let M=0,ee=this.root;for(;ee!==st;)if(ee.left!==st&&ee.lf_left+1>=w)ee=ee.left;else if(ee.lf_left+ee.piece.lineFeedCnt+1>=w){M+=ee.size_left;const _=this.getAccumulatedValue(ee,w-ee.lf_left-2);return M+=_+F-1}else w-=ee.lf_left+ee.piece.lineFeedCnt,M+=ee.size_left+ee.piece.length,ee=ee.right;return M}getPositionAt(w){w=Math.floor(w),w=Math.max(0,w);let F=this.root,M=0;const ee=w;for(;F!==st;)if(F.size_left!==0&&F.size_left>=w)F=F.left;else if(F.size_left+F.piece.length>=w){const _=this.getIndexOf(F,w-F.size_left);if(M+=F.lf_left+_.index,_.index===0){const B=this.getOffsetAt(M+1,1),ce=ee-B;return new y.L(M+1,ce+1)}return new y.L(M+1,_.remainder+1)}else if(w-=F.size_left+F.piece.length,M+=F.lf_left+F.piece.lineFeedCnt,F.right===st){const _=this.getOffsetAt(M+1,1),B=ee-w-_;return new y.L(M+1,B+1)}else F=F.right;return new y.L(1,1)}getValueInRange(w,F){if(w.startLineNumber===w.endLineNumber&&w.startColumn===w.endColumn)return"";const M=this.nodeAt2(w.startLineNumber,w.startColumn),ee=this.nodeAt2(w.endLineNumber,w.endColumn),_=this.getValueInRange2(M,ee);return F?F!==this._EOL||!this._EOLNormalized?_.replace(/\r\n|\r|\n/g,F):F===this.getEOL()&&this._EOLNormalized?_:_.replace(/\r\n|\r|\n/g,F):_}getValueInRange2(w,F){if(w.node===F.node){const ce=w.node,we=this._buffers[ce.piece.bufferIndex].buffer,Le=this.offsetInBuffer(ce.piece.bufferIndex,ce.piece.start);return we.substring(Le+w.remainder,Le+F.remainder)}let M=w.node;const ee=this._buffers[M.piece.bufferIndex].buffer,_=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);let B=ee.substring(_+w.remainder,_+M.piece.length);for(M=M.next();M!==st;){const ce=this._buffers[M.piece.bufferIndex].buffer,we=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);if(M===F.node){B+=ce.substring(we,we+F.remainder);break}else B+=ce.substr(we,M.piece.length);M=M.next()}return B}getLinesContent(){const w=[];let F=0,M="",ee=!1;return this.iterate(this.root,_=>{if(_===st)return!0;const B=_.piece;let ce=B.length;if(ce===0)return!0;const we=this._buffers[B.bufferIndex].buffer,Le=this._buffers[B.bufferIndex].lineStarts,Me=B.start.line,ze=B.end.line;let Ge=Le[Me]+B.start.column;if(ee&&(we.charCodeAt(Ge)===10&&(Ge++,ce--),w[F++]=M,M="",ee=!1,ce===0))return!0;if(Me===ze)return!this._EOLNormalized&&we.charCodeAt(Ge+ce-1)===13?(ee=!0,M+=we.substr(Ge,ce-1)):M+=we.substr(Ge,ce),!0;M+=this._EOLNormalized?we.substring(Ge,Math.max(Ge,Le[Me+1]-this._EOLLength)):we.substring(Ge,Le[Me+1]).replace(/(\r\n|\r|\n)$/,""),w[F++]=M;for(let gt=Me+1;gt<ze;gt++)M=this._EOLNormalized?we.substring(Le[gt],Le[gt+1]-this._EOLLength):we.substring(Le[gt],Le[gt+1]).replace(/(\r\n|\r|\n)$/,""),w[F++]=M;return!this._EOLNormalized&&we.charCodeAt(Le[ze]+B.end.column-1)===13?(ee=!0,B.end.column===0?F--:M=we.substr(Le[ze],B.end.column-1)):M=we.substr(Le[ze],B.end.column),!0}),ee&&(w[F++]=M,M=""),w[F++]=M,w}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(w){return this._lastVisitedLine.lineNumber===w?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=w,w===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(w):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(w,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(w).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)}_getCharCode(w){if(w.remainder===w.node.piece.length){const F=w.node.next();if(!F)return 0;const M=this._buffers[F.piece.bufferIndex],ee=this.offsetInBuffer(F.piece.bufferIndex,F.piece.start);return M.buffer.charCodeAt(ee)}else{const F=this._buffers[w.node.piece.bufferIndex],ee=this.offsetInBuffer(w.node.piece.bufferIndex,w.node.piece.start)+w.remainder;return F.buffer.charCodeAt(ee)}}getLineCharCode(w,F){const M=this.nodeAt2(w,F+1);return this._getCharCode(M)}getLineLength(w){if(w===this.getLineCount()){const F=this.getOffsetAt(w,1);return this.getLength()-F}return this.getOffsetAt(w+1,1)-this.getOffsetAt(w,1)-this._EOLLength}findMatchesInNode(w,F,M,ee,_,B,ce,we,Le,Me,ze){const Ge=this._buffers[w.piece.bufferIndex],gt=this.offsetInBuffer(w.piece.bufferIndex,w.piece.start),St=this.offsetInBuffer(w.piece.bufferIndex,_),kt=this.offsetInBuffer(w.piece.bufferIndex,B);let Ft;const Vt={line:0,column:0};let Jt,pi;F._wordSeparators?(Jt=Ge.buffer.substring(St,kt),pi=ki=>ki+St,F.reset(0)):(Jt=Ge.buffer,pi=ki=>ki,F.reset(St));do if(Ft=F.next(Jt),Ft){if(pi(Ft.index)>=kt)return Me;this.positionInBuffer(w,pi(Ft.index)-gt,Vt);const ki=this.getLineFeedCnt(w.piece.bufferIndex,_,Vt),qi=Vt.line===_.line?Vt.column-_.column+ee:Vt.column+1,kn=qi+Ft[0].length;if(ze[Me++]=(0,be.iE)(new C.e(M+ki,qi,M+ki,kn),Ft,we),pi(Ft.index)+Ft[0].length>=kt||Me>=Le)return Me}while(Ft);return Me}findMatchesLineByLine(w,F,M,ee){const _=[];let B=0;const ce=new be.sz(F.wordSeparators,F.regex);let we=this.nodeAt2(w.startLineNumber,w.startColumn);if(we===null)return[];const Le=this.nodeAt2(w.endLineNumber,w.endColumn);if(Le===null)return[];let Me=this.positionInBuffer(we.node,we.remainder);const ze=this.positionInBuffer(Le.node,Le.remainder);if(we.node===Le.node)return this.findMatchesInNode(we.node,ce,w.startLineNumber,w.startColumn,Me,ze,F,M,ee,B,_),_;let Ge=w.startLineNumber,gt=we.node;for(;gt!==Le.node;){const kt=this.getLineFeedCnt(gt.piece.bufferIndex,Me,gt.piece.end);if(kt>=1){const Vt=this._buffers[gt.piece.bufferIndex].lineStarts,Jt=this.offsetInBuffer(gt.piece.bufferIndex,gt.piece.start),pi=Vt[Me.line+kt],ki=Ge===w.startLineNumber?w.startColumn:1;if(B=this.findMatchesInNode(gt,ce,Ge,ki,Me,this.positionInBuffer(gt,pi-Jt),F,M,ee,B,_),B>=ee)return _;Ge+=kt}const Ft=Ge===w.startLineNumber?w.startColumn-1:0;if(Ge===w.endLineNumber){const Vt=this.getLineContent(Ge).substring(Ft,w.endColumn-1);return B=this._findMatchesInLine(F,ce,Vt,w.endLineNumber,Ft,B,_,M,ee),_}if(B=this._findMatchesInLine(F,ce,this.getLineContent(Ge).substr(Ft),Ge,Ft,B,_,M,ee),B>=ee)return _;Ge++,we=this.nodeAt2(Ge,1),gt=we.node,Me=this.positionInBuffer(we.node,we.remainder)}if(Ge===w.endLineNumber){const kt=Ge===w.startLineNumber?w.startColumn-1:0,Ft=this.getLineContent(Ge).substring(kt,w.endColumn-1);return B=this._findMatchesInLine(F,ce,Ft,w.endLineNumber,kt,B,_,M,ee),_}const St=Ge===w.startLineNumber?w.startColumn:1;return B=this.findMatchesInNode(Le.node,ce,Ge,St,Me,ze,F,M,ee,B,_),_}_findMatchesInLine(w,F,M,ee,_,B,ce,we,Le){const Me=w.wordSeparators;if(!we&&w.simpleSearch){const Ge=w.simpleSearch,gt=Ge.length,St=M.length;let kt=-gt;for(;(kt=M.indexOf(Ge,kt+gt))!==-1;)if((!Me||(0,be.cM)(Me,M,St,kt,gt))&&(ce[B++]=new E.tk(new C.e(ee,kt+1+_,ee,kt+1+gt+_),null),B>=Le))return B;return B}let ze;F.reset(0);do if(ze=F.next(M),ze&&(ce[B++]=(0,be.iE)(new C.e(ee,ze.index+1+_,ee,ze.index+1+ze[0].length+_),ze,we),B>=Le))return B;while(ze);return B}insert(w,F,M=!1){if(this._EOLNormalized=this._EOLNormalized&&M,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==st){const{node:ee,remainder:_,nodeStartOffset:B}=this.nodeAt(w),ce=ee.piece,we=ce.bufferIndex,Le=this.positionInBuffer(ee,_);if(ee.piece.bufferIndex===0&&ce.end.line===this._lastChangeBufferPos.line&&ce.end.column===this._lastChangeBufferPos.column&&B+ce.length===w&&F.length<Xe){this.appendToNode(ee,F),this.computeBufferMetadata();return}if(B===w)this.insertContentToNodeLeft(F,ee),this._searchCache.validate(w);else if(B+ee.piece.length>w){const Me=[];let ze=new mi(ce.bufferIndex,Le,ce.end,this.getLineFeedCnt(ce.bufferIndex,Le,ce.end),this.offsetInBuffer(we,ce.end)-this.offsetInBuffer(we,Le));if(this.shouldCheckCRLF()&&this.endWithCR(F)&&this.nodeCharCodeAt(ee,_)===10){const kt={line:ze.start.line+1,column:0};ze=new mi(ze.bufferIndex,kt,ze.end,this.getLineFeedCnt(ze.bufferIndex,kt,ze.end),ze.length-1),F+=` `}if(this.shouldCheckCRLF()&&this.startWithLF(F))if(this.nodeCharCodeAt(ee,_-1)===13){const kt=this.positionInBuffer(ee,_-1);this.deleteNodeTail(ee,kt),F="\r"+F,ee.piece.length===0&&Me.push(ee)}else this.deleteNodeTail(ee,Le);else this.deleteNodeTail(ee,Le);const Ge=this.createNewPieces(F);ze.length>0&&this.rbInsertRight(ee,ze);let gt=ee;for(let St=0;St<Ge.length;St++)gt=this.rbInsertRight(gt,Ge[St]);this.deleteNodes(Me)}else this.insertContentToNodeRight(F,ee)}else{const ee=this.createNewPieces(F);let _=this.rbInsertLeft(null,ee[0]);for(let B=1;B<ee.length;B++)_=this.rbInsertRight(_,ee[B])}this.computeBufferMetadata()}delete(w,F){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",F<=0||this.root===st)return;const M=this.nodeAt(w),ee=this.nodeAt(w+F),_=M.node,B=ee.node;if(_===B){const Ge=this.positionInBuffer(_,M.remainder),gt=this.positionInBuffer(_,ee.remainder);if(M.nodeStartOffset===w){if(F===_.piece.length){const St=_.next();wn(this,_),this.validateCRLFWithPrevNode(St),this.computeBufferMetadata();return}this.deleteNodeHead(_,gt),this._searchCache.validate(w),this.validateCRLFWithPrevNode(_),this.computeBufferMetadata();return}if(M.nodeStartOffset+_.piece.length===w+F){this.deleteNodeTail(_,Ge),this.validateCRLFWithNextNode(_),this.computeBufferMetadata();return}this.shrinkNode(_,Ge,gt),this.computeBufferMetadata();return}const ce=[],we=this.positionInBuffer(_,M.remainder);this.deleteNodeTail(_,we),this._searchCache.validate(w),_.piece.length===0&&ce.push(_);const Le=this.positionInBuffer(B,ee.remainder);this.deleteNodeHead(B,Le),B.piece.length===0&&ce.push(B);const Me=_.next();for(let Ge=Me;Ge!==st&&Ge!==B;Ge=Ge.next())ce.push(Ge);const ze=_.piece.length===0?_.prev():_;this.deleteNodes(ce),this.validateCRLFWithNextNode(ze),this.computeBufferMetadata()}insertContentToNodeLeft(w,F){const M=[];if(this.shouldCheckCRLF()&&this.endWithCR(w)&&this.startWithLF(F)){const B=F.piece,ce={line:B.start.line+1,column:0},we=new mi(B.bufferIndex,ce,B.end,this.getLineFeedCnt(B.bufferIndex,ce,B.end),B.length-1);F.piece=we,w+=` `,si(this,F,-1,-1),F.piece.length===0&&M.push(F)}const ee=this.createNewPieces(w);let _=this.rbInsertLeft(F,ee[ee.length-1]);for(let B=ee.length-2;B>=0;B--)_=this.rbInsertLeft(_,ee[B]);this.validateCRLFWithPrevNode(_),this.deleteNodes(M)}insertContentToNodeRight(w,F){this.adjustCarriageReturnFromNext(w,F)&&(w+=` `);const M=this.createNewPieces(w),ee=this.rbInsertRight(F,M[0]);let _=ee;for(let B=1;B<M.length;B++)_=this.rbInsertRight(_,M[B]);this.validateCRLFWithPrevNode(ee)}positionInBuffer(w,F,M){const ee=w.piece,_=w.piece.bufferIndex,B=this._buffers[_].lineStarts,we=B[ee.start.line]+ee.start.column+F;let Le=ee.start.line,Me=ee.end.line,ze=0,Ge=0,gt=0;for(;Le<=Me&&(ze=Le+(Me-Le)/2|0,gt=B[ze],ze!==Me);)if(Ge=B[ze+1],we<gt)Me=ze-1;else if(we>=Ge)Le=ze+1;else break;return M?(M.line=ze,M.column=we-gt,null):{line:ze,column:we-gt}}getLineFeedCnt(w,F,M){if(M.column===0)return M.line-F.line;const ee=this._buffers[w].lineStarts;if(M.line===ee.length-1)return M.line-F.line;const _=ee[M.line+1],B=ee[M.line]+M.column;if(_>B+1)return M.line-F.line;const ce=B-1;return this._buffers[w].buffer.charCodeAt(ce)===13?M.line-F.line+1:M.line-F.line}offsetInBuffer(w,F){return this._buffers[w].lineStarts[F.line]+F.column}deleteNodes(w){for(let F=0;F<w.length;F++)wn(this,w[F])}createNewPieces(w){if(w.length>Xe){const Me=[];for(;w.length>Xe;){const Ge=w.charCodeAt(Xe-1);let gt;Ge===13||Ge>=55296&&Ge<=56319?(gt=w.substring(0,Xe-1),w=w.substring(Xe-1)):(gt=w.substring(0,Xe),w=w.substring(Xe));const St=Qt(gt);Me.push(new mi(this._buffers.length,{line:0,column:0},{line:St.length-1,column:gt.length-St[St.length-1]},St.length-1,gt.length)),this._buffers.push(new ci(gt,St))}const ze=Qt(w);return Me.push(new mi(this._buffers.length,{line:0,column:0},{line:ze.length-1,column:w.length-ze[ze.length-1]},ze.length-1,w.length)),this._buffers.push(new ci(w,ze)),Me}let F=this._buffers[0].buffer.length;const M=Qt(w,!1);let ee=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===F&&F!==0&&this.startWithLF(w)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},ee=this._lastChangeBufferPos;for(let Me=0;Me<M.length;Me++)M[Me]+=F+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(M.slice(1)),this._buffers[0].buffer+="_"+w,F+=1}else{if(F!==0)for(let Me=0;Me<M.length;Me++)M[Me]+=F;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(M.slice(1)),this._buffers[0].buffer+=w}const _=this._buffers[0].buffer.length,B=this._buffers[0].lineStarts.length-1,ce=_-this._buffers[0].lineStarts[B],we={line:B,column:ce},Le=new mi(0,ee,we,this.getLineFeedCnt(0,ee,we),_-F);return this._lastChangeBufferPos=we,[Le]}getLineRawContent(w,F=0){let M=this.root,ee="";const _=this._searchCache.get2(w);if(_){M=_.node;const B=this.getAccumulatedValue(M,w-_.nodeStartLineNumber-1),ce=this._buffers[M.piece.bufferIndex].buffer,we=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);if(_.nodeStartLineNumber+M.piece.lineFeedCnt===w)ee=ce.substring(we+B,we+M.piece.length);else{const Le=this.getAccumulatedValue(M,w-_.nodeStartLineNumber);return ce.substring(we+B,we+Le-F)}}else{let B=0;const ce=w;for(;M!==st;)if(M.left!==st&&M.lf_left>=w-1)M=M.left;else if(M.lf_left+M.piece.lineFeedCnt>w-1){const we=this.getAccumulatedValue(M,w-M.lf_left-2),Le=this.getAccumulatedValue(M,w-M.lf_left-1),Me=this._buffers[M.piece.bufferIndex].buffer,ze=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);return B+=M.size_left,this._searchCache.set({node:M,nodeStartOffset:B,nodeStartLineNumber:ce-(w-1-M.lf_left)}),Me.substring(ze+we,ze+Le-F)}else if(M.lf_left+M.piece.lineFeedCnt===w-1){const we=this.getAccumulatedValue(M,w-M.lf_left-2),Le=this._buffers[M.piece.bufferIndex].buffer,Me=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);ee=Le.substring(Me+we,Me+M.piece.length);break}else w-=M.lf_left+M.piece.lineFeedCnt,B+=M.size_left+M.piece.length,M=M.right}for(M=M.next();M!==st;){const B=this._buffers[M.piece.bufferIndex].buffer;if(M.piece.lineFeedCnt>0){const ce=this.getAccumulatedValue(M,0),we=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);return ee+=B.substring(we,we+ce-F),ee}else{const ce=this.offsetInBuffer(M.piece.bufferIndex,M.piece.start);ee+=B.substr(ce,M.piece.length)}M=M.next()}return ee}computeBufferMetadata(){let w=this.root,F=1,M=0;for(;w!==st;)F+=w.lf_left+w.piece.lineFeedCnt,M+=w.size_left+w.piece.length,w=w.right;this._lineCnt=F,this._length=M,this._searchCache.validate(this._length)}getIndexOf(w,F){const M=w.piece,ee=this.positionInBuffer(w,F),_=ee.line-M.start.line;if(this.offsetInBuffer(M.bufferIndex,M.end)-this.offsetInBuffer(M.bufferIndex,M.start)===F){const B=this.getLineFeedCnt(w.piece.bufferIndex,M.start,ee);if(B!==_)return{index:B,remainder:0}}return{index:_,remainder:ee.column}}getAccumulatedValue(w,F){if(F<0)return 0;const M=w.piece,ee=this._buffers[M.bufferIndex].lineStarts,_=M.start.line+F+1;return _>M.end.line?ee[M.end.line]+M.end.column-ee[M.start.line]-M.start.column:ee[_]-ee[M.start.line]-M.start.column}deleteNodeTail(w,F){const M=w.piece,ee=M.lineFeedCnt,_=this.offsetInBuffer(M.bufferIndex,M.end),B=F,ce=this.offsetInBuffer(M.bufferIndex,B),we=this.getLineFeedCnt(M.bufferIndex,M.start,B),Le=we-ee,Me=ce-_,ze=M.length+Me;w.piece=new mi(M.bufferIndex,M.start,B,we,ze),si(this,w,Me,Le)}deleteNodeHead(w,F){const M=w.piece,ee=M.lineFeedCnt,_=this.offsetInBuffer(M.bufferIndex,M.start),B=F,ce=this.getLineFeedCnt(M.bufferIndex,B,M.end),we=this.offsetInBuffer(M.bufferIndex,B),Le=ce-ee,Me=_-we,ze=M.length+Me;w.piece=new mi(M.bufferIndex,B,M.end,ce,ze),si(this,w,Me,Le)}shrinkNode(w,F,M){const ee=w.piece,_=ee.start,B=ee.end,ce=ee.length,we=ee.lineFeedCnt,Le=F,Me=this.getLineFeedCnt(ee.bufferIndex,ee.start,Le),ze=this.offsetInBuffer(ee.bufferIndex,F)-this.offsetInBuffer(ee.bufferIndex,_);w.piece=new mi(ee.bufferIndex,ee.start,Le,Me,ze),si(this,w,ze-ce,Me-we);const Ge=new mi(ee.bufferIndex,M,B,this.getLineFeedCnt(ee.bufferIndex,M,B),this.offsetInBuffer(ee.bufferIndex,B)-this.offsetInBuffer(ee.bufferIndex,M)),gt=this.rbInsertRight(w,Ge);this.validateCRLFWithPrevNode(gt)}appendToNode(w,F){this.adjustCarriageReturnFromNext(F,w)&&(F+=` `);const M=this.shouldCheckCRLF()&&this.startWithLF(F)&&this.endWithCR(w),ee=this._buffers[0].buffer.length;this._buffers[0].buffer+=F;const _=Qt(F,!1);for(let gt=0;gt<_.length;gt++)_[gt]+=ee;if(M){const gt=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:ee-gt}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(_.slice(1));const B=this._buffers[0].lineStarts.length-1,ce=this._buffers[0].buffer.length-this._buffers[0].lineStarts[B],we={line:B,column:ce},Le=w.piece.length+F.length,Me=w.piece.lineFeedCnt,ze=this.getLineFeedCnt(0,w.piece.start,we),Ge=ze-Me;w.piece=new mi(w.piece.bufferIndex,w.piece.start,we,ze,Le),this._lastChangeBufferPos=we,si(this,w,F.length,Ge)}nodeAt(w){let F=this.root;const M=this._searchCache.get(w);if(M)return{node:M.node,nodeStartOffset:M.nodeStartOffset,remainder:w-M.nodeStartOffset};let ee=0;for(;F!==st;)if(F.size_left>w)F=F.left;else if(F.size_left+F.piece.length>=w){ee+=F.size_left;const _={node:F,remainder:w-F.size_left,nodeStartOffset:ee};return this._searchCache.set(_),_}else w-=F.size_left+F.piece.length,ee+=F.size_left+F.piece.length,F=F.right;return null}nodeAt2(w,F){let M=this.root,ee=0;for(;M!==st;)if(M.left!==st&&M.lf_left>=w-1)M=M.left;else if(M.lf_left+M.piece.lineFeedCnt>w-1){const _=this.getAccumulatedValue(M,w-M.lf_left-2),B=this.getAccumulatedValue(M,w-M.lf_left-1);return ee+=M.size_left,{node:M,remainder:Math.min(_+F-1,B),nodeStartOffset:ee}}else if(M.lf_left+M.piece.lineFeedCnt===w-1){const _=this.getAccumulatedValue(M,w-M.lf_left-2);if(_+F-1<=M.piece.length)return{node:M,remainder:_+F-1,nodeStartOffset:ee};F-=M.piece.length-_;break}else w-=M.lf_left+M.piece.lineFeedCnt,ee+=M.size_left+M.piece.length,M=M.right;for(M=M.next();M!==st;){if(M.piece.lineFeedCnt>0){const _=this.getAccumulatedValue(M,0),B=this.offsetOfNode(M);return{node:M,remainder:Math.min(F-1,_),nodeStartOffset:B}}else if(M.piece.length>=F-1){const _=this.offsetOfNode(M);return{node:M,remainder:F-1,nodeStartOffset:_}}else F-=M.piece.length;M=M.next()}return null}nodeCharCodeAt(w,F){if(w.piece.lineFeedCnt<1)return-1;const M=this._buffers[w.piece.bufferIndex],ee=this.offsetInBuffer(w.piece.bufferIndex,w.piece.start)+F;return M.buffer.charCodeAt(ee)}offsetOfNode(w){if(!w)return 0;let F=w.size_left;for(;w!==this.root;)w.parent.right===w&&(F+=w.parent.size_left+w.parent.piece.length),w=w.parent;return F}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===` `)}startWithLF(w){if(typeof w=="string")return w.charCodeAt(0)===10;if(w===st||w.piece.lineFeedCnt===0)return!1;const F=w.piece,M=this._buffers[F.bufferIndex].lineStarts,ee=F.start.line,_=M[ee]+F.start.column;return ee===M.length-1||M[ee+1]>_+1?!1:this._buffers[F.bufferIndex].buffer.charCodeAt(_)===10}endWithCR(w){return typeof w=="string"?w.charCodeAt(w.length-1)===13:w===st||w.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(w,w.piece.length-1)===13}validateCRLFWithPrevNode(w){if(this.shouldCheckCRLF()&&this.startWithLF(w)){const F=w.prev();this.endWithCR(F)&&this.fixCRLF(F,w)}}validateCRLFWithNextNode(w){if(this.shouldCheckCRLF()&&this.endWithCR(w)){const F=w.next();this.startWithLF(F)&&this.fixCRLF(w,F)}}fixCRLF(w,F){const M=[],ee=this._buffers[w.piece.bufferIndex].lineStarts;let _;w.piece.end.column===0?_={line:w.piece.end.line-1,column:ee[w.piece.end.line]-ee[w.piece.end.line-1]-1}:_={line:w.piece.end.line,column:w.piece.end.column-1};const B=w.piece.length-1,ce=w.piece.lineFeedCnt-1;w.piece=new mi(w.piece.bufferIndex,w.piece.start,_,ce,B),si(this,w,-1,-1),w.piece.length===0&&M.push(w);const we={line:F.piece.start.line+1,column:0},Le=F.piece.length-1,Me=this.getLineFeedCnt(F.piece.bufferIndex,we,F.piece.end);F.piece=new mi(F.piece.bufferIndex,we,F.piece.end,Me,Le),si(this,F,-1,-1),F.piece.length===0&&M.push(F);const ze=this.createNewPieces(`\r `);this.rbInsertRight(w,ze[0]);for(let Ge=0;Ge<M.length;Ge++)wn(this,M[Ge])}adjustCarriageReturnFromNext(w,F){if(this.shouldCheckCRLF()&&this.endWithCR(w)){const M=F.next();if(this.startWithLF(M)){if(w+=` `,M.piece.length===1)wn(this,M);else{const ee=M.piece,_={line:ee.start.line+1,column:0},B=ee.length-1,ce=this.getLineFeedCnt(ee.bufferIndex,_,ee.end);M.piece=new mi(ee.bufferIndex,_,ee.end,ce,B),si(this,M,-1,-1)}return!0}}return!1}iterate(w,F){if(w===st)return F(st);const M=this.iterate(w.left,F);return M&&F(w)&&this.iterate(w.right,F)}getNodeContent(w){if(w===st)return"";const F=this._buffers[w.piece.bufferIndex],M=w.piece,ee=this.offsetInBuffer(M.bufferIndex,M.start),_=this.offsetInBuffer(M.bufferIndex,M.end);return F.buffer.substring(ee,_)}getPieceContent(w){const F=this._buffers[w.bufferIndex],M=this.offsetInBuffer(w.bufferIndex,w.start),ee=this.offsetInBuffer(w.bufferIndex,w.end);return F.buffer.substring(M,ee)}rbInsertRight(w,F){const M=new Dn(F,1);if(M.left=st,M.right=st,M.parent=st,M.size_left=0,M.lf_left=0,this.root===st)this.root=M,M.color=0;else if(w.right===st)w.right=M,M.parent=w;else{const _=bt(w.right);_.left=M,M.parent=_}return on(this,M),M}rbInsertLeft(w,F){const M=new Dn(F,1);if(M.left=st,M.right=st,M.parent=st,M.size_left=0,M.lf_left=0,this.root===st)this.root=M,M.color=0;else if(w.left===st)w.left=M,M.parent=w;else{const ee=Zt(w.left);ee.right=M,M.parent=ee}return on(this,M),M}}var Si=m(31939);class Pi extends N.JT{constructor(w,F,M,ee,_,B,ce){super(),this._onDidChangeContent=this._register(new Q.Q5),this._BOM=F,this._mightContainNonBasicASCII=!B,this._mightContainRTL=ee,this._mightContainUnusualLineTerminators=_,this._pieceTree=new xi(w,M,ce)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(w){return this._pieceTree.createSnapshot(w?this._BOM:"")}getOffsetAt(w,F){return this._pieceTree.getOffsetAt(w,F)}getPositionAt(w){return this._pieceTree.getPositionAt(w)}getRangeAt(w,F){const M=w+F,ee=this.getPositionAt(w),_=this.getPositionAt(M);return new C.e(ee.lineNumber,ee.column,_.lineNumber,_.column)}getValueInRange(w,F=0){if(w.isEmpty())return"";const M=this._getEndOfLine(F);return this._pieceTree.getValueInRange(w,M)}getValueLengthInRange(w,F=0){if(w.isEmpty())return 0;if(w.startLineNumber===w.endLineNumber)return w.endColumn-w.startColumn;const M=this.getOffsetAt(w.startLineNumber,w.startColumn);return this.getOffsetAt(w.endLineNumber,w.endColumn)-M}getCharacterCountInRange(w,F=0){if(this._mightContainNonBasicASCII){let M=0;const ee=w.startLineNumber,_=w.endLineNumber;for(let B=ee;B<=_;B++){const ce=this.getLineContent(B),we=B===ee?w.startColumn-1:0,Le=B===_?w.endColumn-1:ce.length;for(let Me=we;Me<Le;Me++)ne.ZG(ce.charCodeAt(Me))?(M=M+1,Me=Me+1):M=M+1}return M+=this._getEndOfLine(F).length*(_-ee),M}return this.getValueLengthInRange(w,F)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(w){return this._pieceTree.getLineContent(w)}getLineCharCode(w,F){return this._pieceTree.getLineCharCode(w,F)}getLineLength(w){return this._pieceTree.getLineLength(w)}getLineFirstNonWhitespaceColumn(w){const F=ne.LC(this.getLineContent(w));return F===-1?0:F+1}getLineLastNonWhitespaceColumn(w){const F=ne.ow(this.getLineContent(w));return F===-1?0:F+2}_getEndOfLine(w){switch(w){case 1:return` `;case 2:return`\r `;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(w){this._pieceTree.setEOL(w)}applyEdits(w,F,M){let ee=this._mightContainRTL,_=this._mightContainUnusualLineTerminators,B=this._mightContainNonBasicASCII,ce=!0,we=[];for(let kt=0;kt<w.length;kt++){const Ft=w[kt];ce&&Ft._isTracked&&(ce=!1);const Vt=Ft.range;if(Ft.text){let kn=!0;B||(kn=!ne.$i(Ft.text),B=kn),!ee&&kn&&(ee=ne.Ut(Ft.text)),!_&&kn&&(_=ne.ab(Ft.text))}let Jt="",pi=0,ki=0,qi=0;if(Ft.text){let kn;[pi,ki,qi,kn]=(0,q.Q)(Ft.text);const Mi=this.getEOL();kn===0||kn===(Mi===`\r `?2:1)?Jt=Ft.text:Jt=Ft.text.replace(/\r\n|\r|\n/g,Mi)}we[kt]={sortIndex:kt,identifier:Ft.identifier||null,range:Vt,rangeOffset:this.getOffsetAt(Vt.startLineNumber,Vt.startColumn),rangeLength:this.getValueLengthInRange(Vt),text:Jt,eolCount:pi,firstLineLength:ki,lastLineLength:qi,forceMoveMarkers:!!Ft.forceMoveMarkers,isAutoWhitespaceEdit:Ft.isAutoWhitespaceEdit||!1}}we.sort(Pi._sortOpsAscending);let Le=!1;for(let kt=0,Ft=we.length-1;kt<Ft;kt++){const Vt=we[kt].range.getEndPosition(),Jt=we[kt+1].range.getStartPosition();if(Jt.isBeforeOrEqual(Vt)){if(Jt.isBefore(Vt))throw new Error("Overlapping ranges are not allowed!");Le=!0}}ce&&(we=this._reduceOperations(we));const Me=M||F?Pi._getInverseEditRanges(we):[],ze=[];if(F)for(let kt=0;kt<we.length;kt++){const Ft=we[kt],Vt=Me[kt];if(Ft.isAutoWhitespaceEdit&&Ft.range.isEmpty())for(let Jt=Vt.startLineNumber;Jt<=Vt.endLineNumber;Jt++){let pi="";Jt===Vt.startLineNumber&&(pi=this.getLineContent(Ft.range.startLineNumber),ne.LC(pi)!==-1)||ze.push({lineNumber:Jt,oldContent:pi})}}let Ge=null;if(M){let kt=0;Ge=[];for(let Ft=0;Ft<we.length;Ft++){const Vt=we[Ft],Jt=Me[Ft],pi=this.getValueInRange(Vt.range),ki=Vt.rangeOffset+kt;kt+=Vt.text.length-pi.length,Ge[Ft]={sortIndex:Vt.sortIndex,identifier:Vt.identifier,range:Jt,text:pi,textChange:new Si.q(Vt.rangeOffset,pi,ki,Vt.text)}}Le||Ge.sort((Ft,Vt)=>Ft.sortIndex-Vt.sortIndex)}this._mightContainRTL=ee,this._mightContainUnusualLineTerminators=_,this._mightContainNonBasicASCII=B;const gt=this._doApplyEdits(we);let St=null;if(F&&ze.length>0){ze.sort((kt,Ft)=>Ft.lineNumber-kt.lineNumber),St=[];for(let kt=0,Ft=ze.length;kt<Ft;kt++){const Vt=ze[kt].lineNumber;if(kt>0&&ze[kt-1].lineNumber===Vt)continue;const Jt=ze[kt].oldContent,pi=this.getLineContent(Vt);pi.length===0||pi===Jt||ne.LC(pi)!==-1||St.push(Vt)}}return this._onDidChangeContent.fire(),new E.je(Ge,gt,St)}_reduceOperations(w){return w.length<1e3?w:[this._toSingleEditOperation(w)]}_toSingleEditOperation(w){let F=!1;const M=w[0].range,ee=w[w.length-1].range,_=new C.e(M.startLineNumber,M.startColumn,ee.endLineNumber,ee.endColumn);let B=M.startLineNumber,ce=M.startColumn;const we=[];for(let gt=0,St=w.length;gt<St;gt++){const kt=w[gt],Ft=kt.range;F=F||kt.forceMoveMarkers,we.push(this.getValueInRange(new C.e(B,ce,Ft.startLineNumber,Ft.startColumn))),kt.text.length>0&&we.push(kt.text),B=Ft.endLineNumber,ce=Ft.endColumn}const Le=we.join(""),[Me,ze,Ge]=(0,q.Q)(Le);return{sortIndex:0,identifier:w[0].identifier,range:_,rangeOffset:this.getOffsetAt(_.startLineNumber,_.startColumn),rangeLength:this.getValueLengthInRange(_,0),text:Le,eolCount:Me,firstLineLength:ze,lastLineLength:Ge,forceMoveMarkers:F,isAutoWhitespaceEdit:!1}}_doApplyEdits(w){w.sort(Pi._sortOpsDescending);const F=[];for(let M=0;M<w.length;M++){const ee=w[M],_=ee.range.startLineNumber,B=ee.range.startColumn,ce=ee.range.endLineNumber,we=ee.range.endColumn;if(_===ce&&B===we&&ee.text.length===0)continue;ee.text?(this._pieceTree.delete(ee.rangeOffset,ee.rangeLength),this._pieceTree.insert(ee.rangeOffset,ee.text,!0)):this._pieceTree.delete(ee.rangeOffset,ee.rangeLength);const Le=new C.e(_,B,ce,we);F.push({range:Le,rangeLength:ee.rangeLength,text:ee.text,rangeOffset:ee.rangeOffset,forceMoveMarkers:ee.forceMoveMarkers})}return F}findMatchesLineByLine(w,F,M,ee){return this._pieceTree.findMatchesLineByLine(w,F,M,ee)}static _getInverseEditRanges(w){const F=[];let M=0,ee=0,_=null;for(let B=0,ce=w.length;B<ce;B++){const we=w[B];let Le,Me;_?_.range.endLineNumber===we.range.startLineNumber?(Le=M,Me=ee+(we.range.startColumn-_.range.endColumn)):(Le=M+(we.range.startLineNumber-_.range.endLineNumber),Me=we.range.startColumn):(Le=we.range.startLineNumber,Me=we.range.startColumn);let ze;if(we.text.length>0){const Ge=we.eolCount+1;Ge===1?ze=new C.e(Le,Me,Le,Me+we.firstLineLength):ze=new C.e(Le,Me,Le+Ge-1,we.lastLineLength+1)}else ze=new C.e(Le,Me,Le,Me);M=ze.endLineNumber,ee=ze.endColumn,F.push(ze),_=we}return F}static _sortOpsAscending(w,F){const M=C.e.compareRangesUsingEnds(w.range,F.range);return M===0?w.sortIndex-F.sortIndex:M}static _sortOpsDescending(w,F){const M=C.e.compareRangesUsingEnds(w.range,F.range);return M===0?F.sortIndex-w.sortIndex:-M}}class Ti{constructor(w,F,M,ee,_,B,ce,we,Le){this._chunks=w,this._bom=F,this._cr=M,this._lf=ee,this._crlf=_,this._containsRTL=B,this._containsUnusualLineTerminators=ce,this._isBasicASCII=we,this._normalizeEOL=Le}_getEOL(w){const F=this._cr+this._lf+this._crlf,M=this._cr+this._crlf;return F===0?w===1?` `:`\r `:M>F/2?`\r `:` `}create(w){const F=this._getEOL(w),M=this._chunks;if(this._normalizeEOL&&(F===`\r `&&(this._cr>0||this._lf>0)||F===` `&&(this._cr>0||this._crlf>0)))for(let _=0,B=M.length;_<B;_++){const ce=M[_].buffer.replace(/\r\n|\r|\n/g,F),we=Qt(ce);M[_]=new ci(ce,we)}const ee=new Pi(M,this._bom,F,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:ee,disposable:ee}}}class en{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(w){if(w.length===0)return;this.chunks.length===0&&ne.uS(w)&&(this.BOM=ne.c1,w=w.substr(1));const F=w.charCodeAt(w.length-1);F===13||F>=55296&&F<=56319?(this._acceptChunk1(w.substr(0,w.length-1),!1),this._hasPreviousChar=!0,this._previousChar=F):(this._acceptChunk1(w,!1),this._hasPreviousChar=!1,this._previousChar=F)}_acceptChunk1(w,F){!F&&w.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+w):this._acceptChunk2(w))}_acceptChunk2(w){const F=ai(this._tmpLineStarts,w);this.chunks.push(new ci(w,F.lineStarts)),this.cr+=F.cr,this.lf+=F.lf,this.crlf+=F.crlf,this.isBasicASCII&&(this.isBasicASCII=F.isBasicASCII),!this.isBasicASCII&&!this.containsRTL&&(this.containsRTL=ne.Ut(w)),!this.isBasicASCII&&!this.containsUnusualLineTerminators&&(this.containsUnusualLineTerminators=ne.ab(w))}finish(w=!0){return this._finish(),new Ti(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,w)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const w=this.chunks[this.chunks.length-1];w.buffer+=String.fromCharCode(this._previousChar);const F=Qt(w.buffer);w.lineStarts=F,this._previousChar===13&&this.cr++}}}var Fi=m(44005),gn=m(90638),Qi=m(38684),Oi=m(90865),Bi=m(79995),Wi=m(22912);class an{constructor(w,F){this._startLineNumber=w,this._tokens=F}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}getLineTokens(w){return this._tokens[w-this._startLineNumber]}appendLineTokens(w){this._tokens.push(w)}}class Ci{constructor(){this._tokens=[]}add(w,F){if(this._tokens.length>0){const M=this._tokens[this._tokens.length-1];if(M.endLineNumber+1===w){M.appendLineTokens(F);return}}this._tokens.push(new an(w,[F]))}finalize(){return this._tokens}}var Kn=m(49434),Vn=m(75874);class Nn{constructor(w){this._default=w,this._store=[]}get(w){return w<this._store.length?this._store[w]:this._default}set(w,F){for(;w>=this._store.length;)this._store[this._store.length]=this._default;this._store[w]=F}delete(w,F){F===0||w>=this._store.length||this._store.splice(w,F)}insert(w,F){if(F===0||w>=this._store.length)return;const M=[];for(let ee=0;ee<F;ee++)M[ee]=this._default;this._store=k.Zv(this._store,w,M)}}class Rn{constructor(w,F){this.tokenizationSupport=w,this.initialState=F,this._lineBeginState=new Nn(null),this._lineNeedsTokenization=new Nn(!0),this._firstLineNeedsTokenization=0,this._lineBeginState.set(0,this.initialState)}get invalidLineStartIndex(){return this._firstLineNeedsTokenization}markMustBeTokenized(w){this._lineNeedsTokenization.set(w,!0),this._firstLineNeedsTokenization=Math.min(this._firstLineNeedsTokenization,w)}getBeginState(w){return this._lineBeginState.get(w)}setEndState(w,F,M){if(this._lineNeedsTokenization.set(F,!1),this._firstLineNeedsTokenization=F+1,F===w-1)return;const ee=this._lineBeginState.get(F+1);if(ee===null||!M.equals(ee)){this._lineBeginState.set(F+1,M),this.markMustBeTokenized(F+1);return}let _=F+1;for(;_<w&&!this._lineNeedsTokenization.get(_);)_++;this._firstLineNeedsTokenization=_}applyEdits(w,F){this.markMustBeTokenized(w.startLineNumber-1),this._lineBeginState.delete(w.startLineNumber,w.endLineNumber-w.startLineNumber),this._lineNeedsTokenization.delete(w.startLineNumber,w.endLineNumber-w.startLineNumber),this._lineBeginState.insert(w.startLineNumber,F),this._lineNeedsTokenization.insert(w.startLineNumber,F)}}class $i extends N.JT{constructor(w,F,M){super(),this._textModel=w,this._tokenizationPart=F,this._languageIdCodec=M,this._isScheduled=!1,this._isDisposed=!1,this._tokenizationStateStore=null,this._register(Oi.RW.onDidChange(ee=>{const _=this._textModel.getLanguageId();ee.changedLanguages.indexOf(_)!==-1&&(this._resetTokenizationState(),this._tokenizationPart.clearTokens())})),this._resetTokenizationState()}dispose(){this._isDisposed=!0,super.dispose()}handleDidChangeContent(w){if(w.isFlush){this._resetTokenizationState();return}if(this._tokenizationStateStore)for(let F=0,M=w.changes.length;F<M;F++){const ee=w.changes[F],[_]=(0,q.Q)(ee.text);this._tokenizationStateStore.applyEdits(ee.range,_)}this._beginBackgroundTokenization()}handleDidChangeAttached(){this._beginBackgroundTokenization()}handleDidChangeLanguage(w){this._resetTokenizationState(),this._tokenizationPart.clearTokens()}_resetTokenizationState(){const[w,F]=Tn(this._textModel,this._tokenizationPart);w&&F?this._tokenizationStateStore=new Rn(w,F):this._tokenizationStateStore=null,this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,(0,Kn.To)(w=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(w)}))}_backgroundTokenizeWithDeadline(w){const F=Date.now()+w.timeRemaining(),M=()=>{this._isDisposed||!this._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()<F?(0,Vn.fn)(M):this._beginBackgroundTokenization())};M()}_backgroundTokenizeForAtLeast1ms(){const w=this._textModel.getLineCount(),F=new Ci,M=Wi.G.create(!1);do if(M.elapsed()>1||this._tokenizeOneInvalidLine(F)>=w)break;while(this._hasLinesToTokenize());this._tokenizationPart.setTokens(F.finalize(),this._isTokenizationComplete())}tokenizeViewport(w,F){const M=new Ci;this._tokenizeViewport(M,w,F),this._tokenizationPart.setTokens(M.finalize(),this._isTokenizationComplete())}reset(){this._resetTokenizationState(),this._tokenizationPart.clearTokens()}forceTokenization(w){const F=new Ci;this._updateTokensUntilLine(F,w),this._tokenizationPart.setTokens(F.finalize(),this._isTokenizationComplete())}getTokenTypeIfInsertingCharacter(w,F){if(!this._tokenizationStateStore)return 0;this.forceTokenization(w.lineNumber);const M=this._tokenizationStateStore.getBeginState(w.lineNumber-1);if(!M)return 0;const ee=this._textModel.getLanguageId(),_=this._textModel.getLineContent(w.lineNumber),B=_.substring(0,w.column-1)+F+_.substring(w.column-1),ce=qn(this._languageIdCodec,ee,this._tokenizationStateStore.tokenizationSupport,B,!0,M),we=new Qi.A(ce.tokens,B,this._languageIdCodec);if(we.getCount()===0)return 0;const Le=we.findTokenIndexAtOffset(w.column-1);return we.getStandardTokenType(Le)}tokenizeLineWithEdit(w,F,M){const ee=w.lineNumber,_=w.column;if(!this._tokenizationStateStore)return null;this.forceTokenization(ee);const B=this._tokenizationStateStore.getBeginState(ee-1);if(!B)return null;const ce=this._textModel.getLineContent(ee),we=ce.substring(0,_-1)+M+ce.substring(_-1+F),Le=this._textModel.getLanguageIdAtPosition(ee,0),Me=qn(this._languageIdCodec,Le,this._tokenizationStateStore.tokenizationSupport,we,!0,B);return new Qi.A(Me.tokens,we,this._languageIdCodec)}isCheapToTokenize(w){if(!this._tokenizationStateStore)return!0;const F=this._tokenizationStateStore.invalidLineStartIndex+1;return w>F?!1:w<F||this._textModel.getLineLength(w)<2048}_hasLinesToTokenize(){return this._tokenizationStateStore?this._tokenizationStateStore.invalidLineStartIndex<this._textModel.getLineCount():!1}_isTokenizationComplete(){return this._tokenizationStateStore?this._tokenizationStateStore.invalidLineStartIndex>=this._textModel.getLineCount():!1}_tokenizeOneInvalidLine(w){if(!this._tokenizationStateStore||!this._hasLinesToTokenize())return this._textModel.getLineCount()+1;const F=this._tokenizationStateStore.invalidLineStartIndex+1;return this._updateTokensUntilLine(w,F),F}_updateTokensUntilLine(w,F){if(!this._tokenizationStateStore)return;const M=this._textModel.getLanguageId(),ee=this._textModel.getLineCount(),_=F-1;for(let B=this._tokenizationStateStore.invalidLineStartIndex;B<=_;B++){const ce=this._textModel.getLineContent(B+1),we=this._tokenizationStateStore.getBeginState(B),Le=qn(this._languageIdCodec,M,this._tokenizationStateStore.tokenizationSupport,ce,!0,we);w.add(B+1,Le.tokens),this._tokenizationStateStore.setEndState(ee,B,Le.endState),B=this._tokenizationStateStore.invalidLineStartIndex-1}}_tokenizeViewport(w,F,M){if(!this._tokenizationStateStore||M<=this._tokenizationStateStore.invalidLineStartIndex)return;if(F<=this._tokenizationStateStore.invalidLineStartIndex){this._updateTokensUntilLine(w,M);return}let ee=this._textModel.getLineFirstNonWhitespaceColumn(F);const _=[];let B=null;for(let Le=F-1;ee>1&&Le>=1;Le--){const Me=this._textModel.getLineFirstNonWhitespaceColumn(Le);if(Me!==0&&Me<ee&&(_.push(this._textModel.getLineContent(Le)),ee=Me,B=this._tokenizationStateStore.getBeginState(Le-1),B))break}B||(B=this._tokenizationStateStore.initialState);const ce=this._textModel.getLanguageId();let we=B;for(let Le=_.length-1;Le>=0;Le--)we=qn(this._languageIdCodec,ce,this._tokenizationStateStore.tokenizationSupport,_[Le],!1,we).endState;for(let Le=F;Le<=M;Le++){const Me=this._textModel.getLineContent(Le),ze=qn(this._languageIdCodec,ce,this._tokenizationStateStore.tokenizationSupport,Me,!0,we);w.add(Le,ze.tokens),this._tokenizationStateStore.markMustBeTokenized(Le-1),we=ze.endState}}}function Tn(et,w){if(et.isTooLargeForTokenization())return[null,null];const F=Oi.RW.get(w.getLanguageId());if(!F)return[null,null];let M;try{M=F.getInitialState()}catch(ee){return(0,ie.dL)(ee),[null,null]}return[F,M]}function qn(et,w,F,M,ee,_){let B=null;if(F)try{B=F.tokenizeEncoded(M,ee,_.clone())}catch(ce){(0,ie.dL)(ce)}return B||(B=(0,Bi.Dy)(et.encodeLanguageId(w),_)),Qi.A.convertToEndOffset(B.tokens,M.length),B}const Ai=new Uint32Array(0).buffer;class ts{static deleteBeginning(w,F){return w===null||w===Ai?w:ts.delete(w,0,F)}static deleteEnding(w,F){if(w===null||w===Ai)return w;const M=Ni(w),ee=M[M.length-2];return ts.delete(w,F,ee)}static delete(w,F,M){if(w===null||w===Ai||F===M)return w;const ee=Ni(w),_=ee.length>>>1;if(F===0&&ee[ee.length-2]===M)return Ai;const B=Qi.A.findIndexInTokensArray(ee,F),ce=B>0?ee[B-1<<1]:0,we=ee[B<<1];if(M<we){const gt=M-F;for(let St=B;St<_;St++)ee[St<<1]-=gt;return w}let Le,Me;ce!==F?(ee[B<<1]=F,Le=B+1<<1,Me=F):(Le=B<<1,Me=ce);const ze=M-F;for(let gt=B+1;gt<_;gt++){const St=ee[gt<<1]-ze;St>Me&&(ee[Le++]=St,ee[Le++]=ee[(gt<<1)+1],Me=St)}if(Le===ee.length)return w;const Ge=new Uint32Array(Le);return Ge.set(ee.subarray(0,Le),0),Ge.buffer}static append(w,F){if(F===Ai)return w;if(w===Ai)return F;if(w===null)return w;if(F===null)return null;const M=Ni(w),ee=Ni(F),_=ee.length>>>1,B=new Uint32Array(M.length+ee.length);B.set(M,0);let ce=M.length;const we=M[M.length-2];for(let Le=0;Le<_;Le++)B[ce++]=ee[Le<<1]+we,B[ce++]=ee[(Le<<1)+1];return B.buffer}static insert(w,F,M){if(w===null||w===Ai)return w;const ee=Ni(w),_=ee.length>>>1;let B=Qi.A.findIndexInTokensArray(ee,F);B>0&&ee[B-1<<1]===F&&B--;for(let ce=B;ce<_;ce++)ee[ce<<1]+=M;return w}}function Ni(et){return et instanceof Uint32Array?et:new Uint32Array(et)}var rs=m(23854);class Yi{constructor(w){this._lineTokens=[],this._len=0,this._languageIdCodec=w}flush(){this._lineTokens=[],this._len=0}getTokens(w,F,M){let ee=null;if(F<this._len&&(ee=this._lineTokens[F]),ee!==null&&ee!==Ai)return new Qi.A(Ni(ee),M,this._languageIdCodec);const _=new Uint32Array(2);return _[0]=M.length,_[1]=hn(this._languageIdCodec.encodeLanguageId(w)),new Qi.A(_,M,this._languageIdCodec)}static _massageTokens(w,F,M){const ee=M?Ni(M):null;if(F===0){let _=!1;if(ee&&ee.length>1&&(_=rs.N.getLanguageId(ee[1])!==w),!_)return Ai}if(!ee||ee.length===0){const _=new Uint32Array(2);return _[0]=F,_[1]=hn(w),_.buffer}return ee[ee.length-2]=F,ee.byteOffset===0&&ee.byteLength===ee.buffer.byteLength?ee.buffer:ee}_ensureLine(w){for(;w>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(w,F){F!==0&&(w+F>this._len&&(F=this._len-w),this._lineTokens.splice(w,F),this._len-=F)}_insertLines(w,F){if(F===0)return;const M=[];for(let ee=0;ee<F;ee++)M[ee]=null;this._lineTokens=k.Zv(this._lineTokens,w,M),this._len+=F}setTokens(w,F,M,ee,_){const B=Yi._massageTokens(this._languageIdCodec.encodeLanguageId(w),M,ee);this._ensureLine(F);const ce=this._lineTokens[F];return this._lineTokens[F]=B,_?!Yi._equals(ce,B):!1}static _equals(w,F){if(!w||!F)return!w&&!F;const M=Ni(w),ee=Ni(F);if(M.length!==ee.length)return!1;for(let _=0,B=M.length;_<B;_++)if(M[_]!==ee[_])return!1;return!0}acceptEdit(w,F,M){this._acceptDeleteRange(w),this._acceptInsertText(new y.L(w.startLineNumber,w.startColumn),F,M)}_acceptDeleteRange(w){const F=w.startLineNumber-1;if(F>=this._len)return;if(w.startLineNumber===w.endLineNumber){if(w.startColumn===w.endColumn)return;this._lineTokens[F]=ts.delete(this._lineTokens[F],w.startColumn-1,w.endColumn-1);return}this._lineTokens[F]=ts.deleteEnding(this._lineTokens[F],w.startColumn-1);const M=w.endLineNumber-1;let ee=null;M<this._len&&(ee=ts.deleteBeginning(this._lineTokens[M],w.endColumn-1)),this._lineTokens[F]=ts.append(this._lineTokens[F],ee),this._deleteLines(w.startLineNumber,w.endLineNumber-w.startLineNumber)}_acceptInsertText(w,F,M){if(F===0&&M===0)return;const ee=w.lineNumber-1;if(!(ee>=this._len)){if(F===0){this._lineTokens[ee]=ts.insert(this._lineTokens[ee],w.column-1,M);return}this._lineTokens[ee]=ts.deleteEnding(this._lineTokens[ee],w.column-1),this._lineTokens[ee]=ts.insert(this._lineTokens[ee],w.column-1,M),this._insertLines(w.lineNumber,F)}}}function hn(et){return(et<<0|0|0|32768|2<<24|1024)>>>0}class Vi{constructor(w){this._pieces=[],this._isComplete=!1,this._languageIdCodec=w}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(w,F){this._pieces=w||[],this._isComplete=F}setPartial(w,F){let M=w;if(F.length>0){const _=F[0].getRange(),B=F[F.length-1].getRange();if(!_||!B)return w;M=w.plusRange(_).plusRange(B)}let ee=null;for(let _=0,B=this._pieces.length;_<B;_++){const ce=this._pieces[_];if(ce.endLineNumber<M.startLineNumber)continue;if(ce.startLineNumber>M.endLineNumber){ee=ee||{index:_};break}if(ce.removeTokens(M),ce.isEmpty()){this._pieces.splice(_,1),_--,B--;continue}if(ce.endLineNumber<M.startLineNumber)continue;if(ce.startLineNumber>M.endLineNumber){ee=ee||{index:_};continue}const[we,Le]=ce.split(M);if(we.isEmpty()){ee=ee||{index:_};continue}Le.isEmpty()||(this._pieces.splice(_,1,we,Le),_++,B++,ee=ee||{index:_})}return ee=ee||{index:this._pieces.length},F.length>0&&(this._pieces=k.Zv(this._pieces,ee.index,F)),M}isComplete(){return this._isComplete}addSparseTokens(w,F){if(F.getLineContent().length===0)return F;const M=this._pieces;if(M.length===0)return F;const ee=Vi._findFirstPieceWithLine(M,w),_=M[ee].getLineTokens(w);if(!_)return F;const B=F.getCount(),ce=_.getCount();let we=0;const Le=[];let Me=0,ze=0;const Ge=(gt,St)=>{gt!==ze&&(ze=gt,Le[Me++]=gt,Le[Me++]=St)};for(let gt=0;gt<ce;gt++){const St=_.getStartCharacter(gt),kt=_.getEndCharacter(gt),Ft=_.getMetadata(gt),Vt=((Ft&1?2048:0)|(Ft&2?4096:0)|(Ft&4?8192:0)|(Ft&8?16384:0)|(Ft&16?16744448:0)|(Ft&32?4278190080:0))>>>0,Jt=~Vt>>>0;for(;we<B&&F.getEndOffset(we)<=St;)Ge(F.getEndOffset(we),F.getMetadata(we)),we++;for(we<B&&F.getStartOffset(we)<St&&Ge(St,F.getMetadata(we));we<B&&F.getEndOffset(we)<kt;)Ge(F.getEndOffset(we),F.getMetadata(we)&Jt|Ft&Vt),we++;if(we<B)Ge(kt,F.getMetadata(we)&Jt|Ft&Vt),F.getEndOffset(we)===kt&&we++;else{const pi=Math.min(Math.max(0,we-1),B-1);Ge(kt,F.getMetadata(pi)&Jt|Ft&Vt)}}for(;we<B;)Ge(F.getEndOffset(we),F.getMetadata(we)),we++;return new Qi.A(new Uint32Array(Le),F.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(w,F){let M=0,ee=w.length-1;for(;M<ee;){let _=M+Math.floor((ee-M)/2);if(w[_].endLineNumber<F)M=_+1;else if(w[_].startLineNumber>F)ee=_-1;else{for(;_>M&&w[_-1].startLineNumber<=F&&F<=w[_-1].endLineNumber;)_--;return _}}return M}acceptEdit(w,F,M,ee,_){for(const B of this._pieces)B.acceptEdit(w,F,M,ee,_)}}class vn extends gn.U{constructor(w,F,M,ee,_){super(),this._languageService=w,this._languageConfigurationService=F,this._textModel=M,this.bracketPairsTextModelPart=ee,this._languageId=_,this._onDidChangeLanguage=this._register(new Q.Q5),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Q.Q5),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Q.Q5),this.onDidChangeTokens=this._onDidChangeTokens.event,this._backgroundTokenizationState=0,this._onBackgroundTokenizationStateChanged=this._register(new Q.Q5),this._tokens=new Yi(this._languageService.languageIdCodec),this._semanticTokens=new Vi(this._languageService.languageIdCodec),this._tokenization=new $i(M,this,this._languageService.languageIdCodec),this._languageRegistryListener=this._languageConfigurationService.onDidChange(B=>{B.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})}acceptEdit(w,F,M,ee,_){this._tokens.acceptEdit(w,M,ee),this._semanticTokens.acceptEdit(w,M,ee,_,F.length>0?F.charCodeAt(0):0)}handleDidChangeAttached(){this._tokenization.handleDidChangeAttached()}flush(){this._tokens.flush(),this._semanticTokens.flush()}handleDidChangeContent(w){this._tokenization.handleDidChangeContent(w)}dispose(){this._languageRegistryListener.dispose(),this._tokenization.dispose(),super.dispose()}get backgroundTokenizationState(){return this._backgroundTokenizationState}handleTokenizationProgress(w){if(this._backgroundTokenizationState===2)return;const F=w?2:1;this._backgroundTokenizationState!==F&&(this._backgroundTokenizationState=F,this.bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState(),this._onBackgroundTokenizationStateChanged.fire())}setTokens(w,F=!1){if(w.length!==0){const M=[];for(let ee=0,_=w.length;ee<_;ee++){const B=w[ee];let ce=0,we=0,Le=!1;for(let Me=B.startLineNumber;Me<=B.endLineNumber;Me++)Le?(this._tokens.setTokens(this._languageId,Me-1,this._textModel.getLineLength(Me),B.getLineTokens(Me),!1),we=Me):this._tokens.setTokens(this._languageId,Me-1,this._textModel.getLineLength(Me),B.getLineTokens(Me),!0)&&(Le=!0,ce=Me,we=Me);Le&&M.push({fromLineNumber:ce,toLineNumber:we})}M.length>0&&this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!1,ranges:M})}this.handleTokenizationProgress(F)}setSemanticTokens(w,F){this._semanticTokens.set(w,F),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:w!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(w,F){if(this.hasCompleteSemanticTokens())return;const M=this._textModel.validateRange(this._semanticTokens.setPartial(w,F));this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!0,ranges:[{fromLineNumber:M.startLineNumber,toLineNumber:M.endLineNumber}]})}tokenizeViewport(w,F){w=Math.max(1,w),F=Math.min(this._textModel.getLineCount(),F),this._tokenization.tokenizeViewport(w,F)}clearTokens(){this._tokens.flush(),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!0,semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}_emitModelTokensChangedEvent(w){this._textModel._isDisposing()||(this.bracketPairsTextModelPart.handleDidChangeTokens(w),this._onDidChangeTokens.fire(w))}resetTokenization(){this._tokenization.reset()}forceTokenization(w){if(w<1||w>this._textModel.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(w)}isCheapToTokenize(w){return this._tokenization.isCheapToTokenize(w)}tokenizeIfCheap(w){this.isCheapToTokenize(w)&&this.forceTokenization(w)}getLineTokens(w){if(w<1||w>this._textModel.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(w)}_getLineTokens(w){const F=this._textModel.getLineContent(w),M=this._tokens.getTokens(this._languageId,w-1,F);return this._semanticTokens.addSparseTokens(w,M)}getTokenTypeIfInsertingCharacter(w,F,M){const ee=this._textModel.validatePosition(new y.L(w,F));return this._tokenization.getTokenTypeIfInsertingCharacter(ee,M)}tokenizeLineWithEdit(w,F,M){const ee=this._textModel.validatePosition(w);return this._tokenization.tokenizeLineWithEdit(ee,F,M)}getLanguageConfiguration(w){return this._languageConfigurationService.getLanguageConfiguration(w)}getWordAtPosition(w){this.assertNotDisposed();const F=this._textModel.validatePosition(w),M=this._textModel.getLineContent(F.lineNumber),ee=this._getLineTokens(F.lineNumber),_=ee.findTokenIndexAtOffset(F.column-1),[B,ce]=vn._findLanguageBoundaries(ee,_),we=(0,Fi.t2)(F.column,this.getLanguageConfiguration(ee.getLanguageId(_)).getWordDefinition(),M.substring(B,ce),B);if(we&&we.startColumn<=w.column&&w.column<=we.endColumn)return we;if(_>0&&B===F.column-1){const[Le,Me]=vn._findLanguageBoundaries(ee,_-1),ze=(0,Fi.t2)(F.column,this.getLanguageConfiguration(ee.getLanguageId(_-1)).getWordDefinition(),M.substring(Le,Me),Le);if(ze&&ze.startColumn<=w.column&&w.column<=ze.endColumn)return ze}return null}static _findLanguageBoundaries(w,F){const M=w.getLanguageId(F);let ee=0;for(let B=F;B>=0&&w.getLanguageId(B)===M;B--)ee=w.getStartOffset(B);let _=w.getLineContent().length;for(let B=F,ce=w.getCount();B<ce&&w.getLanguageId(B)===M;B++)_=w.getEndOffset(B);return[ee,_]}getWordUntilPosition(w){const F=this.getWordAtPosition(w);return F?{word:F.word.substr(0,w.column-F.startColumn),startColumn:F.startColumn,endColumn:w.column}:{word:"",startColumn:w.column,endColumn:w.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(w,F){const M=this._textModel.validatePosition(new y.L(w,F)),ee=this.getLineTokens(M.lineNumber);return ee.getLanguageId(ee.findTokenIndexAtOffset(M.column-1))}setLanguageId(w){if(this._languageId===w)return;const F={oldLanguage:this._languageId,newLanguage:w};this._languageId=w,this.bracketPairsTextModelPart.handleDidChangeLanguage(F),this._tokenization.handleDidChangeLanguage(F),this._onDidChangeLanguage.fire(F),this._onDidChangeLanguageConfiguration.fire({})}}var Qn=m(54910),Ss=m(85762),mn=function(et,w,F,M){var ee=arguments.length,_=ee<3?w:M===null?M=Object.getOwnPropertyDescriptor(w,F):M,B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(et,w,F,M);else for(var ce=et.length-1;ce>=0;ce--)(B=et[ce])&&(_=(ee<3?B(_):ee>3?B(w,F,_):B(w,F))||_);return ee>3&&_&&Object.defineProperty(w,F,_),_},Is=function(et,w){return function(F,M){w(F,M,et)}};function Sn(et){const w=new en;return w.acceptChunk(et),w.finish()}function Ln(et){const w=new en;let F;for(;typeof(F=et.read())=="string";)w.acceptChunk(F);return w.finish()}function fo(et,w){let F;return typeof et=="string"?F=Sn(et):E.Hf(et)?F=Ln(et):F=et,F.create(w)}let Ms=0;const As=999,xt=1e4;class ds{constructor(w){this._source=w,this._eos=!1}read(){if(this._eos)return null;const w=[];let F=0,M=0;do{const ee=this._source.read();if(ee===null)return this._eos=!0,F===0?null:w.join("");if(ee.length>0&&(w[F++]=ee,M+=ee.length),M>=64*1024)return w.join("")}while(!0)}}const ys=()=>{throw new Error("Invalid change accessor")};let is=class tf extends N.JT{constructor(w,F,M,ee=null,_,B,ce){super(),this._undoRedoService=_,this._languageService=B,this._languageConfigurationService=ce,this._onWillDispose=this._register(new Q.Q5),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ms(Ge=>this.handleBeforeFireDecorationsChangedEvent(Ge))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new Q.Q5),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Q.Q5),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Q.Q5),this._eventEmitter=this._register(new ns),this._deltaDecorationCallCnt=0,Ms++,this.id="$model"+Ms,this.isForSimpleWidget=M.isForSimpleWidget,typeof ee>"u"||ee===null?this._associatedResource=Z.o.parse("inmemory://model/"+Ms):this._associatedResource=ee,this._attachedEditorCount=0;const{textBuffer:we,disposable:Le}=fo(w,M.defaultEOL);this._buffer=we,this._bufferDisposable=Le,this._options=tf.resolveOptions(this._buffer,M),this._bracketPairs=this._register(new J(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Ee.l(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ct(this)),this._tokenizationTextModelPart=new vn(this._languageService,this._languageConfigurationService,this,this._bracketPairs,F);const Me=this._buffer.getLineCount(),ze=this._buffer.getValueLengthInRange(new C.e(1,1,Me,this._buffer.getLineLength(Me)+1),0);M.largeFileOptimizations?this._isTooLargeForTokenization=ze>tf.LARGE_FILE_SIZE_THRESHOLD||Me>tf.LARGE_FILE_LINE_COUNT_THRESHOLD:this._isTooLargeForTokenization=!1,this._isTooLargeForSyncing=ze>tf.MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=ne.PJ(Ms),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Gs,this._commandManager=new $e.NL(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()}))}static resolveOptions(w,F){if(F.detectIndentation){const M=Re(w,F.tabSize,F.insertSpaces);return new E.dJ({tabSize:M.tabSize,indentSize:M.tabSize,insertSpaces:M.insertSpaces,trimAutoWhitespace:F.trimAutoWhitespace,defaultEOL:F.defaultEOL,bracketPairColorizationOptions:F.bracketPairColorizationOptions})}return new E.dJ({tabSize:F.tabSize,indentSize:F.indentSize,insertSpaces:F.insertSpaces,trimAutoWhitespace:F.trimAutoWhitespace,defaultEOL:F.defaultEOL,bracketPairColorizationOptions:F.bracketPairColorizationOptions})}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(w){return this._eventEmitter.slowEvent(F=>w(F.contentChangedEvent))}onDidChangeContentOrInjectedText(w){return(0,N.F8)(this._eventEmitter.fastEvent(F=>w(F)),this._onDidChangeInjectedText.event(F=>w(F)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const w=new Pi([],"",` `,!1,!1,!0,!0);w.dispose(),this._buffer=w,this._bufferDisposable=N.JT.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(w,F){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(F),this._bracketPairs.handleDidChangeContent(F),this._eventEmitter.fire(new Qn.fV(w,F)))}setValue(w){if(this._assertNotDisposed(),w===null)return;const{textBuffer:F,disposable:M}=fo(w,this._options.defaultEOL);this._setValueFromTextBuffer(F,M)}_createContentChanged2(w,F,M,ee,_,B,ce){return{changes:[{range:w,rangeOffset:F,rangeLength:M,text:ee}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:_,isRedoing:B,isFlush:ce}}_setValueFromTextBuffer(w,F){this._assertNotDisposed();const M=this.getFullModelRange(),ee=this.getValueLengthInRange(M),_=this.getLineCount(),B=this.getLineMaxColumn(_);this._buffer=w,this._bufferDisposable.dispose(),this._bufferDisposable=F,this._increaseVersionId(),this._tokenizationTextModelPart.flush(),this._decorations=Object.create(null),this._decorationsTree=new Gs,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Qn.dQ([new Qn.Jx],this._versionId,!1,!1),this._createContentChanged2(new C.e(1,1,_,B),0,ee,this.getValue(),!1,!1,!0))}setEOL(w){this._assertNotDisposed();const F=w===1?`\r `:` `;if(this._buffer.getEOL()===F)return;const M=this.getFullModelRange(),ee=this.getValueLengthInRange(M),_=this.getLineCount(),B=this.getLineMaxColumn(_);this._onBeforeEOLChange(),this._buffer.setEOL(F),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Qn.dQ([new Qn.CZ],this._versionId,!1,!1),this._createContentChanged2(new C.e(1,1,_,B),0,ee,this.getValue(),!1,!1,!1))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const w=this.getVersionId(),F=this._decorationsTree.collectNodesPostOrder();for(let M=0,ee=F.length;M<ee;M++){const _=F[M],B=_.range,ce=_.cachedAbsoluteStart-_.start,we=this._buffer.getOffsetAt(B.startLineNumber,B.startColumn),Le=this._buffer.getOffsetAt(B.endLineNumber,B.endColumn);_.cachedAbsoluteStart=we,_.cachedAbsoluteEnd=Le,_.cachedVersionId=w,_.start=we-ce,_.end=Le-ce,Yt(_)}}onBeforeAttached(){this._attachedEditorCount++,this._attachedEditorCount===1&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0))}onBeforeDetached(){this._attachedEditorCount--,this._attachedEditorCount===0&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0))}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let w=0,F=0;const M=this._buffer.getLineCount();for(let ee=1;ee<=M;ee++){const _=this._buffer.getLineLength(ee);_>=xt?F+=_:w+=_}return F>w}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(w){this._assertNotDisposed();const F=typeof w.tabSize<"u"?w.tabSize:this._options.tabSize,M=typeof w.indentSize<"u"?w.indentSize:this._options.indentSize,ee=typeof w.insertSpaces<"u"?w.insertSpaces:this._options.insertSpaces,_=typeof w.trimAutoWhitespace<"u"?w.trimAutoWhitespace:this._options.trimAutoWhitespace,B=typeof w.bracketColorizationOptions<"u"?w.bracketColorizationOptions:this._options.bracketPairColorizationOptions,ce=new E.dJ({tabSize:F,indentSize:M,insertSpaces:ee,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:_,bracketPairColorizationOptions:B});if(this._options.equals(ce))return;const we=this._options.createChangeEvent(ce);this._options=ce,this._bracketPairs.handleDidChangeOptions(we),this._decorationProvider.handleDidChangeOptions(we),this._onDidChangeOptions.fire(we)}detectIndentation(w,F){this._assertNotDisposed();const M=Re(this._buffer,F,w);this.updateOptions({insertSpaces:M.insertSpaces,tabSize:M.tabSize,indentSize:M.tabSize})}normalizeIndentation(w){return this._assertNotDisposed(),(0,z.x)(w,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(w=null){const F=this.findMatches(ne.Qe.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(w,F.map(M=>({range:M.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(w){this._assertNotDisposed();const F=this._validatePosition(w.lineNumber,w.column,0);return this._buffer.getOffsetAt(F.lineNumber,F.column)}getPositionAt(w){this._assertNotDisposed();const F=Math.min(this._buffer.getLength(),Math.max(0,w));return this._buffer.getPositionAt(F)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(w){this._versionId=w}_overwriteAlternativeVersionId(w){this._alternativeVersionId=w}_overwriteInitialUndoRedoSnapshot(w){this._initialUndoRedoSnapshot=w}getValue(w,F=!1){this._assertNotDisposed();const M=this.getFullModelRange(),ee=this.getValueInRange(M,w);return F?this._buffer.getBOM()+ee:ee}createSnapshot(w=!1){return new ds(this._buffer.createSnapshot(w))}getValueLength(w,F=!1){this._assertNotDisposed();const M=this.getFullModelRange(),ee=this.getValueLengthInRange(M,w);return F?this._buffer.getBOM().length+ee:ee}getValueInRange(w,F=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(w),F)}getValueLengthInRange(w,F=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(w),F)}getCharacterCountInRange(w,F=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(w),F)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(w)}getLineLength(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(w)}getLinesContent(){return this._assertNotDisposed(),this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===` `?0:1}getLineMinColumn(w){return this._assertNotDisposed(),1}getLineMaxColumn(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(w)+1}getLineFirstNonWhitespaceColumn(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(w)}getLineLastNonWhitespaceColumn(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(w)}_validateRangeRelaxedNoAllocations(w){const F=this._buffer.getLineCount(),M=w.startLineNumber,ee=w.startColumn;let _=Math.floor(typeof M=="number"&&!isNaN(M)?M:1),B=Math.floor(typeof ee=="number"&&!isNaN(ee)?ee:1);if(_<1)_=1,B=1;else if(_>F)_=F,B=this.getLineMaxColumn(_);else if(B<=1)B=1;else{const ze=this.getLineMaxColumn(_);B>=ze&&(B=ze)}const ce=w.endLineNumber,we=w.endColumn;let Le=Math.floor(typeof ce=="number"&&!isNaN(ce)?ce:1),Me=Math.floor(typeof we=="number"&&!isNaN(we)?we:1);if(Le<1)Le=1,Me=1;else if(Le>F)Le=F,Me=this.getLineMaxColumn(Le);else if(Me<=1)Me=1;else{const ze=this.getLineMaxColumn(Le);Me>=ze&&(Me=ze)}return M===_&&ee===B&&ce===Le&&we===Me&&w instanceof C.e&&!(w instanceof L.Y)?w:new C.e(_,B,Le,Me)}_isValidPosition(w,F,M){if(typeof w!="number"||typeof F!="number"||isNaN(w)||isNaN(F)||w<1||F<1||(w|0)!==w||(F|0)!==F)return!1;const ee=this._buffer.getLineCount();if(w>ee)return!1;if(F===1)return!0;const _=this.getLineMaxColumn(w);if(F>_)return!1;if(M===1){const B=this._buffer.getLineCharCode(w,F-2);if(ne.ZG(B))return!1}return!0}_validatePosition(w,F,M){const ee=Math.floor(typeof w=="number"&&!isNaN(w)?w:1),_=Math.floor(typeof F=="number"&&!isNaN(F)?F:1),B=this._buffer.getLineCount();if(ee<1)return new y.L(1,1);if(ee>B)return new y.L(B,this.getLineMaxColumn(B));if(_<=1)return new y.L(ee,1);const ce=this.getLineMaxColumn(ee);if(_>=ce)return new y.L(ee,ce);if(M===1){const we=this._buffer.getLineCharCode(ee,_-2);if(ne.ZG(we))return new y.L(ee,_-1)}return new y.L(ee,_)}validatePosition(w){return this._assertNotDisposed(),w instanceof y.L&&this._isValidPosition(w.lineNumber,w.column,1)?w:this._validatePosition(w.lineNumber,w.column,1)}_isValidRange(w,F){const M=w.startLineNumber,ee=w.startColumn,_=w.endLineNumber,B=w.endColumn;if(!this._isValidPosition(M,ee,0)||!this._isValidPosition(_,B,0))return!1;if(F===1){const ce=ee>1?this._buffer.getLineCharCode(M,ee-2):0,we=B>1&&B<=this._buffer.getLineLength(_)?this._buffer.getLineCharCode(_,B-2):0,Le=ne.ZG(ce),Me=ne.ZG(we);return!Le&&!Me}return!0}validateRange(w){if(this._assertNotDisposed(),w instanceof C.e&&!(w instanceof L.Y)&&this._isValidRange(w,1))return w;const M=this._validatePosition(w.startLineNumber,w.startColumn,0),ee=this._validatePosition(w.endLineNumber,w.endColumn,0),_=M.lineNumber,B=M.column,ce=ee.lineNumber,we=ee.column;{const Le=B>1?this._buffer.getLineCharCode(_,B-2):0,Me=we>1&&we<=this._buffer.getLineLength(ce)?this._buffer.getLineCharCode(ce,we-2):0,ze=ne.ZG(Le),Ge=ne.ZG(Me);return!ze&&!Ge?new C.e(_,B,ce,we):_===ce&&B===we?new C.e(_,B-1,ce,we-1):ze&&Ge?new C.e(_,B-1,ce,we+1):ze?new C.e(_,B-1,ce,we):new C.e(_,B,ce,we+1)}return new C.e(_,B,ce,we)}modifyPosition(w,F){this._assertNotDisposed();const M=this.getOffsetAt(w)+F;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,M)))}getFullModelRange(){this._assertNotDisposed();const w=this.getLineCount();return new C.e(1,1,w,this.getLineMaxColumn(w))}findMatchesLineByLine(w,F,M,ee){return this._buffer.findMatchesLineByLine(w,F,M,ee)}findMatches(w,F,M,ee,_,B,ce=As){this._assertNotDisposed();let we=null;F!==null&&(Array.isArray(F)||(F=[F]),F.every(ze=>C.e.isIRange(ze))&&(we=F.map(ze=>this.validateRange(ze)))),we===null&&(we=[this.getFullModelRange()]),we=we.sort((ze,Ge)=>ze.startLineNumber-Ge.startLineNumber||ze.startColumn-Ge.startColumn);const Le=[];Le.push(we.reduce((ze,Ge)=>C.e.areIntersecting(ze,Ge)?ze.plusRange(Ge):(Le.push(ze),Ge)));let Me;if(!M&&w.indexOf(` `)<0){const Ge=new be.bc(w,M,ee,_).parseSearchRequest();if(!Ge)return[];Me=gt=>this.findMatchesLineByLine(gt,Ge,B,ce)}else Me=ze=>be.pM.findMatches(this,new be.bc(w,M,ee,_),ze,B,ce);return Le.map(Me).reduce((ze,Ge)=>ze.concat(Ge),[])}findNextMatch(w,F,M,ee,_,B){this._assertNotDisposed();const ce=this.validatePosition(F);if(!M&&w.indexOf(` `)<0){const Le=new be.bc(w,M,ee,_).parseSearchRequest();if(!Le)return null;const Me=this.getLineCount();let ze=new C.e(ce.lineNumber,ce.column,Me,this.getLineMaxColumn(Me)),Ge=this.findMatchesLineByLine(ze,Le,B,1);return be.pM.findNextMatch(this,new be.bc(w,M,ee,_),ce,B),Ge.length>0||(ze=new C.e(1,1,ce.lineNumber,this.getLineMaxColumn(ce.lineNumber)),Ge=this.findMatchesLineByLine(ze,Le,B,1),Ge.length>0)?Ge[0]:null}return be.pM.findNextMatch(this,new be.bc(w,M,ee,_),ce,B)}findPreviousMatch(w,F,M,ee,_,B){this._assertNotDisposed();const ce=this.validatePosition(F);return be.pM.findPreviousMatch(this,new be.bc(w,M,ee,_),ce,B)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(w){if((this.getEOL()===` `?0:1)!==w)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(w)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(w){return w instanceof E.Qi?w:new E.Qi(w.identifier||null,this.validateRange(w.range),w.text,w.forceMoveMarkers||!1,w.isAutoWhitespaceEdit||!1,w._isTracked||!1)}_validateEditOperations(w){const F=[];for(let M=0,ee=w.length;M<ee;M++)F[M]=this._validateEditOperation(w[M]);return F}pushEditOperations(w,F,M){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(w,this._validateEditOperations(F),M)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(w,F,M){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const ee=F.map(B=>({range:this.validateRange(B.range),text:B.text}));let _=!0;if(w)for(let B=0,ce=w.length;B<ce;B++){const we=w[B];let Le=!1;for(let Me=0,ze=ee.length;Me<ze;Me++){const Ge=ee[Me].range,gt=Ge.startLineNumber>we.endLineNumber,St=we.startLineNumber>Ge.endLineNumber;if(!gt&&!St){Le=!0;break}}if(!Le){_=!1;break}}if(_)for(let B=0,ce=this._trimAutoWhitespaceLines.length;B<ce;B++){const we=this._trimAutoWhitespaceLines[B],Le=this.getLineMaxColumn(we);let Me=!0;for(let ze=0,Ge=ee.length;ze<Ge;ze++){const gt=ee[ze].range,St=ee[ze].text;if(!(we<gt.startLineNumber||we>gt.endLineNumber)&&!(we===gt.startLineNumber&>.startColumn===Le&>.isEmpty()&&St&&St.length>0&&St.charAt(0)===` `)&&!(we===gt.startLineNumber&>.startColumn===1&>.isEmpty()&&St&&St.length>0&&St.charAt(St.length-1)===` `)){Me=!1;break}}if(Me){const ze=new C.e(we,1,we,Le);F.push(new E.Qi(null,ze,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(w,F,M)}_applyUndo(w,F,M,ee){const _=w.map(B=>{const ce=this.getPositionAt(B.newPosition),we=this.getPositionAt(B.newEnd);return{range:new C.e(ce.lineNumber,ce.column,we.lineNumber,we.column),text:B.oldText}});this._applyUndoRedoEdits(_,F,!0,!1,M,ee)}_applyRedo(w,F,M,ee){const _=w.map(B=>{const ce=this.getPositionAt(B.oldPosition),we=this.getPositionAt(B.oldEnd);return{range:new C.e(ce.lineNumber,ce.column,we.lineNumber,we.column),text:B.newText}});this._applyUndoRedoEdits(_,F,!1,!0,M,ee)}_applyUndoRedoEdits(w,F,M,ee,_,B){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=M,this._isRedoing=ee,this.applyEdits(w,!1),this.setEOL(F),this._overwriteAlternativeVersionId(_)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(B),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(w,F=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const M=this._validateEditOperations(w);return this._doApplyEdits(M,F)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(w,F){const M=this._buffer.getLineCount(),ee=this._buffer.applyEdits(w,this._options.trimAutoWhitespace,F),_=this._buffer.getLineCount(),B=ee.changes;if(this._trimAutoWhitespaceLines=ee.trimAutoWhitespaceLineNumbers,B.length!==0){for(let Le=0,Me=B.length;Le<Me;Le++){const ze=B[Le],[Ge,gt,St]=(0,q.Q)(ze.text);this._tokenizationTextModelPart.acceptEdit(ze.range,ze.text,Ge,gt,St),this._decorationsTree.acceptReplace(ze.rangeOffset,ze.rangeLength,ze.text.length,ze.forceMoveMarkers)}const ce=[];this._increaseVersionId();let we=M;for(let Le=0,Me=B.length;Le<Me;Le++){const ze=B[Le],[Ge]=(0,q.Q)(ze.text);this._onDidChangeDecorations.fire();const gt=ze.range.startLineNumber,St=ze.range.endLineNumber,kt=St-gt,Ft=Ge,Vt=Math.min(kt,Ft),Jt=Ft-kt,pi=_-we-Jt+gt,ki=pi,qi=pi+Ft,kn=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new y.L(ki,1)),this.getOffsetAt(new y.L(qi,this.getLineMaxColumn(qi))),0),Mi=Qn.gk.fromDecorations(kn),Hi=new k.H9(Mi);for(let Os=Vt;Os>=0;Os--){const wo=gt+Os,ss=pi+Os;Hi.takeFromEndWhile(go=>go.lineNumber>ss);const ro=Hi.takeFromEndWhile(go=>go.lineNumber===ss);ce.push(new Qn.rU(wo,this.getLineContent(ss),ro))}if(Vt<kt){const Os=gt+Vt;ce.push(new Qn.lN(Os+1,St))}if(Vt<Ft){const Os=new k.H9(Mi),wo=gt+Vt,ss=Ft-Vt,ro=_-we-ss+wo+1,go=[],Fs=[];for(let js=0;js<ss;js++){const qs=ro+js;Fs[js]=this.getLineContent(qs),Os.takeWhile(Hs=>Hs.lineNumber<qs),go[js]=Os.takeWhile(Hs=>Hs.lineNumber===qs)}ce.push(new Qn.Tx(wo+1,gt+Ft,Fs,go))}we+=Jt}this._emitContentChangedEvent(new Qn.dQ(ce,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:B,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return ee.reverseEdits===null?void 0:ee.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(w){if(w===null||w.size===0)return;const M=Array.from(w).map(ee=>new Qn.rU(ee,this.getLineContent(ee),this._getInjectedTextInLine(ee)));this._onDidChangeInjectedText.fire(new Qn.D8(M))}changeDecorations(w,F=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(F,w)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(w,F){const M={addDecoration:(_,B)=>this._deltaDecorationsImpl(w,[],[{range:_,options:B}])[0],changeDecoration:(_,B)=>{this._changeDecorationImpl(_,B)},changeDecorationOptions:(_,B)=>{this._changeDecorationOptionsImpl(_,Mn(B))},removeDecoration:_=>{this._deltaDecorationsImpl(w,[_],[])},deltaDecorations:(_,B)=>_.length===0&&B.length===0?[]:this._deltaDecorationsImpl(w,_,B)};let ee=null;try{ee=F(M)}catch(_){(0,ie.dL)(_)}return M.addDecoration=ys,M.changeDecoration=ys,M.changeDecorationOptions=ys,M.removeDecoration=ys,M.deltaDecorations=ys,ee}deltaDecorations(w,F,M=0){if(this._assertNotDisposed(),w||(w=[]),w.length===0&&F.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,ie.dL)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(M,w,F)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(w){return this.getDecorationRange(w)}_setTrackedRange(w,F,M){const ee=w?this._decorations[w]:null;if(!ee)return F?this._deltaDecorationsImpl(0,[],[{range:F,options:sn[M]}])[0]:null;if(!F)return this._decorationsTree.delete(ee),delete this._decorations[ee.id],null;const _=this._validateRangeRelaxedNoAllocations(F),B=this._buffer.getOffsetAt(_.startLineNumber,_.startColumn),ce=this._buffer.getOffsetAt(_.endLineNumber,_.endColumn);return this._decorationsTree.delete(ee),ee.reset(this.getVersionId(),B,ce,_),ee.setOptions(sn[M]),this._decorationsTree.insert(ee),ee.id}removeAllDecorationsWithOwnerId(w){if(this._isDisposed)return;const F=this._decorationsTree.collectNodesFromOwner(w);for(let M=0,ee=F.length;M<ee;M++){const _=F[M];this._decorationsTree.delete(_),delete this._decorations[_.id]}}getDecorationOptions(w){const F=this._decorations[w];return F?F.options:null}getDecorationRange(w){const F=this._decorations[w];return F?this._decorationsTree.getNodeRange(this,F):null}getLineDecorations(w,F=0,M=!1){return w<1||w>this.getLineCount()?[]:this.getLinesDecorations(w,w,F,M)}getLinesDecorations(w,F,M=0,ee=!1){const _=this.getLineCount(),B=Math.min(_,Math.max(1,w)),ce=Math.min(_,Math.max(1,F)),we=this.getLineMaxColumn(ce),Le=new C.e(B,1,ce,we),Me=this._getDecorationsInRange(Le,M,ee);return(0,k.vA)(Me,this._decorationProvider.getDecorationsInRange(Le,M,ee)),Me}getDecorationsInRange(w,F=0,M=!1){const ee=this.validateRange(w),_=this._getDecorationsInRange(ee,F,M);return(0,k.vA)(_,this._decorationProvider.getDecorationsInRange(ee,F,M)),_}getOverviewRulerDecorations(w=0,F=!1){return this._decorationsTree.getAll(this,w,F,!0)}getInjectedTextDecorations(w=0){return this._decorationsTree.getAllInjectedText(this,w)}_getInjectedTextInLine(w){const F=this._buffer.getOffsetAt(w,1),M=F+this._buffer.getLineLength(w),ee=this._decorationsTree.getInjectedTextInInterval(this,F,M,0);return Qn.gk.fromDecorations(ee).filter(_=>_.lineNumber===w)}getAllDecorations(w=0,F=!1){let M=this._decorationsTree.getAll(this,w,F,!1);return M=M.concat(this._decorationProvider.getAllDecorations(w,F)),M}_getDecorationsInRange(w,F,M){const ee=this._buffer.getOffsetAt(w.startLineNumber,w.startColumn),_=this._buffer.getOffsetAt(w.endLineNumber,w.endColumn);return this._decorationsTree.getAllInInterval(this,ee,_,F,M)}getRangeAt(w,F){return this._buffer.getRangeAt(w,F-w)}_changeDecorationImpl(w,F){const M=this._decorations[w];if(!M)return;if(M.options.after){const ce=this.getDecorationRange(w);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ce.endLineNumber)}if(M.options.before){const ce=this.getDecorationRange(w);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ce.startLineNumber)}const ee=this._validateRangeRelaxedNoAllocations(F),_=this._buffer.getOffsetAt(ee.startLineNumber,ee.startColumn),B=this._buffer.getOffsetAt(ee.endLineNumber,ee.endColumn);this._decorationsTree.delete(M),M.reset(this.getVersionId(),_,B,ee),this._decorationsTree.insert(M),this._onDidChangeDecorations.checkAffectedAndFire(M.options),M.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(ee.endLineNumber),M.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(ee.startLineNumber)}_changeDecorationOptionsImpl(w,F){const M=this._decorations[w];if(!M)return;const ee=!!(M.options.overviewRuler&&M.options.overviewRuler.color),_=!!(F.overviewRuler&&F.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(M.options),this._onDidChangeDecorations.checkAffectedAndFire(F),M.options.after||F.after){const B=this._decorationsTree.getNodeRange(this,M);this._onDidChangeDecorations.recordLineAffectedByInjectedText(B.endLineNumber)}if(M.options.before||F.before){const B=this._decorationsTree.getNodeRange(this,M);this._onDidChangeDecorations.recordLineAffectedByInjectedText(B.startLineNumber)}ee!==_?(this._decorationsTree.delete(M),M.setOptions(F),this._decorationsTree.insert(M)):M.setOptions(F)}_deltaDecorationsImpl(w,F,M){const ee=this.getVersionId(),_=F.length;let B=0;const ce=M.length;let we=0;const Le=new Array(ce);for(;B<_||we<ce;){let Me=null;if(B<_){do Me=this._decorations[F[B++]];while(!Me&&B<_);if(Me){if(Me.options.after){const ze=this._decorationsTree.getNodeRange(this,Me);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ze.endLineNumber)}if(Me.options.before){const ze=this._decorationsTree.getNodeRange(this,Me);this._onDidChangeDecorations.recordLineAffectedByInjectedText(ze.startLineNumber)}this._decorationsTree.delete(Me),this._onDidChangeDecorations.checkAffectedAndFire(Me.options)}}if(we<ce){if(!Me){const Ft=++this._lastDecorationId,Vt=`${this._instanceId};${Ft}`;Me=new _t(Vt,0,0),this._decorations[Vt]=Me}const ze=M[we],Ge=this._validateRangeRelaxedNoAllocations(ze.range),gt=Mn(ze.options),St=this._buffer.getOffsetAt(Ge.startLineNumber,Ge.startColumn),kt=this._buffer.getOffsetAt(Ge.endLineNumber,Ge.endColumn);Me.ownerId=w,Me.reset(ee,St,kt,Ge),Me.setOptions(gt),Me.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ge.endLineNumber),Me.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ge.startLineNumber),this._onDidChangeDecorations.checkAffectedAndFire(gt),this._decorationsTree.insert(Me),Le[we]=Me.id,we++}else Me&&delete this._decorations[Me.id]}return Le}getLanguageId(){return this.tokenization.getLanguageId()}setMode(w){this.tokenization.setLanguageId(w)}getLanguageIdAtPosition(w,F){return this.tokenization.getLanguageIdAtPosition(w,F)}getWordAtPosition(w){return this._tokenizationTextModelPart.getWordAtPosition(w)}getWordUntilPosition(w){return this._tokenizationTextModelPart.getWordUntilPosition(w)}normalizePosition(w,F){return w}getLineIndentColumn(w){return Us(this.getLineContent(w))+1}};is.MODEL_SYNC_LIMIT=50*1024*1024,is.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,is.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,is.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:b.D.tabSize,indentSize:b.D.indentSize,insertSpaces:b.D.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:b.D.trimAutoWhitespace,largeFileOptimizations:b.D.largeFileOptimizations,bracketPairColorizationOptions:b.D.bracketPairColorizationOptions},is=mn([Is(4,Ss.tJ),Is(5,d.O),Is(6,S.c_)],is);function Us(et){let w=0;for(const F of et)if(F===" "||F===" ")w++;else break;return w}function vs(et){return!!(et.options.overviewRuler&&et.options.overviewRuler.color)}function Ps(et){return!!et.options.after||!!et.options.before}class Gs{constructor(){this._decorationsTree0=new Ut,this._decorationsTree1=new Ut,this._injectedTextDecorationsTree=new Ut}ensureAllNodesHaveRanges(w){this.getAll(w,0,!1,!1)}_ensureNodesHaveRanges(w,F){for(const M of F)M.range===null&&(M.range=w.getRangeAt(M.cachedAbsoluteStart,M.cachedAbsoluteEnd));return F}getAllInInterval(w,F,M,ee,_){const B=w.getVersionId(),ce=this._intervalSearch(F,M,ee,_,B);return this._ensureNodesHaveRanges(w,ce)}_intervalSearch(w,F,M,ee,_){const B=this._decorationsTree0.intervalSearch(w,F,M,ee,_),ce=this._decorationsTree1.intervalSearch(w,F,M,ee,_),we=this._injectedTextDecorationsTree.intervalSearch(w,F,M,ee,_);return B.concat(ce).concat(we)}getInjectedTextInInterval(w,F,M,ee){const _=w.getVersionId(),B=this._injectedTextDecorationsTree.intervalSearch(F,M,ee,!1,_);return this._ensureNodesHaveRanges(w,B).filter(ce=>ce.options.showIfCollapsed||!ce.range.isEmpty())}getAllInjectedText(w,F){const M=w.getVersionId(),ee=this._injectedTextDecorationsTree.search(F,!1,M);return this._ensureNodesHaveRanges(w,ee).filter(_=>_.options.showIfCollapsed||!_.range.isEmpty())}getAll(w,F,M,ee){const _=w.getVersionId(),B=this._search(F,M,ee,_);return this._ensureNodesHaveRanges(w,B)}_search(w,F,M,ee){if(M)return this._decorationsTree1.search(w,F,ee);{const _=this._decorationsTree0.search(w,F,ee),B=this._decorationsTree1.search(w,F,ee),ce=this._injectedTextDecorationsTree.search(w,F,ee);return _.concat(B).concat(ce)}}collectNodesFromOwner(w){const F=this._decorationsTree0.collectNodesFromOwner(w),M=this._decorationsTree1.collectNodesFromOwner(w),ee=this._injectedTextDecorationsTree.collectNodesFromOwner(w);return F.concat(M).concat(ee)}collectNodesPostOrder(){const w=this._decorationsTree0.collectNodesPostOrder(),F=this._decorationsTree1.collectNodesPostOrder(),M=this._injectedTextDecorationsTree.collectNodesPostOrder();return w.concat(F).concat(M)}insert(w){Ps(w)?this._injectedTextDecorationsTree.insert(w):vs(w)?this._decorationsTree1.insert(w):this._decorationsTree0.insert(w)}delete(w){Ps(w)?this._injectedTextDecorationsTree.delete(w):vs(w)?this._decorationsTree1.delete(w):this._decorationsTree0.delete(w)}getNodeRange(w,F){const M=w.getVersionId();return F.cachedVersionId!==M&&this._resolveNode(F,M),F.range===null&&(F.range=w.getRangeAt(F.cachedAbsoluteStart,F.cachedAbsoluteEnd)),F.range}_resolveNode(w,F){Ps(w)?this._injectedTextDecorationsTree.resolveNode(w,F):vs(w)?this._decorationsTree1.resolveNode(w,F):this._decorationsTree0.resolveNode(w,F)}acceptReplace(w,F,M,ee){this._decorationsTree0.acceptReplace(w,F,M,ee),this._decorationsTree1.acceptReplace(w,F,M,ee),this._injectedTextDecorationsTree.acceptReplace(w,F,M,ee)}}function Qs(et){return et.replace(/[^a-z0-9\-_]/gi," ")}class as{constructor(w){this.color=w.color||"",this.darkColor=w.darkColor||""}}class Wn extends as{constructor(w){super(w),this._resolvedColor=null,this.position=typeof w.position=="number"?w.position:E.sh.Center}getColor(w){return this._resolvedColor||(w.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,w):this._resolvedColor=this._resolveColor(this.color,w)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(w,F){if(typeof w=="string")return w;const M=w?F.getColor(w.id):null;return M?M.toString():""}}class pn extends as{constructor(w){super(w),this.position=w.position}getColor(w){return this._resolvedColor||(w.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,w):this._resolvedColor=this._resolveColor(this.color,w)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(w,F){return typeof w=="string"?u.Il.fromHex(w):F.getColor(w.id)}}class $t{constructor(w){this.content=w.content||"",this.inlineClassName=w.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=w.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=w.attachedData||null,this.cursorStops=w.cursorStops||null}static from(w){return w instanceof $t?w:new $t(w)}}class Ri{constructor(w){var F,M;this.description=w.description,this.blockClassName=w.blockClassName?Qs(w.blockClassName):null,this.stickiness=w.stickiness||0,this.zIndex=w.zIndex||0,this.className=w.className?Qs(w.className):null,this.hoverMessage=w.hoverMessage||null,this.glyphMarginHoverMessage=w.glyphMarginHoverMessage||null,this.isWholeLine=w.isWholeLine||!1,this.showIfCollapsed=w.showIfCollapsed||!1,this.collapseOnReplaceEdit=w.collapseOnReplaceEdit||!1,this.overviewRuler=w.overviewRuler?new Wn(w.overviewRuler):null,this.minimap=w.minimap?new pn(w.minimap):null,this.glyphMarginClassName=w.glyphMarginClassName?Qs(w.glyphMarginClassName):null,this.linesDecorationsClassName=w.linesDecorationsClassName?Qs(w.linesDecorationsClassName):null,this.firstLineDecorationClassName=w.firstLineDecorationClassName?Qs(w.firstLineDecorationClassName):null,this.marginClassName=w.marginClassName?Qs(w.marginClassName):null,this.inlineClassName=w.inlineClassName?Qs(w.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=w.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=w.beforeContentClassName?Qs(w.beforeContentClassName):null,this.afterContentClassName=w.afterContentClassName?Qs(w.afterContentClassName):null,this.after=w.after?$t.from(w.after):null,this.before=w.before?$t.from(w.before):null,this.hideInCommentTokens=(F=w.hideInCommentTokens)!==null&&F!==void 0?F:!1,this.hideInStringTokens=(M=w.hideInStringTokens)!==null&&M!==void 0?M:!1}static register(w){return new Ri(w)}static createDynamic(w){return new Ri(w)}}Ri.EMPTY=Ri.register({description:"empty"});const sn=[Ri.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Ri.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Ri.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Ri.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Mn(et){return et instanceof Ri?et:Ri.createDynamic(et)}class ms extends N.JT{constructor(w){super(),this.handleBeforeFire=w,this._actual=this._register(new Q.Q5),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var w;if(this._deferredCnt--,this._deferredCnt===0){if(this._shouldFire){this.handleBeforeFire(this._affectedInjectedTextLines);const F={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler};this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._actual.fire(F)}(w=this._affectedInjectedTextLines)===null||w===void 0||w.clear(),this._affectedInjectedTextLines=null}}recordLineAffectedByInjectedText(w){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(w)}checkAffectedAndFire(w){this._affectsMinimap||(this._affectsMinimap=!!(w.minimap&&w.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(w.overviewRuler&&w.overviewRuler.color)),this._shouldFire=!0}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._shouldFire=!0}}class ns extends N.JT{constructor(){super(),this._fastEmitter=this._register(new Q.Q5),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Q.Q5),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(w=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=w;const F=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(F),this._slowEmitter.fire(F)}}fire(w){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(w):this._deferredEvent=w;return}this._fastEmitter.fire(w),this._slowEmitter.fire(w)}}},90638:(At,Be,m)=>{m.d(Be,{U:()=>u});var k=m(50149);class u extends k.JT{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}},73774:(At,Be,m)=>{m.d(Be,{bc:()=>Z,cM:()=>d,iE:()=>z,pM:()=>C,sz:()=>S});var k=m(34504),u=m(90120),ie=m(8689),Q=m(62685),N=m(40115);const ne=999;class Z{constructor(D,x,K,T){this.searchString=D,this.isRegex=x,this.matchCase=K,this.wordSeparators=T}parseSearchRequest(){if(this.searchString==="")return null;let D;this.isRegex?D=q(this.searchString):D=this.searchString.indexOf(` `)>=0;let x=null;try{x=k.GF(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:D,global:!0,unicode:!0})}catch{return null}if(!x)return null;let K=!this.isRegex&&!D;return K&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(K=this.matchCase),new N.Tx(x,this.wordSeparators?(0,u.u)(this.wordSeparators):null,K?this.searchString:null)}}function q(E){if(!E||E.length===0)return!1;for(let D=0,x=E.length;D<x;D++){const K=E.charCodeAt(D);if(K===10)return!0;if(K===92){if(D++,D>=x)break;const T=E.charCodeAt(D);if(T===110||T===114||T===87)return!0}}return!1}function z(E,D,x){if(!x)return new N.tk(E,null);const K=[];for(let T=0,W=D.length;T<W;T++)K[T]=D[T];return new N.tk(E,K)}class y{constructor(D){const x=[];let K=0;for(let T=0,W=D.length;T<W;T++)D.charCodeAt(T)===10&&(x[K++]=T);this._lineFeedsOffsets=x}findLineFeedCountBeforeOffset(D){const x=this._lineFeedsOffsets;let K=0,T=x.length-1;if(T===-1||D<=x[0])return 0;for(;K<T;){const W=K+((T-K)/2>>0);x[W]>=D?T=W-1:x[W+1]>=D?(K=W,T=W):K=W+1}return K+1}}class C{static findMatches(D,x,K,T,W){const A=x.parseSearchRequest();return A?A.regex.multiline?this._doFindMatchesMultiline(D,K,new S(A.wordSeparators,A.regex),T,W):this._doFindMatchesLineByLine(D,K,A,T,W):[]}static _getMultilineMatchRange(D,x,K,T,W,A){let U,X=0;T?(X=T.findLineFeedCountBeforeOffset(W),U=x+W+X):U=x+W;let te;if(T){const me=T.findLineFeedCountBeforeOffset(W+A.length)-X;te=U+A.length+me}else te=U+A.length;const he=D.getPositionAt(U),_e=D.getPositionAt(te);return new Q.e(he.lineNumber,he.column,_e.lineNumber,_e.column)}static _doFindMatchesMultiline(D,x,K,T,W){const A=D.getOffsetAt(x.getStartPosition()),U=D.getValueInRange(x,1),X=D.getEOL()===`\r `?new y(U):null,te=[];let he=0,_e;for(K.reset(0);_e=K.next(U);)if(te[he++]=z(this._getMultilineMatchRange(D,A,U,X,_e.index,_e[0]),_e,T),he>=W)return te;return te}static _doFindMatchesLineByLine(D,x,K,T,W){const A=[];let U=0;if(x.startLineNumber===x.endLineNumber){const te=D.getLineContent(x.startLineNumber).substring(x.startColumn-1,x.endColumn-1);return U=this._findMatchesInLine(K,te,x.startLineNumber,x.startColumn-1,U,A,T,W),A}const X=D.getLineContent(x.startLineNumber).substring(x.startColumn-1);U=this._findMatchesInLine(K,X,x.startLineNumber,x.startColumn-1,U,A,T,W);for(let te=x.startLineNumber+1;te<x.endLineNumber&&U<W;te++)U=this._findMatchesInLine(K,D.getLineContent(te),te,0,U,A,T,W);if(U<W){const te=D.getLineContent(x.endLineNumber).substring(0,x.endColumn-1);U=this._findMatchesInLine(K,te,x.endLineNumber,0,U,A,T,W)}return A}static _findMatchesInLine(D,x,K,T,W,A,U,X){const te=D.wordSeparators;if(!U&&D.simpleSearch){const ge=D.simpleSearch,me=ge.length,re=x.length;let Y=-me;for(;(Y=x.indexOf(ge,Y+me))!==-1;)if((!te||d(te,x,re,Y,me))&&(A[W++]=new N.tk(new Q.e(K,Y+1+T,K,Y+1+me+T),null),W>=X))return W;return W}const he=new S(D.wordSeparators,D.regex);let _e;he.reset(0);do if(_e=he.next(x),_e&&(A[W++]=z(new Q.e(K,_e.index+1+T,K,_e.index+1+_e[0].length+T),_e,U),W>=X))return W;while(_e);return W}static findNextMatch(D,x,K,T){const W=x.parseSearchRequest();if(!W)return null;const A=new S(W.wordSeparators,W.regex);return W.regex.multiline?this._doFindNextMatchMultiline(D,K,A,T):this._doFindNextMatchLineByLine(D,K,A,T)}static _doFindNextMatchMultiline(D,x,K,T){const W=new ie.L(x.lineNumber,1),A=D.getOffsetAt(W),U=D.getLineCount(),X=D.getValueInRange(new Q.e(W.lineNumber,W.column,U,D.getLineMaxColumn(U)),1),te=D.getEOL()===`\r `?new y(X):null;K.reset(x.column-1);const he=K.next(X);return he?z(this._getMultilineMatchRange(D,A,X,te,he.index,he[0]),he,T):x.lineNumber!==1||x.column!==1?this._doFindNextMatchMultiline(D,new ie.L(1,1),K,T):null}static _doFindNextMatchLineByLine(D,x,K,T){const W=D.getLineCount(),A=x.lineNumber,U=D.getLineContent(A),X=this._findFirstMatchInLine(K,U,A,x.column,T);if(X)return X;for(let te=1;te<=W;te++){const he=(A+te-1)%W,_e=D.getLineContent(he+1),ge=this._findFirstMatchInLine(K,_e,he+1,1,T);if(ge)return ge}return null}static _findFirstMatchInLine(D,x,K,T,W){D.reset(T-1);const A=D.next(x);return A?z(new Q.e(K,A.index+1,K,A.index+1+A[0].length),A,W):null}static findPreviousMatch(D,x,K,T){const W=x.parseSearchRequest();if(!W)return null;const A=new S(W.wordSeparators,W.regex);return W.regex.multiline?this._doFindPreviousMatchMultiline(D,K,A,T):this._doFindPreviousMatchLineByLine(D,K,A,T)}static _doFindPreviousMatchMultiline(D,x,K,T){const W=this._doFindMatchesMultiline(D,new Q.e(1,1,x.lineNumber,x.column),K,T,10*ne);if(W.length>0)return W[W.length-1];const A=D.getLineCount();return x.lineNumber!==A||x.column!==D.getLineMaxColumn(A)?this._doFindPreviousMatchMultiline(D,new ie.L(A,D.getLineMaxColumn(A)),K,T):null}static _doFindPreviousMatchLineByLine(D,x,K,T){const W=D.getLineCount(),A=x.lineNumber,U=D.getLineContent(A).substring(0,x.column-1),X=this._findLastMatchInLine(K,U,A,T);if(X)return X;for(let te=1;te<=W;te++){const he=(W+A-te-1)%W,_e=D.getLineContent(he+1),ge=this._findLastMatchInLine(K,_e,he+1,T);if(ge)return ge}return null}static _findLastMatchInLine(D,x,K,T){let W=null,A;for(D.reset(0);A=D.next(x);)W=z(new Q.e(K,A.index+1,K,A.index+1+A[0].length),A,T);return W}}function L(E,D,x,K,T){if(K===0)return!0;const W=D.charCodeAt(K-1);if(E.get(W)!==0||W===13||W===10)return!0;if(T>0){const A=D.charCodeAt(K);if(E.get(A)!==0)return!0}return!1}function b(E,D,x,K,T){if(K+T===x)return!0;const W=D.charCodeAt(K+T);if(E.get(W)!==0||W===13||W===10)return!0;if(T>0){const A=D.charCodeAt(K+T-1);if(E.get(A)!==0)return!0}return!1}function d(E,D,x,K,T){return L(E,D,x,K,T)&&b(E,D,x,K,T)}class S{constructor(D,x){this._wordSeparators=D,this._searchRegex=x,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(D){this._searchRegex.lastIndex=D,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(D){const x=D.length;let K;do{if(this._prevMatchStartIndex+this._prevMatchLength===x||(K=this._searchRegex.exec(D),!K))return null;const T=K.index,W=K[0].length;if(T===this._prevMatchStartIndex&&W===this._prevMatchLength){if(W===0){k.ZH(D,x,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=T,this._prevMatchLength=W,!this._wordSeparators||d(this._wordSeparators,D,x,T,W))return K}while(K);return null}}},74654:(At,Be,m)=>{m.d(Be,{q:()=>k});function k(u,ie){let Q=0,N=0;const ne=u.length;for(;N<ne;){const Z=u.charCodeAt(N);if(Z===32)Q++;else if(Z===9)Q=Q-Q%ie+ie;else break;N++}return N===ne?-1:Q}},81698:(At,Be,m)=>{m.d(Be,{p:()=>ie});var k=m(41846);const u="editorWorkerService",ie=(0,k.yh)(u)},28147:(At,Be,m)=>{m.d(Be,{OG:()=>he,ML:()=>W,KO:()=>X,Jc:()=>K,Vl:()=>E,Vj:()=>D});var k=m(58923),u=m(35230),ie=m(34154),Q=m(7754),N=m(88324),ne=m(4626),Z=m(41186),q=m(75874);function z(_e){for(let ge=0,me=_e.length;ge<me;ge+=4){const re=_e[ge+0],Y=_e[ge+1],de=_e[ge+2],oe=_e[ge+3];_e[ge+0]=oe,_e[ge+1]=de,_e[ge+2]=Y,_e[ge+3]=re}}function y(_e){const ge=new Uint8Array(_e.buffer,_e.byteOffset,_e.length*4);return q.r()||z(ge),Z.KN.wrap(ge)}function C(_e){const ge=new Uint32Array(L(_e));let me=0;if(ge[me++]=_e.id,_e.type==="full")ge[me++]=1,ge[me++]=_e.data.length,ge.set(_e.data,me),me+=_e.data.length;else{ge[me++]=2,ge[me++]=_e.deltas.length;for(const re of _e.deltas)ge[me++]=re.start,ge[me++]=re.deleteCount,re.data?(ge[me++]=re.data.length,ge.set(re.data,me),me+=re.data.length):ge[me++]=0}return y(ge)}function L(_e){let ge=0;if(ge+=1+1,_e.type==="full")ge+=1+_e.data.length;else{ge+=1,ge+=(1+1+1)*_e.deltas.length;for(const me of _e.deltas)me.data&&(ge+=me.data.length)}return ge}var b=m(62685),d=m(64467),S=function(_e,ge,me,re){function Y(de){return de instanceof me?de:new me(function(oe){oe(de)})}return new(me||(me=Promise))(function(de,oe){function J(ve){try{ue(re.next(ve))}catch(xe){oe(xe)}}function $(ve){try{ue(re.throw(ve))}catch(xe){oe(xe)}}function ue(ve){ve.done?de(ve.value):Y(ve.value).then(J,$)}ue((re=re.apply(_e,ge||[])).next())})};function E(_e){return _e&&!!_e.data}function D(_e){return _e&&Array.isArray(_e.edits)}class x{constructor(ge,me,re){this.provider=ge,this.tokens=me,this.error=re}}function K(_e,ge){return _e.has(ge)}function T(_e,ge){const me=_e.orderedGroups(ge);return me.length>0?me[0]:[]}function W(_e,ge,me,re,Y){return S(this,void 0,void 0,function*(){const de=T(_e,ge),oe=yield Promise.all(de.map(J=>S(this,void 0,void 0,function*(){let $,ue=null;try{$=yield J.provideDocumentSemanticTokens(ge,J===me?re:null,Y)}catch(ve){ue=ve,$=null}return(!$||!E($)&&!D($))&&($=null),new x(J,$,ue)})));for(const J of oe){if(J.error)throw J.error;if(J.tokens)return J}return oe.length>0?oe[0]:null})}function A(_e,ge){const me=_e.orderedGroups(ge);return me.length>0?me[0]:null}class U{constructor(ge,me){this.provider=ge,this.tokens=me}}function X(_e,ge){return _e.has(ge)}function te(_e,ge){const me=_e.orderedGroups(ge);return me.length>0?me[0]:[]}function he(_e,ge,me,re){return S(this,void 0,void 0,function*(){const Y=te(_e,ge),de=yield Promise.all(Y.map(oe=>S(this,void 0,void 0,function*(){let J;try{J=yield oe.provideDocumentRangeSemanticTokens(ge,me,re)}catch($){(0,u.Cp)($),J=null}return(!J||!E(J))&&(J=null),new U(oe,J)})));for(const oe of de)if(oe.tokens)return oe;return de.length>0?de[0]:null})}N.P0.registerCommand("_provideDocumentSemanticTokensLegend",(_e,...ge)=>S(void 0,void 0,void 0,function*(){const[me]=ge;(0,ne.p_)(me instanceof ie.o);const re=_e.get(Q.q).getModel(me);if(!re)return;const{documentSemanticTokensProvider:Y}=_e.get(d.p),de=A(Y,re);return de?de[0].getLegend():_e.get(N.Hy).executeCommand("_provideDocumentRangeSemanticTokensLegend",me)})),N.P0.registerCommand("_provideDocumentSemanticTokens",(_e,...ge)=>S(void 0,void 0,void 0,function*(){const[me]=ge;(0,ne.p_)(me instanceof ie.o);const re=_e.get(Q.q).getModel(me);if(!re)return;const{documentSemanticTokensProvider:Y}=_e.get(d.p);if(!K(Y,re))return _e.get(N.Hy).executeCommand("_provideDocumentRangeSemanticTokens",me,re.getFullModelRange());const de=yield W(Y,re,null,null,k.T.None);if(!de)return;const{provider:oe,tokens:J}=de;if(!J||!E(J))return;const $=C({id:0,type:"full",data:J.data});return J.resultId&&oe.releaseDocumentSemanticTokens(J.resultId),$})),N.P0.registerCommand("_provideDocumentRangeSemanticTokensLegend",(_e,...ge)=>S(void 0,void 0,void 0,function*(){const[me,re]=ge;(0,ne.p_)(me instanceof ie.o);const Y=_e.get(Q.q).getModel(me);if(!Y)return;const{documentRangeSemanticTokensProvider:de}=_e.get(d.p),oe=te(de,Y);if(oe.length===0)return;if(oe.length===1)return oe[0].getLegend();if(!re||!b.e.isIRange(re))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),oe[0].getLegend();const J=yield he(de,Y,b.e.lift(re),k.T.None);if(J)return J.provider.getLegend()})),N.P0.registerCommand("_provideDocumentRangeSemanticTokens",(_e,...ge)=>S(void 0,void 0,void 0,function*(){const[me,re]=ge;(0,ne.p_)(me instanceof ie.o),(0,ne.p_)(b.e.isIRange(re));const Y=_e.get(Q.q).getModel(me);if(!Y)return;const{documentRangeSemanticTokensProvider:de}=_e.get(d.p),oe=yield he(de,Y,b.e.lift(re),k.T.None);if(!(!oe||!oe.tokens))return C({id:0,type:"full",data:oe.tokens.data})}))},57756:(At,Be,m)=>{m.d(Be,{A:()=>y});var k=m(20474),u=m(37774),ie=m(54060),Q=m(59894),N=m(41846),ne=m(71401),Z=m(76835),q=function(d,S,E,D){var x=arguments.length,K=x<3?S:D===null?D=Object.getOwnPropertyDescriptor(S,E):D,T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")K=Reflect.decorate(d,S,E,D);else for(var W=d.length-1;W>=0;W--)(T=d[W])&&(K=(x<3?T(K):x>3?T(S,E,K):T(S,E))||K);return x>3&&K&&Object.defineProperty(S,E,K),K},z=function(d,S){return function(E,D){S(E,D,d)}};const y=(0,N.yh)("ILanguageFeatureDebounceService");var C;(function(d){const S=new WeakMap;let E=0;function D(x){let K=S.get(x);return K===void 0&&(K=++E,S.set(x,K)),K}d.of=D})(C||(C={}));class L{constructor(S,E,D,x,K,T){this._logService=S,this._name=E,this._registry=D,this._default=x,this._min=K,this._max=T,this._cache=new u.z6(50,.7)}_key(S){return S.id+this._registry.all(S).reduce((E,D)=>(0,k.SP)(C.of(D),E),0)}get(S){const E=this._key(S),D=this._cache.get(E);return D?(0,ie.uZ)(D.value,this._min,this._max):this.default()}update(S,E){const D=this._key(S);let x=this._cache.get(D);x||(x=new ie.N(6),this._cache.set(D,x));const K=(0,ie.uZ)(x.update(E),this._min,this._max);return(0,Z.xn)(S.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${S.uri.toString()} is ${K}ms`),K}_overall(){const S=new ie.nM;for(const[,E]of this._cache)S.update(E.value);return S.value}default(){const S=this._overall()|0||this._default;return(0,ie.uZ)(S,this._min,this._max)}}let b=class{constructor(S){this._logService=S,this._data=new Map}for(S,E,D){var x,K,T;const W=(x=D?.min)!==null&&x!==void 0?x:50,A=(K=D?.max)!==null&&K!==void 0?K:Math.pow(W,2),U=(T=D?.key)!==null&&T!==void 0?T:void 0,X=`${C.of(S)},${W}${U?","+U:""}`;let te=this._data.get(X);return te||(te=new L(this._logService,E,S,this._overallAverage()|0||W*1.5,W,A),this._data.set(X,te)),te}_overallAverage(){const S=new ie.nM;for(const E of this._data.values())S.update(E.default());return S.value}};b=q([z(0,ne.VZ)],b),(0,Q.z)(y,b,!0)},64467:(At,Be,m)=>{m.d(Be,{p:()=>u});var k=m(41846);const u=(0,k.yh)("ILanguageFeaturesService")},15495:(At,Be,m)=>{m.d(Be,{i:()=>u});var k=m(41846);const u=(0,k.yh)("markerDecorationsService")},7754:(At,Be,m)=>{m.d(Be,{q:()=>u});var k=m(41846);const u=(0,k.yh)("modelService")},91790:(At,Be,m)=>{m.d(Be,{b$:()=>J,e3:()=>$,tw:()=>ue});var k=m(86640),u=m(50149),ie=m(75874),Q=m(35230),N=m(24450),ne=m(25318),Z=m(74621),q=m(45440),z=m(7754),y=m(12944),C=m(47133),L=m(49434),b=m(58923),d=m(26194),S=m(71401),E=m(85762),D=m(20474),x=m(63312),K=m(33073),T=m(27972),W=m(28147),A=m(2758),U=m(38490),X=m(57756),te=m(22912),he=m(64467),_e=function(ct,Ve,$e,Ee){var Fe=arguments.length,je=Fe<3?Ve:Ee===null?Ee=Object.getOwnPropertyDescriptor(Ve,$e):Ee,Re;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")je=Reflect.decorate(ct,Ve,$e,Ee);else for(var tt=ct.length-1;tt>=0;tt--)(Re=ct[tt])&&(je=(Fe<3?Re(je):Fe>3?Re(Ve,$e,je):Re(Ve,$e))||je);return Fe>3&&je&&Object.defineProperty(Ve,$e,je),je},ge=function(ct,Ve){return function($e,Ee){Ve($e,Ee,ct)}};function me(ct){return ct.toString()}function re(ct){const Ve=new D.yP,$e=ct.createSnapshot();let Ee;for(;Ee=$e.read();)Ve.update(Ee);return Ve.digest()}class Y{constructor(Ve,$e,Ee){this._modelEventListeners=new u.SL,this.model=Ve,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(Ve.onWillDispose(()=>$e(Ve))),this._modelEventListeners.add(Ve.onDidChangeLanguage(Fe=>Ee(Ve,Fe)))}_disposeLanguageSelection(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null)}dispose(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()}setLanguage(Ve){this._disposeLanguageSelection(),this._languageSelection=Ve,this._languageSelectionListener=this._languageSelection.onDidChange(()=>this.model.setMode(Ve.languageId)),this.model.setMode(Ve.languageId)}}const de=ie.IJ||ie.dz?1:2;class oe{constructor(Ve,$e,Ee,Fe,je,Re,tt,at){this.uri=Ve,this.initialUndoRedoSnapshot=$e,this.time=Ee,this.sharesUndoRedoStack=Fe,this.heapSize=je,this.sha1=Re,this.versionId=tt,this.alternativeVersionId=at}}let J=class nf extends u.JT{constructor(Ve,$e,Ee,Fe,je,Re,tt,at,Dt){super(),this._configurationService=Ve,this._resourcePropertiesService=$e,this._themeService=Ee,this._logService=Fe,this._undoRedoService=je,this._languageService=Re,this._languageConfigurationService=tt,this._languageFeatureDebounceService=at,this._onModelAdded=this._register(new k.Q5),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new k.Q5),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new k.Q5),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._semanticStyling=this._register(new xe(this._themeService,this._languageService,this._logService)),this._register(this._configurationService.onDidChangeConfiguration(()=>this._updateModelOptions())),this._updateModelOptions(),this._register(new ve(this._semanticStyling,this,this._themeService,this._configurationService,this._languageFeatureDebounceService,Dt))}static _readModelOptions(Ve,$e){var Ee;let Fe=ne.D.tabSize;if(Ve.editor&&typeof Ve.editor.tabSize<"u"){const dt=parseInt(Ve.editor.tabSize,10);isNaN(dt)||(Fe=dt),Fe<1&&(Fe=1)}let je=Fe;if(Ve.editor&&typeof Ve.editor.indentSize<"u"&&Ve.editor.indentSize!=="tabSize"){const dt=parseInt(Ve.editor.indentSize,10);isNaN(dt)||(je=dt),je<1&&(je=1)}let Re=ne.D.insertSpaces;Ve.editor&&typeof Ve.editor.insertSpaces<"u"&&(Re=Ve.editor.insertSpaces==="false"?!1:!!Ve.editor.insertSpaces);let tt=de;const at=Ve.eol;at===`\r `?tt=2:at===` `&&(tt=1);let Dt=ne.D.trimAutoWhitespace;Ve.editor&&typeof Ve.editor.trimAutoWhitespace<"u"&&(Dt=Ve.editor.trimAutoWhitespace==="false"?!1:!!Ve.editor.trimAutoWhitespace);let Et=ne.D.detectIndentation;Ve.editor&&typeof Ve.editor.detectIndentation<"u"&&(Et=Ve.editor.detectIndentation==="false"?!1:!!Ve.editor.detectIndentation);let Nt=ne.D.largeFileOptimizations;Ve.editor&&typeof Ve.editor.largeFileOptimizations<"u"&&(Nt=Ve.editor.largeFileOptimizations==="false"?!1:!!Ve.editor.largeFileOptimizations);let ke=ne.D.bracketPairColorizationOptions;return!((Ee=Ve.editor)===null||Ee===void 0)&&Ee.bracketPairColorization&&typeof Ve.editor.bracketPairColorization=="object"&&(ke={enabled:!!Ve.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!Ve.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:$e,tabSize:Fe,indentSize:je,insertSpaces:Re,detectIndentation:Et,defaultEOL:tt,trimAutoWhitespace:Dt,largeFileOptimizations:Nt,bracketPairColorizationOptions:ke}}_getEOL(Ve,$e){if(Ve)return this._resourcePropertiesService.getEOL(Ve,$e);const Ee=this._configurationService.getValue("files.eol",{overrideIdentifier:$e});return Ee&&typeof Ee=="string"&&Ee!=="auto"?Ee:ie.OS===3||ie.OS===2?` `:`\r `}_shouldRestoreUndoStack(){const Ve=this._configurationService.getValue("files.restoreUndoStack");return typeof Ve=="boolean"?Ve:!0}getCreationOptions(Ve,$e,Ee){let Fe=this._modelCreationOptionsByLanguageAndResource[Ve+$e];if(!Fe){const je=this._configurationService.getValue("editor",{overrideIdentifier:Ve,resource:$e}),Re=this._getEOL($e,Ve);Fe=nf._readModelOptions({editor:je,eol:Re},Ee),this._modelCreationOptionsByLanguageAndResource[Ve+$e]=Fe}return Fe}_updateModelOptions(){const Ve=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const $e=Object.keys(this._models);for(let Ee=0,Fe=$e.length;Ee<Fe;Ee++){const je=$e[Ee],Re=this._models[je],tt=Re.model.getLanguageId(),at=Re.model.uri,Dt=Ve[tt+at],Et=this.getCreationOptions(tt,at,Re.model.isForSimpleWidget);nf._setModelOptionsForModel(Re.model,Et,Dt)}}static _setModelOptionsForModel(Ve,$e,Ee){Ee&&Ee.defaultEOL!==$e.defaultEOL&&Ve.getLineCount()===1&&Ve.setEOL($e.defaultEOL===1?0:1),!(Ee&&Ee.detectIndentation===$e.detectIndentation&&Ee.insertSpaces===$e.insertSpaces&&Ee.tabSize===$e.tabSize&&Ee.indentSize===$e.indentSize&&Ee.trimAutoWhitespace===$e.trimAutoWhitespace&&(0,A.fS)(Ee.bracketPairColorizationOptions,$e.bracketPairColorizationOptions))&&($e.detectIndentation?(Ve.detectIndentation($e.insertSpaces,$e.tabSize),Ve.updateOptions({trimAutoWhitespace:$e.trimAutoWhitespace,bracketColorizationOptions:$e.bracketPairColorizationOptions})):Ve.updateOptions({insertSpaces:$e.insertSpaces,tabSize:$e.tabSize,indentSize:$e.indentSize,trimAutoWhitespace:$e.trimAutoWhitespace,bracketColorizationOptions:$e.bracketPairColorizationOptions}))}_insertDisposedModel(Ve){this._disposedModels.set(me(Ve.uri),Ve),this._disposedModelsHeapSize+=Ve.heapSize}_removeDisposedModel(Ve){const $e=this._disposedModels.get(me(Ve));return $e&&(this._disposedModelsHeapSize-=$e.heapSize),this._disposedModels.delete(me(Ve)),$e}_ensureDisposedModelsHeapSize(Ve){if(this._disposedModelsHeapSize>Ve){const $e=[];for(this._disposedModels.forEach(Ee=>{Ee.sharesUndoRedoStack||$e.push(Ee)}),$e.sort((Ee,Fe)=>Ee.time-Fe.time);$e.length>0&&this._disposedModelsHeapSize>Ve;){const Ee=$e.shift();this._removeDisposedModel(Ee.uri),Ee.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(Ee.initialUndoRedoSnapshot)}}}_createModelData(Ve,$e,Ee,Fe){const je=this.getCreationOptions($e,Ee,Fe),Re=new N.yO(Ve,$e,je,Ee,this._undoRedoService,this._languageService,this._languageConfigurationService);if(Ee&&this._disposedModels.has(me(Ee))){const Dt=this._removeDisposedModel(Ee),Et=this._undoRedoService.getElements(Ee),Nt=re(Re)===Dt.sha1;if(Nt||Dt.sharesUndoRedoStack){for(const ke of Et.past)(0,x.e9)(ke)&&ke.matchesResource(Ee)&&ke.setModel(Re);for(const ke of Et.future)(0,x.e9)(ke)&&ke.matchesResource(Ee)&&ke.setModel(Re);this._undoRedoService.setElementsValidFlag(Ee,!0,ke=>(0,x.e9)(ke)&&ke.matchesResource(Ee)),Nt&&(Re._overwriteVersionId(Dt.versionId),Re._overwriteAlternativeVersionId(Dt.alternativeVersionId),Re._overwriteInitialUndoRedoSnapshot(Dt.initialUndoRedoSnapshot))}else Dt.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(Dt.initialUndoRedoSnapshot)}const tt=me(Re.uri);if(this._models[tt])throw new Error("ModelService: Cannot add model because it already exists!");const at=new Y(Re,Dt=>this._onWillDispose(Dt),(Dt,Et)=>this._onDidChangeLanguage(Dt,Et));return this._models[tt]=at,at}createModel(Ve,$e,Ee,Fe=!1){let je;return $e?(je=this._createModelData(Ve,$e.languageId,Ee,Fe),this.setMode(je.model,$e)):je=this._createModelData(Ve,Z.bd,Ee,Fe),this._onModelAdded.fire(je.model),je.model}setMode(Ve,$e){if(!$e)return;const Ee=this._models[me(Ve.uri)];Ee&&Ee.setLanguage($e)}getModels(){const Ve=[],$e=Object.keys(this._models);for(let Ee=0,Fe=$e.length;Ee<Fe;Ee++){const je=$e[Ee];Ve.push(this._models[je].model)}return Ve}getModel(Ve){const $e=me(Ve),Ee=this._models[$e];return Ee?Ee.model:null}getSemanticTokensProviderStyling(Ve){return this._semanticStyling.get(Ve)}_schemaShouldMaintainUndoRedoElements(Ve){return Ve.scheme===K.lg.file||Ve.scheme===K.lg.vscodeRemote||Ve.scheme===K.lg.vscodeUserData||Ve.scheme===K.lg.vscodeNotebookCell||Ve.scheme==="fake-fs"}_onWillDispose(Ve){const $e=me(Ve.uri),Ee=this._models[$e],Fe=this._undoRedoService.getUriComparisonKey(Ve.uri)!==Ve.uri.toString();let je=!1,Re=0;if(Fe||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(Ve.uri)){const at=this._undoRedoService.getElements(Ve.uri);if(at.past.length>0||at.future.length>0){for(const Dt of at.past)(0,x.e9)(Dt)&&Dt.matchesResource(Ve.uri)&&(je=!0,Re+=Dt.heapSize(Ve.uri),Dt.setModel(Ve.uri));for(const Dt of at.future)(0,x.e9)(Dt)&&Dt.matchesResource(Ve.uri)&&(je=!0,Re+=Dt.heapSize(Ve.uri),Dt.setModel(Ve.uri))}}const tt=nf.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(je)if(!Fe&&Re>tt){const at=Ee.model.getInitialUndoRedoSnapshot();at!==null&&this._undoRedoService.restoreSnapshot(at)}else this._ensureDisposedModelsHeapSize(tt-Re),this._undoRedoService.setElementsValidFlag(Ve.uri,!1,at=>(0,x.e9)(at)&&at.matchesResource(Ve.uri)),this._insertDisposedModel(new oe(Ve.uri,Ee.model.getInitialUndoRedoSnapshot(),Date.now(),Fe,Re,re(Ve),Ve.getVersionId(),Ve.getAlternativeVersionId()));else if(!Fe){const at=Ee.model.getInitialUndoRedoSnapshot();at!==null&&this._undoRedoService.restoreSnapshot(at)}delete this._models[$e],Ee.dispose(),delete this._modelCreationOptionsByLanguageAndResource[Ve.getLanguageId()+Ve.uri],this._onModelRemoved.fire(Ve)}_onDidChangeLanguage(Ve,$e){const Ee=$e.oldLanguage,Fe=Ve.getLanguageId(),je=this.getCreationOptions(Ee,Ve.uri,Ve.isForSimpleWidget),Re=this.getCreationOptions(Fe,Ve.uri,Ve.isForSimpleWidget);nf._setModelOptionsForModel(Ve,Re,je),this._onModelModeChanged.fire({model:Ve,oldLanguageId:Ee})}};J.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,J=_e([ge(0,C.Ui),ge(1,y.y),ge(2,d.XE),ge(3,S.VZ),ge(4,E.tJ),ge(5,q.O),ge(6,U.c_),ge(7,X.A),ge(8,he.p)],J);const $="editor.semanticHighlighting";function ue(ct,Ve,$e){var Ee;const Fe=(Ee=$e.getValue($,{overrideIdentifier:ct.getLanguageId(),resource:ct.uri}))===null||Ee===void 0?void 0:Ee.enabled;return typeof Fe=="boolean"?Fe:Ve.getColorTheme().semanticHighlighting}let ve=class extends u.JT{constructor(Ve,$e,Ee,Fe,je,Re){super(),this._watchers=Object.create(null),this._semanticStyling=Ve;const tt=Et=>{this._watchers[Et.uri.toString()]=new rt(Et,this._semanticStyling,Ee,je,Re)},at=(Et,Nt)=>{Nt.dispose(),delete this._watchers[Et.uri.toString()]},Dt=()=>{for(const Et of $e.getModels()){const Nt=this._watchers[Et.uri.toString()];ue(Et,Ee,Fe)?Nt||tt(Et):Nt&&at(Et,Nt)}};this._register($e.onModelAdded(Et=>{ue(Et,Ee,Fe)&&tt(Et)})),this._register($e.onModelRemoved(Et=>{const Nt=this._watchers[Et.uri.toString()];Nt&&at(Et,Nt)})),this._register(Fe.onDidChangeConfiguration(Et=>{Et.affectsConfiguration($)&&Dt()})),this._register(Ee.onDidColorThemeChange(Dt))}dispose(){for(const Ve of Object.values(this._watchers))Ve.dispose();super.dispose()}};ve=_e([ge(1,z.q),ge(2,d.XE),ge(3,C.Ui),ge(4,X.A),ge(5,he.p)],ve);class xe extends u.JT{constructor(Ve,$e,Ee){super(),this._themeService=Ve,this._languageService=$e,this._logService=Ee,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}get(Ve){return this._caches.has(Ve)||this._caches.set(Ve,new T.$(Ve.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(Ve)}}class O{constructor(Ve,$e,Ee){this.provider=Ve,this.resultId=$e,this.data=Ee}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}let rt=class hc extends u.JT{constructor(Ve,$e,Ee,Fe,je){super(),this._isDisposed=!1,this._model=Ve,this._semanticStyling=$e,this._provider=je.documentSemanticTokensProvider,this._debounceInformation=Fe.for(this._provider,"DocumentSemanticTokens",{min:hc.REQUEST_MIN_DELAY,max:hc.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new L.pY(()=>this._fetchDocumentSemanticTokensNow(),hc.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const Re=()=>{(0,u.B9)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const tt of this._provider.all(Ve))typeof tt.onDidChange=="function"&&this._documentProvidersChangeListeners.push(tt.onDidChange(()=>this._fetchDocumentSemanticTokens.schedule(0)))};Re(),this._register(this._provider.onDidChange(()=>{Re(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(Ee.onDidColorThemeChange(tt=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!(0,W.Jc)(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}const Ve=new b.A,$e=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,Ee=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,Fe=(0,W.ML)(this._provider,this._model,$e,Ee,Ve.token);this._currentDocumentRequestCancellationTokenSource=Ve;const je=[],Re=this._model.onDidChangeContent(at=>{je.push(at)}),tt=new te.G(!1);Fe.then(at=>{if(this._debounceInformation.update(this._model,tt.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,Re.dispose(),!at)this._setDocumentSemanticTokens(null,null,null,je);else{const{provider:Dt,tokens:Et}=at,Nt=this._semanticStyling.get(Dt);this._setDocumentSemanticTokens(Dt,Et||null,Nt,je)}},at=>{at&&(Q.n2(at)||typeof at.message=="string"&&at.message.indexOf("busy")!==-1)||Q.dL(at),this._currentDocumentRequestCancellationTokenSource=null,Re.dispose(),je.length>0&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(Ve,$e,Ee,Fe,je){je=Math.min(je,Ee.length-Fe,Ve.length-$e);for(let Re=0;Re<je;Re++)Ee[Fe+Re]=Ve[$e+Re]}_setDocumentSemanticTokens(Ve,$e,Ee,Fe){const je=this._currentDocumentResponse,Re=()=>{Fe.length>0&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){Ve&&$e&&Ve.releaseDocumentSemanticTokens($e.resultId);return}if(!Ve||!Ee){this._model.tokenization.setSemanticTokens(null,!1);return}if(!$e){this._model.tokenization.setSemanticTokens(null,!0),Re();return}if((0,W.Vj)($e)){if(!je){this._model.tokenization.setSemanticTokens(null,!0);return}if($e.edits.length===0)$e={resultId:$e.resultId,data:je.data};else{let tt=0;for(const ke of $e.edits)tt+=(ke.data?ke.data.length:0)-ke.deleteCount;const at=je.data,Dt=new Uint32Array(at.length+tt);let Et=at.length,Nt=Dt.length;for(let ke=$e.edits.length-1;ke>=0;ke--){const dt=$e.edits[ke];if(dt.start>at.length){Ee.warnInvalidEditStart(je.resultId,$e.resultId,ke,dt.start,at.length),this._model.tokenization.setSemanticTokens(null,!0);return}const mt=Et-(dt.start+dt.deleteCount);mt>0&&(hc._copy(at,Et-mt,Dt,Nt-mt,mt),Nt-=mt),dt.data&&(hc._copy(dt.data,0,Dt,Nt-dt.data.length,dt.data.length),Nt-=dt.data.length),Et=dt.start}Et>0&&hc._copy(at,0,Dt,0,Et),$e={resultId:$e.resultId,data:Dt}}}if((0,W.Vl)($e)){this._currentDocumentResponse=new O(Ve,$e.resultId,$e.data);const tt=(0,T.h)($e,Ee,this._model.getLanguageId());if(Fe.length>0)for(const at of Fe)for(const Dt of tt)for(const Et of at.changes)Dt.applyEdit(Et.range,Et.text);this._model.tokenization.setSemanticTokens(tt,!0)}else this._model.tokenization.setSemanticTokens(null,!0);Re()}};rt.REQUEST_MIN_DELAY=300,rt.REQUEST_MAX_DELAY=2e3,rt=_e([ge(2,d.XE),ge(3,X.A),ge(4,he.p)],rt)},16320:(At,Be,m)=>{m.d(Be,{S:()=>u});var k=m(41846);const u=(0,k.yh)("textModelService")},27972:(At,Be,m)=>{m.d(Be,{$:()=>b,h:()=>d});var k=m(23854),u=m(26194),ie=m(71401),Q=m(8689),N=m(62685),ne=m(52512);class Z{constructor(x,K){this._startLineNumber=x,this._tokens=K,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}static create(x,K){return new Z(x,new q(K))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(x){return this._startLineNumber<=x&&x<=this._endLineNumber?this._tokens.getLineTokens(x-this._startLineNumber):null}getRange(){const x=this._tokens.getRange();return x&&new N.e(this._startLineNumber+x.startLineNumber,x.startColumn,this._startLineNumber+x.endLineNumber,x.endColumn)}removeTokens(x){const K=x.startLineNumber-this._startLineNumber,T=x.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(K,x.startColumn-1,T,x.endColumn-1),this._updateEndLineNumber()}split(x){const K=x.startLineNumber-this._startLineNumber,T=x.endLineNumber-this._startLineNumber,[W,A,U]=this._tokens.split(K,x.startColumn-1,T,x.endColumn-1);return[new Z(this._startLineNumber,W),new Z(this._startLineNumber+U,A)]}applyEdit(x,K){const[T,W,A]=(0,ne.Q)(K);this.acceptEdit(x,T,W,A,K.length>0?K.charCodeAt(0):0)}acceptEdit(x,K,T,W,A){this._acceptDeleteRange(x),this._acceptInsertText(new Q.L(x.startLineNumber,x.startColumn),K,T,W,A),this._updateEndLineNumber()}_acceptDeleteRange(x){if(x.startLineNumber===x.endLineNumber&&x.startColumn===x.endColumn)return;const K=x.startLineNumber-this._startLineNumber,T=x.endLineNumber-this._startLineNumber;if(T<0){const A=T-K;this._startLineNumber-=A;return}const W=this._tokens.getMaxDeltaLine();if(!(K>=W+1)){if(K<0&&T>=W+1){this._startLineNumber=0,this._tokens.clear();return}if(K<0){const A=-K;this._startLineNumber-=A,this._tokens.acceptDeleteRange(x.startColumn-1,0,0,T,x.endColumn-1)}else this._tokens.acceptDeleteRange(0,K,x.startColumn-1,T,x.endColumn-1)}}_acceptInsertText(x,K,T,W,A){if(K===0&&T===0)return;const U=x.lineNumber-this._startLineNumber;if(U<0){this._startLineNumber+=K;return}const X=this._tokens.getMaxDeltaLine();U>=X+1||this._tokens.acceptInsertText(U,x.column-1,K,T,W,A)}}class q{constructor(x){this._tokens=x,this._tokenCount=x.length/4}toString(x){const K=[];for(let T=0;T<this._tokenCount;T++)K.push(`(${this._getDeltaLine(T)+x},${this._getStartCharacter(T)}-${this._getEndCharacter(T)})`);return`[${K.join(",")}]`}getMaxDeltaLine(){const x=this._getTokenCount();return x===0?-1:this._getDeltaLine(x-1)}getRange(){const x=this._getTokenCount();if(x===0)return null;const K=this._getStartCharacter(0),T=this._getDeltaLine(x-1),W=this._getEndCharacter(x-1);return new N.e(0,K+1,T,W+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(x){return this._tokens[4*x]}_getStartCharacter(x){return this._tokens[4*x+1]}_getEndCharacter(x){return this._tokens[4*x+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(x){let K=0,T=this._getTokenCount()-1;for(;K<T;){const W=K+Math.floor((T-K)/2),A=this._getDeltaLine(W);if(A<x)K=W+1;else if(A>x)T=W-1;else{let U=W;for(;U>K&&this._getDeltaLine(U-1)===x;)U--;let X=W;for(;X<T&&this._getDeltaLine(X+1)===x;)X++;return new z(this._tokens.subarray(4*U,4*X+4))}}return this._getDeltaLine(K)===x?new z(this._tokens.subarray(4*K,4*K+4)):null}clear(){this._tokenCount=0}removeTokens(x,K,T,W){const A=this._tokens,U=this._tokenCount;let X=0,te=!1,he=0;for(let _e=0;_e<U;_e++){const ge=4*_e,me=A[ge],re=A[ge+1],Y=A[ge+2],de=A[ge+3];if((me>x||me===x&&Y>=K)&&(me<T||me===T&&re<=W))te=!0;else{if(X===0&&(he=me),te){const oe=4*X;A[oe]=me-he,A[oe+1]=re,A[oe+2]=Y,A[oe+3]=de}X++}}return this._tokenCount=X,he}split(x,K,T,W){const A=this._tokens,U=this._tokenCount,X=[],te=[];let he=X,_e=0,ge=0;for(let me=0;me<U;me++){const re=4*me,Y=A[re],de=A[re+1],oe=A[re+2],J=A[re+3];if(Y>x||Y===x&&oe>=K){if(Y<T||Y===T&&de<=W)continue;he!==te&&(he=te,_e=0,ge=Y)}he[_e++]=Y-ge,he[_e++]=de,he[_e++]=oe,he[_e++]=J}return[new q(new Uint32Array(X)),new q(new Uint32Array(te)),ge]}acceptDeleteRange(x,K,T,W,A){const U=this._tokens,X=this._tokenCount,te=W-K;let he=0,_e=!1;for(let ge=0;ge<X;ge++){const me=4*ge;let re=U[me],Y=U[me+1],de=U[me+2];const oe=U[me+3];if(re<K||re===K&&de<=T){he++;continue}else if(re===K&&Y<T)re===W&&de>A?de-=A-T:de=T;else if(re===K&&Y===T)if(re===W&&de>A)de-=A-T;else{_e=!0;continue}else if(re<W||re===W&&Y<A)if(re===W&&de>A)re===K?(Y=T,de=Y+(de-A)):(Y=0,de=Y+(de-A));else{_e=!0;continue}else if(re>W){if(te===0&&!_e){he=X;break}re-=te}else if(re===W&&Y>=A)x&&re===0&&(Y+=x,de+=x),re-=te,Y-=A-T,de-=A-T;else throw new Error("Not possible!");const J=4*he;U[J]=re,U[J+1]=Y,U[J+2]=de,U[J+3]=oe,he++}this._tokenCount=he}acceptInsertText(x,K,T,W,A,U){const X=T===0&&W===1&&(U>=48&&U<=57||U>=65&&U<=90||U>=97&&U<=122),te=this._tokens,he=this._tokenCount;for(let _e=0;_e<he;_e++){const ge=4*_e;let me=te[ge],re=te[ge+1],Y=te[ge+2];if(!(me<x||me===x&&Y<K)){if(me===x&&Y===K)if(X)Y+=1;else continue;else if(me===x&&re<K&&K<Y)T===0?Y+=W:Y=K;else{if(me===x&&re===K&&X)continue;if(me===x)if(me+=T,T===0)re+=W,Y+=W;else{const de=Y-re;re=A+(re-K),Y=re+de}else me+=T}te[ge]=me,te[ge+1]=re,te[ge+2]=Y}}}}class z{constructor(x){this._tokens=x}getCount(){return this._tokens.length/4}getStartCharacter(x){return this._tokens[4*x+1]}getEndCharacter(x){return this._tokens[4*x+2]}getMetadata(x){return this._tokens[4*x+3]}}var y=m(45440),C=function(D,x,K,T){var W=arguments.length,A=W<3?x:T===null?T=Object.getOwnPropertyDescriptor(x,K):T,U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")A=Reflect.decorate(D,x,K,T);else for(var X=D.length-1;X>=0;X--)(U=D[X])&&(A=(W<3?U(A):W>3?U(x,K,A):U(x,K))||A);return W>3&&A&&Object.defineProperty(x,K,A),A},L=function(D,x){return function(K,T){x(K,T,D)}};let b=class{constructor(x,K,T,W){this._legend=x,this._themeService=K,this._languageService=T,this._logService=W,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new E}getMetadata(x,K,T){const W=this._languageService.languageIdCodec.encodeLanguageId(T),A=this._hashTable.get(x,K,W);let U;if(A)U=A.metadata,this._logService.getLevel()===ie.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${x} / ${K}: foreground ${k.N.getForeground(U)}, fontStyle ${k.N.getFontStyle(U).toString(2)}`);else{let X=this._legend.tokenTypes[x];const te=[];if(X){let he=K;for(let ge=0;he>0&&ge<this._legend.tokenModifiers.length;ge++)he&1&&te.push(this._legend.tokenModifiers[ge]),he=he>>1;he>0&&this._logService.getLevel()===ie.in.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${K.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),te.push("not-in-legend"));const _e=this._themeService.getColorTheme().getTokenStyleMetadata(X,te,T);if(typeof _e>"u")U=2147483647;else{if(U=0,typeof _e.italic<"u"){const ge=(_e.italic?1:0)<<11;U|=ge|1}if(typeof _e.bold<"u"){const ge=(_e.bold?2:0)<<11;U|=ge|2}if(typeof _e.underline<"u"){const ge=(_e.underline?4:0)<<11;U|=ge|4}if(typeof _e.strikethrough<"u"){const ge=(_e.strikethrough?8:0)<<11;U|=ge|8}if(_e.foreground){const ge=_e.foreground<<15;U|=ge|16}U===0&&(U=2147483647)}}else this._logService.getLevel()===ie.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${x} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),U=2147483647,X="not-in-legend";this._hashTable.add(x,K,W,U),this._logService.getLevel()===ie.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${x} (${X}) / ${K} (${te.join(" ")}): foreground ${k.N.getForeground(U)}, fontStyle ${k.N.getFontStyle(U).toString(2)}`)}return U}warnOverlappingSemanticTokens(x,K){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${x}, column ${K}`))}warnInvalidLengthSemanticTokens(x,K){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,console.warn(`Semantic token with invalid length detected at lineNumber ${x}, column ${K}`))}warnInvalidEditStart(x,K,T,W,A){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,console.warn(`Invalid semantic tokens edit detected (previousResultId: ${x}, resultId: ${K}) at edit #${T}: The provided start offset ${W} is outside the previous data (length ${A}).`))}};b=C([L(1,u.XE),L(2,y.O),L(3,ie.VZ)],b);function d(D,x,K){const T=D.data,W=D.data.length/5|0,A=Math.max(Math.ceil(W/1024),400),U=[];let X=0,te=1,he=0;for(;X<W;){const _e=X;let ge=Math.min(_e+A,W);if(ge<W){let $=ge;for(;$-1>_e&&T[5*$]===0;)$--;if($-1===_e){let ue=ge;for(;ue+1<W&&T[5*ue]===0;)ue++;ge=ue}else ge=$}let me=new Uint32Array((ge-_e)*4),re=0,Y=0,de=0,oe=0;for(;X<ge;){const $=5*X,ue=T[$],ve=T[$+1],xe=te+ue|0,O=ue===0?he+ve|0:ve,rt=T[$+2],ct=O+rt|0,Ve=T[$+3],$e=T[$+4];if(ct<=O)x.warnInvalidLengthSemanticTokens(xe,O+1);else if(de===xe&&oe>O)x.warnOverlappingSemanticTokens(xe,O+1);else{const Ee=x.getMetadata(Ve,$e,K);Ee!==2147483647&&(Y===0&&(Y=xe),me[re]=xe-Y,me[re+1]=O,me[re+2]=ct,me[re+3]=Ee,re+=4,de=xe,oe=ct)}te=xe,he=O,X++}re!==me.length&&(me=me.subarray(0,re));const J=Z.create(Y,me);U.push(J)}return U}class S{constructor(x,K,T,W){this.tokenTypeIndex=x,this.tokenModifierSet=K,this.languageId=T,this.metadata=W,this.next=null}}class E{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=E._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<E._SIZES.length?2/3*this._currentLength:0),this._elements=[],E._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(x,K){for(let T=0;T<K;T++)x[T]=null}_hash2(x,K){return(x<<5)-x+K|0}_hashFunc(x,K,T){return this._hash2(this._hash2(x,K),T)%this._currentLength}get(x,K,T){const W=this._hashFunc(x,K,T);let A=this._elements[W];for(;A;){if(A.tokenTypeIndex===x&&A.tokenModifierSet===K&&A.languageId===T)return A;A=A.next}return null}add(x,K,T,W){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){const A=this._elements;this._currentLengthIndex++,this._currentLength=E._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<E._SIZES.length?2/3*this._currentLength:0),this._elements=[],E._nullOutEntries(this._elements,this._currentLength);for(const U of A){let X=U;for(;X;){const te=X.next;X.next=null,this._add(X),X=te}}}this._add(new S(x,K,T,W))}_add(x){const K=this._hashFunc(x.tokenTypeIndex,x.tokenModifierSet,x.languageId);x.next=this._elements[K],this._elements[K]=x}}E._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]},12944:(At,Be,m)=>{m.d(Be,{V:()=>u,y:()=>ie});var k=m(41846);const u=(0,k.yh)("textResourceConfigurationService"),ie=(0,k.yh)("textResourcePropertiesService")},9550:(At,Be,m)=>{m.d(Be,{a:()=>ne});var k=m(62685),u=m(73774),ie=m(34504),Q=m(4626),N=m(44005);class ne{static computeUnicodeHighlights(C,L,b){const d=b?b.startLineNumber:1,S=b?b.endLineNumber:C.getLineCount(),E=new q(L),D=E.getCandidateCodePoints();let x;D==="allNonBasicAscii"?x=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):x=new RegExp(`${Z(Array.from(D))}`,"g");const K=new u.sz(null,x),T=[];let W=!1,A,U=0,X=0,te=0;e:for(let he=d,_e=S;he<=_e;he++){const ge=C.getLineContent(he),me=ge.length;K.reset(0);do if(A=K.next(ge),A){let re=A.index,Y=A.index+A[0].length;if(re>0){const $=ge.charCodeAt(re-1);ie.ZG($)&&re--}if(Y+1<me){const $=ge.charCodeAt(Y-1);ie.ZG($)&&Y++}const de=ge.substring(re,Y),oe=(0,N.t2)(re+1,N.Af,ge,0),J=E.shouldHighlightNonBasicASCII(de,oe?oe.word:null);if(J!==0){J===3?U++:J===2?X++:J===1?te++:(0,Q.vE)(J);const $=1e3;if(T.length>=$){W=!0;break e}T.push(new k.e(he,re+1,he,Y+1))}}while(A)}return{ranges:T,hasMore:W,ambiguousCharacterCount:U,invisibleCharacterCount:X,nonBasicAsciiCharacterCount:te}}static computeUnicodeHighlightReason(C,L){const b=new q(L);switch(b.shouldHighlightNonBasicASCII(C,null)){case 0:return null;case 2:return{kind:1};case 3:{const S=C.codePointAt(0),E=b.ambiguousCharacters.getPrimaryConfusable(S),D=ie.ZK.getLocales().filter(x=>!ie.ZK.getInstance(new Set([...L.allowedLocales,x])).isAmbiguous(S));return{kind:0,confusableWith:String.fromCodePoint(E),notAmbiguousInLocales:D}}case 1:return{kind:2}}}}function Z(y,C){return`[${ie.ec(y.map(b=>String.fromCodePoint(b)).join(""))}]`}class q{constructor(C){this.options=C,this.allowedCodePoints=new Set(C.allowedCodePoints),this.ambiguousCharacters=ie.ZK.getInstance(new Set(C.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const C=new Set;if(this.options.invisibleCharacters)for(const L of ie.vU.codePoints)z(String.fromCodePoint(L))||C.add(L);if(this.options.ambiguousCharacters)for(const L of this.ambiguousCharacters.getConfusableCodePoints())C.add(L);for(const L of this.allowedCodePoints)C.delete(L);return C}shouldHighlightNonBasicASCII(C,L){const b=C.codePointAt(0);if(this.allowedCodePoints.has(b))return 0;if(this.options.nonBasicASCII)return 1;let d=!1,S=!1;if(L)for(const E of L){const D=E.codePointAt(0),x=ie.$i(E);d=d||x,!x&&!this.ambiguousCharacters.isAmbiguous(D)&&!ie.vU.isInvisibleCharacter(D)&&(S=!0)}return!d&&S?0:this.options.invisibleCharacters&&!z(C)&&ie.vU.isInvisibleCharacter(b)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(b)?3:0}}function z(y){return y===" "||y===` `||y===" "}},22382:(At,Be,m)=>{m.d(Be,{E$:()=>X,F5:()=>A,Ij:()=>ne,In:()=>$,Lu:()=>_e,MG:()=>U,MY:()=>y,OI:()=>ve,RM:()=>E,VD:()=>K,Vi:()=>q,WW:()=>de,ZL:()=>T,_x:()=>z,a$:()=>Y,a7:()=>ie,ao:()=>k,bw:()=>x,cR:()=>oe,cm:()=>Q,d2:()=>ue,eB:()=>W,g4:()=>me,g_:()=>re,gl:()=>D,gm:()=>b,jl:()=>d,np:()=>u,py:()=>he,r3:()=>Z,r4:()=>J,rf:()=>C,sh:()=>te,up:()=>xe,vQ:()=>ge,wT:()=>L,wU:()=>S,we:()=>N});var k;(function(O){O[O.Unknown=0]="Unknown",O[O.Disabled=1]="Disabled",O[O.Enabled=2]="Enabled"})(k||(k={}));var u;(function(O){O[O.Invoke=1]="Invoke",O[O.Auto=2]="Auto"})(u||(u={}));var ie;(function(O){O[O.KeepWhitespace=1]="KeepWhitespace",O[O.InsertAsSnippet=4]="InsertAsSnippet"})(ie||(ie={}));var Q;(function(O){O[O.Method=0]="Method",O[O.Function=1]="Function",O[O.Constructor=2]="Constructor",O[O.Field=3]="Field",O[O.Variable=4]="Variable",O[O.Class=5]="Class",O[O.Struct=6]="Struct",O[O.Interface=7]="Interface",O[O.Module=8]="Module",O[O.Property=9]="Property",O[O.Event=10]="Event",O[O.Operator=11]="Operator",O[O.Unit=12]="Unit",O[O.Value=13]="Value",O[O.Constant=14]="Constant",O[O.Enum=15]="Enum",O[O.EnumMember=16]="EnumMember",O[O.Keyword=17]="Keyword",O[O.Text=18]="Text",O[O.Color=19]="Color",O[O.File=20]="File",O[O.Reference=21]="Reference",O[O.Customcolor=22]="Customcolor",O[O.Folder=23]="Folder",O[O.TypeParameter=24]="TypeParameter",O[O.User=25]="User",O[O.Issue=26]="Issue",O[O.Snippet=27]="Snippet"})(Q||(Q={}));var N;(function(O){O[O.Deprecated=1]="Deprecated"})(N||(N={}));var ne;(function(O){O[O.Invoke=0]="Invoke",O[O.TriggerCharacter=1]="TriggerCharacter",O[O.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(ne||(ne={}));var Z;(function(O){O[O.EXACT=0]="EXACT",O[O.ABOVE=1]="ABOVE",O[O.BELOW=2]="BELOW"})(Z||(Z={}));var q;(function(O){O[O.NotSet=0]="NotSet",O[O.ContentFlush=1]="ContentFlush",O[O.RecoverFromMarkers=2]="RecoverFromMarkers",O[O.Explicit=3]="Explicit",O[O.Paste=4]="Paste",O[O.Undo=5]="Undo",O[O.Redo=6]="Redo"})(q||(q={}));var z;(function(O){O[O.LF=1]="LF",O[O.CRLF=2]="CRLF"})(z||(z={}));var y;(function(O){O[O.Text=0]="Text",O[O.Read=1]="Read",O[O.Write=2]="Write"})(y||(y={}));var C;(function(O){O[O.None=0]="None",O[O.Keep=1]="Keep",O[O.Brackets=2]="Brackets",O[O.Advanced=3]="Advanced",O[O.Full=4]="Full"})(C||(C={}));var L;(function(O){O[O.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",O[O.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",O[O.accessibilitySupport=2]="accessibilitySupport",O[O.accessibilityPageSize=3]="accessibilityPageSize",O[O.ariaLabel=4]="ariaLabel",O[O.autoClosingBrackets=5]="autoClosingBrackets",O[O.autoClosingDelete=6]="autoClosingDelete",O[O.autoClosingOvertype=7]="autoClosingOvertype",O[O.autoClosingQuotes=8]="autoClosingQuotes",O[O.autoIndent=9]="autoIndent",O[O.automaticLayout=10]="automaticLayout",O[O.autoSurround=11]="autoSurround",O[O.bracketPairColorization=12]="bracketPairColorization",O[O.guides=13]="guides",O[O.codeLens=14]="codeLens",O[O.codeLensFontFamily=15]="codeLensFontFamily",O[O.codeLensFontSize=16]="codeLensFontSize",O[O.colorDecorators=17]="colorDecorators",O[O.columnSelection=18]="columnSelection",O[O.comments=19]="comments",O[O.contextmenu=20]="contextmenu",O[O.copyWithSyntaxHighlighting=21]="copyWithSyntaxHighlighting",O[O.cursorBlinking=22]="cursorBlinking",O[O.cursorSmoothCaretAnimation=23]="cursorSmoothCaretAnimation",O[O.cursorStyle=24]="cursorStyle",O[O.cursorSurroundingLines=25]="cursorSurroundingLines",O[O.cursorSurroundingLinesStyle=26]="cursorSurroundingLinesStyle",O[O.cursorWidth=27]="cursorWidth",O[O.disableLayerHinting=28]="disableLayerHinting",O[O.disableMonospaceOptimizations=29]="disableMonospaceOptimizations",O[O.domReadOnly=30]="domReadOnly",O[O.dragAndDrop=31]="dragAndDrop",O[O.dropIntoEditor=32]="dropIntoEditor",O[O.emptySelectionClipboard=33]="emptySelectionClipboard",O[O.experimental=34]="experimental",O[O.extraEditorClassName=35]="extraEditorClassName",O[O.fastScrollSensitivity=36]="fastScrollSensitivity",O[O.find=37]="find",O[O.fixedOverflowWidgets=38]="fixedOverflowWidgets",O[O.folding=39]="folding",O[O.foldingStrategy=40]="foldingStrategy",O[O.foldingHighlight=41]="foldingHighlight",O[O.foldingImportsByDefault=42]="foldingImportsByDefault",O[O.foldingMaximumRegions=43]="foldingMaximumRegions",O[O.unfoldOnClickAfterEndOfLine=44]="unfoldOnClickAfterEndOfLine",O[O.fontFamily=45]="fontFamily",O[O.fontInfo=46]="fontInfo",O[O.fontLigatures=47]="fontLigatures",O[O.fontSize=48]="fontSize",O[O.fontWeight=49]="fontWeight",O[O.formatOnPaste=50]="formatOnPaste",O[O.formatOnType=51]="formatOnType",O[O.glyphMargin=52]="glyphMargin",O[O.gotoLocation=53]="gotoLocation",O[O.hideCursorInOverviewRuler=54]="hideCursorInOverviewRuler",O[O.hover=55]="hover",O[O.inDiffEditor=56]="inDiffEditor",O[O.inlineSuggest=57]="inlineSuggest",O[O.letterSpacing=58]="letterSpacing",O[O.lightbulb=59]="lightbulb",O[O.lineDecorationsWidth=60]="lineDecorationsWidth",O[O.lineHeight=61]="lineHeight",O[O.lineNumbers=62]="lineNumbers",O[O.lineNumbersMinChars=63]="lineNumbersMinChars",O[O.linkedEditing=64]="linkedEditing",O[O.links=65]="links",O[O.matchBrackets=66]="matchBrackets",O[O.minimap=67]="minimap",O[O.mouseStyle=68]="mouseStyle",O[O.mouseWheelScrollSensitivity=69]="mouseWheelScrollSensitivity",O[O.mouseWheelZoom=70]="mouseWheelZoom",O[O.multiCursorMergeOverlapping=71]="multiCursorMergeOverlapping",O[O.multiCursorModifier=72]="multiCursorModifier",O[O.multiCursorPaste=73]="multiCursorPaste",O[O.occurrencesHighlight=74]="occurrencesHighlight",O[O.overviewRulerBorder=75]="overviewRulerBorder",O[O.overviewRulerLanes=76]="overviewRulerLanes",O[O.padding=77]="padding",O[O.parameterHints=78]="parameterHints",O[O.peekWidgetDefaultFocus=79]="peekWidgetDefaultFocus",O[O.definitionLinkOpensInPeek=80]="definitionLinkOpensInPeek",O[O.quickSuggestions=81]="quickSuggestions",O[O.quickSuggestionsDelay=82]="quickSuggestionsDelay",O[O.readOnly=83]="readOnly",O[O.renameOnType=84]="renameOnType",O[O.renderControlCharacters=85]="renderControlCharacters",O[O.renderFinalNewline=86]="renderFinalNewline",O[O.renderLineHighlight=87]="renderLineHighlight",O[O.renderLineHighlightOnlyWhenFocus=88]="renderLineHighlightOnlyWhenFocus",O[O.renderValidationDecorations=89]="renderValidationDecorations",O[O.renderWhitespace=90]="renderWhitespace",O[O.revealHorizontalRightPadding=91]="revealHorizontalRightPadding",O[O.roundedSelection=92]="roundedSelection",O[O.rulers=93]="rulers",O[O.scrollbar=94]="scrollbar",O[O.scrollBeyondLastColumn=95]="scrollBeyondLastColumn",O[O.scrollBeyondLastLine=96]="scrollBeyondLastLine",O[O.scrollPredominantAxis=97]="scrollPredominantAxis",O[O.selectionClipboard=98]="selectionClipboard",O[O.selectionHighlight=99]="selectionHighlight",O[O.selectOnLineNumbers=100]="selectOnLineNumbers",O[O.showFoldingControls=101]="showFoldingControls",O[O.showUnused=102]="showUnused",O[O.snippetSuggestions=103]="snippetSuggestions",O[O.smartSelect=104]="smartSelect",O[O.smoothScrolling=105]="smoothScrolling",O[O.stickyTabStops=106]="stickyTabStops",O[O.stopRenderingLineAfter=107]="stopRenderingLineAfter",O[O.suggest=108]="suggest",O[O.suggestFontSize=109]="suggestFontSize",O[O.suggestLineHeight=110]="suggestLineHeight",O[O.suggestOnTriggerCharacters=111]="suggestOnTriggerCharacters",O[O.suggestSelection=112]="suggestSelection",O[O.tabCompletion=113]="tabCompletion",O[O.tabIndex=114]="tabIndex",O[O.unicodeHighlighting=115]="unicodeHighlighting",O[O.unusualLineTerminators=116]="unusualLineTerminators",O[O.useShadowDOM=117]="useShadowDOM",O[O.useTabStops=118]="useTabStops",O[O.wordSeparators=119]="wordSeparators",O[O.wordWrap=120]="wordWrap",O[O.wordWrapBreakAfterCharacters=121]="wordWrapBreakAfterCharacters",O[O.wordWrapBreakBeforeCharacters=122]="wordWrapBreakBeforeCharacters",O[O.wordWrapColumn=123]="wordWrapColumn",O[O.wordWrapOverride1=124]="wordWrapOverride1",O[O.wordWrapOverride2=125]="wordWrapOverride2",O[O.wrappingIndent=126]="wrappingIndent",O[O.wrappingStrategy=127]="wrappingStrategy",O[O.showDeprecated=128]="showDeprecated",O[O.inlayHints=129]="inlayHints",O[O.editorClassName=130]="editorClassName",O[O.pixelRatio=131]="pixelRatio",O[O.tabFocusMode=132]="tabFocusMode",O[O.layoutInfo=133]="layoutInfo",O[O.wrappingInfo=134]="wrappingInfo"})(L||(L={}));var b;(function(O){O[O.TextDefined=0]="TextDefined",O[O.LF=1]="LF",O[O.CRLF=2]="CRLF"})(b||(b={}));var d;(function(O){O[O.LF=0]="LF",O[O.CRLF=1]="CRLF"})(d||(d={}));var S;(function(O){O[O.None=0]="None",O[O.Indent=1]="Indent",O[O.IndentOutdent=2]="IndentOutdent",O[O.Outdent=3]="Outdent"})(S||(S={}));var E;(function(O){O[O.Both=0]="Both",O[O.Right=1]="Right",O[O.Left=2]="Left",O[O.None=3]="None"})(E||(E={}));var D;(function(O){O[O.Type=1]="Type",O[O.Parameter=2]="Parameter"})(D||(D={}));var x;(function(O){O[O.Automatic=0]="Automatic",O[O.Explicit=1]="Explicit"})(x||(x={}));var K;(function(O){O[O.DependsOnKbLayout=-1]="DependsOnKbLayout",O[O.Unknown=0]="Unknown",O[O.Backspace=1]="Backspace",O[O.Tab=2]="Tab",O[O.Enter=3]="Enter",O[O.Shift=4]="Shift",O[O.Ctrl=5]="Ctrl",O[O.Alt=6]="Alt",O[O.PauseBreak=7]="PauseBreak",O[O.CapsLock=8]="CapsLock",O[O.Escape=9]="Escape",O[O.Space=10]="Space",O[O.PageUp=11]="PageUp",O[O.PageDown=12]="PageDown",O[O.End=13]="End",O[O.Home=14]="Home",O[O.LeftArrow=15]="LeftArrow",O[O.UpArrow=16]="UpArrow",O[O.RightArrow=17]="RightArrow",O[O.DownArrow=18]="DownArrow",O[O.Insert=19]="Insert",O[O.Delete=20]="Delete",O[O.Digit0=21]="Digit0",O[O.Digit1=22]="Digit1",O[O.Digit2=23]="Digit2",O[O.Digit3=24]="Digit3",O[O.Digit4=25]="Digit4",O[O.Digit5=26]="Digit5",O[O.Digit6=27]="Digit6",O[O.Digit7=28]="Digit7",O[O.Digit8=29]="Digit8",O[O.Digit9=30]="Digit9",O[O.KeyA=31]="KeyA",O[O.KeyB=32]="KeyB",O[O.KeyC=33]="KeyC",O[O.KeyD=34]="KeyD",O[O.KeyE=35]="KeyE",O[O.KeyF=36]="KeyF",O[O.KeyG=37]="KeyG",O[O.KeyH=38]="KeyH",O[O.KeyI=39]="KeyI",O[O.KeyJ=40]="KeyJ",O[O.KeyK=41]="KeyK",O[O.KeyL=42]="KeyL",O[O.KeyM=43]="KeyM",O[O.KeyN=44]="KeyN",O[O.KeyO=45]="KeyO",O[O.KeyP=46]="KeyP",O[O.KeyQ=47]="KeyQ",O[O.KeyR=48]="KeyR",O[O.KeyS=49]="KeyS",O[O.KeyT=50]="KeyT",O[O.KeyU=51]="KeyU",O[O.KeyV=52]="KeyV",O[O.KeyW=53]="KeyW",O[O.KeyX=54]="KeyX",O[O.KeyY=55]="KeyY",O[O.KeyZ=56]="KeyZ",O[O.Meta=57]="Meta",O[O.ContextMenu=58]="ContextMenu",O[O.F1=59]="F1",O[O.F2=60]="F2",O[O.F3=61]="F3",O[O.F4=62]="F4",O[O.F5=63]="F5",O[O.F6=64]="F6",O[O.F7=65]="F7",O[O.F8=66]="F8",O[O.F9=67]="F9",O[O.F10=68]="F10",O[O.F11=69]="F11",O[O.F12=70]="F12",O[O.F13=71]="F13",O[O.F14=72]="F14",O[O.F15=73]="F15",O[O.F16=74]="F16",O[O.F17=75]="F17",O[O.F18=76]="F18",O[O.F19=77]="F19",O[O.NumLock=78]="NumLock",O[O.ScrollLock=79]="ScrollLock",O[O.Semicolon=80]="Semicolon",O[O.Equal=81]="Equal",O[O.Comma=82]="Comma",O[O.Minus=83]="Minus",O[O.Period=84]="Period",O[O.Slash=85]="Slash",O[O.Backquote=86]="Backquote",O[O.BracketLeft=87]="BracketLeft",O[O.Backslash=88]="Backslash",O[O.BracketRight=89]="BracketRight",O[O.Quote=90]="Quote",O[O.OEM_8=91]="OEM_8",O[O.IntlBackslash=92]="IntlBackslash",O[O.Numpad0=93]="Numpad0",O[O.Numpad1=94]="Numpad1",O[O.Numpad2=95]="Numpad2",O[O.Numpad3=96]="Numpad3",O[O.Numpad4=97]="Numpad4",O[O.Numpad5=98]="Numpad5",O[O.Numpad6=99]="Numpad6",O[O.Numpad7=100]="Numpad7",O[O.Numpad8=101]="Numpad8",O[O.Numpad9=102]="Numpad9",O[O.NumpadMultiply=103]="NumpadMultiply",O[O.NumpadAdd=104]="NumpadAdd",O[O.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",O[O.NumpadSubtract=106]="NumpadSubtract",O[O.NumpadDecimal=107]="NumpadDecimal",O[O.NumpadDivide=108]="NumpadDivide",O[O.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",O[O.ABNT_C1=110]="ABNT_C1",O[O.ABNT_C2=111]="ABNT_C2",O[O.AudioVolumeMute=112]="AudioVolumeMute",O[O.AudioVolumeUp=113]="AudioVolumeUp",O[O.AudioVolumeDown=114]="AudioVolumeDown",O[O.BrowserSearch=115]="BrowserSearch",O[O.BrowserHome=116]="BrowserHome",O[O.BrowserBack=117]="BrowserBack",O[O.BrowserForward=118]="BrowserForward",O[O.MediaTrackNext=119]="MediaTrackNext",O[O.MediaTrackPrevious=120]="MediaTrackPrevious",O[O.MediaStop=121]="MediaStop",O[O.MediaPlayPause=122]="MediaPlayPause",O[O.LaunchMediaPlayer=123]="LaunchMediaPlayer",O[O.LaunchMail=124]="LaunchMail",O[O.LaunchApp2=125]="LaunchApp2",O[O.Clear=126]="Clear",O[O.MAX_VALUE=127]="MAX_VALUE"})(K||(K={}));var T;(function(O){O[O.Hint=1]="Hint",O[O.Info=2]="Info",O[O.Warning=4]="Warning",O[O.Error=8]="Error"})(T||(T={}));var W;(function(O){O[O.Unnecessary=1]="Unnecessary",O[O.Deprecated=2]="Deprecated"})(W||(W={}));var A;(function(O){O[O.Inline=1]="Inline",O[O.Gutter=2]="Gutter"})(A||(A={}));var U;(function(O){O[O.UNKNOWN=0]="UNKNOWN",O[O.TEXTAREA=1]="TEXTAREA",O[O.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",O[O.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",O[O.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",O[O.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",O[O.CONTENT_TEXT=6]="CONTENT_TEXT",O[O.CONTENT_EMPTY=7]="CONTENT_EMPTY",O[O.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",O[O.CONTENT_WIDGET=9]="CONTENT_WIDGET",O[O.OVERVIEW_RULER=10]="OVERVIEW_RULER",O[O.SCROLLBAR=11]="SCROLLBAR",O[O.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",O[O.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(U||(U={}));var X;(function(O){O[O.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",O[O.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",O[O.TOP_CENTER=2]="TOP_CENTER"})(X||(X={}));var te;(function(O){O[O.Left=1]="Left",O[O.Center=2]="Center",O[O.Right=4]="Right",O[O.Full=7]="Full"})(te||(te={}));var he;(function(O){O[O.Left=0]="Left",O[O.Right=1]="Right",O[O.None=2]="None",O[O.LeftOfInjectedText=3]="LeftOfInjectedText",O[O.RightOfInjectedText=4]="RightOfInjectedText"})(he||(he={}));var _e;(function(O){O[O.Off=0]="Off",O[O.On=1]="On",O[O.Relative=2]="Relative",O[O.Interval=3]="Interval",O[O.Custom=4]="Custom"})(_e||(_e={}));var ge;(function(O){O[O.None=0]="None",O[O.Text=1]="Text",O[O.Blocks=2]="Blocks"})(ge||(ge={}));var me;(function(O){O[O.Smooth=0]="Smooth",O[O.Immediate=1]="Immediate"})(me||(me={}));var re;(function(O){O[O.Auto=1]="Auto",O[O.Hidden=2]="Hidden",O[O.Visible=3]="Visible"})(re||(re={}));var Y;(function(O){O[O.LTR=0]="LTR",O[O.RTL=1]="RTL"})(Y||(Y={}));var de;(function(O){O[O.Invoke=1]="Invoke",O[O.TriggerCharacter=2]="TriggerCharacter",O[O.ContentChange=3]="ContentChange"})(de||(de={}));var oe;(function(O){O[O.File=0]="File",O[O.Module=1]="Module",O[O.Namespace=2]="Namespace",O[O.Package=3]="Package",O[O.Class=4]="Class",O[O.Method=5]="Method",O[O.Property=6]="Property",O[O.Field=7]="Field",O[O.Constructor=8]="Constructor",O[O.Enum=9]="Enum",O[O.Interface=10]="Interface",O[O.Function=11]="Function",O[O.Variable=12]="Variable",O[O.Constant=13]="Constant",O[O.String=14]="String",O[O.Number=15]="Number",O[O.Boolean=16]="Boolean",O[O.Array=17]="Array",O[O.Object=18]="Object",O[O.Key=19]="Key",O[O.Null=20]="Null",O[O.EnumMember=21]="EnumMember",O[O.Struct=22]="Struct",O[O.Event=23]="Event",O[O.Operator=24]="Operator",O[O.TypeParameter=25]="TypeParameter"})(oe||(oe={}));var J;(function(O){O[O.Deprecated=1]="Deprecated"})(J||(J={}));var $;(function(O){O[O.Hidden=0]="Hidden",O[O.Blink=1]="Blink",O[O.Smooth=2]="Smooth",O[O.Phase=3]="Phase",O[O.Expand=4]="Expand",O[O.Solid=5]="Solid"})($||($={}));var ue;(function(O){O[O.Line=1]="Line",O[O.Block=2]="Block",O[O.Underline=3]="Underline",O[O.LineThin=4]="LineThin",O[O.BlockOutline=5]="BlockOutline",O[O.UnderlineThin=6]="UnderlineThin"})(ue||(ue={}));var ve;(function(O){O[O.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",O[O.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",O[O.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",O[O.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(ve||(ve={}));var xe;(function(O){O[O.None=0]="None",O[O.Same=1]="Same",O[O.Indent=2]="Indent",O[O.DeepIndent=3]="DeepIndent"})(xe||(xe={}))},24881:(At,Be,m)=>{m.d(Be,{B8:()=>q,Oe:()=>u,UX:()=>ne,aq:()=>Z,iN:()=>y,ld:()=>N,qq:()=>Q,ug:()=>ie,xi:()=>z});var k=m(88631),u;(function(C){C.noSelection=k.NC("noSelection","No selection"),C.singleSelectionRange=k.NC("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),C.singleSelection=k.NC("singleSelection","Line {0}, Column {1}"),C.multiSelectionRange=k.NC("multiSelectionRange","{0} selections ({1} characters selected)"),C.multiSelection=k.NC("multiSelection","{0} selections"),C.emergencyConfOn=k.NC("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),C.openingDocs=k.NC("openingDocs","Now opening the Editor Accessibility documentation page."),C.readonlyDiffEditor=k.NC("readonlyDiffEditor"," in a read-only pane of a diff editor."),C.editableDiffEditor=k.NC("editableDiffEditor"," in a pane of a diff editor."),C.readonlyEditor=k.NC("readonlyEditor"," in a read-only code editor"),C.editableEditor=k.NC("editableEditor"," in a code editor"),C.changeConfigToOnMac=k.NC("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),C.changeConfigToOnWinLinux=k.NC("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),C.auto_on=k.NC("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),C.auto_off=k.NC("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),C.tabFocusModeOnMsg=k.NC("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),C.tabFocusModeOnMsgNoKb=k.NC("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),C.tabFocusModeOffMsg=k.NC("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),C.tabFocusModeOffMsgNoKb=k.NC("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),C.openDocMac=k.NC("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),C.openDocWinLinux=k.NC("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),C.outroMsg=k.NC("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),C.showAccessibilityHelpAction=k.NC("showAccessibilityHelpAction","Show Accessibility Help")})(u||(u={}));var ie;(function(C){C.inspectTokensAction=k.NC("inspectTokens","Developer: Inspect Tokens")})(ie||(ie={}));var Q;(function(C){C.gotoLineActionLabel=k.NC("gotoLineActionLabel","Go to Line/Column...")})(Q||(Q={}));var N;(function(C){C.helpQuickAccessActionLabel=k.NC("helpQuickAccess","Show all Quick Access Providers")})(N||(N={}));var ne;(function(C){C.quickCommandActionLabel=k.NC("quickCommandActionLabel","Command Palette"),C.quickCommandHelp=k.NC("quickCommandActionHelp","Show And Run Commands")})(ne||(ne={}));var Z;(function(C){C.quickOutlineActionLabel=k.NC("quickOutlineActionLabel","Go to Symbol..."),C.quickOutlineByCategoryActionLabel=k.NC("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(Z||(Z={}));var q;(function(C){C.editorViewAccessibleLabel=k.NC("editorViewAccessibleLabel","Editor content"),C.accessibilityHelpMessage=k.NC("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")})(q||(q={}));var z;(function(C){C.toggleHighContrast=k.NC("toggleHighContrast","Toggle High Contrast Theme")})(z||(z={}));var y;(function(C){C.bulkEditServiceSummary=k.NC("bulkEditServiceSummary","Made {0} edits in {1} files")})(y||(y={}))},54910:(At,Be,m)=>{m.d(Be,{CZ:()=>ne,D8:()=>q,Jx:()=>k,Tx:()=>N,dQ:()=>Z,fV:()=>z,gk:()=>u,lN:()=>Q,rU:()=>ie});class k{constructor(){this.changeType=1}}class u{constructor(C,L,b,d,S){this.ownerId=C,this.lineNumber=L,this.column=b,this.options=d,this.order=S}static applyInjectedText(C,L){if(!L||L.length===0)return C;let b="",d=0;for(const S of L)b+=C.substring(d,S.column-1),d=S.column-1,b+=S.options.content;return b+=C.substring(d),b}static fromDecorations(C){const L=[];for(const b of C)b.options.before&&b.options.before.content.length>0&&L.push(new u(b.ownerId,b.range.startLineNumber,b.range.startColumn,b.options.before,0)),b.options.after&&b.options.after.content.length>0&&L.push(new u(b.ownerId,b.range.endLineNumber,b.range.endColumn,b.options.after,1));return L.sort((b,d)=>b.lineNumber===d.lineNumber?b.column===d.column?b.order-d.order:b.column-d.column:b.lineNumber-d.lineNumber),L}}class ie{constructor(C,L,b){this.changeType=2,this.lineNumber=C,this.detail=L,this.injectedText=b}}class Q{constructor(C,L){this.changeType=3,this.fromLineNumber=C,this.toLineNumber=L}}class N{constructor(C,L,b,d){this.changeType=4,this.injectedTexts=d,this.fromLineNumber=C,this.toLineNumber=L,this.detail=b}}class ne{constructor(){this.changeType=5}}class Z{constructor(C,L,b,d){this.changes=C,this.versionId=L,this.isUndoing=b,this.isRedoing=d,this.resultingSelection=null}containsEvent(C){for(let L=0,b=this.changes.length;L<b;L++)if(this.changes[L].changeType===C)return!0;return!1}static merge(C,L){const b=[].concat(C.changes).concat(L.changes),d=L.versionId,S=C.isUndoing||L.isUndoing,E=C.isRedoing||L.isRedoing;return new Z(b,d,S,E)}}class q{constructor(C){this.changes=C}}class z{constructor(C,L){this.rawContentChangedEvent=C,this.contentChangedEvent=L}merge(C){const L=Z.merge(this.rawContentChangedEvent,C.rawContentChangedEvent),b=z._mergeChangeEvents(this.contentChangedEvent,C.contentChangedEvent);return new z(L,b)}static _mergeChangeEvents(C,L){const b=[].concat(C.changes).concat(L.changes),d=L.eol,S=L.versionId,E=C.isUndoing||L.isUndoing,D=C.isRedoing||L.isRedoing,x=C.isFlush||L.isFlush;return{changes:b,eol:d,versionId:S,isUndoing:E,isRedoing:D,isFlush:x}}}},75628:(At,Be,m)=>{m.d(Be,{UO:()=>u,s6:()=>k,vW:()=>ie});var k;(function(Q){Q[Q.Disabled=0]="Disabled",Q[Q.EnabledForActive=1]="EnabledForActive",Q[Q.Enabled=2]="Enabled"})(k||(k={}));class u{constructor(N,ne,Z,q,z,y){if(this.visibleColumn=N,this.column=ne,this.className=Z,this.horizontalLine=q,this.forWrappedLinesAfterColumn=z,this.forWrappedLinesBeforeOrAtColumn=y,N!==-1==(ne!==-1))throw new Error}}class ie{constructor(N,ne){this.top=N,this.endColumn=ne}}},38684:(At,Be,m)=>{m.d(Be,{A:()=>u});var k=m(23854);class u{constructor(N,ne,Z){this._lineTokensBrand=void 0,this._tokens=N,this._tokensCount=this._tokens.length>>>1,this._text=ne,this._languageIdCodec=Z}static createEmpty(N,ne){const Z=u.defaultTokenMetadata,q=new Uint32Array(2);return q[0]=N.length,q[1]=Z,new u(q,N,ne)}equals(N){return N instanceof u?this.slicedEquals(N,0,this._tokensCount):!1}slicedEquals(N,ne,Z){if(this._text!==N._text||this._tokensCount!==N._tokensCount)return!1;const q=ne<<1,z=q+(Z<<1);for(let y=q;y<z;y++)if(this._tokens[y]!==N._tokens[y])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(N){return N>0?this._tokens[N-1<<1]:0}getMetadata(N){return this._tokens[(N<<1)+1]}getLanguageId(N){const ne=this._tokens[(N<<1)+1],Z=k.N.getLanguageId(ne);return this._languageIdCodec.decodeLanguageId(Z)}getStandardTokenType(N){const ne=this._tokens[(N<<1)+1];return k.N.getTokenType(ne)}getForeground(N){const ne=this._tokens[(N<<1)+1];return k.N.getForeground(ne)}getClassName(N){const ne=this._tokens[(N<<1)+1];return k.N.getClassNameFromMetadata(ne)}getInlineStyle(N,ne){const Z=this._tokens[(N<<1)+1];return k.N.getInlineStyleFromMetadata(Z,ne)}getPresentation(N){const ne=this._tokens[(N<<1)+1];return k.N.getPresentationFromMetadata(ne)}getEndOffset(N){return this._tokens[N<<1]}findTokenIndexAtOffset(N){return u.findIndexInTokensArray(this._tokens,N)}inflate(){return this}sliceAndInflate(N,ne,Z){return new ie(this,N,ne,Z)}static convertToEndOffset(N,ne){const q=(N.length>>>1)-1;for(let z=0;z<q;z++)N[z<<1]=N[z+1<<1];N[q<<1]=ne}static findIndexInTokensArray(N,ne){if(N.length<=2)return 0;let Z=0,q=(N.length>>>1)-1;for(;Z<q;){const z=Z+Math.floor((q-Z)/2),y=N[z<<1];if(y===ne)return z+1;y<ne?Z=z+1:y>ne&&(q=z)}return Z}withInserted(N){if(N.length===0)return this;let ne=0,Z=0,q="";const z=new Array;let y=0;for(;;){const C=ne<this._tokensCount?this._tokens[ne<<1]:-1,L=Z<N.length?N[Z]:null;if(C!==-1&&(L===null||C<=L.offset)){q+=this._text.substring(y,C);const b=this._tokens[(ne<<1)+1];z.push(q.length,b),ne++,y=C}else if(L){if(L.offset>y){q+=this._text.substring(y,L.offset);const b=this._tokens[(ne<<1)+1];z.push(q.length,b),y=L.offset}q+=L.text,z.push(q.length,L.tokenMetadata),Z++}else break}return new u(new Uint32Array(z),q,this._languageIdCodec)}}u.defaultTokenMetadata=(32768|2<<24)>>>0;class ie{constructor(N,ne,Z,q){this._source=N,this._startOffset=ne,this._endOffset=Z,this._deltaOffset=q,this._firstTokenIndex=N.findTokenIndexAtOffset(ne),this._tokensCount=0;for(let z=this._firstTokenIndex,y=N.getCount();z<y&&!(N.getStartOffset(z)>=Z);z++)this._tokensCount++}getMetadata(N){return this._source.getMetadata(this._firstTokenIndex+N)}getLanguageId(N){return this._source.getLanguageId(this._firstTokenIndex+N)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(N){return N instanceof ie?this._startOffset===N._startOffset&&this._endOffset===N._endOffset&&this._deltaOffset===N._deltaOffset&&this._source.slicedEquals(N._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(N){return this._source.getForeground(this._firstTokenIndex+N)}getEndOffset(N){const ne=this._source.getEndOffset(this._firstTokenIndex+N);return Math.min(this._endOffset,ne)-this._startOffset+this._deltaOffset}getClassName(N){return this._source.getClassName(this._firstTokenIndex+N)}getInlineStyle(N,ne){return this._source.getInlineStyle(this._firstTokenIndex+N,ne)}getPresentation(N){return this._source.getPresentation(this._firstTokenIndex+N)}findTokenIndexAtOffset(N){return this._source.findTokenIndexAtOffset(N+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}},92201:(At,Be,m)=>{m.d(Be,{Kp:()=>u,k:()=>N});var k=m(34504);class u{constructor(Z,q,z,y){this.startColumn=Z,this.endColumn=q,this.className=z,this.type=y,this._lineDecorationBrand=void 0}static _equals(Z,q){return Z.startColumn===q.startColumn&&Z.endColumn===q.endColumn&&Z.className===q.className&&Z.type===q.type}static equalsArr(Z,q){const z=Z.length,y=q.length;if(z!==y)return!1;for(let C=0;C<z;C++)if(!u._equals(Z[C],q[C]))return!1;return!0}static extractWrapped(Z,q,z){if(Z.length===0)return Z;const y=q+1,C=z+1,L=z-q,b=[];let d=0;for(const S of Z)S.endColumn<=y||S.startColumn>=C||(b[d++]=new u(Math.max(1,S.startColumn-y+1),Math.min(L+1,S.endColumn-y+1),S.className,S.type));return b}static filter(Z,q,z,y){if(Z.length===0)return[];const C=[];let L=0;for(let b=0,d=Z.length;b<d;b++){const S=Z[b],E=S.range;if(E.endLineNumber<q||E.startLineNumber>q||E.isEmpty()&&(S.type===0||S.type===3))continue;const D=E.startLineNumber===q?E.startColumn:z,x=E.endLineNumber===q?E.endColumn:y;C[L++]=new u(D,x,S.inlineClassName,S.type)}return C}static _typeCompare(Z,q){const z=[2,0,1,3];return z[Z]-z[q]}static compare(Z,q){if(Z.startColumn!==q.startColumn)return Z.startColumn-q.startColumn;if(Z.endColumn!==q.endColumn)return Z.endColumn-q.endColumn;const z=u._typeCompare(Z.type,q.type);return z!==0?z:Z.className!==q.className?Z.className<q.className?-1:1:0}}class ie{constructor(Z,q,z,y){this.startOffset=Z,this.endOffset=q,this.className=z,this.metadata=y}}class Q{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(Z){let q=0;for(let z=0,y=Z.length;z<y;z++)q|=Z[z];return q}consumeLowerThan(Z,q,z){for(;this.count>0&&this.stopOffsets[0]<Z;){let y=0;for(;y+1<this.count&&this.stopOffsets[y]===this.stopOffsets[y+1];)y++;z.push(new ie(q,this.stopOffsets[y],this.classNames.join(" "),Q._metadata(this.metadata))),q=this.stopOffsets[y]+1,this.stopOffsets.splice(0,y+1),this.classNames.splice(0,y+1),this.metadata.splice(0,y+1),this.count-=y+1}return this.count>0&&q<Z&&(z.push(new ie(q,Z-1,this.classNames.join(" "),Q._metadata(this.metadata))),q=Z),q}insert(Z,q,z){if(this.count===0||this.stopOffsets[this.count-1]<=Z)this.stopOffsets.push(Z),this.classNames.push(q),this.metadata.push(z);else for(let y=0;y<this.count;y++)if(this.stopOffsets[y]>=Z){this.stopOffsets.splice(y,0,Z),this.classNames.splice(y,0,q),this.metadata.splice(y,0,z);break}this.count++}}class N{static normalize(Z,q){if(q.length===0)return[];const z=[],y=new Q;let C=0;for(let L=0,b=q.length;L<b;L++){const d=q[L];let S=d.startColumn,E=d.endColumn;const D=d.className,x=d.type===1?2:d.type===2?4:0;if(S>1){const W=Z.charCodeAt(S-2);k.ZG(W)&&S--}if(E>1){const W=Z.charCodeAt(E-2);k.ZG(W)&&E--}const K=S-1,T=E-2;C=y.consumeLowerThan(K,C,z),y.count===0&&(C=K),y.insert(T,D,x)}return y.consumeLowerThan(1073741824,C,z),z}}},9283:(At,Be,m)=>{m.d(Be,{Nd:()=>Z,zG:()=>N,IJ:()=>ne,d1:()=>y,tF:()=>L});var k=m(34504),u=m(96808),ie=m(92201);class Q{constructor(X,te,he,_e){this.endIndex=X,this.type=te,this.metadata=he,this.containsRTL=_e,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class N{constructor(X,te){this.startOffset=X,this.endOffset=te}equals(X){return this.startOffset===X.startOffset&&this.endOffset===X.endOffset}}class ne{constructor(X,te,he,_e,ge,me,re,Y,de,oe,J,$,ue,ve,xe,O,rt,ct,Ve){this.useMonospaceOptimizations=X,this.canUseHalfwidthRightwardsArrow=te,this.lineContent=he,this.continuesWithWrappedLine=_e,this.isBasicASCII=ge,this.containsRTL=me,this.fauxIndentLength=re,this.lineTokens=Y,this.lineDecorations=de.sort(ie.Kp.compare),this.tabSize=oe,this.startVisibleColumn=J,this.spaceWidth=$,this.stopRenderingLineAfter=xe,this.renderWhitespace=O==="all"?4:O==="boundary"?1:O==="selection"?2:O==="trailing"?3:0,this.renderControlCharacters=rt,this.fontLigatures=ct,this.selectionsOnLine=Ve&&Ve.sort((Fe,je)=>Fe.startOffset<je.startOffset?-1:1);const $e=Math.abs(ve-$),Ee=Math.abs(ue-$);$e<Ee?(this.renderSpaceWidth=ve,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=ue,this.renderSpaceCharCode=183)}sameSelection(X){if(this.selectionsOnLine===null)return X===null;if(X===null||X.length!==this.selectionsOnLine.length)return!1;for(let te=0;te<this.selectionsOnLine.length;te++)if(!this.selectionsOnLine[te].equals(X[te]))return!1;return!0}equals(X){return this.useMonospaceOptimizations===X.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===X.canUseHalfwidthRightwardsArrow&&this.lineContent===X.lineContent&&this.continuesWithWrappedLine===X.continuesWithWrappedLine&&this.isBasicASCII===X.isBasicASCII&&this.containsRTL===X.containsRTL&&this.fauxIndentLength===X.fauxIndentLength&&this.tabSize===X.tabSize&&this.startVisibleColumn===X.startVisibleColumn&&this.spaceWidth===X.spaceWidth&&this.renderSpaceWidth===X.renderSpaceWidth&&this.renderSpaceCharCode===X.renderSpaceCharCode&&this.stopRenderingLineAfter===X.stopRenderingLineAfter&&this.renderWhitespace===X.renderWhitespace&&this.renderControlCharacters===X.renderControlCharacters&&this.fontLigatures===X.fontLigatures&&ie.Kp.equalsArr(this.lineDecorations,X.lineDecorations)&&this.lineTokens.equals(X.lineTokens)&&this.sameSelection(X.selectionsOnLine)}}class Z{constructor(X,te){this.partIndex=X,this.charIndex=te}}class q{constructor(X,te){this.length=X,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}static getPartIndex(X){return(X&4294901760)>>>16}static getCharIndex(X){return(X&65535)>>>0}setColumnInfo(X,te,he,_e){const ge=(te<<16|he<<0)>>>0;this._data[X-1]=ge,this._horizontalOffset[X-1]=_e}getHorizontalOffset(X){return this._horizontalOffset.length===0?0:this._horizontalOffset[X-1]}charOffsetToPartData(X){return this.length===0?0:X<0?this._data[0]:X>=this.length?this._data[this.length-1]:this._data[X]}getDomPosition(X){const te=this.charOffsetToPartData(X-1),he=q.getPartIndex(te),_e=q.getCharIndex(te);return new Z(he,_e)}getColumn(X,te){return this.partDataToCharOffset(X.partIndex,te,X.charIndex)+1}partDataToCharOffset(X,te,he){if(this.length===0)return 0;const _e=(X<<16|he<<0)>>>0;let ge=0,me=this.length-1;for(;ge+1<me;){const xe=ge+me>>>1,O=this._data[xe];if(O===_e)return xe;O>_e?me=xe:ge=xe}if(ge===me)return ge;const re=this._data[ge],Y=this._data[me];if(re===_e)return ge;if(Y===_e)return me;const de=q.getPartIndex(re),oe=q.getCharIndex(re),J=q.getPartIndex(Y);let $;de!==J?$=te:$=q.getCharIndex(Y);const ue=he-oe,ve=$-he;return ue<=ve?ge:me}}class z{constructor(X,te,he){this._renderLineOutputBrand=void 0,this.characterMapping=X,this.containsRTL=te,this.containsForeignElements=he}}function y(U,X){if(U.lineContent.length===0){if(U.lineDecorations.length>0){X.appendASCIIString("<span>");let te=0,he=0,_e=0;for(const me of U.lineDecorations)(me.type===1||me.type===2)&&(X.appendASCIIString('<span class="'),X.appendASCIIString(me.className),X.appendASCIIString('"></span>'),me.type===1&&(_e|=1,te++),me.type===2&&(_e|=2,he++));X.appendASCIIString("</span>");const ge=new q(1,te+he);return ge.setColumnInfo(1,te,0,0),new z(ge,!1,_e)}return X.appendASCIIString("<span><span></span></span>"),new z(new q(0,0),!1,0)}return W(d(U),X)}class C{constructor(X,te,he,_e){this.characterMapping=X,this.html=te,this.containsRTL=he,this.containsForeignElements=_e}}function L(U){const X=(0,u.l$)(1e4),te=y(U,X);return new C(te.characterMapping,X.build(),te.containsRTL,te.containsForeignElements)}class b{constructor(X,te,he,_e,ge,me,re,Y,de,oe,J,$,ue,ve,xe){this.fontIsMonospace=X,this.canUseHalfwidthRightwardsArrow=te,this.lineContent=he,this.len=_e,this.isOverflowing=ge,this.parts=me,this.containsForeignElements=re,this.fauxIndentLength=Y,this.tabSize=de,this.startVisibleColumn=oe,this.containsRTL=J,this.spaceWidth=$,this.renderSpaceCharCode=ue,this.renderWhitespace=ve,this.renderControlCharacters=xe}}function d(U){const X=U.lineContent;let te,he;U.stopRenderingLineAfter!==-1&&U.stopRenderingLineAfter<X.length?(te=!0,he=U.stopRenderingLineAfter):(te=!1,he=X.length);let _e=S(X,U.containsRTL,U.lineTokens,U.fauxIndentLength,he);U.renderControlCharacters&&!U.isBasicASCII&&(_e=x(X,_e)),(U.renderWhitespace===4||U.renderWhitespace===1||U.renderWhitespace===2&&U.selectionsOnLine||U.renderWhitespace===3)&&(_e=K(U,X,he,_e));let ge=0;if(U.lineDecorations.length>0){for(let me=0,re=U.lineDecorations.length;me<re;me++){const Y=U.lineDecorations[me];Y.type===3||Y.type===1?ge|=1:Y.type===2&&(ge|=2)}_e=T(X,he,_e,U.lineDecorations)}return U.containsRTL||(_e=E(X,_e,!U.isBasicASCII||U.fontLigatures)),new b(U.useMonospaceOptimizations,U.canUseHalfwidthRightwardsArrow,X,he,te,_e,ge,U.fauxIndentLength,U.tabSize,U.startVisibleColumn,U.containsRTL,U.spaceWidth,U.renderSpaceCharCode,U.renderWhitespace,U.renderControlCharacters)}function S(U,X,te,he,_e){const ge=[];let me=0;he>0&&(ge[me++]=new Q(he,"",0,!1));let re=he;for(let Y=0,de=te.getCount();Y<de;Y++){const oe=te.getEndOffset(Y);if(oe<=he)continue;const J=te.getClassName(Y);if(oe>=_e){const ue=X?k.Ut(U.substring(re,_e)):!1;ge[me++]=new Q(_e,J,0,ue);break}const $=X?k.Ut(U.substring(re,oe)):!1;ge[me++]=new Q(oe,J,0,$),re=oe}return ge}function E(U,X,te){let he=0;const _e=[];let ge=0;if(te)for(let me=0,re=X.length;me<re;me++){const Y=X[me],de=Y.endIndex;if(he+50<de){const oe=Y.type,J=Y.metadata,$=Y.containsRTL;let ue=-1,ve=he;for(let xe=he;xe<de;xe++)U.charCodeAt(xe)===32&&(ue=xe),ue!==-1&&xe-ve>=50&&(_e[ge++]=new Q(ue+1,oe,J,$),ve=ue+1,ue=-1);ve!==de&&(_e[ge++]=new Q(de,oe,J,$))}else _e[ge++]=Y;he=de}else for(let me=0,re=X.length;me<re;me++){const Y=X[me],de=Y.endIndex,oe=de-he;if(oe>50){const J=Y.type,$=Y.metadata,ue=Y.containsRTL,ve=Math.ceil(oe/50);for(let xe=1;xe<ve;xe++){const O=he+xe*50;_e[ge++]=new Q(O,J,$,ue)}_e[ge++]=new Q(de,J,$,ue)}else _e[ge++]=Y;he=de}return _e}function D(U){return U<32?U!==9:U===127||U>=8234&&U<=8238||U>=8294&&U<=8297||U>=8206&&U<=8207||U===1564}function x(U,X){const te=[];let he=new Q(0,"",0,!1),_e=0;for(const ge of X){const me=ge.endIndex;for(;_e<me;_e++){const re=U.charCodeAt(_e);D(re)&&(_e>he.endIndex&&(he=new Q(_e,ge.type,ge.metadata,ge.containsRTL),te.push(he)),he=new Q(_e+1,"mtkcontrol",ge.metadata,!1),te.push(he))}_e>he.endIndex&&(he=new Q(me,ge.type,ge.metadata,ge.containsRTL),te.push(he))}return te}function K(U,X,te,he){const _e=U.continuesWithWrappedLine,ge=U.fauxIndentLength,me=U.tabSize,re=U.startVisibleColumn,Y=U.useMonospaceOptimizations,de=U.selectionsOnLine,oe=U.renderWhitespace===1,J=U.renderWhitespace===3,$=U.renderSpaceWidth!==U.spaceWidth,ue=[];let ve=0,xe=0,O=he[xe].type,rt=he[xe].containsRTL,ct=he[xe].endIndex;const Ve=he.length;let $e=!1,Ee=k.LC(X),Fe;Ee===-1?($e=!0,Ee=te,Fe=te):Fe=k.ow(X);let je=!1,Re=0,tt=de&&de[Re],at=re%me;for(let Et=ge;Et<te;Et++){const Nt=X.charCodeAt(Et);tt&&Et>=tt.endOffset&&(Re++,tt=de&&de[Re]);let ke;if(Et<Ee||Et>Fe)ke=!0;else if(Nt===9)ke=!0;else if(Nt===32)if(oe)if(je)ke=!0;else{const dt=Et+1<te?X.charCodeAt(Et+1):0;ke=dt===32||dt===9}else ke=!0;else ke=!1;if(ke&&de&&(ke=!!tt&&tt.startOffset<=Et&&tt.endOffset>Et),ke&&J&&(ke=$e||Et>Fe),ke&&rt&&Et>=Ee&&Et<=Fe&&(ke=!1),je){if(!ke||!Y&&at>=me){if($){const dt=ve>0?ue[ve-1].endIndex:ge;for(let mt=dt+1;mt<=Et;mt++)ue[ve++]=new Q(mt,"mtkw",1,!1)}else ue[ve++]=new Q(Et,"mtkw",1,!1);at=at%me}}else(Et===ct||ke&&Et>ge)&&(ue[ve++]=new Q(Et,O,0,rt),at=at%me);for(Nt===9?at=me:k.K7(Nt)?at+=2:at++,je=ke;Et===ct&&(xe++,xe<Ve);)O=he[xe].type,rt=he[xe].containsRTL,ct=he[xe].endIndex}let Dt=!1;if(je)if(_e&&oe){const Et=te>0?X.charCodeAt(te-1):0,Nt=te>1?X.charCodeAt(te-2):0;Et===32&&Nt!==32&&Nt!==9||(Dt=!0)}else Dt=!0;if(Dt)if($){const Et=ve>0?ue[ve-1].endIndex:ge;for(let Nt=Et+1;Nt<=te;Nt++)ue[ve++]=new Q(Nt,"mtkw",1,!1)}else ue[ve++]=new Q(te,"mtkw",1,!1);else ue[ve++]=new Q(te,O,0,rt);return ue}function T(U,X,te,he){he.sort(ie.Kp.compare);const _e=ie.k.normalize(U,he),ge=_e.length;let me=0;const re=[];let Y=0,de=0;for(let J=0,$=te.length;J<$;J++){const ue=te[J],ve=ue.endIndex,xe=ue.type,O=ue.metadata,rt=ue.containsRTL;for(;me<ge&&_e[me].startOffset<ve;){const ct=_e[me];if(ct.startOffset>de&&(de=ct.startOffset,re[Y++]=new Q(de,xe,O,rt)),ct.endOffset+1<=ve)de=ct.endOffset+1,re[Y++]=new Q(de,xe+" "+ct.className,O|ct.metadata,rt),me++;else{de=ve,re[Y++]=new Q(de,xe+" "+ct.className,O|ct.metadata,rt);break}}ve>de&&(de=ve,re[Y++]=new Q(de,xe,O,rt))}const oe=te[te.length-1].endIndex;if(me<ge&&_e[me].startOffset===oe)for(;me<ge&&_e[me].startOffset===oe;){const J=_e[me];re[Y++]=new Q(de,J.className,J.metadata,!1),me++}return re}function W(U,X){const te=U.fontIsMonospace,he=U.canUseHalfwidthRightwardsArrow,_e=U.containsForeignElements,ge=U.lineContent,me=U.len,re=U.isOverflowing,Y=U.parts,de=U.fauxIndentLength,oe=U.tabSize,J=U.startVisibleColumn,$=U.containsRTL,ue=U.spaceWidth,ve=U.renderSpaceCharCode,xe=U.renderWhitespace,O=U.renderControlCharacters,rt=new q(me+1,Y.length);let ct=!1,Ve=0,$e=J,Ee=0,Fe=0,je=0;$?X.appendASCIIString('<span dir="ltr">'):X.appendASCIIString("<span>");for(let Re=0,tt=Y.length;Re<tt;Re++){const at=Y[Re],Dt=at.endIndex,Et=at.type,Nt=at.containsRTL,ke=xe!==0&&at.isWhitespace(),dt=ke&&!te&&(Et==="mtkw"||!_e),mt=Ve===Dt&&at.isPseudoAfter();if(Ee=0,X.appendASCIIString("<span "),Nt&&X.appendASCIIString('style="unicode-bidi:isolate" '),X.appendASCIIString('class="'),X.appendASCIIString(dt?"mtkz":Et),X.appendASCII(34),ke){let Wt=0;{let Kt=Ve,_t=$e;for(;Kt<Dt;Kt++){const Ut=(ge.charCodeAt(Kt)===9?oe-_t%oe:1)|0;Wt+=Ut,Kt>=de&&(_t+=Ut)}}for(dt&&(X.appendASCIIString(' style="width:'),X.appendASCIIString(String(ue*Wt)),X.appendASCIIString('px"')),X.appendASCII(62);Ve<Dt;Ve++){rt.setColumnInfo(Ve+1,Re-je,Ee,Fe),je=0;const Kt=ge.charCodeAt(Ve);let _t,wt;if(Kt===9){_t=oe-$e%oe|0,wt=_t,!he||wt>1?X.write1(8594):X.write1(65515);for(let Ut=2;Ut<=wt;Ut++)X.write1(160)}else _t=2,wt=1,X.write1(ve),X.write1(8204);Ee+=_t,Fe+=wt,Ve>=de&&($e+=wt)}}else for(X.appendASCII(62);Ve<Dt;Ve++){rt.setColumnInfo(Ve+1,Re-je,Ee,Fe),je=0;const Wt=ge.charCodeAt(Ve);let Kt=1,_t=1;switch(Wt){case 9:Kt=oe-$e%oe,_t=Kt;for(let wt=1;wt<=Kt;wt++)X.write1(160);break;case 32:X.write1(160);break;case 60:X.appendASCIIString("<");break;case 62:X.appendASCIIString(">");break;case 38:X.appendASCIIString("&");break;case 0:O?X.write1(9216):X.appendASCIIString("�");break;case 65279:case 8232:case 8233:case 133:X.write1(65533);break;default:k.K7(Wt)&&_t++,O&&Wt<32?X.write1(9216+Wt):O&&Wt===127?X.write1(9249):O&&D(Wt)?(X.appendASCIIString("[U+"),X.appendASCIIString(A(Wt)),X.appendASCIIString("]"),Kt=8,_t=Kt):X.write1(Wt)}Ee+=Kt,Fe+=_t,Ve>=de&&($e+=_t)}mt?je++:je=0,Ve>=me&&!ct&&at.isPseudoAfter()&&(ct=!0,rt.setColumnInfo(Ve+1,Re,Ee,Fe)),X.appendASCIIString("</span>")}return ct||rt.setColumnInfo(me+1,Y.length-1,Ee,Fe),re&&X.appendASCIIString("<span>…</span>"),X.appendASCIIString("</span>"),new z(rt,$,_e)}function A(U){return U.toString(16).toUpperCase().padStart(4,"0")}},8704:(At,Be,m)=>{m.d(Be,{$l:()=>z,$t:()=>Z,IP:()=>N,SQ:()=>y,Wx:()=>q,l_:()=>ie,ud:()=>Q,wA:()=>ne});var k=m(34504),u=m(62685);class ie{constructor(L,b,d,S){this._viewportBrand=void 0,this.top=L|0,this.left=b|0,this.width=d|0,this.height=S|0}}class Q{constructor(L,b){this.tabSize=L,this.data=b}}class N{constructor(L,b,d,S,E,D,x){this._viewLineDataBrand=void 0,this.content=L,this.continuesWithWrappedLine=b,this.minColumn=d,this.maxColumn=S,this.startVisibleColumn=E,this.tokens=D,this.inlineDecorations=x}}class ne{constructor(L,b,d,S,E,D,x,K,T,W){this.minColumn=L,this.maxColumn=b,this.content=d,this.continuesWithWrappedLine=S,this.isBasicASCII=ne.isBasicASCII(d,D),this.containsRTL=ne.containsRTL(d,this.isBasicASCII,E),this.tokens=x,this.inlineDecorations=K,this.tabSize=T,this.startVisibleColumn=W}static isBasicASCII(L,b){return b?k.$i(L):!0}static containsRTL(L,b,d){return!b&&d?k.Ut(L):!1}}class Z{constructor(L,b,d){this.range=L,this.inlineClassName=b,this.type=d}}class q{constructor(L,b,d,S){this.startOffset=L,this.endOffset=b,this.inlineClassName=d,this.inlineClassNameAffectsLetterSpacing=S}toInlineDecoration(L){return new Z(new u.e(L,this.startOffset+1,L,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class z{constructor(L,b){this._viewModelDecorationBrand=void 0,this.range=L,this.options=b}}class y{constructor(L,b,d){this.color=L,this.zIndex=b,this.data=d}static cmp(L,b){return L.zIndex===b.zIndex?L.color<b.color?-1:L.color>b.color?1:0:L.zIndex-b.zIndex}}},60980:(At,Be,m)=>{m.d(Be,{EY:()=>u,Tj:()=>ie});class k{constructor(N,ne,Z){this._colorZoneBrand=void 0,this.from=N|0,this.to=ne|0,this.colorId=Z|0}static compare(N,ne){return N.colorId===ne.colorId?N.from===ne.from?N.to-ne.to:N.from-ne.from:N.colorId-ne.colorId}}class u{constructor(N,ne,Z,q){this._overviewRulerZoneBrand=void 0,this.startLineNumber=N,this.endLineNumber=ne,this.heightInLines=Z,this.color=q,this._colorZone=null}static compare(N,ne){return N.color===ne.color?N.startLineNumber===ne.startLineNumber?N.heightInLines===ne.heightInLines?N.endLineNumber-ne.endLineNumber:N.heightInLines-ne.heightInLines:N.startLineNumber-ne.startLineNumber:N.color<ne.color?-1:1}setColorZone(N){this._colorZone=N}getColorZones(){return this._colorZone}}class ie{constructor(N){this._getVerticalOffsetForLine=N,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(N){this._zones=N,this._zones.sort(u.compare)}setLineHeight(N){return this._lineHeight===N?!1:(this._lineHeight=N,this._colorZonesInvalid=!0,!0)}setPixelRatio(N){this._pixelRatio=N,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(N){return this._domWidth===N?!1:(this._domWidth=N,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(N){return this._domHeight===N?!1:(this._domHeight=N,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(N){return this._outerHeight===N?!1:(this._outerHeight=N,this._colorZonesInvalid=!0,!0)}resolveColorZones(){const N=this._colorZonesInvalid,ne=Math.floor(this._lineHeight),Z=Math.floor(this.getCanvasHeight()),q=Math.floor(this._outerHeight),z=Z/q,y=Math.floor(4*this._pixelRatio/2),C=[];for(let L=0,b=this._zones.length;L<b;L++){const d=this._zones[L];if(!N){const X=d.getColorZones();if(X){C.push(X);continue}}const S=this._getVerticalOffsetForLine(d.startLineNumber),E=d.heightInLines===0?this._getVerticalOffsetForLine(d.endLineNumber)+ne:S+d.heightInLines*ne,D=Math.floor(z*S),x=Math.floor(z*E);let K=Math.floor((D+x)/2),T=x-K;T<y&&(T=y),K-T<0&&(K=T),K+T>Z&&(K=Z-T);const W=d.color;let A=this._color2Id[W];A||(A=++this._lastAssignedId,this._color2Id[W]=A,this._id2Color[A]=W);const U=new k(K-T,K+T,A);d.setColorZone(U),C.push(U)}return this._colorZonesInvalid=!1,C.sort(k.compare),C}}},43025:(At,Be,m)=>{m.d(Be,{$t:()=>Z,CU:()=>N,Fd:()=>ne,zg:()=>q});var k=m(8689),u=m(62685),ie=m(8704),Q=m(11876);class N{constructor(C,L,b,d,S){this.editorId=C,this.model=L,this.configuration=b,this._linesCollection=d,this._coordinatesConverter=S,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(C){const L=C.id;let b=this._decorationsCache[L];if(!b){const d=C.range,S=C.options;let E;if(S.isWholeLine){const D=this._coordinatesConverter.convertModelPositionToViewPosition(new k.L(d.startLineNumber,1),0),x=this._coordinatesConverter.convertModelPositionToViewPosition(new k.L(d.endLineNumber,this.model.getLineMaxColumn(d.endLineNumber)),1);E=new u.e(D.lineNumber,D.column,x.lineNumber,x.column)}else E=this._coordinatesConverter.convertModelRangeToViewRange(d,1);b=new ie.$l(E,S),this._decorationsCache[L]=b}return b}getDecorationsViewportData(C){let L=this._cachedModelDecorationsResolver!==null;return L=L&&C.equalsRange(this._cachedModelDecorationsResolverViewRange),L||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(C),this._cachedModelDecorationsResolverViewRange=C),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(C){const L=new u.e(C,this._linesCollection.getViewLineMinColumn(C),C,this._linesCollection.getViewLineMaxColumn(C));return this._getDecorationsInRange(L).inlineDecorations[0]}_getDecorationsInRange(C){const L=this._linesCollection.getDecorationsInRange(C,this.editorId,(0,Q.$J)(this.configuration.options)),b=C.startLineNumber,d=C.endLineNumber,S=[];let E=0;const D=[];for(let x=b;x<=d;x++)D[x-b]=[];for(let x=0,K=L.length;x<K;x++){const T=L[x],W=T.options;if(!ne(this.model,T))continue;const A=this._getOrCreateViewModelDecoration(T),U=A.range;if(S[E++]=A,W.inlineClassName){const X=new ie.$t(U,W.inlineClassName,W.inlineClassNameAffectsLetterSpacing?3:0),te=Math.max(b,U.startLineNumber),he=Math.min(d,U.endLineNumber);for(let _e=te;_e<=he;_e++)D[_e-b].push(X)}if(W.beforeContentClassName&&b<=U.startLineNumber&&U.startLineNumber<=d){const X=new ie.$t(new u.e(U.startLineNumber,U.startColumn,U.startLineNumber,U.startColumn),W.beforeContentClassName,1);D[U.startLineNumber-b].push(X)}if(W.afterContentClassName&&b<=U.endLineNumber&&U.endLineNumber<=d){const X=new ie.$t(new u.e(U.endLineNumber,U.endColumn,U.endLineNumber,U.endColumn),W.afterContentClassName,2);D[U.endLineNumber-b].push(X)}}return{decorations:S,inlineDecorations:D}}}function ne(y,C){return!(C.options.hideInCommentTokens&&Z(y,C)||C.options.hideInStringTokens&&q(y,C))}function Z(y,C){return z(y,C.range,L=>L===1)}function q(y,C){return z(y,C.range,L=>L===2)}function z(y,C,L){for(let b=C.startLineNumber;b<=C.endLineNumber;b++){const d=y.tokenization.getLineTokens(b),S=b===C.startLineNumber,E=b===C.endLineNumber;let D=S?d.findTokenIndexAtOffset(C.startColumn-1):0;for(;D<d.getCount()&&!(E&&d.getStartOffset(D)>C.endColumn-1);){if(!L(d.getStandardTokenType(D)))return!1;D++}}return!0}},40681:(At,Be,m)=>{m.d(Be,{yy:()=>d,Dl:()=>S,YQ:()=>E});var k=m(34504),u=m(62685),ie=m(58923),Q=m(50149),N=m(21688),ne=m(50199),Z=m(48119),q=m(41846),z=m(59894),y=m(88631);const C=(0,q.yh)("IEditorCancelService"),L=new ne.uy("cancellableOperation",!1,(0,y.NC)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,z.z)(C,class{constructor(){this._tokens=new WeakMap}add(D,x){let K=this._tokens.get(D);K||(K=D.invokeWithinContext(W=>{const A=L.bindTo(W.get(ne.i6)),U=new Z.S;return{key:A,tokens:U}}),this._tokens.set(D,K));let T;return K.key.set(!0),T=K.tokens.push(x),()=>{T&&(T(),K.key.set(!K.tokens.isEmpty()),T=void 0)}}cancel(D){const x=this._tokens.get(D);if(!x)return;const K=x.tokens.pop();K&&(K.cancel(),x.key.set(!x.tokens.isEmpty()))}},!0);class b extends ie.A{constructor(x,K){super(K),this.editor=x,this._unregister=x.invokeWithinContext(T=>T.get(C).add(x,this))}dispose(){this._unregister(),super.dispose()}}(0,N.fK)(new class extends N._l{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:L})}runEditorCommand(D,x){D.get(C).cancel(x)}});class d{constructor(x,K){if(this.flags=K,this.flags&1){const T=x.getModel();this.modelVersionId=T?k.WU("{0}#{1}",T.uri.toString(),T.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=x.getPosition():this.position=null,this.flags&2?this.selection=x.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=x.getScrollLeft(),this.scrollTop=x.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(x){if(!(x instanceof d))return!1;const K=x;return!(this.modelVersionId!==K.modelVersionId||this.scrollLeft!==K.scrollLeft||this.scrollTop!==K.scrollTop||!this.position&&K.position||this.position&&!K.position||this.position&&K.position&&!this.position.equals(K.position)||!this.selection&&K.selection||this.selection&&!K.selection||this.selection&&K.selection&&!this.selection.equalsRange(K.selection))}validate(x){return this._equals(new d(x,this.flags))}}class S extends b{constructor(x,K,T,W){super(x,W),this._listener=new Q.SL,K&4&&this._listener.add(x.onDidChangeCursorPosition(A=>{(!T||!u.e.containsPosition(T,A.position))&&this.cancel()})),K&2&&this._listener.add(x.onDidChangeCursorSelection(A=>{(!T||!u.e.containsRange(T,A.selection))&&this.cancel()})),K&8&&this._listener.add(x.onDidScrollChange(A=>this.cancel())),K&1&&(this._listener.add(x.onDidChangeModel(A=>this.cancel())),this._listener.add(x.onDidChangeModelContent(A=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class E extends ie.A{constructor(x,K){super(K),this._listener=x.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}},47754:(At,Be,m)=>{m.d(Be,{xC:()=>te,Zg:()=>U,x$:()=>he,Qq:()=>ge,Qs:()=>de});var k=m(48063),u=m(99359),ie=m(58923),Q=m(35230),N=m(20459),ne=m(48119),Z=m(4626),q=m(34154),z=m(40681),y=m(55451),C=m(8689),L=m(62685),b=m(13352),d=m(81698),S=m(16320),E=m(35844),D=m(88631),x=m(88324);class K{constructor(J){this.value=J,this._lower=J.toLowerCase()}static toKey(J){return typeof J=="string"?J.toLowerCase():J._lower}}var T=m(41846),W=m(64467),A=function(oe,J,$,ue){function ve(xe){return xe instanceof $?xe:new $(function(O){O(xe)})}return new($||($=Promise))(function(xe,O){function rt($e){try{Ve(ue.next($e))}catch(Ee){O(Ee)}}function ct($e){try{Ve(ue.throw($e))}catch(Ee){O(Ee)}}function Ve($e){$e.done?xe($e.value):ve($e.value).then(rt,ct)}Ve((ue=ue.apply(oe,J||[])).next())})};function U(oe){if(oe=oe.filter(ve=>ve.range),!oe.length)return;let{range:J}=oe[0];for(let ve=1;ve<oe.length;ve++)J=L.e.plusRange(J,oe[ve].range);const{startLineNumber:$,endLineNumber:ue}=J;$===ue?oe.length===1?(0,k.Z9)(D.NC("hint11","Made 1 formatting edit on line {0}",$)):(0,k.Z9)(D.NC("hintn1","Made {0} formatting edits on line {1}",oe.length,$)):oe.length===1?(0,k.Z9)(D.NC("hint1n","Made 1 formatting edit between lines {0} and {1}",$,ue)):(0,k.Z9)(D.NC("hintnn","Made {0} formatting edits between lines {1} and {2}",oe.length,$,ue))}function X(oe,J,$){const ue=[],ve=new Set,xe=oe.ordered($);for(const rt of xe)ue.push(rt),rt.extensionId&&ve.add(K.toKey(rt.extensionId));const O=J.ordered($);for(const rt of O){if(rt.extensionId){if(ve.has(K.toKey(rt.extensionId)))continue;ve.add(K.toKey(rt.extensionId))}ue.push({displayName:rt.displayName,extensionId:rt.extensionId,provideDocumentFormattingEdits(ct,Ve,$e){return rt.provideDocumentRangeFormattingEdits(ct,ct.getFullModelRange(),Ve,$e)}})}return ue}class te{static setFormatterSelector(J){return{dispose:te._selectors.unshift(J)}}static select(J,$,ue){return A(this,void 0,void 0,function*(){if(J.length===0)return;const ve=N.$.first(te._selectors);if(ve)return yield ve(J,$,ue)})}}te._selectors=new ne.S;function he(oe,J,$,ue,ve,xe){return A(this,void 0,void 0,function*(){const O=oe.get(T.TG),{documentRangeFormattingEditProvider:rt}=oe.get(W.p),ct=(0,y.CL)(J)?J.getModel():J,Ve=rt.ordered(ct),$e=yield te.select(Ve,ct,ue);$e&&(ve.report($e),yield O.invokeFunction(_e,$e,J,$,xe))})}function _e(oe,J,$,ue,ve){return A(this,void 0,void 0,function*(){const xe=oe.get(d.p);let O,rt;(0,y.CL)($)?(O=$.getModel(),rt=new z.Dl($,5,void 0,ve)):(O=$,rt=new z.YQ($,ve));const ct=[];let Ve=0;for(const Re of(0,u._2)(ue).sort(L.e.compareRangesUsingStarts))Ve>0&&L.e.areIntersectingOrTouching(ct[Ve-1],Re)?ct[Ve-1]=L.e.fromPositions(ct[Ve-1].getStartPosition(),Re.getEndPosition()):Ve=ct.push(Re);const $e=Re=>A(this,void 0,void 0,function*(){return(yield J.provideDocumentRangeFormattingEdits(O,Re,O.getFormattingOptions(),rt.token))||[]}),Ee=(Re,tt)=>{if(!Re.length||!tt.length)return!1;const at=Re.reduce((Dt,Et)=>L.e.plusRange(Dt,Et.range),Re[0].range);if(!tt.some(Dt=>L.e.intersectRanges(at,Dt.range)))return!1;for(const Dt of Re)for(const Et of tt)if(L.e.intersectRanges(Dt.range,Et.range))return!0;return!1},Fe=[],je=[];try{for(const Re of ct){if(rt.token.isCancellationRequested)return!0;je.push(yield $e(Re))}for(let Re=0;Re<ct.length;++Re)for(let tt=Re+1;tt<ct.length;++tt){if(rt.token.isCancellationRequested)return!0;if(Ee(je[Re],je[tt])){const at=L.e.plusRange(ct[Re],ct[tt]),Dt=yield $e(at);ct.splice(tt,1),ct.splice(Re,1),ct.push(at),je.splice(tt,1),je.splice(Re,1),je.push(Dt),Re=0,tt=0}}for(const Re of je){if(rt.token.isCancellationRequested)return!0;const tt=yield xe.computeMoreMinimalEdits(O.uri,Re);tt&&Fe.push(...tt)}}finally{rt.dispose()}if(Fe.length===0)return!1;if((0,y.CL)($))E.V.execute($,Fe,!0),U(Fe),$.revealPositionInCenterIfOutsideViewport($.getPosition(),1);else{const[{range:Re}]=Fe,tt=new b.Y(Re.startLineNumber,Re.startColumn,Re.endLineNumber,Re.endColumn);O.pushEditOperations([tt],Fe.map(at=>({text:at.text,range:L.e.lift(at.range),forceMoveMarkers:!0})),at=>{for(const{range:Dt}of at)if(L.e.areIntersectingOrTouching(Dt,tt))return[new b.Y(Dt.startLineNumber,Dt.startColumn,Dt.endLineNumber,Dt.endColumn)];return null})}return!0})}function ge(oe,J,$,ue,ve){return A(this,void 0,void 0,function*(){const xe=oe.get(T.TG),O=oe.get(W.p),rt=(0,y.CL)(J)?J.getModel():J,ct=X(O.documentFormattingEditProvider,O.documentRangeFormattingEditProvider,rt),Ve=yield te.select(ct,rt,$);Ve&&(ue.report(Ve),yield xe.invokeFunction(me,Ve,J,$,ve))})}function me(oe,J,$,ue,ve){return A(this,void 0,void 0,function*(){const xe=oe.get(d.p);let O,rt;(0,y.CL)($)?(O=$.getModel(),rt=new z.Dl($,5,void 0,ve)):(O=$,rt=new z.YQ($,ve));let ct;try{const Ve=yield J.provideDocumentFormattingEdits(O,O.getFormattingOptions(),rt.token);if(ct=yield xe.computeMoreMinimalEdits(O.uri,Ve),rt.token.isCancellationRequested)return!0}finally{rt.dispose()}if(!ct||ct.length===0)return!1;if((0,y.CL)($))E.V.execute($,ct,ue!==2),ue!==2&&(U(ct),$.revealPositionInCenterIfOutsideViewport($.getPosition(),1));else{const[{range:Ve}]=ct,$e=new b.Y(Ve.startLineNumber,Ve.startColumn,Ve.endLineNumber,Ve.endColumn);O.pushEditOperations([$e],ct.map(Ee=>({text:Ee.text,range:L.e.lift(Ee.range),forceMoveMarkers:!0})),Ee=>{for(const{range:Fe}of Ee)if(L.e.areIntersectingOrTouching(Fe,$e))return[new b.Y(Fe.startLineNumber,Fe.startColumn,Fe.endLineNumber,Fe.endColumn)];return null})}return!0})}function re(oe,J,$,ue,ve,xe){return A(this,void 0,void 0,function*(){const O=J.documentRangeFormattingEditProvider.ordered($);for(const rt of O){const ct=yield Promise.resolve(rt.provideDocumentRangeFormattingEdits($,ue,ve,xe)).catch(Q.Cp);if((0,u.Of)(ct))return yield oe.computeMoreMinimalEdits($.uri,ct)}})}function Y(oe,J,$,ue,ve){return A(this,void 0,void 0,function*(){const xe=X(J.documentFormattingEditProvider,J.documentRangeFormattingEditProvider,$);for(const O of xe){const rt=yield Promise.resolve(O.provideDocumentFormattingEdits($,ue,ve)).catch(Q.Cp);if((0,u.Of)(rt))return yield oe.computeMoreMinimalEdits($.uri,rt)}})}function de(oe,J,$,ue,ve,xe,O){const rt=J.onTypeFormattingEditProvider.ordered($);return rt.length===0||rt[0].autoFormatTriggerCharacters.indexOf(ve)<0?Promise.resolve(void 0):Promise.resolve(rt[0].provideOnTypeFormattingEdits($,ue,ve,xe,O)).catch(Q.Cp).then(ct=>oe.computeMoreMinimalEdits($.uri,ct))}x.P0.registerCommand("_executeFormatRangeProvider",function(oe,...J){return A(this,void 0,void 0,function*(){const[$,ue,ve]=J;(0,Z.p_)(q.o.isUri($)),(0,Z.p_)(L.e.isIRange(ue));const xe=oe.get(S.S),O=oe.get(d.p),rt=oe.get(W.p),ct=yield xe.createModelReference($);try{return re(O,rt,ct.object.textEditorModel,L.e.lift(ue),ve,ie.T.None)}finally{ct.dispose()}})}),x.P0.registerCommand("_executeFormatDocumentProvider",function(oe,...J){return A(this,void 0,void 0,function*(){const[$,ue]=J;(0,Z.p_)(q.o.isUri($));const ve=oe.get(S.S),xe=oe.get(d.p),O=oe.get(W.p),rt=yield ve.createModelReference($);try{return Y(xe,O,rt.object.textEditorModel,ue,ie.T.None)}finally{rt.dispose()}})}),x.P0.registerCommand("_executeFormatOnTypeProvider",function(oe,...J){return A(this,void 0,void 0,function*(){const[$,ue,ve,xe]=J;(0,Z.p_)(q.o.isUri($)),(0,Z.p_)(C.L.isIPosition(ue)),(0,Z.p_)(typeof ve=="string");const O=oe.get(S.S),rt=oe.get(d.p),ct=oe.get(W.p),Ve=yield O.createModelReference($);try{return de(rt,ct,Ve.object.textEditorModel,C.L.lift(ue),ve,xe,ie.T.None)}finally{Ve.dispose()}})})},35844:(At,Be,m)=>{m.d(Be,{V:()=>ie});var k=m(86520),u=m(62685);class ie{static _handleEolEdits(N,ne){let Z;const q=[];for(const z of ne)typeof z.eol=="number"&&(Z=z.eol),z.range&&typeof z.text=="string"&&q.push(z);return typeof Z=="number"&&N.hasModel()&&N.getModel().pushEOL(Z),q}static _isFullModelReplaceEdit(N,ne){if(!N.hasModel())return!1;const Z=N.getModel(),q=Z.validateRange(ne.range);return Z.getFullModelRange().equalsRange(q)}static execute(N,ne,Z){Z&&N.pushUndoStop();const q=ie._handleEolEdits(N,ne);q.length===1&&ie._isFullModelReplaceEdit(N,q[0])?N.executeEdits("formatEditsCommand",q.map(z=>k.h.replace(u.e.lift(z.range),z.text))):N.executeEdits("formatEditsCommand",q.map(z=>k.h.replaceMove(u.e.lift(z.range),z.text))),Z&&N.pushUndoStop()}}},22632:(At,Be,m)=>{m.r(Be),m.d(Be,{CancellationTokenSource:()=>jc,Emitter:()=>La,KeyCode:()=>tl,KeyMod:()=>Um,MarkerSeverity:()=>lu,MarkerTag:()=>ur,Position:()=>jm,Range:()=>$f,Selection:()=>Km,SelectionDirection:()=>$m,Token:()=>Gf,Uri:()=>Gm,editor:()=>du,languages:()=>Qm});var k=m(11876),u=m(58923),ie=m(86640),Q=m(5276),N=m(34154),ne=m(8689),Z=m(62685),q=m(13352),z=m(90865),y=m(22382);class C{static chord(r,l){return(0,Q.gx)(r,l)}}C.CtrlCmd=2048,C.Shift=1024,C.Alt=512,C.WinCtrl=256;function L(){return{editor:void 0,languages:void 0,CancellationTokenSource:u.A,Emitter:ie.Q5,KeyCode:y.VD,KeyMod:C,Position:ne.L,Range:Z.e,Selection:q.Y,SelectionDirection:y.a$,MarkerSeverity:y.ZL,MarkerTag:y.eB,Uri:N.o,Token:z.WU}}var b=m(13691),d=m(34504),S=m(23730),E=m(23728),D=m(31365),x=m(53038),K=m(59634),T=m(40115),W=m(38490),A=m(79995),U=m(45440),X=m(7754),te=m(49434),he=m(50149),_e=m(35230),ge=m(75874),me=m(4626);const re="$initialize";let Y=!1;function de(fe){ge.$L&&(Y||(Y=!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(fe.message))}class oe{constructor(r,l,v,H){this.vsWorker=r,this.req=l,this.method=v,this.args=H,this.type=0}}class J{constructor(r,l,v,H){this.vsWorker=r,this.seq=l,this.res=v,this.err=H,this.type=1}}class ${constructor(r,l,v,H){this.vsWorker=r,this.req=l,this.eventName=v,this.arg=H,this.type=2}}class ue{constructor(r,l,v){this.vsWorker=r,this.req=l,this.event=v,this.type=3}}class ve{constructor(r,l){this.vsWorker=r,this.req=l,this.type=4}}class xe{constructor(r){this._workerId=-1,this._handler=r,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(r){this._workerId=r}sendMessage(r,l){const v=String(++this._lastSentReq);return new Promise((H,G)=>{this._pendingReplies[v]={resolve:H,reject:G},this._send(new oe(this._workerId,v,r,l))})}listen(r,l){let v=null;const H=new ie.Q5({onFirstListenerAdd:()=>{v=String(++this._lastSentReq),this._pendingEmitters.set(v,H),this._send(new $(this._workerId,v,r,l))},onLastListenerRemove:()=>{this._pendingEmitters.delete(v),this._send(new ve(this._workerId,v)),v=null}});return H.event}handleMessage(r){!r||!r.vsWorker||this._workerId!==-1&&r.vsWorker!==this._workerId||this._handleMessage(r)}_handleMessage(r){switch(r.type){case 1:return this._handleReplyMessage(r);case 0:return this._handleRequestMessage(r);case 2:return this._handleSubscribeEventMessage(r);case 3:return this._handleEventMessage(r);case 4:return this._handleUnsubscribeEventMessage(r)}}_handleReplyMessage(r){if(!this._pendingReplies[r.seq]){console.warn("Got reply to unknown seq");return}const l=this._pendingReplies[r.seq];if(delete this._pendingReplies[r.seq],r.err){let v=r.err;r.err.$isError&&(v=new Error,v.name=r.err.name,v.message=r.err.message,v.stack=r.err.stack),l.reject(v);return}l.resolve(r.res)}_handleRequestMessage(r){const l=r.req;this._handler.handleMessage(r.method,r.args).then(H=>{this._send(new J(this._workerId,l,H,void 0))},H=>{H.detail instanceof Error&&(H.detail=(0,_e.ri)(H.detail)),this._send(new J(this._workerId,l,void 0,(0,_e.ri)(H)))})}_handleSubscribeEventMessage(r){const l=r.req,v=this._handler.handleEvent(r.eventName,r.arg)(H=>{this._send(new ue(this._workerId,l,H))});this._pendingEvents.set(l,v)}_handleEventMessage(r){if(!this._pendingEmitters.has(r.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(r.req).fire(r.event)}_handleUnsubscribeEventMessage(r){if(!this._pendingEvents.has(r.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(r.req).dispose(),this._pendingEvents.delete(r.req)}_send(r){const l=[];if(r.type===0)for(let v=0;v<r.args.length;v++)r.args[v]instanceof ArrayBuffer&&l.push(r.args[v]);else r.type===1&&r.res instanceof ArrayBuffer&&l.push(r.res);this._handler.sendMessage(r,l)}}class O extends he.JT{constructor(r,l,v){super();let H=null;this._worker=this._register(r.create("vs/base/common/worker/simpleWorker",He=>{this._protocol.handleMessage(He)},He=>{H?.(He)})),this._protocol=new xe({sendMessage:(He,Qe)=>{this._worker.postMessage(He,Qe)},handleMessage:(He,Qe)=>{if(typeof v[He]!="function")return Promise.reject(new Error("Missing method "+He+" on main thread host."));try{return Promise.resolve(v[He].apply(v,Qe))}catch(pt){return Promise.reject(pt)}},handleEvent:(He,Qe)=>{if(ct(He)){const pt=v[He].call(v,Qe);if(typeof pt!="function")throw new Error(`Missing dynamic event ${He} on main thread host.`);return pt}if(rt(He)){const pt=v[He];if(typeof pt!="function")throw new Error(`Missing event ${He} on main thread host.`);return pt}throw new Error(`Malformed event name ${He}`)}}),this._protocol.setWorkerId(this._worker.getId());let G=null;typeof ge.li.require<"u"&&typeof ge.li.require.getConfig=="function"?G=ge.li.require.getConfig():typeof ge.li.requirejs<"u"&&(G=ge.li.requirejs.s.contexts._.config);const le=me.$E(v);this._onModuleLoaded=this._protocol.sendMessage(re,[this._worker.getId(),JSON.parse(JSON.stringify(G)),l,le]);const pe=(He,Qe)=>this._request(He,Qe),Te=(He,Qe)=>this._protocol.listen(He,Qe);this._lazyProxy=new Promise((He,Qe)=>{H=Qe,this._onModuleLoaded.then(pt=>{He(Ve(pt,pe,Te))},pt=>{Qe(pt),this._onError("Worker failed to load "+l,pt)})})}getProxyObject(){return this._lazyProxy}_request(r,l){return new Promise((v,H)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(r,l).then(v,H)},H)})}_onError(r,l){console.error(r),console.info(l)}}function rt(fe){return fe[0]==="o"&&fe[1]==="n"&&d.df(fe.charCodeAt(2))}function ct(fe){return/^onDynamic/.test(fe)&&d.df(fe.charCodeAt(9))}function Ve(fe,r,l){const v=le=>function(){const pe=Array.prototype.slice.call(arguments,0);return r(le,pe)},H=le=>function(pe){return l(le,pe)},G={};for(const le of fe){if(ct(le)){G[le]=H(le);continue}if(rt(le)){G[le]=l(le,void 0);continue}G[le]=v(le)}return G}class $e{constructor(r,l){this._requestHandlerFactory=l,this._requestHandler=null,this._protocol=new xe({sendMessage:(v,H)=>{r(v,H)},handleMessage:(v,H)=>this._handleMessage(v,H),handleEvent:(v,H)=>this._handleEvent(v,H)})}onmessage(r){this._protocol.handleMessage(r)}_handleMessage(r,l){if(r===re)return this.initialize(l[0],l[1],l[2],l[3]);if(!this._requestHandler||typeof this._requestHandler[r]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+r));try{return Promise.resolve(this._requestHandler[r].apply(this._requestHandler,l))}catch(v){return Promise.reject(v)}}_handleEvent(r,l){if(!this._requestHandler)throw new Error("Missing requestHandler");if(ct(r)){const v=this._requestHandler[r].call(this._requestHandler,l);if(typeof v!="function")throw new Error(`Missing dynamic event ${r} on request handler.`);return v}if(rt(r)){const v=this._requestHandler[r];if(typeof v!="function")throw new Error(`Missing event ${r} on request handler.`);return v}throw new Error(`Malformed event name ${r}`)}initialize(r,l,v,H){this._protocol.setWorkerId(r);const pe=Ve(H,(Te,He)=>this._protocol.sendMessage(Te,He),(Te,He)=>this._protocol.listen(Te,He));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(pe),Promise.resolve(types.getAllMethodNames(this._requestHandler))):(l&&(typeof l.baseUrl<"u"&&delete l.baseUrl,typeof l.paths<"u"&&typeof l.paths.vs<"u"&&delete l.paths.vs,typeof l.trustedTypesPolicy!==void 0&&delete l.trustedTypesPolicy,l.catchError=!0,globals.require.config(l)),new Promise((Te,He)=>{const Qe=globals.require;Qe([v],pt=>{if(this._requestHandler=pt.create(pe),!this._requestHandler){He(new Error("No RequestHandler!"));return}Te(types.getAllMethodNames(this._requestHandler))},He)}))}}function Ee(fe){return new $e(fe,null)}var Fe;const je=(Fe=window.trustedTypes)===null||Fe===void 0?void 0:Fe.createPolicy("defaultWorkerFactory",{createScriptURL:fe=>fe});function Re(fe){if(ge.li.MonacoEnvironment){if(typeof ge.li.MonacoEnvironment.getWorker=="function")return ge.li.MonacoEnvironment.getWorker("workerMain.js",fe);if(typeof ge.li.MonacoEnvironment.getWorkerUrl=="function"){const r=ge.li.MonacoEnvironment.getWorkerUrl("workerMain.js",fe);return new Worker(je?je.createScriptURL(r):r,{name:fe})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function tt(fe){return typeof fe.then=="function"}class at{constructor(r,l,v,H,G){this.id=l;const le=Re(v);tt(le)?this.worker=le:this.worker=Promise.resolve(le),this.postMessage(r,[]),this.worker.then(pe=>{pe.onmessage=function(Te){H(Te.data)},pe.onmessageerror=G,typeof pe.addEventListener=="function"&&pe.addEventListener("error",G)})}getId(){return this.id}postMessage(r,l){var v;(v=this.worker)===null||v===void 0||v.then(H=>H.postMessage(r,l))}dispose(){var r;(r=this.worker)===null||r===void 0||r.then(l=>l.terminate()),this.worker=null}}class Dt{constructor(r){this._label=r,this._webWorkerFailedBeforeError=!1}create(r,l,v){const H=++Dt.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new at(r,H,this._label||"anonymous"+H,l,G=>{de(G),this._webWorkerFailedBeforeError=G,v(G)})}}Dt.LAST_WORKER_ID=0;var Et=m(28079);const Nt=3;function ke(fe,r,l,v){return new Et.Hs(fe,r,l).ComputeDiff(v)}class dt{constructor(r){const l=[],v=[];for(let H=0,G=r.length;H<G;H++)l[H]=Ut(r[H],1),v[H]=ni(r[H],1);this.lines=r,this._startColumns=l,this._endColumns=v}getElements(){const r=[];for(let l=0,v=this.lines.length;l<v;l++)r[l]=this.lines[l].substring(this._startColumns[l]-1,this._endColumns[l]-1);return r}getStrictElement(r){return this.lines[r]}getStartLineNumber(r){return r+1}getEndLineNumber(r){return r+1}createCharSequence(r,l,v){const H=[],G=[],le=[];let pe=0;for(let Te=l;Te<=v;Te++){const He=this.lines[Te],Qe=r?this._startColumns[Te]:1,pt=r?this._endColumns[Te]:He.length+1;for(let ii=Qe;ii<pt;ii++)H[pe]=He.charCodeAt(ii-1),G[pe]=Te+1,le[pe]=ii,pe++;!r&&Te<v&&(H[pe]=10,G[pe]=Te+1,le[pe]=He.length+1,pe++)}return new mt(H,G,le)}}class mt{constructor(r,l,v){this._charCodes=r,this._lineNumbers=l,this._columns=v}toString(){return"["+this._charCodes.map((r,l)=>(r===10?"\\n":String.fromCharCode(r))+`-(${this._lineNumbers[l]},${this._columns[l]})`).join(", ")+"]"}_assertIndex(r,l){if(r<0||r>=l.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(r){return r>0&&r===this._lineNumbers.length?this.getEndLineNumber(r-1):(this._assertIndex(r,this._lineNumbers),this._lineNumbers[r])}getEndLineNumber(r){return r===-1?this.getStartLineNumber(r+1):(this._assertIndex(r,this._lineNumbers),this._charCodes[r]===10?this._lineNumbers[r]+1:this._lineNumbers[r])}getStartColumn(r){return r>0&&r===this._columns.length?this.getEndColumn(r-1):(this._assertIndex(r,this._columns),this._columns[r])}getEndColumn(r){return r===-1?this.getStartColumn(r+1):(this._assertIndex(r,this._columns),this._charCodes[r]===10?1:this._columns[r]+1)}}class Wt{constructor(r,l,v,H,G,le,pe,Te){this.originalStartLineNumber=r,this.originalStartColumn=l,this.originalEndLineNumber=v,this.originalEndColumn=H,this.modifiedStartLineNumber=G,this.modifiedStartColumn=le,this.modifiedEndLineNumber=pe,this.modifiedEndColumn=Te}static createFromDiffChange(r,l,v){const H=l.getStartLineNumber(r.originalStart),G=l.getStartColumn(r.originalStart),le=l.getEndLineNumber(r.originalStart+r.originalLength-1),pe=l.getEndColumn(r.originalStart+r.originalLength-1),Te=v.getStartLineNumber(r.modifiedStart),He=v.getStartColumn(r.modifiedStart),Qe=v.getEndLineNumber(r.modifiedStart+r.modifiedLength-1),pt=v.getEndColumn(r.modifiedStart+r.modifiedLength-1);return new Wt(H,G,le,pe,Te,He,Qe,pt)}}function Kt(fe){if(fe.length<=1)return fe;const r=[fe[0]];let l=r[0];for(let v=1,H=fe.length;v<H;v++){const G=fe[v],le=G.originalStart-(l.originalStart+l.originalLength),pe=G.modifiedStart-(l.modifiedStart+l.modifiedLength);Math.min(le,pe)<Nt?(l.originalLength=G.originalStart+G.originalLength-l.originalStart,l.modifiedLength=G.modifiedStart+G.modifiedLength-l.modifiedStart):(r.push(G),l=G)}return r}class _t{constructor(r,l,v,H,G){this.originalStartLineNumber=r,this.originalEndLineNumber=l,this.modifiedStartLineNumber=v,this.modifiedEndLineNumber=H,this.charChanges=G}static createFromDiffResult(r,l,v,H,G,le,pe){let Te,He,Qe,pt,ii;if(l.originalLength===0?(Te=v.getStartLineNumber(l.originalStart)-1,He=0):(Te=v.getStartLineNumber(l.originalStart),He=v.getEndLineNumber(l.originalStart+l.originalLength-1)),l.modifiedLength===0?(Qe=H.getStartLineNumber(l.modifiedStart)-1,pt=0):(Qe=H.getStartLineNumber(l.modifiedStart),pt=H.getEndLineNumber(l.modifiedStart+l.modifiedLength-1)),le&&l.originalLength>0&&l.originalLength<20&&l.modifiedLength>0&&l.modifiedLength<20&&G()){const yi=v.createCharSequence(r,l.originalStart,l.originalStart+l.originalLength-1),nn=H.createCharSequence(r,l.modifiedStart,l.modifiedStart+l.modifiedLength-1);if(yi.getElements().length>0&&nn.getElements().length>0){let In=ke(yi,nn,G,!0).changes;pe&&(In=Kt(In)),ii=[];for(let On=0,ls=In.length;On<ls;On++)ii.push(Wt.createFromDiffChange(In[On],yi,nn))}}return new _t(Te,He,Qe,pt,ii)}}class wt{constructor(r,l,v){this.shouldComputeCharChanges=v.shouldComputeCharChanges,this.shouldPostProcessCharChanges=v.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=v.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=v.shouldMakePrettyDiff,this.originalLines=r,this.modifiedLines=l,this.original=new dt(r),this.modified=new dt(l),this.continueLineDiff=vi(v.maxComputationTime),this.continueCharDiff=vi(v.maxComputationTime===0?0:Math.min(v.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};const r=ke(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),l=r.changes,v=r.quitEarly;if(this.shouldIgnoreTrimWhitespace){const pe=[];for(let Te=0,He=l.length;Te<He;Te++)pe.push(_t.createFromDiffResult(this.shouldIgnoreTrimWhitespace,l[Te],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:v,changes:pe}}const H=[];let G=0,le=0;for(let pe=-1,Te=l.length;pe<Te;pe++){const He=pe+1<Te?l[pe+1]:null,Qe=He?He.originalStart:this.originalLines.length,pt=He?He.modifiedStart:this.modifiedLines.length;for(;G<Qe&&le<pt;){const ii=this.originalLines[G],yi=this.modifiedLines[le];if(ii!==yi){{let nn=Ut(ii,1),In=Ut(yi,1);for(;nn>1&&In>1;){const On=ii.charCodeAt(nn-2),ls=yi.charCodeAt(In-2);if(On!==ls)break;nn--,In--}(nn>1||In>1)&&this._pushTrimWhitespaceCharChange(H,G+1,1,nn,le+1,1,In)}{let nn=ni(ii,1),In=ni(yi,1);const On=ii.length+1,ls=yi.length+1;for(;nn<On&&In<ls;){const es=ii.charCodeAt(nn-1),Fn=ii.charCodeAt(In-1);if(es!==Fn)break;nn++,In++}(nn<On||In<ls)&&this._pushTrimWhitespaceCharChange(H,G+1,nn,On,le+1,In,ls)}}G++,le++}He&&(H.push(_t.createFromDiffResult(this.shouldIgnoreTrimWhitespace,He,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),G+=He.originalLength,le+=He.modifiedLength)}return{quitEarly:v,changes:H}}_pushTrimWhitespaceCharChange(r,l,v,H,G,le,pe){if(this._mergeTrimWhitespaceCharChange(r,l,v,H,G,le,pe))return;let Te;this.shouldComputeCharChanges&&(Te=[new Wt(l,v,l,H,G,le,G,pe)]),r.push(new _t(l,l,G,G,Te))}_mergeTrimWhitespaceCharChange(r,l,v,H,G,le,pe){const Te=r.length;if(Te===0)return!1;const He=r[Te-1];return He.originalEndLineNumber===0||He.modifiedEndLineNumber===0?!1:He.originalEndLineNumber+1===l&&He.modifiedEndLineNumber+1===G?(He.originalEndLineNumber=l,He.modifiedEndLineNumber=G,this.shouldComputeCharChanges&&He.charChanges&&He.charChanges.push(new Wt(l,v,l,H,G,le,G,pe)),!0):!1}}function Ut(fe,r){const l=d.LC(fe);return l===-1?r:l+1}function ni(fe,r){const l=d.ow(fe);return l===-1?r:l+2}function vi(fe){if(fe===0)return()=>!0;const r=Date.now();return()=>Date.now()-r<fe}var Ye=m(95320);class Ct{constructor(r,l,v,H){this._uri=r,this._lines=l,this._eol=v,this._versionId=H,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(r){r.eol&&r.eol!==this._eol&&(this._eol=r.eol,this._lineStarts=null);const l=r.changes;for(const v of l)this._acceptDeleteRange(v.range),this._acceptInsertText(new ne.L(v.range.startLineNumber,v.range.startColumn),v.text);this._versionId=r.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const r=this._eol.length,l=this._lines.length,v=new Uint32Array(l);for(let H=0;H<l;H++)v[H]=this._lines[H].length+r;this._lineStarts=new Ye.oQ(v)}}_setLineText(r,l){this._lines[r]=l,this._lineStarts&&this._lineStarts.setValue(r,this._lines[r].length+this._eol.length)}_acceptDeleteRange(r){if(r.startLineNumber===r.endLineNumber){if(r.startColumn===r.endColumn)return;this._setLineText(r.startLineNumber-1,this._lines[r.startLineNumber-1].substring(0,r.startColumn-1)+this._lines[r.startLineNumber-1].substring(r.endColumn-1));return}this._setLineText(r.startLineNumber-1,this._lines[r.startLineNumber-1].substring(0,r.startColumn-1)+this._lines[r.endLineNumber-1].substring(r.endColumn-1)),this._lines.splice(r.startLineNumber,r.endLineNumber-r.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(r.startLineNumber,r.endLineNumber-r.startLineNumber)}_acceptInsertText(r,l){if(l.length===0)return;const v=(0,d.uq)(l);if(v.length===1){this._setLineText(r.lineNumber-1,this._lines[r.lineNumber-1].substring(0,r.column-1)+v[0]+this._lines[r.lineNumber-1].substring(r.column-1));return}v[v.length-1]+=this._lines[r.lineNumber-1].substring(r.column-1),this._setLineText(r.lineNumber-1,this._lines[r.lineNumber-1].substring(0,r.column-1)+v[0]);const H=new Uint32Array(v.length-1);for(let G=1;G<v.length;G++)this._lines.splice(r.lineNumber+G-1,0,v[G]),H[G-1]=v[G].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(r.lineNumber,H)}}var Pt=m(44005),ti=m(18457);class ri{constructor(r,l,v){const H=new Uint8Array(r*l);for(let G=0,le=r*l;G<le;G++)H[G]=v;this._data=H,this.rows=r,this.cols=l}get(r,l){return this._data[r*this.cols+l]}set(r,l,v){this._data[r*this.cols+l]=v}}class Di{constructor(r){let l=0,v=0;for(let G=0,le=r.length;G<le;G++){const[pe,Te,He]=r[G];Te>l&&(l=Te),pe>v&&(v=pe),He>v&&(v=He)}l++,v++;const H=new ri(v,l,0);for(let G=0,le=r.length;G<le;G++){const[pe,Te,He]=r[G];H.set(pe,Te,He)}this._states=H,this._maxCharCode=l}nextState(r,l){return l<0||l>=this._maxCharCode?0:this._states.get(r,l)}}let Ui=null;function Ei(){return Ui===null&&(Ui=new Di([[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]])),Ui}let Ae=null;function Ii(){if(Ae===null){Ae=new ti.N(0);const fe=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let l=0;l<fe.length;l++)Ae.set(fe.charCodeAt(l),1);const r=".,;:";for(let l=0;l<r.length;l++)Ae.set(r.charCodeAt(l),2)}return Ae}class Ue{static _createLink(r,l,v,H,G){let le=G-1;do{const pe=l.charCodeAt(le);if(r.get(pe)!==2)break;le--}while(le>H);if(H>0){const pe=l.charCodeAt(H-1),Te=l.charCodeAt(le);(pe===40&&Te===41||pe===91&&Te===93||pe===123&&Te===125)&&le--}return{range:{startLineNumber:v,startColumn:H+1,endLineNumber:v,endColumn:le+2},url:l.substring(H,le+1)}}static computeLinks(r,l=Ei()){const v=Ii(),H=[];for(let G=1,le=r.getLineCount();G<=le;G++){const pe=r.getLineContent(G),Te=pe.length;let He=0,Qe=0,pt=0,ii=1,yi=!1,nn=!1,In=!1,On=!1;for(;He<Te;){let ls=!1;const es=pe.charCodeAt(He);if(ii===13){let Fn;switch(es){case 40:yi=!0,Fn=0;break;case 41:Fn=yi?0:1;break;case 91:In=!0,nn=!0,Fn=0;break;case 93:In=!1,Fn=nn?0:1;break;case 123:On=!0,Fn=0;break;case 125:Fn=On?0:1;break;case 39:Fn=pt===39?1:0;break;case 34:Fn=pt===34?1:0;break;case 96:Fn=pt===96?1:0;break;case 42:Fn=pt===42?1:0;break;case 124:Fn=pt===124?1:0;break;case 32:Fn=In?0:1;break;default:Fn=v.get(es)}Fn===1&&(H.push(Ue._createLink(v,pe,G,Qe,He)),ls=!0)}else if(ii===12){let Fn;es===91?(nn=!0,Fn=0):Fn=v.get(es),Fn===1?ls=!0:ii=13}else ii=l.nextState(ii,es),ii===0&&(ls=!0);ls&&(ii=1,yi=!1,nn=!1,On=!1,Qe=He+1,pt=es),He++}ii===13&&H.push(Ue._createLink(v,pe,G,Qe,Te))}return H}}function Se(fe){return!fe||typeof fe.getLineCount!="function"||typeof fe.getLineContent!="function"?[]:Ue.computeLinks(fe)}class ht{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}navigateValueSet(r,l,v,H,G){if(r&&l){const le=this.doNavigateValueSet(l,G);if(le)return{range:r,value:le}}if(v&&H){const le=this.doNavigateValueSet(H,G);if(le)return{range:v,value:le}}return null}doNavigateValueSet(r,l){const v=this.numberReplace(r,l);return v!==null?v:this.textReplace(r,l)}numberReplace(r,l){const v=Math.pow(10,r.length-(r.lastIndexOf(".")+1));let H=Number(r);const G=parseFloat(r);return!isNaN(H)&&!isNaN(G)&&H===G?H===0&&!l?null:(H=Math.floor(H*v),H+=l?v:-v,String(H/v)):null}textReplace(r,l){return this.valueSetsReplace(this._defaultValueSet,r,l)}valueSetsReplace(r,l,v){let H=null;for(let G=0,le=r.length;H===null&&G<le;G++)H=this.valueSetReplace(r[G],l,v);return H}valueSetReplace(r,l,v){let H=r.indexOf(l);return H>=0?(H+=v?1:-1,H<0?H=r.length-1:H%=r.length,r[H]):null}}ht.INSTANCE=new ht;var Oe=m(22912),ft=m(9550),Yt=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};class bi extends Ct{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(r){return this._lines[r-1]}getWordAtPosition(r,l){const v=(0,Pt.t2)(r.column,(0,Pt.eq)(l),this._lines[r.lineNumber-1],0);return v?new Z.e(r.lineNumber,v.startColumn,r.lineNumber,v.endColumn):null}words(r){const l=this._lines,v=this._wordenize.bind(this);let H=0,G="",le=0,pe=[];return{*[Symbol.iterator](){for(;;)if(le<pe.length){const Te=G.substring(pe[le].start,pe[le].end);le+=1,yield Te}else if(H<l.length)G=l[H],pe=v(G,r),le=0,H+=1;else break}}}getLineWords(r,l){const v=this._lines[r-1],H=this._wordenize(v,l),G=[];for(const le of H)G.push({word:v.substring(le.start,le.end),startColumn:le.start+1,endColumn:le.end+1});return G}_wordenize(r,l){const v=[];let H;for(l.lastIndex=0;(H=l.exec(r))&&H[0].length!==0;)v.push({start:H.index,end:H.index+H[0].length});return v}getValueInRange(r){if(r=this._validateRange(r),r.startLineNumber===r.endLineNumber)return this._lines[r.startLineNumber-1].substring(r.startColumn-1,r.endColumn-1);const l=this._eol,v=r.startLineNumber-1,H=r.endLineNumber-1,G=[];G.push(this._lines[v].substring(r.startColumn-1));for(let le=v+1;le<H;le++)G.push(this._lines[le]);return G.push(this._lines[H].substring(0,r.endColumn-1)),G.join(l)}offsetAt(r){return r=this._validatePosition(r),this._ensureLineStarts(),this._lineStarts.getPrefixSum(r.lineNumber-2)+(r.column-1)}positionAt(r){r=Math.floor(r),r=Math.max(0,r),this._ensureLineStarts();const l=this._lineStarts.getIndexOf(r),v=this._lines[l.index].length;return{lineNumber:1+l.index,column:1+Math.min(l.remainder,v)}}_validateRange(r){const l=this._validatePosition({lineNumber:r.startLineNumber,column:r.startColumn}),v=this._validatePosition({lineNumber:r.endLineNumber,column:r.endColumn});return l.lineNumber!==r.startLineNumber||l.column!==r.startColumn||v.lineNumber!==r.endLineNumber||v.column!==r.endColumn?{startLineNumber:l.lineNumber,startColumn:l.column,endLineNumber:v.lineNumber,endColumn:v.column}:r}_validatePosition(r){if(!ne.L.isIPosition(r))throw new Error("bad position");let{lineNumber:l,column:v}=r,H=!1;if(l<1)l=1,v=1,H=!0;else if(l>this._lines.length)l=this._lines.length,v=this._lines[l-1].length+1,H=!0;else{const G=this._lines[l-1].length+1;v<1?(v=1,H=!0):v>G&&(v=G,H=!0)}return H?{lineNumber:l,column:v}:r}}class Gi{constructor(r,l){this._host=r,this._models=Object.create(null),this._foreignModuleFactory=l,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(r){return this._models[r]}_getModels(){const r=[];return Object.keys(this._models).forEach(l=>r.push(this._models[l])),r}acceptNewModel(r){this._models[r.url]=new bi(N.o.parse(r.url),r.lines,r.EOL,r.versionId)}acceptModelChanged(r,l){if(!this._models[r])return;this._models[r].onEvents(l)}acceptRemovedModel(r){this._models[r]&&delete this._models[r]}computeUnicodeHighlights(r,l,v){return Yt(this,void 0,void 0,function*(){const H=this._getModel(r);return H?ft.a.computeUnicodeHighlights(H,l,v):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(r,l,v,H){return Yt(this,void 0,void 0,function*(){const G=this._getModel(r),le=this._getModel(l);return!G||!le?null:Gi.computeDiff(G,le,v,H)})}static computeDiff(r,l,v,H){const G=r.getLinesContent(),le=l.getLinesContent(),Te=new wt(G,le,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:v,shouldMakePrettyDiff:!0,maxComputationTime:H}).computeDiff(),He=Te.changes.length>0?!1:this._modelsAreIdentical(r,l);return{quitEarly:Te.quitEarly,identical:He,changes:Te.changes}}static _modelsAreIdentical(r,l){const v=r.getLineCount(),H=l.getLineCount();if(v!==H)return!1;for(let G=1;G<=v;G++){const le=r.getLineContent(G),pe=l.getLineContent(G);if(le!==pe)return!1}return!0}computeMoreMinimalEdits(r,l){return Yt(this,void 0,void 0,function*(){const v=this._getModel(r);if(!v)return l;const H=[];let G;l=l.slice(0).sort((le,pe)=>{if(le.range&&pe.range)return Z.e.compareRangesUsingStarts(le.range,pe.range);const Te=le.range?0:1,He=pe.range?0:1;return Te-He});for(let{range:le,text:pe,eol:Te}of l){if(typeof Te=="number"&&(G=Te),Z.e.isEmpty(le)&&!pe)continue;const He=v.getValueInRange(le);if(pe=pe.replace(/\r\n|\n|\r/g,v.eol),He===pe)continue;if(Math.max(pe.length,He.length)>Gi._diffLimit){H.push({range:le,text:pe});continue}const Qe=(0,Et.a$)(He,pe,!1),pt=v.offsetAt(Z.e.lift(le).getStartPosition());for(const ii of Qe){const yi=v.positionAt(pt+ii.originalStart),nn=v.positionAt(pt+ii.originalStart+ii.originalLength),In={text:pe.substr(ii.modifiedStart,ii.modifiedLength),range:{startLineNumber:yi.lineNumber,startColumn:yi.column,endLineNumber:nn.lineNumber,endColumn:nn.column}};v.getValueInRange(In.range)!==In.text&&H.push(In)}}return typeof G=="number"&&H.push({eol:G,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),H})}computeLinks(r){return Yt(this,void 0,void 0,function*(){const l=this._getModel(r);return l?Se(l):null})}textualSuggest(r,l,v,H){return Yt(this,void 0,void 0,function*(){const G=new Oe.G(!0),le=new RegExp(v,H),pe=new Set;e:for(const Te of r){const He=this._getModel(Te);if(He){for(const Qe of He.words(le))if(!(Qe===l||!isNaN(Number(Qe)))&&(pe.add(Qe),pe.size>Gi._suggestionsLimit))break e}}return{words:Array.from(pe),duration:G.elapsed()}})}computeWordRanges(r,l,v,H){return Yt(this,void 0,void 0,function*(){const G=this._getModel(r);if(!G)return Object.create(null);const le=new RegExp(v,H),pe=Object.create(null);for(let Te=l.startLineNumber;Te<l.endLineNumber;Te++){const He=G.getLineWords(Te,le);for(const Qe of He){if(!isNaN(Number(Qe.word)))continue;let pt=pe[Qe.word];pt||(pt=[],pe[Qe.word]=pt),pt.push({startLineNumber:Te,startColumn:Qe.startColumn,endLineNumber:Te,endColumn:Qe.endColumn})}}return pe})}navigateValueSet(r,l,v,H,G){return Yt(this,void 0,void 0,function*(){const le=this._getModel(r);if(!le)return null;const pe=new RegExp(H,G);l.startColumn===l.endColumn&&(l={startLineNumber:l.startLineNumber,startColumn:l.startColumn,endLineNumber:l.endLineNumber,endColumn:l.endColumn+1});const Te=le.getValueInRange(l),He=le.getWordAtPosition({lineNumber:l.startLineNumber,column:l.startColumn},pe);if(!He)return null;const Qe=le.getValueInRange(He);return ht.INSTANCE.navigateValueSet(l,Te,He,Qe,v)})}loadForeignModule(r,l,v){const H=(pe,Te)=>this._host.fhr(pe,Te),le={host:me.IU(v,H),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(le,l),Promise.resolve(me.$E(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(r,l){if(!this._foreignModule||typeof this._foreignModule[r]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+r));try{return Promise.resolve(this._foreignModule[r].apply(this._foreignModule,l))}catch(v){return Promise.reject(v)}}}Gi._diffLimit=1e5,Gi._suggestionsLimit=1e4;function Dn(fe){return new Gi(fe,null)}typeof importScripts=="function"&&(ge.li.monaco=L());var st=m(12944),bt=m(99359),Zt=m(71401),Ot=m(64467),lt=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Xi=function(fe,r){return function(l,v){r(l,v,fe)}},wi=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};const yt=60*1e3,wn=5*60*1e3;function on(fe,r){const l=fe.getModel(r);return!(!l||l.isTooLargeForSyncing())}let si=class extends he.JT{constructor(r,l,v,H,G){super(),this._modelService=r,this._workerManager=this._register(new be(this._modelService,H)),this._logService=v,this._register(G.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(le,pe)=>on(this._modelService,le.uri)?this._workerManager.withWorker().then(Te=>Te.computeLinks(le.uri)).then(Te=>Te&&{links:Te}):Promise.resolve({links:[]})})),this._register(G.completionProvider.register("*",new Ne(this._workerManager,l,this._modelService,H)))}dispose(){super.dispose()}canComputeUnicodeHighlights(r){return on(this._modelService,r)}computedUnicodeHighlights(r,l,v){return this._workerManager.withWorker().then(H=>H.computedUnicodeHighlights(r,l,v))}computeDiff(r,l,v,H){return this._workerManager.withWorker().then(G=>G.computeDiff(r,l,v,H))}computeMoreMinimalEdits(r,l){if((0,bt.Of)(l)){if(!on(this._modelService,r))return Promise.resolve(l);const v=Oe.G.create(!0),H=this._workerManager.withWorker().then(G=>G.computeMoreMinimalEdits(r,l));return H.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",r.toString(!0),v.elapsed())),Promise.race([H,(0,te.Vs)(1e3).then(()=>l)])}else return Promise.resolve(void 0)}canNavigateValueSet(r){return on(this._modelService,r)}navigateValueSet(r,l,v){return this._workerManager.withWorker().then(H=>H.navigateValueSet(r,l,v))}canComputeWordRanges(r){return on(this._modelService,r)}computeWordRanges(r,l){return this._workerManager.withWorker().then(v=>v.computeWordRanges(r,l))}};si=lt([Xi(0,X.q),Xi(1,st.V),Xi(2,Zt.VZ),Xi(3,W.c_),Xi(4,Ot.p)],si);class Ne{constructor(r,l,v,H){this.languageConfigurationService=H,this._debugDisplayName="wordbasedCompletions",this._workerManager=r,this._configurationService=l,this._modelService=v}provideCompletionItems(r,l){return wi(this,void 0,void 0,function*(){const v=this._configurationService.getValue(r.uri,l,"editor");if(!v.wordBasedSuggestions)return;const H=[];if(v.wordBasedSuggestionsMode==="currentDocument")on(this._modelService,r.uri)&&H.push(r.uri);else for(const pt of this._modelService.getModels())on(this._modelService,pt.uri)&&(pt===r?H.unshift(pt.uri):(v.wordBasedSuggestionsMode==="allDocuments"||pt.getLanguageId()===r.getLanguageId())&&H.push(pt.uri));if(H.length===0)return;const G=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),le=r.getWordAtPosition(l),pe=le?new Z.e(l.lineNumber,le.startColumn,l.lineNumber,le.endColumn):Z.e.fromPositions(l),Te=pe.setEndPosition(l.lineNumber,l.column),Qe=yield(yield this._workerManager.withWorker()).textualSuggest(H,le?.word,G);if(Qe)return{duration:Qe.duration,suggestions:Qe.words.map(pt=>({kind:18,label:pt,insertText:pt,range:{insert:Te,replace:pe}}))}})}}class be extends he.JT{constructor(r,l){super(),this.languageConfigurationService=l,this._modelService=r,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new te.zh).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(wn/2)),this._register(this._modelService.onModelRemoved(H=>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>wn&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new Qt(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class Xe extends he.JT{constructor(r,l,v){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=r,this._modelService=l,!v){const H=new te.zh;H.cancelAndSet(()=>this._checkStopModelSync(),Math.round(yt/2)),this._register(H)}}dispose(){for(const r in this._syncedModels)(0,he.B9)(this._syncedModels[r]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(r,l){for(const v of r){const H=v.toString();this._syncedModels[H]||this._beginModelSync(v,l),this._syncedModels[H]&&(this._syncedModelsLastUsedTime[H]=new Date().getTime())}}_checkStopModelSync(){const r=new Date().getTime(),l=[];for(const v in this._syncedModelsLastUsedTime)r-this._syncedModelsLastUsedTime[v]>yt&&l.push(v);for(const v of l)this._stopModelSync(v)}_beginModelSync(r,l){const v=this._modelService.getModel(r);if(!v||!l&&v.isTooLargeForSyncing())return;const H=r.toString();this._proxy.acceptNewModel({url:v.uri.toString(),lines:v.getLinesContent(),EOL:v.getEOL(),versionId:v.getVersionId()});const G=new he.SL;G.add(v.onDidChangeContent(le=>{this._proxy.acceptModelChanged(H.toString(),le)})),G.add(v.onWillDispose(()=>{this._stopModelSync(H)})),G.add((0,he.OF)(()=>{this._proxy.acceptRemovedModel(H)})),this._syncedModels[H]=G}_stopModelSync(r){const l=this._syncedModels[r];delete this._syncedModels[r],delete this._syncedModelsLastUsedTime[r],(0,he.B9)(l)}}class Rt{constructor(r){this._instance=r,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class Ht{constructor(r){this._workerClient=r}fhr(r,l){return this._workerClient.fhr(r,l)}}class Qt extends he.JT{constructor(r,l,v,H){super(),this.languageConfigurationService=H,this._disposed=!1,this._modelService=r,this._keepIdleModels=l,this._workerFactory=new Dt(v),this._worker=null,this._modelManager=null}fhr(r,l){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new O(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new Ht(this)))}catch(r){de(r),this._worker=new Rt(new Gi(new Ht(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,r=>(de(r),this._worker=new Rt(new Gi(new Ht(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(r){return this._modelManager||(this._modelManager=this._register(new Xe(r,this._modelService,this._keepIdleModels))),this._modelManager}_withSyncedResources(r,l=!1){return wi(this,void 0,void 0,function*(){return this._disposed?Promise.reject((0,_e.F0)()):this._getProxy().then(v=>(this._getOrCreateModelManager(v).ensureSyncedResources(r,l),v))})}computedUnicodeHighlights(r,l,v){return this._withSyncedResources([r]).then(H=>H.computeUnicodeHighlights(r.toString(),l,v))}computeDiff(r,l,v,H){return this._withSyncedResources([r,l],!0).then(G=>G.computeDiff(r.toString(),l.toString(),v,H))}computeMoreMinimalEdits(r,l){return this._withSyncedResources([r]).then(v=>v.computeMoreMinimalEdits(r.toString(),l))}computeLinks(r){return this._withSyncedResources([r]).then(l=>l.computeLinks(r.toString()))}textualSuggest(r,l,v){return wi(this,void 0,void 0,function*(){const H=yield this._withSyncedResources(r),G=v.source,le=(0,d.mr)(v);return H.textualSuggest(r.map(pe=>pe.toString()),l,G,le)})}computeWordRanges(r,l){return this._withSyncedResources([r]).then(v=>{const H=this._modelService.getModel(r);if(!H)return Promise.resolve(null);const G=this.languageConfigurationService.getLanguageConfiguration(H.getLanguageId()).getWordDefinition(),le=G.source,pe=(0,d.mr)(G);return v.computeWordRanges(r.toString(),l,le,pe)})}navigateValueSet(r,l,v){return this._withSyncedResources([r]).then(H=>{const G=this._modelService.getModel(r);if(!G)return null;const le=this.languageConfigurationService.getLanguageConfiguration(G.getLanguageId()).getWordDefinition(),pe=le.source,Te=(0,d.mr)(le);return H.navigateValueSet(r.toString(),l,v,pe,Te)})}dispose(){super.dispose(),this._disposed=!0}}function ai(fe,r,l){return new mi(fe,r,l)}class mi extends Qt{constructor(r,l,v){super(r,v.keepIdleModels||!1,v.label,l),this._foreignModuleId=v.moduleId,this._foreignModuleCreateData=v.createData||null,this._foreignModuleHost=v.host||null,this._foreignProxy=null}fhr(r,l){if(!this._foreignModuleHost||typeof this._foreignModuleHost[r]!="function")return Promise.reject(new Error("Missing method "+r+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[r].apply(this._foreignModuleHost,l))}catch(v){return Promise.reject(v)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(r=>{const l=this._foreignModuleHost?me.$E(this._foreignModuleHost):[];return r.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,l).then(v=>{this._foreignModuleCreateData=null;const H=(pe,Te)=>r.fmr(pe,Te),G=(pe,Te)=>function(){const He=Array.prototype.slice.call(arguments,0);return Te(pe,He)},le={};for(const pe of v)le[pe]=G(pe,H);return le})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(r){return this._withSyncedResources(r).then(l=>this.getProxy())}}var ci=m(38684),qt=m(9283),li=m(8704);function xi(fe){return Array.isArray(fe)}function Si(fe){return!xi(fe)}function Pi(fe){return typeof fe=="string"}function Ti(fe){return!Pi(fe)}function en(fe){return!fe}function Fi(fe,r){return fe.ignoreCase&&r?r.toLowerCase():r}function gn(fe){return fe.replace(/[&<>'"_]/g,"-")}function Qi(fe,r){console.log(`${fe.languageId}: ${r}`)}function Oi(fe,r){return new Error(`${fe.languageId}: ${r}`)}function Bi(fe,r,l,v,H){const G=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let le=null;return r.replace(G,function(pe,Te,He,Qe,pt,ii,yi,nn,In){return en(He)?en(Qe)?!en(pt)&&pt<v.length?Fi(fe,v[pt]):!en(yi)&&fe&&typeof fe[yi]=="string"?fe[yi]:(le===null&&(le=H.split("."),le.unshift(H)),!en(ii)&&ii<le.length?Fi(fe,le[ii]):""):Fi(fe,l):"$"})}function Wi(fe,r){let l=r;for(;l&&l.length>0;){const v=fe.tokenizer[l];if(v)return v;const H=l.lastIndexOf(".");H<0?l=null:l=l.substr(0,H)}return null}function an(fe,r){let l=r;for(;l&&l.length>0;){if(fe.stateNames[l])return!0;const H=l.lastIndexOf(".");H<0?l=null:l=l.substr(0,H)}return!1}var Ci=m(47133),Kn=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Vn=function(fe,r){return function(l,v){r(l,v,fe)}};const Nn=5;class Rn{constructor(r){this._maxCacheDepth=r,this._entries=Object.create(null)}static create(r,l){return this._INSTANCE.create(r,l)}create(r,l){if(r!==null&&r.depth>=this._maxCacheDepth)return new $i(r,l);let v=$i.getStackElementId(r);v.length>0&&(v+="|"),v+=l;let H=this._entries[v];return H||(H=new $i(r,l),this._entries[v]=H,H)}}Rn._INSTANCE=new Rn(Nn);class $i{constructor(r,l){this.parent=r,this.state=l,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(r){let l="";for(;r!==null;)l.length>0&&(l+="|"),l+=r.state,r=r.parent;return l}static _equals(r,l){for(;r!==null&&l!==null;){if(r===l)return!0;if(r.state!==l.state)return!1;r=r.parent,l=l.parent}return r===null&&l===null}equals(r){return $i._equals(this,r)}push(r){return Rn.create(this,r)}pop(){return this.parent}popall(){let r=this;for(;r.parent;)r=r.parent;return r}switchTo(r){return Rn.create(this.parent,r)}}class Tn{constructor(r,l){this.languageId=r,this.state=l}equals(r){return this.languageId===r.languageId&&this.state.equals(r.state)}clone(){return this.state.clone()===this.state?this:new Tn(this.languageId,this.state)}}class qn{constructor(r){this._maxCacheDepth=r,this._entries=Object.create(null)}static create(r,l){return this._INSTANCE.create(r,l)}create(r,l){if(l!==null)return new Ai(r,l);if(r!==null&&r.depth>=this._maxCacheDepth)return new Ai(r,l);const v=$i.getStackElementId(r);let H=this._entries[v];return H||(H=new Ai(r,null),this._entries[v]=H,H)}}qn._INSTANCE=new qn(Nn);class Ai{constructor(r,l){this.stack=r,this.embeddedLanguageData=l}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:qn.create(this.stack,this.embeddedLanguageData)}equals(r){return!(r instanceof Ai)||!this.stack.equals(r.stack)?!1:this.embeddedLanguageData===null&&r.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||r.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(r.embeddedLanguageData)}}class ts{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(r){this._languageId=r}emit(r,l){this._lastTokenType===l&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=l,this._lastTokenLanguage=this._languageId,this._tokens.push(new z.WU(r,l,this._languageId)))}nestedLanguageTokenize(r,l,v,H){const G=v.languageId,le=v.state,pe=z.RW.get(G);if(!pe)return this.enterLanguage(G),this.emit(H,""),le;const Te=pe.tokenize(r,l,le);if(H!==0)for(const He of Te.tokens)this._tokens.push(new z.WU(He.offset+H,He.type,He.language));else this._tokens=this._tokens.concat(Te.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,Te.endState}finalize(r){return new z.hG(this._tokens,r)}}class Ni{constructor(r,l){this._languageService=r,this._theme=l,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(r){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(r)}emit(r,l){const v=this._theme.match(this._currentLanguageId,l);this._lastTokenMetadata!==v&&(this._lastTokenMetadata=v,this._tokens.push(r),this._tokens.push(v))}static _merge(r,l,v){const H=r!==null?r.length:0,G=l.length,le=v!==null?v.length:0;if(H===0&&G===0&&le===0)return new Uint32Array(0);if(H===0&&G===0)return v;if(G===0&&le===0)return r;const pe=new Uint32Array(H+G+le);r!==null&&pe.set(r);for(let Te=0;Te<G;Te++)pe[H+Te]=l[Te];return v!==null&&pe.set(v,H+G),pe}nestedLanguageTokenize(r,l,v,H){const G=v.languageId,le=v.state,pe=z.RW.get(G);if(!pe)return this.enterLanguage(G),this.emit(H,""),le;const Te=pe.tokenizeEncoded(r,l,le);if(H!==0)for(let He=0,Qe=Te.tokens.length;He<Qe;He+=2)Te.tokens[He]+=H;return this._prependTokens=Ni._merge(this._prependTokens,this._tokens,Te.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,Te.endState}finalize(r){return new z.DI(Ni._merge(this._prependTokens,this._tokens,null),r)}}let rs=class nv{constructor(r,l,v,H,G){this._configurationService=G,this._languageService=r,this._standaloneThemeService=l,this._languageId=v,this._lexer=H,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let le=!1;this._tokenizationRegistryListener=z.RW.onDidChange(pe=>{if(le)return;let Te=!1;for(let He=0,Qe=pe.changedLanguages.length;He<Qe;He++){const pt=pe.changedLanguages[He];if(this._embeddedLanguages[pt]){Te=!0;break}}Te&&(le=!0,z.RW.fire([this._languageId]),le=!1)}),this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}),this._configurationService.onDidChangeConfiguration(pe=>{pe.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){const r=[];for(const l in this._embeddedLanguages){const v=z.RW.get(l);if(v){if(v instanceof nv){const H=v.getLoadStatus();H.loaded===!1&&r.push(H.promise)}continue}z.RW.isResolved(l)||r.push(z.RW.getOrCreate(l))}return r.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(r).then(l=>{})}}getInitialState(){const r=Rn.create(null,this._lexer.start);return qn.create(r,null)}tokenize(r,l,v){if(r.length>=this._maxTokenizationLineLength)return(0,A.Ri)(this._languageId,v);const H=new ts,G=this._tokenize(r,l,v,H);return H.finalize(G)}tokenizeEncoded(r,l,v){if(r.length>=this._maxTokenizationLineLength)return(0,A.Dy)(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),v);const H=new Ni(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),G=this._tokenize(r,l,v,H);return H.finalize(G)}_tokenize(r,l,v,H){return v.embeddedLanguageData?this._nestedTokenize(r,l,v,0,H):this._myTokenize(r,l,v,0,H)}_findLeavingNestedLanguageOffset(r,l){let v=this._lexer.tokenizer[l.stack.state];if(!v&&(v=Wi(this._lexer,l.stack.state),!v))throw Oi(this._lexer,"tokenizer state is not defined: "+l.stack.state);let H=-1,G=!1;for(const le of v){if(!Ti(le.action)||le.action.nextEmbedded!=="@pop")continue;G=!0;let pe=le.regex;const Te=le.regex.source;if(Te.substr(0,4)==="^(?:"&&Te.substr(Te.length-1,1)===")"){const Qe=(pe.ignoreCase?"i":"")+(pe.unicode?"u":"");pe=new RegExp(Te.substr(4,Te.length-5),Qe)}const He=r.search(pe);He===-1||He!==0&&le.matchOnlyAtLineStart||(H===-1||He<H)&&(H=He)}if(!G)throw Oi(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+l.stack.state);return H}_nestedTokenize(r,l,v,H,G){const le=this._findLeavingNestedLanguageOffset(r,v);if(le===-1){const He=G.nestedLanguageTokenize(r,l,v.embeddedLanguageData,H);return qn.create(v.stack,new Tn(v.embeddedLanguageData.languageId,He))}const pe=r.substring(0,le);pe.length>0&&G.nestedLanguageTokenize(pe,!1,v.embeddedLanguageData,H);const Te=r.substring(le);return this._myTokenize(Te,l,v,H+le,G)}_safeRuleName(r){return r?r.name:"(unknown)"}_myTokenize(r,l,v,H,G){G.enterLanguage(this._languageId);const le=r.length,pe=l&&this._lexer.includeLF?r+` `:r,Te=pe.length;let He=v.embeddedLanguageData,Qe=v.stack,pt=0,ii=null,yi=!0;for(;yi||pt<Te;){const nn=pt,In=Qe.depth,On=ii?ii.groups.length:0,ls=Qe.state;let es=null,Fn=null,Zn=null,Uo=null,sa=null;if(ii){es=ii.matches;const yn=ii.groups.shift();Fn=yn.matched,Zn=yn.action,Uo=ii.rule,ii.groups.length===0&&(ii=null)}else{if(!yi&&pt>=Te)break;yi=!1;let yn=this._lexer.tokenizer[ls];if(!yn&&(yn=Wi(this._lexer,ls),!yn))throw Oi(this._lexer,"tokenizer state is not defined: "+ls);const xn=pe.substr(pt);for(const io of yn)if((pt===0||!io.matchOnlyAtLineStart)&&(es=xn.match(io.regex),es)){Fn=es[0],Zn=io.action;break}}if(es||(es=[""],Fn=""),Zn||(pt<Te&&(es=[pe.charAt(pt)],Fn=es[0]),Zn=this._lexer.defaultToken),Fn===null)break;for(pt+=Fn.length;Si(Zn)&&Ti(Zn)&&Zn.test;)Zn=Zn.test(Fn,es,ls,pt===Te);let Ns=null;if(typeof Zn=="string"||Array.isArray(Zn))Ns=Zn;else if(Zn.group)Ns=Zn.group;else if(Zn.token!==null&&Zn.token!==void 0){if(Zn.tokenSubst?Ns=Bi(this._lexer,Zn.token,Fn,es,ls):Ns=Zn.token,Zn.nextEmbedded)if(Zn.nextEmbedded==="@pop"){if(!He)throw Oi(this._lexer,"cannot pop embedded language if not inside one");He=null}else{if(He)throw Oi(this._lexer,"cannot enter embedded language from within an embedded language");sa=Bi(this._lexer,Zn.nextEmbedded,Fn,es,ls)}if(Zn.goBack&&(pt=Math.max(0,pt-Zn.goBack)),Zn.switchTo&&typeof Zn.switchTo=="string"){let yn=Bi(this._lexer,Zn.switchTo,Fn,es,ls);if(yn[0]==="@"&&(yn=yn.substr(1)),Wi(this._lexer,yn))Qe=Qe.switchTo(yn);else throw Oi(this._lexer,"trying to switch to a state '"+yn+"' that is undefined in rule: "+this._safeRuleName(Uo))}else{if(Zn.transform&&typeof Zn.transform=="function")throw Oi(this._lexer,"action.transform not supported");if(Zn.next)if(Zn.next==="@push"){if(Qe.depth>=this._lexer.maxStack)throw Oi(this._lexer,"maximum tokenizer stack size reached: ["+Qe.state+","+Qe.parent.state+",...]");Qe=Qe.push(ls)}else if(Zn.next==="@pop"){if(Qe.depth<=1)throw Oi(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(Uo));Qe=Qe.pop()}else if(Zn.next==="@popall")Qe=Qe.popall();else{let yn=Bi(this._lexer,Zn.next,Fn,es,ls);if(yn[0]==="@"&&(yn=yn.substr(1)),Wi(this._lexer,yn))Qe=Qe.push(yn);else throw Oi(this._lexer,"trying to set a next state '"+yn+"' that is undefined in rule: "+this._safeRuleName(Uo))}}Zn.log&&typeof Zn.log=="string"&&Qi(this._lexer,this._lexer.languageId+": "+Bi(this._lexer,Zn.log,Fn,es,ls))}if(Ns===null)throw Oi(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(Uo));const Kc=yn=>{const xn=this._languageService.getLanguageIdByLanguageName(yn)||this._languageService.getLanguageIdByMimeType(yn)||yn,io=this._getNestedEmbeddedLanguageData(xn);if(pt<Te){const il=r.substr(pt);return this._nestedTokenize(il,l,qn.create(Qe,io),H+pt,G)}else return qn.create(Qe,io)};if(Array.isArray(Ns)){if(ii&&ii.groups.length>0)throw Oi(this._lexer,"groups cannot be nested: "+this._safeRuleName(Uo));if(es.length!==Ns.length+1)throw Oi(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(Uo));let yn=0;for(let xn=1;xn<es.length;xn++)yn+=es[xn].length;if(yn!==Fn.length)throw Oi(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(Uo));ii={rule:Uo,matches:es,groups:[]};for(let xn=0;xn<Ns.length;xn++)ii.groups[xn]={action:Ns[xn],matched:es[xn+1]};pt-=Fn.length;continue}else{if(Ns==="@rematch"&&(pt-=Fn.length,Fn="",es=null,Ns="",sa!==null))return Kc(sa);if(Fn.length===0){if(Te===0||In!==Qe.depth||ls!==Qe.state||(ii?ii.groups.length:0)!==On)continue;throw Oi(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(Uo))}let yn=null;if(Pi(Ns)&&Ns.indexOf("@brackets")===0){const xn=Ns.substr(9),io=Yi(this._lexer,Fn);if(!io)throw Oi(this._lexer,"@brackets token returned but no bracket defined as: "+Fn);yn=gn(io.token+xn)}else{const xn=Ns===""?"":Ns+this._lexer.tokenPostfix;yn=gn(xn)}nn<le&&G.emit(nn+H,yn)}if(sa!==null)return Kc(sa)}return qn.create(Qe,He)}_getNestedEmbeddedLanguageData(r){if(!this._languageService.isRegisteredLanguageId(r))return new Tn(r,A.TJ);r!==this._languageId&&(z.RW.getOrCreate(r),this._embeddedLanguages[r]=!0);const l=z.RW.get(r);return l?new Tn(r,l.getInitialState()):new Tn(r,A.TJ)}};rs=Kn([Vn(4,Ci.Ui)],rs);function Yi(fe,r){if(!r)return null;r=Fi(fe,r);const l=fe.brackets;for(const v of l){if(v.open===r)return{token:v.token,bracketType:1};if(v.close===r)return{token:v.token,bracketType:-1}}return null}var hn=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})},Vi;const vn=(Vi=window.trustedTypes)===null||Vi===void 0?void 0:Vi.createPolicy("standaloneColorizer",{createHTML:fe=>fe});class Qn{static colorizeElement(r,l,v,H){H=H||{};const G=H.theme||"vs",le=H.mimeType||v.getAttribute("lang")||v.getAttribute("data-lang");if(!le)return console.error("Mode not detected"),Promise.resolve();const pe=l.getLanguageIdByMimeType(le)||le;r.setTheme(G);const Te=v.firstChild?v.firstChild.nodeValue:"";v.className+=" "+G;const He=Qe=>{var pt;const ii=(pt=vn?.createHTML(Qe))!==null&&pt!==void 0?pt:Qe;v.innerHTML=ii};return this.colorize(l,Te||"",pe,H).then(He,Qe=>console.error(Qe))}static colorize(r,l,v,H){return hn(this,void 0,void 0,function*(){const G=r.languageIdCodec;let le=4;H&&typeof H.tabSize=="number"&&(le=H.tabSize),d.uS(l)&&(l=l.substr(1));const pe=d.uq(l);if(!r.isRegisteredLanguageId(v))return mn(pe,le,G);const Te=yield z.RW.getOrCreate(v);return Te?Ss(pe,le,Te,G):mn(pe,le,G)})}static colorizeLine(r,l,v,H,G=4){const le=li.wA.isBasicASCII(r,l),pe=li.wA.containsRTL(r,le,v);return(0,qt.tF)(new qt.IJ(!1,!0,r,!1,le,pe,0,H,[],G,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(r,l,v=4){const H=r.getLineContent(l);r.tokenization.forceTokenization(l);const le=r.tokenization.getLineTokens(l).inflate();return this.colorizeLine(H,r.mightContainNonBasicASCII(),r.mightContainRTL(),le,v)}}function Ss(fe,r,l,v){return new Promise((H,G)=>{const le=()=>{const pe=Is(fe,r,l,v);if(l instanceof rs){const Te=l.getLoadStatus();if(Te.loaded===!1){Te.promise.then(le,G);return}}H(pe)};le()})}function mn(fe,r,l){let v=[];const G=new Uint32Array(2);G[0]=0,G[1]=33587200;for(let le=0,pe=fe.length;le<pe;le++){const Te=fe[le];G[0]=Te.length;const He=new ci.A(G,Te,l),Qe=li.wA.isBasicASCII(Te,!0),pt=li.wA.containsRTL(Te,Qe,!0),ii=(0,qt.tF)(new qt.IJ(!1,!0,Te,!1,Qe,pt,0,He,[],r,0,0,0,0,-1,"none",!1,!1,null));v=v.concat(ii.html),v.push("<br/>")}return v.join("")}function Is(fe,r,l,v){let H=[],G=l.getInitialState();for(let le=0,pe=fe.length;le<pe;le++){const Te=fe[le],He=l.tokenizeEncoded(Te,!0,G);ci.A.convertToEndOffset(He.tokens,Te.length);const Qe=new ci.A(He.tokens,Te,v),pt=li.wA.isBasicASCII(Te,!0),ii=li.wA.containsRTL(Te,pt,!0),yi=(0,qt.tF)(new qt.IJ(!1,!0,Te,!1,pt,ii,0,Qe.inflate(),[],r,0,0,0,0,-1,"none",!1,!1,null));H=H.concat(yi.html),H.push("<br/>"),G=He.endState}return H.join("")}var Sn=m(48063),Ln=m(89581),fo=m(96241),Ms=m(83728),As=m(81698),xt=m(22120),ds=m(33073),ys=m(48119),is=m(26194),Us=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},vs=function(fe,r){return function(l,v){r(l,v,fe)}},Ps=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};let Gs=class extends he.JT{constructor(r){super(),this._themeService=r,this._onCodeEditorAdd=this._register(new ie.Q5),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new ie.Q5),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onDiffEditorAdd=this._register(new ie.Q5),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new ie.Q5),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ys.S,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}addCodeEditor(r){this._codeEditors[r.getId()]=r,this._onCodeEditorAdd.fire(r)}removeCodeEditor(r){delete this._codeEditors[r.getId()]&&this._onCodeEditorRemove.fire(r)}listCodeEditors(){return Object.keys(this._codeEditors).map(r=>this._codeEditors[r])}addDiffEditor(r){this._diffEditors[r.getId()]=r,this._onDiffEditorAdd.fire(r)}removeDiffEditor(r){delete this._diffEditors[r.getId()]&&this._onDiffEditorRemove.fire(r)}listDiffEditors(){return Object.keys(this._diffEditors).map(r=>this._diffEditors[r])}getFocusedCodeEditor(){let r=null;const l=this.listCodeEditors();for(const v of l){if(v.hasTextFocus())return v;v.hasWidgetFocus()&&(r=v)}return r}removeDecorationType(r){const l=this._decorationOptionProviders.get(r);l&&(l.refCount--,l.refCount<=0&&(this._decorationOptionProviders.delete(r),l.dispose(),this.listCodeEditors().forEach(v=>v.removeDecorationsByType(r))))}setModelProperty(r,l,v){const H=r.toString();let G;this._modelProperties.has(H)?G=this._modelProperties.get(H):(G=new Map,this._modelProperties.set(H,G)),G.set(l,v)}getModelProperty(r,l){const v=r.toString();if(this._modelProperties.has(v))return this._modelProperties.get(v).get(l)}openCodeEditor(r,l,v){return Ps(this,void 0,void 0,function*(){for(const H of this._codeEditorOpenHandlers){const G=yield H(r,l,v);if(G!==null)return G}return null})}registerCodeEditorOpenHandler(r){const l=this._codeEditorOpenHandlers.unshift(r);return(0,he.OF)(l)}};Gs=Us([vs(0,is.XE)],Gs);class Qs{constructor(r){this._styleSheet=r}}var as=m(50199),Wn=m(59894),pn=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},$t=function(fe,r){return function(l,v){r(l,v,fe)}},Ri=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};let sn=class extends Gs{constructor(r,l){super(l),this.onCodeEditorAdd(()=>this._checkContextKey()),this.onCodeEditorRemove(()=>this._checkContextKey()),this._editorIsOpen=r.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this.registerCodeEditorOpenHandler((v,H,G)=>Ri(this,void 0,void 0,function*(){return H?this.doOpenEditor(H,v):null}))}_checkContextKey(){let r=!1;for(const l of this.listCodeEditors())if(!l.isSimpleWidget){r=!0;break}this._editorIsOpen.set(r)}setActiveCodeEditor(r){this._activeCodeEditor=r}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(r,l){if(!this.findModel(r,l.resource)){if(l.resource){const G=l.resource.scheme;if(G===ds.lg.http||G===ds.lg.https)return(0,xt.V3)(l.resource.toString()),r}return null}const H=l.options?l.options.selection:null;if(H)if(typeof H.endLineNumber=="number"&&typeof H.endColumn=="number")r.setSelection(H),r.revealRangeInCenter(H,1);else{const G={lineNumber:H.startLineNumber,column:H.startColumn};r.setPosition(G),r.revealPositionInCenter(G,1)}return r}findModel(r,l){const v=r.getModel();return v&&v.uri.toString()!==l.toString()?null:v}};sn=pn([$t(0,as.i6),$t(1,is.XE)],sn),(0,Wn.z)(E.$,sn);var Mn=m(41846);const ms=(0,Mn.yh)("layoutService");var ns=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},et=function(fe,r){return function(l,v){r(l,v,fe)}};let w=class{constructor(r){this._codeEditorService=r,this.onDidLayout=ie.ju.None,this.offset={top:0,quickPickTop:0}}get dimension(){return this._dimension||(this._dimension=xt.D6(window.document.body)),this._dimension}get hasContainer(){return!1}get container(){throw new Error("ILayoutService.container is not available in the standalone editor!")}focus(){var r;(r=this._codeEditorService.getFocusedCodeEditor())===null||r===void 0||r.focus()}};w=ns([et(0,E.$)],w);let F=class extends w{constructor(r,l){super(l),this._container=r}get hasContainer(){return!1}get container(){return this._container}};F=ns([et(1,E.$)],F),(0,Wn.z)(ms,w);var M=m(60478),ee=m(88631),_=m(45312),B=m(21058),ce=m(85762),we=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Le=function(fe,r){return function(l,v){r(l,v,fe)}},Me=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};const ze=!1;function Ge(fe){return fe.scheme===ds.lg.file?fe.fsPath:fe.path}let gt=0;class St{constructor(r,l,v,H,G,le,pe){this.id=++gt,this.type=0,this.actual=r,this.label=r.label,this.confirmBeforeUndo=r.confirmBeforeUndo||!1,this.resourceLabel=l,this.strResource=v,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=H,this.groupOrder=G,this.sourceId=le,this.sourceOrder=pe,this.isValid=!0}setValid(r){this.isValid=r}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class kt{constructor(r,l){this.resourceLabel=r,this.reason=l}}class Ft{constructor(){this.elements=new Map}createMessage(){const r=[],l=[];for(const[,H]of this.elements)(H.reason===0?r:l).push(H.resourceLabel);const v=[];return r.length>0&&v.push(ee.NC({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",r.join(", "))),l.length>0&&v.push(ee.NC({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",l.join(", "))),v.join(` `)}get size(){return this.elements.size}has(r){return this.elements.has(r)}set(r,l){this.elements.set(r,l)}delete(r){return this.elements.delete(r)}}class Vt{constructor(r,l,v,H,G,le,pe){this.id=++gt,this.type=1,this.actual=r,this.label=r.label,this.confirmBeforeUndo=r.confirmBeforeUndo||!1,this.resourceLabels=l,this.strResources=v,this.groupId=H,this.groupOrder=G,this.sourceId=le,this.sourceOrder=pe,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(r,l,v){this.removedResources||(this.removedResources=new Ft),this.removedResources.has(l)||this.removedResources.set(l,new kt(r,v))}setValid(r,l,v){v?this.invalidatedResources&&(this.invalidatedResources.delete(l),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Ft),this.invalidatedResources.has(l)||this.invalidatedResources.set(l,new kt(r,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Jt{constructor(r,l){this.resourceLabel=r,this.strResource=l,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const r of this._past)r.type===1&&r.removeResource(this.resourceLabel,this.strResource,0);for(const r of this._future)r.type===1&&r.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const r=[];r.push(`* ${this.strResource}:`);for(let l=0;l<this._past.length;l++)r.push(` * [UNDO] ${this._past[l]}`);for(let l=this._future.length-1;l>=0;l--)r.push(` * [REDO] ${this._future[l]}`);return r.join(` `)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(r,l){r.type===1?r.setValid(this.resourceLabel,this.strResource,l):r.setValid(l)}setElementsValidFlag(r,l){for(const v of this._past)l(v.actual)&&this._setElementValidFlag(v,r);for(const v of this._future)l(v.actual)&&this._setElementValidFlag(v,r)}pushElement(r){for(const l of this._future)l.type===1&&l.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(r),this.versionId++}createSnapshot(r){const l=[];for(let v=0,H=this._past.length;v<H;v++)l.push(this._past[v].id);for(let v=this._future.length-1;v>=0;v--)l.push(this._future[v].id);return new ce.YO(r,l)}restoreSnapshot(r){const l=r.elements.length;let v=!0,H=0,G=-1;for(let pe=0,Te=this._past.length;pe<Te;pe++,H++){const He=this._past[pe];v&&(H>=l||He.id!==r.elements[H])&&(v=!1,G=0),!v&&He.type===1&&He.removeResource(this.resourceLabel,this.strResource,0)}let le=-1;for(let pe=this._future.length-1;pe>=0;pe--,H++){const Te=this._future[pe];v&&(H>=l||Te.id!==r.elements[H])&&(v=!1,le=pe),!v&&Te.type===1&&Te.removeResource(this.resourceLabel,this.strResource,0)}G!==-1&&(this._past=this._past.slice(0,G)),le!==-1&&(this._future=this._future.slice(le+1)),this.versionId++}getElements(){const r=[],l=[];for(const v of this._past)r.push(v.actual);for(const v of this._future)l.push(v.actual);return{past:r,future:l}}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(r,l){for(let v=this._past.length-1;v>=0;v--)if(this._past[v]===r){l.has(this.strResource)?this._past[v]=l.get(this.strResource):this._past.splice(v,1);break}this.versionId++}splitFutureWorkspaceElement(r,l){for(let v=this._future.length-1;v>=0;v--)if(this._future[v]===r){l.has(this.strResource)?this._future[v]=l.get(this.strResource):this._future.splice(v,1);break}this.versionId++}moveBackward(r){this._past.pop(),this._future.push(r),this.versionId++}moveForward(r){this._future.pop(),this._past.push(r),this.versionId++}}class pi{constructor(r){this.editStacks=r,this._versionIds=[];for(let l=0,v=this.editStacks.length;l<v;l++)this._versionIds[l]=this.editStacks[l].versionId}isValid(){for(let r=0,l=this.editStacks.length;r<l;r++)if(this._versionIds[r]!==this.editStacks[r].versionId)return!1;return!0}}const ki=new Jt("","");ki.locked=!0;let qi=class{constructor(r,l){this._dialogService=r,this._notificationService=l,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(r){for(const l of this._uriComparisonKeyComputers)if(l[0]===r.scheme)return l[1].getComparisonKey(r);return r.toString()}_print(r){console.log("------------------------------------"),console.log(`AFTER ${r}: `);const l=[];for(const v of this._editStacks)l.push(v[1].toString());console.log(l.join(` `))}pushElement(r,l=ce.Xt.None,v=ce.gJ.None){if(r.type===0){const H=Ge(r.resource),G=this.getUriComparisonKey(r.resource);this._pushElement(new St(r,H,G,l.id,l.nextOrder(),v.id,v.nextOrder()))}else{const H=new Set,G=[],le=[];for(const pe of r.resources){const Te=Ge(pe),He=this.getUriComparisonKey(pe);H.has(He)||(H.add(He),G.push(Te),le.push(He))}G.length===1?this._pushElement(new St(r,G[0],le[0],l.id,l.nextOrder(),v.id,v.nextOrder())):this._pushElement(new Vt(r,G,le,l.id,l.nextOrder(),v.id,v.nextOrder()))}ze&&this._print("pushElement")}_pushElement(r){for(let l=0,v=r.strResources.length;l<v;l++){const H=r.resourceLabels[l],G=r.strResources[l];let le;this._editStacks.has(G)?le=this._editStacks.get(G):(le=new Jt(H,G),this._editStacks.set(G,le)),le.pushElement(r)}}getLastElement(r){const l=this.getUriComparisonKey(r);if(this._editStacks.has(l)){const v=this._editStacks.get(l);if(v.hasFutureElements())return null;const H=v.getClosestPastElement();return H?H.actual:null}return null}_splitPastWorkspaceElement(r,l){const v=r.actual.split(),H=new Map;for(const G of v){const le=Ge(G.resource),pe=this.getUriComparisonKey(G.resource),Te=new St(G,le,pe,0,0,0,0);H.set(Te.strResource,Te)}for(const G of r.strResources){if(l&&l.has(G))continue;this._editStacks.get(G).splitPastWorkspaceElement(r,H)}}_splitFutureWorkspaceElement(r,l){const v=r.actual.split(),H=new Map;for(const G of v){const le=Ge(G.resource),pe=this.getUriComparisonKey(G.resource),Te=new St(G,le,pe,0,0,0,0);H.set(Te.strResource,Te)}for(const G of r.strResources){if(l&&l.has(G))continue;this._editStacks.get(G).splitFutureWorkspaceElement(r,H)}}removeElements(r){const l=typeof r=="string"?r:this.getUriComparisonKey(r);this._editStacks.has(l)&&(this._editStacks.get(l).dispose(),this._editStacks.delete(l)),ze&&this._print("removeElements")}setElementsValidFlag(r,l,v){const H=this.getUriComparisonKey(r);this._editStacks.has(H)&&this._editStacks.get(H).setElementsValidFlag(l,v),ze&&this._print("setElementsValidFlag")}createSnapshot(r){const l=this.getUriComparisonKey(r);return this._editStacks.has(l)?this._editStacks.get(l).createSnapshot(r):new ce.YO(r,[])}restoreSnapshot(r){const l=this.getUriComparisonKey(r.resource);if(this._editStacks.has(l)){const v=this._editStacks.get(l);v.restoreSnapshot(r),!v.hasPastElements()&&!v.hasFutureElements()&&(v.dispose(),this._editStacks.delete(l))}ze&&this._print("restoreSnapshot")}getElements(r){const l=this.getUriComparisonKey(r);return this._editStacks.has(l)?this._editStacks.get(l).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(r){if(!r)return[null,null];let l=null,v=null;for(const[H,G]of this._editStacks){const le=G.getClosestPastElement();le&&le.sourceId===r&&(!l||le.sourceOrder>l.sourceOrder)&&(l=le,v=H)}return[l,v]}canUndo(r){if(r instanceof ce.gJ){const[,v]=this._findClosestUndoElementWithSource(r.id);return!!v}const l=this.getUriComparisonKey(r);return this._editStacks.has(l)?this._editStacks.get(l).hasPastElements():!1}_onError(r,l){(0,_e.dL)(r);for(const v of l.strResources)this.removeElements(v);this._notificationService.error(r)}_acquireLocks(r){for(const l of r.editStacks)if(l.locked)throw new Error("Cannot acquire edit stack lock");for(const l of r.editStacks)l.locked=!0;return()=>{for(const l of r.editStacks)l.locked=!1}}_safeInvokeWithLocks(r,l,v,H,G){const le=this._acquireLocks(v);let pe;try{pe=l()}catch(Te){return le(),H.dispose(),this._onError(Te,r)}return pe?pe.then(()=>(le(),H.dispose(),G()),Te=>(le(),H.dispose(),this._onError(Te,r))):(le(),H.dispose(),G())}_invokeWorkspacePrepare(r){return Me(this,void 0,void 0,function*(){if(typeof r.actual.prepareUndoRedo>"u")return he.JT.None;const l=r.actual.prepareUndoRedo();return typeof l>"u"?he.JT.None:l})}_invokeResourcePrepare(r,l){if(r.actual.type!==1||typeof r.actual.prepareUndoRedo>"u")return l(he.JT.None);const v=r.actual.prepareUndoRedo();return v?(0,he.Wf)(v)?l(v):v.then(H=>l(H)):l(he.JT.None)}_getAffectedEditStacks(r){const l=[];for(const v of r.strResources)l.push(this._editStacks.get(v)||ki);return new pi(l)}_tryToSplitAndUndo(r,l,v,H){if(l.canSplit())return this._splitPastWorkspaceElement(l,v),this._notificationService.warn(H),new kn(this._undo(r,0,!0));for(const G of l.strResources)this.removeElements(G);return this._notificationService.warn(H),new kn}_checkWorkspaceUndo(r,l,v,H){if(l.removedResources)return this._tryToSplitAndUndo(r,l,l.removedResources,ee.NC({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",l.label,l.removedResources.createMessage()));if(H&&l.invalidatedResources)return this._tryToSplitAndUndo(r,l,l.invalidatedResources,ee.NC({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",l.label,l.invalidatedResources.createMessage()));const G=[];for(const pe of v.editStacks)pe.getClosestPastElement()!==l&&G.push(pe.resourceLabel);if(G.length>0)return this._tryToSplitAndUndo(r,l,null,ee.NC({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}",l.label,G.join(", ")));const le=[];for(const pe of v.editStacks)pe.locked&&le.push(pe.resourceLabel);return le.length>0?this._tryToSplitAndUndo(r,l,null,ee.NC({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}",l.label,le.join(", "))):v.isValid()?null:this._tryToSplitAndUndo(r,l,null,ee.NC({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",l.label))}_workspaceUndo(r,l,v){const H=this._getAffectedEditStacks(l),G=this._checkWorkspaceUndo(r,l,H,!1);return G?G.returnValue:this._confirmAndExecuteWorkspaceUndo(r,l,H,v)}_isPartOfUndoGroup(r){if(!r.groupId)return!1;for(const[,l]of this._editStacks){const v=l.getClosestPastElement();if(v){if(v===r){const H=l.getSecondClosestPastElement();if(H&&H.groupId===r.groupId)return!0}if(v.groupId===r.groupId)return!0}}return!1}_confirmAndExecuteWorkspaceUndo(r,l,v,H){return Me(this,void 0,void 0,function*(){if(l.canSplit()&&!this._isPartOfUndoGroup(l)){const pe=yield this._dialogService.show(M.Z.Info,ee.NC("confirmWorkspace","Would you like to undo '{0}' across all files?",l.label),[ee.NC({key:"ok",comment:["{0} denotes a number that is > 1"]},"Undo in {0} Files",v.editStacks.length),ee.NC("nok","Undo this File"),ee.NC("cancel","Cancel")],{cancelId:2});if(pe.choice===2)return;if(pe.choice===1)return this._splitPastWorkspaceElement(l,null),this._undo(r,0,!0);const Te=this._checkWorkspaceUndo(r,l,v,!1);if(Te)return Te.returnValue;H=!0}let G;try{G=yield this._invokeWorkspacePrepare(l)}catch(pe){return this._onError(pe,l)}const le=this._checkWorkspaceUndo(r,l,v,!0);if(le)return G.dispose(),le.returnValue;for(const pe of v.editStacks)pe.moveBackward(l);return this._safeInvokeWithLocks(l,()=>l.actual.undo(),v,G,()=>this._continueUndoInGroup(l.groupId,H))})}_resourceUndo(r,l,v){if(!l.isValid){r.flushAllElements();return}if(r.locked){const H=ee.NC({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",l.label);this._notificationService.warn(H);return}return this._invokeResourcePrepare(l,H=>(r.moveBackward(l),this._safeInvokeWithLocks(l,()=>l.actual.undo(),new pi([r]),H,()=>this._continueUndoInGroup(l.groupId,v))))}_findClosestUndoElementInGroup(r){if(!r)return[null,null];let l=null,v=null;for(const[H,G]of this._editStacks){const le=G.getClosestPastElement();le&&le.groupId===r&&(!l||le.groupOrder>l.groupOrder)&&(l=le,v=H)}return[l,v]}_continueUndoInGroup(r,l){if(!r)return;const[,v]=this._findClosestUndoElementInGroup(r);if(v)return this._undo(v,0,l)}undo(r){if(r instanceof ce.gJ){const[,l]=this._findClosestUndoElementWithSource(r.id);return l?this._undo(l,r.id,!1):void 0}return typeof r=="string"?this._undo(r,0,!1):this._undo(this.getUriComparisonKey(r),0,!1)}_undo(r,l=0,v){if(!this._editStacks.has(r))return;const H=this._editStacks.get(r),G=H.getClosestPastElement();if(!G)return;if(G.groupId){const[pe,Te]=this._findClosestUndoElementInGroup(G.groupId);if(G!==pe&&Te)return this._undo(Te,l,v)}if((G.sourceId!==l||G.confirmBeforeUndo)&&!v)return this._confirmAndContinueUndo(r,l,G);try{return G.type===1?this._workspaceUndo(r,G,v):this._resourceUndo(H,G,v)}finally{ze&&this._print("undo")}}_confirmAndContinueUndo(r,l,v){return Me(this,void 0,void 0,function*(){if((yield this._dialogService.show(M.Z.Info,ee.NC("confirmDifferentSource","Would you like to undo '{0}'?",v.label),[ee.NC("confirmDifferentSource.yes","Yes"),ee.NC("confirmDifferentSource.no","No")],{cancelId:1})).choice!==1)return this._undo(r,l,!0)})}_findClosestRedoElementWithSource(r){if(!r)return[null,null];let l=null,v=null;for(const[H,G]of this._editStacks){const le=G.getClosestFutureElement();le&&le.sourceId===r&&(!l||le.sourceOrder<l.sourceOrder)&&(l=le,v=H)}return[l,v]}canRedo(r){if(r instanceof ce.gJ){const[,v]=this._findClosestRedoElementWithSource(r.id);return!!v}const l=this.getUriComparisonKey(r);return this._editStacks.has(l)?this._editStacks.get(l).hasFutureElements():!1}_tryToSplitAndRedo(r,l,v,H){if(l.canSplit())return this._splitFutureWorkspaceElement(l,v),this._notificationService.warn(H),new kn(this._redo(r));for(const G of l.strResources)this.removeElements(G);return this._notificationService.warn(H),new kn}_checkWorkspaceRedo(r,l,v,H){if(l.removedResources)return this._tryToSplitAndRedo(r,l,l.removedResources,ee.NC({key:"cannotWorkspaceRedo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not redo '{0}' across all files. {1}",l.label,l.removedResources.createMessage()));if(H&&l.invalidatedResources)return this._tryToSplitAndRedo(r,l,l.invalidatedResources,ee.NC({key:"cannotWorkspaceRedo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not redo '{0}' across all files. {1}",l.label,l.invalidatedResources.createMessage()));const G=[];for(const pe of v.editStacks)pe.getClosestFutureElement()!==l&&G.push(pe.resourceLabel);if(G.length>0)return this._tryToSplitAndRedo(r,l,null,ee.NC({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}",l.label,G.join(", ")));const le=[];for(const pe of v.editStacks)pe.locked&&le.push(pe.resourceLabel);return le.length>0?this._tryToSplitAndRedo(r,l,null,ee.NC({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}",l.label,le.join(", "))):v.isValid()?null:this._tryToSplitAndRedo(r,l,null,ee.NC({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",l.label))}_workspaceRedo(r,l){const v=this._getAffectedEditStacks(l),H=this._checkWorkspaceRedo(r,l,v,!1);return H?H.returnValue:this._executeWorkspaceRedo(r,l,v)}_executeWorkspaceRedo(r,l,v){return Me(this,void 0,void 0,function*(){let H;try{H=yield this._invokeWorkspacePrepare(l)}catch(le){return this._onError(le,l)}const G=this._checkWorkspaceRedo(r,l,v,!0);if(G)return H.dispose(),G.returnValue;for(const le of v.editStacks)le.moveForward(l);return this._safeInvokeWithLocks(l,()=>l.actual.redo(),v,H,()=>this._continueRedoInGroup(l.groupId))})}_resourceRedo(r,l){if(!l.isValid){r.flushAllElements();return}if(r.locked){const v=ee.NC({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",l.label);this._notificationService.warn(v);return}return this._invokeResourcePrepare(l,v=>(r.moveForward(l),this._safeInvokeWithLocks(l,()=>l.actual.redo(),new pi([r]),v,()=>this._continueRedoInGroup(l.groupId))))}_findClosestRedoElementInGroup(r){if(!r)return[null,null];let l=null,v=null;for(const[H,G]of this._editStacks){const le=G.getClosestFutureElement();le&&le.groupId===r&&(!l||le.groupOrder<l.groupOrder)&&(l=le,v=H)}return[l,v]}_continueRedoInGroup(r){if(!r)return;const[,l]=this._findClosestRedoElementInGroup(r);if(l)return this._redo(l)}redo(r){if(r instanceof ce.gJ){const[,l]=this._findClosestRedoElementWithSource(r.id);return l?this._redo(l):void 0}return typeof r=="string"?this._redo(r):this._redo(this.getUriComparisonKey(r))}_redo(r){if(!this._editStacks.has(r))return;const l=this._editStacks.get(r),v=l.getClosestFutureElement();if(v){if(v.groupId){const[H,G]=this._findClosestRedoElementInGroup(v.groupId);if(v!==H&&G)return this._redo(G)}try{return v.type===1?this._workspaceRedo(r,v):this._resourceRedo(l,v)}finally{ze&&this._print("redo")}}}};qi=we([Le(0,_.S),Le(1,B.lT)],qi);class kn{constructor(r){this.returnValue=r}}(0,Wn.z)(ce.tJ,qi);var Mi=m(57756),Hi=m(21458),Os=m(72407),wo=m(94461),ss=m(46727),ro=m(86520),go=m(16320),Fs=m(88324),js=m(37774),qs=m(2758);class Hs{constructor(r={},l=[],v=[]){this._contents=r,this._keys=l,this._overrides=v,this.frozen=!1,this.overrideConfigurations=new Map}get contents(){return this.checkAndFreeze(this._contents)}get overrides(){return this.checkAndFreeze(this._overrides)}get keys(){return this.checkAndFreeze(this._keys)}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(r){return r?(0,Ci.Mt)(this.contents,r):this.contents}getOverrideValue(r,l){const v=this.getContentsForOverrideIdentifer(l);return v?r?(0,Ci.Mt)(v,r):v:void 0}override(r){let l=this.overrideConfigurations.get(r);return l||(l=this.createOverrideConfigurationModel(r),this.overrideConfigurations.set(r,l)),l}merge(...r){const l=qs.I8(this.contents),v=qs.I8(this.overrides),H=[...this.keys];for(const G of r)if(!G.isEmpty()){this.mergeContents(l,G.contents);for(const le of G.overrides){const[pe]=v.filter(Te=>bt.fS(Te.identifiers,le.identifiers));pe?(this.mergeContents(pe.contents,le.contents),pe.keys.push(...le.keys),pe.keys=bt.EB(pe.keys)):v.push(qs.I8(le))}for(const le of G.keys)H.indexOf(le)===-1&&H.push(le)}return new Hs(l,H,v)}freeze(){return this.frozen=!0,this}createOverrideConfigurationModel(r){const l=this.getContentsForOverrideIdentifer(r);if(!l||typeof l!="object"||!Object.keys(l).length)return this;const v={};for(const H of bt.EB([...Object.keys(this.contents),...Object.keys(l)])){let G=this.contents[H];const le=l[H];le&&(typeof G=="object"&&typeof le=="object"?(G=qs.I8(G),this.mergeContents(G,le)):G=le),v[H]=G}return new Hs(v,this.keys,this.overrides)}mergeContents(r,l){for(const v of Object.keys(l)){if(v in r&&me.Kn(r[v])&&me.Kn(l[v])){this.mergeContents(r[v],l[v]);continue}r[v]=qs.I8(l[v])}}checkAndFreeze(r){return this.frozen&&!Object.isFrozen(r)?qs._A(r):r}getContentsForOverrideIdentifer(r){let l=null,v=null;const H=G=>{G&&(v?this.mergeContents(v,G):v=qs.I8(G))};for(const G of this.overrides)bt.fS(G.identifiers,[r])?l=G.contents:G.identifiers.includes(r)&&H(G.contents);return H(l),v}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(r,l){this.addKey(r),(0,Ci.KV)(this.contents,r,l,v=>{throw new Error(v)})}removeValue(r){this.removeKey(r)&&(0,Ci.xL)(this.contents,r)}addKey(r){let l=this.keys.length;for(let v=0;v<l;v++)r.indexOf(this.keys[v])===0&&(l=v);this.keys.splice(l,1,r)}removeKey(r){const l=this.keys.indexOf(r);return l!==-1?(this.keys.splice(l,1),!0):!1}}class zr{constructor(r,l,v,H,G=new Hs,le=new Hs,pe=new js.Y9,Te=new Hs,He=new js.Y9,Qe=!0){this._defaultConfiguration=r,this._policyConfiguration=l,this._applicationConfiguration=v,this._localUserConfiguration=H,this._remoteUserConfiguration=G,this._workspaceConfiguration=le,this._folderConfigurations=pe,this._memoryConfiguration=Te,this._memoryConfigurationByResource=He,this._freeze=Qe,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new js.Y9,this._userConfiguration=null}getValue(r,l,v){return this.getConsolidatedConfigurationModel(r,l,v).getValue(r)}updateValue(r,l,v={}){let H;v.resource?(H=this._memoryConfigurationByResource.get(v.resource),H||(H=new Hs,this._memoryConfigurationByResource.set(v.resource,H))):H=this._memoryConfiguration,l===void 0?H.removeValue(r):H.setValue(r,l),v.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(r,l,v){const H=this.getConsolidatedConfigurationModel(r,l,v),G=this.getFolderConfigurationModelForResource(l.resource,v),le=l.resource?this._memoryConfigurationByResource.get(l.resource)||this._memoryConfiguration:this._memoryConfiguration,pe=l.overrideIdentifier?this._defaultConfiguration.freeze().override(l.overrideIdentifier).getValue(r):this._defaultConfiguration.freeze().getValue(r),Te=this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration.freeze().getValue(r),He=this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration.freeze().getValue(r),Qe=l.overrideIdentifier?this.userConfiguration.freeze().override(l.overrideIdentifier).getValue(r):this.userConfiguration.freeze().getValue(r),pt=l.overrideIdentifier?this.localUserConfiguration.freeze().override(l.overrideIdentifier).getValue(r):this.localUserConfiguration.freeze().getValue(r),ii=l.overrideIdentifier?this.remoteUserConfiguration.freeze().override(l.overrideIdentifier).getValue(r):this.remoteUserConfiguration.freeze().getValue(r),yi=v?l.overrideIdentifier?this._workspaceConfiguration.freeze().override(l.overrideIdentifier).getValue(r):this._workspaceConfiguration.freeze().getValue(r):void 0,nn=G?l.overrideIdentifier?G.freeze().override(l.overrideIdentifier).getValue(r):G.freeze().getValue(r):void 0,In=l.overrideIdentifier?le.override(l.overrideIdentifier).getValue(r):le.getValue(r),On=H.getValue(r),ls=bt.EB(H.overrides.map(es=>es.identifiers).flat()).filter(es=>H.getOverrideValue(r,es)!==void 0);return{defaultValue:pe,policyValue:Te,applicationValue:He,userValue:Qe,userLocalValue:pt,userRemoteValue:ii,workspaceValue:yi,workspaceFolderValue:nn,memoryValue:In,value:On,default:pe!==void 0?{value:this._defaultConfiguration.freeze().getValue(r),override:l.overrideIdentifier?this._defaultConfiguration.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,policy:Te!==void 0?{value:Te}:void 0,application:He!==void 0?{value:He,override:l.overrideIdentifier?this.applicationConfiguration.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,user:Qe!==void 0?{value:this.userConfiguration.freeze().getValue(r),override:l.overrideIdentifier?this.userConfiguration.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,userLocal:pt!==void 0?{value:this.localUserConfiguration.freeze().getValue(r),override:l.overrideIdentifier?this.localUserConfiguration.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,userRemote:ii!==void 0?{value:this.remoteUserConfiguration.freeze().getValue(r),override:l.overrideIdentifier?this.remoteUserConfiguration.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,workspace:yi!==void 0?{value:this._workspaceConfiguration.freeze().getValue(r),override:l.overrideIdentifier?this._workspaceConfiguration.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,workspaceFolder:nn!==void 0?{value:G?.freeze().getValue(r),override:l.overrideIdentifier?G?.freeze().getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,memory:In!==void 0?{value:le.getValue(r),override:l.overrideIdentifier?le.getOverrideValue(r,l.overrideIdentifier):void 0}:void 0,overrideIdentifiers:ls.length?ls:void 0}}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration),this._freeze&&this._userConfiguration.freeze()),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(r,l,v){let H=this.getConsolidatedConfigurationModelForResource(l,v);return l.overrideIdentifier&&(H=H.override(l.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(r)!==void 0&&(H=H.merge(this._policyConfiguration)),H}getConsolidatedConfigurationModelForResource({resource:r},l){let v=this.getWorkspaceConsolidatedConfiguration();if(l&&r){const H=l.getFolder(r);H&&(v=this.getFolderConsolidatedConfiguration(H.uri)||v);const G=this._memoryConfigurationByResource.get(r);G&&(v=v.merge(G))}return v}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(r){let l=this._foldersConsolidatedConfigurations.get(r);if(!l){const v=this.getWorkspaceConsolidatedConfiguration(),H=this._folderConfigurations.get(r);H?(l=v.merge(H),this._freeze&&(l=l.freeze()),this._foldersConsolidatedConfigurations.set(r,l)):l=v}return l}getFolderConfigurationModelForResource(r,l){if(l&&r){const v=l.getFolder(r);if(v)return this._folderConfigurations.get(v.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((r,l)=>{const{contents:v,overrides:H,keys:G}=this._folderConfigurations.get(l);return r.push([l,{contents:v,overrides:H,keys:G}]),r},[])}}static parse(r){const l=this.parseConfigurationModel(r.defaults),v=this.parseConfigurationModel(r.policy),H=this.parseConfigurationModel(r.application),G=this.parseConfigurationModel(r.user),le=this.parseConfigurationModel(r.workspace),pe=r.folders.reduce((Te,He)=>(Te.set(N.o.revive(He[0]),this.parseConfigurationModel(He[1])),Te),new js.Y9);return new zr(l,v,H,G,new Hs,le,pe,new Hs,new js.Y9,!1)}static parseConfigurationModel(r){return new Hs(r.contents,r.keys,r.overrides).freeze()}}class ld{constructor(r,l,v,H){this.change=r,this.previous=l,this.currentConfiguraiton=v,this.currentWorkspace=H,this._previousConfiguration=void 0;const G=new Set;r.keys.forEach(pe=>G.add(pe)),r.overrides.forEach(([,pe])=>pe.forEach(Te=>G.add(Te))),this.affectedKeys=[...G.values()];const le=new Hs;this.affectedKeys.forEach(pe=>le.setValue(pe,{})),this.affectedKeysTree=le.contents}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=zr.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(r,l){var v;if(this.doesAffectedKeysTreeContains(this.affectedKeysTree,r)){if(l){const H=this.previousConfiguration?this.previousConfiguration.getValue(r,l,(v=this.previous)===null||v===void 0?void 0:v.workspace):void 0,G=this.currentConfiguraiton.getValue(r,l,this.currentWorkspace);return!qs.fS(H,G)}return!0}return!1}doesAffectedKeysTreeContains(r,l){let v=(0,Ci.Od)({[l]:!0},()=>{}),H;for(;typeof v=="object"&&(H=Object.keys(v)[0]);){if(r=r[H],!r)return!1;v=v[H]}return!0}}const Ur=/^(cursor|delete)/;class da extends he.JT{constructor(r,l,v,H,G){super(),this._contextKeyService=r,this._commandService=l,this._telemetryService=v,this._notificationService=H,this._logService=G,this._onDidUpdateKeybindings=this._register(new ie.Q5),this._currentChord=null,this._currentChordChecker=new te.zh,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Xn.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new te._F,this._logging=!1}get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ie.ju.None}dispose(){super.dispose()}_log(r){this._logging&&this._logService.info(`[KeybindingService]: ${r}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(r,l){const v=this._getResolver().lookupPrimaryKeybinding(r,l||this._contextKeyService);if(v)return v.resolvedKeybinding}dispatchEvent(r,l){return this._dispatch(r,l)}softDispatch(r,l){this._log("/ Soft dispatching keyboard event");const v=this.resolveKeyboardEvent(r);if(v.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;const[H]=v.getDispatchParts();if(H===null)return this._log("\\ Keyboard event cannot be dispatched"),null;const G=this._contextKeyService.getContext(l),le=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(G,le,H)}_enterChordMode(r,l){this._currentChord={keypress:r,label:l},this._currentChordStatusMessage=this._notificationService.status(ee.NC("first.chord","({0}) was pressed. Waiting for second key of chord...",l));const v=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-v>5e3&&this._leaveChordMode()},500)}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null}_dispatch(r,l){return this._doDispatch(this.resolveKeyboardEvent(r),l,!1)}_singleModifierDispatch(r,l){const v=this.resolveKeyboardEvent(r),[H]=v.getSingleModifierDispatchParts();if(H)return this._ignoreSingleModifiers.has(H)?(this._log(`+ Ignoring single modifier ${H} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Xn.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Xn.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${H}.`),this._currentSingleModifier=H,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):H===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${H} ${H}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(v,l,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${H}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[G]=v.getParts();return this._ignoreSingleModifiers=new Xn(G),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(r,l,v=!1){let H=!1;if(r.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;let G=null,le=null;if(v){const[Qe]=r.getSingleModifierDispatchParts();G=Qe,le=Qe}else[G]=r.getDispatchParts(),le=this._currentChord?this._currentChord.keypress:null;if(G===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),H;const pe=this._contextKeyService.getContext(l),Te=r.getLabel(),He=this._getResolver().resolve(pe,le,G);return this._logService.trace("KeybindingService#dispatch",Te,He?.commandId),He&&He.enterChord?(H=!0,this._enterChordMode(G,Te),this._log("+ Entering chord mode..."),H):(this._currentChord&&(!He||!He.commandId)&&(this._log(`+ Leaving chord mode: Nothing bound to "${this._currentChord.label} ${Te}".`),this._notificationService.status(ee.NC("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,Te),{hideAfter:10*1e3}),H=!0),this._leaveChordMode(),He&&He.commandId&&(He.bubble||(H=!0),this._log(`+ Invoking command ${He.commandId}.`),typeof He.commandArgs>"u"?this._commandService.executeCommand(He.commandId).then(void 0,Qe=>this._notificationService.warn(Qe)):this._commandService.executeCommand(He.commandId,He.commandArgs).then(void 0,Qe=>this._notificationService.warn(Qe)),Ur.test(He.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:He.commandId,from:"keybinding"})),H)}mightProducePrintableCharacter(r){return r.ctrlKey||r.metaKey?!1:r.keyCode>=31&&r.keyCode<=56||r.keyCode>=21&&r.keyCode<=30}}class Xn{constructor(r){this._ctrlKey=r?r.ctrlKey:!1,this._shiftKey=r?r.shiftKey:!1,this._altKey=r?r.altKey:!1,this._metaKey=r?r.metaKey:!1}has(r){switch(r){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}Xn.EMPTY=new Xn(null);var bs=m(29205);class un{constructor(r,l,v){this._log=v,this._defaultKeybindings=r,this._defaultBoundCommands=new Map;for(const H of r){const G=H.command;G&&G.charAt(0)!=="-"&&this._defaultBoundCommands.set(G,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=un.handleRemovals([].concat(r).concat(l));for(let H=0,G=this._keybindings.length;H<G;H++){const le=this._keybindings[H];le.keypressParts.length!==0&&(le.when&&le.when.type===0||this._addKeyPress(le.keypressParts[0],le))}}static _isTargetedForRemoval(r,l,v,H){return!(l&&r.keypressParts[0]!==l||v&&r.keypressParts[1]!==v||H&&(!r.when||!(0,as.Fb)(H,r.when)))}static handleRemovals(r){const l=new Map;for(let H=0,G=r.length;H<G;H++){const le=r[H];if(le.command&&le.command.charAt(0)==="-"){const pe=le.command.substring(1);l.has(pe)?l.get(pe).push(le):l.set(pe,[le])}}if(l.size===0)return r;const v=[];for(let H=0,G=r.length;H<G;H++){const le=r[H];if(!le.command||le.command.length===0){v.push(le);continue}if(le.command.charAt(0)==="-")continue;const pe=l.get(le.command);if(!pe||!le.isDefault){v.push(le);continue}let Te=!1;for(const He of pe){const Qe=He.keypressParts[0],pt=He.keypressParts[1],ii=He.when;if(this._isTargetedForRemoval(le,Qe,pt,ii)){Te=!0;break}}if(!Te){v.push(le);continue}}return v}_addKeyPress(r,l){const v=this._map.get(r);if(typeof v>"u"){this._map.set(r,[l]),this._addToLookupMap(l);return}for(let H=v.length-1;H>=0;H--){const G=v[H];if(G.command===l.command)continue;const le=G.keypressParts.length>1,pe=l.keypressParts.length>1;le&&pe&&G.keypressParts[1]!==l.keypressParts[1]||un.whenIsEntirelyIncluded(G.when,l.when)&&this._removeFromLookupMap(G)}v.push(l),this._addToLookupMap(l)}_addToLookupMap(r){if(!r.command)return;let l=this._lookupMap.get(r.command);typeof l>"u"?(l=[r],this._lookupMap.set(r.command,l)):l.push(r)}_removeFromLookupMap(r){if(!r.command)return;const l=this._lookupMap.get(r.command);if(!(typeof l>"u")){for(let v=0,H=l.length;v<H;v++)if(l[v]===r){l.splice(v,1);return}}}static whenIsEntirelyIncluded(r,l){return!l||l.type===1?!0:!r||r.type===1?!1:(0,as.K8)(r,l)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(r,l){const v=this._lookupMap.get(r);if(typeof v>"u"||v.length===0)return null;if(v.length===1)return v[0];for(let H=v.length-1;H>=0;H--){const G=v[H];if(l.contextMatchesRules(G.when))return G}return v[v.length-1]}resolve(r,l,v){this._log(`| Resolving ${v}${l?` chorded from ${l}`:""}`);let H=null;if(l!==null){const le=this._map.get(l);if(typeof le>"u")return this._log("\\ No keybinding entries."),null;H=[];for(let pe=0,Te=le.length;pe<Te;pe++){const He=le[pe];He.keypressParts[1]===v&&H.push(He)}}else{const le=this._map.get(v);if(typeof le>"u")return this._log("\\ No keybinding entries."),null;H=le}const G=this._findCommand(r,H);return G?l===null&&G.keypressParts.length>1&&G.keypressParts[1]!==null?(this._log(`\\ From ${H.length} keybinding entries, matched chord, when: ${kr(G.when)}, source: ${Tr(G)}.`),{enterChord:!0,leaveChord:!1,commandId:null,commandArgs:null,bubble:!1}):(this._log(`\\ From ${H.length} keybinding entries, matched ${G.command}, when: ${kr(G.when)}, source: ${Tr(G)}.`),{enterChord:!1,leaveChord:G.keypressParts.length>1,commandId:G.command,commandArgs:G.commandArgs,bubble:G.bubble}):(this._log(`\\ From ${H.length} keybinding entries, no when clauses matched the context.`),null)}_findCommand(r,l){for(let v=l.length-1;v>=0;v--){const H=l[v];if(un._contextMatchesRules(r,H.when))return H}return null}static _contextMatchesRules(r,l){return l?l.evaluate(r):!0}}function kr(fe){return fe?`${fe.serialize()}`:"no when condition"}function Tr(fe){return fe.extensionId?fe.isBuiltinExtension?`built-in extension ${fe.extensionId}`:`user extension ${fe.extensionId}`:fe.isDefault?"built-in":"user"}var Mr=m(7898);class Ko{constructor(r,l,v,H,G,le,pe){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=r,this.keypressParts=r?Ar(r.getDispatchParts()):[],r&&this.keypressParts.length===0&&(this.keypressParts=Ar(r.getSingleModifierDispatchParts())),this.bubble=l?l.charCodeAt(0)===94:!1,this.command=this.bubble?l.substr(1):l,this.commandArgs=v,this.when=H,this.isDefault=G,this.extensionId=le,this.isBuiltinExtension=pe}}function Ar(fe){const r=[];for(let l=0,v=fe.length;l<v;l++){const H=fe[l];if(!H)return r;r.push(H)}return r}var Zs=m(88547);class uc extends Os.f1{constructor(r,l){if(super(),l.length===0)throw(0,_e.b1)("parts");this._os=r,this._parts=l}getLabel(){return Zs.xo.toLabel(this._os,this._parts,r=>this._getLabel(r))}getAriaLabel(){return Zs.X4.toLabel(this._os,this._parts,r=>this._getAriaLabel(r))}getElectronAccelerator(){return this._parts.length>1||this._parts[0].isDuplicateModifierCase()?null:Zs.jC.toLabel(this._os,this._parts,r=>this._getElectronAccelerator(r))}isChord(){return this._parts.length>1}getParts(){return this._parts.map(r=>this._getPart(r))}_getPart(r){return new Os.BQ(r.ctrlKey,r.shiftKey,r.altKey,r.metaKey,this._getLabel(r),this._getAriaLabel(r))}getDispatchParts(){return this._parts.map(r=>this._getDispatchPart(r))}getSingleModifierDispatchParts(){return this._parts.map(r=>this._getSingleModifierDispatchPart(r))}}class ca extends uc{constructor(r,l){super(l,r.parts)}_keyCodeToUILabel(r){if(this._os===2)switch(r){case 15:return"\u2190";case 16:return"\u2191";case 17:return"\u2192";case 18:return"\u2193"}return Q.kL.toString(r)}_getLabel(r){return r.isDuplicateModifierCase()?"":this._keyCodeToUILabel(r.keyCode)}_getAriaLabel(r){return r.isDuplicateModifierCase()?"":Q.kL.toString(r.keyCode)}_getElectronAccelerator(r){return Q.kL.toElectronAccelerator(r.keyCode)}_getDispatchPart(r){return ca.getDispatchStr(r)}static getDispatchStr(r){if(r.isModifierKey())return null;let l="";return r.ctrlKey&&(l+="ctrl+"),r.shiftKey&&(l+="shift+"),r.altKey&&(l+="alt+"),r.metaKey&&(l+="meta+"),l+=Q.kL.toString(r.keyCode),l}_getSingleModifierDispatchPart(r){return r.keyCode===5&&!r.shiftKey&&!r.altKey&&!r.metaKey?"ctrl":r.keyCode===4&&!r.ctrlKey&&!r.altKey&&!r.metaKey?"shift":r.keyCode===6&&!r.ctrlKey&&!r.shiftKey&&!r.metaKey?"alt":r.keyCode===57&&!r.ctrlKey&&!r.shiftKey&&!r.altKey?"meta":null}static _scanCodeToKeyCode(r){const l=Q.Vd[r];if(l!==-1)return l;switch(r){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 83;case 52:return 81;case 53:return 87;case 54:return 89;case 55:return 88;case 56:return 0;case 57:return 80;case 58:return 90;case 59:return 86;case 60:return 82;case 61:return 84;case 62:return 85;case 106:return 92}return 0}static _resolveSimpleUserBinding(r){if(!r)return null;if(r instanceof Os.QC)return r;const l=this._scanCodeToKeyCode(r.scanCode);return l===0?null:new Os.QC(r.ctrlKey,r.shiftKey,r.altKey,r.metaKey,l)}static resolveUserBinding(r,l){const v=Ar(r.map(H=>this._resolveSimpleUserBinding(H)));return v.length>0?[new ca(new Os.X_(v),l)]:[]}}var fc=m(84943),_r=m(61554),jr=m(24933),$o=m(63409),ha=m(24881),Cr=m(51704),tr=m(59536),ps=m(30746),ua=m(39910),ka=m(50996),vr=m(45644),So;(function(fe){fe[fe.AVOID=0]="AVOID",fe[fe.ALIGN=1]="ALIGN"})(So||(So={}));function To(fe,r,l){const v=l.mode===So.ALIGN?l.offset:l.offset+l.size,H=l.mode===So.ALIGN?l.offset+l.size:l.offset;return l.position===0?r<=fe-v?v:r<=H?H-r:Math.max(fe-r,0):r<=H?H-r:r<=fe-v?v:0}class ao extends he.JT{constructor(r,l){super(),this.container=null,this.delegate=null,this.toDisposeOnClean=he.JT.None,this.toDisposeOnSetContainer=he.JT.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=xt.$(".context-view"),this.useFixedPosition=!1,this.useShadowDOM=!1,xt.Cp(this.view),this.setContainer(r,l),this._register((0,he.OF)(()=>this.setContainer(null,1)))}setContainer(r,l){var v;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(v=this.shadowRootHostElement)===null||v===void 0||v.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),r){if(this.container=r,this.useFixedPosition=l!==1,this.useShadowDOM=l===3,this.useShadowDOM){this.shadowRootHostElement=xt.$(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const G=document.createElement("style");G.textContent=dd,this.shadowRoot.appendChild(G),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(xt.$("slot"))}else this.container.appendChild(this.view);const H=new he.SL;ao.BUBBLE_UP_EVENTS.forEach(G=>{H.add(xt.mu(this.container,G,le=>{this.onDOMEvent(le,!1)}))}),ao.BUBBLE_DOWN_EVENTS.forEach(G=>{H.add(xt.mu(this.container,G,le=>{this.onDOMEvent(le,!0)},!0))}),this.toDisposeOnSetContainer=H}}show(r){var l,v;this.isVisible()&&this.hide(),xt.PO(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2575",this.view.style.position=this.useFixedPosition?"fixed":"absolute",xt.$Z(this.view),this.toDisposeOnClean=r.render(this.view)||he.JT.None,this.delegate=r,this.doLayout(),(v=(l=this.delegate).focus)===null||v===void 0||v.call(l)}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(ge.gn&&ua.D.pointerEvents)){this.hide();return}this.delegate.layout&&this.delegate.layout(),this.doLayout()}}doLayout(){if(!this.isVisible())return;const r=this.delegate.getAnchor();let l;if(xt.Re(r)){const pt=xt.i(r),ii=xt.I8(r);l={top:pt.top*ii,left:pt.left*ii,width:pt.width*ii,height:pt.height*ii}}else l={top:r.y,left:r.x,width:r.width||1,height:r.height||2};const v=xt.w(this.view),H=xt.wn(this.view),G=this.delegate.anchorPosition||0,le=this.delegate.anchorAlignment||0,pe=this.delegate.anchorAxisAlignment||0;let Te,He;if(pe===0){const pt={offset:l.top-window.pageYOffset,size:l.height,position:G===0?0:1},ii={offset:l.left,size:l.width,position:le===0?0:1,mode:So.ALIGN};Te=To(window.innerHeight,H,pt)+window.pageYOffset,ka.e.intersects({start:Te,end:Te+H},{start:pt.offset,end:pt.offset+pt.size})&&(ii.mode=So.AVOID),He=To(window.innerWidth,v,ii)}else{const pt={offset:l.left,size:l.width,position:le===0?0:1},ii={offset:l.top,size:l.height,position:G===0?0:1,mode:So.ALIGN};He=To(window.innerWidth,v,pt),ka.e.intersects({start:He,end:He+v},{start:pt.offset,end:pt.offset+pt.size})&&(ii.mode=So.AVOID),Te=To(window.innerHeight,H,ii)+window.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(G===0?"bottom":"top"),this.view.classList.add(le===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const Qe=xt.i(this.container);this.view.style.top=`${Te-(this.useFixedPosition?xt.i(this.view).top:Qe.top)}px`,this.view.style.left=`${He-(this.useFixedPosition?xt.i(this.view).left:Qe.left)}px`,this.view.style.width="initial"}hide(r){const l=this.delegate;this.delegate=null,l?.onHide&&l.onHide(r),this.toDisposeOnClean.dispose(),xt.Cp(this.view)}isVisible(){return!!this.delegate}onDOMEvent(r,l){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(r,document.activeElement):l&&!xt.jg(r.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}ao.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],ao.BUBBLE_DOWN_EVENTS=["click"];const dd=` :host { all: initial; /* 1st rule so subsequent properties are reset. */ } @font-face { font-family: "codicon"; font-display: block; src: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype"); } .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 cd=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},gc=function(fe,r){return function(l,v){r(l,v,fe)}};let ul=class extends he.JT{constructor(r){super(),this.layoutService=r,this.currentViewDisposable=he.JT.None,this.container=r.hasContainer?r.container:null,this.contextView=this._register(new ao(this.container,1)),this.layout(),this._register(r.onDidLayout(()=>this.layout()))}setContainer(r,l){this.contextView.setContainer(r,l||1)}showContextView(r,l,v){l?(l!==this.container||this.shadowRoot!==v)&&(this.container=l,this.setContainer(l,v?3:2)):this.layoutService.hasContainer&&this.container!==this.layoutService.container&&(this.container=this.layoutService.container,this.setContainer(this.container,1)),this.shadowRoot=v,this.contextView.show(r);const H=(0,he.OF)(()=>{this.currentViewDisposable===H&&this.hideContextView()});return this.currentViewDisposable=H,H}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(r){this.contextView.hide(r)}};ul=cd([gc(0,ms)],ul);var Go=m(43300),eo=m(61419),Kr=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};const fa="**",Rr="/",yo="[/\\\\]",ir="[^/\\\\]",Lo=/\//g;function cs(fe,r){switch(fe){case 0:return"";case 1:return`${ir}*?`;default:return`(?:${yo}|${ir}+${yo}${r?`|${yo}${ir}+`:""})*?`}}function _i(fe,r){if(!fe)return[];const l=[];let v=!1,H=!1,G="";for(const le of fe){switch(le){case r:if(!v&&!H){l.push(G),G="";continue}break;case"{":v=!0;break;case"}":v=!1;break;case"[":H=!0;break;case"]":H=!1;break}G+=le}return G&&l.push(G),l}function $r(fe){if(!fe)return"";let r="";const l=_i(fe,Rr);if(l.every(v=>v===fa))r=".*";else{let v=!1;l.forEach((H,G)=>{if(H===fa){if(v)return;r+=cs(2,G===l.length-1)}else{let le=!1,pe="",Te=!1,He="";for(const Qe of H){if(Qe!=="}"&&le){pe+=Qe;continue}if(Te&&(Qe!=="]"||!He)){let pt;Qe==="-"?pt=Qe:(Qe==="^"||Qe==="!")&&!He?pt="^":Qe===Rr?pt="":pt=(0,d.ec)(Qe),He+=pt;continue}switch(Qe){case"{":le=!0;continue;case"[":Te=!0;continue;case"}":{const ii=`(?:${_i(pe,",").map(yi=>$r(yi)).join("|")})`;r+=ii,le=!1,pe="";break}case"]":{r+="["+He+"]",Te=!1,He="";break}case"?":r+=ir;continue;case"*":r+=cs(1);continue;default:r+=(0,d.ec)(Qe)}}G<l.length-1&&(l[G+1]!==fa||G+2<l.length)&&(r+=yo)}v=H===fa})}return r}const Ta=/^\*\*\/\*\.[\w\.-]+$/,Ma=/^\*\*\/([\w\.-]+)\/?$/,Ho=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,nr=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,sr=/^\*\*((\/[\w\.-]+)+)\/?$/,mo=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,fn=new js.z6(1e4),Jn=function(){return!1},fs=function(){return null};function Rs(fe,r){if(!fe)return fs;let l;typeof fe!="string"?l=fe.pattern:l=fe,l=l.trim();const v=`${l}_${!!r.trimForExclusions}`;let H=fn.get(v);if(H)return Ks(H,fe);let G;return Ta.test(l)?H=or(l.substr(4),l):(G=Ma.exec(Ys(l,r)))?H=fl(G[1],l):(r.trimForExclusions?nr:Ho).test(l)?H=gl(l,r):(G=sr.exec(Ys(l,r)))?H=ml(G[1].substr(1),l,!0):(G=mo.exec(Ys(l,r)))?H=ml(G[1],l,!1):H=mc(l),fn.set(v,H),Ks(H,fe)}function Ks(fe,r){if(typeof r=="string")return fe;const l=function(v,H){return(0,Go.KM)(v,r.base,!ge.IJ)?fe(v.substr(r.base.length+1),H):null};return l.allBasenames=fe.allBasenames,l.allPaths=fe.allPaths,l.basenames=fe.basenames,l.patterns=fe.patterns,l}function Ys(fe,r){return r.trimForExclusions&&fe.endsWith("/**")?fe.substr(0,fe.length-2):fe}function or(fe,r){return function(l,v){return typeof l=="string"&&l.endsWith(fe)?r:null}}function fl(fe,r){const l=`/${fe}`,v=`\\${fe}`,H=function(le,pe){return typeof le!="string"?null:pe?pe===fe?r:null:le===fe||le.endsWith(l)||le.endsWith(v)?r:null},G=[fe];return H.basenames=G,H.patterns=[r],H.allBasenames=G,H}function gl(fe,r){const l=Qr(fe.slice(1,-1).split(",").map(pe=>Rs(pe,r)).filter(pe=>pe!==fs),fe),v=l.length;if(!v)return fs;if(v===1)return l[0];const H=function(pe,Te){for(let He=0,Qe=l.length;He<Qe;He++)if(l[He](pe,Te))return fe;return null},G=l.find(pe=>!!pe.allBasenames);G&&(H.allBasenames=G.allBasenames);const le=l.reduce((pe,Te)=>Te.allPaths?pe.concat(Te.allPaths):pe,[]);return le.length&&(H.allPaths=le),H}function ml(fe,r,l){const v=eo.ir===eo.KR.sep,H=v?fe:fe.replace(Lo,eo.ir),G=eo.ir+H,le=eo.KR.sep+fe;let pe;return l?pe=function(Te,He){return typeof Te=="string"&&(Te===H||Te.endsWith(G)||!v&&(Te===fe||Te.endsWith(le)))?r:null}:pe=function(Te,He){return typeof Te=="string"&&(Te===H||!v&&Te===fe)?r:null},pe.allPaths=[(l?"*/":"./")+fe],pe}function mc(fe){try{const r=new RegExp(`^${$r(fe)}$`);return function(l){return r.lastIndex=0,typeof l=="string"&&r.test(l)?fe:null}}catch{return fs}}function Gr(fe,r,l){return!fe||typeof r!="string"?!1:Do(fe)(r,void 0,l)}function Do(fe,r={}){if(!fe)return Jn;if(typeof fe=="string"||Aa(fe)){const l=Rs(fe,r);if(l===fs)return Jn;const v=function(H,G){return!!l(H,G)};return l.allBasenames&&(v.allBasenames=l.allBasenames),l.allPaths&&(v.allPaths=l.allPaths),v}return ga(fe,r)}function Aa(fe){const r=fe;return r?typeof r.base=="string"&&typeof r.pattern=="string":!1}function ga(fe,r){const l=Qr(Object.getOwnPropertyNames(fe).map(pe=>Th(pe,fe[pe],r)).filter(pe=>pe!==fs)),v=l.length;if(!v)return fs;if(!l.some(pe=>!!pe.requiresSiblings)){if(v===1)return l[0];const pe=function(Qe,pt){let ii;for(let yi=0,nn=l.length;yi<nn;yi++){const In=l[yi](Qe,pt);if(typeof In=="string")return In;(0,te.J8)(In)&&(ii||(ii=[]),ii.push(In))}return ii?(()=>Kr(this,void 0,void 0,function*(){for(const yi of ii){const nn=yield yi;if(typeof nn=="string")return nn}return null}))():null},Te=l.find(Qe=>!!Qe.allBasenames);Te&&(pe.allBasenames=Te.allBasenames);const He=l.reduce((Qe,pt)=>pt.allPaths?Qe.concat(pt.allPaths):Qe,[]);return He.length&&(pe.allPaths=He),pe}const H=function(pe,Te,He){let Qe,pt;for(let ii=0,yi=l.length;ii<yi;ii++){const nn=l[ii];nn.requiresSiblings&&He&&(Te||(Te=(0,eo.EZ)(pe)),Qe||(Qe=Te.substr(0,Te.length-(0,eo.DZ)(pe).length)));const In=nn(pe,Te,Qe,He);if(typeof In=="string")return In;(0,te.J8)(In)&&(pt||(pt=[]),pt.push(In))}return pt?(()=>Kr(this,void 0,void 0,function*(){for(const ii of pt){const yi=yield ii;if(typeof yi=="string")return yi}return null}))():null},G=l.find(pe=>!!pe.allBasenames);G&&(H.allBasenames=G.allBasenames);const le=l.reduce((pe,Te)=>Te.allPaths?pe.concat(Te.allPaths):pe,[]);return le.length&&(H.allPaths=le),H}function Th(fe,r,l){if(r===!1)return fs;const v=Rs(fe,l);if(v===fs)return fs;if(typeof r=="boolean")return v;if(r){const H=r.when;if(typeof H=="string"){const G=(le,pe,Te,He)=>{if(!He||!v(le,pe))return null;const Qe=H.replace("$(basename)",Te),pt=He(Qe);return(0,te.J8)(pt)?pt.then(ii=>ii?fe:null):pt?fe:null};return G.requiresSiblings=!0,G}}return v}function Qr(fe,r){const l=fe.filter(pe=>!!pe.basenames);if(l.length<2)return fe;const v=l.reduce((pe,Te)=>{const He=Te.basenames;return He?pe.concat(He):pe},[]);let H;if(r){H=[];for(let pe=0,Te=v.length;pe<Te;pe++)H.push(r)}else H=l.reduce((pe,Te)=>{const He=Te.patterns;return He?pe.concat(He):pe},[]);const G=function(pe,Te){if(typeof pe!="string")return null;if(!Te){let Qe;for(Qe=pe.length;Qe>0;Qe--){const pt=pe.charCodeAt(Qe-1);if(pt===47||pt===92)break}Te=pe.substr(Qe)}const He=v.indexOf(Te);return He!==-1?H[He]:null};G.basenames=v,G.patterns=H,G.allBasenames=v;const le=fe.filter(pe=>!pe.basenames);return le.push(G),le}var En=m(37800),Xs=m(74621);let Zr=[],hs=[],pl=[];function _l(fe,r=!1){hd(fe,!1,r)}function hd(fe,r,l){const v=Mh(fe,r);Zr.push(v),v.userConfigured?pl.push(v):hs.push(v),l&&!v.userConfigured&&Zr.forEach(H=>{H.mime===v.mime||H.userConfigured||(v.extension&&H.extension===v.extension&&console.warn(`Overwriting extension <<${v.extension}>> to now point to mime <<${v.mime}>>`),v.filename&&H.filename===v.filename&&console.warn(`Overwriting filename <<${v.filename}>> to now point to mime <<${v.mime}>>`),v.filepattern&&H.filepattern===v.filepattern&&console.warn(`Overwriting filepattern <<${v.filepattern}>> to now point to mime <<${v.mime}>>`),v.firstline&&H.firstline===v.firstline&&console.warn(`Overwriting firstline <<${v.firstline}>> to now point to mime <<${v.mime}>>`))})}function Mh(fe,r){return{id:fe.id,mime:fe.mime,filename:fe.filename,extension:fe.extension,filepattern:fe.filepattern,firstline:fe.firstline,userConfigured:r,filenameLowercase:fe.filename?fe.filename.toLowerCase():void 0,extensionLowercase:fe.extension?fe.extension.toLowerCase():void 0,filepatternLowercase:fe.filepattern?Do(fe.filepattern.toLowerCase()):void 0,filepatternOnPath:fe.filepattern?fe.filepattern.indexOf(eo.KR.sep)>=0:!1}}function pc(){Zr=Zr.filter(fe=>fe.userConfigured),hs=[]}function Ah(fe,r){return Qo(fe,r).map(l=>l.id)}function Qo(fe,r){let l;if(fe)switch(fe.scheme){case ds.lg.file:l=fe.fsPath;break;case ds.lg.data:{l=Cr.Vb.parseMetaData(fe).get(Cr.Vb.META_DATA_LABEL);break}case ds.lg.vscodeNotebookCell:l=void 0;break;default:l=fe.path}if(!l)return[{id:"unknown",mime:En.v.unknown}];l=l.toLowerCase();const v=(0,eo.EZ)(l),H=_c(l,v,pl);if(H)return[H,{id:Xs.bd,mime:En.v.text}];const G=_c(l,v,hs);if(G)return[G,{id:Xs.bd,mime:En.v.text}];if(r){const le=ma(r);if(le)return[le,{id:Xs.bd,mime:En.v.text}]}return[{id:"unknown",mime:En.v.unknown}]}function _c(fe,r,l){var v;let H,G,le;for(let pe=l.length-1;pe>=0;pe--){const Te=l[pe];if(r===Te.filenameLowercase){H=Te;break}if(Te.filepattern&&(!G||Te.filepattern.length>G.filepattern.length)){const He=Te.filepatternOnPath?fe:r;!((v=Te.filepatternLowercase)===null||v===void 0)&&v.call(Te,He)&&(G=Te)}Te.extension&&(!le||Te.extension.length>le.extension.length)&&r.endsWith(Te.extensionLowercase)&&(le=Te)}if(H)return H;if(G)return G;if(le)return le}function ma(fe){if((0,d.uS)(fe)&&(fe=fe.substr(1)),fe.length>0)for(let r=Zr.length-1;r>=0;r--){const l=Zr[r];if(!l.firstline)continue;const v=fe.match(l.firstline);if(v&&v.length>0)return l}}var br=m(43148),Cc=m(77220);const Mo=Object.prototype.hasOwnProperty,vc="vs.editor.nullLanguage";class ud{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(vc,0),this._register(Xs.bd,1),this._nextLanguageId=2}_register(r,l){this._languageIdToLanguage[l]=r,this._languageToLanguageId.set(r,l)}register(r){if(this._languageToLanguageId.has(r))return;const l=this._nextLanguageId++;this._register(r,l)}encodeLanguageId(r){return this._languageToLanguageId.get(r)||0}decodeLanguageId(r){return this._languageIdToLanguage[r]||vc}}class Ra extends he.JT{constructor(r=!0,l=!1){super(),this._onDidChange=this._register(new ie.Q5),this.onDidChange=this._onDidChange.event,Ra.instanceCount++,this._warnOnOverwrite=l,this.languageIdCodec=new ud,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},r&&(this._initializeFromRegistry(),this._register(Xs.dQ.onDidChangeLanguages(v=>{this._initializeFromRegistry()})))}dispose(){Ra.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},pc();const r=[].concat(Xs.dQ.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(r)}_registerLanguages(r){for(const l of r)this._registerLanguage(l);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(l=>{const v=this._languages[l];v.name&&(this._nameMap[v.name]=v.identifier),v.aliases.forEach(H=>{this._lowercaseNameMap[H.toLowerCase()]=v.identifier}),v.mimetypes.forEach(H=>{this._mimeTypesMap[H]=v.identifier})}),Cc.B.as(br.IP.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(r){const l=r.id;let v;Mo.call(this._languages,l)?v=this._languages[l]:(this.languageIdCodec.register(l),v={identifier:l,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[l]=v),this._mergeLanguage(v,r)}_mergeLanguage(r,l){const v=l.id;let H=null;if(Array.isArray(l.mimetypes)&&l.mimetypes.length>0&&(r.mimetypes.push(...l.mimetypes),H=l.mimetypes[0]),H||(H=`text/x-${v}`,r.mimetypes.push(H)),Array.isArray(l.extensions)){l.configuration?r.extensions=l.extensions.concat(r.extensions):r.extensions=r.extensions.concat(l.extensions);for(const pe of l.extensions)_l({id:v,mime:H,extension:pe},this._warnOnOverwrite)}if(Array.isArray(l.filenames))for(const pe of l.filenames)_l({id:v,mime:H,filename:pe},this._warnOnOverwrite),r.filenames.push(pe);if(Array.isArray(l.filenamePatterns))for(const pe of l.filenamePatterns)_l({id:v,mime:H,filepattern:pe},this._warnOnOverwrite);if(typeof l.firstLine=="string"&&l.firstLine.length>0){let pe=l.firstLine;pe.charAt(0)!=="^"&&(pe="^"+pe);try{const Te=new RegExp(pe);(0,d.IO)(Te)||_l({id:v,mime:H,firstline:Te},this._warnOnOverwrite)}catch(Te){(0,_e.dL)(Te)}}r.aliases.push(v);let G=null;if(typeof l.aliases<"u"&&Array.isArray(l.aliases)&&(l.aliases.length===0?G=[null]:G=l.aliases),G!==null)for(const pe of G)!pe||pe.length===0||r.aliases.push(pe);const le=G!==null&&G.length>0;if(!(le&&G[0]===null)){const pe=(le?G[0]:null)||v;(le||!r.name)&&(r.name=pe)}l.configuration&&r.configurationFiles.push(l.configuration),l.icon&&r.icons.push(l.icon)}isRegisteredLanguageId(r){return r?Mo.call(this._languages,r):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(r){const l=r.toLowerCase();return Mo.call(this._lowercaseNameMap,l)?this._lowercaseNameMap[l]:null}getLanguageIdByMimeType(r){return r&&Mo.call(this._mimeTypesMap,r)?this._mimeTypesMap[r]:null}guessLanguageIdByFilepathOrFirstLine(r,l){return!r&&!l?[]:Ah(r,l)}}Ra.instanceCount=0;class wr extends he.JT{constructor(r=!1){super(),this._onDidEncounterLanguage=this._register(new ie.Q5),this.onDidEncounterLanguage=this._onDidEncounterLanguage.event,this._onDidChange=this._register(new ie.Q5({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,wr.instanceCount++,this._encounteredLanguages=new Set,this._registry=this._register(new Ra(!0,r)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){wr.instanceCount--,super.dispose()}isRegisteredLanguageId(r){return this._registry.isRegisteredLanguageId(r)}getLanguageIdByLanguageName(r){return this._registry.getLanguageIdByLanguageName(r)}getLanguageIdByMimeType(r){return this._registry.getLanguageIdByMimeType(r)}guessLanguageIdByFilepathOrFirstLine(r,l){const v=this._registry.guessLanguageIdByFilepathOrFirstLine(r,l);return(0,bt.Xh)(v,null)}createById(r){return new Pa(this.onDidChange,()=>this._createAndGetLanguageIdentifier(r))}createByFilepathOrFirstLine(r,l){return new Pa(this.onDidChange,()=>{const v=this.guessLanguageIdByFilepathOrFirstLine(r,l);return this._createAndGetLanguageIdentifier(v)})}_createAndGetLanguageIdentifier(r){return(!r||!this.isRegisteredLanguageId(r))&&(r=Xs.bd),this._encounteredLanguages.has(r)||(this._encounteredLanguages.add(r),z.RW.getOrCreate(r),this._onDidEncounterLanguage.fire(r)),r}}wr.instanceCount=0;class Pa{constructor(r,l){this._onDidChangeLanguages=r,this._selector=l,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages(()=>this._evaluate())),this._emitter||(this._emitter=new ie.Q5({onLastListenerRemove:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var r;const l=this._selector();l!==this.languageId&&(this.languageId=l,(r=this._emitter)===null||r===void 0||r.fire(this.languageId))}}var Oa=m(98994),Cl=m(53909),pa=m(24640),vl=m(3732),fd=m(20652),bc=m(82587),bl=m(9756),Bs=m(2599),Fa=m(15324),zs=m(12094);const Ba=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,Wa=/(&)?(&)([^\s&])/g;var Va;(function(fe){fe[fe.Right=0]="Right",fe[fe.Left=1]="Left"})(Va||(Va={}));class Zo extends vl.o{constructor(r,l,v={}){r.classList.add("monaco-menu-container"),r.setAttribute("role","presentation");const H=document.createElement("div");H.classList.add("monaco-menu"),H.setAttribute("role","presentation"),super(H,{orientation:1,actionViewItemProvider:pe=>this.doGetActionViewItem(pe,v,G),context:v.context,actionRunner:v.actionRunner,ariaLabel:v.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...ge.dz||ge.IJ?[10]:[]],keyDown:!0}}),this.menuElement=H,this.actionsList.tabIndex=0,this.menuDisposables=this._register(new he.SL),this.initializeOrUpdateStyleSheet(r,{}),this._register(pa.o.addTarget(H)),(0,xt.nm)(H,xt.tw.KEY_DOWN,pe=>{new Hi.y(pe).equals(2)&&pe.preventDefault()}),v.enableMnemonics&&this.menuDisposables.add((0,xt.nm)(H,xt.tw.KEY_DOWN,pe=>{const Te=pe.key.toLocaleLowerCase();if(this.mnemonics.has(Te)){xt.zB.stop(pe,!0);const He=this.mnemonics.get(Te);if(He.length===1&&(He[0]instanceof Sl&&He[0].container&&this.focusItemByElement(He[0].container),He[0].onClick(pe)),He.length>1){const Qe=He.shift();Qe&&Qe.container&&(this.focusItemByElement(Qe.container),He.push(Qe)),this.mnemonics.set(Te,He)}}})),ge.IJ&&this._register((0,xt.nm)(H,xt.tw.KEY_DOWN,pe=>{const Te=new Hi.y(pe);Te.equals(14)||Te.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),xt.zB.stop(pe,!0)):(Te.equals(13)||Te.equals(12))&&(this.focusedItem=0,this.focusPrevious(),xt.zB.stop(pe,!0))})),this._register((0,xt.nm)(this.domNode,xt.tw.MOUSE_OUT,pe=>{const Te=pe.relatedTarget;(0,xt.jg)(Te,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),pe.stopPropagation())})),this._register((0,xt.nm)(this.actionsList,xt.tw.MOUSE_OVER,pe=>{let Te=pe.target;if(!(!Te||!(0,xt.jg)(Te,this.actionsList)||Te===this.actionsList)){for(;Te.parentElement!==this.actionsList&&Te.parentElement!==null;)Te=Te.parentElement;if(Te.classList.contains("action-item")){const He=this.focusedItem;this.setFocusedItem(Te),He!==this.focusedItem&&this.updateFocus()}}})),this._register(pa.o.addTarget(this.actionsList)),this._register((0,xt.nm)(this.actionsList,pa.t.Tap,pe=>{let Te=pe.initialTarget;if(!(!Te||!(0,xt.jg)(Te,this.actionsList)||Te===this.actionsList)){for(;Te.parentElement!==this.actionsList&&Te.parentElement!==null;)Te=Te.parentElement;if(Te.classList.contains("action-item")){const He=this.focusedItem;this.setFocusedItem(Te),He!==this.focusedItem&&this.updateFocus()}}}));const G={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new bl.s$(H,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const le=this.scrollableElement.getDomNode();le.style.position="",this._register((0,xt.nm)(H,pa.t.Change,pe=>{xt.zB.stop(pe,!0);const Te=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:Te-pe.translationY})})),this._register((0,xt.nm)(le,xt.tw.MOUSE_UP,pe=>{pe.preventDefault()})),H.style.maxHeight=`${Math.max(10,window.innerHeight-r.getBoundingClientRect().top-35)}px`,l=l.filter(pe=>{var Te;return!((Te=v.submenuIds)===null||Te===void 0)&&Te.has(pe.id)?(console.warn(`Found submenu cycle: ${pe.id}`),!1):!0}),this.push(l,{icon:!0,label:!0,isMenu:!0}),r.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(pe=>!(pe instanceof Yr)).forEach((pe,Te,He)=>{pe.updatePositionInSet(Te+1,He.length)})}initializeOrUpdateStyleSheet(r,l){this.styleSheet||((0,xt.OO)(r)?this.styleSheet=(0,xt.dS)(r):(Zo.globalStyleSheet||(Zo.globalStyleSheet=(0,xt.dS)()),this.styleSheet=Zo.globalStyleSheet)),this.styleSheet.textContent=rf(l,(0,xt.OO)(r))}style(r){const l=this.getContainer();this.initializeOrUpdateStyleSheet(l,r);const v=r.foregroundColor?`${r.foregroundColor}`:"",H=r.backgroundColor?`${r.backgroundColor}`:"",G=r.borderColor?`1px solid ${r.borderColor}`:"",le="5px",pe=r.shadowColor?`0 2px 8px ${r.shadowColor}`:"";l.style.outline=G,l.style.borderRadius=le,l.style.color=v,l.style.backgroundColor=H,l.style.boxShadow=pe,this.viewItems&&this.viewItems.forEach(Te=>{(Te instanceof wl||Te instanceof Yr)&&Te.style(r)})}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(r){const l=this.focusedItem;this.setFocusedItem(r),l!==this.focusedItem&&this.updateFocus()}setFocusedItem(r){for(let l=0;l<this.actionsList.children.length;l++){const v=this.actionsList.children[l];if(r===v){this.focusedItem=l;break}}}updateFocus(r){super.updateFocus(r,!0,!0),typeof this.focusedItem<"u"&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(r,l,v){if(r instanceof Bs.Z0)return new Yr(l.context,r,{icon:!0});if(r instanceof Bs.wY){const H=new Sl(r,r.actions,v,Object.assign(Object.assign({},l),{submenuIds:new Set([...l.submenuIds||[],r.id])}));if(l.enableMnemonics){const G=H.getMnemonic();if(G&&H.isEnabled()){let le=[];this.mnemonics.has(G)&&(le=this.mnemonics.get(G)),le.push(H),this.mnemonics.set(G,le)}}return H}else{const H={enableMnemonics:l.enableMnemonics,useEventAsContext:l.useEventAsContext};if(l.getKeyBinding){const le=l.getKeyBinding(r);if(le){const pe=le.getLabel();pe&&(H.keybinding=pe)}}const G=new wl(l.context,r,H);if(l.enableMnemonics){const le=G.getMnemonic();if(le&&G.isEnabled()){let pe=[];this.mnemonics.has(le)&&(pe=this.mnemonics.get(le)),pe.push(G),this.mnemonics.set(le,pe)}}return G}}}class wl extends fd.Y{constructor(r,l,v={}){if(v.isMenu=!0,super(l,l,v),this.options=v,this.options.icon=v.icon!==void 0?v.icon:!1,this.options.label=v.label!==void 0?v.label:!0,this.cssClass="",this.options.label&&v.enableMnemonics){const H=this.getAction().label;if(H){const G=Ba.exec(H);G&&(this.mnemonic=(G[1]?G[1]:G[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new te.pY(()=>{this.element&&(this._register((0,xt.nm)(this.element,xt.tw.MOUSE_UP,H=>{if(xt.zB.stop(H,!0),Cl.isFirefox){if(new Oa.n(H).rightButton)return;this.onClick(H)}else setTimeout(()=>{this.onClick(H)},0)})),this._register((0,xt.nm)(this.element,xt.tw.CONTEXT_MENU,H=>{xt.zB.stop(H,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(r){super.render(r),this.element&&(this.container=r,this.item=(0,xt.R3)(this.element,(0,xt.$)("a.action-menu-item")),this._action.id===Bs.Z0.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,xt.R3)(this.item,(0,xt.$)("span.menu-item-check"+Fa.lA.menuSelection.cssSelector)),this.check.setAttribute("role","none"),this.label=(0,xt.R3)(this.item,(0,xt.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,xt.R3)(this.item,(0,xt.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item&&this.item.focus(),this.applyStyle()}updatePositionInSet(r,l){this.item&&(this.item.setAttribute("aria-posinset",`${r}`),this.item.setAttribute("aria-setsize",`${l}`))}updateLabel(){var r;if(this.label&&this.options.label){(0,xt.PO)(this.label);let l=(0,zs.x$)(this.getAction().label);if(l){const v=Ha(l);this.options.enableMnemonics||(l=v),this.label.setAttribute("aria-label",v.replace(/&&/g,"&"));const H=Ba.exec(l);if(H){l=d.YU(l),Wa.lastIndex=0;let G=Wa.exec(l);for(;G&&G[1];)G=Wa.exec(l);const le=pe=>pe.replace(/&&/g,"&");G?this.label.append(d.j3(le(l.substr(0,G.index))," "),(0,xt.$)("u",{"aria-hidden":"true"},G[3]),d.oL(le(l.substr(G.index+G[0].length))," ")):this.label.innerText=le(l).trim(),(r=this.item)===null||r===void 0||r.setAttribute("aria-keyshortcuts",(H[1]?H[1]:H[3]).toLocaleLowerCase())}else this.label.innerText=l.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.getAction().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.getAction().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 r=this.getAction().checked;this.item.classList.toggle("checked",!!r),r!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",r?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){if(!this.menuStyle)return;const r=this.element&&this.element.classList.contains("focused"),l=r&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,v=r&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,H=r&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",G=r&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=l?l.toString():"",this.item.style.backgroundColor=v?v.toString():"",this.item.style.outline=H,this.item.style.outlineOffset=G),this.check&&(this.check.style.color=l?l.toString():"")}style(r){this.menuStyle=r,this.applyStyle()}}class Sl extends wl{constructor(r,l,v,H){super(r,r,H),this.submenuActions=l,this.parentData=v,this.submenuOptions=H,this.mysubmenu=null,this.submenuDisposables=this._register(new he.SL),this.mouseOver=!1,this.expandDirection=H&&H.expandDirection!==void 0?H.expandDirection:Va.Right,this.showScheduler=new te.pY(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new te.pY(()=>{this.element&&!(0,xt.jg)((0,xt.vY)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(r){super.render(r),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=(0,xt.R3)(this.item,(0,xt.$)("span.submenu-indicator"+Fa.lA.menuSubmenu.cssSelector)),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,xt.nm)(this.element,xt.tw.KEY_UP,l=>{const v=new Hi.y(l);(v.equals(17)||v.equals(3))&&(xt.zB.stop(l,!0),this.createSubmenu(!0))})),this._register((0,xt.nm)(this.element,xt.tw.KEY_DOWN,l=>{const v=new Hi.y(l);(0,xt.vY)()===this.item&&(v.equals(17)||v.equals(3))&&xt.zB.stop(l,!0)})),this._register((0,xt.nm)(this.element,xt.tw.MOUSE_OVER,l=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,xt.nm)(this.element,xt.tw.MOUSE_LEAVE,l=>{this.mouseOver=!1})),this._register((0,xt.nm)(this.element,xt.tw.FOCUS_OUT,l=>{this.element&&!(0,xt.jg)((0,xt.vY)(),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(r){xt.zB.stop(r,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(r){if(this.parentData.submenu&&(r||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(r,l,v,H){const G={top:0,left:0};return G.left=To(r.width,l.width,{position:H===Va.Right?0:1,offset:v.left,size:v.width}),G.left>=v.left&&G.left<v.left+v.width&&(v.left+10+l.width<=r.width&&(G.left=v.left+10),v.top+=10,v.height=0),G.top=To(r.height,l.height,{position:0,offset:v.top,size:0}),G.top+l.height===v.top&&G.top+v.height+l.height<=r.height&&(G.top+=v.height),G}createSubmenu(r=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=(0,xt.R3)(this.element,(0,xt.$)("div.monaco-submenu")),this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");const l=getComputedStyle(this.parentData.parent.domNode),v=parseFloat(l.paddingTop||"0")||0;this.submenuContainer.style.zIndex="1",this.submenuContainer.style.position="fixed",this.submenuContainer.style.top="0",this.submenuContainer.style.left="0",this.parentData.submenu=new Zo(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new Bs.eZ],this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);const H=this.element.getBoundingClientRect(),G={top:H.top-v,left:H.left,height:H.height+2*v,width:H.width},le=this.submenuContainer.getBoundingClientRect(),{top:pe,left:Te}=this.calculateSubmenuMenuLayout(new xt.Ro(window.innerWidth,window.innerHeight),xt.Ro.lift(le),G,this.expandDirection);this.submenuContainer.style.left=`${Te-le.left}px`,this.submenuContainer.style.top=`${pe-le.top}px`,this.submenuDisposables.add((0,xt.nm)(this.submenuContainer,xt.tw.KEY_UP,He=>{new Hi.y(He).equals(15)&&(xt.zB.stop(He,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,xt.nm)(this.submenuContainer,xt.tw.KEY_DOWN,He=>{new Hi.y(He).equals(15)&&xt.zB.stop(He,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(r),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(r){var l;this.item&&((l=this.item)===null||l===void 0||l.setAttribute("aria-expanded",r))}applyStyle(){var r;if(super.applyStyle(),!this.menuStyle)return;const v=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=v?`${v}`:""),(r=this.parentData.submenu)===null||r===void 0||r.style(this.menuStyle)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class Yr extends fd.g{style(r){this.label&&(this.label.style.borderBottomColor=r.separatorColor?`${r.separatorColor}`:"")}}function Ha(fe){const r=Ba,l=r.exec(fe);if(!l)return fe;const v=!l[1];return fe.replace(r,v?"$2$3":"").trim()}function rf(fe,r){let l=` .monaco-menu { font-size: 13px; border-radius: 5px; min-width: 160px; } ${(0,bc.a)(Fa.lA.menuSelection)} ${(0,bc.a)(Fa.lA.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.animated .action-item.active { transform: scale(1.272019649, 1.272019649); /* 1.272019649 = \u221A\u03C6 */ } .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; } .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: .6em 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; } .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(r){l+=` /* 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 v=fe.scrollbarShadow;v&&(l+=` .monaco-scrollable-element > .shadow.top { box-shadow: ${v} 0 6px 6px -6px inset; } .monaco-scrollable-element > .shadow.left { box-shadow: ${v} 6px 0 6px -6px inset; } .monaco-scrollable-element > .shadow.top.left { box-shadow: ${v} 6px 6px 6px -6px inset; } `);const H=fe.scrollbarSliderBackground;H&&(l+=` .monaco-scrollable-element > .scrollbar > .slider { background: ${H}; } `);const G=fe.scrollbarSliderHoverBackground;G&&(l+=` .monaco-scrollable-element > .scrollbar > .slider:hover { background: ${G}; } `);const le=fe.scrollbarSliderActiveBackground;le&&(l+=` .monaco-scrollable-element > .scrollbar > .slider.active { background: ${le}; } `)}return l}var Bo=m(36846);class lo{constructor(r,l,v,H,G){this.contextViewService=r,this.telemetryService=l,this.notificationService=v,this.keybindingService=H,this.themeService=G,this.focusToReturn=null,this.block=null,this.options={blockMouse:!0}}configure(r){this.options=r}showContextMenu(r){const l=r.getActions();if(!l.length)return;this.focusToReturn=document.activeElement;let v;const H=(0,xt.Re)(r.domForShadowRoot)?r.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>r.getAnchor(),canRelayout:!1,anchorAlignment:r.anchorAlignment,anchorAxisAlignment:r.anchorAxisAlignment,render:G=>{const le=r.getMenuClassName?r.getMenuClassName():"";le&&(G.className+=" "+le),this.options.blockMouse&&(this.block=G.appendChild((0,xt.$)(".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",(0,xt.nm)(this.block,xt.tw.MOUSE_DOWN,He=>He.stopPropagation()));const pe=new he.SL,Te=r.actionRunner||new Bs.Wi;return Te.onBeforeRun(this.onActionRun,this,pe),Te.onDidRun(this.onDidActionRun,this,pe),v=new Zo(G,l,{actionViewItemProvider:r.getActionViewItem,context:r.getActionsContext?r.getActionsContext():null,actionRunner:Te,getKeyBinding:r.getKeyBinding?r.getKeyBinding:He=>this.keybindingService.lookupKeybinding(He.id)}),pe.add((0,Bo.tj)(v,this.themeService)),v.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,pe),v.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,pe),pe.add((0,xt.nm)(window,xt.tw.BLUR,()=>this.contextViewService.hideContextView(!0))),pe.add((0,xt.nm)(window,xt.tw.MOUSE_DOWN,He=>{if(He.defaultPrevented)return;const Qe=new Oa.n(He);let pt=Qe.target;if(!Qe.rightButton){for(;pt;){if(pt===G)return;pt=pt.parentElement}this.contextViewService.hideContextView(!0)}})),(0,he.F8)(pe,v)},focus:()=>{v?.focus(!!r.autoSelectFirstItem)},onHide:G=>{var le;(le=r.onHide)===null||le===void 0||le.call(r,!!G),this.block&&(this.block.remove(),this.block=null),this.focusToReturn&&this.focusToReturn.focus()}},H,!!H)}onActionRun(r){this.telemetryService.publicLog2("workbenchActionExecuted",{id:r.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()}onDidActionRun(r){r.error&&!(0,_e.n2)(r.error)&&this.notificationService.error(r.error)}}var za=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Ao=function(fe,r){return function(l,v){r(l,v,fe)}};let rr=class extends he.JT{constructor(r,l,v,H,G){super(),this._onDidShowContextMenu=new ie.Q5,this._onDidHideContextMenu=new ie.Q5,this.contextMenuHandler=new lo(v,r,l,H,G)}configure(r){this.contextMenuHandler.configure(r)}showContextMenu(r){this.contextMenuHandler.showContextMenu(Object.assign(Object.assign({},r),{onHide:l=>{var v;(v=r.onHide)===null||v===void 0||v.call(r,l),this._onDidHideContextMenu.fire()}})),xt._q.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};rr=za([Ao(0,jr.b),Ao(1,B.lT),Ao(2,ps.u),Ao(3,bs.d),Ao(4,is.XE)],rr);var Pr=m(99365),Sr;(function(fe){fe[fe.API=0]="API",fe[fe.USER=1]="USER"})(Sr||(Sr={}));var _a=m(76835),yl=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Ca=function(fe,r){return function(l,v){r(l,v,fe)}},yr=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};let gd=class{constructor(r){this._commandService=r}open(r,l){return yr(this,void 0,void 0,function*(){if(!(0,_a.xn)(r,ds.lg.command))return!1;if(!l?.allowCommands)return!0;typeof r=="string"&&(r=N.o.parse(r));let v=[];try{v=(0,Pr.Q)(decodeURIComponent(r.query))}catch{try{v=(0,Pr.Q)(r.query)}catch{}}return Array.isArray(v)||(v=[v]),yield this._commandService.executeCommand(r.path,...v),!0})}};gd=yl([Ca(0,Fs.Hy)],gd);let md=class{constructor(r){this._editorService=r}open(r,l){return yr(this,void 0,void 0,function*(){typeof r=="string"&&(r=N.o.parse(r));const{selection:v,uri:H}=(0,_a.xI)(r);return r=H,r.scheme===ds.lg.file&&(r=(0,Cr.AH)(r)),yield this._editorService.openCodeEditor({resource:r,options:Object.assign({selection:v,source:l?.fromUserGesture?Sr.USER:Sr.API},l?.editorOptions)},this._editorService.getFocusedCodeEditor(),l?.openToSide),!0})}};md=yl([Ca(0,E.$)],md);let ar=class{constructor(r,l){this._openers=new ys.S,this._validators=new ys.S,this._resolvers=new ys.S,this._resolvedUriTargets=new js.Y9(v=>v.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new ys.S,this._defaultExternalOpener={openExternal:v=>yr(this,void 0,void 0,function*(){return(0,_a.Gs)(v,ds.lg.http,ds.lg.https)?xt.V3(v):window.location.href=v,!0})},this._openers.push({open:(v,H)=>yr(this,void 0,void 0,function*(){return H?.openExternal||(0,_a.Gs)(v,ds.lg.mailto,ds.lg.http,ds.lg.https,ds.lg.vsls)?(yield this._doOpenExternal(v,H),!0):!1})}),this._openers.push(new gd(l)),this._openers.push(new md(r))}registerOpener(r){return{dispose:this._openers.unshift(r)}}registerValidator(r){return{dispose:this._validators.push(r)}}registerExternalUriResolver(r){return{dispose:this._resolvers.push(r)}}setDefaultExternalOpener(r){this._defaultExternalOpener=r}registerExternalOpener(r){return{dispose:this._externalOpeners.push(r)}}open(r,l){var v;return yr(this,void 0,void 0,function*(){const H=typeof r=="string"?N.o.parse(r):r,G=(v=this._resolvedUriTargets.get(H))!==null&&v!==void 0?v:r;for(const le of this._validators)if(!(yield le.shouldOpen(G,l)))return!1;for(const le of this._openers)if(yield le.open(r,l))return!0;return!1})}resolveExternalUri(r,l){return yr(this,void 0,void 0,function*(){for(const v of this._resolvers)try{const H=yield v.resolveExternalUri(r,l);if(H)return this._resolvedUriTargets.has(H.resolved)||this._resolvedUriTargets.set(H.resolved,r),H}catch{}throw new Error("Could not resolve external URI: "+r.toString())})}_doOpenExternal(r,l){return yr(this,void 0,void 0,function*(){const v=typeof r=="string"?N.o.parse(r):r;let H;try{H=(yield this.resolveExternalUri(v,l)).resolved}catch{H=v}let G;if(typeof r=="string"&&v.toString()===H.toString()?G=r:G=encodeURI(H.toString(!0)),l?.allowContributedOpeners){const le=typeof l?.allowContributedOpeners=="string"?l?.allowContributedOpeners:void 0;for(const pe of this._externalOpeners)if(yield pe.openExternal(G,{sourceUri:v,preferredOpenerId:le},u.T.None))return!0}return this._defaultExternalOpener.openExternal(G,{sourceUri:v},u.T.None)})}dispose(){this._validators.clear()}};ar=yl([Ca(0,E.$),Ca(1,Fs.Hy)],ar);var po=m(48498),Lr=m(1107),jn=m(40611),wc=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Ll=function(fe,r){return function(l,v){r(l,v,fe)}};class pd extends he.JT{constructor(r){super(),this.model=r,this._markersData=new Map,this._register((0,he.OF)(()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()}))}update(r,l){const v=[...this._markersData.keys()];this._markersData.clear();const H=this.model.deltaDecorations(v,l);for(let G=0;G<H.length;G++)this._markersData.set(H[G],r[G]);return v.length!==0||H.length!==0}getMarker(r){return this._markersData.get(r.id)}}let Dl=class extends he.JT{constructor(r,l){super(),this._markerService=l,this._onDidChangeMarker=this._register(new ie.Q5),this._markerDecorations=new js.Y9,r.getModels().forEach(v=>this._onModelAdded(v)),this._register(r.onModelAdded(this._onModelAdded,this)),this._register(r.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(r=>r.dispose()),this._markerDecorations.clear()}getMarker(r,l){const v=this._markerDecorations.get(r);return v&&v.getMarker(l)||null}_handleMarkerChange(r){r.forEach(l=>{const v=this._markerDecorations.get(l);v&&this._updateDecorations(v)})}_onModelAdded(r){const l=new pd(r);this._markerDecorations.set(r.uri,l),this._updateDecorations(l)}_onModelRemoved(r){var l;const v=this._markerDecorations.get(r.uri);v&&(v.dispose(),this._markerDecorations.delete(r.uri)),(r.uri.scheme===ds.lg.inMemory||r.uri.scheme===ds.lg.internal||r.uri.scheme===ds.lg.vscode)&&((l=this._markerService)===null||l===void 0||l.read({resource:r.uri}).map(H=>H.owner).forEach(H=>this._markerService.remove(H,[r.uri])))}_updateDecorations(r){const l=this._markerService.read({resource:r.model.uri,take:500}),v=l.map(H=>({range:this._createDecorationRange(r.model,H),options:this._createDecorationOption(H)}));r.update(l,v)&&this._onDidChangeMarker.fire(r.model)}_createDecorationRange(r,l){let v=Z.e.lift(l);if(l.severity===po.ZL.Hint&&!this._hasMarkerTag(l,1)&&!this._hasMarkerTag(l,2)&&(v=v.setEndPosition(v.startLineNumber,v.startColumn+2)),v=r.validateRange(v),v.isEmpty()){const H=r.getLineLastNonWhitespaceColumn(v.startLineNumber)||r.getLineMaxColumn(v.startLineNumber);if(H===1||v.endColumn>=H)return v;const G=r.getWordAtPosition(v.getStartPosition());G&&(v=new Z.e(v.startLineNumber,G.startColumn,v.endLineNumber,G.endColumn))}else if(l.endColumn===Number.MAX_VALUE&&l.startColumn===1&&v.startLineNumber===v.endLineNumber){const H=r.getLineFirstNonWhitespaceColumn(l.startLineNumber);H<v.endColumn&&(v=new Z.e(v.startLineNumber,H,v.endLineNumber,v.endColumn),l.startColumn=H)}return v}_createDecorationOption(r){let l,v,H,G,le;switch(r.severity){case po.ZL.Hint:this._hasMarkerTag(r,2)?l=void 0:this._hasMarkerTag(r,1)?l="squiggly-unnecessary":l="squiggly-hint",H=0;break;case po.ZL.Warning:l="squiggly-warning",v=(0,is.EN)(Lr.Re),H=20,le={color:(0,is.EN)(jn.Ivo),position:T.F5.Inline};break;case po.ZL.Info:l="squiggly-info",v=(0,is.EN)(Lr.eS),H=10;break;case po.ZL.Error:default:l="squiggly-error",v=(0,is.EN)(Lr.lK),H=30,le={color:(0,is.EN)(jn.Gj_),position:T.F5.Inline};break}return r.tags&&(r.tags.indexOf(1)!==-1&&(G="squiggly-inline-unnecessary"),r.tags.indexOf(2)!==-1&&(G="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:l,showIfCollapsed:!0,overviewRuler:{color:v,position:T.sh.Right},minimap:le,zIndex:H,inlineClassName:G}}_hasMarkerTag(r,l){return r.tags?r.tags.indexOf(l)>=0:!1}};Dl=wc([Ll(0,X.q),Ll(1,po.lT)],Dl);var Rh=m(15495),af=m(91790),Ro=m(44052),Ua=m(21688),to=m(7335),_d=m(41184),va=m(80733),lf=m(92082);const Dr={buttonBackground:va.Il.fromHex("#0E639C"),buttonHoverBackground:va.Il.fromHex("#006BB3"),buttonSeparator:va.Il.white,buttonForeground:va.Il.white};class Xr extends he.JT{constructor(r,l){super(),this._onDidClick=this._register(new ie.Q5),this.options=l||Object.create(null),(0,qs.jB)(this.options,Dr,!1),this.buttonForeground=this.options.buttonForeground,this.buttonBackground=this.options.buttonBackground,this.buttonHoverBackground=this.options.buttonHoverBackground,this.buttonSecondaryForeground=this.options.buttonSecondaryForeground,this.buttonSecondaryBackground=this.options.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=this.options.buttonSecondaryHoverBackground,this.buttonBorder=this.options.buttonBorder,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),r.appendChild(this._element),this._register(pa.o.addTarget(this._element)),[xt.tw.CLICK,pa.t.Tap].forEach(v=>{this._register((0,xt.nm)(this._element,v,H=>{if(!this.enabled){xt.zB.stop(H);return}this._onDidClick.fire(H)}))}),this._register((0,xt.nm)(this._element,xt.tw.KEY_DOWN,v=>{const H=new Hi.y(v);let G=!1;this.enabled&&(H.equals(3)||H.equals(10))?(this._onDidClick.fire(v),G=!0):H.equals(9)&&(this._element.blur(),G=!0),G&&xt.zB.stop(H,!0)})),this._register((0,xt.nm)(this._element,xt.tw.MOUSE_OVER,v=>{this._element.classList.contains("disabled")||this.setHoverBackground()})),this._register((0,xt.nm)(this._element,xt.tw.MOUSE_OUT,v=>{this.applyStyles()})),this.focusTracker=this._register((0,xt.go)(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.setHoverBackground()})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.applyStyles()})),this.applyStyles()}get onDidClick(){return this._onDidClick.event}setHoverBackground(){let r;this.options.secondary?r=this.buttonSecondaryHoverBackground?this.buttonSecondaryHoverBackground.toString():null:r=this.buttonHoverBackground?this.buttonHoverBackground.toString():null,r&&(this._element.style.backgroundColor=r)}style(r){this.buttonForeground=r.buttonForeground,this.buttonBackground=r.buttonBackground,this.buttonHoverBackground=r.buttonHoverBackground,this.buttonSecondaryForeground=r.buttonSecondaryForeground,this.buttonSecondaryBackground=r.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=r.buttonSecondaryHoverBackground,this.buttonBorder=r.buttonBorder,this.applyStyles()}applyStyles(){if(this._element){let r,l;this.options.secondary?(l=this.buttonSecondaryForeground?this.buttonSecondaryForeground.toString():"",r=this.buttonSecondaryBackground?this.buttonSecondaryBackground.toString():""):(l=this.buttonForeground?this.buttonForeground.toString():"",r=this.buttonBackground?this.buttonBackground.toString():"");const v=this.buttonBorder?this.buttonBorder.toString():"";this._element.style.color=l,this._element.style.backgroundColor=r,this._element.style.borderWidth=v?"1px":"",this._element.style.borderStyle=v?"solid":"",this._element.style.borderColor=v}}get element(){return this._element}set label(r){this._element.classList.add("monaco-text-button"),this.options.supportIcons?(0,xt.mc)(this._element,...(0,_d.T)(r)):this._element.textContent=r,typeof this.options.title=="string"?this._element.title=this.options.title:this.options.title&&(this._element.title=r)}set enabled(r){r?(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")}}var El=m(72738),Sc=m(52316);const ja="done",Il="active",xl="infinite",Nl="infinite-long-running",co="discrete",Ka={progressBarBackground:va.Il.fromHex("#0E70C0")};class kl extends he.JT{constructor(r,l){super(),this.options=l||Object.create(null),(0,qs.jB)(this.options,Ka,!1),this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this.showDelayedScheduler=this._register(new te.pY(()=>(0,xt.$Z)(this.element),0)),this.longRunningScheduler=this._register(new te.pY(()=>this.infiniteLongRunning(),kl.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(r)}create(r){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),r.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.element.appendChild(this.bit),this.applyStyles()}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(Il,xl,Nl,co),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(r){return this.element.classList.add(ja),this.element.classList.contains(xl)?(this.bit.style.opacity="0",r?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",r?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(co,ja,Nl),this.element.classList.add(Il,xl),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(Nl)}getContainer(){return this.element}style(r){this.progressBarBackground=r.progressBarBackground,this.applyStyles()}applyStyles(){if(this.bit){const r=this.progressBarBackground?this.progressBarBackground.toString():"";this.bit.style.backgroundColor=r}}}kl.LONG_RUNNING_INFINITE_THRESHOLD=1e4;var Ph=m(30131),$a=m(15242);const Cd={},yc=new Ph.R("quick-input-button-icon-");function Tl(fe){if(!fe)return;let r;const l=fe.dark.toString();return Cd[l]?r=Cd[l]:(r=yc.nextId(),xt.fk(`.${r}, .hc-light .${r}`,`background-image: ${xt.wY(fe.light||fe.dark)}`),xt.fk(`.vs-dark .${r}, .hc-black .${r}`,`background-image: ${xt.wY(fe.dark)}`),Cd[l]=r),r}var qe=m(82144),n=m(46658);const a=xt.$;class g extends he.JT{constructor(r){super(),this.parent=r,this.onKeyDown=l=>xt.nm(this.inputBox.inputElement,xt.tw.KEY_DOWN,v=>{l(new Hi.y(v))}),this.onMouseDown=l=>xt.nm(this.inputBox.inputElement,xt.tw.MOUSE_DOWN,v=>{l(new Oa.n(v))}),this.onDidChange=l=>this.inputBox.onDidChange(l),this.container=xt.R3(this.parent,a(".quick-input-box")),this.inputBox=this._register(new n.W(this.container,void 0))}get value(){return this.inputBox.value}set value(r){this.inputBox.value=r}select(r=null){this.inputBox.select(r)}isSelectionAtEnd(){return this.inputBox.isSelectionAtEnd()}get placeholder(){return this.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(r){this.inputBox.setPlaceHolder(r)}get ariaLabel(){return this.inputBox.getAriaLabel()}set ariaLabel(r){this.inputBox.setAriaLabel(r)}get password(){return this.inputBox.inputElement.type==="password"}set password(r){this.inputBox.inputElement.type=r?"password":"text"}setAttribute(r,l){this.inputBox.inputElement.setAttribute(r,l)}removeAttribute(r){this.inputBox.inputElement.removeAttribute(r)}showDecoration(r){r===M.Z.Ignore?this.inputBox.hideMessage():this.inputBox.showMessage({type:r===M.Z.Info?1:r===M.Z.Warning?2:3,content:""})}stylesForType(r){return this.inputBox.stylesForType(r===M.Z.Info?1:r===M.Z.Warning?2:3)}setFocus(){this.inputBox.focus()}layout(){this.inputBox.layout()}style(r){this.inputBox.style(r)}}var I=m(43387),R=m(79994);const se=xt.$;class Ce{constructor(r,l,v){this.os=l,this.keyElements=new Set,this.options=v||Object.create(null),this.labelBackground=this.options.keybindingLabelBackground,this.labelForeground=this.options.keybindingLabelForeground,this.labelBorder=this.options.keybindingLabelBorder,this.labelBottomBorder=this.options.keybindingLabelBottomBorder,this.labelShadow=this.options.keybindingLabelShadow,this.domNode=xt.R3(r,se(".monaco-keybinding")),this.didEverRender=!1,r.appendChild(this.domNode)}get element(){return this.domNode}set(r,l){this.didEverRender&&this.keybinding===r&&Ce.areSame(this.matches,l)||(this.keybinding=r,this.matches=l,this.render())}render(){if(this.clear(),this.keybinding){const[r,l]=this.keybinding.getParts();r&&this.renderPart(this.domNode,r,this.matches?this.matches.firstPart:null),l&&(xt.R3(this.domNode,se("span.monaco-keybinding-key-chord-separator",void 0," ")),this.renderPart(this.domNode,l,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()||""}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.applyStyles(),this.didEverRender=!0}clear(){xt.PO(this.domNode),this.keyElements.clear()}renderPart(r,l,v){const H=Zs.xo.modifierLabels[this.os];l.ctrlKey&&this.renderKey(r,H.ctrlKey,!!v?.ctrlKey,H.separator),l.shiftKey&&this.renderKey(r,H.shiftKey,!!v?.shiftKey,H.separator),l.altKey&&this.renderKey(r,H.altKey,!!v?.altKey,H.separator),l.metaKey&&this.renderKey(r,H.metaKey,!!v?.metaKey,H.separator);const G=l.keyLabel;G&&this.renderKey(r,G,!!v?.keyCode,"")}renderKey(r,l,v,H){xt.R3(r,this.createKeyElement(l,v?".highlight":"")),H&&xt.R3(r,se("span.monaco-keybinding-key-separator",void 0,H))}renderUnbound(r){xt.R3(r,this.createKeyElement((0,ee.NC)("unbound","Unbound")))}createKeyElement(r,l=""){const v=se("span.monaco-keybinding-key"+l,void 0,r);return this.keyElements.add(v),v}style(r){this.labelBackground=r.keybindingLabelBackground,this.labelForeground=r.keybindingLabelForeground,this.labelBorder=r.keybindingLabelBorder,this.labelBottomBorder=r.keybindingLabelBottomBorder,this.labelShadow=r.keybindingLabelShadow,this.applyStyles()}applyStyles(){var r;if(this.element){for(const l of this.keyElements)this.labelBackground&&(l.style.backgroundColor=(r=this.labelBackground)===null||r===void 0?void 0:r.toString()),this.labelBorder&&(l.style.borderColor=this.labelBorder.toString()),this.labelBottomBorder&&(l.style.borderBottomColor=this.labelBottomBorder.toString()),this.labelShadow&&(l.style.boxShadow=`inset 0 -1px 0 ${this.labelShadow}`);this.labelForeground&&(this.element.style.color=this.labelForeground.toString())}}static areSame(r,l){return r===l||!r&&!l?!0:!!r&&!!l&&(0,qs.fS)(r.firstPart,l.firstPart)&&(0,qs.fS)(r.chordPart,l.chordPart)}}const De=new te.Ue(()=>{const fe=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:fe,collatorIsNumeric:fe.resolvedOptions().numeric}}),Ie=new te.Ue(()=>({collator:new Intl.Collator(void 0,{numeric:!0})})),Pe=new te.Ue(()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})}));function Ke(fe,r,l=!1){const v=fe||"",H=r||"",G=De.value.collator.compare(v,H);return De.value.collatorIsNumeric&&G===0&&v!==H?v<H?-1:1:G}function Je(fe,r,l){const v=fe.toLowerCase(),H=r.toLowerCase(),G=nt(fe,r,l);if(G)return G;const le=v.endsWith(l),pe=H.endsWith(l);if(le!==pe)return le?-1:1;const Te=Ke(v,H);return Te!==0?Te:v.localeCompare(H)}function nt(fe,r,l){const v=fe.toLowerCase(),H=r.toLowerCase(),G=v.startsWith(l),le=H.startsWith(l);if(G!==le)return G?-1:1;if(G&&le){if(v.length<H.length)return-1;if(v.length>H.length)return 1}return 0}var Lt=m(7379),Tt=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Bt=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};const jt=xt.$;class fi{constructor(r){this.hidden=!1,this._onChecked=new ie.Q5,this.onChecked=this._onChecked.event,Object.assign(this,r)}get checked(){return!!this._checked}set checked(r){r!==this._checked&&(this._checked=r,this._onChecked.fire(r))}dispose(){this._onChecked.dispose()}}class ei{get templateId(){return ei.ID}renderTemplate(r){const l=Object.create(null);l.toDisposeElement=[],l.toDisposeTemplate=[],l.entry=xt.R3(r,jt(".quick-input-list-entry"));const v=xt.R3(l.entry,jt("label.quick-input-list-label"));l.toDisposeTemplate.push(xt.mu(v,xt.tw.CLICK,He=>{l.checkbox.offsetParent||He.preventDefault()})),l.checkbox=xt.R3(v,jt("input.quick-input-list-checkbox")),l.checkbox.type="checkbox",l.toDisposeTemplate.push(xt.mu(l.checkbox,xt.tw.CHANGE,He=>{l.element.checked=l.checkbox.checked}));const H=xt.R3(v,jt(".quick-input-list-rows")),G=xt.R3(H,jt(".quick-input-list-row")),le=xt.R3(H,jt(".quick-input-list-row"));l.label=new I.g(G,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0});const pe=xt.R3(G,jt(".quick-input-list-entry-keybinding"));l.keybinding=new Ce(pe,ge.OS);const Te=xt.R3(le,jt(".quick-input-list-label-meta"));return l.detail=new I.g(Te,{supportHighlights:!0,supportIcons:!0}),l.separator=xt.R3(l.entry,jt(".quick-input-list-separator")),l.actionBar=new vl.o(l.entry),l.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),l.toDisposeTemplate.push(l.actionBar),l}renderElement(r,l,v){v.toDisposeElement=(0,he.B9)(v.toDisposeElement),v.element=r,v.checkbox.checked=r.checked,v.toDisposeElement.push(r.onChecked(He=>v.checkbox.checked=He));const{labelHighlights:H,descriptionHighlights:G,detailHighlights:le}=r,pe=Object.create(null);pe.matches=H||[],pe.descriptionTitle=r.saneDescription,pe.descriptionMatches=G||[],pe.extraClasses=r.item.iconClasses,pe.italic=r.item.italic,pe.strikethrough=r.item.strikethrough,v.label.setLabel(r.saneLabel,r.saneDescription,pe),v.keybinding.set(r.item.keybinding),r.saneDetail&&v.detail.setLabel(r.saneDetail,void 0,{matches:le,title:r.saneDetail}),r.separator&&r.separator.label?(v.separator.textContent=r.separator.label,v.separator.style.display=""):v.separator.style.display="none",v.entry.classList.toggle("quick-input-list-separator-border",!!r.separator),v.actionBar.clear();const Te=r.item.buttons;Te&&Te.length?(v.actionBar.push(Te.map((He,Qe)=>{let pt=He.iconClass||(He.iconPath?Tl(He.iconPath):void 0);He.alwaysVisible&&(pt=pt?`${pt} always-visible`:"always-visible");const ii=new Bs.aU(`id-${Qe}`,"",pt,!0,()=>Bt(this,void 0,void 0,function*(){r.fireButtonTriggered({button:He,item:r.item})}));return ii.tooltip=He.tooltip||"",ii}),{icon:!0,label:!1}),v.entry.classList.add("has-actions")):v.entry.classList.remove("has-actions")}disposeElement(r,l,v){v.toDisposeElement=(0,he.B9)(v.toDisposeElement)}disposeTemplate(r){r.toDisposeElement=(0,he.B9)(r.toDisposeElement),r.toDisposeTemplate=(0,he.B9)(r.toDisposeTemplate)}}ei.ID="listelement";class Ki{getHeight(r){return r.saneDetail?44:22}getTemplateId(r){return ei.ID}}var di;(function(fe){fe[fe.First=1]="First",fe[fe.Second=2]="Second",fe[fe.Last=3]="Last",fe[fe.Next=4]="Next",fe[fe.Previous=5]="Previous",fe[fe.NextPage=6]="NextPage",fe[fe.PreviousPage=7]="PreviousPage"})(di||(di={}));class tn{constructor(r,l,v){this.parent=r,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnLabelMode="fuzzy",this.matchOnMeta=!0,this.sortByLabel=!0,this._onChangedAllVisibleChecked=new ie.Q5,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new ie.Q5,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new ie.Q5,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new ie.Q5,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new ie.Q5,this.onButtonTriggered=this._onButtonTriggered.event,this._onKeyDown=new ie.Q5,this.onKeyDown=this._onKeyDown.event,this._onLeave=new ie.Q5,this.onLeave=this._onLeave.event,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=l,this.container=xt.R3(this.parent,jt(".quick-input-list"));const H=new Ki,G=new $n;this.list=v.createList("QuickInput",this.container,H,[new ei],{identityProvider:{getId:le=>le.saneLabel},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:G}),this.list.getHTMLElement().id=l,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown(le=>{const pe=new Hi.y(le);switch(pe.keyCode){case 10:this.toggleCheckbox();break;case 31:(ge.dz?le.metaKey:le.ctrlKey)&&this.list.setFocus((0,bt.w6)(this.list.length));break;case 16:{const Te=this.list.getFocus();Te.length===1&&Te[0]===0&&this._onLeave.fire();break}case 18:{const Te=this.list.getFocus();Te.length===1&&Te[0]===this.list.length-1&&this._onLeave.fire();break}}this._onKeyDown.fire(pe)})),this.disposables.push(this.list.onMouseDown(le=>{le.browserEvent.button!==2&&le.browserEvent.preventDefault()})),this.disposables.push(xt.nm(this.container,xt.tw.CLICK,le=>{(le.x||le.y)&&this._onLeave.fire()})),this.disposables.push(this.list.onMouseMiddleClick(le=>{this._onLeave.fire()})),this.disposables.push(this.list.onContextMenu(le=>{typeof le.index=="number"&&(le.browserEvent.preventDefault(),this.list.setSelection([le.index]))})),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return ie.ju.map(this.list.onDidChangeFocus,r=>r.elements.map(l=>l.item))}get onDidChangeSelection(){return ie.ju.map(this.list.onDidChangeSelection,r=>({items:r.elements.map(l=>l.item),event:r.browserEvent}))}get scrollTop(){return this.list.scrollTop}set scrollTop(r){this.list.scrollTop=r}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(r,l=!0){for(let v=0,H=r.length;v<H;v++){const G=r[v];if(!G.hidden)if(G.checked)l=!0;else return!1}return l}getCheckedCount(){let r=0;const l=this.elements;for(let v=0,H=l.length;v<H;v++)l[v].checked&&r++;return r}getVisibleCount(){let r=0;const l=this.elements;for(let v=0,H=l.length;v<H;v++)l[v].hidden||r++;return r}setAllVisibleChecked(r){try{this._fireCheckedEvents=!1,this.elements.forEach(l=>{l.hidden||(l.checked=r)})}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(r){this.elementDisposables=(0,he.B9)(this.elementDisposables);const l=v=>this.fireButtonTriggered(v);this.inputElements=r,this.elements=r.reduce((v,H,G)=>{var le,pe,Te;if(H.type!=="separator"){const He=G&&r[G-1],Qe=H.label&&H.label.replace(/\r?\n/g," "),pt=(0,zs.Ho)(Qe).text.trim(),ii=H.meta&&H.meta.replace(/\r?\n/g," "),yi=H.description&&H.description.replace(/\r?\n/g," "),nn=H.detail&&H.detail.replace(/\r?\n/g," "),In=H.ariaLabel||[Qe,yi,nn].map(ls=>(0,Fa.JL)(ls)).filter(ls=>!!ls).join(", "),On=this.parent.classList.contains("show-checkboxes");v.push(new fi({hasCheckbox:On,index:G,item:H,saneLabel:Qe,saneSortLabel:pt,saneMeta:ii,saneAriaLabel:In,saneDescription:yi,saneDetail:nn,labelHighlights:(le=H.highlights)===null||le===void 0?void 0:le.label,descriptionHighlights:(pe=H.highlights)===null||pe===void 0?void 0:pe.description,detailHighlights:(Te=H.highlights)===null||Te===void 0?void 0:Te.detail,checked:!1,separator:He&&He.type==="separator"?He:void 0,fireButtonTriggered:l}))}return v},[]),this.elementDisposables.push(...this.elements),this.elementDisposables.push(...this.elements.map(v=>v.onChecked(()=>this.fireCheckedEvents()))),this.elementsToIndexes=this.elements.reduce((v,H,G)=>(v.set(H.item,G),v),new Map),this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map(r=>r.item)}setFocusedElements(r){if(this.list.setFocus(r.filter(l=>this.elementsToIndexes.has(l)).map(l=>this.elementsToIndexes.get(l))),r.length>0){const l=this.list.getFocus()[0];typeof l=="number"&&this.list.reveal(l)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(r){this.list.setSelection(r.filter(l=>this.elementsToIndexes.has(l)).map(l=>this.elementsToIndexes.get(l)))}getCheckedElements(){return this.elements.filter(r=>r.checked).map(r=>r.item)}setCheckedElements(r){try{this._fireCheckedEvents=!1;const l=new Set;for(const v of r)l.add(v);for(const v of this.elements)v.checked=l.has(v.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(r){this.list.getHTMLElement().style.pointerEvents=r?"":"none"}focus(r){if(!this.list.length)return;switch(r===di.Next&&this.list.getFocus()[0]===this.list.length-1&&(r=di.First),r===di.Previous&&this.list.getFocus()[0]===0&&(r=di.Last),r===di.Second&&this.list.length<2&&(r=di.First),r){case di.First:this.list.focusFirst();break;case di.Second:this.list.focusNth(1);break;case di.Last:this.list.focusLast();break;case di.Next:this.list.focusNext();break;case di.Previous:this.list.focusPrevious();break;case di.NextPage:this.list.focusNextPage();break;case di.PreviousPage:this.list.focusPreviousPage();break}const l=this.list.getFocus()[0];typeof l=="number"&&this.list.reveal(l)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}layout(r){this.list.getHTMLElement().style.maxHeight=r?`calc(${Math.floor(r/44)*44}px)`:"",this.list.layout()}filter(r){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;const l=r;if(r=r.trim(),!r||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this.elements.forEach(H=>{H.labelHighlights=void 0,H.descriptionHighlights=void 0,H.detailHighlights=void 0,H.hidden=!1;const G=H.index&&this.inputElements[H.index-1];H.separator=G&&G.type==="separator"?G:void 0});else{let H;this.elements.forEach(G=>{let le;this.matchOnLabelMode==="fuzzy"?le=this.matchOnLabel?(0,me.f6)((0,zs.Gt)(r,(0,zs.Ho)(G.saneLabel))):void 0:le=this.matchOnLabel?(0,me.f6)(Ji(l,(0,zs.Ho)(G.saneLabel))):void 0;const pe=this.matchOnDescription?(0,me.f6)((0,zs.Gt)(r,(0,zs.Ho)(G.saneDescription||""))):void 0,Te=this.matchOnDetail?(0,me.f6)((0,zs.Gt)(r,(0,zs.Ho)(G.saneDetail||""))):void 0,He=this.matchOnMeta?(0,me.f6)((0,zs.Gt)(r,(0,zs.Ho)(G.saneMeta||""))):void 0;if(le||pe||Te||He?(G.labelHighlights=le,G.descriptionHighlights=pe,G.detailHighlights=Te,G.hidden=!1):(G.labelHighlights=void 0,G.descriptionHighlights=void 0,G.detailHighlights=void 0,G.hidden=!G.item.alwaysShow),G.separator=void 0,!this.sortByLabel){const Qe=G.index&&this.inputElements[G.index-1];H=Qe&&Qe.type==="separator"?Qe:H,H&&!G.hidden&&(G.separator=H,H=void 0)}})}const v=this.elements.filter(H=>!H.hidden);if(this.sortByLabel&&r){const H=r.toLowerCase();v.sort((G,le)=>rn(G,le,H))}return this.elementsToIndexes=v.reduce((H,G,le)=>(H.set(G.item,le),H),new Map),this.list.splice(0,this.list.length,v),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(v.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const r=this.list.getFocusedElements(),l=this.allVisibleChecked(r);for(const v of r)v.checked=!l}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(r){this.container.style.display=r?"":"none"}isDisplayed(){return this.container.style.display!=="none"}dispose(){this.elementDisposables=(0,he.B9)(this.elementDisposables),this.disposables=(0,he.B9)(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(r){this._onButtonTriggered.fire(r)}style(r){this.list.style(r)}}Tt([Lt.H],tn.prototype,"onDidChangeFocus",null),Tt([Lt.H],tn.prototype,"onDidChangeSelection",null);function Ji(fe,r){const{text:l,iconOffsets:v}=r;if(!v||v.length===0)return zi(fe,l);const H=(0,d.j3)(l," "),G=l.length-H.length,le=zi(fe,H);if(le)for(const pe of le){const Te=v[pe.start+G]+G;pe.start+=Te,pe.end+=Te}return le}function zi(fe,r){const l=r.toLowerCase().indexOf(fe.toLowerCase());return l!==-1?[{start:l,end:l+fe.length}]:null}function rn(fe,r,l){const v=fe.labelHighlights||[],H=r.labelHighlights||[];return v.length&&!H.length?-1:!v.length&&H.length?1:v.length===0&&H.length===0?0:Je(fe.saneSortLabel,r.saneSortLabel,l)}class $n{getWidgetAriaLabel(){return(0,ee.NC)("quickInput","Quick Input")}getAriaLabel(r){var l;return!((l=r.separator)===null||l===void 0)&&l.label?`${r.saneAriaLabel}, ${r.separator.label}`:r.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(r){return r.hasCheckbox?"checkbox":"option"}isChecked(r){if(r.hasCheckbox)return{value:r.checked,onDidChange:r.onChecked}}}var Zi=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};const Hn=xt.$,gs={iconClass:Fa.lA.quickInputBack.classNames,tooltip:(0,ee.NC)("quickInput.back","Back"),handle:-1};class Ls extends he.JT{constructor(r){super(),this.ui=r,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.noValidationMessage=Ls.noPromptMessage,this._severity=M.Z.Ignore,this.buttonsUpdated=!1,this.onDidTriggerButtonEmitter=this._register(new ie.Q5),this.onDidHideEmitter=this._register(new ie.Q5),this.onDisposeEmitter=this._register(new ie.Q5),this.visibleDisposables=this._register(new he.SL),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(r){this._title=r,this.update()}get description(){return this._description}set description(r){this._description=r,this.update()}get step(){return this._steps}set step(r){this._steps=r,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(r){this._totalSteps=r,this.update()}get enabled(){return this._enabled}set enabled(r){this._enabled=r,this.update()}get contextKey(){return this._contextKey}set contextKey(r){this._contextKey=r,this.update()}get busy(){return this._busy}set busy(r){this._busy=r,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(r){const l=this._ignoreFocusOut!==r&&!ge.gn;this._ignoreFocusOut=r&&!ge.gn,l&&this.update()}get buttons(){return this._buttons}set buttons(r){this._buttons=r,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(r){this._validationMessage=r,this.update()}get severity(){return this._severity}set severity(r){this._severity=r,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(r=>{this.buttons.indexOf(r)!==-1&&this.onDidTriggerButtonEmitter.fire(r)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(r=qe.Jq.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:r})}update(){if(!this.visible)return;const r=this.getTitle();r&&this.ui.title.textContent!==r?this.ui.title.textContent=r:!r&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText="\xA0");const l=this.getDescription();if(this.ui.description1.textContent!==l&&(this.ui.description1.textContent=l),this.ui.description2.textContent!==l&&(this.ui.description2.textContent=l),this.busy&&!this.busyDelay&&(this.busyDelay=new te._F,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 H=this.buttons.filter(le=>le===gs);this.ui.leftActionBar.push(H.map((le,pe)=>{const Te=new Bs.aU(`id-${pe}`,"",le.iconClass||Tl(le.iconPath),!0,()=>Zi(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(le)}));return Te.tooltip=le.tooltip||"",Te}),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const G=this.buttons.filter(le=>le!==gs);this.ui.rightActionBar.push(G.map((le,pe)=>{const Te=new Bs.aU(`id-${pe}`,"",le.iconClass||Tl(le.iconPath),!0,()=>Zi(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(le)}));return Te.tooltip=le.tooltip||"",Te}),{icon:!0,label:!1})}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const v=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==v&&(this._lastValidationMessage=v,xt.mc(this.ui.message,...(0,_d.T)(v))),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?(0,ee.NC)("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(r){if(this.ui.inputBox.showDecoration(r),r!==M.Z.Ignore){const l=this.ui.inputBox.stylesForType(r);this.ui.message.style.color=l.foreground?`${l.foreground}`:"",this.ui.message.style.backgroundColor=l.background?`${l.background}`:"",this.ui.message.style.border=l.border?`1px solid ${l.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()}}Ls.noPromptMessage=(0,ee.NC)("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");class zn extends Ls{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new ie.Q5),this.onWillAcceptEmitter=this._register(new ie.Q5),this.onDidAcceptEmitter=this._register(new ie.Q5),this.onDidCustomEmitter=this._register(new ie.Q5),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._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=this.ui.isScreenReaderOptimized()?qe.jG.NONE:qe.jG.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new ie.Q5),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new ie.Q5),this.onDidTriggerItemButtonEmitter=this._register(new ie.Q5),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=r=>r,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}get quickNavigate(){return this._quickNavigate}set quickNavigate(r){this._quickNavigate=r,this.update()}get value(){return this._value}set value(r){this.doSetValue(r)}doSetValue(r,l){this._value!==r&&(this._value=r,l||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(r){this._ariaLabel=r,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(r){this._placeholder=r,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(r){this.ui.list.scrollTop=r}set items(r){this._items=r,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(r){this._canSelectMany=r,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(r){this._canAcceptInBackground=r}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(r){this._matchOnDescription=r,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(r){this._matchOnDetail=r,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(r){this._matchOnLabel=r,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(r){this._matchOnLabelMode=r,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(r){this._sortByLabel=r,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(r){this._autoFocusOnList=r,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(r){this._keepScrollPosition=r}get itemActivation(){return this._itemActivation}set itemActivation(r){this._itemActivation=r}get activeItems(){return this._activeItems}set activeItems(r){this._activeItems=r,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(r){this._selectedItems=r,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?qe.X5:this.ui.keyMods}set valueSelection(r){this._valueSelection=r,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(r){this._customButton=r,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(r){this._customButtonLabel=r,this.update()}get customHover(){return this._customButtonHover}set customHover(r){this._customButtonHover=r,this.update()}get ok(){return this._ok}set ok(r){this._ok=r,this.update()}get hideInput(){return!!this._hideInput}set hideInput(r){this._hideInput=r,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(di.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(r=>{this.doSetValue(r,!0)})),this.visibleDisposables.add(this.ui.inputBox.onMouseDown(r=>{this.autoFocusOnList||this.ui.list.clearFocus()})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(r=>{switch(r.keyCode){case 18:this.ui.list.focus(di.Next),this.canSelectMany&&this.ui.list.domFocus(),xt.zB.stop(r,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(di.Previous):this.ui.list.focus(di.Last),this.canSelectMany&&this.ui.list.domFocus(),xt.zB.stop(r,!0);break;case 12:this.ui.list.focus(di.NextPage),this.canSelectMany&&this.ui.list.domFocus(),xt.zB.stop(r,!0);break;case 11:this.ui.list.focus(di.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),xt.zB.stop(r,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(r.ctrlKey||r.metaKey)&&!r.shiftKey&&!r.altKey&&(this.ui.list.focus(di.First),xt.zB.stop(r,!0));break;case 13:(r.ctrlKey||r.metaKey)&&!r.shiftKey&&!r.altKey&&(this.ui.list.focus(di.Last),xt.zB.stop(r,!0));break}})),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.ui.list.onDidChangeFocus(r=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,bt.fS)(r,this._activeItems,(l,v)=>l===v)||(this._activeItems=r,this.onDidChangeActiveEmitter.fire(r))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:r,event:l})=>{if(this.canSelectMany){r.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&(0,bt.fS)(r,this._selectedItems,(v,H)=>v===H)||(this._selectedItems=r,this.onDidChangeSelectionEmitter.fire(r),r.length&&this.handleAccept(l instanceof MouseEvent&&l.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(r=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&(0,bt.fS)(r,this._selectedItems,(l,v)=>l===v)||(this._selectedItems=r,this.onDidChangeSelectionEmitter.fire(r)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(r=>this.onDidTriggerItemButtonEmitter.fire(r))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(r){let l=!1;this.onWillAcceptEmitter.fire({veto:()=>l=!0}),l||this.onDidAcceptEmitter.fire({inBackground:r})}registerQuickNavigation(){return xt.nm(this.ui.container,xt.tw.KEY_UP,r=>{if(this.canSelectMany||!this._quickNavigate)return;const l=new Hi.y(r),v=l.keyCode;this._quickNavigate.keybindings.some(le=>{const[pe,Te]=le.getParts();return Te?!1:pe.shiftKey&&v===4?!(l.ctrlKey||l.altKey||l.metaKey):!!(pe.altKey&&v===6||pe.ctrlKey&&v===5||pe.metaKey&&v===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 r=this.keepScrollPosition?this.scrollTop:0,l=!!this._hideInput&&this._items.length>0;this.ui.container.classList.toggle("hidden-input",l&&!this.description);const v={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!l,progressBar:!l,visibleCount:!0,count:this.canSelectMany,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(v),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 H=this.ariaLabel;if(H||(H=this.placeholder||zn.DEFAULT_ARIA_LABEL,this.title&&(H+=` - ${this.title}`)),this.ui.inputBox.ariaLabel!==H&&(this.ui.inputBox.ariaLabel=H),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)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case qe.jG.NONE:this._itemActivation=qe.jG.FIRST;break;case qe.jG.SECOND:this.ui.list.focus(di.Second),this._itemActivation=qe.jG.FIRST;break;case qe.jG.LAST:this.ui.list.focus(di.Last),this._itemActivation=qe.jG.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||"",this.ui.setComboboxAccessibility(!0),v.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(di.First)),this.keepScrollPosition&&(this.scrollTop=r)}}zn.DEFAULT_ARIA_LABEL=(0,ee.NC)("quickInputBox.ariaLabel","Type to narrow down results.");class ks extends he.JT{constructor(r){super(),this.options=r,this.comboboxAccessibility=!1,this.enabled=!0,this.onDidAcceptEmitter=this._register(new ie.Q5),this.onDidCustomEmitter=this._register(new ie.Q5),this.onDidTriggerButtonEmitter=this._register(new ie.Q5),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new ie.Q5),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new ie.Q5),this.onHide=this.onHideEmitter.event,this.idPrefix=r.idPrefix,this.parentElement=r.container,this.styles=r.styles,this.registerKeyModsListeners()}registerKeyModsListeners(){const r=l=>{this.keyMods.ctrlCmd=l.ctrlKey||l.metaKey,this.keyMods.alt=l.altKey};this._register(xt.nm(window,xt.tw.KEY_DOWN,r,!0)),this._register(xt.nm(window,xt.tw.KEY_UP,r,!0)),this._register(xt.nm(window,xt.tw.MOUSE_DOWN,r,!0))}getUI(){if(this.ui)return this.ui;const r=xt.R3(this.parentElement,Hn(".quick-input-widget.show-file-icons"));r.tabIndex=-1,r.style.display="none";const l=xt.dS(r),v=xt.R3(r,Hn(".quick-input-titlebar")),H=this._register(new vl.o(v));H.domNode.classList.add("quick-input-left-action-bar");const G=xt.R3(v,Hn(".quick-input-title")),le=this._register(new vl.o(v));le.domNode.classList.add("quick-input-right-action-bar");const pe=xt.R3(r,Hn(".quick-input-description")),Te=xt.R3(r,Hn(".quick-input-header")),He=xt.R3(Te,Hn("input.quick-input-check-all"));He.type="checkbox",He.setAttribute("aria-label",(0,ee.NC)("quickInput.checkAll","Toggle all checkboxes")),this._register(xt.mu(He,xt.tw.CHANGE,xn=>{const io=He.checked;Ns.setAllVisibleChecked(io)})),this._register(xt.nm(He,xt.tw.CLICK,xn=>{(xn.x||xn.y)&&yi.setFocus()}));const Qe=xt.R3(Te,Hn(".quick-input-description")),pt=xt.R3(Te,Hn(".quick-input-and-message")),ii=xt.R3(pt,Hn(".quick-input-filter")),yi=this._register(new g(ii));yi.setAttribute("aria-describedby",`${this.idPrefix}message`);const nn=xt.R3(ii,Hn(".quick-input-visible-count"));nn.setAttribute("aria-live","polite"),nn.setAttribute("aria-atomic","true");const In=new El.Z(nn,{countFormat:(0,ee.NC)({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")}),On=xt.R3(ii,Hn(".quick-input-count"));On.setAttribute("aria-live","polite");const ls=new El.Z(On,{countFormat:(0,ee.NC)({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")}),es=xt.R3(Te,Hn(".quick-input-action")),Fn=new Xr(es);Fn.label=(0,ee.NC)("ok","OK"),this._register(Fn.onDidClick(xn=>{this.onDidAcceptEmitter.fire()}));const Zn=xt.R3(Te,Hn(".quick-input-action")),Uo=new Xr(Zn);Uo.label=(0,ee.NC)("custom","Custom"),this._register(Uo.onDidClick(xn=>{this.onDidCustomEmitter.fire()}));const sa=xt.R3(pt,Hn(`#${this.idPrefix}message.quick-input-message`)),Ns=this._register(new tn(r,this.idPrefix+"list",this.options));this._register(Ns.onChangedAllVisibleChecked(xn=>{He.checked=xn})),this._register(Ns.onChangedVisibleCount(xn=>{In.setCount(xn)})),this._register(Ns.onChangedCheckedCount(xn=>{ls.setCount(xn)})),this._register(Ns.onLeave(()=>{setTimeout(()=>{yi.setFocus(),this.controller instanceof zn&&this.controller.canSelectMany&&Ns.clearFocus()},0)})),this._register(Ns.onDidChangeFocus(()=>{this.comboboxAccessibility&&this.getUI().inputBox.setAttribute("aria-activedescendant",this.getUI().list.getActiveDescendant()||"")}));const Kc=new kl(r);Kc.getContainer().classList.add("quick-input-progress");const yn=xt.go(r);return this._register(yn),this._register(xt.nm(r,xt.tw.FOCUS,xn=>{this.previousFocusElement=xn.relatedTarget instanceof HTMLElement?xn.relatedTarget:void 0},!0)),this._register(yn.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(qe.Jq.Blur),this.previousFocusElement=void 0})),this._register(xt.nm(r,xt.tw.FOCUS,xn=>{yi.setFocus()})),this._register(xt.nm(r,xt.tw.KEY_DOWN,xn=>{const io=new Hi.y(xn);switch(io.keyCode){case 3:xt.zB.stop(xn,!0),this.onDidAcceptEmitter.fire();break;case 9:xt.zB.stop(xn,!0),this.hide(qe.Jq.Gesture);break;case 2:if(!io.altKey&&!io.ctrlKey&&!io.metaKey){const il=[".action-label.codicon"];r.classList.contains("show-checkboxes")?il.push("input"):il.push("input[type=text]"),this.getUI().list.isDisplayed()&&il.push(".monaco-list");const Fd=r.querySelectorAll(il.join(", "));io.shiftKey&&io.target===Fd[0]?(xt.zB.stop(xn,!0),Fd[Fd.length-1].focus()):!io.shiftKey&&io.target===Fd[Fd.length-1]&&(xt.zB.stop(xn,!0),Fd[0].focus())}break}})),this.ui={container:r,styleSheet:l,leftActionBar:H,titleBar:v,title:G,description1:pe,description2:Qe,rightActionBar:le,checkAll:He,filterContainer:ii,inputBox:yi,visibleCountContainer:nn,visibleCount:In,countContainer:On,count:ls,okContainer:es,ok:Fn,message:sa,customButtonContainer:Zn,customButton:Uo,list:Ns,progressBar:Kc,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,isScreenReaderOptimized:()=>this.options.isScreenReaderOptimized(),show:xn=>this.show(xn),hide:()=>this.hide(),setVisibilities:xn=>this.setVisibilities(xn),setComboboxAccessibility:xn=>this.setComboboxAccessibility(xn),setEnabled:xn=>this.setEnabled(xn),setContextKey:xn=>this.options.setContextKey(xn)},this.updateStyles(),this.ui}pick(r,l={},v=u.T.None){return new Promise((H,G)=>{let le=Qe=>{var pt;le=H,(pt=l.onKeyMods)===null||pt===void 0||pt.call(l,pe.keyMods),H(Qe)};if(v.isCancellationRequested){le(void 0);return}const pe=this.createQuickPick();let Te;const He=[pe,pe.onDidAccept(()=>{if(pe.canSelectMany)le(pe.selectedItems.slice()),pe.hide();else{const Qe=pe.activeItems[0];Qe&&(le(Qe),pe.hide())}}),pe.onDidChangeActive(Qe=>{const pt=Qe[0];pt&&l.onDidFocus&&l.onDidFocus(pt)}),pe.onDidChangeSelection(Qe=>{if(!pe.canSelectMany){const pt=Qe[0];pt&&(le(pt),pe.hide())}}),pe.onDidTriggerItemButton(Qe=>l.onDidTriggerItemButton&&l.onDidTriggerItemButton(Object.assign(Object.assign({},Qe),{removeItem:()=>{const pt=pe.items.indexOf(Qe.item);if(pt!==-1){const ii=pe.items.slice(),yi=ii.splice(pt,1),nn=pe.activeItems.filter(On=>On!==yi[0]),In=pe.keepScrollPosition;pe.keepScrollPosition=!0,pe.items=ii,nn&&(pe.activeItems=nn),pe.keepScrollPosition=In}}}))),pe.onDidChangeValue(Qe=>{Te&&!Qe&&(pe.activeItems.length!==1||pe.activeItems[0]!==Te)&&(pe.activeItems=[Te])}),v.onCancellationRequested(()=>{pe.hide()}),pe.onDidHide(()=>{(0,he.B9)(He),le(void 0)})];pe.title=l.title,pe.canSelectMany=!!l.canPickMany,pe.placeholder=l.placeHolder,pe.ignoreFocusOut=!!l.ignoreFocusLost,pe.matchOnDescription=!!l.matchOnDescription,pe.matchOnDetail=!!l.matchOnDetail,pe.matchOnLabel=l.matchOnLabel===void 0||l.matchOnLabel,pe.autoFocusOnList=l.autoFocusOnList===void 0||l.autoFocusOnList,pe.quickNavigate=l.quickNavigate,pe.hideInput=!!l.hideInput,pe.contextKey=l.contextKey,pe.busy=!0,Promise.all([r,l.activeItem]).then(([Qe,pt])=>{Te=pt,pe.busy=!1,pe.items=Qe,pe.canSelectMany&&(pe.selectedItems=Qe.filter(ii=>ii.type!=="separator"&&ii.picked)),Te&&(pe.activeItems=[Te])}),pe.show(),Promise.resolve(r).then(void 0,Qe=>{G(Qe),pe.hide()})})}createQuickPick(){const r=this.getUI();return new zn(r)}show(r){const l=this.getUI();this.onShowEmitter.fire();const v=this.controller;this.controller=r,v&&v.didHide(),this.setEnabled(!0),l.leftActionBar.clear(),l.title.textContent="",l.description1.textContent="",l.description2.textContent="",l.rightActionBar.clear(),l.checkAll.checked=!1,l.inputBox.placeholder="",l.inputBox.password=!1,l.inputBox.showDecoration(M.Z.Ignore),l.visibleCount.setCount(0),l.count.setCount(0),xt.mc(l.message),l.progressBar.stop(),l.list.setElements([]),l.list.matchOnDescription=!1,l.list.matchOnDetail=!1,l.list.matchOnLabel=!0,l.list.sortByLabel=!0,l.ignoreFocusOut=!1,this.setComboboxAccessibility(!1),l.inputBox.ariaLabel="";const H=this.options.backKeybindingLabel();gs.tooltip=H?(0,ee.NC)("quickInput.backWithKeybinding","Back ({0})",H):(0,ee.NC)("quickInput.back","Back"),l.container.style.display="",this.updateLayout(),l.inputBox.setFocus()}setVisibilities(r){const l=this.getUI();l.title.style.display=r.title?"":"none",l.description1.style.display=r.description&&(r.inputBox||r.checkAll)?"":"none",l.description2.style.display=r.description&&!(r.inputBox||r.checkAll)?"":"none",l.checkAll.style.display=r.checkAll?"":"none",l.filterContainer.style.display=r.inputBox?"":"none",l.visibleCountContainer.style.display=r.visibleCount?"":"none",l.countContainer.style.display=r.count?"":"none",l.okContainer.style.display=r.ok?"":"none",l.customButtonContainer.style.display=r.customButton?"":"none",l.message.style.display=r.message?"":"none",l.progressBar.getContainer().style.display=r.progressBar?"":"none",l.list.display(!!r.list),l.container.classList[r.checkBox?"add":"remove"]("show-checkboxes"),this.updateLayout()}setComboboxAccessibility(r){if(r!==this.comboboxAccessibility){const l=this.getUI();this.comboboxAccessibility=r,this.comboboxAccessibility?(l.inputBox.setAttribute("role","combobox"),l.inputBox.setAttribute("aria-haspopup","true"),l.inputBox.setAttribute("aria-autocomplete","list"),l.inputBox.setAttribute("aria-activedescendant",l.list.getActiveDescendant()||"")):(l.inputBox.removeAttribute("role"),l.inputBox.removeAttribute("aria-haspopup"),l.inputBox.removeAttribute("aria-autocomplete"),l.inputBox.removeAttribute("aria-activedescendant"))}}setEnabled(r){if(r!==this.enabled){this.enabled=r;for(const l of this.getUI().leftActionBar.viewItems)l.getAction().enabled=r;for(const l of this.getUI().rightActionBar.viewItems)l.getAction().enabled=r;this.getUI().checkAll.disabled=!r,this.getUI().ok.enabled=r,this.getUI().list.enabled=r}}hide(r){var l;const v=this.controller;if(v){const H=!(!((l=this.ui)===null||l===void 0)&&l.container.contains(document.activeElement));if(this.controller=null,this.onHideEmitter.fire(),this.getUI().container.style.display="none",!H){let G=this.previousFocusElement;for(;G&&!G.offsetParent;)G=(0,me.f6)(G.parentElement);G?.offsetParent?(G.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}v.didHide(r)}}layout(r,l){this.dimension=r,this.titleBarOffset=l,this.updateLayout()}updateLayout(){if(this.ui){this.ui.container.style.top=`${this.titleBarOffset}px`;const r=this.ui.container.style,l=Math.min(this.dimension.width*.62,ks.MAX_WIDTH);r.width=l+"px",r.marginLeft="-"+l/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(r){this.styles=r,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:r,quickInputBackground:l,quickInputForeground:v,contrastBorder:H,widgetShadow:G}=this.styles.widget;this.ui.titleBar.style.backgroundColor=r?r.toString():"",this.ui.container.style.backgroundColor=l?l.toString():"",this.ui.container.style.color=v?v.toString():"",this.ui.container.style.border=H?`1px solid ${H}`:"",this.ui.container.style.boxShadow=G?`0 0 8px 2px ${G}`:"",this.ui.inputBox.style(this.styles.inputBox),this.ui.count.style(this.styles.countBadge),this.ui.ok.style(this.styles.button),this.ui.customButton.style(this.styles.button),this.ui.progressBar.style(this.styles.progressBar),this.ui.list.style(this.styles.list);const le=[];this.styles.list.pickerGroupBorder&&le.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }`),this.styles.list.pickerGroupForeground&&le.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(le.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&le.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&le.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&le.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&le.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&le.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),le.push("}"));const pe=le.join(` `);pe!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=pe)}}}ks.MAX_WIDTH=600;var Ts=m(24580),xs=m(17759),Wo=m(99688),vd=m(66857),bd=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},df=function(fe,r){return function(l,v){r(l,v,fe)}};let Ga=class extends he.JT{constructor(r,l){super(),this.quickInputService=r,this.instantiationService=l,this.registry=Cc.B.as(Wo.IP.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(r="",l){this.doShowOrPick(r,!1,l)}doShowOrPick(r,l,v){var H;const[G,le]=this.getOrInstantiateProvider(r),pe=this.visibleQuickAccess,Te=pe?.descriptor;if(pe&&le&&Te===le){r!==le.prefix&&!v?.preserveValue&&(pe.picker.value=r),this.adjustValueSelection(pe.picker,le,v);return}if(le&&!v?.preserveValue){let yi;if(pe&&Te&&Te!==le){const nn=pe.value.substr(Te.prefix.length);nn&&(yi=`${le.prefix}${nn}`)}if(!yi){const nn=G?.defaultFilterValue;nn===Wo.Ry.LAST?yi=this.lastAcceptedPickerValues.get(le):typeof nn=="string"&&(yi=`${le.prefix}${nn}`)}typeof yi=="string"&&(r=yi)}const He=new he.SL,Qe=He.add(this.quickInputService.createQuickPick());Qe.value=r,this.adjustValueSelection(Qe,le,v),Qe.placeholder=le?.placeholder,Qe.quickNavigate=v?.quickNavigateConfiguration,Qe.hideInput=!!Qe.quickNavigate&&!pe,(typeof v?.itemActivation=="number"||v?.quickNavigateConfiguration)&&(Qe.itemActivation=(H=v?.itemActivation)!==null&&H!==void 0?H:vd.jG.SECOND),Qe.contextKey=le?.contextKey,Qe.filterValue=yi=>yi.substring(le?le.prefix.length:0),le?.placeholder&&(Qe.ariaLabel=le?.placeholder);let pt;l&&(pt=new te.CR,He.add((0,xs.I)(Qe.onWillAccept)(yi=>{yi.veto(),Qe.hide()}))),He.add(this.registerPickerListeners(Qe,G,le,r));const ii=He.add(new u.A);if(G&&He.add(G.provide(Qe,ii.token)),(0,xs.I)(Qe.onDidHide)(()=>{Qe.selectedItems.length===0&&ii.cancel(),He.dispose(),pt?.complete(Qe.selectedItems.slice(0))}),Qe.show(),l)return pt?.p}adjustValueSelection(r,l,v){var H;let G;v?.preserveValue?G=[r.value.length,r.value.length]:G=[(H=l?.prefix.length)!==null&&H!==void 0?H:0,r.value.length],r.valueSelection=G}registerPickerListeners(r,l,v,H){const G=new he.SL,le=this.visibleQuickAccess={picker:r,descriptor:v,value:H};return G.add((0,he.OF)(()=>{le===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),G.add(r.onDidChangeValue(pe=>{const[Te]=this.getOrInstantiateProvider(pe);Te!==l?this.show(pe,{preserveValue:!0}):le.value=pe})),v&&G.add(r.onDidAccept(()=>{this.lastAcceptedPickerValues.set(v,r.value)})),G}getOrInstantiateProvider(r){const l=this.registry.getQuickAccessProvider(r);if(!l)return[void 0,void 0];let v=this.mapProviderToDescriptor.get(l);return v||(v=this.instantiationService.createInstance(l.ctor),this.mapProviderToDescriptor.set(l,v)),[v,l]}};Ga=bd([df(0,vd.eJ),df(1,Mn.TG)],Ga);var pm=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},wd=function(fe,r){return function(l,v){r(l,v,fe)}};let Oh=class extends is.bB{constructor(r,l,v,H,G){super(v),this.instantiationService=r,this.contextKeyService=l,this.accessibilityService=H,this.layoutService=G,this.contexts=new Map}get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(Ga))),this._quickAccess}createController(r=this.layoutService,l){const v={idPrefix:"quickInput_",container:r.container,ignoreFocusOut:()=>!1,isScreenReaderOptimized:()=>this.accessibilityService.isScreenReaderOptimized(),backKeybindingLabel:()=>{},setContextKey:G=>this.setContextKey(G),returnFocus:()=>r.focus(),createList:(G,le,pe,Te,He)=>this.instantiationService.createInstance(Ts.ev,G,le,pe,Te,He),styles:this.computeStyles()},H=this._register(new ks(Object.assign(Object.assign({},v),l)));return H.layout(r.dimension,r.offset.quickPickTop),this._register(r.onDidLayout(G=>H.layout(G,r.offset.quickPickTop))),this._register(H.onShow(()=>this.resetContextKeys())),this._register(H.onHide(()=>this.resetContextKeys())),H}setContextKey(r){let l;r&&(l=this.contexts.get(r),l||(l=new as.uy(r,!1).bindTo(this.contextKeyService),this.contexts.set(r,l))),!(l&&l.get())&&(this.resetContextKeys(),l?.set(!0))}resetContextKeys(){this.contexts.forEach(r=>{r.get()&&r.reset()})}pick(r,l={},v=u.T.None){return this.controller.pick(r,l,v)}createQuickPick(){return this.controller.createQuickPick()}updateStyles(){this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:Object.assign({},(0,Bo.o)(this.theme,{quickInputBackground:jn.zKr,quickInputForeground:jn.tZ6,quickInputTitleBackground:jn.loF,contrastBorder:jn.lRK,widgetShadow:jn.rh})),inputBox:(0,Bo.o)(this.theme,{inputForeground:jn.zJb,inputBackground:jn.sEe,inputBorder:jn.dt_,inputValidationInfoBackground:jn._lC,inputValidationInfoForeground:jn.YI3,inputValidationInfoBorder:jn.EPQ,inputValidationWarningBackground:jn.RV_,inputValidationWarningForeground:jn.SUG,inputValidationWarningBorder:jn.C3g,inputValidationErrorBackground:jn.paE,inputValidationErrorForeground:jn._t9,inputValidationErrorBorder:jn.OZR}),countBadge:(0,Bo.o)(this.theme,{badgeBackground:jn.g8u,badgeForeground:jn.qeD,badgeBorder:jn.lRK}),button:(0,Bo.o)(this.theme,{buttonForeground:jn.j5u,buttonBackground:jn.b7$,buttonHoverBackground:jn.GO4,buttonBorder:jn.lRK}),progressBar:(0,Bo.o)(this.theme,{progressBarBackground:jn.zRJ}),keybindingLabel:(0,Bo.o)(this.theme,{keybindingLabelBackground:jn.oQ$,keybindingLabelForeground:jn.lWp,keybindingLabelBorder:jn.AWI,keybindingLabelBottomBorder:jn.K19,keybindingLabelShadow:jn.rh}),list:(0,Bo.o)(this.theme,{listBackground:jn.zKr,listInactiveFocusForeground:jn.NPS,listInactiveSelectionIconForeground:jn.cbQ,listInactiveFocusBackground:jn.Vqd,listFocusOutline:jn.xL1,listInactiveFocusOutline:jn.xL1,pickerGroupBorder:jn.opG,pickerGroupForeground:jn.kJk})}}};Oh=pm([wd(0,Mn.TG),wd(1,as.i6),wd(2,is.XE),wd(3,to.F),wd(4,ms)],Oh);var Or=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},ba=function(fe,r){return function(l,v){r(l,v,fe)}};let Ml=class extends Oh{constructor(r,l,v,H,G,le){super(l,v,H,G,new F(r.getContainerDomNode(),le)),this.host=void 0;const pe=Al.get(r);if(pe){const Te=pe.widget;this.host={_serviceBrand:void 0,get hasContainer(){return!0},get container(){return Te.getDomNode()},get dimension(){return r.getLayoutInfo()},get onDidLayout(){return r.onDidLayoutChange},focus:()=>r.focus(),offset:{top:0,quickPickTop:0}}}else this.host=void 0}createController(){return super.createController(this.host)}};Ml=Or([ba(1,Mn.TG),ba(2,as.i6),ba(3,is.XE),ba(4,to.F),ba(5,E.$)],Ml);let Fh=class{constructor(r,l){this.instantiationService=r,this.codeEditorService=l,this.mapEditorToService=new Map}get activeService(){const r=this.codeEditorService.getFocusedCodeEditor();if(!r)throw new Error("Quick input service needs a focused editor to work.");let l=this.mapEditorToService.get(r);if(!l){const v=l=this.instantiationService.createInstance(Ml,r);this.mapEditorToService.set(r,l),(0,xs.I)(r.onDidDispose)(()=>{v.dispose(),this.mapEditorToService.delete(r)})}return l}get quickAccess(){return this.activeService.quickAccess}pick(r,l={},v=u.T.None){return this.activeService.pick(r,l,v)}createQuickPick(){return this.activeService.createQuickPick()}};Fh=Or([ba(0,Mn.TG),ba(1,E.$)],Fh);class Al{constructor(r){this.editor=r,this.widget=new Rl(this.editor)}static get(r){return r.getContribution(Al.ID)}dispose(){this.widget.dispose()}}Al.ID="editor.controller.quickInput";class Rl{constructor(r){this.codeEditor=r,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return Rl.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}Rl.ID="editor.contrib.quickInputWidget",(0,Ua._K)(Al.ID,Al);var _m=m(54587),Eo=m(83381),cf=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Jr=function(fe,r){return function(l,v){r(l,v,fe)}};let Fr=class extends he.JT{constructor(r,l,v){super(),this._contextKeyService=r,this._layoutService=l,this._configurationService=v,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new ie.Q5,this._onDidChangeReducedMotion=new ie.Q5,this._accessibilityModeEnabledContext=to.U.bindTo(this._contextKeyService);const H=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(le=>{le.affectsConfiguration("editor.accessibilitySupport")&&(H(),this._onDidChangeScreenReaderOptimized.fire()),le.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),H(),this._register(this.onDidChangeScreenReaderOptimized(()=>H()));const G=window.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=G.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(G)}initReducedMotionListeners(r){if(!this._layoutService.hasContainer)return;this._register((0,xt.nm)(r,"change",()=>{this._systemMotionReduced=r.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const l=()=>{const v=this.isMotionReduced();this._layoutService.container.classList.toggle("reduce-motion",v),this._layoutService.container.classList.toggle("enable-motion",!v)};l(),this._register(this.onDidChangeReducedMotion(()=>l()))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const r=this._configurationService.getValue("editor.accessibilitySupport");return r==="on"||r==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const r=this._configMotionReduced;return r==="on"||r==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};Fr=cf([Jr(0,as.i6),Jr(1,ms),Jr(2,Ci.Ui)],Fr);var ho=m(65776),Sd=m(40099),Qa=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},wa=function(fe,r){return function(l,v){r(l,v,fe)}};let Pl=class{constructor(r,l){this._commandService=r,this._hiddenStates=new Ol(l)}createMenu(r,l,v){return new yd(r,this._hiddenStates,Object.assign({emitEventsForSubmenuChanges:!1,eventDebounceDelay:50},v),this._commandService,l,this)}};Pl=Qa([wa(0,Fs.Hy),wa(1,Sd.Uy)],Pl);let Ol=class sf{constructor(r){this._storageService=r,this._disposables=new he.SL,this._onDidChange=new ie.Q5,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1;try{const l=r.get(sf._key,0,"{}");this._data=JSON.parse(l)}catch{this._data=Object.create(null)}this._disposables.add(r.onDidChangeValue(l=>{if(l.key===sf._key){if(!this._ignoreChangeEvent)try{const v=r.get(sf._key,0,"{}");this._data=JSON.parse(v)}catch(v){console.log("FAILED to read storage after UPDATE",v)}this._onDidChange.fire()}}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}isHidden(r,l){var v,H;return(H=(v=this._data[r.id])===null||v===void 0?void 0:v.includes(l))!==null&&H!==void 0?H:!1}updateHidden(r,l,v){const H=this._data[r.id];if(v)H?H.indexOf(l)<0&&H.push(l):this._data[r.id]=[l];else if(H){const G=H.indexOf(l);G>=0&&(0,bt.LS)(H,G),H.length===0&&delete this._data[r.id]}this._persist()}_persist(){try{this._ignoreChangeEvent=!0;const r=JSON.stringify(this._data);this._storageService.store(sf._key,r,0,0)}finally{this._ignoreChangeEvent=!1}}};Ol._key="menu.hiddenCommands",Ol=Qa([wa(0,Sd.Uy)],Ol);let yd=class Nh{constructor(r,l,v,H,G,le){this._id=r,this._hiddenStates=l,this._options=v,this._commandService=H,this._contextKeyService=G,this._menuService=le,this._disposables=new he.SL,this._menuGroups=[],this._contextKeys=new Set,this._build();const pe=new te.pY(()=>{this._build(),this._onDidChange.fire(this)},v.eventDebounceDelay);this._disposables.add(pe),this._disposables.add(ho.BH.onDidChangeMenu(Qe=>{Qe.has(r)&&pe.schedule()}));const Te=this._disposables.add(new he.SL),He=()=>{const Qe=new te.pY(()=>this._onDidChange.fire(this),v.eventDebounceDelay);Te.add(Qe),Te.add(G.onDidChangeContext(pt=>{pt.affectsSome(this._contextKeys)&&Qe.schedule()})),Te.add(l.onDidChange(()=>{Qe.schedule()}))};this._onDidChange=new ie.Q5({onFirstListenerAdd:He,onLastListenerRemove:Te.clear.bind(Te)}),this.onDidChange=this._onDidChange.event}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}_build(){this._menuGroups.length=0,this._contextKeys.clear();const r=ho.BH.getMenuItems(this._id);let l;r.sort(Nh._compareMenuItems);for(const v of r){const H=v.group||"";(!l||l[0]!==H)&&(l=[H,[]],this._menuGroups.push(l)),l[1].push(v),this._collectContextKeys(v)}}_collectContextKeys(r){if(Nh._fillInKbExprKeys(r.when,this._contextKeys),(0,ho.vr)(r)){if(r.command.precondition&&Nh._fillInKbExprKeys(r.command.precondition,this._contextKeys),r.command.toggled){const l=r.command.toggled.condition||r.command.toggled;Nh._fillInKbExprKeys(l,this._contextKeys)}}else this._options.emitEventsForSubmenuChanges&&ho.BH.getMenuItems(r.submenu).forEach(this._collectContextKeys,this)}getActions(r){const l=[],v=[];for(const H of this._menuGroups){const[G,le]=H,pe=[],Te=[];for(const He of le)if(this._contextKeyService.contextMatchesRules(He.when)){let Qe;if((0,ho.vr)(He)){const ii=hf(this._id,He.command,this._hiddenStates);Qe=new ho.U8(He.command,He.alt,r,ii,this._contextKeyService,this._commandService)}else Qe=new ho.NZ(He,this._menuService,this._contextKeyService,r),Qe.actions.length===0&&(Qe.dispose(),Qe=void 0);Qe&&Te.push(Qe)}Te.length>0&&l.push([G,Te]),pe.length>0&&v.push(pe)}return l}static _fillInKbExprKeys(r,l){if(r)for(const v of r.keys())l.add(v)}static _compareMenuItems(r,l){const v=r.group,H=l.group;if(v!==H){if(v){if(!H)return-1}else return 1;if(v==="navigation")return-1;if(H==="navigation")return 1;const pe=v.localeCompare(H);if(pe!==0)return pe}const G=r.order||0,le=l.order||0;return G<le?-1:G>le?1:Nh._compareTitles((0,ho.vr)(r)?r.command.title:r.title,(0,ho.vr)(l)?l.command.title:l.title)}static _compareTitles(r,l){const v=typeof r=="string"?r:r.original,H=typeof l=="string"?l:l.original;return v.localeCompare(H)}};yd=Qa([wa(3,Fs.Hy),wa(4,as.i6),wa(5,ho.co)],yd);function hf(fe,r,l){const v=`${fe.id}/${r.id}`,H=typeof r.title=="string"?r.title:r.title.value,G=(0,Bs.xw)({id:v,label:(0,ee.NC)("hide.label","Hide '{0}'",H),run(){l.updateHidden(fe,r.id,!0)}}),le=(0,Bs.xw)({id:v,label:H,get checked(){return!l.isHidden(fe,r.id)},run(){const pe=!l.isHidden(fe,r.id);l.updateHidden(fe,r.id,pe)}});return{hide:G,toggle:le,get isHidden(){return!le.checked}}}var Ld=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Lc=function(fe,r){return function(l,v){r(l,v,fe)}},Za=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};let Dc=class extends he.JT{constructor(r,l){super(),this.layoutService=r,this.logService=l,this.mapTextToType=new Map,this.findText="",this.resources=[],(Cl.isSafari||Cl.isWebkitWebView)&&this.installWebKitWriteTextWorkaround()}installWebKitWriteTextWorkaround(){const r=()=>{const l=new te.CR;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=l,navigator.clipboard.write([new ClipboardItem({"text/plain":l.p})]).catch(v=>Za(this,void 0,void 0,function*(){(!(v instanceof Error)||v.name!=="NotAllowedError"||!l.isRejected)&&this.logService.error(v)}))};this.layoutService.hasContainer&&(this._register((0,xt.nm)(this.layoutService.container,"click",r)),this._register((0,xt.nm)(this.layoutService.container,"keydown",r)))}writeText(r,l){return Za(this,void 0,void 0,function*(){if(l){this.mapTextToType.set(l,r);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(r);try{return yield navigator.clipboard.writeText(r)}catch(G){console.error(G)}const v=document.activeElement,H=document.body.appendChild((0,xt.$)("textarea",{"aria-hidden":!0}));H.style.height="1px",H.style.width="1px",H.style.position="absolute",H.value=r,H.focus(),H.select(),document.execCommand("copy"),v instanceof HTMLElement&&v.focus(),document.body.removeChild(H)})}readText(r){return Za(this,void 0,void 0,function*(){if(r)return this.mapTextToType.get(r)||"";try{return yield navigator.clipboard.readText()}catch(l){return console.error(l),""}})}readFindText(){return Za(this,void 0,void 0,function*(){return this.findText})}writeFindText(r){return Za(this,void 0,void 0,function*(){this.findText=r})}readResources(){return Za(this,void 0,void 0,function*(){return this.resources})}};Dc=Ld([Lc(0,ms),Lc(1,Zt.VZ)],Dc);var Bh=m(65102),Br=m(20459),Dd=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},lr=function(fe,r){return function(l,v){r(l,v,fe)}};const Ya="data-keybinding-context";class Ed{constructor(r,l){this._id=r,this._parent=l,this._value=Object.create(null),this._value._contextId=r}get value(){return Object.assign({},this._value)}setValue(r,l){return this._value[r]!==l?(this._value[r]=l,!0):!1}removeValue(r){return r in this._value?(delete this._value[r],!0):!1}getValue(r){const l=this._value[r];return typeof l>"u"&&this._parent?this._parent.getValue(r):l}}class Sa extends Ed{constructor(){super(-1,null)}setValue(r,l){return!1}removeValue(r){return!1}getValue(r){}}Sa.INSTANCE=new Sa;class Xa extends Ed{constructor(r,l,v){super(r,null),this._configurationService=l,this._values=js.Id.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(H=>{if(H.source===7){const G=Array.from(Br.$.map(this._values,([le])=>le));this._values.clear(),v.fire(new Ic(G))}else{const G=[];for(const le of H.affectedKeys){const pe=`config.${le}`,Te=this._values.findSuperstr(pe);Te!==void 0&&(G.push(...Br.$.map(Te,([He])=>He)),this._values.deleteSuperstr(pe)),this._values.has(pe)&&(G.push(pe),this._values.delete(pe))}v.fire(new Ic(G))}})}dispose(){this._listener.dispose()}getValue(r){if(r.indexOf(Xa._keyPrefix)!==0)return super.getValue(r);if(this._values.has(r))return this._values.get(r);const l=r.substr(Xa._keyPrefix.length),v=this._configurationService.getValue(l);let H;switch(typeof v){case"number":case"boolean":case"string":H=v;break;default:Array.isArray(v)?H=JSON.stringify(v):H=v}return this._values.set(r,H),H}setValue(r,l){return super.setValue(r,l)}removeValue(r){return super.removeValue(r)}}Xa._keyPrefix="config.";class Wh{constructor(r,l,v){this._service=r,this._key=l,this._defaultValue=v,this.reset()}set(r){this._service.setContext(this._key,r)}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 Ec{constructor(r){this.key=r}affectsSome(r){return r.has(this.key)}allKeysContainedIn(r){return this.affectsSome(r)}}class Ic{constructor(r){this.keys=r}affectsSome(r){for(const l of this.keys)if(r.has(l))return!0;return!1}allKeysContainedIn(r){return this.keys.every(l=>r.has(l))}}class Vh{constructor(r){this.events=r}affectsSome(r){for(const l of this.events)if(l.affectsSome(r))return!0;return!1}allKeysContainedIn(r){return this.events.every(l=>l.allKeysContainedIn(r))}}function uf(fe,r){return fe.allKeysContainedIn(new Set(Object.keys(r)))}class dr{constructor(r){this._onDidChangeContext=new ie.K3({merge:l=>new Vh(l)}),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=r}createKey(r,l){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new Wh(this,r,l)}bufferChangeEvents(r){this._onDidChangeContext.pause();try{r()}finally{this._onDidChangeContext.resume()}}createScoped(r){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new cr(this,r)}contextMatchesRules(r){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const l=this.getContextValuesContainer(this._myContextId);return r?r.evaluate(l):!0}getContextKeyValue(r){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(r)}setContext(r,l){if(this._isDisposed)return;const v=this.getContextValuesContainer(this._myContextId);v&&v.setValue(r,l)&&this._onDidChangeContext.fire(new Ec(r))}removeContext(r){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(r)&&this._onDidChangeContext.fire(new Ec(r))}getContext(r){return this._isDisposed?Sa.INSTANCE:this.getContextValuesContainer(Id(r))}}let Ja=class extends dr{constructor(r){super(0),this._contexts=new Map,this._toDispose=new he.SL,this._lastContextId=0;const l=new Xa(this._myContextId,r,this._onDidChangeContext);this._contexts.set(this._myContextId,l),this._toDispose.add(l)}dispose(){this._onDidChangeContext.dispose(),this._isDisposed=!0,this._toDispose.dispose()}getContextValuesContainer(r){return this._isDisposed?Sa.INSTANCE:this._contexts.get(r)||Sa.INSTANCE}createChildContext(r=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const l=++this._lastContextId;return this._contexts.set(l,new Ed(l,this.getContextValuesContainer(r))),l}disposeContext(r){this._isDisposed||this._contexts.delete(r)}};Ja=Dd([lr(0,Ci.Ui)],Ja);class cr extends dr{constructor(r,l){if(super(r.createChildContext()),this._parentChangeListener=new he.XK,this._parent=r,this._updateParentChangeListener(),this._domNode=l,this._domNode.hasAttribute(Ya)){let v="";this._domNode.classList&&(v=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${v?": "+v:""}`)}this._domNode.setAttribute(Ya,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(r=>{const v=this._parent.getContextValuesContainer(this._myContextId).value;uf(r,v)||this._onDidChangeContext.fire(r)})}dispose(){this._isDisposed||(this._onDidChangeContext.dispose(),this._parent.disposeContext(this._myContextId),this._parentChangeListener.dispose(),this._domNode.removeAttribute(Ya),this._isDisposed=!0)}getContextValuesContainer(r){return this._isDisposed?Sa.INSTANCE:this._parent.getContextValuesContainer(r)}createChildContext(r=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(r)}disposeContext(r){this._isDisposed||this._parent.disposeContext(r)}}function Id(fe){for(;fe;){if(fe.hasAttribute(Ya)){const r=fe.getAttribute(Ya);return r?parseInt(r,10):NaN}fe=fe.parentElement}return 0}function ff(fe,r,l){fe.get(as.i6).createKey(String(r),gf(l))}function gf(fe){return(0,qs.rs)(fe,r=>{if(typeof r=="object"&&r.$mid===1)return N.o.revive(r).toString();if(r instanceof N.o)return r.toString()})}Fs.P0.registerCommand(as.Eq,ff),Fs.P0.registerCommand({id:"getContextKeyInfo",handler(){return[...as.uy.all()].sort((fe,r)=>fe.key.localeCompare(r.key))},description:{description:(0,ee.NC)("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),Fs.P0.registerCommand("_generateContextKeyInfo",function(){const fe=[],r=new Set;for(const l of as.uy.all())r.has(l.key)||(r.add(l.key),fe.push(l));fe.sort((l,v)=>l.key.localeCompare(v.key)),console.log(JSON.stringify(fe,void 0,2))});var qr=m(94452);class mf{constructor(r){this.incoming=new Map,this.outgoing=new Map,this.data=r}}class pf{constructor(r){this._hashFn=r,this._nodes=new Map}roots(){const r=[];for(const l of this._nodes.values())l.outgoing.size===0&&r.push(l);return r}insertEdge(r,l){const v=this.lookupOrInsertNode(r),H=this.lookupOrInsertNode(l);v.outgoing.set(this._hashFn(l),H),H.incoming.set(this._hashFn(r),v)}removeNode(r){const l=this._hashFn(r);this._nodes.delete(l);for(const v of this._nodes.values())v.outgoing.delete(l),v.incoming.delete(l)}lookupOrInsertNode(r){const l=this._hashFn(r);let v=this._nodes.get(l);return v||(v=new mf(r),this._nodes.set(l,v)),v}isEmpty(){return this._nodes.size===0}toString(){const r=[];for(const[l,v]of this._nodes)r.push(`${l}, (incoming)[${[...v.incoming.keys()].join(", ")}], (outgoing)[${[...v.outgoing.keys()].join(",")}]`);return r.join(` `)}findCycleSlow(){for(const[r,l]of this._nodes){const v=new Set([r]),H=this._findCycle(l,v);if(H)return H}}_findCycle(r,l){for(const[v,H]of r.outgoing){if(l.has(v))return[...l,v].join(" -> ");l.add(v);const G=this._findCycle(H,l);if(G)return G;l.delete(v)}}}var _f=m(81775);const Cf=!1;class xc extends Error{constructor(r){var l;super("cyclic dependency between services"),this.message=(l=r.findCycleSlow())!==null&&l!==void 0?l:`UNABLE to detect cycle, dumping graph: ${r.toString()}`}}class ea{constructor(r=new _f.y,l=!1,v){this._activeInstantiations=new Set,this._services=r,this._strict=l,this._parent=v,this._services.set(Mn.TG,this)}createChild(r){return new ea(r,this._strict,this)}invokeFunction(r,...l){const v=Io.traceInvocation(r);let H=!1;try{return r({get:le=>{if(H)throw(0,_e.L6)("service accessor is only valid during the invocation of its target method");const pe=this._getOrCreateServiceInstance(le,v);if(!pe)throw new Error(`[invokeFunction] unknown service '${le}'`);return pe}},...l)}finally{H=!0,v.stop()}}createInstance(r,...l){let v,H;return r instanceof qr.M?(v=Io.traceCreation(r.ctor),H=this._createInstance(r.ctor,r.staticArguments.concat(l),v)):(v=Io.traceCreation(r),H=this._createInstance(r,l,v)),v.stop(),H}_createInstance(r,l=[],v){const H=Mn.I8.getServiceDependencies(r).sort((pe,Te)=>pe.index-Te.index),G=[];for(const pe of H){const Te=this._getOrCreateServiceInstance(pe.id,v);Te||this._throwIfStrict(`[createInstance] ${r.name} depends on UNKNOWN service ${pe.id}.`,!1),G.push(Te)}const le=H.length>0?H[0].index:l.length;if(l.length!==le){console.trace(`[createInstance] First service dependency of ${r.name} at position ${le+1} conflicts with ${l.length} static arguments`);const pe=le-l.length;pe>0?l=l.concat(new Array(pe)):l=l.slice(0,le)}return new r(...l,...G)}_setServiceInstance(r,l){if(this._services.get(r)instanceof qr.M)this._services.set(r,l);else if(this._parent)this._parent._setServiceInstance(r,l);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(r){const l=this._services.get(r);return!l&&this._parent?this._parent._getServiceInstanceOrDescriptor(r):l}_getOrCreateServiceInstance(r,l){const v=this._getServiceInstanceOrDescriptor(r);return v instanceof qr.M?this._safeCreateAndCacheServiceInstance(r,v,l.branch(r,!0)):(l.branch(r,!1),v)}_safeCreateAndCacheServiceInstance(r,l,v){if(this._activeInstantiations.has(r))throw new Error(`illegal state - RECURSIVELY instantiating service '${r}'`);this._activeInstantiations.add(r);try{return this._createAndCacheServiceInstance(r,l,v)}finally{this._activeInstantiations.delete(r)}}_createAndCacheServiceInstance(r,l,v){const H=new pf(pe=>pe.id.toString());let G=0;const le=[{id:r,desc:l,_trace:v}];for(;le.length;){const pe=le.pop();if(H.lookupOrInsertNode(pe),G++>1e3)throw new xc(H);for(const Te of Mn.I8.getServiceDependencies(pe.desc.ctor)){const He=this._getServiceInstanceOrDescriptor(Te.id);if(He||this._throwIfStrict(`[createInstance] ${r} depends on ${Te.id} which is NOT registered.`,!0),He instanceof qr.M){const Qe={id:Te.id,desc:He,_trace:pe._trace.branch(Te.id,!0)};H.insertEdge(pe,Qe),le.push(Qe)}}}for(;;){const pe=H.roots();if(pe.length===0){if(!H.isEmpty())throw new xc(H);break}for(const{data:Te}of pe){if(this._getServiceInstanceOrDescriptor(Te.id)instanceof qr.M){const Qe=this._createServiceInstanceWithOwner(Te.id,Te.desc.ctor,Te.desc.staticArguments,Te.desc.supportsDelayedInstantiation,Te._trace);this._setServiceInstance(Te.id,Qe)}H.removeNode(Te)}}return this._getServiceInstanceOrDescriptor(r)}_createServiceInstanceWithOwner(r,l,v=[],H,G){if(this._services.get(r)instanceof qr.M)return this._createServiceInstance(l,v,H,G);if(this._parent)return this._parent._createServiceInstanceWithOwner(r,l,v,H,G);throw new Error(`illegalState - creating UNKNOWN service instance ${l.name}`)}_createServiceInstance(r,l=[],v,H){if(v){const G=new te.Ue(()=>this._createInstance(r,l,H));return new Proxy(Object.create(null),{get(le,pe){if(pe in le)return le[pe];const Te=G.value;let He=Te[pe];return typeof He!="function"||(He=He.bind(Te),le[pe]=He),He},set(le,pe,Te){return G.value[pe]=Te,!0}})}else return this._createInstance(r,l,H)}_throwIfStrict(r,l){if(l&&console.warn(r),this._strict)throw new Error(r)}}class Io{constructor(r,l){this.type=r,this.name=l,this._start=Date.now(),this._dep=[]}static traceInvocation(r){return Cf?new Io(1,r.name||r.toString().substring(0,42).replace(/\n/g,"")):Io._None}static traceCreation(r){return Cf?new Io(0,r.name):Io._None}branch(r,l){const v=new Io(2,r.toString());return this._dep.push([r,l,v]),v}stop(){const r=Date.now()-this._start;Io._totals+=r;let l=!1;function v(G,le){const pe=[],Te=new Array(G+1).join(" ");for(const[He,Qe,pt]of le._dep)if(Qe&&pt){l=!0,pe.push(`${Te}CREATES -> ${He}`);const ii=v(G+1,pt);ii&&pe.push(ii)}else pe.push(`${Te}uses -> ${He}`);return pe.join(` `)}const H=[`${this.type===0?"CREATE":"CALL"} ${this.name}`,`${v(1,this)}`,`DONE, took ${r.toFixed(2)}ms (grand total ${Io._totals.toFixed(2)}ms)`];(r>2||l)&&console.log(H.join(` `))}}Io._None=new class extends Io{constructor(){super(-1,null)}stop(){}branch(){return this}},Io._totals=0;class O_{constructor(){this._byResource=new js.Y9,this._byOwner=new Map}set(r,l,v){let H=this._byResource.get(r);H||(H=new Map,this._byResource.set(r,H)),H.set(l,v);let G=this._byOwner.get(l);G||(G=new js.Y9,this._byOwner.set(l,G)),G.set(r,v)}get(r,l){const v=this._byResource.get(r);return v?.get(l)}delete(r,l){let v=!1,H=!1;const G=this._byResource.get(r);G&&(v=G.delete(l));const le=this._byOwner.get(l);if(le&&(H=le.delete(r)),v!==H)throw new Error("illegal state");return v&&H}values(r){var l,v,H,G;return typeof r=="string"?(v=(l=this._byOwner.get(r))===null||l===void 0?void 0:l.values())!==null&&v!==void 0?v:Br.$.empty():N.o.isUri(r)?(G=(H=this._byResource.get(r))===null||H===void 0?void 0:H.values())!==null&&G!==void 0?G:Br.$.empty():Br.$.map(Br.$.concat(...this._byOwner.values()),le=>le[1])}}class Nc{constructor(r){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new js.Y9,this._service=r,this._subscription=r.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(r){for(const l of r){const v=this._data.get(l);v&&this._substract(v);const H=this._resourceStats(l);this._add(H),this._data.set(l,H)}}_resourceStats(r){const l={errors:0,warnings:0,infos:0,unknowns:0};if(r.scheme===ds.lg.inMemory||r.scheme===ds.lg.walkThrough||r.scheme===ds.lg.walkThroughSnippet||r.scheme===ds.lg.vscodeSourceControl)return l;for(const{severity:v}of this._service.read({resource:r}))v===po.ZL.Error?l.errors+=1:v===po.ZL.Warning?l.warnings+=1:v===po.ZL.Info?l.infos+=1:l.unknowns+=1;return l}_substract(r){this.errors-=r.errors,this.warnings-=r.warnings,this.infos-=r.infos,this.unknowns-=r.unknowns}_add(r){this.errors+=r.errors,this.warnings+=r.warnings,this.infos+=r.infos,this.unknowns+=r.unknowns}}class ta{constructor(){this._onMarkerChanged=new ie.D0({delay:0,merge:ta._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new O_,this._stats=new Nc(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(r,l){for(const v of l||[])this.changeOne(r,v,[])}changeOne(r,l,v){if((0,bt.XY)(v))this._data.delete(l,r)&&this._onMarkerChanged.fire([l]);else{const H=[];for(const G of v){const le=ta._toMarker(r,l,G);le&&H.push(le)}this._data.set(l,r,H),this._onMarkerChanged.fire([l])}}static _toMarker(r,l,v){let{code:H,severity:G,message:le,source:pe,startLineNumber:Te,startColumn:He,endLineNumber:Qe,endColumn:pt,relatedInformation:ii,tags:yi}=v;if(le)return Te=Te>0?Te:1,He=He>0?He:1,Qe=Qe>=Te?Qe:Te,pt=pt>0?pt:He,{resource:l,owner:r,code:H,severity:G,message:le,source:pe,startLineNumber:Te,startColumn:He,endLineNumber:Qe,endColumn:pt,relatedInformation:ii,tags:yi}}changeAll(r,l){const v=[],H=this._data.values(r);if(H)for(const G of H){const le=Br.$.first(G);le&&(v.push(le.resource),this._data.delete(le.resource,r))}if((0,bt.Of)(l)){const G=new js.Y9;for(const{resource:le,marker:pe}of l){const Te=ta._toMarker(r,le,pe);if(!Te)continue;const He=G.get(le);He?He.push(Te):(G.set(le,[Te]),v.push(le))}for(const[le,pe]of G)this._data.set(le,r,pe)}v.length>0&&this._onMarkerChanged.fire(v)}read(r=Object.create(null)){let{owner:l,resource:v,severities:H,take:G}=r;if((!G||G<0)&&(G=-1),l&&v){const le=this._data.get(v,l);if(le){const pe=[];for(const Te of le)if(ta._accept(Te,H)){const He=pe.push(Te);if(G>0&&He===G)break}return pe}else return[]}else if(!l&&!v){const le=[];for(const pe of this._data.values())for(const Te of pe)if(ta._accept(Te,H)){const He=le.push(Te);if(G>0&&He===G)return le}return le}else{const le=this._data.values(v??l),pe=[];for(const Te of le)for(const He of Te)if(ta._accept(He,H)){const Qe=pe.push(He);if(G>0&&Qe===G)return pe}return pe}}static _accept(r,l){return l===void 0||(l&r.severity)===r.severity}static _merge(r){const l=new js.Y9;for(const v of r)for(const H of v)l.set(H,!0);return Array.from(l.keys())}}function kc(fe,r,l,v,H,G){if(Array.isArray(fe)){let le=0;for(const pe of fe){const Te=kc(pe,r,l,v,H,G);if(Te===10)return Te;Te>le&&(le=Te)}return le}else{if(typeof fe=="string")return v?fe==="*"?5:fe===l?10:0:0;if(fe){const{language:le,pattern:pe,scheme:Te,hasAccessToAllModels:He,notebookType:Qe}=fe;if(!v&&!He)return 0;Qe&&H&&(r=H);let pt=0;if(Te)if(Te===r.scheme)pt=10;else if(Te==="*")pt=5;else return 0;if(le)if(le===l)pt=10;else if(le==="*")pt=Math.max(pt,5);else return 0;if(Qe)if(Qe===G)pt=10;else if(Qe==="*"&&G!==void 0)pt=Math.max(pt,5);else return 0;if(pe){let ii;if(typeof pe=="string"?ii=pe:ii=Object.assign(Object.assign({},pe),{base:(0,eo.Fv)(pe.base)}),ii===r.fsPath||Gr(ii,r.fsPath))pt=10;else return 0}return pt}else return 0}}function vf(fe){return typeof fe=="string"?!1:Array.isArray(fe)?fe.every(vf):!!fe.exclusive}class bf{constructor(r,l,v,H){this.uri=r,this.languageId=l,this.notebookUri=v,this.notebookType=H}equals(r){var l,v;return this.notebookType===r.notebookType&&this.languageId===r.languageId&&this.uri.toString()===r.uri.toString()&&((l=this.notebookUri)===null||l===void 0?void 0:l.toString())===((v=r.notebookUri)===null||v===void 0?void 0:v.toString())}}class Ds{constructor(r){this._notebookInfoResolver=r,this._clock=0,this._entries=[],this._onDidChange=new ie.Q5,this.onDidChange=this._onDidChange.event}register(r,l){let v={selector:r,provider:l,_score:-1,_time:this._clock++};return this._entries.push(v),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,he.OF)(()=>{if(v){const H=this._entries.indexOf(v);H>=0&&(this._entries.splice(H,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),v=void 0)}})}has(r){return this.all(r).length>0}all(r){if(!r)return[];this._updateScores(r);const l=[];for(const v of this._entries)v._score>0&&l.push(v.provider);return l}ordered(r){const l=[];return this._orderedForEach(r,v=>l.push(v.provider)),l}orderedGroups(r){const l=[];let v,H;return this._orderedForEach(r,G=>{v&&H===G._score?v.push(G.provider):(H=G._score,v=[G.provider],l.push(v))}),l}_orderedForEach(r,l){this._updateScores(r);for(const v of this._entries)v._score>0&&l(v)}_updateScores(r){var l,v;const H=(l=this._notebookInfoResolver)===null||l===void 0?void 0:l.call(this,r.uri),G=H?new bf(r.uri,r.getLanguageId(),H.uri,H.type):new bf(r.uri,r.getLanguageId(),void 0,void 0);if(!(!((v=this._lastCandidate)===null||v===void 0)&&v.equals(G))){this._lastCandidate=G;for(const le of this._entries)if(le._score=kc(le.selector,G.uri,G.languageId,(0,T.pt)(r),G.notebookUri,G.notebookType),vf(le.selector)&&le._score>0){for(const pe of this._entries)pe._score=0;le._score=1e3;break}this._entries.sort(Ds._compareByScoreAndTime)}}static _compareByScoreAndTime(r,l){return r._score<l._score?1:r._score>l._score?-1:r._time<l._time?1:r._time>l._time?-1:0}}class wf{constructor(){this.referenceProvider=new Ds(this._score.bind(this)),this.renameProvider=new Ds(this._score.bind(this)),this.codeActionProvider=new Ds(this._score.bind(this)),this.definitionProvider=new Ds(this._score.bind(this)),this.typeDefinitionProvider=new Ds(this._score.bind(this)),this.declarationProvider=new Ds(this._score.bind(this)),this.implementationProvider=new Ds(this._score.bind(this)),this.documentSymbolProvider=new Ds(this._score.bind(this)),this.inlayHintsProvider=new Ds(this._score.bind(this)),this.colorProvider=new Ds(this._score.bind(this)),this.codeLensProvider=new Ds(this._score.bind(this)),this.documentFormattingEditProvider=new Ds(this._score.bind(this)),this.documentRangeFormattingEditProvider=new Ds(this._score.bind(this)),this.onTypeFormattingEditProvider=new Ds(this._score.bind(this)),this.signatureHelpProvider=new Ds(this._score.bind(this)),this.hoverProvider=new Ds(this._score.bind(this)),this.documentHighlightProvider=new Ds(this._score.bind(this)),this.selectionRangeProvider=new Ds(this._score.bind(this)),this.foldingRangeProvider=new Ds(this._score.bind(this)),this.linkProvider=new Ds(this._score.bind(this)),this.inlineCompletionsProvider=new Ds(this._score.bind(this)),this.completionProvider=new Ds(this._score.bind(this)),this.linkedEditingRangeProvider=new Ds(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new Ds(this._score.bind(this)),this.documentSemanticTokensProvider=new Ds(this._score.bind(this)),this.documentOnDropEditProvider=new Ds(this._score.bind(this)),this.documentPasteEditProvider=new Ds(this._score.bind(this))}_score(r){var l;return(l=this._notebookTypeResolver)===null||l===void 0?void 0:l.call(this,r)}}(0,Wn.z)(Ot.p,wf,!0);class Hh extends Hs{constructor(r={}){const l=Cc.B.as(br.IP.Configuration).getConfigurationProperties(),v=Object.keys(l),H=Object.create(null),G=[];for(const le in l){const pe=r[le],Te=pe!==void 0?pe:l[le].default;(0,Ci.KV)(H,le,Te,He=>console.error(`Conflict in default settings: ${He}`))}for(const le of Object.keys(H))br.eU.test(le)&&G.push({identifiers:(0,br.ny)(le),keys:Object.keys(H[le]),contents:(0,Ci.Od)(H[le],pe=>console.error(`Conflict in default settings file: ${pe}`))});super(H,v,G)}}var Er=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},Ws=function(fe,r){return function(l,v){r(l,v,fe)}},Yo=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};class Fl{constructor(r){this.disposed=!1,this.model=r,this._onWillDispose=new ie.Q5}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let _o=class{constructor(r){this.modelService=r}createModelReference(r){const l=this.modelService.getModel(r);return l?Promise.resolve(new he.Jz(new Fl(l))):Promise.reject(new Error("Model not found"))}};_o=Er([Ws(0,X.q)],_o);class xd{show(){return xd.NULL_PROGRESS_RUNNER}showWhile(r,l){return Yo(this,void 0,void 0,function*(){yield r})}}xd.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class hr{withProgress(r,l,v){return l({report:()=>{}})}}class Bl{confirm(r){return this.doConfirm(r).then(l=>({confirmed:l,checkboxChecked:!1}))}doConfirm(r){let l=r.message;return r.detail&&(l=l+` `+r.detail),Promise.resolve(window.confirm(l))}show(r,l,v,H){return Promise.resolve({choice:0})}}class Wl{info(r){return this.notify({severity:M.Z.Info,message:r})}warn(r){return this.notify({severity:M.Z.Warning,message:r})}error(r){return this.notify({severity:M.Z.Error,message:r})}notify(r){switch(r.severity){case M.Z.Error:console.error(r.message);break;case M.Z.Warning:console.warn(r.message);break;default:console.log(r.message);break}return Wl.NO_OP}status(r,l){return he.JT.None}}Wl.NO_OP=new B.EO;let Xo=class{constructor(r){this._onWillExecuteCommand=new ie.Q5,this._onDidExecuteCommand=new ie.Q5,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=r}executeCommand(r,...l){const v=Fs.P0.getCommand(r);if(!v)return Promise.reject(new Error(`command '${r}' not found`));try{this._onWillExecuteCommand.fire({commandId:r,args:l});const H=this._instantiationService.invokeFunction.apply(this._instantiationService,[v.handler,...l]);return this._onDidExecuteCommand.fire({commandId:r,args:l}),Promise.resolve(H)}catch(H){return Promise.reject(H)}}};Xo=Er([Ws(0,Mn.TG)],Xo);let ya=class extends da{constructor(r,l,v,H,G,le){super(r,l,v,H,G),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const pe=yi=>{const nn=new he.SL;nn.add(xt.nm(yi,xt.tw.KEY_DOWN,In=>{const On=new Hi.y(In);this._dispatch(On,On.target)&&(On.preventDefault(),On.stopPropagation())})),nn.add(xt.nm(yi,xt.tw.KEY_UP,In=>{const On=new Hi.y(In);this._singleModifierDispatch(On,On.target)&&On.preventDefault()})),this._domNodeListeners.push(new Sf(yi,nn))},Te=yi=>{for(let nn=0;nn<this._domNodeListeners.length;nn++){const In=this._domNodeListeners[nn];In.domNode===yi&&(this._domNodeListeners.splice(nn,1),In.dispose())}},He=yi=>{yi.getOption(56)||pe(yi.getContainerDomNode())},Qe=yi=>{yi.getOption(56)||Te(yi.getContainerDomNode())};this._register(le.onCodeEditorAdd(He)),this._register(le.onCodeEditorRemove(Qe)),le.listCodeEditors().forEach(He);const pt=yi=>{pe(yi.getContainerDomNode())},ii=yi=>{Te(yi.getContainerDomNode())};this._register(le.onDiffEditorAdd(pt)),this._register(le.onDiffEditorRemove(ii)),le.listDiffEditors().forEach(pt)}addDynamicKeybinding(r,l,v,H){const G=(0,Os.gm)(l,ge.OS),le=new he.SL;return G&&(this._dynamicKeybindings.push({keybinding:G.parts,command:r,when:H,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}),le.add((0,he.OF)(()=>{for(let pe=0;pe<this._dynamicKeybindings.length;pe++)if(this._dynamicKeybindings[pe].command===r){this._dynamicKeybindings.splice(pe,1),this.updateResolver();return}}))),le.add(Fs.P0.registerCommand(r,v)),this.updateResolver(),le}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){const r=this._toNormalizedKeybindingItems(Mr.W.getDefaultKeybindings(),!0),l=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new un(r,l,v=>this._log(v))}return this._cachedResolver}_documentHasFocus(){return document.hasFocus()}_toNormalizedKeybindingItems(r,l){const v=[];let H=0;for(const G of r){const le=G.when||void 0,pe=G.keybinding;if(!pe)v[H++]=new Ko(void 0,G.command,G.commandArgs,le,l,null,!1);else{const Te=ca.resolveUserBinding(pe,ge.OS);for(const He of Te)v[H++]=new Ko(He,G.command,G.commandArgs,le,l,null,!1)}}return v}resolveKeyboardEvent(r){const l=new Os.QC(r.ctrlKey,r.shiftKey,r.altKey,r.metaKey,r.keyCode).toChord();return new ca(l,ge.OS)}};ya=Er([Ws(0,as.i6),Ws(1,Fs.Hy),Ws(2,jr.b),Ws(3,B.lT),Ws(4,Zt.VZ),Ws(5,E.$)],ya);class Sf extends he.JT{constructor(r,l){super(),this.domNode=r,this._register(l)}}function Vl(fe){return fe&&typeof fe=="object"&&(!fe.overrideIdentifier||typeof fe.overrideIdentifier=="string")&&(!fe.resource||fe.resource instanceof N.o)}class ia{constructor(){this._onDidChangeConfiguration=new ie.Q5,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new zr(new Hh,new Hs,new Hs,new Hs)}getValue(r,l){const v=typeof r=="string"?r:void 0,H=Vl(r)?r:Vl(l)?l:{};return this._configuration.getValue(v,H,void 0)}updateValues(r){const l={data:this._configuration.toData()},v=[];for(const H of r){const[G,le]=H;this.getValue(G)!==le&&(this._configuration.updateValue(G,le),v.push(G))}if(v.length>0){const H=new ld({keys:v,overrides:[]},l,this._configuration);H.source=8,H.sourceConfig=null,this._onDidChangeConfiguration.fire(H)}return Promise.resolve()}updateValue(r,l,v,H){return this.updateValues([[r,l]])}inspect(r,l={}){return this._configuration.inspect(r,l,void 0)}}let zh=class{constructor(r){this.configurationService=r,this._onDidChangeConfiguration=new ie.Q5,this.configurationService.onDidChangeConfiguration(l=>{this._onDidChangeConfiguration.fire({affectedKeys:l.affectedKeys,affectsConfiguration:(v,H)=>l.affectsConfiguration(H)})})}getValue(r,l,v){const G=(ne.L.isIPosition(l)?l:null)?typeof v=="string"?v:void 0:typeof l=="string"?l:void 0;return typeof G>"u"?this.configurationService.getValue():this.configurationService.getValue(G)}};zh=Er([Ws(0,Ci.Ui)],zh);let Tc=class{constructor(r){this.configurationService=r}getEOL(r,l){const v=this.configurationService.getValue("files.eol",{overrideIdentifier:l,resource:r});return v&&typeof v=="string"&&v!=="auto"?v:ge.IJ||ge.dz?` `:`\r `}};Tc=Er([Ws(0,Ci.Ui)],Tc);class Cm{publicLog(r,l){return Promise.resolve(void 0)}publicLog2(r,l){return this.publicLog(r,l)}}class Mc{constructor(){const r=N.o.from({scheme:Mc.SCHEME,authority:"model",path:"/"});this.workspace={id:"4064f6ec-cb38-4ad0-af64-ee6467e63c82",folders:[new $o.md({uri:r,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(r){return r&&r.scheme===Mc.SCHEME?this.workspace.folders[0]:null}}Mc.SCHEME="inmemory";function Ac(fe,r,l){if(!r||!(fe instanceof ia))return;const v=[];Object.keys(r).forEach(H=>{(0,ss.ei)(H)&&v.push([`editor.${H}`,r[H]]),l&&(0,ss.Pe)(H)&&v.push([`diffEditor.${H}`,r[H]])}),v.length>0&&fe.updateValues(v)}let Uh=class{constructor(r){this._modelService=r}hasPreviewHandler(){return!1}apply(r,l){return Yo(this,void 0,void 0,function*(){const v=new Map;for(const le of r){if(!(le instanceof wo.Gl))throw new Error("bad edit - only text edits are supported");const pe=this._modelService.getModel(le.resource);if(!pe)throw new Error("bad edit - model not found");if(typeof le.versionId=="number"&&pe.getVersionId()!==le.versionId)throw new Error("bad state - model changed in the meantime");let Te=v.get(pe);Te||(Te=[],v.set(pe,Te)),Te.push(ro.h.replaceMove(Z.e.lift(le.textEdit.range),le.textEdit.text))}let H=0,G=0;for(const[le,pe]of v)le.pushStackElement(),le.pushEditOperations([],pe,()=>[]),le.pushStackElement(),G+=1,H+=pe.length;return{ariaSummary:d.WU(ha.iN.bulkEditServiceSummary,H,G)}})}};Uh=Er([Ws(0,X.q)],Uh);class vm{getUriLabel(r,l){return r.scheme==="file"?r.fsPath:r.path}getUriBasenameLabel(r){return(0,Cr.EZ)(r)}}let jh=class extends ul{constructor(r,l){super(r),this._codeEditorService=l}showContextView(r,l,v){if(!l){const H=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();H&&(l=H.getContainerDomNode())}return super.showContextView(r,l,v)}};jh=Er([Ws(0,ms),Ws(1,E.$)],jh);class yf{constructor(){this._neverEmitter=new ie.Q5,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class Lf extends wr{constructor(){super()}}class Kh extends Zt.$V{constructor(){super(new Zt.kw)}}let Nd=class extends rr{constructor(r,l,v,H,G){super(r,l,v,H,G),this.configure({blockMouse:!1})}};Nd=Er([Ws(0,jr.b),Ws(1,B.lT),Ws(2,ps.u),Ws(3,bs.d),Ws(4,is.XE)],Nd),(0,Wn.z)(Ci.Ui,ia),(0,Wn.z)(st.V,zh),(0,Wn.z)(st.y,Tc),(0,Wn.z)($o.ec,Mc),(0,Wn.z)(fc.e,vm),(0,Wn.z)(jr.b,Cm),(0,Wn.z)(_.S,Bl),(0,Wn.z)(B.lT,Wl),(0,Wn.z)(po.lT,ta),(0,Wn.z)(U.O,Lf),(0,Wn.z)(Eo.Z,_m.nI),(0,Wn.z)(Zt.VZ,Kh),(0,Wn.z)(X.q,af.b$),(0,Wn.z)(Rh.i,Dl),(0,Wn.z)(as.i6,Ja),(0,Wn.z)(_r.R9,hr),(0,Wn.z)(_r.ek,xd),(0,Wn.z)(Sd.Uy,Sd.vm),(0,Wn.z)(As.p,si),(0,Wn.z)(wo.vu,Uh),(0,Wn.z)(tr.Y,yf),(0,Wn.z)(go.S,_o),(0,Wn.z)(to.F,Fr),(0,Wn.z)(Ts.Lw,Ts.XN),(0,Wn.z)(Fs.Hy,Xo),(0,Wn.z)(bs.d,ya),(0,Wn.z)(vd.eJ,Fh),(0,Wn.z)(ps.u,jh),(0,Wn.z)(_a.v4,ar),(0,Wn.z)(Bh.p,Dc),(0,Wn.z)(ps.i,Nd),(0,Wn.z)(ho.co,Pl);var ln;(function(fe){const r=new _f.y;for(const[le,pe]of(0,Wn.d)())r.set(le,pe);const l=new ea(r,!0);r.set(Mn.TG,l);function v(le){const pe=r.get(le);if(!pe)throw new Error("Missing service "+le);return pe instanceof qr.M?l.invokeFunction(Te=>Te.get(le)):pe}fe.get=v;let H=!1;function G(le){if(H)return l;H=!0;for(const[pe,Te]of(0,Wn.d)())r.get(pe)||r.set(pe,Te);for(const pe in le)if(le.hasOwnProperty(pe)){const Te=(0,Mn.yh)(pe);r.get(Te)instanceof qr.M&&r.set(Te,le[pe])}return l}fe.initialize=G})(ln||(ln={}));var Rc=function(fe,r,l,v){var H=arguments.length,G=H<3?r:v===null?v=Object.getOwnPropertyDescriptor(r,l):v,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(fe,r,l,v);else for(var pe=fe.length-1;pe>=0;pe--)(le=fe[pe])&&(G=(H<3?le(G):H>3?le(r,l,G):le(r,l))||G);return H>3&&G&&Object.defineProperty(r,l,G),G},os=function(fe,r){return function(l,v){r(l,v,fe)}};let Pc=0,$h=!1;function Gh(fe){if(!fe){if($h)return;$h=!0}Sn.wW(fe||document.body)}let Hl=class extends Ln.Gm{constructor(r,l,v,H,G,le,pe,Te,He,Qe,pt,ii){const yi=Object.assign({},l);yi.ariaLabel=yi.ariaLabel||ha.B8.editorViewAccessibleLabel,yi.ariaLabel=yi.ariaLabel+";"+ha.B8.accessibilityHelpMessage,super(r,yi,{},v,H,G,le,Te,He,Qe,pt,ii),pe instanceof ya?this._standaloneKeybindingService=pe:this._standaloneKeybindingService=null,Gh(yi.ariaContainerElement)}addCommand(r,l,v){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const H="DYNAMIC_"+ ++Pc,G=as.Ao.deserialize(v);return this._standaloneKeybindingService.addDynamicKeybinding(H,r,l,G),H}createContextKey(r,l){return this._contextKeyService.createKey(r,l)}addAction(r){if(typeof r.id!="string"||typeof r.label!="string"||typeof r.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"),he.JT.None;const l=r.id,v=r.label,H=as.Ao.and(as.Ao.equals("editorId",this.getId()),as.Ao.deserialize(r.precondition)),G=r.keybindings,le=as.Ao.and(H,as.Ao.deserialize(r.keybindingContext)),pe=r.contextMenuGroupId||null,Te=r.contextMenuOrder||0,He=(yi,...nn)=>Promise.resolve(r.run(this,...nn)),Qe=new he.SL,pt=this.getId()+":"+l;if(Qe.add(Fs.P0.registerCommand(pt,He)),pe){const yi={command:{id:pt,title:v},when:H,group:pe,order:Te};Qe.add(ho.BH.appendMenuItem(ho.eH.EditorContext,yi))}if(Array.isArray(G))for(const yi of G)Qe.add(this._standaloneKeybindingService.addDynamicKeybinding(pt,yi,He,le));const ii=new Ms.p(pt,v,v,H,He,this._contextKeyService);return this._actions[l]=ii,Qe.add((0,he.OF)(()=>{delete this._actions[l]})),Qe}_triggerCommand(r,l){if(this._codeEditorService instanceof sn)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(r,l)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(r,l)}};Hl=Rc([os(2,Mn.TG),os(3,E.$),os(4,Fs.Hy),os(5,as.i6),os(6,bs.d),os(7,is.XE),os(8,B.lT),os(9,to.F),os(10,W.c_),os(11,Ot.p)],Hl);let qa=class extends Hl{constructor(r,l,v,H,G,le,pe,Te,He,Qe,pt,ii,yi,nn,In){const On=Object.assign({},l);Ac(Qe,On,!1);const ls=Te.registerEditorContainer(r);typeof On.theme=="string"&&Te.setTheme(On.theme),typeof On.autoDetectHighContrast<"u"&&Te.setAutoDetectHighContrast(!!On.autoDetectHighContrast);const es=On.model;delete On.model,super(r,On,v,H,G,le,pe,Te,He,pt,nn,In),this._configurationService=Qe,this._standaloneThemeService=Te,this._register(ls);let Fn;if(typeof es>"u"){const Zn=yi.getLanguageIdByMimeType(On.language)||On.language||Xs.bd;Fn=na(ii,yi,On.value||"",Zn,void 0),this._ownsModel=!0}else Fn=es,this._ownsModel=!1;if(this._attachModel(Fn),Fn){const Zn={oldModelUrl:null,newModelUrl:Fn.uri};this._onDidChangeModel.fire(Zn)}}dispose(){super.dispose()}updateOptions(r){Ac(this._configurationService,r,!1),typeof r.theme=="string"&&this._standaloneThemeService.setTheme(r.theme),typeof r.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!r.autoDetectHighContrast),super.updateOptions(r)}_postDetachModelCleanup(r){super._postDetachModelCleanup(r),r&&this._ownsModel&&(r.dispose(),this._ownsModel=!1)}};qa=Rc([os(2,Mn.TG),os(3,E.$),os(4,Fs.Hy),os(5,as.i6),os(6,bs.d),os(7,Eo.Z),os(8,B.lT),os(9,Ci.Ui),os(10,to.F),os(11,X.q),os(12,U.O),os(13,W.c_),os(14,Ot.p)],qa);let An=class extends fo.p{constructor(r,l,v,H,G,le,pe,Te,He,Qe,pt,ii){const yi=Object.assign({},l);Ac(He,yi,!0);const nn=pe.registerEditorContainer(r);typeof yi.theme=="string"&&pe.setTheme(yi.theme),typeof yi.autoDetectHighContrast<"u"&&pe.setAutoDetectHighContrast(!!yi.autoDetectHighContrast),super(r,yi,{},ii,G,H,v,le,pe,Te,Qe,pt),this._configurationService=He,this._standaloneThemeService=pe,this._register(nn)}dispose(){super.dispose()}updateOptions(r){Ac(this._configurationService,r,!0),typeof r.theme=="string"&&this._standaloneThemeService.setTheme(r.theme),typeof r.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!r.autoDetectHighContrast),super.updateOptions(r)}_createInnerEditor(r,l,v){return r.createInstance(Hl,l,v)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(r,l,v){return this.getModifiedEditor().addCommand(r,l,v)}createContextKey(r,l){return this.getModifiedEditor().createContextKey(r,l)}addAction(r){return this.getModifiedEditor().addAction(r)}};An=Rc([os(2,Mn.TG),os(3,as.i6),os(4,As.p),os(5,E.$),os(6,Eo.Z),os(7,B.lT),os(8,Ci.Ui),os(9,ps.i),os(10,_r.ek),os(11,Bh.p)],An);function na(fe,r,l,v,H){if(l=l||"",!v){const G=l.indexOf(` `);let le=l;return G!==-1&&(le=l.substring(0,G)),Df(fe,l,r.createByFilepathOrFirstLine(H||null,le),H)}return Df(fe,l,r.createById(v),H)}function Df(fe,r,l,v){return fe.createModel(r,l,v)}function kd(fe,r,l){return ln.initialize(l||{}).createInstance(qa,fe,r)}function Td(fe){return ln.get(E.$).onCodeEditorAdd(l=>{fe(l)})}function bm(fe){return ln.get(E.$).onDiffEditorAdd(l=>{fe(l)})}function wm(){return ln.get(E.$).listCodeEditors()}function Qh(){return ln.get(E.$).listDiffEditors()}function Zh(fe,r,l){return ln.initialize(l||{}).createInstance(An,fe,r)}function Sm(fe,r){return new D.F(fe,r)}function ym(fe,r,l){const v=ln.get(U.O),H=v.getLanguageIdByMimeType(r)||r;return na(ln.get(X.q),v,fe,H,l)}function Oc(fe,r){const l=ln.get(U.O);ln.get(X.q).setMode(fe,l.createById(r))}function Ef(fe,r,l){fe&&ln.get(po.lT).changeOne(r,fe.uri,l)}function Lm(fe){ln.get(po.lT).changeAll(fe,[])}function zl(fe){return ln.get(po.lT).read(fe)}function Yh(fe){return ln.get(po.lT).onMarkerChanged(fe)}function Fc(fe){return ln.get(X.q).getModel(fe)}function If(){return ln.get(X.q).getModels()}function Bc(fe){return ln.get(X.q).onModelAdded(fe)}function Dm(fe){return ln.get(X.q).onModelRemoved(fe)}function el(fe){return ln.get(X.q).onModelLanguageChanged(l=>{fe({model:l.model,oldLanguage:l.oldLanguageId})})}function Xh(fe){return ai(ln.get(X.q),ln.get(W.c_),fe)}function Wc(fe,r){const l=ln.get(U.O),v=ln.get(Eo.Z);return v.registerEditorContainer(fe),Qn.colorizeElement(v,l,fe,r)}function Jh(fe,r,l){const v=ln.get(U.O);return ln.get(Eo.Z).registerEditorContainer(document.body),Qn.colorize(v,fe,r,l)}function Md(fe,r,l=4){return ln.get(Eo.Z).registerEditorContainer(document.body),Qn.colorizeModelLine(fe,r,l)}function xf(fe){const r=z.RW.get(fe);return r||{getInitialState:()=>A.TJ,tokenize:(l,v,H)=>(0,A.Ri)(fe,H)}}function Em(fe,r){z.RW.getOrCreate(r);const l=xf(r),v=(0,d.uq)(fe),H=[];let G=l.getInitialState();for(let le=0,pe=v.length;le<pe;le++){const Te=v[le],He=l.tokenize(Te,!0,G);H[le]=He.tokens,G=He.endState}return H}function Nf(fe,r){ln.get(Eo.Z).defineTheme(fe,r)}function kf(fe){ln.get(Eo.Z).setTheme(fe)}function Tf(){S.g.clearAllFontInfos()}function Mf(fe,r){return Fs.P0.registerCommand({id:fe,handler:r})}function Im(){return{create:kd,getEditors:wm,getDiffEditors:Qh,onDidCreateEditor:Td,onDidCreateDiffEditor:bm,createDiffEditor:Zh,createDiffNavigator:Sm,createModel:ym,setModelLanguage:Oc,setModelMarkers:Ef,getModelMarkers:zl,removeAllMarkers:Lm,onDidChangeMarkers:Yh,getModels:If,getModel:Fc,onDidCreateModel:Bc,onWillDisposeModel:Dm,onDidChangeModelLanguage:el,createWebWorker:Xh,colorizeElement:Wc,colorize:Jh,colorizeModelLine:Md,tokenize:Em,defineTheme:Nf,setTheme:kf,remeasureFonts:Tf,registerCommand:Mf,AccessibilitySupport:y.ao,ContentWidgetPositionPreference:y.r3,CursorChangeReason:y.Vi,DefaultEndOfLine:y._x,EditorAutoIndentStrategy:y.rf,EditorOption:y.wT,EndOfLinePreference:y.gm,EndOfLineSequence:y.jl,MinimapPosition:y.F5,MouseTargetType:y.MG,OverlayWidgetPositionPreference:y.E$,OverviewRulerLane:y.sh,RenderLineNumbersType:y.Lu,RenderMinimap:y.vQ,ScrollbarVisibility:y.g_,ScrollType:y.g4,TextEditorCursorBlinkingStyle:y.In,TextEditorCursorStyle:y.d2,TrackedRangeStickiness:y.OI,WrappingIndent:y.up,InjectedTextCursorStops:y.RM,PositionAffinity:y.py,ConfigurationChangedEvent:k.Bb,BareFontInfo:x.E4,FontInfo:x.pR,TextModelResolvedOptions:T.dJ,FindMatch:T.tk,ApplyUpdateResult:k.rk,EditorType:K.g,EditorOptions:k.BH}}function qh(fe,r){if(!r||!Array.isArray(r))return!1;for(const l of r)if(!fe(l))return!1;return!0}function Ad(fe,r){return typeof fe=="boolean"?fe:r}function Af(fe,r){return typeof fe=="string"?fe:r}function zo(fe){const r={};for(const l of fe)r[l]=!0;return r}function Rf(fe,r=!1){r&&(fe=fe.map(function(v){return v.toLowerCase()}));const l=zo(fe);return r?function(v){return l[v.toLowerCase()]!==void 0&&l.hasOwnProperty(v.toLowerCase())}:function(v){return l[v]!==void 0&&l.hasOwnProperty(v)}}function Rd(fe,r){r=r.replace(/@@/g,"");let l=0,v;do v=!1,r=r.replace(/@(\w+)/g,function(G,le){v=!0;let pe="";if(typeof fe[le]=="string")pe=fe[le];else if(fe[le]&&fe[le]instanceof RegExp)pe=fe[le].source;else throw fe[le]===void 0?Oi(fe,"language definition does not contain attribute '"+le+"', used at: "+r):Oi(fe,"attribute reference '"+le+"' must be a string, used at: "+r);return en(pe)?"":"(?:"+pe+")"}),l++;while(v&&l<5);r=r.replace(/\x01/g,"@");const H=(fe.ignoreCase?"i":"")+(fe.unicode?"u":"");return new RegExp(r,H)}function xm(fe,r,l,v){if(v<0)return fe;if(v<r.length)return r[v];if(v>=100){v=v-100;const H=l.split(".");if(H.unshift(l),v<H.length)return H[v]}return null}function Pf(fe,r,l,v){let H=-1,G=l,le=l.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);le&&(le[3]&&(H=parseInt(le[3]),le[2]&&(H=H+100)),G=le[4]);let pe="~",Te=G;!G||G.length===0?(pe="!=",Te=""):/^\w*$/.test(Te)?pe="==":(le=G.match(/^(@|!@|~|!~|==|!=)(.*)$/),le&&(pe=le[1],Te=le[2]));let He;if((pe==="~"||pe==="!~")&&/^(\w|\|)*$/.test(Te)){const Qe=Rf(Te.split("|"),fe.ignoreCase);He=function(pt){return pe==="~"?Qe(pt):!Qe(pt)}}else if(pe==="@"||pe==="!@"){const Qe=fe[Te];if(!Qe)throw Oi(fe,"the @ match target '"+Te+"' is not defined, in rule: "+r);if(!qh(function(ii){return typeof ii=="string"},Qe))throw Oi(fe,"the @ match target '"+Te+"' must be an array of strings, in rule: "+r);const pt=Rf(Qe,fe.ignoreCase);He=function(ii){return pe==="@"?pt(ii):!pt(ii)}}else if(pe==="~"||pe==="!~")if(Te.indexOf("$")<0){const Qe=Rd(fe,"^"+Te+"$");He=function(pt){return pe==="~"?Qe.test(pt):!Qe.test(pt)}}else He=function(Qe,pt,ii,yi){return Rd(fe,"^"+Bi(fe,Te,pt,ii,yi)+"$").test(Qe)};else if(Te.indexOf("$")<0){const Qe=Fi(fe,Te);He=function(pt){return pe==="=="?pt===Qe:pt!==Qe}}else{const Qe=Fi(fe,Te);He=function(pt,ii,yi,nn,In){const On=Bi(fe,Qe,ii,yi,nn);return pe==="=="?pt===On:pt!==On}}return H===-1?{name:l,value:v,test:function(Qe,pt,ii,yi){return He(Qe,Qe,pt,ii,yi)}}:{name:l,value:v,test:function(Qe,pt,ii,yi){const nn=xm(Qe,pt,ii,H);return He(nn||"",Qe,pt,ii,yi)}}}function eu(fe,r,l){if(l){if(typeof l=="string")return l;if(l.token||l.token===""){if(typeof l.token!="string")throw Oi(fe,"a 'token' attribute must be of type string, in rule: "+r);{const v={token:l.token};if(l.token.indexOf("$")>=0&&(v.tokenSubst=!0),typeof l.bracket=="string")if(l.bracket==="@open")v.bracket=1;else if(l.bracket==="@close")v.bracket=-1;else throw Oi(fe,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+r);if(l.next){if(typeof l.next!="string")throw Oi(fe,"the next state must be a string value in rule: "+r);{let H=l.next;if(!/^(@pop|@push|@popall)$/.test(H)&&(H[0]==="@"&&(H=H.substr(1)),H.indexOf("$")<0&&!an(fe,Bi(fe,H,"",[],""))))throw Oi(fe,"the next state '"+l.next+"' is not defined in rule: "+r);v.next=H}}return typeof l.goBack=="number"&&(v.goBack=l.goBack),typeof l.switchTo=="string"&&(v.switchTo=l.switchTo),typeof l.log=="string"&&(v.log=l.log),typeof l.nextEmbedded=="string"&&(v.nextEmbedded=l.nextEmbedded,fe.usesEmbedded=!0),v}}else if(Array.isArray(l)){const v=[];for(let H=0,G=l.length;H<G;H++)v[H]=eu(fe,r,l[H]);return{group:v}}else if(l.cases){const v=[];for(const G in l.cases)if(l.cases.hasOwnProperty(G)){const le=eu(fe,r,l.cases[G]);G==="@default"||G==="@"||G===""?v.push({test:void 0,value:le,name:G}):G==="@eos"?v.push({test:function(pe,Te,He,Qe){return Qe},value:le,name:G}):v.push(Pf(fe,r,G,le))}const H=fe.defaultToken;return{test:function(G,le,pe,Te){for(const He of v)if(!He.test||He.test(G,le,pe,Te))return He.value;return H}}}else throw Oi(fe,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+r)}else return{token:""}}class tu{constructor(r){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=r}setRegex(r,l){let v;if(typeof l=="string")v=l;else if(l instanceof RegExp)v=l.source;else throw Oi(r,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=v.length>0&&v[0]==="^",this.name=this.name+": "+v,this.regex=Rd(r,"^(?:"+(this.matchOnlyAtLineStart?v.substr(1):v)+")")}setAction(r,l){this.action=eu(r,this.name,l)}}function Wr(fe,r){if(!r||typeof r!="object")throw new Error("Monarch: expecting a language definition object");const l={};l.languageId=fe,l.includeLF=Ad(r.includeLF,!1),l.noThrow=!1,l.maxStack=100,l.start=typeof r.start=="string"?r.start:null,l.ignoreCase=Ad(r.ignoreCase,!1),l.unicode=Ad(r.unicode,!1),l.tokenPostfix=Af(r.tokenPostfix,"."+l.languageId),l.defaultToken=Af(r.defaultToken,"source"),l.usesEmbedded=!1;const v=r;v.languageId=fe,v.includeLF=l.includeLF,v.ignoreCase=l.ignoreCase,v.unicode=l.unicode,v.noThrow=l.noThrow,v.usesEmbedded=l.usesEmbedded,v.stateNames=r.tokenizer,v.defaultToken=l.defaultToken;function H(le,pe,Te){for(const He of Te){let Qe=He.include;if(Qe){if(typeof Qe!="string")throw Oi(l,"an 'include' attribute must be a string at: "+le);if(Qe[0]==="@"&&(Qe=Qe.substr(1)),!r.tokenizer[Qe])throw Oi(l,"include target '"+Qe+"' is not defined at: "+le);H(le+"."+Qe,pe,r.tokenizer[Qe])}else{const pt=new tu(le);if(Array.isArray(He)&&He.length>=1&&He.length<=3)if(pt.setRegex(v,He[0]),He.length>=3)if(typeof He[1]=="string")pt.setAction(v,{token:He[1],next:He[2]});else if(typeof He[1]=="object"){const ii=He[1];ii.next=He[2],pt.setAction(v,ii)}else throw Oi(l,"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: "+le);else pt.setAction(v,He[1]);else{if(!He.regex)throw Oi(l,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+le);He.name&&typeof He.name=="string"&&(pt.name=He.name),He.matchOnlyAtStart&&(pt.matchOnlyAtLineStart=Ad(He.matchOnlyAtLineStart,!1)),pt.setRegex(v,He.regex),pt.setAction(v,He.action)}pe.push(pt)}}}if(!r.tokenizer||typeof r.tokenizer!="object")throw Oi(l,"a language definition must define the 'tokenizer' attribute as an object");l.tokenizer=[];for(const le in r.tokenizer)if(r.tokenizer.hasOwnProperty(le)){l.start||(l.start=le);const pe=r.tokenizer[le];l.tokenizer[le]=new Array,H("tokenizer."+le,l.tokenizer[le],pe)}if(l.usesEmbedded=v.usesEmbedded,r.brackets){if(!Array.isArray(r.brackets))throw Oi(l,"the 'brackets' attribute must be defined as an array")}else r.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const G=[];for(const le of r.brackets){let pe=le;if(pe&&Array.isArray(pe)&&pe.length===3&&(pe={token:pe[2],open:pe[0],close:pe[1]}),pe.open===pe.close)throw Oi(l,"open and close brackets in a 'brackets' attribute must be different: "+pe.open+` hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof pe.open=="string"&&typeof pe.token=="string"&&typeof pe.close=="string")G.push({token:pe.token+l.tokenPostfix,open:Fi(l,pe.open),close:Fi(l,pe.close)});else throw Oi(l,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return l.brackets=G,l.noThrow=!0,l}var Of=function(fe,r,l,v){function H(G){return G instanceof l?G:new l(function(le){le(G)})}return new(l||(l=Promise))(function(G,le){function pe(Qe){try{He(v.next(Qe))}catch(pt){le(pt)}}function Te(Qe){try{He(v.throw(Qe))}catch(pt){le(pt)}}function He(Qe){Qe.done?G(Qe.value):H(Qe.value).then(pe,Te)}He((v=v.apply(fe,r||[])).next())})};function Ul(fe){Xs.dQ.registerLanguage(fe)}function Nm(){let fe=[];return fe=fe.concat(Xs.dQ.getLanguages()),fe}function km(fe){return ln.get(U.O).languageIdCodec.encodeLanguageId(fe)}function Tm(fe,r){const v=ln.get(U.O).onDidEncounterLanguage(H=>{H===fe&&(v.dispose(),r())});return v}function Mm(fe,r){if(!ln.get(U.O).isRegisteredLanguageId(fe))throw new Error(`Cannot set configuration for unknown language ${fe}`);return ln.get(W.c_).register(fe,r,100)}class iu{constructor(r,l){this._languageId=r,this._actual=l}getInitialState(){return this._actual.getInitialState()}tokenize(r,l,v){if(typeof this._actual.tokenize=="function")return Pd.adaptTokenize(this._languageId,this._actual,r,v);throw new Error("Not supported!")}tokenizeEncoded(r,l,v){const H=this._actual.tokenizeEncoded(r,v);return new z.DI(H.tokens,H.endState)}}class Pd{constructor(r,l,v,H){this._languageId=r,this._actual=l,this._languageService=v,this._standaloneThemeService=H}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(r,l){const v=[];let H=0;for(let G=0,le=r.length;G<le;G++){const pe=r[G];let Te=pe.startIndex;G===0?Te=0:Te<H&&(Te=H),v[G]=new z.WU(Te,pe.scopes,l),H=Te}return v}static adaptTokenize(r,l,v,H){const G=l.tokenize(v,H),le=Pd._toClassicTokens(G.tokens,r);let pe;return G.endState.equals(H)?pe=H:pe=G.endState,new z.hG(le,pe)}tokenize(r,l,v){return Pd.adaptTokenize(this._languageId,this._actual,r,v)}_toBinaryTokens(r,l){const v=r.encodeLanguageId(this._languageId),H=this._standaloneThemeService.getColorTheme().tokenTheme,G=[];let le=0,pe=0;for(let He=0,Qe=l.length;He<Qe;He++){const pt=l[He],ii=H.match(v,pt.scopes);if(le>0&&G[le-1]===ii)continue;let yi=pt.startIndex;He===0?yi=0:yi<pe&&(yi=pe),G[le++]=yi,G[le++]=ii,pe=yi}const Te=new Uint32Array(le);for(let He=0;He<le;He++)Te[He]=G[He];return Te}tokenizeEncoded(r,l,v){const H=this._actual.tokenize(r,v),G=this._toBinaryTokens(this._languageService.languageIdCodec,H.tokens);let le;return H.endState.equals(v)?le=v:le=H.endState,new z.DI(G,le)}}function Am(fe){return typeof fe.getInitialState=="function"}function Rm(fe){return"tokenizeEncoded"in fe}function Od(fe){return fe&&typeof fe.then=="function"}function Ff(fe){const r=ln.get(Eo.Z);if(fe){const l=[null];for(let v=1,H=fe.length;v<H;v++)l[v]=va.Il.fromHex(fe[v]);r.setColorMapOverride(l)}else r.setColorMapOverride(null)}function Ir(fe,r){return Rm(r)?new iu(fe,r):new Pd(fe,r,ln.get(U.O),ln.get(Eo.Z))}function jl(fe,r){const l={createTokenizationSupport:()=>Of(this,void 0,void 0,function*(){const v=yield Promise.resolve(r.create());return v?Am(v)?Ir(fe,v):new rs(ln.get(U.O),ln.get(Eo.Z),fe,Wr(fe,v),ln.get(Ci.Ui)):null})};return z.RW.registerFactory(fe,l)}function Bf(fe,r){if(!ln.get(U.O).isRegisteredLanguageId(fe))throw new Error(`Cannot set tokens provider for unknown language ${fe}`);return Od(r)?jl(fe,{create:()=>r}):z.RW.register(fe,Ir(fe,r))}function Pm(fe,r){const l=v=>new rs(ln.get(U.O),ln.get(Eo.Z),fe,Wr(fe,v),ln.get(Ci.Ui));return Od(r)?jl(fe,{create:()=>r}):z.RW.register(fe,l(r))}function Wf(fe,r){return ln.get(Ot.p).referenceProvider.register(fe,r)}function Vf(fe,r){return ln.get(Ot.p).renameProvider.register(fe,r)}function Vc(fe,r){return ln.get(Ot.p).signatureHelpProvider.register(fe,r)}function Hf(fe,r){return ln.get(Ot.p).hoverProvider.register(fe,{provideHover:(v,H,G)=>{const le=v.getWordAtPosition(H);return Promise.resolve(r.provideHover(v,H,G)).then(pe=>{if(pe)return!pe.range&&le&&(pe.range=new Z.e(H.lineNumber,le.startColumn,H.lineNumber,le.endColumn)),pe.range||(pe.range=new Z.e(H.lineNumber,H.column,H.lineNumber,H.column)),pe})}})}function nu(fe,r){return ln.get(Ot.p).documentSymbolProvider.register(fe,r)}function zf(fe,r){return ln.get(Ot.p).documentHighlightProvider.register(fe,r)}function su(fe,r){return ln.get(Ot.p).linkedEditingRangeProvider.register(fe,r)}function uo(fe,r){return ln.get(Ot.p).definitionProvider.register(fe,r)}function F_(fe,r){return ln.get(Ot.p).implementationProvider.register(fe,r)}function Kl(fe,r){return ln.get(Ot.p).typeDefinitionProvider.register(fe,r)}function ou(fe,r){return ln.get(Ot.p).codeLensProvider.register(fe,r)}function Om(fe,r,l){return ln.get(Ot.p).codeActionProvider.register(fe,{providedCodeActionKinds:l?.providedCodeActionKinds,documentation:l?.documentation,provideCodeActions:(H,G,le,pe)=>{const He=ln.get(po.lT).read({resource:H.uri}).filter(Qe=>Z.e.areIntersectingOrTouching(Qe,G));return r.provideCodeActions(H,G,{markers:He,only:le.only,trigger:le.trigger},pe)},resolveCodeAction:r.resolveCodeAction})}function $l(fe,r){return ln.get(Ot.p).documentFormattingEditProvider.register(fe,r)}function Fm(fe,r){return ln.get(Ot.p).documentRangeFormattingEditProvider.register(fe,r)}function Gl(fe,r){return ln.get(Ot.p).onTypeFormattingEditProvider.register(fe,r)}function Uf(fe,r){return ln.get(Ot.p).linkProvider.register(fe,r)}function jf(fe,r){return ln.get(Ot.p).completionProvider.register(fe,r)}function Kf(fe,r){return ln.get(Ot.p).colorProvider.register(fe,r)}function ru(fe,r){return ln.get(Ot.p).foldingRangeProvider.register(fe,r)}function Bm(fe,r){return ln.get(Ot.p).declarationProvider.register(fe,r)}function Hc(fe,r){return ln.get(Ot.p).selectionRangeProvider.register(fe,r)}function Wm(fe,r){return ln.get(Ot.p).documentSemanticTokensProvider.register(fe,r)}function au(fe,r){return ln.get(Ot.p).documentRangeSemanticTokensProvider.register(fe,r)}function Vm(fe,r){return ln.get(Ot.p).inlineCompletionsProvider.register(fe,r)}function Hm(fe,r){return ln.get(Ot.p).inlayHintsProvider.register(fe,r)}function zm(){return{register:Ul,getLanguages:Nm,onLanguage:Tm,getEncodedLanguageId:km,setLanguageConfiguration:Mm,setColorMap:Ff,registerTokensProviderFactory:jl,setTokensProvider:Bf,setMonarchTokensProvider:Pm,registerReferenceProvider:Wf,registerRenameProvider:Vf,registerCompletionItemProvider:jf,registerSignatureHelpProvider:Vc,registerHoverProvider:Hf,registerDocumentSymbolProvider:nu,registerDocumentHighlightProvider:zf,registerLinkedEditingRangeProvider:su,registerDefinitionProvider:uo,registerImplementationProvider:F_,registerTypeDefinitionProvider:Kl,registerCodeLensProvider:ou,registerCodeActionProvider:Om,registerDocumentFormattingEditProvider:$l,registerDocumentRangeFormattingEditProvider:Fm,registerOnTypeFormattingEditProvider:Gl,registerLinkProvider:Uf,registerColorProvider:Kf,registerFoldingRangeProvider:ru,registerDeclarationProvider:Bm,registerSelectionRangeProvider:Hc,registerDocumentSemanticTokensProvider:Wm,registerDocumentRangeSemanticTokensProvider:au,registerInlineCompletionsProvider:Vm,registerInlayHintsProvider:Hm,DocumentHighlightKind:y.MY,CompletionItemKind:y.cm,CompletionItemTag:y.we,CompletionItemInsertTextRule:y.a7,SymbolKind:y.cR,SymbolTag:y.r4,IndentAction:y.wU,CompletionTriggerKind:y.Ij,SignatureHelpTriggerKind:y.WW,InlayHintKind:y.gl,InlineCompletionTriggerKind:y.bw,CodeActionTriggerType:y.np,FoldingRangeKind:z.AD}}var zc=m(47754),Uc;k.BH.wrappingIndent.defaultValue=0,k.BH.glyphMargin.defaultValue=!1,k.BH.autoIndent.defaultValue=3,k.BH.overviewRulerLanes.defaultValue=2,zc.xC.setFormatterSelector((fe,r,l)=>Promise.resolve(fe[0]));const Vs=L();Vs.editor=Im(),Vs.languages=zm();const jc=Vs.CancellationTokenSource,La=Vs.Emitter,tl=Vs.KeyCode,Um=Vs.KeyMod,jm=Vs.Position,$f=Vs.Range,Km=Vs.Selection,$m=Vs.SelectionDirection,lu=Vs.MarkerSeverity,ur=Vs.MarkerTag,Gm=Vs.Uri,Gf=Vs.Token,du=Vs.editor,Qm=Vs.languages;(!((Uc=ge.li.MonacoEnvironment)===null||Uc===void 0)&&Uc.globalAPI||typeof define=="function"&&m.amdO)&&(self.monaco=Vs),typeof self.require<"u"&&typeof self.require.config=="function"&&self.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"]})},54587:(At,Be,m)=>{m.d(Be,{kR:()=>J,MU:()=>$,nI:()=>Ve,rW:()=>oe,TG:()=>de});var k=m(22120),u=m(53909),ie=m(80733),Q=m(86640),N=m(90865),ne=m(23854);class Z{constructor(Ee,Fe,je,Re,tt){this._parsedThemeRuleBrand=void 0,this.token=Ee,this.index=Fe,this.fontStyle=je,this.foreground=Re,this.background=tt}}function q($e){if(!$e||!Array.isArray($e))return[];const Ee=[];let Fe=0;for(let je=0,Re=$e.length;je<Re;je++){const tt=$e[je];let at=-1;if(typeof tt.fontStyle=="string"){at=0;const Nt=tt.fontStyle.split(" ");for(let ke=0,dt=Nt.length;ke<dt;ke++)switch(Nt[ke]){case"italic":at=at|1;break;case"bold":at=at|2;break;case"underline":at=at|4;break;case"strikethrough":at=at|8;break}}let Dt=null;typeof tt.foreground=="string"&&(Dt=tt.foreground);let Et=null;typeof tt.background=="string"&&(Et=tt.background),Ee[Fe++]=new Z(tt.token||"",je,at,Dt,Et)}return Ee}function z($e,Ee){$e.sort((ke,dt)=>{const mt=S(ke.token,dt.token);return mt!==0?mt:ke.index-dt.index});let Fe=0,je="000000",Re="ffffff";for(;$e.length>=1&&$e[0].token==="";){const ke=$e.shift();ke.fontStyle!==-1&&(Fe=ke.fontStyle),ke.foreground!==null&&(je=ke.foreground),ke.background!==null&&(Re=ke.background)}const tt=new C;for(const ke of Ee)tt.getId(ke);const at=tt.getId(je),Dt=tt.getId(Re),Et=new E(Fe,at,Dt),Nt=new D(Et);for(let ke=0,dt=$e.length;ke<dt;ke++){const mt=$e[ke];Nt.insert(mt.token,mt.fontStyle,tt.getId(mt.foreground),tt.getId(mt.background))}return new L(tt,Nt)}const y=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class C{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(Ee){if(Ee===null)return 0;const Fe=Ee.match(y);if(!Fe)throw new Error("Illegal value for token color: "+Ee);Ee=Fe[1].toUpperCase();let je=this._color2id.get(Ee);return je||(je=++this._lastColorId,this._color2id.set(Ee,je),this._id2color[je]=ie.Il.fromHex("#"+Ee),je)}getColorMap(){return this._id2color.slice(0)}}class L{constructor(Ee,Fe){this._colorMap=Ee,this._root=Fe,this._cache=new Map}static createFromRawTokenTheme(Ee,Fe){return this.createFromParsedTokenTheme(q(Ee),Fe)}static createFromParsedTokenTheme(Ee,Fe){return z(Ee,Fe)}getColorMap(){return this._colorMap.getColorMap()}_match(Ee){return this._root.match(Ee)}match(Ee,Fe){let je=this._cache.get(Fe);if(typeof je>"u"){const Re=this._match(Fe),tt=d(Fe);je=(Re.metadata|tt<<8)>>>0,this._cache.set(Fe,je)}return(je|Ee<<0)>>>0}}const b=/\b(comment|string|regex|regexp)\b/;function d($e){const Ee=$e.match(b);if(!Ee)return 0;switch(Ee[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 S($e,Ee){return $e<Ee?-1:$e>Ee?1:0}class E{constructor(Ee,Fe,je){this._themeTrieElementRuleBrand=void 0,this._fontStyle=Ee,this._foreground=Fe,this._background=je,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new E(this._fontStyle,this._foreground,this._background)}acceptOverwrite(Ee,Fe,je){Ee!==-1&&(this._fontStyle=Ee),Fe!==0&&(this._foreground=Fe),je!==0&&(this._background=je),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class D{constructor(Ee){this._themeTrieElementBrand=void 0,this._mainRule=Ee,this._children=new Map}match(Ee){if(Ee==="")return this._mainRule;const Fe=Ee.indexOf(".");let je,Re;Fe===-1?(je=Ee,Re=""):(je=Ee.substring(0,Fe),Re=Ee.substring(Fe+1));const tt=this._children.get(je);return typeof tt<"u"?tt.match(Re):this._mainRule}insert(Ee,Fe,je,Re){if(Ee===""){this._mainRule.acceptOverwrite(Fe,je,Re);return}const tt=Ee.indexOf(".");let at,Dt;tt===-1?(at=Ee,Dt=""):(at=Ee.substring(0,tt),Dt=Ee.substring(tt+1));let Et=this._children.get(at);typeof Et>"u"&&(Et=new D(this._mainRule.clone()),this._children.set(at,Et)),Et.insert(Dt,Fe,je,Re)}}function x($e){const Ee=[];for(let Fe=1,je=$e.length;Fe<je;Fe++){const Re=$e[Fe];Ee[Fe]=`.mtk${Fe} { color: ${Re}; }`}return Ee.push(".mtki { font-style: italic; }"),Ee.push(".mtkb { font-weight: bold; }"),Ee.push(".mtku { text-decoration: underline; text-underline-position: under; }"),Ee.push(".mtks { text-decoration: line-through; }"),Ee.push(".mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }"),Ee.join(` `)}var K=m(1107),T=m(40611);const W={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[T.cvW]:"#FFFFFE",[T.NOs]:"#000000",[T.ES4]:"#E5EBF1",[K.tR]:"#D3D3D3",[K.Ym]:"#939393",[T.Rzx]:"#ADD6FF4D"}},A={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[T.cvW]:"#1E1E1E",[T.NOs]:"#D4D4D4",[T.ES4]:"#3A3D41",[K.tR]:"#404040",[K.Ym]:"#707070",[T.Rzx]:"#ADD6FF26"}},U={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[T.cvW]:"#000000",[T.NOs]:"#FFFFFF",[K.tR]:"#FFFFFF",[K.Ym]:"#FFFFFF"}},X={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[T.cvW]:"#FFFFFF",[T.NOs]:"#292929",[K.tR]:"#292929",[K.Ym]:"#292929"}};var te=m(77220),he=m(26194),_e=m(50149),ge=m(77421),me=m(44207);function re($e){const Ee=new Q.Q5,Fe=(0,me.Ks)();return Fe.onDidChange(()=>Ee.fire()),$e?.onDidProductIconThemeChange(()=>Ee.fire()),{onDidChange:Ee.event,getCSS(){const je=$e?$e.getProductIconTheme():new Y,Re={},tt=Dt=>{const Et=je.getIcon(Dt);if(!Et)return;const Nt=Et.font;return Nt?(Re[Nt.id]=Nt.definition,`.codicon-${Dt.id}:before { content: '${Et.fontCharacter}'; font-family: ${(0,k._h)(Nt.id)}; }`):`.codicon-${Dt.id}:before { content: '${Et.fontCharacter}'; }`},at=[];for(const Dt of Fe.getIcons()){const Et=tt(Dt);Et&&at.push(Et)}for(const Dt in Re){const Et=Re[Dt],Nt=Et.weight?`font-weight: ${Et.weight};`:"",ke=Et.style?`font-style: ${Et.style};`:"",dt=Et.src.map(mt=>`${(0,k.wY)(mt.location)} format('${mt.format}')`).join(", ");at.push(`@font-face { src: ${dt}; font-family: ${(0,k._h)(Dt)};${Nt}${ke} font-display: block; }`)}return at.join(` `)}}}class Y{getIcon(Ee){const Fe=(0,me.Ks)();let je=Ee.defaults;for(;he.kS.isThemeIcon(je);){const Re=Fe.getIcon(je.id);if(!Re)return;je=Re.defaults}return je}}const de="vs",oe="vs-dark",J="hc-black",$="hc-light",ue=te.B.as(T.IPX.ColorContribution),ve=te.B.as(he.IP.ThemingContribution);class xe{constructor(Ee,Fe){this.semanticHighlighting=!1,this.themeData=Fe;const je=Fe.base;Ee.length>0?(O(Ee)?this.id=Ee:this.id=je+" "+Ee,this.themeName=Ee):(this.id=je,this.themeName=je),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 Ee=new Map;for(const Fe in this.themeData.colors)Ee.set(Fe,ie.Il.fromHex(this.themeData.colors[Fe]));if(this.themeData.inherit){const Fe=rt(this.themeData.base);for(const je in Fe.colors)Ee.has(je)||Ee.set(je,ie.Il.fromHex(Fe.colors[je]))}this.colors=Ee}return this.colors}getColor(Ee,Fe){const je=this.getColors().get(Ee);if(je)return je;if(Fe!==!1)return this.getDefault(Ee)}getDefault(Ee){let Fe=this.defaultColors[Ee];return Fe||(Fe=ue.resolveDefaultColor(Ee,this),this.defaultColors[Ee]=Fe,Fe)}defines(Ee){return Object.prototype.hasOwnProperty.call(this.getColors(),Ee)}get type(){switch(this.base){case de:return ge.eL.LIGHT;case J:return ge.eL.HIGH_CONTRAST_DARK;case $:return ge.eL.HIGH_CONTRAST_LIGHT;default:return ge.eL.DARK}}get tokenTheme(){if(!this._tokenTheme){let Ee=[],Fe=[];if(this.themeData.inherit){const tt=rt(this.themeData.base);Ee=tt.rules,tt.encodedTokensColors&&(Fe=tt.encodedTokensColors)}const je=this.themeData.colors["editor.foreground"],Re=this.themeData.colors["editor.background"];if(je||Re){const tt={token:""};je&&(tt.foreground=je),Re&&(tt.background=Re),Ee.push(tt)}Ee=Ee.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(Fe=this.themeData.encodedTokensColors),this._tokenTheme=L.createFromRawTokenTheme(Ee,Fe)}return this._tokenTheme}getTokenStyleMetadata(Ee,Fe,je){const tt=this.tokenTheme._match([Ee].concat(Fe).join(".")).metadata,at=ne.N.getForeground(tt),Dt=ne.N.getFontStyle(tt);return{foreground:at,italic:!!(Dt&1),bold:!!(Dt&2),underline:!!(Dt&4),strikethrough:!!(Dt&8)}}}function O($e){return $e===de||$e===oe||$e===J||$e===$}function rt($e){switch($e){case de:return W;case oe:return A;case J:return U;case $:return X}}function ct($e){const Ee=rt($e);return new xe($e,Ee)}class Ve extends _e.JT{constructor(){super(),this._onColorThemeChange=this._register(new Q.Q5),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new Q.Q5),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new Y,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(de,ct(de)),this._knownThemes.set(oe,ct(oe)),this._knownThemes.set(J,ct(J)),this._knownThemes.set($,ct($));const Ee=re(this);this._codiconCSS=Ee.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS} ${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(de),this._onOSSchemeChanged(),Ee.onDidChange(()=>{this._codiconCSS=Ee.getCSS(),this._updateCSS()}),(0,u.addMatchMediaChangeListener)("(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(Ee){return k.OO(Ee)?this._registerShadowDomContainer(Ee):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=k.dS(),this._globalStyleElement.className="monaco-colors",this._globalStyleElement.textContent=this._allCSS,this._styleElements.push(this._globalStyleElement)),_e.JT.None}_registerShadowDomContainer(Ee){const Fe=k.dS(Ee);return Fe.className="monaco-colors",Fe.textContent=this._allCSS,this._styleElements.push(Fe),{dispose:()=>{for(let je=0;je<this._styleElements.length;je++)if(this._styleElements[je]===Fe){this._styleElements.splice(je,1);return}}}}defineTheme(Ee,Fe){if(!/^[a-z0-9\-]+$/i.test(Ee))throw new Error("Illegal theme name!");if(!O(Fe.base)&&!O(Ee))throw new Error("Illegal theme base!");this._knownThemes.set(Ee,new xe(Ee,Fe)),O(Ee)&&this._knownThemes.forEach(je=>{je.base===Ee&&je.notifyBaseUpdated()}),this._theme.themeName===Ee&&this.setTheme(Ee)}getColorTheme(){return this._theme}setColorMapOverride(Ee){this._colorMapOverride=Ee,this._updateThemeOrColorMap()}setTheme(Ee){let Fe;this._knownThemes.has(Ee)?Fe=this._knownThemes.get(Ee):Fe=this._knownThemes.get(de),this._updateActualTheme(Fe)}_updateActualTheme(Ee){!Ee||this._theme===Ee||(this._theme=Ee,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const Ee=window.matchMedia("(forced-colors: active)").matches;if(Ee!==(0,ge.c3)(this._theme.type)){let Fe;(0,ge._T)(this._theme.type)?Fe=Ee?J:oe:Fe=Ee?$:de,this._updateActualTheme(this._knownThemes.get(Fe))}}}setAutoDetectHighContrast(Ee){this._autoDetectHighContrast=Ee,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const Ee=[],Fe={},je={addRule:at=>{Fe[at]||(Ee.push(at),Fe[at]=!0)}};ve.getThemingParticipants().forEach(at=>at(this._theme,je,this._environment));const Re=[];for(const at of ue.getColors()){const Dt=this._theme.getColor(at.id,!0);Dt&&Re.push(`${(0,T.QO2)(at.id)}: ${Dt.toString()};`)}je.addRule(`.monaco-editor { ${Re.join(` `)} }`);const tt=this._colorMapOverride||this._theme.tokenTheme.getColorMap();je.addRule(x(tt)),this._themeCSS=Ee.join(` `),this._updateCSS(),N.RW.setColorMap(tt),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS} ${this._themeCSS}`,this._styleElements.forEach(Ee=>Ee.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}},83381:(At,Be,m)=>{m.d(Be,{Z:()=>u});var k=m(41846);const u=(0,k.yh)("themeService")},90662:(At,Be,m)=>{m.d(Be,{TG:()=>D});var k=m(22632);/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var u=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,Q=Object.getOwnPropertyNames,N=Object.prototype.hasOwnProperty,ne=(A,U,X,te)=>{if(U&&typeof U=="object"||typeof U=="function")for(let he of Q(U))!N.call(A,he)&&he!==X&&u(A,he,{get:()=>U[he],enumerable:!(te=ie(U,he))||te.enumerable});return A},Z=(A,U,X)=>(ne(A,U,"default"),X&&ne(X,U,"default")),q="4.5.5",z={};Z(z,k);var y=(A=>(A[A.None=0]="None",A[A.CommonJS=1]="CommonJS",A[A.AMD=2]="AMD",A[A.UMD=3]="UMD",A[A.System=4]="System",A[A.ES2015=5]="ES2015",A[A.ESNext=99]="ESNext",A))(y||{}),C=(A=>(A[A.None=0]="None",A[A.Preserve=1]="Preserve",A[A.React=2]="React",A[A.ReactNative=3]="ReactNative",A[A.ReactJSX=4]="ReactJSX",A[A.ReactJSXDev=5]="ReactJSXDev",A))(C||{}),L=(A=>(A[A.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",A[A.LineFeed=1]="LineFeed",A))(L||{}),b=(A=>(A[A.ES3=0]="ES3",A[A.ES5=1]="ES5",A[A.ES2015=2]="ES2015",A[A.ES2016=3]="ES2016",A[A.ES2017=4]="ES2017",A[A.ES2018=5]="ES2018",A[A.ES2019=6]="ES2019",A[A.ES2020=7]="ES2020",A[A.ESNext=99]="ESNext",A[A.JSON=100]="JSON",A[A.Latest=99]="Latest",A))(b||{}),d=(A=>(A[A.Classic=1]="Classic",A[A.NodeJs=2]="NodeJs",A))(d||{}),S=class{_onDidChange=new z.Emitter;_onDidExtraLibsChange=new z.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;constructor(A,U,X,te){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(A),this.setDiagnosticsOptions(U),this.setWorkerOptions(X),this.setInlayHintsOptions(te),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(A,U){let X;if(typeof U>"u"?X=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:X=U,this._extraLibs[X]&&this._extraLibs[X].content===A)return{dispose:()=>{}};let te=1;return this._removedExtraLibs[X]&&(te=this._removedExtraLibs[X]+1),this._extraLibs[X]&&(te=this._extraLibs[X].version+1),this._extraLibs[X]={content:A,version:te},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let he=this._extraLibs[X];he&&he.version===te&&(delete this._extraLibs[X],this._removedExtraLibs[X]=te,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(A){for(const U in this._extraLibs)this._removedExtraLibs[U]=this._extraLibs[U].version;if(this._extraLibs=Object.create(null),A&&A.length>0)for(const U of A){const X=U.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,te=U.content;let he=1;this._removedExtraLibs[X]&&(he=this._removedExtraLibs[X]+1),this._extraLibs[X]={content:te,version:he}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(A){this._compilerOptions=A||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(A){this._diagnosticsOptions=A||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(A){this._workerOptions=A||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(A){this._inlayHintsOptions=A||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(A){}setEagerModelSync(A){this._eagerModelSync=A}getEagerModelSync(){return this._eagerModelSync}},E=q,D=new S({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),x=new S({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),K=()=>W().then(A=>A.getTypeScriptWorker()),T=()=>W().then(A=>A.getJavaScriptWorker());z.languages.typescript={ModuleKind:y,JsxEmit:C,NewLineKind:L,ScriptTarget:b,ModuleResolutionKind:d,typescriptVersion:E,typescriptDefaults:D,javascriptDefaults:x,getTypeScriptWorker:K,getJavaScriptWorker:T};function W(){return m.e(283).then(m.bind(m,65010))}z.languages.onLanguage("typescript",()=>W().then(A=>A.setupTypeScript(D))),z.languages.onLanguage("javascript",()=>W().then(A=>A.setupJavaScript(x)))},88631:(At,Be,m)=>{m.d(Be,{NC:()=>z,aj:()=>y});var k=function(d,S,E,D){function x(K){return K instanceof E?K:new E(function(T){T(K)})}return new(E||(E=Promise))(function(K,T){function W(X){try{U(D.next(X))}catch(te){T(te)}}function A(X){try{U(D.throw(X))}catch(te){T(te)}}function U(X){X.done?K(X.value):x(X.value).then(W,A)}U((D=D.apply(d,S||[])).next())})};let u=typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;const ie="i-default";function Q(d,S){let E;return S.length===0?E=d:E=d.replace(/\{(\d+)\}/g,(D,x)=>{const K=x[0],T=S[K];let W=D;return typeof T=="string"?W=T:(typeof T=="number"||typeof T=="boolean"||T===void 0||T===null)&&(W=String(T)),W}),u&&(E="\uFF3B"+E.replace(/[aouei]/g,"$&$&")+"\uFF3D"),E}function N(d,S){let E=d[S];return E||(E=d["*"],E)?E:null}function ne(d){return d.charAt(d.length-1)==="/"?d:d+"/"}function Z(d,S,E){return k(this,void 0,void 0,function*(){const D=ne(d)+ne(S)+"vscode/"+ne(E),x=yield fetch(D);if(x.ok)return yield x.json();throw new Error(`${x.status} - ${x.statusText}`)})}function q(d){return function(S,E){const D=Array.prototype.slice.call(arguments,2);return Q(d[S],D)}}function z(d,S,...E){return Q(S,E)}function y(d){}function C(d){u=d}function L(d,S){var E;return{localize:q(S[d]),getConfiguredDefaultLocale:(E=S.getConfiguredDefaultLocale)!==null&&E!==void 0?E:D=>{}}}function b(d,S,E,D){var x;const K=(x=D["vs/nls"])!==null&&x!==void 0?x:{};if(!d||d.length===0)return E({localize:z,getConfiguredDefaultLocale:()=>{var X;return(X=K.availableLanguages)===null||X===void 0?void 0:X["*"]}});const T=K.availableLanguages?N(K.availableLanguages,d):null,W=T===null||T===ie;let A=".nls";W||(A=A+"."+T);const U=X=>{Array.isArray(X)?X.localize=q(X):X.localize=q(X[d]),X.getConfiguredDefaultLocale=()=>{var te;return(te=K.availableLanguages)===null||te===void 0?void 0:te["*"]},E(X)};typeof K.loadBundle=="function"?K.loadBundle(d,T,(X,te)=>{X?S([d+".nls"],U):U(te)}):K.translationServiceUrl&&!W?k(this,void 0,void 0,function*(){var X;try{const te=yield Z(K.translationServiceUrl,T,d);return U(te)}catch(te){if(!T.includes("-"))return console.error(te),S([d+".nls"],U);try{const he=T.split("-")[0],_e=yield Z(K.translationServiceUrl,he,d);return(X=K.availableLanguages)!==null&&X!==void 0||(K.availableLanguages={}),K.availableLanguages["*"]=he,U(_e)}catch(he){return console.error(he),S([d+".nls"],U)}}}):S([d+A],U,X=>{if(A===".nls"){console.error("Failed trying to load default language strings",X);return}console.error(`Failed to load message bundle for language ${T}. Falling back to the default language:`,X),S([d+".nls"],U)})}},7335:(At,Be,m)=>{m.d(Be,{F:()=>ie,U:()=>Q});var k=m(50199),u=m(41846);const ie=(0,u.yh)("accessibilityService"),Q=new k.uy("accessibilityModeEnabled",!1)},65776:(At,Be,m)=>{m.d(Be,{BH:()=>E,NZ:()=>D,U8:()=>x,co:()=>S,eH:()=>d,vr:()=>b});var k=m(2599),u=m(15324),ie=m(86640),Q=m(20459),N=m(50149),ne=m(48119),Z=m(88324),q=m(50199),z=m(41846),y=m(26194),C=function(K,T,W,A){var U=arguments.length,X=U<3?T:A===null?A=Object.getOwnPropertyDescriptor(T,W):A,te;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")X=Reflect.decorate(K,T,W,A);else for(var he=K.length-1;he>=0;he--)(te=K[he])&&(X=(U<3?te(X):U>3?te(T,W,X):te(T,W))||X);return U>3&&X&&Object.defineProperty(T,W,X),X},L=function(K,T){return function(W,A){T(W,A,K)}};function b(K){return K.command!==void 0}class d{constructor(T){if(d._instances.has(T))throw new TypeError(`MenuId with identifier '${T}' already exists. Use MenuId.for(ident) or a unique identifier`);d._instances.set(T,this),this.id=T}}d._instances=new Map,d.CommandPalette=new d("CommandPalette"),d.DebugBreakpointsContext=new d("DebugBreakpointsContext"),d.DebugCallStackContext=new d("DebugCallStackContext"),d.DebugConsoleContext=new d("DebugConsoleContext"),d.DebugVariablesContext=new d("DebugVariablesContext"),d.DebugWatchContext=new d("DebugWatchContext"),d.DebugToolBar=new d("DebugToolBar"),d.DebugToolBarStop=new d("DebugToolBarStop"),d.EditorContext=new d("EditorContext"),d.SimpleEditorContext=new d("SimpleEditorContext"),d.EditorContextCopy=new d("EditorContextCopy"),d.EditorContextPeek=new d("EditorContextPeek"),d.EditorContextShare=new d("EditorContextShare"),d.EditorTitle=new d("EditorTitle"),d.EditorTitleRun=new d("EditorTitleRun"),d.EditorTitleContext=new d("EditorTitleContext"),d.EmptyEditorGroup=new d("EmptyEditorGroup"),d.EmptyEditorGroupContext=new d("EmptyEditorGroupContext"),d.ExplorerContext=new d("ExplorerContext"),d.ExtensionContext=new d("ExtensionContext"),d.GlobalActivity=new d("GlobalActivity"),d.CommandCenter=new d("CommandCenter"),d.LayoutControlMenuSubmenu=new d("LayoutControlMenuSubmenu"),d.LayoutControlMenu=new d("LayoutControlMenu"),d.MenubarMainMenu=new d("MenubarMainMenu"),d.MenubarAppearanceMenu=new d("MenubarAppearanceMenu"),d.MenubarDebugMenu=new d("MenubarDebugMenu"),d.MenubarEditMenu=new d("MenubarEditMenu"),d.MenubarCopy=new d("MenubarCopy"),d.MenubarFileMenu=new d("MenubarFileMenu"),d.MenubarGoMenu=new d("MenubarGoMenu"),d.MenubarHelpMenu=new d("MenubarHelpMenu"),d.MenubarLayoutMenu=new d("MenubarLayoutMenu"),d.MenubarNewBreakpointMenu=new d("MenubarNewBreakpointMenu"),d.MenubarPanelAlignmentMenu=new d("MenubarPanelAlignmentMenu"),d.MenubarPanelPositionMenu=new d("MenubarPanelPositionMenu"),d.MenubarPreferencesMenu=new d("MenubarPreferencesMenu"),d.MenubarRecentMenu=new d("MenubarRecentMenu"),d.MenubarSelectionMenu=new d("MenubarSelectionMenu"),d.MenubarShare=new d("MenubarShare"),d.MenubarSwitchEditorMenu=new d("MenubarSwitchEditorMenu"),d.MenubarSwitchGroupMenu=new d("MenubarSwitchGroupMenu"),d.MenubarTerminalMenu=new d("MenubarTerminalMenu"),d.MenubarViewMenu=new d("MenubarViewMenu"),d.MenubarHomeMenu=new d("MenubarHomeMenu"),d.OpenEditorsContext=new d("OpenEditorsContext"),d.ProblemsPanelContext=new d("ProblemsPanelContext"),d.SCMChangeContext=new d("SCMChangeContext"),d.SCMResourceContext=new d("SCMResourceContext"),d.SCMResourceFolderContext=new d("SCMResourceFolderContext"),d.SCMResourceGroupContext=new d("SCMResourceGroupContext"),d.SCMSourceControl=new d("SCMSourceControl"),d.SCMTitle=new d("SCMTitle"),d.SearchContext=new d("SearchContext"),d.StatusBarWindowIndicatorMenu=new d("StatusBarWindowIndicatorMenu"),d.StatusBarRemoteIndicatorMenu=new d("StatusBarRemoteIndicatorMenu"),d.TestItem=new d("TestItem"),d.TestItemGutter=new d("TestItemGutter"),d.TestPeekElement=new d("TestPeekElement"),d.TestPeekTitle=new d("TestPeekTitle"),d.TouchBarContext=new d("TouchBarContext"),d.TitleBarContext=new d("TitleBarContext"),d.TitleBarTitleContext=new d("TitleBarTitleContext"),d.TunnelContext=new d("TunnelContext"),d.TunnelPrivacy=new d("TunnelPrivacy"),d.TunnelProtocol=new d("TunnelProtocol"),d.TunnelPortInline=new d("TunnelInline"),d.TunnelTitle=new d("TunnelTitle"),d.TunnelLocalAddressInline=new d("TunnelLocalAddressInline"),d.TunnelOriginInline=new d("TunnelOriginInline"),d.ViewItemContext=new d("ViewItemContext"),d.ViewContainerTitle=new d("ViewContainerTitle"),d.ViewContainerTitleContext=new d("ViewContainerTitleContext"),d.ViewTitle=new d("ViewTitle"),d.ViewTitleContext=new d("ViewTitleContext"),d.CommentThreadTitle=new d("CommentThreadTitle"),d.CommentThreadActions=new d("CommentThreadActions"),d.CommentTitle=new d("CommentTitle"),d.CommentActions=new d("CommentActions"),d.InteractiveToolbar=new d("InteractiveToolbar"),d.InteractiveCellTitle=new d("InteractiveCellTitle"),d.InteractiveCellDelete=new d("InteractiveCellDelete"),d.InteractiveCellExecute=new d("InteractiveCellExecute"),d.InteractiveInputExecute=new d("InteractiveInputExecute"),d.NotebookToolbar=new d("NotebookToolbar"),d.NotebookCellTitle=new d("NotebookCellTitle"),d.NotebookCellDelete=new d("NotebookCellDelete"),d.NotebookCellInsert=new d("NotebookCellInsert"),d.NotebookCellBetween=new d("NotebookCellBetween"),d.NotebookCellListTop=new d("NotebookCellTop"),d.NotebookCellExecute=new d("NotebookCellExecute"),d.NotebookCellExecutePrimary=new d("NotebookCellExecutePrimary"),d.NotebookDiffCellInputTitle=new d("NotebookDiffCellInputTitle"),d.NotebookDiffCellMetadataTitle=new d("NotebookDiffCellMetadataTitle"),d.NotebookDiffCellOutputsTitle=new d("NotebookDiffCellOutputsTitle"),d.NotebookOutputToolbar=new d("NotebookOutputToolbar"),d.NotebookEditorLayoutConfigure=new d("NotebookEditorLayoutConfigure"),d.NotebookKernelSource=new d("NotebookKernelSource"),d.BulkEditTitle=new d("BulkEditTitle"),d.BulkEditContext=new d("BulkEditContext"),d.TimelineItemContext=new d("TimelineItemContext"),d.TimelineTitle=new d("TimelineTitle"),d.TimelineTitleContext=new d("TimelineTitleContext"),d.TimelineFilterSubMenu=new d("TimelineFilterSubMenu"),d.AccountsContext=new d("AccountsContext"),d.PanelTitle=new d("PanelTitle"),d.AuxiliaryBarTitle=new d("AuxiliaryBarTitle"),d.TerminalInstanceContext=new d("TerminalInstanceContext"),d.TerminalEditorInstanceContext=new d("TerminalEditorInstanceContext"),d.TerminalNewDropdownContext=new d("TerminalNewDropdownContext"),d.TerminalTabContext=new d("TerminalTabContext"),d.TerminalTabEmptyAreaContext=new d("TerminalTabEmptyAreaContext"),d.TerminalInlineTabContext=new d("TerminalInlineTabContext"),d.WebviewContext=new d("WebviewContext"),d.InlineCompletionsActions=new d("InlineCompletionsActions"),d.NewFile=new d("NewFile"),d.MergeToolbar=new d("MergeToolbar"),d.MergeInput1Toolbar=new d("MergeToolbar1Toolbar"),d.MergeInput2Toolbar=new d("MergeToolbar2Toolbar");const S=(0,z.yh)("menuService"),E=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new ie.Q5,this.onDidChangeMenu=this._onDidChangeMenu.event,this._commandPaletteChangeEvent={has:K=>K===d.CommandPalette}}addCommand(K){return this.addCommands(Q.$.single(K))}addCommands(K){for(const T of K)this._commands.set(T.id,T);return this._onDidChangeMenu.fire(this._commandPaletteChangeEvent),(0,N.OF)(()=>{let T=!1;for(const W of K)T=this._commands.delete(W.id)||T;T&&this._onDidChangeMenu.fire(this._commandPaletteChangeEvent)})}getCommand(K){return this._commands.get(K)}getCommands(){const K=new Map;return this._commands.forEach((T,W)=>K.set(W,T)),K}appendMenuItem(K,T){return this.appendMenuItems(Q.$.single({id:K,item:T}))}appendMenuItems(K){const T=new Set,W=new ne.S;for(const{id:A,item:U}of K){let X=this._menuItems.get(A);X||(X=new ne.S,this._menuItems.set(A,X)),W.push(X.push(U)),T.add(A)}return this._onDidChangeMenu.fire(T),(0,N.OF)(()=>{if(W.size>0){for(const A of W)A();this._onDidChangeMenu.fire(T),W.clear()}})}getMenuItems(K){let T;return this._menuItems.has(K)?T=[...this._menuItems.get(K)]:T=[],K===d.CommandPalette&&this._appendImplicitItems(T),T}_appendImplicitItems(K){const T=new Set;for(const W of K)b(W)&&(T.add(W.command.id),W.alt&&T.add(W.alt.id));this._commands.forEach((W,A)=>{T.has(A)||K.push({command:W})})}};class D extends k.wY{constructor(T,W,A,U){super(`submenuitem.${T.submenu.id}`,typeof T.title=="string"?T.title:T.title.value,[],"submenu"),this.item=T,this._menuService=W,this._contextKeyService=A,this._options=U}get actions(){const T=[],W=this._menuService.createMenu(this.item.submenu,this._contextKeyService),A=W.getActions(this._options);W.dispose();for(const[,U]of A)U.length>0&&(T.push(...U),T.push(new k.Z0));return T.length&&T.pop(),T}}let x=class sv{constructor(T,W,A,U,X,te){var he,_e;if(this.hideActions=U,this._commandService=te,this.id=T.id,this.label=A?.renderShortTitle&&T.shortTitle?typeof T.shortTitle=="string"?T.shortTitle:T.shortTitle.value:typeof T.title=="string"?T.title:T.title.value,this.tooltip=(_e=typeof T.tooltip=="string"?T.tooltip:(he=T.tooltip)===null||he===void 0?void 0:he.value)!==null&&_e!==void 0?_e:"",this.enabled=!T.precondition||X.contextMatchesRules(T.precondition),this.checked=void 0,T.toggled){const ge=T.toggled.condition?T.toggled:{condition:T.toggled};this.checked=X.contextMatchesRules(ge.condition),this.checked&&ge.tooltip&&(this.tooltip=typeof ge.tooltip=="string"?ge.tooltip:ge.tooltip.value),ge.title&&(this.label=typeof ge.title=="string"?ge.title:ge.title.value)}this.item=T,this.alt=W?new sv(W,void 0,A,U,X,te):void 0,this._options=A,y.kS.isThemeIcon(T.icon)&&(this.class=u.dT.asClassName(T.icon))}dispose(){}run(...T){var W,A;let U=[];return!((W=this._options)===null||W===void 0)&&W.arg&&(U=[...U,this._options.arg]),!((A=this._options)===null||A===void 0)&&A.shouldForwardArgs&&(U=[...U,...T]),this._commandService.executeCommand(this.id,...U)}};x=C([L(4,q.i6),L(5,Z.Hy)],x)},65102:(At,Be,m)=>{m.d(Be,{p:()=>u});var k=m(41846);const u=(0,k.yh)("clipboardService")},88324:(At,Be,m)=>{m.d(Be,{Hy:()=>Z,P0:()=>q});var k=m(86640),u=m(20459),ie=m(50149),Q=m(48119),N=m(4626),ne=m(41846);const Z=(0,ne.yh)("commandService"),q=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new k.Q5,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(y,C){if(!y)throw new Error("invalid command");if(typeof y=="string"){if(!C)throw new Error("invalid command");return this.registerCommand({id:y,handler:C})}if(y.description){const E=[];for(const x of y.description.args)E.push(x.constraint);const D=y.handler;y.handler=function(x,...K){return(0,N.D8)(K,E),D(x,...K)}}const{id:L}=y;let b=this._commands.get(L);b||(b=new Q.S,this._commands.set(L,b));const d=b.unshift(y),S=(0,ie.OF)(()=>{d();const E=this._commands.get(L);E?.isEmpty()&&this._commands.delete(L)});return this._onDidRegisterCommand.fire(L),S}registerCommandAlias(y,C){return q.registerCommand(y,(L,...b)=>L.get(Z).executeCommand(C,...b))}getCommand(y){const C=this._commands.get(y);if(!(!C||C.isEmpty()))return u.$.first(C)}getCommands(){const y=new Map;for(const C of this._commands.keys()){const L=this.getCommand(C);L&&y.set(C,L)}return y}},z={_serviceBrand:void 0,onWillExecuteCommand:()=>ie.JT.None,onDidExecuteCommand:()=>ie.JT.None,executeCommand(){return Promise.resolve(void 0)}};q.registerCommand("noop",()=>{})},47133:(At,Be,m)=>{m.d(Be,{KV:()=>Q,Mt:()=>Z,Od:()=>ie,UI:()=>q,Ui:()=>u,xL:()=>N});var k=m(41846);const u=(0,k.yh)("configurationService");function ie(z,y){const C=Object.create(null);for(const L in z)Q(C,L,z[L],y);return C}function Q(z,y,C,L){const b=y.split("."),d=b.pop();let S=z;for(let E=0;E<b.length;E++){const D=b[E];let x=S[D];switch(typeof x){case"undefined":x=S[D]=Object.create(null);break;case"object":break;default:L(`Ignoring ${y} as ${b.slice(0,E+1).join(".")} is ${JSON.stringify(x)}`);return}S=x}if(typeof S=="object"&&S!==null)try{S[d]=C}catch{L(`Ignoring ${y} as ${b.join(".")} is ${JSON.stringify(S)}`)}else L(`Ignoring ${y} as ${b.join(".")} is ${JSON.stringify(S)}`)}function N(z,y){const C=y.split(".");ne(z,C)}function ne(z,y){const C=y.shift();if(y.length===0){delete z[C];return}if(Object.keys(z).indexOf(C)!==-1){const L=z[C];typeof L=="object"&&!Array.isArray(L)&&(ne(L,y),Object.keys(L).length===0&&delete z[C])}}function Z(z,y,C){function L(S,E){let D=S;for(const x of E){if(typeof D!="object"||D===null)return;D=D[x]}return D}const b=y.split("."),d=L(z,b);return typeof d>"u"?C:d}function q(z){return z.replace(/[\[\]]/g,"")}},43148:(At,Be,m)=>{m.d(Be,{IP:()=>q,eU:()=>W,ny:()=>A});var k=m(99359),u=m(86640),ie=m(4626),Q=m(88631),N=m(47133),ne=m(81891),Z=m(77220);const q={Configuration:"base.contributions.configuration"},z={properties:{},patternProperties:{}},y={properties:{},patternProperties:{}},C={properties:{},patternProperties:{}},L={properties:{},patternProperties:{}},b={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},S="vscode://schemas/settings/resourceLanguage",E=Z.B.as(ne.I.JSONContribution);class D{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new u.Q5,this._onDidUpdateConfiguration=new u.Q5,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:Q.NC("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},E.registerSchema(S,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(_e,ge=!0){this.registerConfigurations([_e],ge)}registerConfigurations(_e,ge=!0){const me=this.doRegisterConfigurations(_e,ge);E.registerSchema(S,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:me})}registerDefaultConfigurations(_e){var ge;const me=[],re=[];for(const{overrides:Y,source:de}of _e)for(const oe in Y)if(me.push(oe),W.test(oe)){const J=this.configurationDefaultsOverrides.get(oe),$=(ge=J?.valuesSources)!==null&&ge!==void 0?ge:new Map;if(de)for(const O of Object.keys(Y[oe]))$.set(O,de);const ue=Object.assign(Object.assign({},J?.value||{}),Y[oe]);this.configurationDefaultsOverrides.set(oe,{source:de,value:ue,valuesSources:$});const ve=(0,N.UI)(oe),xe={type:"object",default:ue,description:Q.NC("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",ve),$ref:S,defaultDefaultValue:ue,source:ie.HD(de)?void 0:de,defaultValueSource:de};re.push(...A(oe)),this.configurationProperties[oe]=xe,this.defaultLanguageConfigurationOverridesNode.properties[oe]=xe}else{this.configurationDefaultsOverrides.set(oe,{value:Y[oe],source:de});const J=this.configurationProperties[oe];J&&(this.updatePropertyDefaultValue(oe,J),this.updateSchema(oe,J))}this.registerOverrideIdentifiers(re),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:me,defaultsOverrides:!0})}registerOverrideIdentifiers(_e){for(const ge of _e)this.overrideIdentifiers.add(ge);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(_e,ge){const me=[];return _e.forEach(re=>{me.push(...this.validateAndRegisterProperties(re,ge,re.extensionInfo,re.restrictedProperties)),this.configurationContributors.push(re),this.registerJSONConfiguration(re)}),me}validateAndRegisterProperties(_e,ge=!0,me,re,Y=3){var de;Y=ie.Jp(_e.scope)?Y:_e.scope;const oe=[],J=_e.properties;if(J)for(const ue in J){const ve=J[ue];if(ge&&te(ue,ve)){delete J[ue];continue}if(ve.source=me,ve.defaultDefaultValue=J[ue].default,this.updatePropertyDefaultValue(ue,ve),W.test(ue)?ve.scope=void 0:(ve.scope=ie.Jp(ve.scope)?Y:ve.scope,ve.restricted=ie.Jp(ve.restricted)?!!re?.includes(ue):ve.restricted),J[ue].hasOwnProperty("included")&&!J[ue].included){this.excludedConfigurationProperties[ue]=J[ue],delete J[ue];continue}else this.configurationProperties[ue]=J[ue],!((de=J[ue].policy)===null||de===void 0)&&de.name&&this.policyConfigurations.set(J[ue].policy.name,ue);!J[ue].deprecationMessage&&J[ue].markdownDeprecationMessage&&(J[ue].deprecationMessage=J[ue].markdownDeprecationMessage),oe.push(ue)}const $=_e.allOf;if($)for(const ue of $)oe.push(...this.validateAndRegisterProperties(ue,ge,me,re,Y));return oe}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(_e){const ge=me=>{const re=me.properties;if(re)for(const de in re)this.updateSchema(de,re[de]);const Y=me.allOf;Y?.forEach(ge)};ge(_e)}updateSchema(_e,ge){switch(z.properties[_e]=ge,ge.scope){case 1:y.properties[_e]=ge;break;case 2:C.properties[_e]=ge;break;case 6:L.properties[_e]=ge;break;case 3:b.properties[_e]=ge;break;case 4:d.properties[_e]=ge;break;case 5:d.properties[_e]=ge,this.resourceLanguageSettingsSchema.properties[_e]=ge;break}}updateOverridePropertyPatternKey(){for(const _e of this.overrideIdentifiers.values()){const ge=`[${_e}]`,me={type:"object",description:Q.NC("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:Q.NC("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:S};this.updatePropertyDefaultValue(ge,me),z.properties[ge]=me,y.properties[ge]=me,C.properties[ge]=me,L.properties[ge]=me,b.properties[ge]=me,d.properties[ge]=me}this._onDidSchemaChange.fire()}registerOverridePropertyPatternKey(){const _e={type:"object",description:Q.NC("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:Q.NC("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:S};z.patternProperties[T]=_e,y.patternProperties[T]=_e,C.patternProperties[T]=_e,L.patternProperties[T]=_e,b.patternProperties[T]=_e,d.patternProperties[T]=_e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(_e,ge){const me=this.configurationDefaultsOverrides.get(_e);let re=me?.value,Y=me?.source;ie.o8(re)&&(re=ge.defaultDefaultValue,Y=void 0),ie.o8(re)&&(re=U(ge.type)),ge.default=re,ge.defaultValueSource=Y}}const x="\\[([^\\]]+)\\]",K=new RegExp(x,"g"),T=`^(${x})+$`,W=new RegExp(T);function A(he){const _e=[];if(W.test(he)){let ge=K.exec(he);for(;ge?.length;){const me=ge[1].trim();me&&_e.push(me),ge=K.exec(he)}}return(0,k.EB)(_e)}function U(he){switch(Array.isArray(he)?he[0]:he){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const X=new D;Z.B.add(q.Configuration,X);function te(he,_e){var ge,me,re,Y;return he.trim()?W.test(he)?Q.NC("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",he):X.getConfigurationProperties()[he]!==void 0?Q.NC("config.property.duplicate","Cannot register '{0}'. This property is already registered.",he):!((ge=_e.policy)===null||ge===void 0)&&ge.name&&X.getPolicyConfigurations().get((me=_e.policy)===null||me===void 0?void 0:me.name)!==void 0?Q.NC("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",he,(re=_e.policy)===null||re===void 0?void 0:re.name,X.getPolicyConfigurations().get((Y=_e.policy)===null||Y===void 0?void 0:Y.name)):null:Q.NC("config.property.empty","Cannot register an empty property")}},50199:(At,Be,m)=>{m.d(Be,{Ao:()=>ne,Eq:()=>me,Fb:()=>Z,K8:()=>de,i6:()=>ge,uy:()=>_e});var k=m(75874),u=m(34504),ie=m(41846);const Q=new Map;Q.set("false",!1),Q.set("true",!0),Q.set("isMac",k.dz),Q.set("isLinux",k.IJ),Q.set("isWindows",k.ED),Q.set("isWeb",k.$L),Q.set("isMacNative",k.dz&&!k.$L),Q.set("isEdge",k.un),Q.set("isFirefox",k.vU),Q.set("isChrome",k.i7),Q.set("isSafari",k.G6);const N=Object.prototype.hasOwnProperty;class ne{static has($){return C.create($)}static equals($,ue){return L.create($,ue)}static regex($,ue){return A.create($,ue)}static not($){return E.create($)}static and(...$){return te.create($,null)}static or(...$){return he.create($,null,!0)}static deserialize($,ue=!1){if($)return this._deserializeOrExpression($,ue)}static _deserializeOrExpression($,ue){const ve=$.split("||");return he.create(ve.map(xe=>this._deserializeAndExpression(xe,ue)),null,!0)}static _deserializeAndExpression($,ue){const ve=$.split("&&");return te.create(ve.map(xe=>this._deserializeOne(xe,ue)),null)}static _deserializeOne($,ue){if($=$.trim(),$.indexOf("!=")>=0){const ve=$.split("!=");return S.create(ve[0].trim(),this._deserializeValue(ve[1],ue))}if($.indexOf("==")>=0){const ve=$.split("==");return L.create(ve[0].trim(),this._deserializeValue(ve[1],ue))}if($.indexOf("=~")>=0){const ve=$.split("=~");return A.create(ve[0].trim(),this._deserializeRegexValue(ve[1],ue))}if($.indexOf(" not in ")>=0){const ve=$.split(" not in ");return d.create(ve[0].trim(),ve[1].trim())}if($.indexOf(" in ")>=0){const ve=$.split(" in ");return b.create(ve[0].trim(),ve[1].trim())}if(/^[^<=>]+>=[^<=>]+$/.test($)){const ve=$.split(">=");return K.create(ve[0].trim(),ve[1].trim())}if(/^[^<=>]+>[^<=>]+$/.test($)){const ve=$.split(">");return x.create(ve[0].trim(),ve[1].trim())}if(/^[^<=>]+<=[^<=>]+$/.test($)){const ve=$.split("<=");return W.create(ve[0].trim(),ve[1].trim())}if(/^[^<=>]+<[^<=>]+$/.test($)){const ve=$.split("<");return T.create(ve[0].trim(),ve[1].trim())}return/^\!\s*/.test($)?E.create($.substr(1).trim()):C.create($)}static _deserializeValue($,ue){if($=$.trim(),$==="true")return!0;if($==="false")return!1;const ve=/^'([^']*)'$/.exec($);return ve?ve[1].trim():$}static _deserializeRegexValue($,ue){if((0,u.m5)($)){if(ue)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}const ve=$.indexOf("/"),xe=$.lastIndexOf("/");if(ve===xe||ve<0){if(ue)throw new Error(`bad regexp-value '${$}', missing /-enclosure`);return console.warn(`bad regexp-value '${$}', missing /-enclosure`),null}const O=$.slice(ve+1,xe),rt=$[xe+1]==="i"?"i":"";try{return new RegExp(O,rt)}catch(ct){if(ue)throw new Error(`bad regexp-value '${$}', parse error: ${ct}`);return console.warn(`bad regexp-value '${$}', parse error: ${ct}`),null}}}function Z(J,$){const ue=J?J.substituteConstants():void 0,ve=$?$.substituteConstants():void 0;return!ue&&!ve?!0:!ue||!ve?!1:ue.equals(ve)}function q(J,$){return J.cmp($)}class z{constructor(){this.type=0}cmp($){return this.type-$.type}equals($){return $.type===this.type}substituteConstants(){return this}evaluate($){return!1}serialize(){return"false"}keys(){return[]}negate(){return y.INSTANCE}}z.INSTANCE=new z;class y{constructor(){this.type=1}cmp($){return this.type-$.type}equals($){return $.type===this.type}substituteConstants(){return this}evaluate($){return!0}serialize(){return"true"}keys(){return[]}negate(){return z.INSTANCE}}y.INSTANCE=new y;class C{constructor($,ue){this.key=$,this.negated=ue,this.type=2}static create($,ue=null){const ve=Q.get($);return typeof ve=="boolean"?ve?y.INSTANCE:z.INSTANCE:new C($,ue)}cmp($){return $.type!==this.type?this.type-$.type:re(this.key,$.key)}equals($){return $.type===this.type?this.key===$.key:!1}substituteConstants(){const $=Q.get(this.key);return typeof $=="boolean"?$?y.INSTANCE:z.INSTANCE:this}evaluate($){return!!$.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=E.create(this.key,this)),this.negated}}class L{constructor($,ue,ve){this.key=$,this.value=ue,this.negated=ve,this.type=4}static create($,ue,ve=null){if(typeof ue=="boolean")return ue?C.create($,ve):E.create($,ve);const xe=Q.get($);return typeof xe=="boolean"?ue===(xe?"true":"false")?y.INSTANCE:z.INSTANCE:new L($,ue,ve)}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.value,$.key,$.value)}equals($){return $.type===this.type?this.key===$.key&&this.value===$.value:!1}substituteConstants(){const $=Q.get(this.key);if(typeof $=="boolean"){const ue=$?"true":"false";return this.value===ue?y.INSTANCE:z.INSTANCE}return this}evaluate($){return $.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=S.create(this.key,this.value,this)),this.negated}}class b{constructor($,ue){this.key=$,this.valueKey=ue,this.type=10,this.negated=null}static create($,ue){return new b($,ue)}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.valueKey,$.key,$.valueKey)}equals($){return $.type===this.type?this.key===$.key&&this.valueKey===$.valueKey:!1}substituteConstants(){return this}evaluate($){const ue=$.getValue(this.valueKey),ve=$.getValue(this.key);return Array.isArray(ue)?ue.includes(ve):typeof ve=="string"&&typeof ue=="object"&&ue!==null?N.call(ue,ve):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=d.create(this.key,this.valueKey)),this.negated}}class d{constructor($,ue){this.key=$,this.valueKey=ue,this.type=11,this._negated=b.create($,ue)}static create($,ue){return new d($,ue)}cmp($){return $.type!==this.type?this.type-$.type:this._negated.cmp($._negated)}equals($){return $.type===this.type?this._negated.equals($._negated):!1}substituteConstants(){return this}evaluate($){return!this._negated.evaluate($)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class S{constructor($,ue,ve){this.key=$,this.value=ue,this.negated=ve,this.type=5}static create($,ue,ve=null){if(typeof ue=="boolean")return ue?E.create($,ve):C.create($,ve);const xe=Q.get($);return typeof xe=="boolean"?ue===(xe?"true":"false")?z.INSTANCE:y.INSTANCE:new S($,ue,ve)}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.value,$.key,$.value)}equals($){return $.type===this.type?this.key===$.key&&this.value===$.value:!1}substituteConstants(){const $=Q.get(this.key);if(typeof $=="boolean"){const ue=$?"true":"false";return this.value===ue?z.INSTANCE:y.INSTANCE}return this}evaluate($){return $.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=L.create(this.key,this.value,this)),this.negated}}class E{constructor($,ue){this.key=$,this.negated=ue,this.type=3}static create($,ue=null){const ve=Q.get($);return typeof ve=="boolean"?ve?z.INSTANCE:y.INSTANCE:new E($,ue)}cmp($){return $.type!==this.type?this.type-$.type:re(this.key,$.key)}equals($){return $.type===this.type?this.key===$.key:!1}substituteConstants(){const $=Q.get(this.key);return typeof $=="boolean"?$?z.INSTANCE:y.INSTANCE:this}evaluate($){return!$.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=C.create(this.key,this)),this.negated}}function D(J,$){if(typeof J=="string"){const ue=parseFloat(J);isNaN(ue)||(J=ue)}return typeof J=="string"||typeof J=="number"?$(J):z.INSTANCE}class x{constructor($,ue,ve){this.key=$,this.value=ue,this.negated=ve,this.type=12}static create($,ue,ve=null){return D(ue,xe=>new x($,xe,ve))}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.value,$.key,$.value)}equals($){return $.type===this.type?this.key===$.key&&this.value===$.value:!1}substituteConstants(){return this}evaluate($){return typeof this.value=="string"?!1:parseFloat($.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this.key,this.value,this)),this.negated}}class K{constructor($,ue,ve){this.key=$,this.value=ue,this.negated=ve,this.type=13}static create($,ue,ve=null){return D(ue,xe=>new K($,xe,ve))}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.value,$.key,$.value)}equals($){return $.type===this.type?this.key===$.key&&this.value===$.value:!1}substituteConstants(){return this}evaluate($){return typeof this.value=="string"?!1:parseFloat($.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=T.create(this.key,this.value,this)),this.negated}}class T{constructor($,ue,ve){this.key=$,this.value=ue,this.negated=ve,this.type=14}static create($,ue,ve=null){return D(ue,xe=>new T($,xe,ve))}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.value,$.key,$.value)}equals($){return $.type===this.type?this.key===$.key&&this.value===$.value:!1}substituteConstants(){return this}evaluate($){return typeof this.value=="string"?!1:parseFloat($.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=K.create(this.key,this.value,this)),this.negated}}class W{constructor($,ue,ve){this.key=$,this.value=ue,this.negated=ve,this.type=15}static create($,ue,ve=null){return D(ue,xe=>new W($,xe,ve))}cmp($){return $.type!==this.type?this.type-$.type:Y(this.key,this.value,$.key,$.value)}equals($){return $.type===this.type?this.key===$.key&&this.value===$.value:!1}substituteConstants(){return this}evaluate($){return typeof this.value=="string"?!1:parseFloat($.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=x.create(this.key,this.value,this)),this.negated}}class A{constructor($,ue){this.key=$,this.regexp=ue,this.type=7,this.negated=null}static create($,ue){return new A($,ue)}cmp($){if($.type!==this.type)return this.type-$.type;if(this.key<$.key)return-1;if(this.key>$.key)return 1;const ue=this.regexp?this.regexp.source:"",ve=$.regexp?$.regexp.source:"";return ue<ve?-1:ue>ve?1:0}equals($){if($.type===this.type){const ue=this.regexp?this.regexp.source:"",ve=$.regexp?$.regexp.source:"";return this.key===$.key&&ue===ve}return!1}substituteConstants(){return this}evaluate($){const ue=$.getValue(this.key);return this.regexp?this.regexp.test(ue):!1}serialize(){const $=this.regexp?`/${this.regexp.source}/${this.regexp.ignoreCase?"i":""}`:"/invalid/";return`${this.key} =~ ${$}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=U.create(this)),this.negated}}class U{constructor($){this._actual=$,this.type=8}static create($){return new U($)}cmp($){return $.type!==this.type?this.type-$.type:this._actual.cmp($._actual)}equals($){return $.type===this.type?this._actual.equals($._actual):!1}substituteConstants(){return this}evaluate($){return!this._actual.evaluate($)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}function X(J){let $=null;for(let ue=0,ve=J.length;ue<ve;ue++){const xe=J[ue].substituteConstants();if(J[ue]!==xe&&$===null){$=[];for(let O=0;O<ue;O++)$[O]=J[O]}$!==null&&($[ue]=xe)}return $===null?J:$}class te{constructor($,ue){this.expr=$,this.negated=ue,this.type=6}static create($,ue){return te._normalizeArr($,ue)}cmp($){if($.type!==this.type)return this.type-$.type;if(this.expr.length<$.expr.length)return-1;if(this.expr.length>$.expr.length)return 1;for(let ue=0,ve=this.expr.length;ue<ve;ue++){const xe=q(this.expr[ue],$.expr[ue]);if(xe!==0)return xe}return 0}equals($){if($.type===this.type){if(this.expr.length!==$.expr.length)return!1;for(let ue=0,ve=this.expr.length;ue<ve;ue++)if(!this.expr[ue].equals($.expr[ue]))return!1;return!0}return!1}substituteConstants(){const $=X(this.expr);return $===this.expr?this:te.create($,this.negated)}evaluate($){for(let ue=0,ve=this.expr.length;ue<ve;ue++)if(!this.expr[ue].evaluate($))return!1;return!0}static _normalizeArr($,ue){const ve=[];let xe=!1;for(const O of $)if(O){if(O.type===1){xe=!0;continue}if(O.type===0)return z.INSTANCE;if(O.type===6){ve.push(...O.expr);continue}ve.push(O)}if(ve.length===0&&xe)return y.INSTANCE;if(ve.length!==0){if(ve.length===1)return ve[0];ve.sort(q);for(let O=1;O<ve.length;O++)ve[O-1].equals(ve[O])&&(ve.splice(O,1),O--);if(ve.length===1)return ve[0];for(;ve.length>1;){const O=ve[ve.length-1];if(O.type!==9)break;ve.pop();const rt=ve.pop(),ct=ve.length===0,Ve=he.create(O.expr.map($e=>te.create([$e,rt],null)),null,ct);Ve&&(ve.push(Ve),ve.sort(q))}return ve.length===1?ve[0]:new te(ve,ue)}}serialize(){return this.expr.map($=>$.serialize()).join(" && ")}keys(){const $=[];for(const ue of this.expr)$.push(...ue.keys());return $}negate(){if(!this.negated){const $=[];for(const ue of this.expr)$.push(ue.negate());this.negated=he.create($,this,!0)}return this.negated}}class he{constructor($,ue){this.expr=$,this.negated=ue,this.type=9}static create($,ue,ve){return he._normalizeArr($,ue,ve)}cmp($){if($.type!==this.type)return this.type-$.type;if(this.expr.length<$.expr.length)return-1;if(this.expr.length>$.expr.length)return 1;for(let ue=0,ve=this.expr.length;ue<ve;ue++){const xe=q(this.expr[ue],$.expr[ue]);if(xe!==0)return xe}return 0}equals($){if($.type===this.type){if(this.expr.length!==$.expr.length)return!1;for(let ue=0,ve=this.expr.length;ue<ve;ue++)if(!this.expr[ue].equals($.expr[ue]))return!1;return!0}return!1}substituteConstants(){const $=X(this.expr);return $===this.expr?this:he.create($,this.negated,!1)}evaluate($){for(let ue=0,ve=this.expr.length;ue<ve;ue++)if(this.expr[ue].evaluate($))return!0;return!1}static _normalizeArr($,ue,ve){let xe=[],O=!1;if($){for(let rt=0,ct=$.length;rt<ct;rt++){const Ve=$[rt];if(Ve){if(Ve.type===0){O=!0;continue}if(Ve.type===1)return y.INSTANCE;if(Ve.type===9){xe=xe.concat(Ve.expr);continue}xe.push(Ve)}}if(xe.length===0&&O)return z.INSTANCE;xe.sort(q)}if(xe.length!==0){if(xe.length===1)return xe[0];for(let rt=1;rt<xe.length;rt++)xe[rt-1].equals(xe[rt])&&(xe.splice(rt,1),rt--);if(xe.length===1)return xe[0];if(ve){for(let rt=0;rt<xe.length;rt++)for(let ct=rt+1;ct<xe.length;ct++)de(xe[rt],xe[ct])&&(xe.splice(ct,1),ct--);if(xe.length===1)return xe[0]}return new he(xe,ue)}}serialize(){return this.expr.map($=>$.serialize()).join(" || ")}keys(){const $=[];for(const ue of this.expr)$.push(...ue.keys());return $}negate(){if(!this.negated){const $=[];for(const ue of this.expr)$.push(ue.negate());for(;$.length>1;){const ue=$.shift(),ve=$.shift(),xe=[];for(const rt of oe(ue))for(const ct of oe(ve))xe.push(te.create([rt,ct],null));const O=$.length===0;$.unshift(he.create(xe,null,O))}this.negated=$[0]}return this.negated}}class _e extends C{constructor($,ue,ve){super($,null),this._defaultValue=ue,typeof ve=="object"?_e._info.push(Object.assign(Object.assign({},ve),{key:$})):ve!==!0&&_e._info.push({key:$,description:ve,type:ue!=null?typeof ue:void 0})}static all(){return _e._info.values()}bindTo($){return $.createKey(this.key,this._defaultValue)}getValue($){return $.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo($){return L.create(this.key,$)}}_e._info=[];const ge=(0,ie.yh)("contextKeyService"),me="setContext";function re(J,$){return J<$?-1:J>$?1:0}function Y(J,$,ue,ve){return J<ue?-1:J>ue?1:$<ve?-1:$>ve?1:0}function de(J,$){if($.type===6&&J.type!==9&&J.type!==6){for(const xe of $.expr)if(J.equals(xe))return!0}const ue=J.negate(),ve=oe(ue).concat(oe($));ve.sort(q);for(let xe=0;xe<ve.length;xe++){const rt=ve[xe].negate();for(let ct=xe+1;ct<ve.length;ct++){const Ve=ve[ct];if(rt.equals(Ve))return!0}}return!1}function oe(J){return J.type===9?J.expr:[J]}},43680:(At,Be,m)=>{m.d(Be,{cv:()=>ne,d0:()=>L});var k=m(75874),u=m(88631),ie=m(50199);const Q=new ie.uy("isMac",k.dz,(0,u.NC)("isMac","Whether the operating system is macOS")),N=new ie.uy("isLinux",k.IJ,(0,u.NC)("isLinux","Whether the operating system is Linux")),ne=new ie.uy("isWindows",k.ED,(0,u.NC)("isWindows","Whether the operating system is Windows")),Z=new ie.uy("isWeb",k.$L,(0,u.NC)("isWeb","Whether the platform is a web browser")),q=new ie.uy("isMacNative",k.dz&&!k.$L,(0,u.NC)("isMacNative","Whether the operating system is macOS on a non-browser platform")),z=new ie.uy("isIOS",k.gn,(0,u.NC)("isIOS","Whether the operating system is iOS")),y=new ie.uy("isDevelopment",!1,!0),C=new ie.uy("productQualityType","",(0,u.NC)("productQualityType","Quality type of VS Code")),L="inputFocus",b=new ie.uy(L,!1,(0,u.NC)("inputFocus","Whether keyboard focus is inside an input box"))},30746:(At,Be,m)=>{m.d(Be,{i:()=>ie,u:()=>u});var k=m(41846);const u=(0,k.yh)("contextViewService"),ie=(0,k.yh)("contextMenuService")},45312:(At,Be,m)=>{m.d(Be,{S:()=>u});var k=m(41846);const u=(0,k.yh)("dialogService")},94452:(At,Be,m)=>{m.d(Be,{M:()=>k});class k{constructor(ie,Q=[],N=!1){this.ctor=ie,this.staticArguments=Q,this.supportsDelayedInstantiation=N}}},59894:(At,Be,m)=>{m.d(Be,{d:()=>Q,z:()=>ie});var k=m(94452);const u=[];function ie(N,ne,Z){ne instanceof k.M||(ne=new k.M(ne,[],Z)),u.push([N,ne])}function Q(){return u}},41846:(At,Be,m)=>{m.d(Be,{I8:()=>k,TG:()=>u,yh:()=>Q});var k;(function(N){N.serviceIds=new Map,N.DI_TARGET="$di$target",N.DI_DEPENDENCIES="$di$dependencies";function ne(Z){return Z[N.DI_DEPENDENCIES]||[]}N.getServiceDependencies=ne})(k||(k={}));const u=Q("instantiationService");function ie(N,ne,Z){ne[k.DI_TARGET]===ne?ne[k.DI_DEPENDENCIES].push({id:N,index:Z}):(ne[k.DI_DEPENDENCIES]=[{id:N,index:Z}],ne[k.DI_TARGET]=ne)}function Q(N){if(k.serviceIds.has(N))return k.serviceIds.get(N);const ne=function(Z,q,z){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");ie(ne,Z,z)};return ne.toString=()=>N,k.serviceIds.set(N,ne),ne}},81775:(At,Be,m)=>{m.d(Be,{y:()=>k});class k{constructor(...ie){this._entries=new Map;for(const[Q,N]of ie)this.set(Q,N)}set(ie,Q){const N=this._entries.get(ie);return this._entries.set(ie,Q),N}get(ie){return this._entries.get(ie)}}},81891:(At,Be,m)=>{m.d(Be,{I:()=>ie});var k=m(86640),u=m(77220);const ie={JSONContribution:"base.contributions.json"};function Q(Z){return Z.length>0&&Z.charAt(Z.length-1)==="#"?Z.substring(0,Z.length-1):Z}class N{constructor(){this._onDidChangeSchema=new k.Q5,this.schemasById={}}registerSchema(q,z){this.schemasById[Q(q)]=z,this._onDidChangeSchema.fire(q)}notifySchemaChanged(q){this._onDidChangeSchema.fire(q)}}const ne=new N;u.B.add(ie.JSONContribution,ne)},29205:(At,Be,m)=>{m.d(Be,{d:()=>u});var k=m(41846);const u=(0,k.yh)("keybindingService")},7898:(At,Be,m)=>{m.d(Be,{W:()=>ne});var k=m(72407),u=m(75874),ie=m(88324),Q=m(77220);class N{constructor(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(y){if(u.OS===1){if(y&&y.win)return y.win}else if(u.OS===2){if(y&&y.mac)return y.mac}else if(y&&y.linux)return y.linux;return y}registerKeybindingRule(y){const C=N.bindToCurrentPlatform(y);if(C&&C.primary){const L=(0,k.gm)(C.primary,u.OS);L&&this._registerDefaultKeybinding(L,y.id,y.args,y.weight,0,y.when)}if(C&&Array.isArray(C.secondary))for(let L=0,b=C.secondary.length;L<b;L++){const d=C.secondary[L],S=(0,k.gm)(d,u.OS);S&&this._registerDefaultKeybinding(S,y.id,y.args,y.weight,-L-1,y.when)}}registerCommandAndKeybindingRule(y){this.registerKeybindingRule(y),ie.P0.registerCommand(y)}static _mightProduceChar(y){return y>=21&&y<=30||y>=31&&y<=56?!0:y===80||y===81||y===82||y===83||y===84||y===85||y===86||y===110||y===111||y===87||y===88||y===89||y===90||y===91||y===92}_assertNoCtrlAlt(y,C){y.ctrlKey&&y.altKey&&!y.metaKey&&N._mightProduceChar(y.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",y," for ",C)}_registerDefaultKeybinding(y,C,L,b,d,S){u.OS===1&&this._assertNoCtrlAlt(y.parts[0],C),this._coreKeybindings.push({keybinding:y.parts,command:C,commandArgs:L,when:S,weight1:b,weight2:d,extensionId:null,isBuiltinExtension:!1}),this._cachedMergedKeybindings=null}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(q)),this._cachedMergedKeybindings.slice(0)}}const ne=new N,Z={EditorModes:"platform.keybindingsRegistry"};Q.B.add(Z.EditorModes,ne);function q(z,y){return z.weight1!==y.weight1?z.weight1-y.weight1:z.command<y.command?-1:z.command>y.command?1:z.weight2-y.weight2}},84943:(At,Be,m)=>{m.d(Be,{e:()=>u});var k=m(41846);const u=(0,k.yh)("labelService")},24580:(At,Be,m)=>{m.d(Be,{Lw:()=>Wi,XN:()=>an,ls:()=>ms,ev:()=>vs,CQ:()=>Vn,PS:()=>Ai,uJ:()=>Ni});var k=m(22120),u=m(99359),ie=m(58923),Q=m(86640),N=m(50149),ne=m(21244),Z=m(56629);class q{constructor(_,B){this.renderer=_,this.modelProvider=B}get templateId(){return this.renderer.templateId}renderTemplate(_){return{data:this.renderer.renderTemplate(_),disposable:N.JT.None}}renderElement(_,B,ce,we){if(ce.disposable&&ce.disposable.dispose(),!ce.data)return;const Le=this.modelProvider();if(Le.isResolved(_))return this.renderer.renderElement(Le.get(_),_,ce.data,we);const Me=new ie.A,ze=Le.resolve(_,Me.token);ce.disposable={dispose:()=>Me.cancel()},this.renderer.renderPlaceholder(_,ce.data),ze.then(Ge=>this.renderer.renderElement(Ge,_,ce.data,we))}disposeTemplate(_){_.disposable&&(_.disposable.dispose(),_.disposable=void 0),_.data&&(this.renderer.disposeTemplate(_.data),_.data=void 0)}}class z{constructor(_,B){this.modelProvider=_,this.accessibilityProvider=B}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(_){const B=this.modelProvider();return B.isResolved(_)?this.accessibilityProvider.getAriaLabel(B.get(_)):null}}function y(ee,_){return Object.assign(Object.assign({},_),{accessibilityProvider:_.accessibilityProvider&&new z(ee,_.accessibilityProvider)})}class C{constructor(_,B,ce,we,Le={}){const Me=()=>this.model,ze=we.map(Ge=>new q(Ge,Me));this.list=new Z.aV(_,B,ce,ze,y(Me,Le))}updateOptions(_){this.list.updateOptions(_)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return Q.ju.map(this.list.onMouseDblClick,({element:_,index:B,browserEvent:ce})=>({element:_===void 0?void 0:this._model.get(_),index:B,browserEvent:ce}))}get onPointer(){return Q.ju.map(this.list.onPointer,({element:_,index:B,browserEvent:ce})=>({element:_===void 0?void 0:this._model.get(_),index:B,browserEvent:ce}))}get onDidChangeSelection(){return Q.ju.map(this.list.onDidChangeSelection,({elements:_,indexes:B,browserEvent:ce})=>({elements:_.map(we=>this._model.get(we)),indexes:B,browserEvent:ce}))}get model(){return this._model}set model(_){this._model=_,this.list.splice(0,this.list.length,(0,u.w6)(_.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(_=>this.model.get(_))}style(_){this.list.style(_)}dispose(){this.list.dispose()}}var L=m(41250),b=m(28670);class d{constructor(_,B,ce){this.columns=_,this.getColumnSize=ce,this.templateId=d.TemplateId,this.renderedTemplates=new Set;const we=new Map(B.map(Le=>[Le.templateId,Le]));this.renderers=[];for(const Le of _){const Me=we.get(Le.templateId);if(!Me)throw new Error(`Table cell renderer for template id ${Le.templateId} not found.`);this.renderers.push(Me)}}renderTemplate(_){const B=(0,k.R3)(_,(0,k.$)(".monaco-table-tr")),ce=[],we=[];for(let Me=0;Me<this.columns.length;Me++){const ze=this.renderers[Me],Ge=(0,k.R3)(B,(0,k.$)(".monaco-table-td",{"data-col-index":Me}));Ge.style.width=`${this.getColumnSize(Me)}px`,ce.push(Ge),we.push(ze.renderTemplate(Ge))}const Le={container:_,cellContainers:ce,cellTemplateData:we};return this.renderedTemplates.add(Le),Le}renderElement(_,B,ce,we){for(let Le=0;Le<this.columns.length;Le++){const ze=this.columns[Le].project(_);this.renderers[Le].renderElement(ze,B,ce.cellTemplateData[Le],we)}}disposeElement(_,B,ce,we){for(let Le=0;Le<this.columns.length;Le++){const Me=this.renderers[Le];if(Me.disposeElement){const Ge=this.columns[Le].project(_);Me.disposeElement(Ge,B,ce.cellTemplateData[Le],we)}}}disposeTemplate(_){for(let B=0;B<this.columns.length;B++)this.renderers[B].disposeTemplate(_.cellTemplateData[B]);(0,k.PO)(_.container),this.renderedTemplates.delete(_)}layoutColumn(_,B){for(const{cellContainers:ce}of this.renderedTemplates)ce[_].style.width=`${B}px`}}d.TemplateId="row";function S(ee){return{getHeight(_){return ee.getHeight(_)},getTemplateId(){return d.TemplateId}}}class E{constructor(_,B){this.column=_,this.index=B,this._onDidLayout=new Q.Q5,this.onDidLayout=this._onDidLayout.event,this.element=(0,k.$)(".monaco-table-th",{"data-col-index":B,title:_.tooltip},_.label)}get minimumSize(){var _;return(_=this.column.minimumWidth)!==null&&_!==void 0?_:120}get maximumSize(){var _;return(_=this.column.maximumWidth)!==null&&_!==void 0?_:Number.POSITIVE_INFINITY}get onDidChange(){var _;return(_=this.column.onDidChangeWidthConstraints)!==null&&_!==void 0?_:Q.ju.None}layout(_){this._onDidLayout.fire([this.index,_])}}class D{constructor(_,B,ce,we,Le,Me){this.virtualDelegate=ce,this.domId=`table_id_${++D.InstanceCount}`,this.disposables=new N.SL,this.cachedWidth=0,this.cachedHeight=0,this.domNode=(0,k.R3)(B,(0,k.$)(`.monaco-table.${this.domId}`));const ze=we.map((St,kt)=>new E(St,kt)),Ge={size:ze.reduce((St,kt)=>St+kt.column.weight,0),views:ze.map(St=>({size:St.column.weight,view:St}))};this.splitview=this.disposables.add(new L.z(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:Ge})),this.splitview.el.style.height=`${ce.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${ce.headerRowHeight}px`;const gt=new d(we,Le,St=>this.splitview.getViewSize(St));this.list=this.disposables.add(new Z.aV(_,this.domNode,S(ce),[gt],Me)),Q.ju.any(...ze.map(St=>St.onDidLayout))(([St,kt])=>gt.layoutColumn(St,kt),null,this.disposables),this.splitview.onDidSashReset(St=>{const kt=we.reduce((Vt,Jt)=>Vt+Jt.weight,0),Ft=we[St].weight/kt*this.cachedWidth;this.splitview.resizeView(St,Ft)},null,this.disposables),this.styleElement=(0,k.dS)(this.domNode),this.style({})}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}updateOptions(_){this.list.updateOptions(_)}splice(_,B,ce=[]){this.list.splice(_,B,ce)}getHTMLElement(){return this.domNode}style(_){const B=[];B.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=B.join(` `),this.list.style(_)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}D.InstanceCount=0;var x=m(79083),K=m(21458),T=m(3732),W=m(40226),A=m(95317),U=m(94085),X;(function(ee){ee[ee.Unknown=0]="Unknown",ee[ee.Twistie=1]="Twistie",ee[ee.Element=2]="Element",ee[ee.Filter=3]="Filter"})(X||(X={}));class te extends Error{constructor(_,B){super(`TreeError [${_}] ${B}`)}}class he{constructor(_){this.fn=_,this._map=new WeakMap}map(_){let B=this._map.get(_);return B||(B=this.fn(_),this._map.set(_,B)),B}}var _e=m(49434),ge=m(28079),me=m(20459);function re(ee){return typeof ee=="object"&&"visibility"in ee&&"data"in ee}function Y(ee){switch(ee){case!0:return 1;case!1:return 0;default:return ee}}function de(ee){return typeof ee.collapsible=="boolean"}class oe{constructor(_,B,ce,we={}){this.user=_,this.list=B,this.rootRef=[],this.eventBufferer=new Q.E7,this._onDidChangeCollapseState=new Q.Q5,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new Q.Q5,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new Q.Q5,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new _e.vp(_e.ne),this.collapseByDefault=typeof we.collapseByDefault>"u"?!1:we.collapseByDefault,this.filter=we.filter,this.autoExpandSingleChildren=typeof we.autoExpandSingleChildren>"u"?!1:we.autoExpandSingleChildren,this.root={parent:void 0,element:ce,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(_,B,ce=me.$.empty(),we={}){if(_.length===0)throw new te(this.user,"Invalid tree location");we.diffIdentityProvider?this.spliceSmart(we.diffIdentityProvider,_,B,ce,we):this.spliceSimple(_,B,ce,we)}spliceSmart(_,B,ce,we,Le,Me){var ze;we===void 0&&(we=me.$.empty()),Me===void 0&&(Me=(ze=Le.diffDepth)!==null&&ze!==void 0?ze:0);const{parentNode:Ge}=this.getParentNodeWithListIndex(B);if(!Ge.lastDiffIds)return this.spliceSimple(B,ce,we,Le);const gt=[...we],St=B[B.length-1],kt=new ge.Hs({getElements:()=>Ge.lastDiffIds},{getElements:()=>[...Ge.children.slice(0,St),...gt,...Ge.children.slice(St+ce)].map(ki=>_.getId(ki.element).toString())}).ComputeDiff(!1);if(kt.quitEarly)return Ge.lastDiffIds=void 0,this.spliceSimple(B,ce,gt,Le);const Ft=B.slice(0,-1),Vt=(ki,qi,kn)=>{if(Me>0)for(let Mi=0;Mi<kn;Mi++)ki--,qi--,this.spliceSmart(_,[...Ft,ki,0],Number.MAX_SAFE_INTEGER,gt[qi].children,Le,Me-1)};let Jt=Math.min(Ge.children.length,St+ce),pi=gt.length;for(const ki of kt.changes.sort((qi,kn)=>kn.originalStart-qi.originalStart))Vt(Jt,pi,Jt-(ki.originalStart+ki.originalLength)),Jt=ki.originalStart,pi=ki.modifiedStart-St,this.spliceSimple([...Ft,Jt],ki.originalLength,me.$.slice(gt,pi,pi+ki.modifiedLength),Le);Vt(Jt,pi,Jt)}spliceSimple(_,B,ce=me.$.empty(),{onDidCreateNode:we,onDidDeleteNode:Le,diffIdentityProvider:Me}){const{parentNode:ze,listIndex:Ge,revealed:gt,visible:St}=this.getParentNodeWithListIndex(_),kt=[],Ft=me.$.map(ce,ss=>this.createTreeNode(ss,ze,ze.visible?1:0,gt,kt,we)),Vt=_[_.length-1],Jt=ze.children.length>0;let pi=0;for(let ss=Vt;ss>=0&&ss<ze.children.length;ss--){const ro=ze.children[ss];if(ro.visible){pi=ro.visibleChildIndex;break}}const ki=[];let qi=0,kn=0;for(const ss of Ft)ki.push(ss),kn+=ss.renderNodeCount,ss.visible&&(ss.visibleChildIndex=pi+qi++);const Mi=(0,u.db)(ze.children,Vt,B,ki);Me?ze.lastDiffIds?(0,u.db)(ze.lastDiffIds,Vt,B,ki.map(ss=>Me.getId(ss.element).toString())):ze.lastDiffIds=ze.children.map(ss=>Me.getId(ss.element).toString()):ze.lastDiffIds=void 0;let Hi=0;for(const ss of Mi)ss.visible&&Hi++;if(Hi!==0)for(let ss=Vt+ki.length;ss<ze.children.length;ss++){const ro=ze.children[ss];ro.visible&&(ro.visibleChildIndex-=Hi)}if(ze.visibleChildrenCount+=qi-Hi,gt&&St){const ss=Mi.reduce((ro,go)=>ro+(go.visible?go.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(ze,kn-ss),this.list.splice(Ge,ss,kt)}if(Mi.length>0&&Le){const ss=ro=>{Le(ro),ro.children.forEach(ss)};Mi.forEach(ss)}this._onDidSplice.fire({insertedNodes:ki,deletedNodes:Mi});const Os=ze.children.length>0;Jt!==Os&&this.setCollapsible(_.slice(0,-1),Os);let wo=ze;for(;wo;){if(wo.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}wo=wo.parent}}rerender(_){if(_.length===0)throw new te(this.user,"Invalid tree location");const{node:B,listIndex:ce,revealed:we}=this.getTreeNodeWithListIndex(_);B.visible&&we&&this.list.splice(ce,1,[B])}has(_){return this.hasTreeNode(_)}getListIndex(_){const{listIndex:B,visible:ce,revealed:we}=this.getTreeNodeWithListIndex(_);return ce&&we?B:-1}getListRenderCount(_){return this.getTreeNode(_).renderNodeCount}isCollapsible(_){return this.getTreeNode(_).collapsible}setCollapsible(_,B){const ce=this.getTreeNode(_);typeof B>"u"&&(B=!ce.collapsible);const we={collapsible:B};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(_,we))}isCollapsed(_){return this.getTreeNode(_).collapsed}setCollapsed(_,B,ce){const we=this.getTreeNode(_);typeof B>"u"&&(B=!we.collapsed);const Le={collapsed:B,recursive:ce||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(_,Le))}_setCollapseState(_,B){const{node:ce,listIndex:we,revealed:Le}=this.getTreeNodeWithListIndex(_),Me=this._setListNodeCollapseState(ce,we,Le,B);if(ce!==this.root&&this.autoExpandSingleChildren&&Me&&!de(B)&&ce.collapsible&&!ce.collapsed&&!B.recursive){let ze=-1;for(let Ge=0;Ge<ce.children.length;Ge++)if(ce.children[Ge].visible)if(ze>-1){ze=-1;break}else ze=Ge;ze>-1&&this._setCollapseState([..._,ze],B)}return Me}_setListNodeCollapseState(_,B,ce,we){const Le=this._setNodeCollapseState(_,we,!1);if(!ce||!_.visible||!Le)return Le;const Me=_.renderNodeCount,ze=this.updateNodeAfterCollapseChange(_),Ge=Me-(B===-1?0:1);return this.list.splice(B+1,Ge,ze.slice(1)),Le}_setNodeCollapseState(_,B,ce){let we;if(_===this.root?we=!1:(de(B)?(we=_.collapsible!==B.collapsible,_.collapsible=B.collapsible):_.collapsible?(we=_.collapsed!==B.collapsed,_.collapsed=B.collapsed):we=!1,we&&this._onDidChangeCollapseState.fire({node:_,deep:ce})),!de(B)&&B.recursive)for(const Le of _.children)we=this._setNodeCollapseState(Le,B,!0)||we;return we}expandTo(_){this.eventBufferer.bufferEvents(()=>{let B=this.getTreeNode(_);for(;B.parent;)B=B.parent,_=_.slice(0,_.length-1),B.collapsed&&this._setCollapseState(_,{collapsed:!1,recursive:!1})})}refilter(){const _=this.root.renderNodeCount,B=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,_,B),this.refilterDelayer.cancel()}createTreeNode(_,B,ce,we,Le,Me){const ze={parent:B,element:_.element,children:[],depth:B.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof _.collapsible=="boolean"?_.collapsible:typeof _.collapsed<"u",collapsed:typeof _.collapsed>"u"?this.collapseByDefault:_.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},Ge=this._filterNode(ze,ce);ze.visibility=Ge,we&&Le.push(ze);const gt=_.children||me.$.empty(),St=we&&Ge!==0&&!ze.collapsed,kt=me.$.map(gt,Jt=>this.createTreeNode(Jt,ze,Ge,St,Le,Me));let Ft=0,Vt=1;for(const Jt of kt)ze.children.push(Jt),Vt+=Jt.renderNodeCount,Jt.visible&&(Jt.visibleChildIndex=Ft++);return ze.collapsible=ze.collapsible||ze.children.length>0,ze.visibleChildrenCount=Ft,ze.visible=Ge===2?Ft>0:Ge===1,ze.visible?ze.collapsed||(ze.renderNodeCount=Vt):(ze.renderNodeCount=0,we&&Le.pop()),Me?.(ze),ze}updateNodeAfterCollapseChange(_){const B=_.renderNodeCount,ce=[];return this._updateNodeAfterCollapseChange(_,ce),this._updateAncestorsRenderNodeCount(_.parent,ce.length-B),ce}_updateNodeAfterCollapseChange(_,B){if(_.visible===!1)return 0;if(B.push(_),_.renderNodeCount=1,!_.collapsed)for(const ce of _.children)_.renderNodeCount+=this._updateNodeAfterCollapseChange(ce,B);return this._onDidChangeRenderNodeCount.fire(_),_.renderNodeCount}updateNodeAfterFilterChange(_){const B=_.renderNodeCount,ce=[];return this._updateNodeAfterFilterChange(_,_.visible?1:0,ce),this._updateAncestorsRenderNodeCount(_.parent,ce.length-B),ce}_updateNodeAfterFilterChange(_,B,ce,we=!0){let Le;if(_!==this.root){if(Le=this._filterNode(_,B),Le===0)return _.visible=!1,_.renderNodeCount=0,!1;we&&ce.push(_)}const Me=ce.length;_.renderNodeCount=_===this.root?0:1;let ze=!1;if(!_.collapsed||Le!==0){let Ge=0;for(const gt of _.children)ze=this._updateNodeAfterFilterChange(gt,Le,ce,we&&!_.collapsed)||ze,gt.visible&&(gt.visibleChildIndex=Ge++);_.visibleChildrenCount=Ge}else _.visibleChildrenCount=0;return _!==this.root&&(_.visible=Le===2?ze:Le===1,_.visibility=Le),_.visible?_.collapsed||(_.renderNodeCount+=ce.length-Me):(_.renderNodeCount=0,we&&ce.pop()),this._onDidChangeRenderNodeCount.fire(_),_.visible}_updateAncestorsRenderNodeCount(_,B){if(B!==0)for(;_;)_.renderNodeCount+=B,this._onDidChangeRenderNodeCount.fire(_),_=_.parent}_filterNode(_,B){const ce=this.filter?this.filter.filter(_.element,B):1;return typeof ce=="boolean"?(_.filterData=void 0,ce?1:0):re(ce)?(_.filterData=ce.data,Y(ce.visibility)):(_.filterData=void 0,Y(ce))}hasTreeNode(_,B=this.root){if(!_||_.length===0)return!0;const[ce,...we]=_;return ce<0||ce>B.children.length?!1:this.hasTreeNode(we,B.children[ce])}getTreeNode(_,B=this.root){if(!_||_.length===0)return B;const[ce,...we]=_;if(ce<0||ce>B.children.length)throw new te(this.user,"Invalid tree location");return this.getTreeNode(we,B.children[ce])}getTreeNodeWithListIndex(_){if(_.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:B,listIndex:ce,revealed:we,visible:Le}=this.getParentNodeWithListIndex(_),Me=_[_.length-1];if(Me<0||Me>B.children.length)throw new te(this.user,"Invalid tree location");const ze=B.children[Me];return{node:ze,listIndex:ce,revealed:we,visible:Le&&ze.visible}}getParentNodeWithListIndex(_,B=this.root,ce=0,we=!0,Le=!0){const[Me,...ze]=_;if(Me<0||Me>B.children.length)throw new te(this.user,"Invalid tree location");for(let Ge=0;Ge<Me;Ge++)ce+=B.children[Ge].renderNodeCount;return we=we&&!B.collapsed,Le=Le&&B.visible,ze.length===0?{parentNode:B,listIndex:ce,revealed:we,visible:Le}:this.getParentNodeWithListIndex(ze,B.children[Me],ce+1,we,Le)}getNode(_=[]){return this.getTreeNode(_)}getNodeLocation(_){const B=[];let ce=_;for(;ce.parent;)B.push(ce.parent.children.indexOf(ce)),ce=ce.parent;return B.reverse()}getParentNodeLocation(_){if(_.length!==0)return _.length===1?[]:(0,u.JH)(_)[0]}getFirstElementChild(_){const B=this.getTreeNode(_);if(B.children.length!==0)return B.children[0].element}}var J=m(2599),$=m(15324);class ue{constructor(){this.map=new Map}add(_,B){let ce=this.map.get(_);ce||(ce=new Set,this.map.set(_,ce)),ce.add(B)}delete(_,B){const ce=this.map.get(_);ce&&(ce.delete(B),ce.size===0&&this.map.delete(_))}forEach(_,B){const ce=this.map.get(_);ce&&ce.forEach(B)}}var ve=m(49831),xe=m(54060),O=m(4626),rt=m(31889),ct=m(88631),Ve=function(ee,_,B,ce){function we(Le){return Le instanceof B?Le:new B(function(Me){Me(Le)})}return new(B||(B=Promise))(function(Le,Me){function ze(St){try{gt(ce.next(St))}catch(kt){Me(kt)}}function Ge(St){try{gt(ce.throw(St))}catch(kt){Me(kt)}}function gt(St){St.done?Le(St.value):we(St.value).then(ze,Ge)}gt((ce=ce.apply(ee,_||[])).next())})};class $e extends A.kX{constructor(_){super(_.elements.map(B=>B.element)),this.data=_}}function Ee(ee){return ee instanceof A.kX?new $e(ee):ee}class Fe{constructor(_,B){this.modelProvider=_,this.dnd=B,this.autoExpandDisposable=N.JT.None}getDragURI(_){return this.dnd.getDragURI(_.element)}getDragLabel(_,B){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(_.map(ce=>ce.element),B)}onDragStart(_,B){var ce,we;(we=(ce=this.dnd).onDragStart)===null||we===void 0||we.call(ce,Ee(_),B)}onDragOver(_,B,ce,we,Le=!0){const Me=this.dnd.onDragOver(Ee(_),B&&B.element,ce,we),ze=this.autoExpandNode!==B;if(ze&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=B),typeof B>"u")return Me;if(ze&&typeof Me!="boolean"&&Me.autoExpand&&(this.autoExpandDisposable=(0,_e.Vg)(()=>{const Ft=this.modelProvider(),Vt=Ft.getNodeLocation(B);Ft.isCollapsed(Vt)&&Ft.setCollapsed(Vt,!1),this.autoExpandNode=void 0},500)),typeof Me=="boolean"||!Me.accept||typeof Me.bubble>"u"||Me.feedback){if(!Le){const Ft=typeof Me=="boolean"?Me:Me.accept,Vt=typeof Me=="boolean"?void 0:Me.effect;return{accept:Ft,effect:Vt,feedback:[ce]}}return Me}if(Me.bubble===1){const Ft=this.modelProvider(),Vt=Ft.getNodeLocation(B),Jt=Ft.getParentNodeLocation(Vt),pi=Ft.getNode(Jt),ki=Jt&&Ft.getListIndex(Jt);return this.onDragOver(_,pi,ki,we,!1)}const Ge=this.modelProvider(),gt=Ge.getNodeLocation(B),St=Ge.getListIndex(gt),kt=Ge.getListRenderCount(gt);return Object.assign(Object.assign({},Me),{feedback:(0,u.w6)(St,St+kt)})}drop(_,B,ce,we){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(Ee(_),B&&B.element,ce,we)}onDragEnd(_){var B,ce;(ce=(B=this.dnd).onDragEnd)===null||ce===void 0||ce.call(B,_)}}function je(ee,_){return _&&Object.assign(Object.assign({},_),{identityProvider:_.identityProvider&&{getId(B){return _.identityProvider.getId(B.element)}},dnd:_.dnd&&new Fe(ee,_.dnd),multipleSelectionController:_.multipleSelectionController&&{isSelectionSingleChangeEvent(B){return _.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},B),{element:B.element}))},isSelectionRangeChangeEvent(B){return _.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},B),{element:B.element}))}},accessibilityProvider:_.accessibilityProvider&&Object.assign(Object.assign({},_.accessibilityProvider),{getSetSize(B){const ce=ee(),we=ce.getNodeLocation(B),Le=ce.getParentNodeLocation(we);return ce.getNode(Le).visibleChildrenCount},getPosInSet(B){return B.visibleChildIndex+1},isChecked:_.accessibilityProvider&&_.accessibilityProvider.isChecked?B=>_.accessibilityProvider.isChecked(B.element):void 0,getRole:_.accessibilityProvider&&_.accessibilityProvider.getRole?B=>_.accessibilityProvider.getRole(B.element):()=>"treeitem",getAriaLabel(B){return _.accessibilityProvider.getAriaLabel(B.element)},getWidgetAriaLabel(){return _.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:_.accessibilityProvider&&_.accessibilityProvider.getWidgetRole?()=>_.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:_.accessibilityProvider&&_.accessibilityProvider.getAriaLevel?B=>_.accessibilityProvider.getAriaLevel(B.element):B=>B.depth,getActiveDescendantId:_.accessibilityProvider.getActiveDescendantId&&(B=>_.accessibilityProvider.getActiveDescendantId(B.element))}),keyboardNavigationLabelProvider:_.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},_.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(B){return _.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(B.element)}})})}class Re{constructor(_){this.delegate=_}getHeight(_){return this.delegate.getHeight(_.element)}getTemplateId(_){return this.delegate.getTemplateId(_.element)}hasDynamicHeight(_){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(_.element)}setDynamicHeight(_,B){var ce,we;(we=(ce=this.delegate).setDynamicHeight)===null||we===void 0||we.call(ce,_.element,B)}}var tt;(function(ee){ee.None="none",ee.OnHover="onHover",ee.Always="always"})(tt||(tt={}));class at{constructor(_,B=[]){this._elements=B,this.disposables=new N.SL,this.onDidChange=Q.ju.forEach(_,ce=>this._elements=ce,this.disposables)}get elements(){return this._elements}dispose(){this.disposables.dispose()}}class Dt{constructor(_,B,ce,we,Le={}){var Me;this.renderer=_,this.modelProvider=B,this.activeNodes=we,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=Dt.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.renderedIndentGuides=new ue,this.activeIndentNodes=new Set,this.indentGuidesDisposable=N.JT.None,this.disposables=new N.SL,this.templateId=_.templateId,this.updateOptions(Le),Q.ju.map(ce,ze=>ze.node)(this.onDidChangeNodeTwistieState,this,this.disposables),(Me=_.onDidChangeTwistieState)===null||Me===void 0||Me.call(_,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(_={}){if(typeof _.indent<"u"&&(this.indent=(0,xe.uZ)(_.indent,0,40)),typeof _.renderIndentGuides<"u"){const B=_.renderIndentGuides!==tt.None;if(B!==this.shouldRenderIndentGuides&&(this.shouldRenderIndentGuides=B,this.indentGuidesDisposable.dispose(),B)){const ce=new N.SL;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,ce),this.indentGuidesDisposable=ce,this._onDidChangeActiveNodes(this.activeNodes.elements)}}typeof _.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=_.hideTwistiesOfChildlessElements)}renderTemplate(_){const B=(0,k.R3)(_,(0,k.$)(".monaco-tl-row")),ce=(0,k.R3)(B,(0,k.$)(".monaco-tl-indent")),we=(0,k.R3)(B,(0,k.$)(".monaco-tl-twistie")),Le=(0,k.R3)(B,(0,k.$)(".monaco-tl-contents")),Me=this.renderer.renderTemplate(Le);return{container:_,indent:ce,twistie:we,indentGuidesDisposable:N.JT.None,templateData:Me}}renderElement(_,B,ce,we){typeof we=="number"&&(this.renderedNodes.set(_,{templateData:ce,height:we}),this.renderedElements.set(_.element,_));const Le=Dt.DefaultIndent+(_.depth-1)*this.indent;ce.twistie.style.paddingLeft=`${Le}px`,ce.indent.style.width=`${Le+this.indent-16}px`,this.renderTwistie(_,ce),typeof we=="number"&&this.renderIndentGuides(_,ce),this.renderer.renderElement(_,B,ce.templateData,we)}disposeElement(_,B,ce,we){var Le,Me;ce.indentGuidesDisposable.dispose(),(Me=(Le=this.renderer).disposeElement)===null||Me===void 0||Me.call(Le,_,B,ce.templateData,we),typeof we=="number"&&(this.renderedNodes.delete(_),this.renderedElements.delete(_.element))}disposeTemplate(_){this.renderer.disposeTemplate(_.templateData)}onDidChangeTwistieState(_){const B=this.renderedElements.get(_);B&&this.onDidChangeNodeTwistieState(B)}onDidChangeNodeTwistieState(_){const B=this.renderedNodes.get(_);B&&(this.renderTwistie(_,B.templateData),this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderIndentGuides(_,B.templateData))}renderTwistie(_,B){B.twistie.classList.remove(...$.lA.treeItemExpanded.classNamesArray);let ce=!1;this.renderer.renderTwistie&&(ce=this.renderer.renderTwistie(_.element,B.twistie)),_.collapsible&&(!this.hideTwistiesOfChildlessElements||_.visibleChildrenCount>0)?(ce||B.twistie.classList.add(...$.lA.treeItemExpanded.classNamesArray),B.twistie.classList.add("collapsible"),B.twistie.classList.toggle("collapsed",_.collapsed)):B.twistie.classList.remove("collapsible","collapsed"),_.collapsible?B.container.setAttribute("aria-expanded",String(!_.collapsed)):B.container.removeAttribute("aria-expanded")}renderIndentGuides(_,B){if((0,k.PO)(B.indent),B.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const ce=new N.SL,we=this.modelProvider();let Le=_;for(;;){const Me=we.getNodeLocation(Le),ze=we.getParentNodeLocation(Me);if(!ze)break;const Ge=we.getNode(ze),gt=(0,k.$)(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(Ge)&>.classList.add("active"),B.indent.childElementCount===0?B.indent.appendChild(gt):B.indent.insertBefore(gt,B.indent.firstElementChild),this.renderedIndentGuides.add(Ge,gt),ce.add((0,N.OF)(()=>this.renderedIndentGuides.delete(Ge,gt))),Le=Ge}B.indentGuidesDisposable=ce}_onDidChangeActiveNodes(_){if(!this.shouldRenderIndentGuides)return;const B=new Set,ce=this.modelProvider();_.forEach(we=>{const Le=ce.getNodeLocation(we);try{const Me=ce.getParentNodeLocation(Le);we.collapsible&&we.children.length>0&&!we.collapsed?B.add(we):Me&&B.add(ce.getNode(Me))}catch{}}),this.activeIndentNodes.forEach(we=>{B.has(we)||this.renderedIndentGuides.forEach(we,Le=>Le.classList.remove("active"))}),B.forEach(we=>{this.activeIndentNodes.has(we)||this.renderedIndentGuides.forEach(we,Le=>Le.classList.add("active"))}),this.activeIndentNodes=B}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,N.B9)(this.disposables)}}Dt.DefaultIndent=8;class Et{constructor(_,B,ce){this.tree=_,this.keyboardNavigationLabelProvider=B,this._filter=ce,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new N.SL,_.onWillRefilter(this.reset,this,this.disposables)}get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}filter(_,B){let ce=1;if(this._filter){const Me=this._filter.filter(_,B);if(typeof Me=="boolean"?ce=Me?1:0:re(Me)?ce=Y(Me.visibility):ce=Me,ce===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:ve.CL.Default,visibility:ce};const we=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(_),Le=Array.isArray(we)?we:[we];for(const Me of Le){const ze=Me&&Me.toString();if(typeof ze>"u")return{data:ve.CL.Default,visibility:ce};const Ge=(0,ve.EW)(this._pattern,this._lowercasePattern,0,ze,ze.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(Ge)return this._matchCount++,Le.length===1?{data:Ge,visibility:ce}:{data:{label:ze,score:Ge},visibility:ce}}return this.tree.findMode===ke.Filter?2:{data:ve.CL.Default,visibility:ce}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,N.B9)(this.disposables)}}class Nt extends null{constructor(_){var B;super({icon:Codicon.filter,title:localize("filter","Filter"),isChecked:(B=_?.isChecked)!==null&&B!==void 0?B:!1,inputActiveOptionBorder:_?.inputActiveOptionBorder,inputActiveOptionForeground:_?.inputActiveOptionForeground,inputActiveOptionBackground:_?.inputActiveOptionBackground})}}var ke;(function(ee){ee[ee.Highlight=0]="Highlight",ee[ee.Filter=1]="Filter"})(ke||(ke={}));class dt extends null{constructor(_,B,ce,we,Le){super(),this.tree=B,this.elements=h(".monaco-tree-type-filter",[h(".monaco-tree-type-filter-grab.codicon.codicon-debug-gripper@grab",{tabIndex:0}),h(".monaco-tree-type-filter-input@findInput"),h(".monaco-tree-type-filter-actionbar@actionbar")]),this.width=0,this.right=0,this._onDidDisable=new Emitter,_.appendChild(this.elements.root),this._register(toDisposable(()=>_.removeChild(this.elements.root))),this.modeToggle=this._register(new Nt(Object.assign(Object.assign({},Le),{isChecked:we===ke.Filter}))),this.onDidChangeMode=Event.map(this.modeToggle.onChange,()=>this.modeToggle.checked?ke.Filter:ke.Highlight,this._store),this.findInput=this._register(new FindInput(this.elements.findInput,ce,!1,{label:localize("type to search","Type to search"),additionalToggles:[this.modeToggle]})),this.actionbar=this._register(new ActionBar(this.elements.actionbar)),this.mode=we;const Me=this._register(new DomEmitter(this.findInput.inputBox.inputElement,"keydown")),ze=this._register(Event.chain(Me.event)).map(kt=>new StandardKeyboardEvent(kt)).event;this._register(ze(kt=>{switch(kt.keyCode){case 18:kt.preventDefault(),kt.stopPropagation(),this.tree.domFocus();return}}));const Ge=this._register(new Action("close",localize("close","Close"),"codicon codicon-close",!0,()=>this.dispose()));this.actionbar.push(Ge,{icon:!0,label:!1});const gt=this._register(new DomEmitter(this.elements.grab,"mousedown"));this._register(gt.event(kt=>{const Ft=new DisposableStore,Vt=Ft.add(new DomEmitter(window,"mousemove")),Jt=Ft.add(new DomEmitter(window,"mouseup")),pi=this.right,ki=kt.pageX;this.elements.grab.classList.add("grabbing");const qi=kn=>{const Mi=kn.pageX-ki;this.right=pi-Mi,this.layout()};Ft.add(Vt.event(qi)),Ft.add(Jt.event(kn=>{qi(kn),this.elements.grab.classList.remove("grabbing"),Ft.dispose()}))}));const St=this._register(Event.chain(this._register(new DomEmitter(this.elements.grab,"keydown")).event)).map(kt=>new StandardKeyboardEvent(kt)).event;this._register(St(kt=>{let Ft;kt.keyCode===15?Ft=Number.POSITIVE_INFINITY:kt.keyCode===17?Ft=0:kt.keyCode===10&&(Ft=this.right===0?Number.POSITIVE_INFINITY:0),Ft!==void 0&&(kt.preventDefault(),kt.stopPropagation(),this.right=Ft,this.layout())})),this.onDidChangeValue=this.findInput.onDidChange,this.style(Le??{})}set mode(_){this.modeToggle.checked=_===ke.Filter,this.findInput.inputBox.setPlaceHolder(_===ke.Filter?localize("type to filter","Type to filter"):localize("type to search","Type to search"))}style(_){this.findInput.style(_),_.listFilterWidgetBackground&&(this.elements.root.style.backgroundColor=_.listFilterWidgetBackground.toString()),_.listFilterWidgetShadow&&(this.elements.root.style.boxShadow=`0 0 8px 2px ${_.listFilterWidgetShadow}`)}layout(_=this.width){this.width=_,this.right=clamp(this.right,0,Math.max(0,_-212)),this.elements.root.style.right=`${this.right}px`}showMessage(_){this.findInput.showMessage(_)}clearMessage(){this.findInput.clearMessage()}dispose(){const _=Object.create(null,{dispose:{get:()=>super.dispose}});return Ve(this,void 0,void 0,function*(){this._onDidDisable.fire(),this.elements.root.classList.add("disabled"),yield timeout(300),_.dispose.call(this)})}}class mt{constructor(_,B,ce,we,Le){var Me;this.tree=_,this.view=ce,this.filter=we,this.contextViewProvider=Le,this._pattern="",this.width=0,this._onDidChangeMode=new Q.Q5,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangePattern=new Q.Q5,this._onDidChangeOpenState=new Q.Q5,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new N.SL,this.disposables=new N.SL,this._mode=(Me=_.options.defaultFindMode)!==null&&Me!==void 0?Me:ke.Highlight,B.onDidSplice(this.onDidSpliceModel,this,this.disposables)}get pattern(){return this._pattern}get mode(){return this._mode}set mode(_){_!==this._mode&&(this._mode=_,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(_))}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){var _,B;const ce=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&ce?(_=this.widget)===null||_===void 0||_.showMessage({type:2,content:(0,ct.NC)("not found","No elements found.")}):(B=this.widget)===null||B===void 0||B.clearMessage()}shouldAllowFocus(_){return!this.widget||!this.pattern||this._mode===ke.Filter||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!ve.CL.isDefault(_.filterData)}style(_){var B;this.styles=_,(B=this.widget)===null||B===void 0||B.style(_)}layout(_){var B;this.width=_,(B=this.widget)===null||B===void 0||B.layout(_)}dispose(){this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function Wt(ee){let _=X.Unknown;return(0,k.uU)(ee.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?_=X.Twistie:(0,k.uU)(ee.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?_=X.Element:(0,k.uU)(ee.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(_=X.Filter),{browserEvent:ee.browserEvent,element:ee.element?ee.element.element:null,target:_}}function Kt(ee,_){_(ee),ee.children.forEach(B=>Kt(B,_))}class _t{constructor(_,B){this.getFirstViewElementWithTrait=_,this.identityProvider=B,this.nodes=[],this._onDidChange=new Q.Q5,this.onDidChange=this._onDidChange.event}get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}set(_,B){!B?.__forceEvent&&(0,u.fS)(this.nodes,_)||this._set(_,!1,B)}_set(_,B,ce){if(this.nodes=[..._],this.elements=void 0,this._nodeSet=void 0,!B){const we=this;this._onDidChange.fire({get elements(){return we.get()},browserEvent:ce})}}get(){return this.elements||(this.elements=this.nodes.map(_=>_.element)),[...this.elements]}getNodes(){return this.nodes}has(_){return this.nodeSet.has(_)}onDidModelSplice({insertedNodes:_,deletedNodes:B}){if(!this.identityProvider){const Ge=this.createNodeSet(),gt=St=>Ge.delete(St);B.forEach(St=>Kt(St,gt)),this.set([...Ge.values()]);return}const ce=new Set,we=Ge=>ce.add(this.identityProvider.getId(Ge.element).toString());B.forEach(Ge=>Kt(Ge,we));const Le=new Map,Me=Ge=>Le.set(this.identityProvider.getId(Ge.element).toString(),Ge);_.forEach(Ge=>Kt(Ge,Me));const ze=[];for(const Ge of this.nodes){const gt=this.identityProvider.getId(Ge.element).toString();if(!ce.has(gt))ze.push(Ge);else{const kt=Le.get(gt);kt&&ze.push(kt)}}if(this.nodes.length>0&&ze.length===0){const Ge=this.getFirstViewElementWithTrait();Ge&&ze.push(Ge)}this._set(ze,!0)}createNodeSet(){const _=new Set;for(const B of this.nodes)_.add(B);return _}}class wt extends Z.sx{constructor(_,B){super(_),this.tree=B}onViewPointer(_){if((0,Z.iK)(_.browserEvent.target)||(0,Z.cK)(_.browserEvent.target)||(0,Z.hD)(_.browserEvent.target))return;const B=_.element;if(!B)return super.onViewPointer(_);if(this.isSelectionRangeChangeEvent(_)||this.isSelectionSingleChangeEvent(_))return super.onViewPointer(_);const ce=_.browserEvent.target,we=ce.classList.contains("monaco-tl-twistie")||ce.classList.contains("monaco-icon-label")&&ce.classList.contains("folder-icon")&&_.browserEvent.offsetX<16;let Le=!1;if(typeof this.tree.expandOnlyOnTwistieClick=="function"?Le=this.tree.expandOnlyOnTwistieClick(B.element):Le=!!this.tree.expandOnlyOnTwistieClick,Le&&!we&&_.browserEvent.detail!==2)return super.onViewPointer(_);if(!this.tree.expandOnDoubleClick&&_.browserEvent.detail===2)return super.onViewPointer(_);if(B.collapsible){const Me=this.tree.model,ze=Me.getNodeLocation(B),Ge=_.browserEvent.altKey;if(this.tree.setFocus([ze]),Me.setCollapsed(ze,void 0,Ge),Le&&we)return}super.onViewPointer(_)}onDoubleClick(_){_.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||super.onDoubleClick(_)}}class Ut extends Z.aV{constructor(_,B,ce,we,Le,Me,ze,Ge){super(_,B,ce,we,Ge),this.focusTrait=Le,this.selectionTrait=Me,this.anchorTrait=ze}createMouseController(_){return new wt(this,_.tree)}splice(_,B,ce=[]){if(super.splice(_,B,ce),ce.length===0)return;const we=[],Le=[];let Me;ce.forEach((ze,Ge)=>{this.focusTrait.has(ze)&&we.push(_+Ge),this.selectionTrait.has(ze)&&Le.push(_+Ge),this.anchorTrait.has(ze)&&(Me=_+Ge)}),we.length>0&&super.setFocus((0,u.EB)([...super.getFocus(),...we])),Le.length>0&&super.setSelection((0,u.EB)([...super.getSelection(),...Le])),typeof Me=="number"&&super.setAnchor(Me)}setFocus(_,B,ce=!1){super.setFocus(_,B),ce||this.focusTrait.set(_.map(we=>this.element(we)),B)}setSelection(_,B,ce=!1){super.setSelection(_,B),ce||this.selectionTrait.set(_.map(we=>this.element(we)),B)}setAnchor(_,B=!1){super.setAnchor(_),B||(typeof _>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(_)]))}}class ni{constructor(_,B,ce,we,Le={}){var Me;this._user=_,this._options=Le,this.eventBufferer=new Q.E7,this.onDidChangeFindOpenState=Q.ju.None,this.disposables=new N.SL,this._onWillRefilter=new Q.Q5,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Q.Q5;const ze=new Re(ce),Ge=new Q.ZD,gt=new Q.ZD,St=this.disposables.add(new at(gt.event));this.renderers=we.map(Vt=>new Dt(Vt,()=>this.model,Ge.event,St,Le));for(const Vt of this.renderers)this.disposables.add(Vt);let kt;Le.keyboardNavigationLabelProvider&&(kt=new Et(this,Le.keyboardNavigationLabelProvider,Le.filter),Le=Object.assign(Object.assign({},Le),{filter:kt}),this.disposables.add(kt)),this.focus=new _t(()=>this.view.getFocusedElements()[0],Le.identityProvider),this.selection=new _t(()=>this.view.getSelectedElements()[0],Le.identityProvider),this.anchor=new _t(()=>this.view.getAnchorElement(),Le.identityProvider),this.view=new Ut(_,B,ze,this.renderers,this.focus,this.selection,this.anchor,Object.assign(Object.assign({},je(()=>this.model,Le)),{tree:this})),this.model=this.createModel(_,this.view,Le),Ge.input=this.model.onDidChangeCollapseState;const Ft=Q.ju.forEach(this.model.onDidSplice,Vt=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(Vt),this.selection.onDidModelSplice(Vt)})},this.disposables);if(Ft(()=>null,null,this.disposables),gt.input=Q.ju.chain(Q.ju.any(Ft,this.focus.onDidChange,this.selection.onDidChange)).debounce(()=>null,0).map(()=>{const Vt=new Set;for(const Jt of this.focus.getNodes())Vt.add(Jt);for(const Jt of this.selection.getNodes())Vt.add(Jt);return[...Vt.values()]}).event,Le.keyboardSupport!==!1){const Vt=Q.ju.chain(this.view.onKeyDown).filter(Jt=>!(0,Z.cK)(Jt.target)).map(Jt=>new K.y(Jt));Vt.filter(Jt=>Jt.keyCode===15).on(this.onLeftArrow,this,this.disposables),Vt.filter(Jt=>Jt.keyCode===17).on(this.onRightArrow,this,this.disposables),Vt.filter(Jt=>Jt.keyCode===10).on(this.onSpace,this,this.disposables)}(!((Me=Le.findWidgetEnabled)!==null&&Me!==void 0)||Me)&&Le.keyboardNavigationLabelProvider&&Le.contextViewProvider?(this.findController=new mt(this,this.model,this.view,kt,Le.contextViewProvider),this.focusNavigationFilter=Vt=>this.findController.shouldAllowFocus(Vt),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode):this.onDidChangeFindMode=Q.ju.None,this.styleElement=(0,k.dS)(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===tt.Always)}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return Q.ju.filter(Q.ju.map(this.view.onMouseDblClick,Wt),_=>_.target!==X.Filter)}get onPointer(){return Q.ju.map(this.view.onPointer,Wt)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Q.ju.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var _,B;return(B=(_=this.findController)===null||_===void 0?void 0:_.mode)!==null&&B!==void 0?B:ke.Highlight}set findMode(_){this.findController&&(this.findController.mode=_)}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}updateOptions(_={}){this._options=Object.assign(Object.assign({},this._options),_);for(const B of this.renderers)B.updateOptions(_);this.view.updateOptions(this._options),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===tt.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(_){this.view.scrollTop=_}domFocus(){this.view.domFocus()}layout(_,B){var ce;this.view.layout(_,B),(0,O.hj)(B)&&((ce=this.findController)===null||ce===void 0||ce.layout(B))}style(_){var B;const ce=`.${this.view.domId}`,we=[];_.treeIndentGuidesStroke&&(we.push(`.monaco-list${ce}:hover .monaco-tl-indent > .indent-guide, .monaco-list${ce}.always .monaco-tl-indent > .indent-guide { border-color: ${_.treeIndentGuidesStroke.transparent(.4)}; }`),we.push(`.monaco-list${ce} .monaco-tl-indent > .indent-guide.active { border-color: ${_.treeIndentGuidesStroke}; }`)),this.styleElement.textContent=we.join(` `),(B=this.findController)===null||B===void 0||B.style(_),this.view.style(_)}getParentElement(_){const B=this.model.getParentNodeLocation(_);return this.model.getNode(B).element}getFirstElementChild(_){return this.model.getFirstElementChild(_)}getNode(_){return this.model.getNode(_)}collapse(_,B=!1){return this.model.setCollapsed(_,!0,B)}expand(_,B=!1){return this.model.setCollapsed(_,!1,B)}isCollapsible(_){return this.model.isCollapsible(_)}setCollapsible(_,B){return this.model.setCollapsible(_,B)}isCollapsed(_){return this.model.isCollapsed(_)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(_,B){const ce=_.map(Le=>this.model.getNode(Le));this.selection.set(ce,B);const we=_.map(Le=>this.model.getListIndex(Le)).filter(Le=>Le>-1);this.view.setSelection(we,B,!0)}getSelection(){return this.selection.get()}setFocus(_,B){const ce=_.map(Le=>this.model.getNode(Le));this.focus.set(ce,B);const we=_.map(Le=>this.model.getListIndex(Le)).filter(Le=>Le>-1);this.view.setFocus(we,B,!0)}getFocus(){return this.focus.get()}reveal(_,B){this.model.expandTo(_);const ce=this.model.getListIndex(_);ce!==-1&&this.view.reveal(ce,B)}onLeftArrow(_){_.preventDefault(),_.stopPropagation();const B=this.view.getFocusedElements();if(B.length===0)return;const ce=B[0],we=this.model.getNodeLocation(ce);if(!this.model.setCollapsed(we,!0)){const Me=this.model.getParentNodeLocation(we);if(!Me)return;const ze=this.model.getListIndex(Me);this.view.reveal(ze),this.view.setFocus([ze])}}onRightArrow(_){_.preventDefault(),_.stopPropagation();const B=this.view.getFocusedElements();if(B.length===0)return;const ce=B[0],we=this.model.getNodeLocation(ce);if(!this.model.setCollapsed(we,!1)){if(!ce.children.some(Ge=>Ge.visible))return;const[Me]=this.view.getFocus(),ze=Me+1;this.view.reveal(ze),this.view.setFocus([ze])}}onSpace(_){_.preventDefault(),_.stopPropagation();const B=this.view.getFocusedElements();if(B.length===0)return;const ce=B[0],we=this.model.getNodeLocation(ce),Le=_.browserEvent.altKey;this.model.setCollapsed(we,void 0,Le)}dispose(){(0,N.B9)(this.disposables),this.view.dispose()}}class vi{constructor(_,B,ce={}){this.user=_,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new oe(_,B,null,ce),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,ce.sorter&&(this.sorter={compare(we,Le){return ce.sorter.compare(we.element,Le.element)}}),this.identityProvider=ce.identityProvider}setChildren(_,B=me.$.empty(),ce={}){const we=this.getElementLocation(_);this._setChildren(we,this.preserveCollapseState(B),ce)}_setChildren(_,B=me.$.empty(),ce){const we=new Set,Le=new Set,Me=Ge=>{var gt;if(Ge.element===null)return;const St=Ge;if(we.add(St.element),this.nodes.set(St.element,St),this.identityProvider){const kt=this.identityProvider.getId(St.element).toString();Le.add(kt),this.nodesByIdentity.set(kt,St)}(gt=ce.onDidCreateNode)===null||gt===void 0||gt.call(ce,St)},ze=Ge=>{var gt;if(Ge.element===null)return;const St=Ge;if(we.has(St.element)||this.nodes.delete(St.element),this.identityProvider){const kt=this.identityProvider.getId(St.element).toString();Le.has(kt)||this.nodesByIdentity.delete(kt)}(gt=ce.onDidDeleteNode)===null||gt===void 0||gt.call(ce,St)};this.model.splice([..._,0],Number.MAX_VALUE,B,Object.assign(Object.assign({},ce),{onDidCreateNode:Me,onDidDeleteNode:ze}))}preserveCollapseState(_=me.$.empty()){return this.sorter&&(_=[..._].sort(this.sorter.compare.bind(this.sorter))),me.$.map(_,B=>{let ce=this.nodes.get(B.element);if(!ce&&this.identityProvider){const Me=this.identityProvider.getId(B.element).toString();ce=this.nodesByIdentity.get(Me)}if(!ce)return Object.assign(Object.assign({},B),{children:this.preserveCollapseState(B.children)});const we=typeof B.collapsible=="boolean"?B.collapsible:ce.collapsible,Le=typeof B.collapsed<"u"?B.collapsed:ce.collapsed;return Object.assign(Object.assign({},B),{collapsible:we,collapsed:Le,children:this.preserveCollapseState(B.children)})})}rerender(_){const B=this.getElementLocation(_);this.model.rerender(B)}getFirstElementChild(_=null){const B=this.getElementLocation(_);return this.model.getFirstElementChild(B)}has(_){return this.nodes.has(_)}getListIndex(_){const B=this.getElementLocation(_);return this.model.getListIndex(B)}getListRenderCount(_){const B=this.getElementLocation(_);return this.model.getListRenderCount(B)}isCollapsible(_){const B=this.getElementLocation(_);return this.model.isCollapsible(B)}setCollapsible(_,B){const ce=this.getElementLocation(_);return this.model.setCollapsible(ce,B)}isCollapsed(_){const B=this.getElementLocation(_);return this.model.isCollapsed(B)}setCollapsed(_,B,ce){const we=this.getElementLocation(_);return this.model.setCollapsed(we,B,ce)}expandTo(_){const B=this.getElementLocation(_);this.model.expandTo(B)}refilter(){this.model.refilter()}getNode(_=null){if(_===null)return this.model.getNode(this.model.rootRef);const B=this.nodes.get(_);if(!B)throw new te(this.user,`Tree element not found: ${_}`);return B}getNodeLocation(_){return _.element}getParentNodeLocation(_){if(_===null)throw new te(this.user,"Invalid getParentNodeLocation call");const B=this.nodes.get(_);if(!B)throw new te(this.user,`Tree element not found: ${_}`);const ce=this.model.getNodeLocation(B),we=this.model.getParentNodeLocation(ce);return this.model.getNode(we).element}getElementLocation(_){if(_===null)return[];const B=this.nodes.get(_);if(!B)throw new te(this.user,`Tree element not found: ${_}`);return this.model.getNodeLocation(B)}}function Ye(ee){const _=[ee.element],B=ee.incompressible||!1;return{element:{elements:_,incompressible:B},children:me.$.map(me.$.from(ee.children),Ye),collapsible:ee.collapsible,collapsed:ee.collapsed}}function Ct(ee){const _=[ee.element],B=ee.incompressible||!1;let ce,we;for(;[we,ce]=me.$.consume(me.$.from(ee.children),2),!(we.length!==1||we[0].incompressible);)ee=we[0],_.push(ee.element);return{element:{elements:_,incompressible:B},children:me.$.map(me.$.concat(we,ce),Ct),collapsible:ee.collapsible,collapsed:ee.collapsed}}function Pt(ee,_=0){let B;return _<ee.element.elements.length-1?B=[Pt(ee,_+1)]:B=me.$.map(me.$.from(ee.children),ce=>Pt(ce,0)),_===0&&ee.element.incompressible?{element:ee.element.elements[_],children:B,incompressible:!0,collapsible:ee.collapsible,collapsed:ee.collapsed}:{element:ee.element.elements[_],children:B,collapsible:ee.collapsible,collapsed:ee.collapsed}}function ti(ee){return Pt(ee,0)}function ri(ee,_,B){return ee.element===_?Object.assign(Object.assign({},ee),{children:B}):Object.assign(Object.assign({},ee),{children:me.$.map(me.$.from(ee.children),ce=>ri(ce,_,B))})}const Di=ee=>({getId(_){return _.elements.map(B=>ee.getId(B).toString()).join("\0")}});class Ui{constructor(_,B,ce={}){this.user=_,this.rootRef=null,this.nodes=new Map,this.model=new vi(_,B,ce),this.enabled=typeof ce.compressionEnabled>"u"?!0:ce.compressionEnabled,this.identityProvider=ce.identityProvider}get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}setChildren(_,B=me.$.empty(),ce){const we=ce.diffIdentityProvider&&Di(ce.diffIdentityProvider);if(_===null){const Vt=me.$.map(B,this.enabled?Ct:Ye);this._setChildren(null,Vt,{diffIdentityProvider:we,diffDepth:1/0});return}const Le=this.nodes.get(_);if(!Le)throw new Error("Unknown compressed tree node");const Me=this.model.getNode(Le),ze=this.model.getParentNodeLocation(Le),Ge=this.model.getNode(ze),gt=ti(Me),St=ri(gt,_,B),kt=(this.enabled?Ct:Ye)(St),Ft=Ge.children.map(Vt=>Vt===Me?kt:Vt);this._setChildren(Ge.element,Ft,{diffIdentityProvider:we,diffDepth:Me.depth-Ge.depth})}setCompressionEnabled(_){if(_===this.enabled)return;this.enabled=_;const ce=this.model.getNode().children,we=me.$.map(ce,ti),Le=me.$.map(we,_?Ct:Ye);this._setChildren(null,Le,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(_,B,ce){const we=new Set,Le=ze=>{for(const Ge of ze.element.elements)we.add(Ge),this.nodes.set(Ge,ze.element)},Me=ze=>{for(const Ge of ze.element.elements)we.has(Ge)||this.nodes.delete(Ge)};this.model.setChildren(_,B,Object.assign(Object.assign({},ce),{onDidCreateNode:Le,onDidDeleteNode:Me}))}has(_){return this.nodes.has(_)}getListIndex(_){const B=this.getCompressedNode(_);return this.model.getListIndex(B)}getListRenderCount(_){const B=this.getCompressedNode(_);return this.model.getListRenderCount(B)}getNode(_){if(typeof _>"u")return this.model.getNode();const B=this.getCompressedNode(_);return this.model.getNode(B)}getNodeLocation(_){const B=this.model.getNodeLocation(_);return B===null?null:B.elements[B.elements.length-1]}getParentNodeLocation(_){const B=this.getCompressedNode(_),ce=this.model.getParentNodeLocation(B);return ce===null?null:ce.elements[ce.elements.length-1]}getFirstElementChild(_){const B=this.getCompressedNode(_);return this.model.getFirstElementChild(B)}isCollapsible(_){const B=this.getCompressedNode(_);return this.model.isCollapsible(B)}setCollapsible(_,B){const ce=this.getCompressedNode(_);return this.model.setCollapsible(ce,B)}isCollapsed(_){const B=this.getCompressedNode(_);return this.model.isCollapsed(B)}setCollapsed(_,B,ce){const we=this.getCompressedNode(_);return this.model.setCollapsed(we,B,ce)}expandTo(_){const B=this.getCompressedNode(_);this.model.expandTo(B)}rerender(_){const B=this.getCompressedNode(_);this.model.rerender(B)}refilter(){this.model.refilter()}getCompressedNode(_){if(_===null)return null;const B=this.nodes.get(_);if(!B)throw new te(this.user,`Tree element not found: ${_}`);return B}}const Ei=ee=>ee[ee.length-1];class Ae{constructor(_,B){this.unwrapper=_,this.node=B}get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(_=>new Ae(this.unwrapper,_))}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}}function Ii(ee,_){return{splice(B,ce,we){_.splice(B,ce,we.map(Le=>ee.map(Le)))},updateElementHeight(B,ce){_.updateElementHeight(B,ce)}}}function Ue(ee,_){return Object.assign(Object.assign({},_),{identityProvider:_.identityProvider&&{getId(B){return _.identityProvider.getId(ee(B))}},sorter:_.sorter&&{compare(B,ce){return _.sorter.compare(B.elements[0],ce.elements[0])}},filter:_.filter&&{filter(B,ce){return _.filter.filter(ee(B),ce)}}})}class Se{constructor(_,B,ce={}){this.rootRef=null,this.elementMapper=ce.elementMapper||Ei;const we=Le=>this.elementMapper(Le.elements);this.nodeMapper=new he(Le=>new Ae(we,Le)),this.model=new Ui(_,Ii(this.nodeMapper,B),Ue(we,ce))}get onDidSplice(){return Q.ju.map(this.model.onDidSplice,({insertedNodes:_,deletedNodes:B})=>({insertedNodes:_.map(ce=>this.nodeMapper.map(ce)),deletedNodes:B.map(ce=>this.nodeMapper.map(ce))}))}get onDidChangeCollapseState(){return Q.ju.map(this.model.onDidChangeCollapseState,({node:_,deep:B})=>({node:this.nodeMapper.map(_),deep:B}))}get onDidChangeRenderNodeCount(){return Q.ju.map(this.model.onDidChangeRenderNodeCount,_=>this.nodeMapper.map(_))}setChildren(_,B=me.$.empty(),ce={}){this.model.setChildren(_,B,ce)}setCompressionEnabled(_){this.model.setCompressionEnabled(_)}has(_){return this.model.has(_)}getListIndex(_){return this.model.getListIndex(_)}getListRenderCount(_){return this.model.getListRenderCount(_)}getNode(_){return this.nodeMapper.map(this.model.getNode(_))}getNodeLocation(_){return _.element}getParentNodeLocation(_){return this.model.getParentNodeLocation(_)}getFirstElementChild(_){const B=this.model.getFirstElementChild(_);return B===null||typeof B>"u"?B:this.elementMapper(B.elements)}isCollapsible(_){return this.model.isCollapsible(_)}setCollapsible(_,B){return this.model.setCollapsible(_,B)}isCollapsed(_){return this.model.isCollapsed(_)}setCollapsed(_,B,ce){return this.model.setCollapsed(_,B,ce)}expandTo(_){return this.model.expandTo(_)}rerender(_){return this.model.rerender(_)}refilter(){return this.model.refilter()}getCompressedTreeNode(_=null){return this.model.getNode(_)}}var ht=m(7379),Oe=function(ee,_,B,ce){var we=arguments.length,Le=we<3?_:ce===null?ce=Object.getOwnPropertyDescriptor(_,B):ce,Me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Le=Reflect.decorate(ee,_,B,ce);else for(var ze=ee.length-1;ze>=0;ze--)(Me=ee[ze])&&(Le=(we<3?Me(Le):we>3?Me(_,B,Le):Me(_,B))||Le);return we>3&&Le&&Object.defineProperty(_,B,Le),Le};class ft extends ni{constructor(_,B,ce,we,Le={}){super(_,B,ce,we,Le),this.user=_}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}setChildren(_,B=me.$.empty(),ce){this.model.setChildren(_,B,ce)}rerender(_){if(_===void 0){this.view.rerender();return}this.model.rerender(_)}hasElement(_){return this.model.has(_)}createModel(_,B,ce){return new vi(_,B,ce)}}class Yt{constructor(_,B){this._compressedTreeNodeProvider=_,this.renderer=B,this.templateId=B.templateId,B.onDidChangeTwistieState&&(this.onDidChangeTwistieState=B.onDidChangeTwistieState)}get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}renderTemplate(_){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(_)}}renderElement(_,B,ce,we){const Le=this.compressedTreeNodeProvider.getCompressedTreeNode(_.element);Le.element.elements.length===1?(ce.compressedTreeNode=void 0,this.renderer.renderElement(_,B,ce.data,we)):(ce.compressedTreeNode=Le,this.renderer.renderCompressedElements(Le,B,ce.data,we))}disposeElement(_,B,ce,we){var Le,Me,ze,Ge;ce.compressedTreeNode?(Me=(Le=this.renderer).disposeCompressedElements)===null||Me===void 0||Me.call(Le,ce.compressedTreeNode,B,ce.data,we):(Ge=(ze=this.renderer).disposeElement)===null||Ge===void 0||Ge.call(ze,_,B,ce.data,we)}disposeTemplate(_){this.renderer.disposeTemplate(_.data)}renderTwistie(_,B){return this.renderer.renderTwistie?this.renderer.renderTwistie(_,B):!1}}Oe([ht.H],Yt.prototype,"compressedTreeNodeProvider",null);function bi(ee,_){return _&&Object.assign(Object.assign({},_),{keyboardNavigationLabelProvider:_.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(B){let ce;try{ce=ee().getCompressedTreeNode(B)}catch{return _.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(B)}return ce.element.elements.length===1?_.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(B):_.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(ce.element.elements)}}})}class Gi extends ft{constructor(_,B,ce,we,Le={}){const Me=()=>this,ze=we.map(Ge=>new Yt(Me,Ge));super(_,B,ce,ze,bi(Me,Le))}setChildren(_,B=me.$.empty(),ce){this.model.setChildren(_,B,ce)}createModel(_,B,ce){return new Se(_,B,ce)}updateOptions(_={}){super.updateOptions(_),typeof _.compressionEnabled<"u"&&this.model.setCompressionEnabled(_.compressionEnabled)}getCompressedTreeNode(_=null){return this.model.getCompressedTreeNode(_)}}var Dn=m(35230),st=function(ee,_,B,ce){function we(Le){return Le instanceof B?Le:new B(function(Me){Me(Le)})}return new(B||(B=Promise))(function(Le,Me){function ze(St){try{gt(ce.next(St))}catch(kt){Me(kt)}}function Ge(St){try{gt(ce.throw(St))}catch(kt){Me(kt)}}function gt(St){St.done?Le(St.value):we(St.value).then(ze,Ge)}gt((ce=ce.apply(ee,_||[])).next())})};function bt(ee){return Object.assign(Object.assign({},ee),{children:[],refreshPromise:void 0,stale:!0,slow:!1,collapsedByDefault:void 0})}function Zt(ee,_){return _.parent?_.parent===ee?!0:Zt(ee,_.parent):!1}function Ot(ee,_){return ee===_||Zt(ee,_)||Zt(_,ee)}class lt{constructor(_){this.node=_}get element(){return this.node.element.element}get children(){return this.node.children.map(_=>new lt(_))}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}}class Xi{constructor(_,B,ce){this.renderer=_,this.nodeMapper=B,this.onDidChangeTwistieState=ce,this.renderedNodes=new Map,this.templateId=_.templateId}renderTemplate(_){return{templateData:this.renderer.renderTemplate(_)}}renderElement(_,B,ce,we){this.renderer.renderElement(this.nodeMapper.map(_),B,ce.templateData,we)}renderTwistie(_,B){return _.slow?(B.classList.add(...$.lA.treeItemLoading.classNamesArray),!0):(B.classList.remove(...$.lA.treeItemLoading.classNamesArray),!1)}disposeElement(_,B,ce,we){var Le,Me;(Me=(Le=this.renderer).disposeElement)===null||Me===void 0||Me.call(Le,this.nodeMapper.map(_),B,ce.templateData,we)}disposeTemplate(_){this.renderer.disposeTemplate(_.templateData)}dispose(){this.renderedNodes.clear()}}function wi(ee){return{browserEvent:ee.browserEvent,elements:ee.elements.map(_=>_.element)}}function yt(ee){return{browserEvent:ee.browserEvent,element:ee.element&&ee.element.element,target:ee.target}}class wn extends A.kX{constructor(_){super(_.elements.map(B=>B.element)),this.data=_}}function on(ee){return ee instanceof A.kX?new wn(ee):ee}class si{constructor(_){this.dnd=_}getDragURI(_){return this.dnd.getDragURI(_.element)}getDragLabel(_,B){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(_.map(ce=>ce.element),B)}onDragStart(_,B){var ce,we;(we=(ce=this.dnd).onDragStart)===null||we===void 0||we.call(ce,on(_),B)}onDragOver(_,B,ce,we,Le=!0){return this.dnd.onDragOver(on(_),B&&B.element,ce,we)}drop(_,B,ce,we){this.dnd.drop(on(_),B&&B.element,ce,we)}onDragEnd(_){var B,ce;(ce=(B=this.dnd).onDragEnd)===null||ce===void 0||ce.call(B,_)}}function Ne(ee){return ee&&Object.assign(Object.assign({},ee),{collapseByDefault:!0,identityProvider:ee.identityProvider&&{getId(_){return ee.identityProvider.getId(_.element)}},dnd:ee.dnd&&new si(ee.dnd),multipleSelectionController:ee.multipleSelectionController&&{isSelectionSingleChangeEvent(_){return ee.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},_),{element:_.element}))},isSelectionRangeChangeEvent(_){return ee.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},_),{element:_.element}))}},accessibilityProvider:ee.accessibilityProvider&&Object.assign(Object.assign({},ee.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:ee.accessibilityProvider.getRole?_=>ee.accessibilityProvider.getRole(_.element):()=>"treeitem",isChecked:ee.accessibilityProvider.isChecked?_=>{var B;return!!(!((B=ee.accessibilityProvider)===null||B===void 0)&&B.isChecked(_.element))}:void 0,getAriaLabel(_){return ee.accessibilityProvider.getAriaLabel(_.element)},getWidgetAriaLabel(){return ee.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:ee.accessibilityProvider.getWidgetRole?()=>ee.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:ee.accessibilityProvider.getAriaLevel&&(_=>ee.accessibilityProvider.getAriaLevel(_.element)),getActiveDescendantId:ee.accessibilityProvider.getActiveDescendantId&&(_=>ee.accessibilityProvider.getActiveDescendantId(_.element))}),filter:ee.filter&&{filter(_,B){return ee.filter.filter(_.element,B)}},keyboardNavigationLabelProvider:ee.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},ee.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(_){return ee.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(_.element)}}),sorter:void 0,expandOnlyOnTwistieClick:typeof ee.expandOnlyOnTwistieClick>"u"?void 0:typeof ee.expandOnlyOnTwistieClick!="function"?ee.expandOnlyOnTwistieClick:_=>ee.expandOnlyOnTwistieClick(_.element),additionalScrollHeight:ee.additionalScrollHeight})}function be(ee,_){_(ee),ee.children.forEach(B=>be(B,_))}class Xe{constructor(_,B,ce,we,Le,Me={}){this.user=_,this.dataSource=Le,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Q.Q5,this._onDidChangeNodeSlowState=new Q.Q5,this.nodeMapper=new he(ze=>new lt(ze)),this.disposables=new N.SL,this.identityProvider=Me.identityProvider,this.autoExpandSingleChildren=typeof Me.autoExpandSingleChildren>"u"?!1:Me.autoExpandSingleChildren,this.sorter=Me.sorter,this.collapseByDefault=Me.collapseByDefault,this.tree=this.createTree(_,B,ce,we,Me),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.root=bt({element:void 0,parent:null,hasChildren:!0}),this.identityProvider&&(this.root=Object.assign(Object.assign({},this.root),{id:null})),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}get onDidChangeFocus(){return Q.ju.map(this.tree.onDidChangeFocus,wi)}get onDidChangeSelection(){return Q.ju.map(this.tree.onDidChangeSelection,wi)}get onMouseDblClick(){return Q.ju.map(this.tree.onMouseDblClick,yt)}get onPointer(){return Q.ju.map(this.tree.onPointer,yt)}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 onDidDispose(){return this.tree.onDidDispose}createTree(_,B,ce,we,Le){const Me=new Re(ce),ze=we.map(gt=>new Xi(gt,this.nodeMapper,this._onDidChangeNodeSlowState.event)),Ge=Ne(Le)||{};return new ft(_,B,Me,ze,Ge)}updateOptions(_={}){this.tree.updateOptions(_)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(_){this.tree.scrollTop=_}domFocus(){this.tree.domFocus()}layout(_,B){this.tree.layout(_,B)}style(_){this.tree.style(_)}getInput(){return this.root.element}setInput(_,B){return st(this,void 0,void 0,function*(){this.refreshPromises.forEach(we=>we.cancel()),this.refreshPromises.clear(),this.root.element=_;const ce=B&&{viewState:B,focus:[],selection:[]};yield this._updateChildren(_,!0,!1,ce),ce&&(this.tree.setFocus(ce.focus),this.tree.setSelection(ce.selection)),B&&typeof B.scrollTop=="number"&&(this.scrollTop=B.scrollTop)})}_updateChildren(_=this.root.element,B=!0,ce=!1,we,Le){return st(this,void 0,void 0,function*(){if(typeof this.root.element>"u")throw new te(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield Q.ju.toPromise(this._onDidRender.event));const Me=this.getDataNode(_);if(yield this.refreshAndRenderNode(Me,B,we,Le),ce)try{this.tree.rerender(Me)}catch{}})}rerender(_){if(_===void 0||_===this.root.element){this.tree.rerender();return}const B=this.getDataNode(_);this.tree.rerender(B)}getNode(_=this.root.element){const B=this.getDataNode(_),ce=this.tree.getNode(B===this.root?null:B);return this.nodeMapper.map(ce)}collapse(_,B=!1){const ce=this.getDataNode(_);return this.tree.collapse(ce===this.root?null:ce,B)}expand(_,B=!1){return st(this,void 0,void 0,function*(){if(typeof this.root.element>"u")throw new te(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield Q.ju.toPromise(this._onDidRender.event));const ce=this.getDataNode(_);if(this.tree.hasElement(ce)&&!this.tree.isCollapsible(ce)||(ce.refreshPromise&&(yield this.root.refreshPromise,yield Q.ju.toPromise(this._onDidRender.event)),ce!==this.root&&!ce.refreshPromise&&!this.tree.isCollapsed(ce)))return!1;const we=this.tree.expand(ce===this.root?null:ce,B);return ce.refreshPromise&&(yield this.root.refreshPromise,yield Q.ju.toPromise(this._onDidRender.event)),we})}setSelection(_,B){const ce=_.map(we=>this.getDataNode(we));this.tree.setSelection(ce,B)}getSelection(){return this.tree.getSelection().map(B=>B.element)}setFocus(_,B){const ce=_.map(we=>this.getDataNode(we));this.tree.setFocus(ce,B)}getFocus(){return this.tree.getFocus().map(B=>B.element)}reveal(_,B){this.tree.reveal(this.getDataNode(_),B)}getParentElement(_){const B=this.tree.getParentElement(this.getDataNode(_));return B&&B.element}getFirstElementChild(_=this.root.element){const B=this.getDataNode(_),ce=this.tree.getFirstElementChild(B===this.root?null:B);return ce&&ce.element}getDataNode(_){const B=this.nodes.get(_===this.root.element?null:_);if(!B)throw new te(this.user,`Data tree node not found: ${_}`);return B}refreshAndRenderNode(_,B,ce,we){return st(this,void 0,void 0,function*(){yield this.refreshNode(_,B,ce),this.render(_,ce,we)})}refreshNode(_,B,ce){return st(this,void 0,void 0,function*(){let we;if(this.subTreeRefreshPromises.forEach((Le,Me)=>{!we&&Ot(Me,_)&&(we=Le.then(()=>this.refreshNode(_,B,ce)))}),we)return we;if(_!==this.root&&this.tree.getNode(_).collapsed){_.hasChildren=!!this.dataSource.hasChildren(_.element),_.stale=!0;return}return this.doRefreshSubTree(_,B,ce)})}doRefreshSubTree(_,B,ce){return st(this,void 0,void 0,function*(){let we;_.refreshPromise=new Promise(Le=>we=Le),this.subTreeRefreshPromises.set(_,_.refreshPromise),_.refreshPromise.finally(()=>{_.refreshPromise=void 0,this.subTreeRefreshPromises.delete(_)});try{const Le=yield this.doRefreshNode(_,B,ce);_.stale=!1,yield _e.jT.settled(Le.map(Me=>this.doRefreshSubTree(Me,B,ce)))}finally{we()}})}doRefreshNode(_,B,ce){return st(this,void 0,void 0,function*(){_.hasChildren=!!this.dataSource.hasChildren(_.element);let we;if(!_.hasChildren)we=Promise.resolve(me.$.empty());else{const Le=this.doGetChildren(_);if((0,O.TW)(Le))we=Promise.resolve(Le);else{const Me=(0,_e.Vs)(800);Me.then(()=>{_.slow=!0,this._onDidChangeNodeSlowState.fire(_)},ze=>null),we=Le.finally(()=>Me.cancel())}}try{const Le=yield we;return this.setChildren(_,Le,B,ce)}catch(Le){if(_!==this.root&&this.tree.hasElement(_)&&this.tree.collapse(_),(0,Dn.n2)(Le))return[];throw Le}finally{_.slow&&(_.slow=!1,this._onDidChangeNodeSlowState.fire(_))}})}doGetChildren(_){let B=this.refreshPromises.get(_);if(B)return B;const ce=this.dataSource.getChildren(_.element);return(0,O.TW)(ce)?this.processChildren(ce):(B=(0,_e.PG)(()=>st(this,void 0,void 0,function*(){return this.processChildren(yield ce)})),this.refreshPromises.set(_,B),B.finally(()=>{this.refreshPromises.delete(_)}))}_onDidChangeCollapseState({node:_,deep:B}){_.element!==null&&!_.collapsed&&_.element.stale&&(B?this.collapse(_.element.element):this.refreshAndRenderNode(_.element,!1).catch(Dn.dL))}setChildren(_,B,ce,we){const Le=[...B];if(_.children.length===0&&Le.length===0)return[];const Me=new Map,ze=new Map;for(const St of _.children)if(Me.set(St.element,St),this.identityProvider){const kt=this.tree.isCollapsed(St);ze.set(St.id,{node:St,collapsed:kt})}const Ge=[],gt=Le.map(St=>{const kt=!!this.dataSource.hasChildren(St);if(!this.identityProvider){const pi=bt({element:St,parent:_,hasChildren:kt});return kt&&this.collapseByDefault&&!this.collapseByDefault(St)&&(pi.collapsedByDefault=!1,Ge.push(pi)),pi}const Ft=this.identityProvider.getId(St).toString(),Vt=ze.get(Ft);if(Vt){const pi=Vt.node;return Me.delete(pi.element),this.nodes.delete(pi.element),this.nodes.set(St,pi),pi.element=St,pi.hasChildren=kt,ce?Vt.collapsed?(pi.children.forEach(ki=>be(ki,qi=>this.nodes.delete(qi.element))),pi.children.splice(0,pi.children.length),pi.stale=!0):Ge.push(pi):kt&&this.collapseByDefault&&!this.collapseByDefault(St)&&(pi.collapsedByDefault=!1,Ge.push(pi)),pi}const Jt=bt({element:St,parent:_,id:Ft,hasChildren:kt});return we&&we.viewState.focus&&we.viewState.focus.indexOf(Ft)>-1&&we.focus.push(Jt),we&&we.viewState.selection&&we.viewState.selection.indexOf(Ft)>-1&&we.selection.push(Jt),we&&we.viewState.expanded&&we.viewState.expanded.indexOf(Ft)>-1?Ge.push(Jt):kt&&this.collapseByDefault&&!this.collapseByDefault(St)&&(Jt.collapsedByDefault=!1,Ge.push(Jt)),Jt});for(const St of Me.values())be(St,kt=>this.nodes.delete(kt.element));for(const St of gt)this.nodes.set(St.element,St);return _.children.splice(0,_.children.length,...gt),_!==this.root&&this.autoExpandSingleChildren&>.length===1&&Ge.length===0&&(gt[0].collapsedByDefault=!1,Ge.push(gt[0])),Ge}render(_,B,ce){const we=_.children.map(Me=>this.asTreeElement(Me,B)),Le=ce&&Object.assign(Object.assign({},ce),{diffIdentityProvider:ce.diffIdentityProvider&&{getId(Me){return ce.diffIdentityProvider.getId(Me.element)}}});this.tree.setChildren(_===this.root?null:_,we,Le),_!==this.root&&this.tree.setCollapsible(_,_.hasChildren),this._onDidRender.fire()}asTreeElement(_,B){if(_.stale)return{element:_,collapsible:_.hasChildren,collapsed:!0};let ce;return B&&B.viewState.expanded&&_.id&&B.viewState.expanded.indexOf(_.id)>-1?ce=!1:ce=_.collapsedByDefault,_.collapsedByDefault=void 0,{element:_,children:_.hasChildren?me.$.map(_.children,we=>this.asTreeElement(we,B)):[],collapsible:_.hasChildren,collapsed:ce}}processChildren(_){return this.sorter&&(_=[..._].sort(this.sorter.compare.bind(this.sorter))),_}dispose(){this.disposables.dispose()}}class Rt{constructor(_){this.node=_}get element(){return{elements:this.node.element.elements.map(_=>_.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(_=>new Rt(_))}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}}class Ht{constructor(_,B,ce,we){this.renderer=_,this.nodeMapper=B,this.compressibleNodeMapperProvider=ce,this.onDidChangeTwistieState=we,this.renderedNodes=new Map,this.disposables=[],this.templateId=_.templateId}renderTemplate(_){return{templateData:this.renderer.renderTemplate(_)}}renderElement(_,B,ce,we){this.renderer.renderElement(this.nodeMapper.map(_),B,ce.templateData,we)}renderCompressedElements(_,B,ce,we){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(_),B,ce.templateData,we)}renderTwistie(_,B){return _.slow?(B.classList.add(...$.lA.treeItemLoading.classNamesArray),!0):(B.classList.remove(...$.lA.treeItemLoading.classNamesArray),!1)}disposeElement(_,B,ce,we){var Le,Me;(Me=(Le=this.renderer).disposeElement)===null||Me===void 0||Me.call(Le,this.nodeMapper.map(_),B,ce.templateData,we)}disposeCompressedElements(_,B,ce,we){var Le,Me;(Me=(Le=this.renderer).disposeCompressedElements)===null||Me===void 0||Me.call(Le,this.compressibleNodeMapperProvider().map(_),B,ce.templateData,we)}disposeTemplate(_){this.renderer.disposeTemplate(_.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,N.B9)(this.disposables)}}function Qt(ee){const _=ee&&Ne(ee);return _&&Object.assign(Object.assign({},_),{keyboardNavigationLabelProvider:_.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},_.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel(B){return ee.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(B.map(ce=>ce.element))}})})}class ai extends Xe{constructor(_,B,ce,we,Le,Me,ze={}){super(_,B,ce,Le,Me,ze),this.compressionDelegate=we,this.compressibleNodeMapper=new he(Ge=>new Rt(Ge)),this.filter=ze.filter}createTree(_,B,ce,we,Le){const Me=new Re(ce),ze=we.map(gt=>new Ht(gt,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),Ge=Qt(Le)||{};return new Gi(_,B,Me,ze,Ge)}asTreeElement(_,B){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(_.element)},super.asTreeElement(_,B))}updateOptions(_={}){this.tree.updateOptions(_)}render(_,B){if(!this.identityProvider)return super.render(_,B);const ce=Ft=>this.identityProvider.getId(Ft).toString(),we=Ft=>{const Vt=new Set;for(const Jt of Ft){const pi=this.tree.getCompressedTreeNode(Jt===this.root?null:Jt);if(pi.element)for(const ki of pi.element.elements)Vt.add(ce(ki.element))}return Vt},Le=we(this.tree.getSelection()),Me=we(this.tree.getFocus());super.render(_,B);const ze=this.getSelection();let Ge=!1;const gt=this.getFocus();let St=!1;const kt=Ft=>{const Vt=Ft.element;if(Vt)for(let Jt=0;Jt<Vt.elements.length;Jt++){const pi=ce(Vt.elements[Jt].element),ki=Vt.elements[Vt.elements.length-1].element;Le.has(pi)&&ze.indexOf(ki)===-1&&(ze.push(ki),Ge=!0),Me.has(pi)&>.indexOf(ki)===-1&&(gt.push(ki),St=!0)}Ft.children.forEach(kt)};kt(this.tree.getCompressedTreeNode(_===this.root?null:_)),Ge&&this.setSelection(ze),St&&this.setFocus(gt)}processChildren(_){return this.filter&&(_=me.$.filter(_,B=>{const ce=this.filter.filter(B,1),we=mi(ce);if(we===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return we===1})),super.processChildren(_)}}function mi(ee){return typeof ee=="boolean"?ee?1:0:re(ee)?Y(ee.visibility):Y(ee)}class ci extends ni{constructor(_,B,ce,we,Le,Me={}){super(_,B,ce,we,Me),this.user=_,this.dataSource=Le,this.identityProvider=Me.identityProvider}createModel(_,B,ce){return new vi(_,B,ce)}}var qt=m(47133),li=m(43148),xi=m(50199),Si=m(43680),Pi=m(30746),Ti=m(41846),en=m(29205),Fi=m(77220),gn=m(36846),Qi=m(26194),Oi=function(ee,_,B,ce){var we=arguments.length,Le=we<3?_:ce===null?ce=Object.getOwnPropertyDescriptor(_,B):ce,Me;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Le=Reflect.decorate(ee,_,B,ce);else for(var ze=ee.length-1;ze>=0;ze--)(Me=ee[ze])&&(Le=(we<3?Me(Le):we>3?Me(_,B,Le):Me(_,B))||Le);return we>3&&Le&&Object.defineProperty(_,B,Le),Le},Bi=function(ee,_){return function(B,ce){_(B,ce,ee)}};const Wi=(0,Ti.yh)("listService");let an=class{constructor(_){this._themeService=_,this.disposables=new N.SL,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}get lastFocusedList(){return this._lastFocusedWidget}setLastFocusedList(_){var B,ce;_!==this._lastFocusedWidget&&((B=this._lastFocusedWidget)===null||B===void 0||B.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=_,(ce=this._lastFocusedWidget)===null||ce===void 0||ce.getHTMLElement().classList.add("last-focused"))}register(_,B){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;const we=new Z.wD((0,k.dS)(),"");this.disposables.add((0,gn.Jl)(we,this._themeService))}if(this.lists.some(we=>we.widget===_))throw new Error("Cannot register the same widget multiple times");const ce={widget:_,extraContextKeys:B};return this.lists.push(ce),_.getHTMLElement()===document.activeElement&&this.setLastFocusedList(_),(0,N.F8)(_.onDidFocus(()=>this.setLastFocusedList(_)),(0,N.OF)(()=>this.lists.splice(this.lists.indexOf(ce),1)),_.onDidDispose(()=>{this.lists=this.lists.filter(we=>we!==ce),this._lastFocusedWidget===_&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}};an=Oi([Bi(0,Qi.XE)],an);const Ci=new xi.uy("listFocus",!0),Kn=new xi.uy("listSupportsMultiselect",!0),Vn=xi.Ao.and(Ci,xi.Ao.not(Si.d0)),Nn=new xi.uy("listHasSelectionOrFocus",!1),Rn=new xi.uy("listDoubleSelection",!1),$i=new xi.uy("listMultiSelection",!1),Tn=new xi.uy("listSelectionNavigation",!1),qn=new xi.uy("listSupportsFind",!0),Ai=new xi.uy("treeElementCanCollapse",!1),ts=new xi.uy("treeElementHasParent",!1),Ni=new xi.uy("treeElementCanExpand",!1),rs=new xi.uy("treeElementHasChild",!1),Yi=new xi.uy("treeFindOpen",!1),hn="listTypeNavigationMode",Vi="listAutomaticKeyboardNavigation";function vn(ee,_){const B=ee.createScoped(_.getHTMLElement());return Ci.bindTo(B),B}const Qn="workbench.list.multiSelectModifier",Ss="workbench.list.openMode",mn="workbench.list.horizontalScrolling",Is="workbench.list.defaultFindMode",Sn="workbench.list.keyboardNavigation",Ln="workbench.tree.indent",fo="workbench.tree.renderIndentGuides",Ms="workbench.list.smoothScrolling",As="workbench.list.mouseWheelScrollSensitivity",xt="workbench.list.fastScrollSensitivity",ds="workbench.tree.expandMode";function ys(ee){return ee.getValue(Qn)==="alt"}class is extends N.JT{constructor(_){super(),this.configurationService=_,this.useAltAsMultipleSelectionModifier=ys(_),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(_=>{_.affectsConfiguration(Qn)&&(this.useAltAsMultipleSelectionModifier=ys(this.configurationService))}))}isSelectionSingleChangeEvent(_){return this.useAltAsMultipleSelectionModifier?_.browserEvent.altKey:(0,Z.Zo)(_)}isSelectionRangeChangeEvent(_){return(0,Z.wn)(_)}}function Us(ee,_){var B;const ce=ee.get(qt.Ui),we=ee.get(en.d),Le=new N.SL;return[Object.assign(Object.assign({},_),{keyboardNavigationDelegate:{mightProducePrintableCharacter(ze){return we.mightProducePrintableCharacter(ze)}},smoothScrolling:!!ce.getValue(Ms),mouseWheelScrollSensitivity:ce.getValue(As),fastScrollSensitivity:ce.getValue(xt),multipleSelectionController:(B=_.multipleSelectionController)!==null&&B!==void 0?B:Le.add(new is(ce)),keyboardNavigationEventFilter:$t(we)}),Le]}let vs=class extends Z.aV{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St){const kt=typeof Le.horizontalScrolling<"u"?Le.horizontalScrolling:!!gt.getValue(mn),[Ft,Vt]=St.invokeFunction(Us,Le);super(_,B,ce,we,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,gn.o)(Ge.getColorTheme(),gn.O2)),Ft),{horizontalScrolling:kt})),this.disposables.add(Vt),this.contextKeyService=vn(Me,this),this.themeService=Ge,this.listSupportsMultiSelect=Kn.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Le.multipleSelectionSupport!==!1),Tn.bindTo(this.contextKeyService).set(!!Le.selectionNavigation),this.listHasSelectionOrFocus=Nn.bindTo(this.contextKeyService),this.listDoubleSelection=Rn.bindTo(this.contextKeyService),this.listMultiSelection=$i.bindTo(this.contextKeyService),this.horizontalScrolling=Le.horizontalScrolling,this._useAltAsMultipleSelectionModifier=ys(gt),this.disposables.add(this.contextKeyService),this.disposables.add(ze.register(this)),Le.overrideStyles&&this.updateStyles(Le.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const pi=this.getSelection(),ki=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(pi.length>0||ki.length>0),this.listMultiSelection.set(pi.length>1),this.listDoubleSelection.set(pi.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const pi=this.getSelection(),ki=this.getFocus();this.listHasSelectionOrFocus.set(pi.length>0||ki.length>0)})),this.disposables.add(gt.onDidChangeConfiguration(pi=>{pi.affectsConfiguration(Qn)&&(this._useAltAsMultipleSelectionModifier=ys(gt));let ki={};if(pi.affectsConfiguration(mn)&&this.horizontalScrolling===void 0){const qi=!!gt.getValue(mn);ki=Object.assign(Object.assign({},ki),{horizontalScrolling:qi})}if(pi.affectsConfiguration(Ms)){const qi=!!gt.getValue(Ms);ki=Object.assign(Object.assign({},ki),{smoothScrolling:qi})}if(pi.affectsConfiguration(As)){const qi=gt.getValue(As);ki=Object.assign(Object.assign({},ki),{mouseWheelScrollSensitivity:qi})}if(pi.affectsConfiguration(xt)){const qi=gt.getValue(xt);ki=Object.assign(Object.assign({},ki),{fastScrollSensitivity:qi})}Object.keys(ki).length>0&&this.updateOptions(ki)})),this.navigator=new as(this,Object.assign({configurationService:gt},Le)),this.disposables.add(this.navigator)}updateOptions(_){super.updateOptions(_),_.overrideStyles&&this.updateStyles(_.overrideStyles),_.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!_.multipleSelectionSupport)}updateStyles(_){var B;(B=this._styler)===null||B===void 0||B.dispose(),this._styler=(0,gn.Jl)(this,this.themeService,_)}dispose(){var _;(_=this._styler)===null||_===void 0||_.dispose(),super.dispose()}};vs=Oi([Bi(5,xi.i6),Bi(6,Wi),Bi(7,Qi.XE),Bi(8,qt.Ui),Bi(9,Ti.TG)],vs);let Ps=class extends C{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St){const kt=typeof Le.horizontalScrolling<"u"?Le.horizontalScrolling:!!gt.getValue(mn),[Ft,Vt]=St.invokeFunction(Us,Le);super(_,B,ce,we,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,gn.o)(Ge.getColorTheme(),gn.O2)),Ft),{horizontalScrolling:kt})),this.disposables=new N.SL,this.disposables.add(Vt),this.contextKeyService=vn(Me,this),this.themeService=Ge,this.horizontalScrolling=Le.horizontalScrolling,this.listSupportsMultiSelect=Kn.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Le.multipleSelectionSupport!==!1),Tn.bindTo(this.contextKeyService).set(!!Le.selectionNavigation),this._useAltAsMultipleSelectionModifier=ys(gt),this.disposables.add(this.contextKeyService),this.disposables.add(ze.register(this)),Le.overrideStyles&&this.updateStyles(Le.overrideStyles),Le.overrideStyles&&this.disposables.add((0,gn.Jl)(this,Ge,Le.overrideStyles)),this.disposables.add(gt.onDidChangeConfiguration(pi=>{pi.affectsConfiguration(Qn)&&(this._useAltAsMultipleSelectionModifier=ys(gt));let ki={};if(pi.affectsConfiguration(mn)&&this.horizontalScrolling===void 0){const qi=!!gt.getValue(mn);ki=Object.assign(Object.assign({},ki),{horizontalScrolling:qi})}if(pi.affectsConfiguration(Ms)){const qi=!!gt.getValue(Ms);ki=Object.assign(Object.assign({},ki),{smoothScrolling:qi})}if(pi.affectsConfiguration(As)){const qi=gt.getValue(As);ki=Object.assign(Object.assign({},ki),{mouseWheelScrollSensitivity:qi})}if(pi.affectsConfiguration(xt)){const qi=gt.getValue(xt);ki=Object.assign(Object.assign({},ki),{fastScrollSensitivity:qi})}Object.keys(ki).length>0&&this.updateOptions(ki)})),this.navigator=new as(this,Object.assign({configurationService:gt},Le)),this.disposables.add(this.navigator)}updateOptions(_){super.updateOptions(_),_.overrideStyles&&this.updateStyles(_.overrideStyles),_.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!_.multipleSelectionSupport)}updateStyles(_){var B;(B=this._styler)===null||B===void 0||B.dispose(),this._styler=(0,gn.Jl)(this,this.themeService,_)}dispose(){var _;(_=this._styler)===null||_===void 0||_.dispose(),this.disposables.dispose(),super.dispose()}};Ps=Oi([Bi(5,xi.i6),Bi(6,Wi),Bi(7,Qi.XE),Bi(8,qt.Ui),Bi(9,Ti.TG)],Ps);let Gs=class extends D{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St,kt){const Ft=typeof Me.horizontalScrolling<"u"?Me.horizontalScrolling:!!St.getValue(mn),[Vt,Jt]=kt.invokeFunction(Us,Me);super(_,B,ce,we,Le,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},(0,gn.o)(gt.getColorTheme(),gn.O2)),Vt),{horizontalScrolling:Ft})),this.disposables.add(Jt),this.contextKeyService=vn(ze,this),this.themeService=gt,this.listSupportsMultiSelect=Kn.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Me.multipleSelectionSupport!==!1),Tn.bindTo(this.contextKeyService).set(!!Me.selectionNavigation),this.listHasSelectionOrFocus=Nn.bindTo(this.contextKeyService),this.listDoubleSelection=Rn.bindTo(this.contextKeyService),this.listMultiSelection=$i.bindTo(this.contextKeyService),this.horizontalScrolling=Me.horizontalScrolling,this._useAltAsMultipleSelectionModifier=ys(St),this.disposables.add(this.contextKeyService),this.disposables.add(Ge.register(this)),Me.overrideStyles&&this.updateStyles(Me.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const ki=this.getSelection(),qi=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(ki.length>0||qi.length>0),this.listMultiSelection.set(ki.length>1),this.listDoubleSelection.set(ki.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const ki=this.getSelection(),qi=this.getFocus();this.listHasSelectionOrFocus.set(ki.length>0||qi.length>0)})),this.disposables.add(St.onDidChangeConfiguration(ki=>{ki.affectsConfiguration(Qn)&&(this._useAltAsMultipleSelectionModifier=ys(St));let qi={};if(ki.affectsConfiguration(mn)&&this.horizontalScrolling===void 0){const kn=!!St.getValue(mn);qi=Object.assign(Object.assign({},qi),{horizontalScrolling:kn})}if(ki.affectsConfiguration(Ms)){const kn=!!St.getValue(Ms);qi=Object.assign(Object.assign({},qi),{smoothScrolling:kn})}if(ki.affectsConfiguration(As)){const kn=St.getValue(As);qi=Object.assign(Object.assign({},qi),{mouseWheelScrollSensitivity:kn})}if(ki.affectsConfiguration(xt)){const kn=St.getValue(xt);qi=Object.assign(Object.assign({},qi),{fastScrollSensitivity:kn})}Object.keys(qi).length>0&&this.updateOptions(qi)})),this.navigator=new Wn(this,Object.assign({configurationService:St},Me)),this.disposables.add(this.navigator)}updateOptions(_){super.updateOptions(_),_.overrideStyles&&this.updateStyles(_.overrideStyles),_.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!_.multipleSelectionSupport)}updateStyles(_){var B;(B=this._styler)===null||B===void 0||B.dispose(),this._styler=(0,gn.Jl)(this,this.themeService,_)}dispose(){var _;(_=this._styler)===null||_===void 0||_.dispose(),this.disposables.dispose(),super.dispose()}};Gs=Oi([Bi(6,xi.i6),Bi(7,Wi),Bi(8,Qi.XE),Bi(9,qt.Ui),Bi(10,Ti.TG)],Gs);class Qs extends N.JT{constructor(_,B){var ce;super(),this.widget=_,this._onDidOpen=this._register(new Q.Q5),this.onDidOpen=this._onDidOpen.event,this._register(Q.ju.filter(this.widget.onDidChangeSelection,we=>we.browserEvent instanceof KeyboardEvent)(we=>this.onSelectionFromKeyboard(we))),this._register(this.widget.onPointer(we=>this.onPointer(we.element,we.browserEvent))),this._register(this.widget.onMouseDblClick(we=>this.onMouseDblClick(we.element,we.browserEvent))),typeof B?.openOnSingleClick!="boolean"&&B?.configurationService?(this.openOnSingleClick=B?.configurationService.getValue(Ss)!=="doubleClick",this._register(B?.configurationService.onDidChangeConfiguration(()=>{this.openOnSingleClick=B?.configurationService.getValue(Ss)!=="doubleClick"}))):this.openOnSingleClick=(ce=B?.openOnSingleClick)!==null&&ce!==void 0?ce:!0}onSelectionFromKeyboard(_){if(_.elements.length!==1)return;const B=_.browserEvent,ce=typeof B.preserveFocus=="boolean"?B.preserveFocus:!0,we=typeof B.pinned=="boolean"?B.pinned:!ce,Le=!1;this._open(this.getSelectedElement(),ce,we,Le,_.browserEvent)}onPointer(_,B){if(!this.openOnSingleClick||B.detail===2)return;const we=B.button===1,Le=!0,Me=we,ze=B.ctrlKey||B.metaKey||B.altKey;this._open(_,Le,Me,ze,B)}onMouseDblClick(_,B){if(!B)return;const ce=B.target;if(ce.classList.contains("monaco-tl-twistie")||ce.classList.contains("monaco-icon-label")&&ce.classList.contains("folder-icon")&&B.offsetX<16)return;const Le=!1,Me=!0,ze=B.ctrlKey||B.metaKey||B.altKey;this._open(_,Le,Me,ze,B)}_open(_,B,ce,we,Le){_&&this._onDidOpen.fire({editorOptions:{preserveFocus:B,pinned:ce,revealIfVisible:!0},sideBySide:we,element:_,browserEvent:Le})}}class as extends Qs{constructor(_,B){super(_,B),this.widget=_}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Wn extends Qs{constructor(_,B){super(_,B)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class pn extends Qs{constructor(_,B){super(_,B)}getSelectedElement(){var _;return(_=this.widget.getSelection()[0])!==null&&_!==void 0?_:void 0}}function $t(ee){let _=!1;return B=>{if(B.toKeybinding().isModifierKey())return!1;if(_)return _=!1,!1;const ce=ee.softDispatch(B,B.target);return ce?.enterChord?(_=!0,!1):(_=!1,!ce)}}let Ri=class extends ft{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St){const{options:kt,getTypeNavigationMode:Ft,disposable:Vt}=Me.invokeFunction(w,Le);super(_,B,ce,we,kt),this.disposables.add(Vt),this.internals=new F(this,Le,Ft,Le.overrideStyles,ze,Ge,gt,St),this.disposables.add(this.internals)}updateOptions(_){super.updateOptions(_),this.internals.updateOptions(_)}};Ri=Oi([Bi(5,Ti.TG),Bi(6,xi.i6),Bi(7,Wi),Bi(8,Qi.XE),Bi(9,qt.Ui)],Ri);let sn=class extends Gi{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St){const{options:kt,getTypeNavigationMode:Ft,disposable:Vt}=Me.invokeFunction(w,Le);super(_,B,ce,we,kt),this.disposables.add(Vt),this.internals=new F(this,Le,Ft,Le.overrideStyles,ze,Ge,gt,St),this.disposables.add(this.internals)}updateOptions(_={}){super.updateOptions(_),_.overrideStyles&&this.internals.updateStyleOverrides(_.overrideStyles),this.internals.updateOptions(_)}};sn=Oi([Bi(5,Ti.TG),Bi(6,xi.i6),Bi(7,Wi),Bi(8,Qi.XE),Bi(9,qt.Ui)],sn);let Mn=class extends ci{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St,kt){const{options:Ft,getTypeNavigationMode:Vt,disposable:Jt}=ze.invokeFunction(w,Me);super(_,B,ce,we,Le,Ft),this.disposables.add(Jt),this.internals=new F(this,Me,Vt,Me.overrideStyles,Ge,gt,St,kt),this.disposables.add(this.internals)}updateOptions(_={}){super.updateOptions(_),_.overrideStyles&&this.internals.updateStyleOverrides(_.overrideStyles),this.internals.updateOptions(_)}};Mn=Oi([Bi(6,Ti.TG),Bi(7,xi.i6),Bi(8,Wi),Bi(9,Qi.XE),Bi(10,qt.Ui)],Mn);let ms=class extends Xe{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St,kt){const{options:Ft,getTypeNavigationMode:Vt,disposable:Jt}=ze.invokeFunction(w,Me);super(_,B,ce,we,Le,Ft),this.disposables.add(Jt),this.internals=new F(this,Me,Vt,Me.overrideStyles,Ge,gt,St,kt),this.disposables.add(this.internals)}get onDidOpen(){return this.internals.onDidOpen}updateOptions(_={}){super.updateOptions(_),_.overrideStyles&&this.internals.updateStyleOverrides(_.overrideStyles),this.internals.updateOptions(_)}};ms=Oi([Bi(6,Ti.TG),Bi(7,xi.i6),Bi(8,Wi),Bi(9,Qi.XE),Bi(10,qt.Ui)],ms);let ns=class extends ai{constructor(_,B,ce,we,Le,Me,ze,Ge,gt,St,kt,Ft){const{options:Vt,getTypeNavigationMode:Jt,disposable:pi}=Ge.invokeFunction(w,ze);super(_,B,ce,we,Le,Me,Vt),this.disposables.add(pi),this.internals=new F(this,ze,Jt,ze.overrideStyles,gt,St,kt,Ft),this.disposables.add(this.internals)}updateOptions(_){super.updateOptions(_),this.internals.updateOptions(_)}};ns=Oi([Bi(7,Ti.TG),Bi(8,xi.i6),Bi(9,Wi),Bi(10,Qi.XE),Bi(11,qt.Ui)],ns);function et(ee){const _=ee.getValue(Is);if(_==="highlight")return ke.Highlight;if(_==="filter")return ke.Filter;const B=ee.getValue(Sn);if(B==="simple"||B==="highlight")return ke.Highlight;if(B==="filter")return ke.Filter}function w(ee,_){var B;const ce=ee.get(qt.Ui),we=ee.get(Pi.u),Le=ee.get(xi.i6),Me=ee.get(Ti.TG),ze=()=>{const Ft=Le.getContextKeyValue(hn);if(Ft==="automatic")return Z.AA.Automatic;if(Ft==="trigger"||Le.getContextKeyValue(Vi)===!1)return Z.AA.Trigger},Ge=_.horizontalScrolling!==void 0?_.horizontalScrolling:!!ce.getValue(mn),[gt,St]=Me.invokeFunction(Us,_),kt=_.additionalScrollHeight;return{getTypeNavigationMode:ze,disposable:St,options:Object.assign(Object.assign({keyboardSupport:!1},gt),{indent:typeof ce.getValue(Ln)=="number"?ce.getValue(Ln):void 0,renderIndentGuides:ce.getValue(fo),smoothScrolling:!!ce.getValue(Ms),defaultFindMode:et(ce),horizontalScrolling:Ge,additionalScrollHeight:kt,hideTwistiesOfChildlessElements:_.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(B=_.expandOnlyOnTwistieClick)!==null&&B!==void 0?B:ce.getValue(ds)==="doubleClick",contextViewProvider:we})}}let F=class{constructor(_,B,ce,we,Le,Me,ze,Ge){var gt;this.tree=_,this.themeService=ze,this.disposables=[],this.contextKeyService=vn(Le,_),this.listSupportsMultiSelect=Kn.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(B.multipleSelectionSupport!==!1),Tn.bindTo(this.contextKeyService).set(!!B.selectionNavigation),this.listSupportFindWidget=qn.bindTo(this.contextKeyService),this.listSupportFindWidget.set((gt=B.findWidgetEnabled)!==null&>!==void 0?gt:!0),this.hasSelectionOrFocus=Nn.bindTo(this.contextKeyService),this.hasDoubleSelection=Rn.bindTo(this.contextKeyService),this.hasMultiSelection=$i.bindTo(this.contextKeyService),this.treeElementCanCollapse=Ai.bindTo(this.contextKeyService),this.treeElementHasParent=ts.bindTo(this.contextKeyService),this.treeElementCanExpand=Ni.bindTo(this.contextKeyService),this.treeElementHasChild=rs.bindTo(this.contextKeyService),this.treeFindOpen=Yi.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=ys(Ge),this.updateStyleOverrides(we);const kt=()=>{const Vt=_.getFocus()[0];if(!Vt)return;const Jt=_.getNode(Vt);this.treeElementCanCollapse.set(Jt.collapsible&&!Jt.collapsed),this.treeElementHasParent.set(!!_.getParentElement(Vt)),this.treeElementCanExpand.set(Jt.collapsible&&Jt.collapsed),this.treeElementHasChild.set(!!_.getFirstElementChild(Vt))},Ft=new Set;Ft.add(hn),Ft.add(Vi),this.disposables.push(this.contextKeyService,Me.register(_),_.onDidChangeSelection(()=>{const Vt=_.getSelection(),Jt=_.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(Vt.length>0||Jt.length>0),this.hasMultiSelection.set(Vt.length>1),this.hasDoubleSelection.set(Vt.length===2)})}),_.onDidChangeFocus(()=>{const Vt=_.getSelection(),Jt=_.getFocus();this.hasSelectionOrFocus.set(Vt.length>0||Jt.length>0),kt()}),_.onDidChangeCollapseState(kt),_.onDidChangeModel(kt),_.onDidChangeFindOpenState(Vt=>this.treeFindOpen.set(Vt)),Ge.onDidChangeConfiguration(Vt=>{let Jt={};if(Vt.affectsConfiguration(Qn)&&(this._useAltAsMultipleSelectionModifier=ys(Ge)),Vt.affectsConfiguration(Ln)){const pi=Ge.getValue(Ln);Jt=Object.assign(Object.assign({},Jt),{indent:pi})}if(Vt.affectsConfiguration(fo)){const pi=Ge.getValue(fo);Jt=Object.assign(Object.assign({},Jt),{renderIndentGuides:pi})}if(Vt.affectsConfiguration(Ms)){const pi=!!Ge.getValue(Ms);Jt=Object.assign(Object.assign({},Jt),{smoothScrolling:pi})}if((Vt.affectsConfiguration(Is)||Vt.affectsConfiguration(Sn))&&_.updateOptions({defaultFindMode:et(Ge)}),Vt.affectsConfiguration(mn)&&B.horizontalScrolling===void 0){const pi=!!Ge.getValue(mn);Jt=Object.assign(Object.assign({},Jt),{horizontalScrolling:pi})}if(Vt.affectsConfiguration(ds)&&B.expandOnlyOnTwistieClick===void 0&&(Jt=Object.assign(Object.assign({},Jt),{expandOnlyOnTwistieClick:Ge.getValue(ds)==="doubleClick"})),Vt.affectsConfiguration(As)){const pi=Ge.getValue(As);Jt=Object.assign(Object.assign({},Jt),{mouseWheelScrollSensitivity:pi})}if(Vt.affectsConfiguration(xt)){const pi=Ge.getValue(xt);Jt=Object.assign(Object.assign({},Jt),{fastScrollSensitivity:pi})}Object.keys(Jt).length>0&&_.updateOptions(Jt)}),this.contextKeyService.onDidChangeContext(Vt=>{Vt.affectsSome(Ft)&&_.updateOptions({typeNavigationMode:ce()})})),this.navigator=new pn(_,Object.assign({configurationService:Ge},B)),this.disposables.push(this.navigator)}get onDidOpen(){return this.navigator.onDidOpen}updateOptions(_){_.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!_.multipleSelectionSupport)}updateStyleOverrides(_){(0,N.B9)(this.styler),this.styler=_?(0,gn.Jl)(this.tree,this.themeService,_):N.JT.None}dispose(){this.disposables=(0,N.B9)(this.disposables),(0,N.B9)(this.styler),this.styler=void 0}};F=Oi([Bi(4,xi.i6),Bi(5,Wi),Bi(6,Qi.XE),Bi(7,qt.Ui)],F),Fi.B.as(li.IP.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,ct.NC)("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[Qn]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,ct.NC)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,ct.NC)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:(0,ct.NC)({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.")},[Ss]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,ct.NC)({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.")},[mn]:{type:"boolean",default:!1,description:(0,ct.NC)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[Ln]:{type:"number",default:8,minimum:4,maximum:40,description:(0,ct.NC)("tree indent setting","Controls tree indentation in pixels.")},[fo]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,ct.NC)("render tree indent guides","Controls whether the tree should render indent guides.")},[Ms]:{type:"boolean",default:!1,description:(0,ct.NC)("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[As]:{type:"number",default:1,markdownDescription:(0,ct.NC)("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[xt]:{type:"number",default:5,description:(0,ct.NC)("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[Is]:{type:"string",enum:["highlight","filter"],enumDescriptions:[(0,ct.NC)("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),(0,ct.NC)("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:(0,ct.NC)("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[Sn]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,ct.NC)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),(0,ct.NC)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),(0,ct.NC)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:(0,ct.NC)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:(0,ct.NC)("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' instead.")},[ds]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,ct.NC)("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.")}}})},71401:(At,Be,m)=>{m.d(Be,{$V:()=>z,VZ:()=>Q,in:()=>N,kw:()=>q});var k=m(86640),u=m(50149),ie=m(41846);const Q=(0,ie.yh)("logService");var N;(function(y){y[y.Trace=0]="Trace",y[y.Debug=1]="Debug",y[y.Info=2]="Info",y[y.Warning=3]="Warning",y[y.Error=4]="Error",y[y.Critical=5]="Critical",y[y.Off=6]="Off"})(N||(N={}));const ne=N.Info;class Z extends u.JT{constructor(){super(...arguments),this.level=ne,this._onDidChangeLogLevel=this._register(new k.Q5)}setLevel(C){this.level!==C&&(this.level=C,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}}class q extends Z{constructor(C=ne){super(),this.setLevel(C)}trace(C,...L){this.getLevel()<=N.Trace&&console.log("%cTRACE","color: #888",C,...L)}debug(C,...L){this.getLevel()<=N.Debug&&console.log("%cDEBUG","background: #eee; color: #888",C,...L)}info(C,...L){this.getLevel()<=N.Info&&console.log("%c INFO","color: #33f",C,...L)}error(C,...L){this.getLevel()<=N.Error&&console.log("%c ERR","color: #f33",C,...L)}dispose(){}}class z extends u.JT{constructor(C){super(),this.logger=C,this._register(C)}getLevel(){return this.logger.getLevel()}trace(C,...L){this.logger.trace(C,...L)}debug(C,...L){this.logger.debug(C,...L)}info(C,...L){this.logger.info(C,...L)}error(C,...L){this.logger.error(C,...L)}}},48498:(At,Be,m)=>{m.d(Be,{H0:()=>N,ZL:()=>Q,lT:()=>ne});var k=m(60478),u=m(88631),ie=m(41846),Q;(function(Z){Z[Z.Hint=1]="Hint",Z[Z.Info=2]="Info",Z[Z.Warning=4]="Warning",Z[Z.Error=8]="Error"})(Q||(Q={})),function(Z){function q(b,d){return d-b}Z.compare=q;const z=Object.create(null);z[Z.Error]=(0,u.NC)("sev.error","Error"),z[Z.Warning]=(0,u.NC)("sev.warning","Warning"),z[Z.Info]=(0,u.NC)("sev.info","Info");function y(b){return z[b]||""}Z.toString=y;function C(b){switch(b){case k.Z.Error:return Z.Error;case k.Z.Warning:return Z.Warning;case k.Z.Info:return Z.Info;case k.Z.Ignore:return Z.Hint}}Z.fromSeverity=C;function L(b){switch(b){case Z.Error:return k.Z.Error;case Z.Warning:return k.Z.Warning;case Z.Info:return k.Z.Info;case Z.Hint:return k.Z.Ignore}}Z.toSeverity=L}(Q||(Q={}));var N;(function(Z){const q="";function z(C){return y(C,!0)}Z.makeKey=z;function y(C,L){const b=[q];return C.source?b.push(C.source.replace("\xA6","\\\xA6")):b.push(q),C.code?typeof C.code=="string"?b.push(C.code.replace("\xA6","\\\xA6")):b.push(C.code.value.replace("\xA6","\\\xA6")):b.push(q),C.severity!==void 0&&C.severity!==null?b.push(Q.toString(C.severity)):b.push(q),C.message&&L?b.push(C.message.replace("\xA6","\\\xA6")):b.push(q),C.startLineNumber!==void 0&&C.startLineNumber!==null?b.push(C.startLineNumber.toString()):b.push(q),C.startColumn!==void 0&&C.startColumn!==null?b.push(C.startColumn.toString()):b.push(q),C.endLineNumber!==void 0&&C.endLineNumber!==null?b.push(C.endLineNumber.toString()):b.push(q),C.endColumn!==void 0&&C.endColumn!==null?b.push(C.endColumn.toString()):b.push(q),b.push(q),b.join("\xA6")}Z.makeKeyOptionalMessage=y})(N||(N={}));const ne=(0,ie.yh)("markerService")},21058:(At,Be,m)=>{m.d(Be,{EO:()=>N,lT:()=>Q,zb:()=>ie});var k=m(60478),u=m(41846),ie=k.Z;const Q=(0,u.yh)("notificationService");class N{}},76835:(At,Be,m)=>{m.d(Be,{Gs:()=>z,SW:()=>Z,v4:()=>ne,xI:()=>y,xn:()=>q});var k=m(50149),u=m(34504),ie=m(34154),Q=m(41846),N=function(C,L,b,d){function S(E){return E instanceof b?E:new b(function(D){D(E)})}return new(b||(b=Promise))(function(E,D){function x(W){try{T(d.next(W))}catch(A){D(A)}}function K(W){try{T(d.throw(W))}catch(A){D(A)}}function T(W){W.done?E(W.value):S(W.value).then(x,K)}T((d=d.apply(C,L||[])).next())})};const ne=(0,Q.yh)("openerService"),Z=Object.freeze({_serviceBrand:void 0,registerOpener(){return k.JT.None},registerValidator(){return k.JT.None},registerExternalUriResolver(){return k.JT.None},setDefaultExternalOpener(){},registerExternalOpener(){return k.JT.None},open(){return N(this,void 0,void 0,function*(){return!1})},resolveExternalUri(C){return N(this,void 0,void 0,function*(){return{resolved:C,dispose(){}}})}});function q(C,L){return ie.o.isUri(C)?(0,u.qq)(C.scheme,L):(0,u.ok)(C,L+":")}function z(C,...L){return L.some(b=>q(C,b))}function y(C){let L;const b=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(C.fragment);return b&&(L={startLineNumber:parseInt(b[1]),startColumn:b[2]?parseInt(b[2]):1,endLineNumber:b[4]?parseInt(b[4]):void 0,endColumn:b[4]?b[5]?parseInt(b[5]):1:void 0},C=C.with({fragment:""})),{selection:L,uri:C}}},61554:(At,Be,m)=>{m.d(Be,{Ex:()=>Q,R9:()=>u,ek:()=>N});var k=m(41846);const u=(0,k.yh)("progressService"),ie=Object.freeze({total(){},worked(){},done(){}});class Q{constructor(Z){this.callback=Z}report(Z){this._value=Z,this.callback(this._value)}}Q.None=Object.freeze({report(){}});const N=(0,k.yh)("editorProgressService")},99688:(At,Be,m)=>{m.d(Be,{IP:()=>N,Ry:()=>Q});var k=m(99359),u=m(50149),ie=m(77220),Q;(function(Z){Z[Z.PRESERVE=0]="PRESERVE",Z[Z.LAST=1]="LAST"})(Q||(Q={}));const N={Quickaccess:"workbench.contributions.quickaccess"};class ne{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(q){return q.prefix.length===0?this.defaultProvider=q:this.providers.push(q),this.providers.sort((z,y)=>y.prefix.length-z.prefix.length),(0,u.OF)(()=>{this.providers.splice(this.providers.indexOf(q),1),this.defaultProvider===q&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return(0,k.kX)([this.defaultProvider,...this.providers])}getQuickAccessProvider(q){return q&&this.providers.find(y=>q.startsWith(y.prefix))||void 0||this.defaultProvider}}ie.B.add(N.Quickaccess,new ne)},66857:(At,Be,m)=>{m.d(Be,{eJ:()=>ie,jG:()=>u.jG});var k=m(41846),u=m(82144);const ie=(0,k.yh)("quickInputService")},77220:(At,Be,m)=>{m.d(Be,{B:()=>Q});var k=m(18565),u=m(4626);class ie{constructor(){this.data=new Map}add(ne,Z){k.ok(u.HD(ne)),k.ok(u.Kn(Z)),k.ok(!this.data.has(ne),"There is already an extension with this id"),this.data.set(ne,Z)}as(ne){return this.data.get(ne)||null}}const Q=new ie},40099:(At,Be,m)=>{m.d(Be,{Uy:()=>C,vm:()=>d,fk:()=>L});var k=m(86640),u=m(50149),ie=m(4626),Q=m(49434),N=function(S,E,D,x){function K(T){return T instanceof D?T:new D(function(W){W(T)})}return new(D||(D=Promise))(function(T,W){function A(te){try{X(x.next(te))}catch(he){W(he)}}function U(te){try{X(x.throw(te))}catch(he){W(he)}}function X(te){te.done?T(te.value):K(te.value).then(A,U)}X((x=x.apply(S,E||[])).next())})},ne;(function(S){S[S.None=0]="None",S[S.Initialized=1]="Initialized",S[S.Closed=2]="Closed"})(ne||(ne={}));class Z extends u.JT{constructor(E,D=Object.create(null)){super(),this.database=E,this.options=D,this._onDidChangeStorage=this._register(new k.Q5),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=ne.None,this.cache=new Map,this.flushDelayer=new Q.rH(Z.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){var D,x;(D=E.changed)===null||D===void 0||D.forEach((K,T)=>this.accept(T,K)),(x=E.deleted)===null||x===void 0||x.forEach(K=>this.accept(K,void 0))}accept(E,D){if(this.state===ne.Closed)return;let x=!1;(0,ie.Jp)(D)?x=this.cache.delete(E):this.cache.get(E)!==D&&(this.cache.set(E,D),x=!0),x&&this._onDidChangeStorage.fire(E)}get(E,D){const x=this.cache.get(E);return(0,ie.Jp)(x)?D:x}getBoolean(E,D){const x=this.get(E);return(0,ie.Jp)(x)?D:x==="true"}getNumber(E,D){const x=this.get(E);return(0,ie.Jp)(x)?D:parseInt(x,10)}set(E,D){return N(this,void 0,void 0,function*(){if(this.state===ne.Closed)return;if((0,ie.Jp)(D))return this.delete(E);const x=String(D);if(this.cache.get(E)!==x)return this.cache.set(E,x),this.pendingInserts.set(E,x),this.pendingDeletes.delete(E),this._onDidChangeStorage.fire(E),this.doFlush()})}delete(E){return N(this,void 0,void 0,function*(){if(!(this.state===ne.Closed||!this.cache.delete(E)))return this.pendingDeletes.has(E)||this.pendingDeletes.add(E),this.pendingInserts.delete(E),this._onDidChangeStorage.fire(E),this.doFlush()})}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return N(this,void 0,void 0,function*(){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(()=>{var D;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(D=this.whenFlushedCallbacks.pop())===null||D===void 0||D()})})}doFlush(E){return N(this,void 0,void 0,function*(){return this.flushDelayer.trigger(()=>this.flushPending(),E)})}dispose(){this.flushDelayer.dispose(),super.dispose()}}Z.DEFAULT_FLUSH_DELAY=100;class q{constructor(){this.onDidChangeItemsExternal=k.ju.None,this.items=new Map}updateItems(E){var D,x;return N(this,void 0,void 0,function*(){(D=E.insert)===null||D===void 0||D.forEach((K,T)=>this.items.set(T,K)),(x=E.delete)===null||x===void 0||x.forEach(K=>this.items.delete(K))})}}var z=m(41846);const y="__$__targetStorageMarker",C=(0,z.yh)("storageService");var L;(function(S){S[S.NONE=0]="NONE",S[S.SHUTDOWN=1]="SHUTDOWN"})(L||(L={}));class b extends u.JT{constructor(E={flushInterval:b.DEFAULT_FLUSH_INTERVAL}){super(),this.options=E,this._onDidChangeValue=this._register(new k.K3),this.onDidChangeValue=this._onDidChangeValue.event,this._onDidChangeTarget=this._register(new k.K3),this._onWillSaveState=this._register(new k.Q5),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}emitDidChangeValue(E,D){if(D===y){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:D,target:this.getKeyTargets(E)[D]})}get(E,D,x){var K;return(K=this.getStorage(D))===null||K===void 0?void 0:K.get(E,x)}getBoolean(E,D,x){var K;return(K=this.getStorage(D))===null||K===void 0?void 0:K.getBoolean(E,x)}getNumber(E,D,x){var K;return(K=this.getStorage(D))===null||K===void 0?void 0:K.getNumber(E,x)}store(E,D,x,K){if((0,ie.Jp)(D)){this.remove(E,x);return}this.withPausedEmitters(()=>{var T;this.updateKeyTarget(E,x,K),(T=this.getStorage(x))===null||T===void 0||T.set(E,D)})}remove(E,D){this.withPausedEmitters(()=>{var x;this.updateKeyTarget(E,D,void 0),(x=this.getStorage(D))===null||x===void 0||x.delete(E)})}withPausedEmitters(E){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{E()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(E,D,x){var K,T;const W=this.getKeyTargets(D);typeof x=="number"?W[E]!==x&&(W[E]=x,(K=this.getStorage(D))===null||K===void 0||K.set(y,JSON.stringify(W))):typeof W[E]=="number"&&(delete W[E],(T=this.getStorage(D))===null||T===void 0||T.set(y,JSON.stringify(W)))}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 D=this.get(y,E);if(D)try{return JSON.parse(D)}catch{}return Object.create(null)}}b.DEFAULT_FLUSH_INTERVAL=60*1e3;class d extends b{constructor(){super(),this.applicationStorage=this._register(new Z(new q)),this.profileStorage=this._register(new Z(new q)),this.workspaceStorage=this._register(new Z(new q)),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}}}},24933:(At,Be,m)=>{m.d(Be,{b:()=>u});var k=m(41846);const u=(0,k.yh)("telemetryService")},40611:(At,Be,m)=>{m.d(Be,{$DX:()=>pi,$d5:()=>$t,ABB:()=>ri,AS1:()=>Ri,AWI:()=>Ht,BOY:()=>dd,Bqu:()=>ys,C3g:()=>Ee,CA6:()=>vr,CNo:()=>an,Cdg:()=>kt,CzK:()=>Ni,D0T:()=>lt,D1_:()=>wi,DEr:()=>Ft,Dut:()=>bi,E3h:()=>ki,EPQ:()=>ct,EQn:()=>Le,ES4:()=>ci,EiJ:()=>en,F3d:()=>Wn,F9q:()=>Is,Fm_:()=>_r,Fu1:()=>Ai,GO4:()=>_t,Gj_:()=>tr,Gwp:()=>sn,HCL:()=>Tn,Hfx:()=>Xi,Hz8:()=>Vt,IPX:()=>z,IYc:()=>ha,Ido:()=>E,Itd:()=>ka,Ivo:()=>ps,JpG:()=>ao,K19:()=>Qt,LLc:()=>fo,L_H:()=>Ei,L_t:()=>Ms,LoV:()=>Ci,M6C:()=>Us,MUv:()=>Si,NOs:()=>bt,NPS:()=>Ge,Ng6:()=>yt,OLZ:()=>cd,OZR:()=>Re,Oop:()=>ds,P4M:()=>hn,P6G:()=>b,P6Y:()=>mn,PRb:()=>J,PX0:()=>Mn,PpC:()=>Nn,Pvw:()=>ve,QO2:()=>q,R80:()=>K,RV_:()=>Ve,Rzx:()=>qt,SPM:()=>jr,SUG:()=>$e,SUY:()=>$o,Saq:()=>M,Sbf:()=>Wi,Snq:()=>Ho,SwI:()=>me,T83:()=>Yt,Tnx:()=>vs,UnT:()=>ce,VVv:()=>Vn,Vqd:()=>St,XEs:()=>ue,XL$:()=>Sn,XZx:()=>x,Xy4:()=>So,YI3:()=>rt,ZGJ:()=>qi,ZnX:()=>_i,_2n:()=>xt,_Yy:()=>Kn,_bK:()=>As,_lC:()=>O,_t9:()=>je,_wn:()=>Pt,b6y:()=>Ii,b7$:()=>Kt,bKB:()=>$i,brw:()=>To,c63:()=>ft,cbQ:()=>gt,cvW:()=>st,dCr:()=>is,dRz:()=>d,dt_:()=>oe,etL:()=>ti,fEB:()=>Gi,few:()=>Oe,g8u:()=>Ye,g_n:()=>li,gkn:()=>Fi,gpD:()=>Ue,hEj:()=>ai,hX8:()=>Rn,hzo:()=>Vi,j51:()=>Qn,j5u:()=>mt,jUe:()=>Pi,jbW:()=>Jt,kJk:()=>Ne,kVY:()=>ua,keg:()=>rs,kvU:()=>Qs,kwl:()=>$r,lRK:()=>T,lUq:()=>kn,lWp:()=>Rt,lXJ:()=>Ae,loF:()=>si,mHy:()=>Ln,mV1:()=>pn,nyM:()=>xi,oQ$:()=>Xe,oSI:()=>F,opG:()=>be,ov3:()=>Cr,pW3:()=>ht,paE:()=>Fe,phM:()=>qn,pnM:()=>Ti,ptc:()=>Oi,qeD:()=>Ct,rg2:()=>Ps,rh:()=>re,s$:()=>as,sEe:()=>Y,sKV:()=>ts,sgC:()=>te,tZ6:()=>on,uoC:()=>Se,url:()=>X,uxu:()=>we,vGG:()=>w,xL1:()=>W,xi6:()=>vn,y65:()=>ee,yJx:()=>Bi,yb5:()=>mi,ynu:()=>Di,ypS:()=>Yi,ytC:()=>Gs,zJb:()=>de,zKr:()=>wn,zOm:()=>Ss,zRJ:()=>Ui});var k=m(49434),u=m(80733),ie=m(86640),Q=m(4626),N=m(88631),ne=m(81891),Z=m(77220);function q(fn){return`--vscode-${fn.replace(/\./g,"-")}`}const z={ColorContribution:"base.contributions.colors"};class y{constructor(){this._onDidChangeSchema=new ie.Q5,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(Jn,fs,Rs,Ks=!1,Ys){const or={id:Jn,description:Rs,defaults:fs,needsTransparency:Ks,deprecationMessage:Ys};this.colorsById[Jn]=or;const fl={type:"string",description:Rs,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return Ys&&(fl.deprecationMessage=Ys),this.colorSchema.properties[Jn]=fl,this.colorReferenceSchema.enum.push(Jn),this.colorReferenceSchema.enumDescriptions.push(Rs),this._onDidChangeSchema.fire(),Jn}getColors(){return Object.keys(this.colorsById).map(Jn=>this.colorsById[Jn])}resolveDefaultColor(Jn,fs){const Rs=this.colorsById[Jn];if(Rs&&Rs.defaults){const Ks=Rs.defaults[fs.type];return Ho(Ks,fs)}}getColorSchema(){return this.colorSchema}toString(){const Jn=(fs,Rs)=>{const Ks=fs.indexOf(".")===-1?0:1,Ys=Rs.indexOf(".")===-1?0:1;return Ks!==Ys?Ks-Ys:fs.localeCompare(Rs)};return Object.keys(this.colorsById).sort(Jn).map(fs=>`- \`${fs}\`: ${this.colorsById[fs].description}`).join(` `)}}const C=new y;Z.B.add(z.ColorContribution,C);function L(fn){return fn===null||typeof fn.hcLight>"u"&&(fn.hcDark===null||typeof fn.hcDark=="string"?fn.hcLight=fn.hcDark:fn.hcLight=fn.light),fn}function b(fn,Jn,fs,Rs,Ks){return C.registerColor(fn,L(Jn),fs,Rs,Ks)}const d=b("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},N.NC("foreground","Overall foreground color. This color is only used if not overridden by a component.")),S=b("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},N.NC("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),E=b("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},N.NC("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),D=b("descriptionForeground",{light:"#717171",dark:_i(d,.7),hcDark:_i(d,.7),hcLight:_i(d,.7)},N.NC("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),x=b("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},N.NC("iconForeground","The default color for icons in the workbench.")),K=b("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#0F4A85"},N.NC("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),T=b("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},N.NC("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),W=b("contrastActiveBorder",{light:null,dark:null,hcDark:K,hcLight:K},N.NC("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),A=b("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},N.NC("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.")),U=b("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:u.Il.black,hcLight:"#292929"},N.NC("textSeparatorForeground","Color for text separators.")),X=b("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},N.NC("textLinkForeground","Foreground color for links in text.")),te=b("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},N.NC("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),he=b("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#D7BA7D",hcLight:"#292929"},N.NC("textPreformatForeground","Foreground color for preformatted text segments.")),_e=b("textBlockQuote.background",{light:"#7f7f7f1a",dark:"#7f7f7f1a",hcDark:null,hcLight:"#F2F2F2"},N.NC("textBlockQuoteBackground","Background color for block quotes in text.")),ge=b("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:u.Il.white,hcLight:"#292929"},N.NC("textBlockQuoteBorder","Border color for block quotes in text.")),me=b("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:u.Il.black,hcLight:"#F2F2F2"},N.NC("textCodeBlockBackground","Background color for code blocks in text.")),re=b("widget.shadow",{dark:_i(u.Il.black,.36),light:_i(u.Il.black,.16),hcDark:null,hcLight:null},N.NC("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),Y=b("input.background",{dark:"#3C3C3C",light:u.Il.white,hcDark:u.Il.black,hcLight:u.Il.white},N.NC("inputBoxBackground","Input box background.")),de=b("input.foreground",{dark:d,light:d,hcDark:d,hcLight:d},N.NC("inputBoxForeground","Input box foreground.")),oe=b("input.border",{dark:null,light:null,hcDark:T,hcLight:T},N.NC("inputBoxBorder","Input box border.")),J=b("inputOption.activeBorder",{dark:"#007ACC00",light:"#007ACC00",hcDark:T,hcLight:T},N.NC("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),$=b("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},N.NC("inputOption.hoverBackground","Background color of activated options in input fields.")),ue=b("inputOption.activeBackground",{dark:_i(K,.4),light:_i(K,.2),hcDark:u.Il.transparent,hcLight:u.Il.transparent},N.NC("inputOption.activeBackground","Background hover color of options in input fields.")),ve=b("inputOption.activeForeground",{dark:u.Il.white,light:u.Il.black,hcDark:null,hcLight:d},N.NC("inputOption.activeForeground","Foreground color of activated options in input fields.")),xe=b("input.placeholderForeground",{light:_i(d,.5),dark:_i(d,.5),hcDark:_i(d,.7),hcLight:_i(d,.7)},N.NC("inputPlaceholderForeground","Input box foreground color for placeholder text.")),O=b("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:u.Il.black,hcLight:u.Il.white},N.NC("inputValidationInfoBackground","Input validation background color for information severity.")),rt=b("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:d},N.NC("inputValidationInfoForeground","Input validation foreground color for information severity.")),ct=b("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:T,hcLight:T},N.NC("inputValidationInfoBorder","Input validation border color for information severity.")),Ve=b("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:u.Il.black,hcLight:u.Il.white},N.NC("inputValidationWarningBackground","Input validation background color for warning severity.")),$e=b("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:d},N.NC("inputValidationWarningForeground","Input validation foreground color for warning severity.")),Ee=b("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:T,hcLight:T},N.NC("inputValidationWarningBorder","Input validation border color for warning severity.")),Fe=b("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:u.Il.black,hcLight:u.Il.white},N.NC("inputValidationErrorBackground","Input validation background color for error severity.")),je=b("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:d},N.NC("inputValidationErrorForeground","Input validation foreground color for error severity.")),Re=b("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:T,hcLight:T},N.NC("inputValidationErrorBorder","Input validation border color for error severity.")),tt=b("dropdown.background",{dark:"#3C3C3C",light:u.Il.white,hcDark:u.Il.black,hcLight:u.Il.white},N.NC("dropdownBackground","Dropdown background.")),at=b("dropdown.listBackground",{dark:null,light:null,hcDark:u.Il.black,hcLight:u.Il.white},N.NC("dropdownListBackground","Dropdown list background.")),Dt=b("dropdown.foreground",{dark:"#F0F0F0",light:null,hcDark:u.Il.white,hcLight:d},N.NC("dropdownForeground","Dropdown foreground.")),Et=b("dropdown.border",{dark:tt,light:"#CECECE",hcDark:T,hcLight:T},N.NC("dropdownBorder","Dropdown border.")),Nt=b("checkbox.background",{dark:tt,light:tt,hcDark:tt,hcLight:tt},N.NC("checkbox.background","Background color of checkbox widget.")),ke=b("checkbox.foreground",{dark:Dt,light:Dt,hcDark:Dt,hcLight:Dt},N.NC("checkbox.foreground","Foreground color of checkbox widget.")),dt=b("checkbox.border",{dark:Et,light:Et,hcDark:Et,hcLight:Et},N.NC("checkbox.border","Border color of checkbox widget.")),mt=b("button.foreground",{dark:u.Il.white,light:u.Il.white,hcDark:u.Il.white,hcLight:u.Il.white},N.NC("buttonForeground","Button foreground color.")),Wt=b("button.separator",{dark:_i(mt,.4),light:_i(mt,.4),hcDark:_i(mt,.4),hcLight:_i(mt,.4)},N.NC("buttonSeparator","Button separator color.")),Kt=b("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},N.NC("buttonBackground","Button background color.")),_t=b("button.hoverBackground",{dark:cs(Kt,.2),light:Lo(Kt,.2),hcDark:null,hcLight:null},N.NC("buttonHoverBackground","Button background color when hovering.")),wt=b("button.border",{dark:T,light:T,hcDark:T,hcLight:T},N.NC("buttonBorder","Button border color.")),Ut=b("button.secondaryForeground",{dark:u.Il.white,light:u.Il.white,hcDark:u.Il.white,hcLight:d},N.NC("buttonSecondaryForeground","Secondary button foreground color.")),ni=b("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:u.Il.white},N.NC("buttonSecondaryBackground","Secondary button background color.")),vi=b("button.secondaryHoverBackground",{dark:cs(ni,.2),light:Lo(ni,.2),hcDark:null,hcLight:null},N.NC("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),Ye=b("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:u.Il.black,hcLight:"#0F4A85"},N.NC("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),Ct=b("badge.foreground",{dark:u.Il.white,light:"#333",hcDark:u.Il.white,hcLight:u.Il.white},N.NC("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),Pt=b("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},N.NC("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),ti=b("scrollbarSlider.background",{dark:u.Il.fromHex("#797979").transparent(.4),light:u.Il.fromHex("#646464").transparent(.4),hcDark:_i(T,.6),hcLight:_i(T,.4)},N.NC("scrollbarSliderBackground","Scrollbar slider background color.")),ri=b("scrollbarSlider.hoverBackground",{dark:u.Il.fromHex("#646464").transparent(.7),light:u.Il.fromHex("#646464").transparent(.7),hcDark:_i(T,.8),hcLight:_i(T,.8)},N.NC("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),Di=b("scrollbarSlider.activeBackground",{dark:u.Il.fromHex("#BFBFBF").transparent(.4),light:u.Il.fromHex("#000000").transparent(.6),hcDark:T,hcLight:T},N.NC("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),Ui=b("progressBar.background",{dark:u.Il.fromHex("#0E70C0"),light:u.Il.fromHex("#0E70C0"),hcDark:T,hcLight:T},N.NC("progressBarBackground","Background color of the progress bar that can show for long running operations.")),Ei=b("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),Ae=b("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},N.NC("editorError.foreground","Foreground color of error squigglies in the editor.")),Ii=b("editorError.border",{dark:null,light:null,hcDark:u.Il.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},N.NC("errorBorder","Border color of error boxes in the editor.")),Ue=b("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),Se=b("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD37",hcLight:"#895503"},N.NC("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),ht=b("editorWarning.border",{dark:null,light:null,hcDark:u.Il.fromHex("#FFCC00").transparent(.8),hcLight:"#"},N.NC("warningBorder","Border color of warning boxes in the editor.")),Oe=b("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),ft=b("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},N.NC("editorInfo.foreground","Foreground color of info squigglies in the editor.")),Yt=b("editorInfo.border",{dark:null,light:null,hcDark:u.Il.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},N.NC("infoBorder","Border color of info boxes in the editor.")),bi=b("editorHint.foreground",{dark:u.Il.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},N.NC("editorHint.foreground","Foreground color of hint squigglies in the editor.")),Gi=b("editorHint.border",{dark:null,light:null,hcDark:u.Il.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},N.NC("hintBorder","Border color of hint boxes in the editor.")),Dn=b("sash.hoverBorder",{dark:K,light:K,hcDark:K,hcLight:K},N.NC("sashActiveBorder","Border color of active sashes.")),st=b("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:u.Il.black,hcLight:u.Il.white},N.NC("editorBackground","Editor background color.")),bt=b("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:u.Il.white,hcLight:d},N.NC("editorForeground","Editor default foreground color.")),Zt=b("editorStickyScroll.background",{light:st,dark:st,hcDark:st,hcLight:st},N.NC("editorStickyScrollBackground","Sticky scroll background color for the editor")),Ot=b("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:u.Il.fromHex("#0F4A85").transparent(.1)},N.NC("editorStickyScrollHoverBackground","Sticky scroll on hover background color for the editor")),lt=b("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:u.Il.white},N.NC("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),Xi=b("editorWidget.foreground",{dark:d,light:d,hcDark:d,hcLight:d},N.NC("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),wi=b("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:T,hcLight:T},N.NC("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.")),yt=b("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},N.NC("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.")),wn=b("quickInput.background",{dark:lt,light:lt,hcDark:lt,hcLight:lt},N.NC("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),on=b("quickInput.foreground",{dark:Xi,light:Xi,hcDark:Xi,hcLight:Xi},N.NC("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),si=b("quickInputTitle.background",{dark:new u.Il(new u.VS(255,255,255,.105)),light:new u.Il(new u.VS(0,0,0,.06)),hcDark:"#000000",hcLight:u.Il.white},N.NC("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),Ne=b("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:u.Il.white,hcLight:"#0F4A85"},N.NC("pickerGroupForeground","Quick picker color for grouping labels.")),be=b("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:u.Il.white,hcLight:"#0F4A85"},N.NC("pickerGroupBorder","Quick picker color for grouping borders.")),Xe=b("keybindingLabel.background",{dark:new u.Il(new u.VS(128,128,128,.17)),light:new u.Il(new u.VS(221,221,221,.4)),hcDark:u.Il.transparent,hcLight:u.Il.transparent},N.NC("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),Rt=b("keybindingLabel.foreground",{dark:u.Il.fromHex("#CCCCCC"),light:u.Il.fromHex("#555555"),hcDark:u.Il.white,hcLight:d},N.NC("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),Ht=b("keybindingLabel.border",{dark:new u.Il(new u.VS(51,51,51,.6)),light:new u.Il(new u.VS(204,204,204,.4)),hcDark:new u.Il(new u.VS(111,195,223)),hcLight:T},N.NC("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),Qt=b("keybindingLabel.bottomBorder",{dark:new u.Il(new u.VS(68,68,68,.6)),light:new u.Il(new u.VS(187,187,187,.4)),hcDark:new u.Il(new u.VS(111,195,223)),hcLight:d},N.NC("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),ai=b("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},N.NC("editorSelectionBackground","Color of the editor selection.")),mi=b("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:u.Il.white},N.NC("editorSelectionForeground","Color of the selected text for high contrast.")),ci=b("editor.inactiveSelectionBackground",{light:_i(ai,.5),dark:_i(ai,.5),hcDark:_i(ai,.7),hcLight:_i(ai,.5)},N.NC("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),qt=b("editor.selectionHighlightBackground",{light:Ma(ai,st,.3,.6),dark:Ma(ai,st,.3,.6),hcDark:null,hcLight:null},N.NC("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),li=b("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:W,hcLight:W},N.NC("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),xi=b("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},N.NC("editorFindMatch","Color of the current search match.")),Si=b("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},N.NC("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),Pi=b("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},N.NC("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),Ti=b("editor.findMatchBorder",{light:null,dark:null,hcDark:W,hcLight:W},N.NC("editorFindMatchBorder","Border color of the current search match.")),en=b("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:W,hcLight:W},N.NC("findMatchHighlightBorder","Border color of the other search matches.")),Fi=b("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:_i(W,.4),hcLight:_i(W,.4)},N.NC("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),gn=b("searchEditor.findMatchBackground",{light:_i(Si,.66),dark:_i(Si,.66),hcDark:Si,hcLight:Si},N.NC("searchEditor.queryMatch","Color of the Search Editor query matches.")),Qi=b("searchEditor.findMatchBorder",{light:_i(en,.66),dark:_i(en,.66),hcDark:en,hcLight:en},N.NC("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches.")),Oi=b("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},N.NC("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),Bi=b("editorHoverWidget.background",{light:lt,dark:lt,hcDark:lt,hcLight:lt},N.NC("hoverBackground","Background color of the editor hover.")),Wi=b("editorHoverWidget.foreground",{light:Xi,dark:Xi,hcDark:Xi,hcLight:Xi},N.NC("hoverForeground","Foreground color of the editor hover.")),an=b("editorHoverWidget.border",{light:wi,dark:wi,hcDark:wi,hcLight:wi},N.NC("hoverBorder","Border color of the editor hover.")),Ci=b("editorHoverWidget.statusBarBackground",{dark:cs(Bi,.2),light:Lo(Bi,.05),hcDark:lt,hcLight:lt},N.NC("statusBarBackground","Background color of the editor hover status bar.")),Kn=b("editorLink.activeForeground",{dark:"#4E94CE",light:u.Il.blue,hcDark:u.Il.cyan,hcLight:"#292929"},N.NC("activeLinkForeground","Color of active links.")),Vn=b("editorInlayHint.foreground",{dark:_i(Ct,.8),light:_i(Ct,.8),hcDark:Ct,hcLight:Ct},N.NC("editorInlayHintForeground","Foreground color of inline hints")),Nn=b("editorInlayHint.background",{dark:_i(Ye,.6),light:_i(Ye,.3),hcDark:Ye,hcLight:Ye},N.NC("editorInlayHintBackground","Background color of inline hints")),Rn=b("editorInlayHint.typeForeground",{dark:Vn,light:Vn,hcDark:Vn,hcLight:Vn},N.NC("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),$i=b("editorInlayHint.typeBackground",{dark:Nn,light:Nn,hcDark:Nn,hcLight:Nn},N.NC("editorInlayHintBackgroundTypes","Background color of inline hints for types")),Tn=b("editorInlayHint.parameterForeground",{dark:Vn,light:Vn,hcDark:Vn,hcLight:Vn},N.NC("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),qn=b("editorInlayHint.parameterBackground",{dark:Nn,light:Nn,hcDark:Nn,hcLight:Nn},N.NC("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),Ai=b("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},N.NC("editorLightBulbForeground","The color used for the lightbulb actions icon.")),ts=b("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},N.NC("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),Ni=new u.Il(new u.VS(155,185,85,.2)),rs=new u.Il(new u.VS(255,0,0,.2)),Yi=b("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c66",hcDark:null,hcLight:null},N.NC("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),hn=b("diffEditor.removedTextBackground",{dark:"#ff000066",light:"#ff00004d",hcDark:null,hcLight:null},N.NC("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),Vi=b("diffEditor.insertedLineBackground",{dark:Ni,light:Ni,hcDark:null,hcLight:null},N.NC("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),vn=b("diffEditor.removedLineBackground",{dark:rs,light:rs,hcDark:null,hcLight:null},N.NC("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),Qn=b("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),Ss=b("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),mn=b("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),Is=b("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),Sn=b("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},N.NC("diffEditorInsertedOutline","Outline color for the text that got inserted.")),Ln=b("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},N.NC("diffEditorRemovedOutline","Outline color for text that got removed.")),fo=b("diffEditor.border",{dark:null,light:null,hcDark:T,hcLight:T},N.NC("diffEditorBorder","Border color between the two text editors.")),Ms=b("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},N.NC("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),As=b("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),xt=b("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),ds=b("list.focusOutline",{dark:K,light:K,hcDark:W,hcLight:W},N.NC("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.")),ys=b("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),is=b("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:u.Il.fromHex("#0F4A85").transparent(.1)},N.NC("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.")),Us=b("list.activeSelectionForeground",{dark:u.Il.white,light:u.Il.white,hcDark:null,hcLight:null},N.NC("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.")),vs=b("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),Ps=b("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:u.Il.fromHex("#0F4A85").transparent(.1)},N.NC("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.")),Gs=b("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),Qs=b("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),as=b("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),Wn=b("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("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.")),pn=b("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:u.Il.fromHex("#0F4A85").transparent(.1)},N.NC("listHoverBackground","List/Tree background when hovering over items using the mouse.")),$t=b("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),Ri=b("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},N.NC("listDropBackground","List/Tree drag and drop background when moving items around using the mouse.")),sn=b("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:K,hcLight:K},N.NC("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),Mn=b("list.focusHighlightForeground",{dark:sn,light:Ta(is,sn,"#BBE7FF"),hcDark:sn,hcLight:sn},N.NC("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.")),ms=b("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},N.NC("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),ns=b("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},N.NC("listErrorForeground","Foreground color of list items containing errors.")),et=b("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},N.NC("listWarningForeground","Foreground color of list items containing warnings.")),w=b("listFilterWidget.background",{light:Lo(lt,0),dark:cs(lt,0),hcDark:lt,hcLight:lt},N.NC("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),F=b("listFilterWidget.outline",{dark:u.Il.transparent,light:u.Il.transparent,hcDark:"#f38518",hcLight:"#007ACC"},N.NC("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),M=b("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:T,hcLight:T},N.NC("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),ee=b("listFilterWidget.shadow",{dark:re,light:re,hcDark:re,hcLight:re},N.NC("listFilterWidgetShadow","Shadown color of the type filter widget in lists and trees.")),_=b("list.filterMatchBackground",{dark:Si,light:Si,hcDark:null,hcLight:null},N.NC("listFilterMatchHighlight","Background color of the filtered match.")),B=b("list.filterMatchBorder",{dark:en,light:en,hcDark:T,hcLight:W},N.NC("listFilterMatchHighlightBorder","Border color of the filtered match.")),ce=b("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},N.NC("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),we=b("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},N.NC("tableColumnsBorder","Table border color between columns.")),Le=b("tree.tableOddRowsBackground",{dark:_i(d,.04),light:_i(d,.04),hcDark:null,hcLight:null},N.NC("tableOddRowsBackgroundColor","Background color for odd table rows.")),Me=b("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},N.NC("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized. ")),ze=b("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,N.NC("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),Ge=b("quickInputList.focusForeground",{dark:Us,light:Us,hcDark:Us,hcLight:Us},N.NC("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),gt=b("quickInputList.focusIconForeground",{dark:vs,light:vs,hcDark:vs,hcLight:vs},N.NC("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),St=b("quickInputList.focusBackground",{dark:$r(ze,is),light:$r(ze,is),hcDark:null,hcLight:null},N.NC("quickInput.listFocusBackground","Quick picker background color for the focused item.")),kt=b("menu.border",{dark:null,light:null,hcDark:T,hcLight:T},N.NC("menuBorder","Border color of menus.")),Ft=b("menu.foreground",{dark:Dt,light:d,hcDark:Dt,hcLight:Dt},N.NC("menuForeground","Foreground color of menu items.")),Vt=b("menu.background",{dark:tt,light:tt,hcDark:tt,hcLight:tt},N.NC("menuBackground","Background color of menu items.")),Jt=b("menu.selectionForeground",{dark:Us,light:Us,hcDark:Us,hcLight:Us},N.NC("menuSelectionForeground","Foreground color of the selected menu item in menus.")),pi=b("menu.selectionBackground",{dark:is,light:is,hcDark:is,hcLight:is},N.NC("menuSelectionBackground","Background color of the selected menu item in menus.")),ki=b("menu.selectionBorder",{dark:null,light:null,hcDark:W,hcLight:W},N.NC("menuSelectionBorder","Border color of the selected menu item in menus.")),qi=b("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:T,hcLight:T},N.NC("menuSeparatorBackground","Color of a separator menu item in menus.")),kn=b("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},N.NC("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse")),Mi=b("toolbar.hoverOutline",{dark:null,light:null,hcDark:W,hcLight:W},N.NC("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),Hi=b("toolbar.activeBackground",{dark:cs(kn,.1),light:Lo(kn,.1),hcDark:null,hcLight:null},N.NC("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),Os=b("editor.snippetTabstopHighlightBackground",{dark:new u.Il(new u.VS(124,124,124,.3)),light:new u.Il(new u.VS(10,50,100,.2)),hcDark:new u.Il(new u.VS(124,124,124,.3)),hcLight:new u.Il(new u.VS(10,50,100,.2))},N.NC("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),wo=b("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),ss=b("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),ro=b("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new u.Il(new u.VS(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},N.NC("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),go=b("breadcrumb.foreground",{light:_i(d,.8),dark:_i(d,.8),hcDark:_i(d,.8),hcLight:_i(d,.8)},N.NC("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),Fs=b("breadcrumb.background",{light:st,dark:st,hcDark:st,hcLight:st},N.NC("breadcrumbsBackground","Background color of breadcrumb items.")),js=b("breadcrumb.focusForeground",{light:Lo(d,.2),dark:cs(d,.1),hcDark:cs(d,.1),hcLight:cs(d,.1)},N.NC("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),qs=b("breadcrumb.activeSelectionForeground",{light:Lo(d,.2),dark:cs(d,.1),hcDark:cs(d,.1),hcLight:cs(d,.1)},N.NC("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),Hs=b("breadcrumbPicker.background",{light:lt,dark:lt,hcDark:lt,hcLight:lt},N.NC("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),zr=.5,ld=u.Il.fromHex("#40C8AE").transparent(zr),Ur=u.Il.fromHex("#40A6FF").transparent(zr),da=u.Il.fromHex("#606060").transparent(.4),Xn=.4,bs=1,un=b("merge.currentHeaderBackground",{dark:ld,light:ld,hcDark:null,hcLight:null},N.NC("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),kr=b("merge.currentContentBackground",{dark:_i(un,Xn),light:_i(un,Xn),hcDark:_i(un,Xn),hcLight:_i(un,Xn)},N.NC("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Tr=b("merge.incomingHeaderBackground",{dark:Ur,light:Ur,hcDark:null,hcLight:null},N.NC("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Mr=b("merge.incomingContentBackground",{dark:_i(Tr,Xn),light:_i(Tr,Xn),hcDark:_i(Tr,Xn),hcLight:_i(Tr,Xn)},N.NC("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Ko=b("merge.commonHeaderBackground",{dark:da,light:da,hcDark:null,hcLight:null},N.NC("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Ar=b("merge.commonContentBackground",{dark:_i(Ko,Xn),light:_i(Ko,Xn),hcDark:_i(Ko,Xn),hcLight:_i(Ko,Xn)},N.NC("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Zs=b("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},N.NC("mergeBorder","Border color on headers and the splitter in inline merge-conflicts.")),uc=b("editorOverviewRuler.currentContentForeground",{dark:_i(un,bs),light:_i(un,bs),hcDark:Zs,hcLight:Zs},N.NC("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),ca=b("editorOverviewRuler.incomingContentForeground",{dark:_i(Tr,bs),light:_i(Tr,bs),hcDark:Zs,hcLight:Zs},N.NC("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),fc=b("editorOverviewRuler.commonContentForeground",{dark:_i(Ko,bs),light:_i(Ko,bs),hcDark:Zs,hcLight:Zs},N.NC("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),_r=b("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},N.NC("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),jr=b("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},N.NC("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),$o=b("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},N.NC("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),ha=b("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},N.NC("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),Cr=b("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},N.NC("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),tr=b("minimap.errorHighlight",{dark:new u.Il(new u.VS(255,18,18,.7)),light:new u.Il(new u.VS(255,18,18,.7)),hcDark:new u.Il(new u.VS(255,50,50,1)),hcLight:"#B5200D"},N.NC("minimapError","Minimap marker color for errors.")),ps=b("minimap.warningHighlight",{dark:Se,light:Se,hcDark:ht,hcLight:ht},N.NC("overviewRuleWarning","Minimap marker color for warnings.")),ua=b("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},N.NC("minimapBackground","Minimap background color.")),ka=b("minimap.foregroundOpacity",{dark:u.Il.fromHex("#000f"),light:u.Il.fromHex("#000f"),hcDark:u.Il.fromHex("#000f"),hcLight:u.Il.fromHex("#000f")},N.NC("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),vr=b("minimapSlider.background",{light:_i(ti,.5),dark:_i(ti,.5),hcDark:_i(ti,.5),hcLight:_i(ti,.5)},N.NC("minimapSliderBackground","Minimap slider background color.")),So=b("minimapSlider.hoverBackground",{light:_i(ri,.5),dark:_i(ri,.5),hcDark:_i(ri,.5),hcLight:_i(ri,.5)},N.NC("minimapSliderHoverBackground","Minimap slider background color when hovering.")),To=b("minimapSlider.activeBackground",{light:_i(Di,.5),dark:_i(Di,.5),hcDark:_i(Di,.5),hcLight:_i(Di,.5)},N.NC("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),ao=b("problemsErrorIcon.foreground",{dark:Ae,light:Ae,hcDark:Ae,hcLight:Ae},N.NC("problemsErrorIconForeground","The color used for the problems error icon.")),dd=b("problemsWarningIcon.foreground",{dark:Se,light:Se,hcDark:Se,hcLight:Se},N.NC("problemsWarningIconForeground","The color used for the problems warning icon.")),cd=b("problemsInfoIcon.foreground",{dark:ft,light:ft,hcDark:ft,hcLight:ft},N.NC("problemsInfoIconForeground","The color used for the problems info icon.")),gc=b("charts.foreground",{dark:d,light:d,hcDark:d,hcLight:d},N.NC("chartsForeground","The foreground color used in charts.")),ul=b("charts.lines",{dark:_i(d,.5),light:_i(d,.5),hcDark:_i(d,.5),hcLight:_i(d,.5)},N.NC("chartsLines","The color used for horizontal lines in charts.")),Go=b("charts.red",{dark:Ae,light:Ae,hcDark:Ae,hcLight:Ae},N.NC("chartsRed","The red color used in chart visualizations.")),eo=b("charts.blue",{dark:ft,light:ft,hcDark:ft,hcLight:ft},N.NC("chartsBlue","The blue color used in chart visualizations.")),Kr=b("charts.yellow",{dark:Se,light:Se,hcDark:Se,hcLight:Se},N.NC("chartsYellow","The yellow color used in chart visualizations.")),fa=b("charts.orange",{dark:$o,light:$o,hcDark:$o,hcLight:$o},N.NC("chartsOrange","The orange color used in chart visualizations.")),Rr=b("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},N.NC("chartsGreen","The green color used in chart visualizations.")),yo=b("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},N.NC("chartsPurple","The purple color used in chart visualizations."));function ir(fn,Jn){var fs,Rs,Ks;switch(fn.op){case 0:return(fs=Ho(fn.value,Jn))===null||fs===void 0?void 0:fs.darken(fn.factor);case 1:return(Rs=Ho(fn.value,Jn))===null||Rs===void 0?void 0:Rs.lighten(fn.factor);case 2:return(Ks=Ho(fn.value,Jn))===null||Ks===void 0?void 0:Ks.transparent(fn.factor);case 3:for(const Ys of fn.values){const or=Ho(Ys,Jn);if(or)return or}return;case 5:return Ho(Jn.defines(fn.if)?fn.then:fn.else,Jn);case 4:{const Ys=Ho(fn.value,Jn);if(!Ys)return;const or=Ho(fn.background,Jn);return or?Ys.isDarkerThan(or)?u.Il.getLighterColor(Ys,or,fn.factor).transparent(fn.transparency):u.Il.getDarkerColor(Ys,or,fn.factor).transparent(fn.transparency):Ys.transparent(fn.factor*fn.transparency)}default:throw(0,Q.vE)(fn)}}function Lo(fn,Jn){return{op:0,value:fn,factor:Jn}}function cs(fn,Jn){return{op:1,value:fn,factor:Jn}}function _i(fn,Jn){return{op:2,value:fn,factor:Jn}}function $r(...fn){return{op:3,values:fn}}function Ta(fn,Jn,fs){return{op:5,if:fn,then:Jn,else:fs}}function Ma(fn,Jn,fs,Rs){return{op:4,value:fn,background:Jn,factor:fs,transparency:Rs}}function Ho(fn,Jn){if(fn!==null){if(typeof fn=="string")return fn[0]==="#"?u.Il.fromHex(fn):Jn.getColor(fn);if(fn instanceof u.Il)return fn;if(typeof fn=="object")return ir(fn,Jn)}}const nr="vscode://schemas/workbench-colors",sr=Z.B.as(ne.I.JSONContribution);sr.registerSchema(nr,C.getColorSchema());const mo=new k.pY(()=>sr.notifySchemaChanged(nr),200);C.onDidChangeSchema(()=>{mo.isScheduled()||mo.schedule()})},44207:(At,Be,m)=>{m.d(Be,{Ks:()=>E,q5:()=>S,s_:()=>W});var k=m(49434),u=m(15324),ie=m(86640),Q=m(4626),N=m(34154),ne=m(88631),Z=m(81891),q=m(77220),z=m(26194);const y={IconContribution:"base.contributions.icons"};var C;(function(he){function _e(ge,me){let re=ge.defaults;for(;z.kS.isThemeIcon(re);){const Y=d.getIcon(re.id);if(!Y)return;re=Y.defaults}return re}he.getDefinition=_e})(C||(C={}));var L;(function(he){function _e(me){return{weight:me.weight,style:me.style,src:me.src.map(re=>({format:re.format,location:re.location.toString()}))}}he.toJSONObject=_e;function ge(me){const re=Y=>(0,Q.HD)(Y)?Y:void 0;if(me&&Array.isArray(me.src)&&me.src.every(Y=>(0,Q.HD)(Y.format)&&(0,Q.HD)(Y.location)))return{weight:re(me.weight),style:re(me.style),src:me.src.map(Y=>({format:Y.format,location:N.o.parse(Y.location)}))}}he.fromJSONObject=ge})(L||(L={}));class b{constructor(){this._onDidChange=new ie.Q5,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,ne.NC)("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:(0,ne.NC)("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${u.dT.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(_e,ge,me,re){const Y=this.iconsById[_e];if(Y){if(me&&!Y.description){Y.description=me,this.iconSchema.properties[_e].markdownDescription=`${me} $(${_e})`;const J=this.iconReferenceSchema.enum.indexOf(_e);J!==-1&&(this.iconReferenceSchema.enumDescriptions[J]=me),this._onDidChange.fire()}return Y}const de={id:_e,description:me,defaults:ge,deprecationMessage:re};this.iconsById[_e]=de;const oe={$ref:"#/definitions/icons"};return re&&(oe.deprecationMessage=re),me&&(oe.markdownDescription=`${me}: $(${_e})`),this.iconSchema.properties[_e]=oe,this.iconReferenceSchema.enum.push(_e),this.iconReferenceSchema.enumDescriptions.push(me||""),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=(Y,de)=>Y.id.localeCompare(de.id),ge=Y=>{for(;z.kS.isThemeIcon(Y.defaults);)Y=this.iconsById[Y.defaults.id];return`codicon codicon-${Y?Y.id:""}`},me=[];me.push("| preview | identifier | default codicon ID | description"),me.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const re=Object.keys(this.iconsById).map(Y=>this.iconsById[Y]);for(const Y of re.filter(de=>!!de.description).sort(_e))me.push(`|<i class="${ge(Y)}"></i>|${Y.id}|${z.kS.isThemeIcon(Y.defaults)?Y.defaults.id:Y.id}|${Y.description||""}|`);me.push("| preview | identifier "),me.push("| ----------- | --------------------------------- |");for(const Y of re.filter(de=>!z.kS.isThemeIcon(de.defaults)).sort(_e))me.push(`|<i class="${ge(Y)}"></i>|${Y.id}|`);return me.join(` `)}}const d=new b;q.B.add(y.IconContribution,d);function S(he,_e,ge,me){return d.registerIcon(he,_e,ge,me)}function E(){return d}function D(){for(const he of u.lA.getAll())d.registerIcon(he.id,he.definition,he.description)}D();const x="vscode://schemas/icons",K=q.B.as(Z.I.JSONContribution);K.registerSchema(x,d.getIconSchema());const T=new k.pY(()=>K.notifySchemaChanged(x),200);d.onDidChange(()=>{T.isScheduled()||T.schedule()});const W=S("widget-close",u.lA.close,(0,ne.NC)("widgetClose","Icon for the close action in widgets.")),A=S("goto-previous-location",u.lA.arrowUp,(0,ne.NC)("previousChangeIcon","Icon for goto previous editor location.")),U=S("goto-next-location",u.lA.arrowDown,(0,ne.NC)("nextChangeIcon","Icon for goto next editor location.")),X=z.kS.modify(u.lA.sync,"spin"),te=z.kS.modify(u.lA.loading,"spin")},36846:(At,Be,m)=>{m.d(Be,{Jl:()=>N,O2:()=>ne,WZ:()=>Q,o:()=>u,tj:()=>q});var k=m(40611);function u(z,y){const C=Object.create(null);for(const L in y){const b=y[L];b&&(C[L]=(0,k.Snq)(b,z))}return C}function ie(z,y,C){function L(){const b=u(z.getColorTheme(),y);typeof C=="function"?C(b):C.style(b)}return L(),z.onDidColorThemeChange(L)}function Q(z,y,C){return ie(y,{badgeBackground:C?.badgeBackground||k.g8u,badgeForeground:C?.badgeForeground||k.qeD,badgeBorder:k.lRK},z)}function N(z,y,C){return ie(y,Object.assign(Object.assign({},ne),C||{}),z)}const ne={listFocusBackground:k._bK,listFocusForeground:k._2n,listFocusOutline:k.Oop,listActiveSelectionBackground:k.dCr,listActiveSelectionForeground:k.M6C,listActiveSelectionIconForeground:k.Tnx,listFocusAndSelectionOutline:k.Bqu,listFocusAndSelectionBackground:k.dCr,listFocusAndSelectionForeground:k.M6C,listInactiveSelectionBackground:k.rg2,listInactiveSelectionIconForeground:k.kvU,listInactiveSelectionForeground:k.ytC,listInactiveFocusBackground:k.s$,listInactiveFocusOutline:k.F3d,listHoverBackground:k.mV1,listHoverForeground:k.$d5,listDropBackground:k.AS1,listSelectionOutline:k.xL1,listHoverOutline:k.xL1,listFilterWidgetBackground:k.vGG,listFilterWidgetOutline:k.oSI,listFilterWidgetNoMatchesOutline:k.Saq,listFilterWidgetShadow:k.y65,treeIndentGuidesStroke:k.UnT,tableColumnsBorder:k.uxu,tableOddRowsBackgroundColor:k.EQn,inputActiveOptionBorder:k.PRb,inputActiveOptionForeground:k.Pvw,inputActiveOptionBackground:k.XEs,inputBackground:k.sEe,inputForeground:k.zJb,inputBorder:k.dt_,inputValidationInfoBackground:k._lC,inputValidationInfoForeground:k.YI3,inputValidationInfoBorder:k.EPQ,inputValidationWarningBackground:k.RV_,inputValidationWarningForeground:k.SUG,inputValidationWarningBorder:k.C3g,inputValidationErrorBackground:k.paE,inputValidationErrorForeground:k._t9,inputValidationErrorBorder:k.OZR},Z={shadowColor:k.rh,borderColor:k.Cdg,foregroundColor:k.DEr,backgroundColor:k.Hz8,selectionForegroundColor:k.jbW,selectionBackgroundColor:k.$DX,selectionBorderColor:k.E3h,separatorColor:k.ZGJ,scrollbarShadow:k._wn,scrollbarSliderBackground:k.etL,scrollbarSliderHoverBackground:k.ABB,scrollbarSliderActiveBackground:k.ynu};function q(z,y,C){return ie(y,Object.assign(Object.assign({},Z),C),z)}},77421:(At,Be,m)=>{m.d(Be,{_T:()=>ie,c3:()=>u,eL:()=>k});var k;(function(Q){Q.DARK="dark",Q.LIGHT="light",Q.HIGH_CONTRAST_DARK="hcDark",Q.HIGH_CONTRAST_LIGHT="hcLight"})(k||(k={}));function u(Q){return Q===k.HIGH_CONTRAST_DARK||Q===k.HIGH_CONTRAST_LIGHT}function ie(Q){return Q===k.DARK||Q===k.HIGH_CONTRAST_DARK}},26194:(At,Be,m)=>{m.d(Be,{EN:()=>z,IP:()=>L,Ic:()=>S,XE:()=>Z,bB:()=>E,kS:()=>y,m6:()=>C});var k=m(15324),u=m(86640),ie=m(50149),Q=m(41846),N=m(77220),ne=m(77421);const Z=(0,Q.yh)("themeService");var q;(function(D){function x(K){return K&&typeof K=="object"&&typeof K.id=="string"}D.isThemeColor=x})(q||(q={}));function z(D){return{id:D}}var y;(function(D){function x(he){return he&&typeof he=="object"&&typeof he.id=="string"&&(typeof he.color>"u"||q.isThemeColor(he.color))}D.isThemeIcon=x;const K=new RegExp(`^\\$\\((${k.dT.iconNameExpression}(?:${k.dT.iconModifierExpression})?)\\)$`);function T(he){const _e=K.exec(he);if(!_e)return;const[,ge]=_e;return{id:ge}}D.fromString=T;function W(he){return{id:he}}D.fromId=W;function A(he,_e){let ge=he.id;const me=ge.lastIndexOf("~");return me!==-1&&(ge=ge.substring(0,me)),_e&&(ge=`${ge}~${_e}`),{id:ge}}D.modify=A;function U(he){const _e=he.id.lastIndexOf("~");if(_e!==-1)return he.id.substring(_e+1)}D.getModifier=U;function X(he,_e){var ge,me;return he.id===_e.id&&((ge=he.color)===null||ge===void 0?void 0:ge.id)===((me=_e.color)===null||me===void 0?void 0:me.id)}D.isEqual=X;function te(he,_e){return{id:he.id,color:_e?z(_e):void 0}}D.asThemeIcon=te,D.asClassNameArray=k.dT.asClassNameArray,D.asClassName=k.dT.asClassName,D.asCSSSelector=k.dT.asCSSSelector})(y||(y={}));function C(D){switch(D){case ne.eL.DARK:return"vs-dark";case ne.eL.HIGH_CONTRAST_DARK:return"hc-black";case ne.eL.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const L={ThemingContribution:"base.contributions.theming"};class b{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new u.Q5}onColorThemeChange(x){return this.themingParticipants.push(x),this.onThemingParticipantAddedEmitter.fire(x),(0,ie.OF)(()=>{const K=this.themingParticipants.indexOf(x);this.themingParticipants.splice(K,1)})}getThemingParticipants(){return this.themingParticipants}}const d=new b;N.B.add(L.ThemingContribution,d);function S(D){return d.onColorThemeChange(D)}class E extends ie.JT{constructor(x){super(),this.themeService=x,this.theme=x.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(K=>this.onThemeChange(K)))}onThemeChange(x){this.theme=x,this.updateStyles()}updateStyles(){}}},85762:(At,Be,m)=>{m.d(Be,{Xt:()=>Q,YO:()=>ie,gJ:()=>N,tJ:()=>u});var k=m(41846);const u=(0,k.yh)("undoRedoService");class ie{constructor(Z,q){this.resource=Z,this.elements=q}}class Q{constructor(){this.id=Q._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}Q._ID=0,Q.None=new Q;class N{constructor(){this.id=N._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}N._ID=0,N.None=new N},63409:(At,Be,m)=>{m.d(Be,{A6:()=>y,eb:()=>ne,ec:()=>N,md:()=>z,uT:()=>Z});var k=m(88631),u=m(37774),ie=m(34154),Q=m(41846);const N=(0,Q.yh)("contextService");function ne(L){const b=L;return typeof b?.id=="string"&&ie.o.isUri(b.uri)}function Z(L){if(L.configuration)return{id:L.id,configPath:L.configuration};if(L.folders.length===1)return{id:L.id,uri:L.folders[0].uri}}class q{constructor(b,d,S,E,D){this._id=b,this._transient=S,this._configuration=E,this._ignorePathCasing=D,this._foldersMap=TernarySearchTree.forUris(this._ignorePathCasing,()=>!0),this.folders=d}get folders(){return this._folders}set folders(b){this._folders=b,this.updateFoldersMap()}get id(){return this._id}get transient(){return this._transient}get configuration(){return this._configuration}set configuration(b){this._configuration=b}getFolder(b){return b&&this._foldersMap.findSubstr(b)||null}updateFoldersMap(){this._foldersMap=TernarySearchTree.forUris(this._ignorePathCasing,()=>!0);for(const b of this.folders)this._foldersMap.set(b.uri,b)}toJSON(){return{id:this.id,folders:this.folders,transient:this.transient,configuration:this.configuration}}}class z{constructor(b,d){this.raw=d,this.uri=b.uri,this.index=b.index,this.name=b.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const y="code-workspace",C=[{name:(0,k.NC)("codeWorkspace","Code Workspace"),extensions:[y]}]},59536:(At,Be,m)=>{m.d(Be,{Y:()=>u});var k=m(41846);const u=(0,k.yh)("workspaceTrustManagementService")},28138:(At,Be,m)=>{m.r(Be),m.d(Be,{completionItemProvider:()=>eE,language:()=>qD,languageConfiguration:()=>GD});var k=m(22632);/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var u=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,Q=Object.getOwnPropertyNames,N=Object.prototype.hasOwnProperty,ne=(f,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Q(e))!N.call(f,s)&&s!==t&&u(f,s,{get:()=>e[s],enumerable:!(i=ie(e,s))||i.enumerable});return f},Z=(f,e,t)=>(ne(f,e,"default"),t&&ne(t,e,"default")),q={};Z(q,k);var z={},y={},C=class{static getOrCreate(f){return y[f]||(y[f]=new C(f)),y[f]}_languageId;_loadingTriggered;_lazyLoadPromise;_lazyLoadPromiseResolve;_lazyLoadPromiseReject;constructor(f){this._languageId=f,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,z[this._languageId].loader().then(f=>this._lazyLoadPromiseResolve(f),f=>this._lazyLoadPromiseReject(f))),this._lazyLoadPromise}};async function L(f){await C.getOrCreate(f).load(),q.editor.createModel("",f).dispose()}function b(f){const e=f.id;z[e]=f,q.languages.register(f);const t=C.getOrCreate(e);q.languages.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),q.languages.onLanguage(e,async()=>{const i=await t.load();q.languages.setLanguageConfiguration(e,i.conf)})}/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>m.e(7107).then(m.bind(m,7107))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>m.e(9082).then(m.bind(m,69082))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>m.e(8685).then(m.bind(m,28685))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>m.e(3646).then(m.bind(m,73646))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>m.e(439).then(m.bind(m,60439))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>m.e(1578).then(m.bind(m,51578))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>m.e(2126).then(m.bind(m,2126))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>m.e(9330).then(m.bind(m,89330))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>m.e(2824).then(m.bind(m,62824))}),b({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>m.e(2824).then(m.bind(m,62824))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>m.e(6712).then(m.bind(m,6712))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>m.e(1490).then(m.bind(m,41490))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>m.e(708).then(m.bind(m,708))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>m.e(9735).then(m.bind(m,99735))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>m.e(5763).then(m.bind(m,95763))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>m.e(4595).then(m.bind(m,54595))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>m.e(4597).then(m.bind(m,54597))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>m.e(5082).then(m.bind(m,5082))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>m.e(4876).then(m.bind(m,24876))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>m.e(9928).then(m.bind(m,59928))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagAutoInterpolationDollar)}),b({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagAngleInterpolationDollar)}),b({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagBracketInterpolationDollar)}),b({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagAngleInterpolationBracket)}),b({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagBracketInterpolationBracket)}),b({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagAutoInterpolationDollar)}),b({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>m.e(4374).then(m.bind(m,14374)).then(f=>f.TagAutoInterpolationBracket)});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>m.e(7646).then(m.bind(m,97646))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>m.e(5351).then(m.bind(m,75351))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>m.e(6308).then(m.bind(m,6308))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>m.e(8960).then(m.bind(m,18960))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>m.e(7942).then(m.bind(m,67942))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>m.e(6086).then(m.bind(m,86086))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>m.e(3259).then(m.bind(m,63259))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>m.e(9571).then(m.bind(m,89571))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>m.e(3263).then(m.bind(m,13263))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"kotlin",extensions:[".kt"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>m.e(298).then(m.bind(m,30298))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>m.e(6392).then(m.bind(m,76392))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>m.e(6846).then(m.bind(m,6846))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>m.e(923).then(m.bind(m,80923))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>m.e(1779).then(m.bind(m,51779))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>m.e(8865).then(m.bind(m,98171))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>m.e(7554).then(m.bind(m,67554))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>m.e(9188).then(m.bind(m,39188))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>m.e(5444).then(m.bind(m,35444))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>m.e(9473).then(m.bind(m,19473))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>m.e(5).then(m.bind(m,10005))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>m.e(4277).then(m.bind(m,4277))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>m.e(1256).then(m.bind(m,31256))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:()=>m.e(4841).then(m.bind(m,24841))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>m.e(2585).then(m.bind(m,62585))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>m.e(6764).then(m.bind(m,86764))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"pla",extensions:[".pla"],loader:()=>m.e(8468).then(m.bind(m,88468))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>m.e(4002).then(m.bind(m,54002))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>m.e(1524).then(m.bind(m,21524))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>m.e(51).then(m.bind(m,51))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>m.e(2156).then(m.bind(m,42156))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>m.e(4267).then(m.bind(m,44267))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>m.e(6930).then(m.bind(m,66930))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>m.e(9936).then(m.bind(m,29936))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>m.e(6917).then(m.bind(m,1896))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>m.e(848).then(m.bind(m,90848))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>m.e(4495).then(m.bind(m,44495))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>m.e(5486).then(m.bind(m,25486))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>m.e(7114).then(m.bind(m,77114))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>m.e(2467).then(m.bind(m,82467))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>m.e(3268).then(m.bind(m,93268))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>m.e(8891).then(m.bind(m,28891))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>m.e(5517).then(m.bind(m,25517))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>m.e(8457).then(m.bind(m,38457))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>m.e(1871).then(m.bind(m,41871))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>m.e(4627).then(m.bind(m,84627))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>m.e(1982).then(m.bind(m,21982))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>m.e(3590).then(m.bind(m,73998))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>m.e(3843).then(m.bind(m,33843))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>m.e(2029).then(m.bind(m,99455))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:()=>m.e(1581).then(m.bind(m,21581))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>m.e(8340).then(m.bind(m,88340))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>m.e(788).then(m.bind(m,20788))}),b({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>m.e(788).then(m.bind(m,20788))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>m.e(9023).then(m.bind(m,39023))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>m.e(2972).then(m.bind(m,42972))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>m.e(4570).then(m.bind(m,24570))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>m.e(1840).then(m.bind(m,51840))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:()=>m.e(3143).then(m.bind(m,63143))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/b({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>m.e(2676).then(m.bind(m,72676))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*//*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var d=Object.defineProperty,S=Object.getOwnPropertyDescriptor,E=Object.getOwnPropertyNames,D=Object.prototype.hasOwnProperty,x=(f,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of E(e))!D.call(f,s)&&s!==t&&d(f,s,{get:()=>e[s],enumerable:!(i=S(e,s))||i.enumerable});return f},K=(f,e,t)=>(x(f,e,"default"),t&&x(t,e,"default")),T={};K(T,k);var W=class{_onDidChange=new T.Emitter;_options;_modeConfiguration;_languageId;constructor(f,e,t){this._languageId=f,this.setOptions(e),this.setModeConfiguration(t)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(f){this._options=f||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(f){this.setOptions(f)}setModeConfiguration(f){this._modeConfiguration=f||Object.create(null),this._onDidChange.fire(this)}},A={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},U={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},X=new W("css",A,U),te=new W("scss",A,U),he=new W("less",A,U);T.languages.css={cssDefaults:X,lessDefaults:he,scssDefaults:te};function _e(){return m.e(8399).then(m.bind(m,42863))}T.languages.onLanguage("less",()=>{_e().then(f=>f.setupMode(he))}),T.languages.onLanguage("scss",()=>{_e().then(f=>f.setupMode(te))}),T.languages.onLanguage("css",()=>{_e().then(f=>f.setupMode(X))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var ge=Object.defineProperty,me=Object.getOwnPropertyDescriptor,re=Object.getOwnPropertyNames,Y=Object.prototype.hasOwnProperty,de=(f,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of re(e))!Y.call(f,s)&&s!==t&&ge(f,s,{get:()=>e[s],enumerable:!(i=me(e,s))||i.enumerable});return f},oe=(f,e,t)=>(de(f,e,"default"),t&&de(t,e,"default")),J={};oe(J,k);var $=class{_onDidChange=new J.Emitter;_options;_modeConfiguration;_languageId;constructor(f,e,t){this._languageId=f,this.setOptions(e),this.setModeConfiguration(t)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(f){this._options=f||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(f){this._modeConfiguration=f||Object.create(null),this._onDidChange.fire(this)}},ue={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},ve={format:ue,suggest:{},data:{useDefaultDataProvider:!0}};function xe(f){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:f===O,documentFormattingEdits:f===O,documentRangeFormattingEdits:f===O}}var O="html",rt="handlebars",ct="razor",Ve=at(O,ve,xe(O)),$e=Ve.defaults,Ee=at(rt,ve,xe(rt)),Fe=Ee.defaults,je=at(ct,ve,xe(ct)),Re=je.defaults;J.languages.html={htmlDefaults:$e,razorDefaults:Re,handlebarDefaults:Fe,htmlLanguageService:Ve,handlebarLanguageService:Ee,razorLanguageService:je,registerHTMLLanguageService:at};function tt(){return m.e(6632).then(m.bind(m,56632))}function at(f,e=ve,t=xe(f)){const i=new $(f,e,t);let s;const o=J.languages.onLanguage(f,async()=>{s=(await tt()).setupMode(i)});return{defaults:i,dispose(){o.dispose(),s?.dispose(),s=void 0}}}/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.34.0(9d278685b078158491964f8fd7ac9628fffa0f30) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var Dt=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,Nt=Object.getOwnPropertyNames,ke=Object.prototype.hasOwnProperty,dt=(f,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Nt(e))!ke.call(f,s)&&s!==t&&Dt(f,s,{get:()=>e[s],enumerable:!(i=Et(e,s))||i.enumerable});return f},mt=(f,e,t)=>(dt(f,e,"default"),t&&dt(t,e,"default")),Wt={};mt(Wt,k);var Kt=class{_onDidChange=new Wt.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(f,e,t){this._languageId=f,this.setDiagnosticsOptions(e),this.setModeConfiguration(t)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(f){this._diagnosticsOptions=f||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(f){this._modeConfiguration=f||Object.create(null),this._onDidChange.fire(this)}},_t={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},wt={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},Ut=new Kt("json",_t,wt);Wt.languages.json={jsonDefaults:Ut};function ni(){return m.e(6860).then(m.bind(m,56860))}Wt.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),Wt.languages.onLanguage("json",()=>{ni().then(f=>f.setupMode(Ut))});var vi=m(90662),Ye=m(28575),Ct=m(89581),Pt=m(96241),ti=m(31365),ri=m(48063),Di=m(20022),Ui=m(5276),Ei=m(2297),Ae=m(21688),Ii=m(13352),Ue=m(74840),Se=m(88631),ht=m(50199),Oe=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ft=function(f,e){return function(t,i){e(t,i,f)}},Yt=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const bi=new ht.uy("selectionAnchorSet",!1);let Gi=class ov{constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=bi.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}static get(e){return e.getContribution(ov.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Ii.Y.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Di.W5().appendText((0,Se.NC)("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,ri.Z9)((0,Se.NC)("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Ii.Y.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Gi.ID="editor.contrib.selectionAnchorController",Gi=Oe([ft(1,ht.i6)],Gi);class Dn extends Ae.R6{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,Se.NC)("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2080),weight:100}})}run(e,t){var i;return Yt(this,void 0,void 0,function*(){(i=Gi.get(t))===null||i===void 0||i.setSelectionAnchor()})}}class st extends Ae.R6{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,Se.NC)("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:bi})}run(e,t){var i;return Yt(this,void 0,void 0,function*(){(i=Gi.get(t))===null||i===void 0||i.goToSelectionAnchor()})}}class bt extends Ae.R6{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,Se.NC)("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:bi,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2089),weight:100}})}run(e,t){var i;return Yt(this,void 0,void 0,function*(){(i=Gi.get(t))===null||i===void 0||i.selectFromAnchorToCursor()})}}class Zt extends Ae.R6{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,Se.NC)("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:bi,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:9,weight:100}})}run(e,t){var i;return Yt(this,void 0,void 0,function*(){(i=Gi.get(t))===null||i===void 0||i.cancelSelectionAnchor()})}}(0,Ae._K)(Gi.ID,Gi),(0,Ae.Qr)(Dn),(0,Ae.Qr)(st),(0,Ae.Qr)(bt),(0,Ae.Qr)(Zt);var Ot=m(49434),lt=m(50149),Xi=m(96314),wi=m(8689),yt=m(62685),wn=m(40115),on=m(24450),si=m(1107),Ne=m(65776),be=m(40611),Xe=m(26194);const Rt=(0,be.P6G)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},Se.NC("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class Ht extends Ae.R6{constructor(){super({id:"editor.action.jumpToBracket",label:Se.NC("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3160,weight:100}})}run(e,t){var i;(i=mi.get(t))===null||i===void 0||i.jumpToBracket()}}class Qt extends Ae.R6{constructor(){super({id:"editor.action.selectToBracket",label:Se.NC("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let o=!0;i&&i.selectBrackets===!1&&(o=!1),(s=mi.get(t))===null||s===void 0||s.selectToBracket(o)}}class ai{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class mi extends lt.JT{constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ot.pY(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(66),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(66)&&(this._matchBrackets=this._editor.getOption(66),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}static get(e){return e.getContribution(mi.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const s=i.getStartPosition(),o=e.bracketPairs.matchBracket(s);let c=null;if(o)o[0].containsPosition(s)&&!o[1].containsPosition(s)?c=o[1].getStartPosition():o[1].containsPosition(s)&&(c=o[0].getStartPosition());else{const p=e.bracketPairs.findEnclosingBrackets(s);if(p)c=p[1].getStartPosition();else{const P=e.bracketPairs.findNextBracket(s);P&&P.range&&(c=P.range.getStartPosition())}}return c?new Ii.Y(c.lineNumber,c.column,c.lineNumber,c.column):new Ii.Y(s.lineNumber,s.column,s.lineNumber,s.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(s=>{const o=s.getStartPosition();let c=t.bracketPairs.matchBracket(o);if(!c&&(c=t.bracketPairs.findEnclosingBrackets(o),!c)){const j=t.bracketPairs.findNextBracket(o);j&&j.range&&(c=t.bracketPairs.matchBracket(j.range.getStartPosition()))}let p=null,P=null;if(c){c.sort(yt.e.compareRangesUsingStarts);const[j,V]=c;if(p=e?j.getStartPosition():j.getEndPosition(),P=e?V.getEndPosition():V.getStartPosition(),V.containsPosition(o)){const ae=p;p=P,P=ae}}p&&P&&i.push(new Ii.Y(p.lineNumber,p.column,P.lineNumber,P.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const s=i.brackets;s&&(e[t++]={range:s[0],options:i.options},e[t++]={range:s[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let s=[];this._lastVersionId===i&&(s=this._lastBracketsData);const o=[];let c=0;for(let ae=0,ye=e.length;ae<ye;ae++){const We=e[ae];We.isEmpty()&&(o[c++]=We.getStartPosition())}o.length>1&&o.sort(wi.L.compare);const p=[];let P=0,j=0;const V=s.length;for(let ae=0,ye=o.length;ae<ye;ae++){const We=o[ae];for(;j<V&&s[j].position.isBefore(We);)j++;if(j<V&&s[j].position.equals(We))p[P++]=s[j];else{let Ze=t.bracketPairs.matchBracket(We,20),it=mi._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!Ze&&this._matchBrackets==="always"&&(Ze=t.bracketPairs.findEnclosingBrackets(We,20),it=mi._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),p[P++]=new ai(We,Ze,it)}}this._lastBracketsData=p,this._lastVersionId=i}}mi.ID="editor.contrib.bracketMatchingController",mi._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=on.qx.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,Xe.EN)(Rt),position:wn.sh.Center}}),mi._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=on.qx.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"}),(0,Ae._K)(mi.ID,mi),(0,Ae.Qr)(Qt),(0,Ae.Qr)(Ht),(0,Xe.Ic)((f,e)=>{const t=f.getColor(si.TC);t&&e.addRule(`.monaco-editor .bracket-match { background-color: ${t}; }`);const i=f.getColor(si.Dl);i&&e.addRule(`.monaco-editor .bracket-match { border: 1px solid ${i}; }`)}),Ne.BH.appendMenuItem(Ne.eH.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:Se.NC({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class ci{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,s=this._selection.startColumn,o=this._selection.endColumn;if(!(this._isMovingLeft&&s===1)&&!(!this._isMovingLeft&&o===e.getLineMaxColumn(i)))if(this._isMovingLeft){const c=new yt.e(i,s-1,i,s),p=e.getValueInRange(c);t.addEditOperation(c,null),t.addEditOperation(new yt.e(i,o,i,o),p)}else{const c=new yt.e(i,o,i,o+1),p=e.getValueInRange(c);t.addEditOperation(c,null),t.addEditOperation(new yt.e(i,s,i,s),p)}}computeCursorState(e,t){return this._isMovingLeft?new Ii.Y(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Ii.Y(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class qt extends Ae.R6{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],s=t.getSelections();for(const o of s)i.push(new ci(o,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class li extends qt{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:Se.NC("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:Ue.u.writable})}}class xi extends qt{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:Se.NC("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:Ue.u.writable})}}(0,Ae.Qr)(li),(0,Ae.Qr)(xi);var Si=m(58216),Pi=m(67450);class Ti extends Ae.R6{constructor(){super({id:"editor.action.transposeLetters",label:Se.NC("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),s=[],o=t.getSelections();for(const c of o){if(!c.isEmpty())continue;const p=c.startLineNumber,P=c.startColumn,j=i.getLineMaxColumn(p);if(p===1&&(P===1||P===2&&j===2))continue;const V=P===j?c.getPosition():Pi.o.rightPosition(i,c.getPosition().lineNumber,c.getPosition().column),ae=Pi.o.leftPosition(i,V),ye=Pi.o.leftPosition(i,ae),We=i.getValueInRange(yt.e.fromPositions(ye,ae)),Ze=i.getValueInRange(yt.e.fromPositions(ae,V)),it=yt.e.fromPositions(ye,V);s.push(new Si.T4(it,Ze+We))}s.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop())}}(0,Ae.Qr)(Ti);var en=m(53909),Fi=m(75874),gn=m(76179),Qi=m(23728),Oi=m(65102),Bi=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const Wi="9_cutcopypaste",an=Fi.tY||document.queryCommandSupported("cut"),Ci=Fi.tY||document.queryCommandSupported("copy"),Kn=typeof navigator.clipboard>"u"||en.isFirefox?document.queryCommandSupported("paste"):!0;function Vn(f){return f.register(),f}const Nn=an?Vn(new Ae.AJ({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Fi.tY?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Ne.eH.MenubarEditMenu,group:"2_ccp",title:Se.NC({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Ne.eH.EditorContext,group:Wi,title:Se.NC("actions.clipboard.cutLabel","Cut"),when:Ue.u.writable,order:1},{menuId:Ne.eH.CommandPalette,group:"",title:Se.NC("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Ne.eH.SimpleEditorContext,group:Wi,title:Se.NC("actions.clipboard.cutLabel","Cut"),when:Ue.u.writable,order:1}]})):void 0,Rn=Ci?Vn(new Ae.AJ({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Fi.tY?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Ne.eH.MenubarEditMenu,group:"2_ccp",title:Se.NC({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Ne.eH.EditorContext,group:Wi,title:Se.NC("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Ne.eH.CommandPalette,group:"",title:Se.NC("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Ne.eH.SimpleEditorContext,group:Wi,title:Se.NC("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Ne.BH.appendMenuItem(Ne.eH.MenubarEditMenu,{submenu:Ne.eH.MenubarCopy,title:{value:Se.NC("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3}),Ne.BH.appendMenuItem(Ne.eH.EditorContext,{submenu:Ne.eH.EditorContextCopy,title:{value:Se.NC("copy as","Copy As"),original:"Copy As"},group:Wi,order:3}),Ne.BH.appendMenuItem(Ne.eH.EditorContext,{submenu:Ne.eH.EditorContextShare,title:{value:Se.NC("share","Share"),original:"Share"},group:"11_share",order:-1});const $i=Kn?Vn(new Ae.AJ({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Fi.tY?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Ne.eH.MenubarEditMenu,group:"2_ccp",title:Se.NC({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Ne.eH.EditorContext,group:Wi,title:Se.NC("actions.clipboard.pasteLabel","Paste"),when:Ue.u.writable,order:4},{menuId:Ne.eH.CommandPalette,group:"",title:Se.NC("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Ne.eH.SimpleEditorContext,group:Wi,title:Se.NC("actions.clipboard.pasteLabel","Paste"),when:Ue.u.writable,order:4}]})):void 0;class Tn extends Ae.R6{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:Se.NC("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(33)&&t.getSelection().isEmpty()||(gn.RA.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),gn.RA.forceCopyWithSyntaxHighlighting=!1)}}function qn(f,e){f&&(f.addImplementation(1e4,"code-editor",(t,i)=>{const s=t.get(Qi.$).getFocusedCodeEditor();if(s&&s.hasTextFocus()){const o=s.getOption(33),c=s.getSelection();return c&&c.isEmpty()&&!o||document.execCommand(e),!0}return!1}),f.addImplementation(0,"generic-dom",(t,i)=>(document.execCommand(e),!0)))}qn(Nn,"cut"),qn(Rn,"copy"),$i&&($i.addImplementation(1e4,"code-editor",(f,e)=>{const t=f.get(Qi.$),i=f.get(Oi.p),s=t.getFocusedCodeEditor();return s&&s.hasTextFocus()?!document.execCommand("paste")&&Fi.$L?(()=>Bi(void 0,void 0,void 0,function*(){const c=yield i.readText();if(c!==""){const p=gn.Nl.INSTANCE.get(c);let P=!1,j=null,V=null;p&&(P=s.getOption(33)&&!!p.isFromEmptySelection,j=typeof p.multicursorText<"u"?p.multicursorText:null,V=p.mode),s.trigger("keyboard","paste",{text:c,pasteOnNewLine:P,multicursorText:j,mode:V})}}))():!0:!1}),$i.addImplementation(0,"generic-dom",(f,e)=>(document.execCommand("paste"),!0))),Ci&&(0,Ae.Qr)(Tn);var Ai=m(58923),ts=m(11986),Ni=m(34504),rs=m(94461),Yi=m(64467),hn=m(99359),Vi=m(35230),vn=m(34154),Qn=m(40681),Ss=m(7754),mn=m(88324),Is=m(61554);class Sn{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+Sn.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new Sn(this.value+Sn.sep+e)}}Sn.sep=".",Sn.None=new Sn("@@none@@"),Sn.Empty=new Sn(""),Sn.QuickFix=new Sn("quickfix"),Sn.Refactor=new Sn("refactor"),Sn.Source=new Sn("source"),Sn.SourceOrganizeImports=Sn.Source.append("organizeImports"),Sn.SourceFixAll=Sn.Source.append("fixAll");var Ln;(function(f){f.Refactor="refactor",f.RefactorPreview="refactor preview",f.Lightbulb="lightbulb",f.Default="other (default)",f.SourceAction="source action",f.QuickFix="quick fix action",f.FixAll="fix all",f.OrganizeImports="organize imports",f.AutoFix="auto fix",f.QuickFixHover="quick fix hover window",f.OnSave="save participants",f.ProblemsView="problems view"})(Ln||(Ln={}));function fo(f,e){return!(f.include&&!f.include.intersects(e)||f.excludes&&f.excludes.some(t=>As(e,t,f.include))||!f.includeSourceActions&&Sn.Source.contains(e))}function Ms(f,e){const t=e.kind?new Sn(e.kind):void 0;return!(f.include&&(!t||!f.include.contains(t))||f.excludes&&t&&f.excludes.some(i=>As(t,i,f.include))||!f.includeSourceActions&&t&&Sn.Source.contains(t)||f.onlyIncludePreferredActions&&!e.isPreferred)}function As(f,e,t){return!(!e.contains(f)||t&&e.contains(t))}class xt{constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}static fromUser(e,t){return!e||typeof e!="object"?new xt(t.kind,t.apply,!1):new xt(xt.getKindFromUser(e,t.kind),xt.getApplyFromUser(e,t.apply),xt.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new Sn(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}}var ds=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const ys="editor.action.codeAction",is="editor.action.refactor",Us="editor.action.refactor.preview",vs="editor.action.sourceAction",Ps="editor.action.organizeImports",Gs="editor.action.fixAll";class Qs{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return ds(this,void 0,void 0,function*(){if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let i;try{i=yield this.provider.resolveCodeAction(this.action,e)}catch(s){(0,Vi.Cp)(s)}i&&(this.action.edit=i.edit)}return this})}}class as extends lt.JT{constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(as.codeActionsComparator),this.validActions=this.allActions.filter(({action:s})=>!s.disabled)}static codeActionsComparator({action:e},{action:t}){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:(0,hn.Of)(e.diagnostics)?(0,hn.Of)(t.diagnostics)?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:(0,hn.Of)(t.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Sn.QuickFix.contains(new Sn(e.kind))&&!!e.isPreferred)}}const Wn={actions:[],documentation:void 0};function pn(f,e,t,i,s,o){var c;const p=i.filter||{},P={only:(c=p.include)===null||c===void 0?void 0:c.value,trigger:i.type},j=new Qn.YQ(e,o),V=$t(f,e,p),ae=new lt.SL,ye=V.map(Ze=>ds(this,void 0,void 0,function*(){try{s.report(Ze);const it=yield Ze.provideCodeActions(e,t,P,j.token);if(it&&ae.add(it),j.token.isCancellationRequested)return Wn;const vt=(it?.actions||[]).filter(hi=>hi&&Ms(p,hi)),zt=Ri(Ze,vt,p.include);return{actions:vt.map(hi=>new Qs(hi,Ze)),documentation:zt}}catch(it){if((0,Vi.n2)(it))throw it;return(0,Vi.Cp)(it),Wn}})),We=f.onDidChange(()=>{const Ze=f.all(e);(0,hn.fS)(Ze,V)||j.cancel()});return Promise.all(ye).then(Ze=>{const it=Ze.map(zt=>zt.actions).flat(),vt=(0,hn.kX)(Ze.map(zt=>zt.documentation));return new as(it,vt,ae)}).finally(()=>{We.dispose(),j.dispose()})}function $t(f,e,t){return f.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(s=>fo(t,new Sn(s))):!0)}function Ri(f,e,t){if(!f.documentation)return;const i=f.documentation.map(s=>({kind:new Sn(s.kind),command:s.command}));if(t){let s;for(const o of i)o.kind.contains(t)&&(s?s.kind.contains(o.kind)&&(s=o):s=o);if(s)return s?.command}for(const s of e)if(s.kind){for(const o of i)if(o.kind.contains(new Sn(s.kind)))return o.command}}mn.P0.registerCommand("_executeCodeActionProvider",function(f,e,t,i,s){return ds(this,void 0,void 0,function*(){if(!(e instanceof vn.o))throw(0,Vi.b1)();const{codeActionProvider:o}=f.get(Yi.p),c=f.get(Ss.q).getModel(e);if(!c)throw(0,Vi.b1)();const p=Ii.Y.isISelection(t)?Ii.Y.liftSelection(t):yt.e.isIRange(t)?c.validateRange(t):void 0;if(!p)throw(0,Vi.b1)();const P=typeof i=="string"?new Sn(i):void 0,j=yield pn(o,c,p,{type:1,triggerAction:Ln.Default,filter:{includeSourceActions:!0,include:P}},Is.Ex.None,Ai.T.None),V=[],ae=Math.min(j.validActions.length,typeof s=="number"?s:0);for(let ye=0;ye<ae;ye++)V.push(j.validActions[ye].resolve(Ai.T.None));try{return yield Promise.all(V),j.validActions.map(ye=>ye.action)}finally{setTimeout(()=>j.dispose(),100)}})});var sn=m(69446),Mn=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ms=function(f,e){return function(t,i){e(t,i,f)}};let ns=class L_{constructor(e,t){this._messageWidget=new lt.XK,this._messageListeners=new lt.SL,this._editor=e,this._visible=L_.MESSAGE_VISIBLE.bindTo(t)}static get(e){return e.getContribution(L_.ID)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){(0,ri.Z9)(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new w(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(new Ot._F(()=>this.closeMessage(),3e3));let i;this._messageListeners.add(this._editor.onMouseMove(s=>{s.target.position&&(i?i.containsPosition(s.target.position)||this.closeMessage():i=new yt.e(t.lineNumber-3,1,s.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(w.fadeOut(this._messageWidget.value))}};ns.ID="editor.contrib.messageController",ns.MESSAGE_VISIBLE=new ht.uy("messageVisible",!1,Se.NC("messageVisible","Whether the editor is currently showing an inline message")),ns=Mn([ms(1,ht.i6)],ns);const et=Ae._l.bindToContribution(ns.get);(0,Ae.fK)(new et({id:"leaveEditorMessage",precondition:ns.MESSAGE_VISIBLE,handler:f=>f.closeMessage(),kbOpts:{weight:100+30,primary:9}}));class w{constructor(e,{lineNumber:t,column:i},s){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const o=document.createElement("div");o.classList.add("anchor","top"),this._domNode.appendChild(o);const c=document.createElement("div");c.classList.add("message"),c.textContent=s,this._domNode.appendChild(c);const p=document.createElement("div");p.classList.add("anchor","below"),this._domNode.appendChild(p),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}}(0,Ae._K)(ns.ID,ns);var F=m(41846),M=m(22120),ee=m(56629),_=m(2599),B=m(35149),ce=m(47133),we=m(30746),Le=m(29205),Me=m(24933),ze=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Ge=function(f,e){return function(t,i){e(t,i,f)}},gt=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const St={Visible:new ht.uy("CodeActionMenuVisible",!1,(0,Se.NC)("CodeActionMenuVisible","Whether the code action list widget is visible"))};class kt extends _.aU{constructor(e,t){super(e.command?e.command.id:e.title,Ft(e.title),void 0,!e.disabled,t),this.action=e}}function Ft(f){return f.replace(/\r\n|\r|\n/g," ")}const Vt="codeActionWidget",Jt=26;let pi=class{constructor(e,t){this.acceptKeybindings=e,this.keybindingService=t}get templateId(){return Vt}renderTemplate(e){const t=Object.create(null);return t.disposables=[],t.root=e,t.text=document.createElement("span"),e.append(t.text),t}renderElement(e,t,i){const s=i,o=e.title,c=e.isEnabled,p=e.isSeparator,P=e.isDocumentation;s.text.textContent=o,c?s.root.classList.remove("option-disabled"):(s.root.classList.add("option-disabled"),s.root.style.backgroundColor="transparent !important"),p&&(s.root.classList.add("separator"),s.root.style.height="10px"),P||(()=>{var V,ae;const[ye,We]=this.acceptKeybindings;s.root.title=(0,Se.NC)({key:"label",comment:['placeholders are keybindings, e.g "F2 to Refactor, Shift+F2 to Preview"']},"{0} to Refactor, {1} to Preview",(V=this.keybindingService.lookupKeybinding(ye))===null||V===void 0?void 0:V.getLabel(),(ae=this.keybindingService.lookupKeybinding(We))===null||ae===void 0?void 0:ae.getLabel())})()}disposeTemplate(e){e.disposables=(0,lt.B9)(e.disposables)}};pi=ze([Ge(1,Le.d)],pi);let ki=class D_ extends lt.JT{constructor(e,t,i,s,o,c,p,P,j,V){super(),this._editor=e,this._delegate=t,this._contextMenuService=i,this._languageFeaturesService=o,this._telemetryService=c,this._configurationService=P,this._contextViewService=j,this._contextKeyService=V,this._showingActions=this._register(new lt.XK),this.codeActionList=this._register(new lt.XK),this.options=[],this._visible=!1,this.viewItems=[],this.hasSeperator=!1,this._keybindingResolver=new qi({getKeybindings:()=>s.getKeybindings()}),this._ctxMenuWidgetVisible=St.Visible.bindTo(this._contextKeyService),this.listRenderer=new pi(["onEnterSelectCodeAction","onEnterSelectCodeActionWithPreview"],s)}get isVisible(){return this._visible}isCodeActionWidgetEnabled(e){return this._configurationService.getValue("editor.experimental.useCustomCodeActionMenu",{resource:e.uri})}_onListSelection(e){e.elements.length&&e.elements.forEach(t=>{t.isEnabled&&(t.action.run(),this.hideCodeActionWidget())})}_onListHover(e){var t,i,s,o;e.element?!((i=e.element)===null||i===void 0)&&i.isEnabled?((s=this.codeActionList.value)===null||s===void 0||s.setFocus([e.element.index]),this.focusedEnabledItem=this.viewItems.indexOf(e.element),this.currSelectedItem=e.element.index):(this.currSelectedItem=void 0,(o=this.codeActionList.value)===null||o===void 0||o.setFocus([e.element.index])):(this.currSelectedItem=void 0,(t=this.codeActionList.value)===null||t===void 0||t.setFocus([]))}renderCodeActionMenuList(e,t){var i;const s=new lt.SL,o=document.createElement("div"),c=document.createElement("div");this.block=e.appendChild(c),this.block.classList.add("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",s.add(M.nm(this.block,M.tw.MOUSE_DOWN,ye=>ye.stopPropagation())),o.id="codeActionMenuWidget",o.classList.add("codeActionMenuWidget"),e.appendChild(o),this.codeActionList.value=new ee.aV("codeActionWidget",o,{getHeight(ye){return ye.isSeparator?10:Jt},getTemplateId(ye){return"codeActionWidget"}},[this.listRenderer],{keyboardSupport:!1}),s.add(this.codeActionList.value.onMouseOver(ye=>this._onListHover(ye))),s.add(this.codeActionList.value.onDidChangeFocus(ye=>{var We;return(We=this.codeActionList.value)===null||We===void 0?void 0:We.domFocus()})),s.add(this.codeActionList.value.onDidChangeSelection(ye=>this._onListSelection(ye))),s.add(this._editor.onDidLayoutChange(ye=>this.hideCodeActionWidget())),t.forEach((ye,We)=>{const Ze=ye.class==="separator";let it=!1;ye instanceof kt&&(it=ye.action.kind===D_.documentationID),Ze&&(this.hasSeperator=!0);const vt={title:ye.label,detail:ye.tooltip,action:t[We],isEnabled:ye.enabled,isSeparator:Ze,index:We,isDocumentation:it};ye.enabled&&this.viewItems.push(vt),this.options.push(vt)}),this.codeActionList.value.splice(0,this.codeActionList.value.length,this.options);const p=this.hasSeperator?(t.length-1)*Jt+10:t.length*Jt;o.style.height=String(p)+"px",this.codeActionList.value.layout(p);const P=[];this.options.forEach((ye,We)=>{var Ze,it;if(!this.codeActionList.value)return;const vt=(it=document.getElementById((Ze=this.codeActionList.value)===null||Ze===void 0?void 0:Ze.getElementID(We)))===null||it===void 0?void 0:it.getElementsByTagName("span")[0].offsetWidth;P.push(Number(vt))});const j=Math.max(...P);o.style.width=j+52+"px",(i=this.codeActionList.value)===null||i===void 0||i.layout(p,j),this.viewItems.length<1||this.viewItems.every(ye=>ye.isDocumentation)?this.currSelectedItem=void 0:(this.focusedEnabledItem=0,this.currSelectedItem=this.viewItems[0].index,this.codeActionList.value.setFocus([this.currSelectedItem])),this.codeActionList.value.domFocus();const V=M.go(e),ae=V.onDidBlur(()=>{this.hideCodeActionWidget()});return s.add(ae),s.add(V),this._ctxMenuWidgetVisible.set(!0),s}focusPrevious(){var e;if(typeof this.focusedEnabledItem>"u")this.focusedEnabledItem=this.viewItems[0].index;else if(this.viewItems.length<1)return!1;const t=this.focusedEnabledItem;let i;do this.focusedEnabledItem=this.focusedEnabledItem-1,this.focusedEnabledItem<0&&(this.focusedEnabledItem=this.viewItems.length-1),i=this.viewItems[this.focusedEnabledItem],(e=this.codeActionList.value)===null||e===void 0||e.setFocus([i.index]),this.currSelectedItem=i.index;while(this.focusedEnabledItem!==t&&(!i.isEnabled||i.action.id===_.Z0.ID));return!0}focusNext(){var e;if(typeof this.focusedEnabledItem>"u")this.focusedEnabledItem=this.viewItems.length-1;else if(this.viewItems.length<1)return!1;const t=this.focusedEnabledItem;let i;do this.focusedEnabledItem=(this.focusedEnabledItem+1)%this.viewItems.length,i=this.viewItems[this.focusedEnabledItem],(e=this.codeActionList.value)===null||e===void 0||e.setFocus([i.index]),this.currSelectedItem=i.index;while(this.focusedEnabledItem!==t&&(!i.isEnabled||i.action.id===_.Z0.ID));return!0}navigateListWithKeysUp(){this.focusPrevious()}navigateListWithKeysDown(){this.focusNext()}onEnterSet(){var e;typeof this.currSelectedItem=="number"&&((e=this.codeActionList.value)===null||e===void 0||e.setSelection([this.currSelectedItem]))}dispose(){super.dispose()}hideCodeActionWidget(){this._ctxMenuWidgetVisible.reset(),this.options=[],this.viewItems=[],this.focusedEnabledItem=0,this.currSelectedItem=void 0,this.hasSeperator=!1,this._contextViewService.hideContextView({source:this})}codeActionTelemetry(e,t,i){this._telemetryService.publicLog2("codeAction.applyCodeAction",{codeActionFrom:e,validCodeActions:i.validActions.length,cancelled:t})}show(e,t,i,s){return gt(this,void 0,void 0,function*(){const o=this._editor.getModel();if(!o)return;const c=s.includeDisabledActions?t.allActions:t.validActions;if(!c.length){this._visible=!1;return}if(!this._editor.getDomNode())throw this._visible=!1,(0,Vi.F0)();this._visible=!0,this._showingActions.value=t;const p=this.getMenuActions(e,c,t.documentation),P=wi.L.isIPosition(i)?this._toCoords(i):i||{x:0,y:0},j=this._keybindingResolver.getResolver(),V=this._editor.getOption(117);this.isCodeActionWidgetEnabled(o)?this._contextViewService.showContextView({getAnchor:()=>P,render:ae=>this.renderCodeActionMenuList(ae,p),onHide:ae=>{const ye=s.fromLightbulb?Ln.Lightbulb:e.triggerAction;this.codeActionTelemetry(ye,ae,t),this._visible=!1,this._editor.focus()}},this._editor.getDomNode(),!1):this._contextMenuService.showContextMenu({domForShadowRoot:V?this._editor.getDomNode():void 0,getAnchor:()=>P,getActions:()=>p,onHide:ae=>{const ye=s.fromLightbulb?Ln.Lightbulb:e.triggerAction;this.codeActionTelemetry(ye,ae,t),this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:ae=>ae instanceof kt?j(ae.action):void 0})})}getMenuActions(e,t,i){var s,o;const c=V=>new kt(V.action,()=>this._delegate.onSelectCodeAction(V,e)),p=t.map(c),P=[...i],j=this._editor.getModel();if(j&&p.length)for(const V of this._languageFeaturesService.codeActionProvider.all(j))V._getAdditionalMenuItems&&P.push(...V._getAdditionalMenuItems({trigger:e.type,only:(o=(s=e.filter)===null||s===void 0?void 0:s.include)===null||o===void 0?void 0:o.value},t.map(ae=>ae.action)));return P.length&&p.push(new _.Z0,...P.map(V=>c(new Qs({title:V.title,command:V,kind:D_.documentationID},void 0)))),p}_toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=M.i(this._editor.getDomNode()),s=i.left+t.left,o=i.top+t.top+t.height;return{x:s,y:o}}};ki.documentationID="_documentation",ki=ze([Ge(2,we.i),Ge(3,Le.d),Ge(4,Yi.p),Ge(5,Me.b),Ge(6,Xe.XE),Ge(7,ce.Ui),Ge(8,we.u),Ge(9,ht.i6)],ki);class qi{constructor(e){this._keybindingProvider=e}getResolver(){const e=new ts.o(()=>this._keybindingProvider.getKeybindings().filter(t=>qi.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===Ps?i={kind:Sn.SourceOrganizeImports.value}:t.command===Gs&&(i={kind:Sn.SourceFixAll.value}),Object.assign({resolvedKeybinding:t.resolvedKeybinding},xt.fromUser(i,{kind:Sn.None,apply:"never"}))}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.getValue());return i?.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new Sn(e.kind);return t.filter(s=>s.kind.contains(i)).filter(s=>s.preferred?e.isPreferred:!0).reduceRight((s,o)=>s?s.kind.contains(o.kind)?o:s:o,void 0)}}qi.codeActionCommands=[is,ys,vs,Ps,Gs];var kn=m(24640),Mi=m(15324),Hi=m(86640),Os=m(92446),wo=m(74654),ss=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ro=function(f,e){return function(t,i){e(t,i,f)}},go;(function(f){f.Hidden={type:0};class e{constructor(i,s,o,c){this.actions=i,this.trigger=s,this.editorPosition=o,this.widgetPosition=c,this.type=1}}f.Showing=e})(go||(go={}));let Fs=class rv extends lt.JT{constructor(e,t,i,s){super(),this._editor=e,this._quickFixActionId=t,this._preferredFixActionId=i,this._keybindingService=s,this._onClick=this._register(new Hi.Q5),this.onClick=this._onClick.event,this._state=go.Hidden,this._domNode=document.createElement("div"),this._domNode.className=Mi.lA.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(o=>{const c=this._editor.getModel();(this.state.type!==1||!c||this.state.editorPosition.lineNumber>=c.getLineCount())&&this.hide()})),kn.o.ignoreTarget(this._domNode),this._register(M.GQ(this._domNode,o=>{if(this.state.type!==1)return;this._editor.focus(),o.preventDefault();const{top:c,height:p}=M.i(this._domNode),P=this._editor.getOption(61);let j=Math.floor(P/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(j+=P),this._onClick.fire({x:o.posx,y:c+p+j,actions:this.state.actions,trigger:this.state.trigger})})),this._register(M.nm(this._domNode,"mouseenter",o=>{(o.buttons&1)===1&&this.hide()})),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(59)&&!this._editor.getOption(59).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.hide();const s=this._editor.getOptions();if(!s.get(59).enabled)return this.hide();const o=this._editor.getModel();if(!o)return this.hide();const{lineNumber:c,column:p}=o.validatePosition(i),P=o.getOptions().tabSize,j=s.get(46),V=o.getLineContent(c),ae=(0,wo.q)(V,P),ye=j.spaceWidth*ae>22,We=it=>it>2&&this._editor.getTopForLineNumber(it)===this._editor.getTopForLineNumber(it-1);let Ze=c;if(!ye){if(c>1&&!We(c-1))Ze-=1;else if(!We(c+1))Ze+=1;else if(p*j.spaceWidth<22)return this.hide()}this.state=new go.Showing(e,t,i,{position:{lineNumber:Ze,column:1},preference:rv._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=go.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...Mi.lA.lightBulb.classNamesArray),this._domNode.classList.add(...Mi.lA.lightbulbAutofix.classNamesArray);const t=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(t){this.title=Se.NC("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",t.getLabel());return}}this._domNode.classList.remove(...Mi.lA.lightbulbAutofix.classNamesArray),this._domNode.classList.add(...Mi.lA.lightBulb.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._quickFixActionId);e?this.title=Se.NC("codeActionWithKb","Show Code Actions ({0})",e.getLabel()):this.title=Se.NC("codeAction","Show Code Actions")}set title(e){this._domNode.title=e}};Fs._posPref=[0],Fs=ss([ro(3,Le.d)],Fs),(0,Xe.Ic)((f,e)=>{var t;const i=(t=f.getColor(be.cvW))===null||t===void 0?void 0:t.transparent(.7),s=f.getColor(be.Fu1);s&&e.addRule(` .monaco-editor .contentWidgets ${Mi.lA.lightBulb.cssSelector} { color: ${s}; background-color: ${i}; }`);const o=f.getColor(be.sKV);o&&e.addRule(` .monaco-editor .contentWidgets ${Mi.lA.lightbulbAutofix.cssSelector} { color: ${o}; background-color: ${i}; }`)});var js=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},qs=function(f,e){return function(t,i){e(t,i,f)}},Hs=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},zr=function(f,e,t,i,s){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?f!==e||!s:!e.has(f))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?s.call(f,t):s?s.value=t:e.set(f,t),t},ld=function(f,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?f!==e||!i:!e.has(f))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(f):i?i.value:e.get(f)},Ur;let da=class extends lt.JT{constructor(e,t,i,s,o){super(),this._editor=e,this.delegate=s,this._activeCodeActions=this._register(new lt.XK),this.previewOn=!1,Ur.set(this,!1),this._codeActionWidget=new ts.o(()=>this._register(o.createInstance(ki,this._editor,{onSelectCodeAction:(c,p)=>Hs(this,void 0,void 0,function*(){this.previewOn?this.delegate.applyCodeAction(c,!0,!!this.previewOn):this.delegate.applyCodeAction(c,!0,!!p.preview),this.previewOn=!1})}))),this._lightBulbWidget=new ts.o(()=>{const c=this._register(o.createInstance(Fs,this._editor,t,i));return this._register(c.onClick(p=>this.showCodeActionList(p.trigger,p.actions,p,{includeDisabledActions:!1,fromLightbulb:!0}))),c})}dispose(){zr(this,Ur,!0,"f"),super.dispose()}hideCodeActionWidget(){this._codeActionWidget.hasValue()&&this._codeActionWidget.getValue().hideCodeActionWidget()}onEnter(){this._codeActionWidget.hasValue()&&this._codeActionWidget.getValue().onEnterSet()}onPreviewEnter(){this.previewOn=!0,this.onEnter()}navigateList(e){this._codeActionWidget.hasValue()&&(e?this._codeActionWidget.getValue().navigateListWithKeysUp():this._codeActionWidget.getValue().navigateListWithKeysDown())}update(e){var t,i,s,o,c;return Hs(this,void 0,void 0,function*(){if(e.type!==1){(t=this._lightBulbWidget.rawValue)===null||t===void 0||t.hide();return}let p;try{p=yield e.actions}catch(P){(0,Vi.dL)(P);return}if(!ld(this,Ur,"f"))if(this._lightBulbWidget.getValue().update(p,e.trigger,e.position),e.trigger.type===1){if(!((i=e.trigger.filter)===null||i===void 0)&&i.include){const j=this.tryGetValidActionToApply(e.trigger,p);if(j){try{this._lightBulbWidget.getValue().hide(),yield this.delegate.applyCodeAction(j,!1,!1)}finally{p.dispose()}return}if(e.trigger.context){const V=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,p);if(V&&V.action.disabled){(s=ns.get(this._editor))===null||s===void 0||s.showMessage(V.action.disabled,e.trigger.context.position),p.dispose();return}}}const P=!!(!((o=e.trigger.filter)===null||o===void 0)&&o.include);if(e.trigger.context&&(!p.allActions.length||!P&&!p.validActions.length)){(c=ns.get(this._editor))===null||c===void 0||c.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=p,p.dispose();return}this._activeCodeActions.value=p,this._codeActionWidget.getValue().show(e.trigger,p,e.position,{includeDisabledActions:P,fromLightbulb:!1})}else this._codeActionWidget.getValue().isVisible?p.dispose():this._activeCodeActions.value=p})}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}showCodeActionList(e,t,i,s){return Hs(this,void 0,void 0,function*(){this._codeActionWidget.getValue().show(e,t,i,s)})}};Ur=new WeakMap,da=js([qs(4,F.TG)],da);var Xn=m(48498),bs=m(21058),un=m(51704),kr=function(f,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?f!==e||!i:!e.has(f))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(f):i?i.value:e.get(f)},Tr=function(f,e,t,i,s){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?f!==e||!s:!e.has(f))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?s.call(f,t):s?s.value=t:e.set(f,t),t},Mr;const Ko=new ht.uy("supportedCodeAction","");class Ar extends lt.JT{constructor(e,t,i,s=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=s,this._autoTriggerTimer=this._register(new Ot._F),this._register(this._markerService.onMarkerChanged(o=>this._onMarkerChanges(o))),this._register(this._editor.onDidChangeCursorPosition(()=>this._onCursorChange()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>(0,un.Xy)(i,t.uri))&&this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Ln.Default})},this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Ln.Default})},this._delay)}_getRangeOfMarker(e){const t=this._editor.getModel();if(t)for(const i of this._markerService.read({resource:t.uri})){const s=t.validateRange(i);if(yt.e.intersectRanges(s,e))return yt.e.lift(s)}}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelection();if(i.isEmpty()&&e.type===2){const{lineNumber:s,column:o}=i.getPosition(),c=t.getLineContent(s);if(c.length===0)return;if(o===1){if(/\s/.test(c[0]))return}else if(o===t.getLineMaxColumn(s)){if(/\s/.test(c[c.length-1]))return}else if(/\s/.test(c[o-2])&&/\s/.test(c[o-1]))return}return i}_createEventAndSignalChange(e,t){const i=this._editor.getModel();if(!t||!i){this._signalChange(void 0);return}const s=this._getRangeOfMarker(t),o=s?s.getStartPosition():t.getStartPosition(),c={trigger:e,selection:t,position:o};return this._signalChange(c),c}}var Zs;(function(f){f.Empty={type:0};class e{constructor(i,s,o,c){this.trigger=i,this.rangeOrSelection=s,this.position=o,this._cancellablePromise=c,this.type=1,this.actions=c.catch(p=>{if((0,Vi.n2)(p))return uc;throw p})}cancel(){this._cancellablePromise.cancel()}}f.Triggered=e})(Zs||(Zs={}));const uc={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class ca extends lt.JT{constructor(e,t,i,s,o){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=o,this._codeActionOracle=this._register(new lt.XK),this._state=Zs.Empty,this._onDidChangeState=this._register(new Hi.Q5),this.onDidChangeState=this._onDidChangeState.event,Mr.set(this,!1),this._supportedCodeActions=Ko.bindTo(s),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._update()}dispose(){kr(this,Mr,"f")||(Tr(this,Mr,!0,"f"),super.dispose(),this.setState(Zs.Empty,!0))}_update(){if(kr(this,Mr,"f"))return;this._codeActionOracle.value=void 0,this.setState(Zs.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(83)){const t=[];for(const i of this._registry.all(e))Array.isArray(i.providedCodeActionKinds)&&t.push(...i.providedCodeActionKinds);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new Ar(this._editor,this._markerService,i=>{var s;if(!i){this.setState(Zs.Empty);return}const o=(0,Ot.PG)(c=>pn(this._registry,e,i.selection,i.trigger,Is.Ex.None,c));i.trigger.type===1&&((s=this._progressService)===null||s===void 0||s.showWhile(o,250)),this.setState(new Zs.Triggered(i.trigger,i.selection,i.position,o))},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Ln.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)===null||t===void 0||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!kr(this,Mr,"f")&&this._onDidChangeState.fire(e))}}Mr=new WeakMap;var fc=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},_r=function(f,e){return function(t,i){e(t,i,f)}},jr=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};function $o(f){return ht.Ao.regex(Ko.keys()[0],new RegExp("(\\s|^)"+(0,Ni.ec)(f.value)+"\\b"))}function ha(f,e,t,i){const s=xt.fromUser(e,{kind:Sn.Refactor,apply:"never"});return vr(f,typeof e?.kind=="string"?s.preferred?Se.NC("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",e.kind):Se.NC("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",e.kind):s.preferred?Se.NC("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):Se.NC("editor.action.refactor.noneMessage","No refactorings available"),{include:Sn.Refactor.contains(s.kind)?s.kind:Sn.None,onlyIncludePreferredActions:s.preferred},s.apply,t,i)}const Cr={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:Se.NC("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:Se.NC("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[Se.NC("args.schema.apply.first","Always apply the first returned code action."),Se.NC("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),Se.NC("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:Se.NC("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};let tr=class av extends lt.JT{constructor(e,t,i,s,o,c){super(),this._instantiationService=o,this._editor=e,this._model=this._register(new ca(this._editor,c.codeActionProvider,t,i,s)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._ui=new ts.o(()=>this._register(new da(e,So.Id,Go.Id,{applyCodeAction:(p,P,j)=>jr(this,void 0,void 0,function*(){try{yield this._applyCodeAction(p,j)}finally{P&&this._trigger({type:2,triggerAction:Ln.QuickFix,filter:{}})}})},this._instantiationService)))}static get(e){return e.getContribution(av.ID)}update(e){this._ui.getValue().update(e)}hideCodeActionMenu(){this._ui.hasValue()&&this._ui.getValue().hideCodeActionWidget()}navigateCodeActionList(e){this._ui.hasValue()&&this._ui.getValue().navigateList(e)}selectedOption(){this._ui.hasValue()&&this._ui.getValue().onEnter()}selectedOptionWithPreview(){this._ui.hasValue()&&this._ui.getValue().onPreviewEnter()}showCodeActions(e,t,i){return this._ui.getValue().showCodeActionList(e,t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,s,o){var c;if(!this._editor.hasModel())return;(c=ns.get(this._editor))===null||c===void 0||c.closeMessage();const p=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:s,context:{notAvailableMessage:e,position:p},preview:o})}_trigger(e){return this._model.trigger(e)}_applyCodeAction(e,t){return this._instantiationService.invokeFunction(ua,e,ps.FromCodeActions,{preview:t,editor:this._editor})}};tr.ID="editor.contrib.quickFixController",tr=fc([_r(1,Xn.lT),_r(2,ht.i6),_r(3,Is.ek),_r(4,F.TG),_r(5,Yi.p)],tr);var ps;(function(f){f.OnSave="onSave",f.FromProblemsView="fromProblemsView",f.FromCodeActions="fromCodeActions"})(ps||(ps={}));function ua(f,e,t,i){return jr(this,void 0,void 0,function*(){const s=f.get(rs.vu),o=f.get(mn.Hy),c=f.get(Me.b),p=f.get(bs.lT);if(c.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),yield e.resolve(Ai.T.None),e.action.edit&&(yield s.apply(rs.fo.convert(e.action.edit),{editor:i?.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:!0,showPreview:i?.preview})),e.action.command)try{yield o.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(P){const j=ka(P);p.error(typeof j=="string"?j:Se.NC("applyCodeActionFailed","An unknown error occurred while applying the code action"))}})}function ka(f){return typeof f=="string"?f:f instanceof Error&&typeof f.message=="string"?f.message:void 0}function vr(f,e,t,i,s=!1,o=Ln.Default){if(f.hasModel()){const c=tr.get(f);c?.manualTriggerAtCurrentPosition(e,o,t,i,s)}}class So extends Ae.R6{constructor(){super({id:So.Id,label:Se.NC("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasCodeActionsProvider),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2132,weight:100}})}run(e,t){return vr(t,Se.NC("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,!1,Ln.QuickFix)}}So.Id="editor.action.quickFix";class To extends Ae._l{constructor(){super({id:ys,precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:Cr}]}})}runEditorCommand(e,t,i){const s=xt.fromUser(i,{kind:Sn.Empty,apply:"ifSingle"});return vr(t,typeof i?.kind=="string"?s.preferred?Se.NC("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):Se.NC("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):s.preferred?Se.NC("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):Se.NC("editor.action.codeAction.noneMessage","No code actions available"),{include:s.kind,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply)}}class ao extends Ae.R6{constructor(){super({id:is,label:Se.NC("refactor.label","Refactor..."),alias:"Refactor...",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasCodeActionsProvider),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ht.Ao.and(Ue.u.writable,$o(Sn.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:Cr}]}})}run(e,t,i){return ha(t,i,!1,Ln.Refactor)}}class dd extends Ae.R6{constructor(){super({id:Us,label:Se.NC("refactor.preview.label","Refactor with Preview..."),alias:"Refactor Preview...",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasCodeActionsProvider),description:{description:"Refactor Preview...",args:[{name:"args",schema:Cr}]}})}run(e,t,i){return ha(t,i,!0,Ln.RefactorPreview)}}class cd extends Ae.R6{constructor(){super({id:vs,label:Se.NC("source.label","Source Action..."),alias:"Source Action...",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ht.Ao.and(Ue.u.writable,$o(Sn.Source))},description:{description:"Source Action...",args:[{name:"args",schema:Cr}]}})}run(e,t,i){const s=xt.fromUser(i,{kind:Sn.Source,apply:"never"});return vr(t,typeof i?.kind=="string"?s.preferred?Se.NC("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):Se.NC("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):s.preferred?Se.NC("editor.action.source.noneMessage.preferred","No preferred source actions available"):Se.NC("editor.action.source.noneMessage","No source actions available"),{include:Sn.Source.contains(s.kind)?s.kind:Sn.None,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply,void 0,Ln.SourceAction)}}class gc extends Ae.R6{constructor(){super({id:Ps,label:Se.NC("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ht.Ao.and(Ue.u.writable,$o(Sn.SourceOrganizeImports)),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1581,weight:100}})}run(e,t){return vr(t,Se.NC("editor.action.organize.noneMessage","No organize imports action available"),{include:Sn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",void 0,Ln.OrganizeImports)}}class ul extends Ae.R6{constructor(){super({id:Gs,label:Se.NC("fixAll.label","Fix All"),alias:"Fix All",precondition:ht.Ao.and(Ue.u.writable,$o(Sn.SourceFixAll))})}run(e,t){return vr(t,Se.NC("fixAll.noneMessage","No fix all action available"),{include:Sn.SourceFixAll,includeSourceActions:!0},"ifSingle",void 0,Ln.FixAll)}}class Go extends Ae.R6{constructor(){super({id:Go.Id,label:Se.NC("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ht.Ao.and(Ue.u.writable,$o(Sn.QuickFix)),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1620,mac:{primary:2644},weight:100}})}run(e,t){return vr(t,Se.NC("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Sn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",void 0,Ln.AutoFix)}}Go.Id="editor.action.autoFix";const eo=Ae._l.bindToContribution(tr.get),Kr=100+90;(0,Ae.fK)(new eo({id:"hideCodeActionMenuWidget",precondition:St.Visible,handler(f){f.hideCodeActionMenu()},kbOpts:{weight:Kr,primary:9,secondary:[1033]}})),(0,Ae.fK)(new eo({id:"focusPreviousCodeAction",precondition:St.Visible,handler(f){f.navigateCodeActionList(!0)},kbOpts:{weight:Kr+1e5,primary:16,secondary:[2064]}})),(0,Ae.fK)(new eo({id:"focusNextCodeAction",precondition:St.Visible,handler(f){f.navigateCodeActionList(!1)},kbOpts:{weight:Kr+1e5,primary:18,secondary:[2066]}})),(0,Ae.fK)(new eo({id:"onEnterSelectCodeAction",precondition:St.Visible,handler(f){f.selectedOption()},kbOpts:{weight:Kr+1e5,primary:3,secondary:[1026]}})),(0,Ae.fK)(new eo({id:"onEnterSelectCodeActionWithPreview",precondition:St.Visible,handler(f){f.selectedOptionWithPreview()},kbOpts:{weight:Kr+1e5,primary:2051}}));var fa=m(46727),Rr=m(43148),yo=m(77220);yo.B.as(Rr.IP.Configuration).registerConfiguration(Object.assign(Object.assign({},fa.wk),{properties:{"editor.experimental.useCustomCodeActionMenu":{type:"boolean",tags:["experimental"],scope:5,description:Se.NC("codeActionWidget","Enabling this adjusts how the code action menu is rendered."),default:!1}}})),(0,Ae._K)(tr.ID,tr),(0,Ae.Qr)(So),(0,Ae.Qr)(ao),(0,Ae.Qr)(dd),(0,Ae.Qr)(cd),(0,Ae.Qr)(gc),(0,Ae.Qr)(Go),(0,Ae.Qr)(ul),(0,Ae.fK)(new To);var ir=m(20474),Lo=m(30940),cs=m(11876),_i=m(4626),$r=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Ta{constructor(){this.lenses=[],this._disposables=new lt.SL}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}function Ma(f,e,t){return $r(this,void 0,void 0,function*(){const i=f.ordered(e),s=new Map,o=new Ta,c=i.map((p,P)=>$r(this,void 0,void 0,function*(){s.set(p,P);try{const j=yield Promise.resolve(p.provideCodeLenses(e,t));j&&o.add(j,p)}catch(j){(0,Vi.Cp)(j)}}));return yield Promise.all(c),o.lenses=o.lenses.sort((p,P)=>p.symbol.range.startLineNumber<P.symbol.range.startLineNumber?-1:p.symbol.range.startLineNumber>P.symbol.range.startLineNumber?1:s.get(p.provider)<s.get(P.provider)?-1:s.get(p.provider)>s.get(P.provider)?1:p.symbol.range.startColumn<P.symbol.range.startColumn?-1:p.symbol.range.startColumn>P.symbol.range.startColumn?1:0),o})}mn.P0.registerCommand("_executeCodeLensProvider",function(f,...e){let[t,i]=e;(0,_i.p_)(vn.o.isUri(t)),(0,_i.p_)(typeof i=="number"||!i);const{codeLensProvider:s}=f.get(Yi.p),o=f.get(Ss.q).getModel(t);if(!o)throw(0,Vi.b1)();const c=[],p=new lt.SL;return Ma(s,o,Ai.T.None).then(P=>{p.add(P);const j=[];for(const V of P.lenses)i==null||V.symbol.command?c.push(V.symbol):i-- >0&&V.provider.resolveCodeLens&&j.push(Promise.resolve(V.provider.resolveCodeLens(o,V.symbol,Ai.T.None)).then(ae=>c.push(ae||V.symbol)));return Promise.all(j)}).then(()=>c).finally(()=>{setTimeout(()=>p.dispose(),100)})});var Ho=m(17759),nr=m(37774),sr=m(59894),mo=m(40099),fn=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Jn=function(f,e){return function(t,i){e(t,i,f)}};const fs=(0,F.yh)("ICodeLensCache");class Rs{constructor(e,t){this.lineCount=e,this.data=t}}let Ks=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new nr.z6(20,.75);const t="codelens/cache";(0,Ot.To)(()=>e.remove(t,1));const i="codelens/cache2",s=e.get(i,1,"{}");this._deserialize(s),(0,Ho.I)(e.onWillSaveState)(o=>{o.reason===mo.fk.SHUTDOWN&&e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(c=>{var p;return{range:c.symbol.range,command:c.symbol.command&&{id:"",title:(p=c.symbol.command)===null||p===void 0?void 0:p.title}}}),s=new Ta;s.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new Rs(e.getLineCount(),s);this._cache.set(e.uri.toString(),o)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const s=new Set;for(const o of i.data.lenses)s.add(o.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...s.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const s=t[i],o=[];for(const p of s.lines)o.push({range:new yt.e(p,1,p,11)});const c=new Ta;c.add({lenses:o,dispose(){}},this._fakeProvider),this._cache.set(i,new Rs(s.lineCount,c))}}catch{}}};Ks=fn([Jn(0,mo.Uy)],Ks),(0,sr.z)(fs,Ks);var Ys=m(41184),or=m(78014);class fl{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class gl{constructor(e,t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${gl._idPool++}`,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className=`codelens-decoration ${t}`}withCommands(e,t){this._commands.clear();const i=[];let s=!1;for(let o=0;o<e.length;o++){const c=e[o];if(c&&(s=!0,c.command)){const p=(0,Ys.T)(c.command.title.trim());c.command.id?(i.push(M.$("a",{id:String(o),title:c.command.tooltip,role:"button"},...p)),this._commands.set(String(o),c.command)):i.push(M.$("span",{title:c.command.tooltip},...p)),o+1<e.length&&i.push(M.$("span",void 0,"\xA0|\xA0"))}}s?(M.mc(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):M.mc(this._domNode,M.$("span",void 0,"no commands"))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}}gl._idPool=0;class ml{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){const t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,s=t.length;i<s;i++)this._addDecorationsCallbacks[i](t[i])}}class mc{constructor(e,t,i,s,o,c,p){this._isDisposed=!1,this._editor=t,this._className=i,this._data=e,this._decorationIds=[];let P;const j=[];this._data.forEach((V,ae)=>{V.symbol.command&&j.push(V.symbol),s.addDecoration({range:V.symbol.range,options:on.qx.EMPTY},ye=>this._decorationIds[ae]=ye),P?P=yt.e.plusRange(P,V.symbol.range):P=yt.e.lift(V.symbol.range)}),this._viewZone=new fl(P.startLineNumber-1,c,p),this._viewZoneId=o.addZone(this._viewZone),j.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(j,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new gl(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),s=this._data[t].symbol;return!!(i&&yt.e.isEmpty(s.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,s)=>{t.addDecoration({range:i.symbol.range,options:on.qx.EMPTY},o=>this._decorationIds[s]=o)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){const i=e[t];if(i){const{symbol:s}=this._data[t];s.command=i.command||s.command}}}getCommand(e){var t;return(t=this._contentWidget)===null||t===void 0?void 0:t.getCommand(e)}getLineNumber(){const e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}var Gr=m(66857),Do=m(57756),Aa=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ga=function(f,e){return function(t,i){e(t,i,f)}},Th=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let Qr=class{constructor(e,t,i,s,o,c){this._editor=e,this._languageFeaturesService=t,this._commandService=s,this._notificationService=o,this._codeLensCache=c,this._disposables=new lt.SL,this._localToDispose=new lt.SL,this._lenses=[],this._oldCodeLensModels=new lt.SL,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ot.pY(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(p=>{(p.hasChanged(46)||p.hasChanged(16)||p.hasChanged(15))&&this._updateLensStyle(),p.hasChanged(14)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+(0,ir.vp)(this._editor.getId()).toString(16),this._styleElement=M.dS(M.OO(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)===null||e===void 0||e.dispose(),this._styleElement.remove()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(61)/this._editor.getOption(48));let t=this._editor.getOption(16);return(!t||t<5)&&(t=this._editor.getOption(48)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(15),s=this._editor.getOption(46),o=`--codelens-font-family${this._styleClassName}`,c=`--codelens-font-features${this._styleClassName}`;let p=` .monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${e}px; font-size: ${t}px; padding-right: ${Math.round(t*.5)}px; font-feature-settings: var(${c}) } .monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${e}px; font-size: ${t}px; } `;i&&(p+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${o}), ${cs.hL.fontFamily}}`),this._styleElement.textContent=p,this._editor.getContainerDomNode().style.setProperty(o,i??"inherit"),this._editor.getContainerDomNode().style.setProperty(c,s.fontFeatureSettings),this._editor.changeViewZones(P=>{for(const j of this._lenses)j.updateHeight(e,P)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)===null||e===void 0||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)===null||t===void 0||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)===null||i===void 0||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(14))return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&this._localToDispose.add((0,Ot.Vg)(()=>{const s=this._codeLensCache.get(e);t===s&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3));return}for(const s of this._languageFeaturesService.codeLensProvider.all(e))if(typeof s.onDidChange=="function"){const o=s.onDidChange(()=>i.schedule());this._localToDispose.add(o)}const i=new Ot.pY(()=>{var s;const o=Date.now();(s=this._getCodeLensModelPromise)===null||s===void 0||s.cancel(),this._getCodeLensModelPromise=(0,Ot.PG)(c=>Ma(this._languageFeaturesService.codeLensProvider,e,c)),this._getCodeLensModelPromise.then(c=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=c,this._codeLensCache.put(e,c);const p=this._provideCodeLensDebounce.update(e,Date.now()-o);i.delay=p,this._renderCodeLensSymbols(c),this._resolveCodeLensesInViewportSoon()},Vi.dL)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add((0,lt.OF)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(s=>{this._editor.changeViewZones(o=>{const c=[];let p=-1;this._lenses.forEach(j=>{!j.isValid()||p===j.getLineNumber()?c.push(j):(j.update(o),p=j.getLineNumber())});const P=new ml;c.forEach(j=>{j.dispose(P,o),this._lenses.splice(this._lenses.indexOf(j),1)}),P.commit(s)})}),i.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(s=>{s.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add((0,lt.OF)(()=>{if(this._editor.getModel()){const s=Lo.Z.capture(this._editor);this._editor.changeDecorations(o=>{this._editor.changeViewZones(c=>{this._disposeAllLenses(o,c)})}),s.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(s=>{if(s.target.type!==9)return;let o=s.target.element;if(o?.tagName==="SPAN"&&(o=o.parentElement),o?.tagName==="A")for(const c of this._lenses){const p=c.getCommand(o);if(p){this._commandService.executeCommand(p.id,...p.arguments||[]).catch(P=>this._notificationService.error(P));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new ml;for(const s of this._lenses)s.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let s;for(const p of e.lenses){const P=p.symbol.range.startLineNumber;P<1||P>t||(s&&s[s.length-1].symbol.range.startLineNumber===P?s.push(p):(s=[p],i.push(s)))}const o=Lo.Z.capture(this._editor),c=this._getLayoutInfo();this._editor.changeDecorations(p=>{this._editor.changeViewZones(P=>{const j=new ml;let V=0,ae=0;for(;ae<i.length&&V<this._lenses.length;){const ye=i[ae][0].symbol.range.startLineNumber,We=this._lenses[V].getLineNumber();We<ye?(this._lenses[V].dispose(j,P),this._lenses.splice(V,1)):We===ye?(this._lenses[V].updateCodeLensSymbols(i[ae],j),ae++,V++):(this._lenses.splice(V,0,new mc(i[ae],this._editor,this._styleClassName,j,P,c.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),V++,ae++)}for(;V<this._lenses.length;)this._lenses[V].dispose(j,P),this._lenses.splice(V,1);for(;ae<i.length;)this._lenses.push(new mc(i[ae],this._editor,this._styleClassName,j,P,c.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),ae++;j.commit(p)})}),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;(e=this._resolveCodeLensesPromise)===null||e===void 0||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],s=[];if(this._lenses.forEach(p=>{const P=p.computeIfNecessary(t);P&&(i.push(P),s.push(p))}),i.length===0)return;const o=Date.now(),c=(0,Ot.PG)(p=>{const P=i.map((j,V)=>{const ae=new Array(j.length),ye=j.map((We,Ze)=>!We.symbol.command&&typeof We.provider.resolveCodeLens=="function"?Promise.resolve(We.provider.resolveCodeLens(t,We.symbol,p)).then(it=>{ae[Ze]=it},Vi.Cp):(ae[Ze]=We.symbol,Promise.resolve(void 0)));return Promise.all(ye).then(()=>{!p.isCancellationRequested&&!s[V].isDisposed()&&s[V].updateCommands(ae)})});return Promise.all(P)});this._resolveCodeLensesPromise=c,this._resolveCodeLensesPromise.then(()=>{const p=this._resolveCodeLensesDebounce.update(t,Date.now()-o);this._resolveCodeLensesScheduler.delay=p,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),c===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},p=>{(0,Vi.dL)(p),c===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}getModel(){return this._currentCodeLensModel}};Qr.ID="css.editor.codeLens",Qr=Aa([ga(1,Yi.p),ga(2,Do.A),ga(3,mn.Hy),ga(4,bs.lT),ga(5,fs)],Qr),(0,Ae._K)(Qr.ID,Qr),(0,Ae.Qr)(class extends Ae.R6{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:Ue.u.hasCodeLensProvider,label:(0,Se.NC)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(e,t){return Th(this,void 0,void 0,function*(){if(!t.hasModel())return;const i=e.get(Gr.eJ),s=e.get(mn.Hy),o=e.get(bs.lT),c=t.getSelection().positionLineNumber,p=t.getContribution(Qr.ID);if(!p)return;const P=p.getModel();if(!P)return;const j=[];for(const ae of P.lenses)ae.symbol.command&&ae.symbol.range.startLineNumber===c&&j.push({label:ae.symbol.command.title,command:ae.symbol.command});if(j.length===0)return;const V=yield i.pick(j,{canPickMany:!1});if(V){if(P.isDisposed)return yield s.executeCommand(this.id);try{yield s.executeCommand(V.command.id,...V.command.arguments||[])}catch(ae){o.error(ae)}}})}});var En=m(80733),Xs=m(22912),Zr=m(59097);function hs(f,e,t){const i=[],o=f.ordered(e).reverse().map(c=>Promise.resolve(c.provideDocumentColors(e,t)).then(p=>{if(Array.isArray(p))for(const P of p)i.push({colorInfo:P,provider:c})}));return Promise.all(o).then(()=>i)}function pl(f,e,t,i){return Promise.resolve(t.provideColorPresentations(f,e,i))}mn.P0.registerCommand("_executeDocumentColorProvider",function(f,...e){const[t]=e;if(!(t instanceof vn.o))throw(0,Vi.b1)();const{colorProvider:i}=f.get(Yi.p),s=f.get(Ss.q).getModel(t);if(!s)throw(0,Vi.b1)();const o=[],p=i.ordered(s).reverse().map(P=>Promise.resolve(P.provideDocumentColors(s,Ai.T.None)).then(j=>{if(Array.isArray(j))for(const V of j)o.push({range:V.range,color:[V.color.red,V.color.green,V.color.blue,V.color.alpha]})}));return Promise.all(p).then(()=>o)}),mn.P0.registerCommand("_executeColorPresentationProvider",function(f,...e){const[t,i]=e,{uri:s,range:o}=i;if(!(s instanceof vn.o)||!Array.isArray(t)||t.length!==4||!yt.e.isIRange(o))throw(0,Vi.b1)();const[c,p,P,j]=t,{colorProvider:V}=f.get(Yi.p),ae=f.get(Ss.q).getModel(s);if(!ae)throw(0,Vi.b1)();const ye={range:o,color:{red:c,green:p,blue:P,alpha:j}},We=[],it=V.ordered(ae).reverse().map(vt=>Promise.resolve(vt.provideColorPresentations(ae,ye,Ai.T.None)).then(zt=>{Array.isArray(zt)&&We.push(...zt)}));return Promise.all(it).then(()=>We)});var _l=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},hd=function(f,e){return function(t,i){e(t,i,f)}},Mh=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const pc=Object.create({}),Ah=500;let Qo=class lv extends lt.JT{constructor(e,t,i,s){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new lt.SL),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new Zr.t7(this._editor),this._colorDecorationClassRefs=this._register(new lt.SL),this._debounceInformation=s.for(i.colorProvider,"Document Colors",{min:lv.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()})),this._register(e.onDidChangeModelLanguage(()=>this.onModelChanged())),this._register(i.colorProvider.onDidChange(()=>this.onModelChanged())),this._register(e.onDidChangeConfiguration(()=>{const o=this._isEnabled;this._isEnabled=this.isEnabled(),o!==this._isEnabled&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const s=i.colorDecorators;if(s&&s.enable!==void 0&&!s.enable)return s.enable}return this._editor.getOption(17)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!this._isEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new Ot._F,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}beginCompute(){this._computePromise=(0,Ot.PG)(e=>Mh(this,void 0,void 0,function*(){const t=this._editor.getModel();if(!t)return Promise.resolve([]);const i=new Xs.G(!1),s=yield hs(this._languageFeaturesService.colorProvider,t,e);return this._debounceInformation.update(t,i.elapsed()),s})),this._computePromise.then(e=>{this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null},Vi.dL)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:on.qx.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((s,o)=>this._colorDatas.set(s,e[o]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[];for(let i=0;i<e.length&&t.length<Ah;i++){const{red:s,green:o,blue:c,alpha:p}=e[i].colorInfo.color,P=new En.VS(Math.round(s*255),Math.round(o*255),Math.round(c*255),p),j=`rgba(${P.r}, ${P.g}, ${P.b}, ${P.a})`,V=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:j}));t.push({range:{startLineNumber:e[i].colorInfo.range.startLineNumber,startColumn:e[i].colorInfo.range.startColumn,endLineNumber:e[i].colorInfo.range.endLineNumber,endColumn:e[i].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:Ni.B4,inlineClassName:`${V.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:pc}}})}this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(yt.e.fromPositions(e,e)).filter(s=>this._colorDatas.has(s.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};Qo.ID="editor.contrib.colorDetector",Qo.RECOMPUTE_TIME=1e3,Qo=_l([hd(1,ce.Ui),hd(2,Yi.p),hd(3,Do.A)],Qo),(0,Ae._K)(Qo.ID,Qo);class _c{constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new Hi.Q5,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Hi.Q5,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Hi.Q5,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){for(let i=0;i<this.colorPresentations.length;i++)if(t.toLowerCase()===this.colorPresentations[i].label){this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation);break}}flushColor(){this._onColorFlushed.fire(this._color)}}var ma=m(26964),br=m(39436),Cc=m(49147);const Mo=M.$;class vc extends lt.JT{constructor(e,t,i){super(),this.model=t,this.domNode=Mo(".colorpicker-header"),M.R3(e,this.domNode),this.pickedColorNode=M.R3(this.domNode,Mo(".picked-color"));const s=(0,Se.NC)("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this.pickedColorNode.setAttribute("title",s);const o=M.R3(this.domNode,Mo(".original-color"));o.style.backgroundColor=En.Il.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(be.yJx)||En.Il.white,this._register((0,Xe.Ic)((c,p)=>{this.backgroundColor=c.getColor(be.yJx)||En.Il.white})),this._register(M.nm(this.pickedColorNode,M.tw.CLICK,()=>this.model.selectNextColorPresentation())),this._register(M.nm(o,M.tw.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this.pickedColorNode.style.backgroundColor=En.Il.Format.CSS.format(t.color)||"",this.pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){this.pickedColorNode.style.backgroundColor=En.Il.Format.CSS.format(e)||"",this.pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:"",this.pickedColorNode.prepend(Mo(".codicon.codicon-color-mode"))}}class ud extends lt.JT{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this.domNode=Mo(".colorpicker-body"),M.R3(e,this.domNode),this.saturationBox=new Ra(this.domNode,this.model,this.pixelRatio),this._register(this.saturationBox),this._register(this.saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this.saturationBox.onColorFlushed(this.flushColor,this)),this.opacityStrip=new Pa(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new Oa(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new En.Il(new En.tx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new En.Il(new En.tx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new En.Il(new En.tx(i===360?0:i,t.s,t.v,t.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}class Ra extends lt.JT{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Hi.Q5,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Hi.Q5,this.onColorFlushed=this._onColorFlushed.event,this.domNode=Mo(".saturation-wrap"),M.R3(e,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",M.R3(this.domNode,this.canvas),this.selection=Mo(".saturation-selection"),M.R3(this.domNode,this.selection),this.layout(),this._register(M.nm(this.domNode,M.tw.POINTER_DOWN,s=>this.onPointerDown(s))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new ma.C);const t=M.i(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,s=>this.onDidChangePosition(s.pageX-t.left,s.pageY-t.top),()=>null);const i=M.nm(document,M.tw.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),s=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,s),this._onDidChange.fire({s:i,v:s})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new En.Il(new En.tx(e.h,1,1,1)),i=this.canvas.getContext("2d"),s=i.createLinearGradient(0,0,this.canvas.width,0);s.addColorStop(0,"rgba(255, 255, 255, 1)"),s.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),s.addColorStop(1,"rgba(255, 255, 255, 0)");const o=i.createLinearGradient(0,0,0,this.canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this.canvas.width,this.canvas.height),i.fillStyle=En.Il.Format.CSS.format(t),i.fill(),i.fillStyle=s,i.fill(),i.fillStyle=o,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class wr extends lt.JT{constructor(e,t){super(),this.model=t,this._onDidChange=new Hi.Q5,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Hi.Q5,this.onColorFlushed=this._onColorFlushed.event,this.domNode=M.R3(e,Mo(".strip")),this.overlay=M.R3(this.domNode,Mo(".overlay")),this.slider=M.R3(this.domNode,Mo(".slider")),this.slider.style.top="0px",this._register(M.nm(this.domNode,M.tw.POINTER_DOWN,i=>this.onPointerDown(i))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new ma.C),i=M.i(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangeTop(o.pageY-i.top),()=>null);const s=M.nm(document,M.tw.POINTER_UP,()=>{this._onColorFlushed.fire(),s.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class Pa extends wr{constructor(e,t){super(e,t),this.domNode.classList.add("opacity-strip"),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){const{r:t,g:i,b:s}=e.rgba,o=new En.Il(new En.VS(t,i,s,1)),c=new En.Il(new En.VS(t,i,s,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${c} 100%)`}getValue(e){return e.hsva.a}}class Oa extends wr{constructor(e,t){super(e,t),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class Cl extends br.${constructor(e,t,i,s){super(),this.model=t,this.pixelRatio=i,this._register(en.PixelRatio.onDidChange(()=>this.layout()));const o=Mo(".colorpicker-widget");e.appendChild(o);const c=new vc(o,this.model,s);this.body=new ud(o,this.model,this.pixelRatio),this._register(c),this._register(this.body)}layout(){this.body.layout()}}var pa=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},vl=function(f,e){return function(t,i){e(t,i,f)}},fd=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class bc{constructor(e,t,i,s){this.owner=e,this.range=t,this.model=i,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let bl=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=1}computeSync(e,t){return[]}computeAsync(e,t,i){return Ot.Aq.fromPromise(this._computeAsync(e,t,i))}_computeAsync(e,t,i){return fd(this,void 0,void 0,function*(){if(!this._editor.hasModel())return[];const s=Qo.get(this._editor);if(!s)return[];for(const o of t){if(!s.isColorDecoration(o))continue;const c=s.getColorData(o.range.getStartPosition());if(c)return[yield this._createColorHover(this._editor.getModel(),c.colorInfo,c.provider)]}return[]})}_createColorHover(e,t,i){return fd(this,void 0,void 0,function*(){const s=e.getValueInRange(t.range),{red:o,green:c,blue:p,alpha:P}=t.color,j=new En.VS(Math.round(o*255),Math.round(c*255),Math.round(p*255),P),V=new En.Il(j),ae=yield pl(e,t,i,Ai.T.None),ye=new _c(V,[],0);return ye.colorPresentations=ae||[],ye.guessColorPresentation(V,s),new bc(this,yt.e.lift(t.range),ye,i)})}renderHoverParts(e,t){if(t.length===0||!this._editor.hasModel())return lt.JT.None;const i=new lt.SL,s=t[0],o=this._editor.getModel(),c=s.model,p=i.add(new Cl(e.fragment,c,this._editor.getOption(131),this._themeService));e.setColorPicker(p);let P=new yt.e(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);const j=()=>{let ae,ye;if(c.presentation.textEdit){ae=[c.presentation.textEdit],ye=new yt.e(c.presentation.textEdit.range.startLineNumber,c.presentation.textEdit.range.startColumn,c.presentation.textEdit.range.endLineNumber,c.presentation.textEdit.range.endColumn);const We=this._editor.getModel()._setTrackedRange(null,ye,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",ae),ye=this._editor.getModel()._getTrackedRange(We)||ye}else ae=[{range:P,text:c.presentation.label,forceMoveMarkers:!1}],ye=P.setEndPosition(P.endLineNumber,P.startColumn+c.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",ae);c.presentation.additionalTextEdits&&(ae=[...c.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",ae),e.hide()),this._editor.pushUndoStop(),P=ye},V=ae=>pl(o,{range:P,color:{red:ae.rgba.r/255,green:ae.rgba.g/255,blue:ae.rgba.b/255,alpha:ae.rgba.a}},s.provider,Ai.T.None).then(ye=>{c.colorPresentations=ye||[]});return i.add(c.onColorFlushed(ae=>{V(ae).then(j)})),i.add(c.onDidChangeColor(V)),i}};bl=pa([vl(1,Xe.XE)],bl);var Bs=m(45440),Fa=m(59483),zs=m(16320);function Ba(f,e){return!!f[e]}class Wa{constructor(e,t){this.target=e.target,this.hasTriggerModifier=Ba(e.event,t.triggerModifier),this.hasSideBySideModifier=Ba(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Va{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Ba(e,t.triggerModifier)}}class Zo{constructor(e,t,i,s){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=s}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function wl(f){return f==="altKey"?Fi.dz?new Zo(57,"metaKey",6,"altKey"):new Zo(5,"ctrlKey",6,"altKey"):Fi.dz?new Zo(6,"altKey",57,"metaKey"):new Zo(6,"altKey",5,"ctrlKey")}class Sl extends lt.JT{constructor(e){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Hi.Q5),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Hi.Q5),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Hi.Q5),this.onCancel=this._onCancel.event,this._editor=e,this._opts=wl(this._editor.getOption(72)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(t=>{if(t.hasChanged(72)){const i=wl(this._editor.getOption(72));if(this._opts.equals(i))return;this._opts=i,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(t=>this._onEditorMouseMove(new Wa(t,this._opts)))),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(new Wa(t,this._opts)))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(new Wa(t,this._opts)))),this._register(this._editor.onKeyDown(t=>this._onEditorKeyDown(new Va(t,this._opts)))),this._register(this._editor.onKeyUp(t=>this._onEditorKeyUp(new Va(t,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(t=>this._onDidChangeCursorSelection(t))),this._register(this._editor.onDidChangeModel(t=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(t=>{(t.scrollTopChanged||t.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=e.target.position?e.target.position.lineNumber:0}_onEditorMouseUp(e){const t=e.target.position?e.target.position.lineNumber:0;this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var Yr=m(3732),Ha=m(2758),rf=m(18480),Bo=m(7335),lo=m(38490),za=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Ao=function(f,e){return function(t,i){e(t,i,f)}};let rr=class extends Ct.Gm{constructor(e,t,i,s,o,c,p,P,j,V,ae,ye){super(e,Object.assign(Object.assign({},i.getRawOptions()),{overflowWidgetsDomNode:i.getOverflowWidgetsDomNode()}),{},s,o,c,p,P,j,V,ae,ye),this._parentEditor=i,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(i.onDidChangeConfiguration(We=>this._onParentConfigurationChanged(We)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Ha.jB(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};rr=za([Ao(3,F.TG),Ao(4,Qi.$),Ao(5,mn.Hy),Ao(6,ht.i6),Ao(7,Xe.XE),Ao(8,bs.lT),Ao(9,Bo.F),Ao(10,lo.c_),Ao(11,Yi.p)],rr);var Pr=m(24641),Sr=m(30131),_a=m(90579);const yl=new En.Il(new En.VS(0,122,204)),Ca={showArrow:!0,showFrame:!0,className:"",frameColor:yl,arrowColor:yl,keepEditorSelection:!1},yr="vs.editor.contrib.zoneWidget";class gd{constructor(e,t,i,s,o,c){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=s,this._onDomNodeTop=o,this._onComputedHeight=c}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class md{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class ar{constructor(e){this._editor=e,this._ruleName=ar._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),M.uN(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){M.uN(this._ruleName),M.fk(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:yt.e.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}ar._IdGenerator=new Sr.R(".arrow-decoration-");class po{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new lt.SL,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Ha.I8(t),Ha.jB(this.options,Ca,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const s=this._getWidth(i);this.domNode.style.width=s+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(s)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new ar(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){const t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}this._resizeSash&&this._resizeSash.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=yt.e.isIRange(e)?yt.e.lift(e):yt.e.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:on.qx.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()}_decoratingElementsHeight(){const e=this.editor.getOption(61);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),s=this.editor.getLayoutInfo(),o=this._getWidth(s);this.domNode.style.width=`${o}px`,this.domNode.style.left=this._getLeft(s)+"px";const c=document.createElement("div");c.style.overflow="hidden";const p=this.editor.getOption(61),P=Math.max(12,this.editor.getLayoutInfo().height/p*.8);t=Math.min(t,P);let j=0,V=0;if(this._arrow&&this.options.showArrow&&(j=Math.round(p/3),this._arrow.height=j,this._arrow.show(i)),this.options.showFrame&&(V=Math.round(p/9)),this.editor.changeViewZones(We=>{this._viewZone&&We.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new gd(c,i.lineNumber,i.column,t,Ze=>this._onViewZoneTop(Ze),Ze=>this._onViewZoneHeight(Ze)),this._viewZone.id=We.addZone(this._viewZone),this._overlayWidget=new md(yr+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const We=this.options.frameWidth?this.options.frameWidth:V;this.container.style.borderTopWidth=We+"px",this.container.style.borderBottomWidth=We+"px"}const ae=t*p-this._decoratingElementsHeight();this.container&&(this.container.style.top=j+"px",this.container.style.height=ae+"px",this.container.style.overflow="hidden"),this._doLayout(ae,o),this.options.keepEditorSelection||this.editor.setSelection(e);const ye=this.editor.getModel();if(ye){const We=e.endLineNumber+1;We<=ye.getLineCount()?this.revealLine(We,!1):this.revealLine(ye.getLineCount(),!0)}}revealLine(e,t){t?this.editor.revealLineInCenter(e,0):this.editor.revealLine(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Pr.g(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(61),s=i<0?Math.ceil(i):Math.floor(i),o=e.heightInLines+s;o>5&&o<35&&this._relayout(o)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var Lr=m(21458),jn=m(20652),wc=m(46943);class Ll extends _.Wi{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Hi.Q5),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=(0,M.R3)(e,(0,M.$)(".monaco-dropdown")),this._label=(0,M.R3)(this._element,(0,M.$)(".dropdown-label"));let i=t.labelRenderer;i||(i=o=>(o.textContent=t.label||"",null));for(const o of[M.tw.CLICK,M.tw.MOUSE_DOWN,kn.t.Tap])this._register((0,M.nm)(this.element,o,c=>M.zB.stop(c,!0)));for(const o of[M.tw.MOUSE_DOWN,kn.t.Tap])this._register((0,M.nm)(this._label,o,c=>{c instanceof MouseEvent&&(c.detail>1||c.button!==0)||(this.visible?this.hide():this.show())}));this._register((0,M.nm)(this._label,M.tw.KEY_UP,o=>{const c=new Lr.y(o);(c.equals(3)||c.equals(10))&&(M.zB.stop(o,!0),this.visible?this.hide():this.show())}));const s=i(this._label);s&&this._register(s),this._register(kn.o.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 pd extends Ll{constructor(e,t){super(e,t),this._actions=[],this._contextMenuProvider=t.contextMenuProvider,this.actions=t.actions||[],this.actionProvider=t.actionProvider,this.menuClassName=t.menuClassName||"",this.menuAsChild=!!t.menuAsChild}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this.actionProvider?this.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:e=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this.menuClassName,onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this.menuAsChild?this.element:void 0})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class Dl extends jn.Y{constructor(e,t,i,s=Object.create(null)){super(null,e,s),this.actionItem=null,this._onDidChangeVisibility=this._register(new Hi.Q5),this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=s,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=o=>{this.element=(0,M.R3)(o,(0,M.$)("a.action-label"));let c=[];return typeof this.options.classNames=="string"?c=this.options.classNames.split(/\s+/g).filter(p=>!!p):this.options.classNames&&(c=this.options.classNames),c.find(p=>p==="icon")||c.push("codicon"),this.element.classList.add(...c),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",this.element.ariaLabel=this._action.label||"",null},i=Array.isArray(this.menuActionsOrProvider),s={contextMenuProvider:this.contextMenuProvider,labelRenderer:t,menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider};if(this.dropdownMenu=this._register(new pd(e,s)),this._register(this.dropdownMenu.onDidChangeVisibility(o=>{var c;(c=this.element)===null||c===void 0||c.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=Object.assign(Object.assign({},this.dropdownMenu.menuOptions),{get anchorAlignment(){return o.options.anchorAlignmentProvider()}})}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.getAction().tooltip?e=this.getAction().tooltip:this.getAction().label&&(e=this.getAction().label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}updateEnabled(){var e,t;const i=!this.getAction().enabled;(e=this.actionItem)===null||e===void 0||e.classList.toggle("disabled",i),(t=this.element)===null||t===void 0||t.classList.toggle("disabled",i)}}var Rh=m(88547),af=m(98406),Ro=m(77421),Ua=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},to=function(f,e){return function(t,i){e(t,i,f)}},_d=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};function va(f,e,t,i,s,o,c){const p=f.getActions(e);return Dr(p,t,!1,typeof i=="string"?j=>j===i:i,s,o,c),lf(p)}function lf(f){const e=new lt.SL;for(const[,t]of f)for(const i of t)e.add(i);return e}function Dr(f,e,t,i=p=>p==="navigation",s=Number.MAX_SAFE_INTEGER,o=()=>!1,c=!1){let p,P;Array.isArray(e)?(p=e,P=e):(p=e.primary,P=e.secondary);const j=new Set;for(const[V,ae]of f){let ye;i(V)?(ye=p,ye.length>0&&c&&ye.push(new _.Z0)):(ye=P,ye.length>0&&ye.push(new _.Z0));for(let We of ae){t&&(We=We instanceof Ne.U8&&We.alt?We.alt:We);const Ze=ye.push(We);We instanceof _.wY&&j.add({group:V,action:We,index:Ze-1})}}for(const{group:V,action:ae,index:ye}of j){const We=i(V)?p:P,Ze=ae.actions;(Ze.length<=1||We.length+Ze.length-2<=s)&&o(ae,V,We.length)&&We.splice(ye,1,...Ze)}if(p!==P&&p.length>s){const V=p.splice(s,p.length-s);P.unshift(...V,new _.Z0)}}let Xr=class extends jn.g{constructor(e,t,i,s,o,c,p){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._keybindingService=i,this._notificationService=s,this._contextKeyService=o,this._themeService=c,this._contextMenuService=p,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new lt.XK),this._altKey=M._q.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}onClick(e){return _d(this,void 0,void 0,function*(){e.preventDefault(),e.stopPropagation();try{yield this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}})}render(e){super.render(e),e.classList.add("menu-entry"),this._updateItemClass(this._menuItemAction.item);let t=!1,i=this._altKey.keyStatus.altKey||(Fi.ED||Fi.IJ)&&this._altKey.keyStatus.shiftKey;const s=()=>{var o;const c=t&&i&&!!(!((o=this._commandAction.alt)===null||o===void 0)&&o.enabled);c!==this._wantsAltCommand&&(this._wantsAltCommand=c,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._menuItemAction.alt&&this._register(this._altKey.event(o=>{i=o.altKey||(Fi.ED||Fi.IJ)&&o.shiftKey,s()})),this._register((0,M.nm)(e,"mouseleave",o=>{t=!1,s()})),this._register((0,M.nm)(e,"mouseenter",o=>{t=!0,s()}))}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var e;const t=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),i=t&&t.getLabel(),s=this._commandAction.tooltip||this._commandAction.label;let o=i?(0,Se.NC)("titleAndKb","{0} ({1})",s,i):s;if(!this._wantsAltCommand&&(!((e=this._menuItemAction.alt)===null||e===void 0)&&e.enabled)){const c=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,p=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),P=p&&p.getLabel(),j=P?(0,Se.NC)("titleAndKb","{0} ({1})",c,P):c;o=(0,Se.NC)("titleAndKbAndAlt",`{0} [{1}] {2}`,o,Rh.xo.modifierLabels[Fi.OS].altKey,j)}return o}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){var t;this._itemClassDispose.value=void 0;const{element:i,label:s}=this;if(!i||!s)return;const o=this._commandAction.checked&&(!((t=e.toggled)===null||t===void 0)&&t.icon)?e.toggled.icon:e.icon;if(o)if(Xe.kS.isThemeIcon(o)){const c=Xe.kS.asClassNameArray(o);s.classList.add(...c),this._itemClassDispose.value=(0,lt.OF)(()=>{s.classList.remove(...c)})}else s.style.backgroundImage=(0,Ro._T)(this._themeService.getColorTheme().type)?(0,M.wY)(o.dark):(0,M.wY)(o.light),s.classList.add("icon"),this._itemClassDispose.value=(0,lt.F8)((0,lt.OF)(()=>{s.style.backgroundImage="",s.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};Xr=Ua([to(2,Le.d),to(3,bs.lT),to(4,ht.i6),to(5,Xe.XE),to(6,we.i)],Xr);let El=class extends Dl{constructor(e,t,i,s){var o,c;const p=Object.assign({},t??Object.create(null),{menuAsChild:(o=t?.menuAsChild)!==null&&o!==void 0?o:!1,classNames:(c=t?.classNames)!==null&&c!==void 0?c:Xe.kS.isThemeIcon(e.item.icon)?Xe.kS.asClassName(e.item.icon):void 0});super(e,{getActions:()=>e.actions},i,p),this._contextMenuService=i,this._themeService=s}render(e){super.render(e),(0,_i.p_)(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!Xe.kS.isThemeIcon(i)){this.element.classList.add("icon");const s=()=>{this.element&&(this.element.style.backgroundImage=(0,Ro._T)(this._themeService.getColorTheme().type)?(0,M.wY)(i.dark):(0,M.wY)(i.light))};s(),this._register(this._themeService.onDidColorThemeChange(()=>{s()}))}}};El=Ua([to(2,we.i),to(3,Xe.XE)],El);let Sc=class extends jn.Y{constructor(e,t,i,s,o,c,p,P){var j,V,ae;super(null,e),this._keybindingService=i,this._notificationService=s,this._contextMenuService=o,this._menuService=c,this._instaService=p,this._storageService=P,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;let ye;const We=P.get(this._storageKey,1);We&&(ye=e.actions.find(it=>We===it.id)),ye||(ye=e.actions[0]),this._defaultAction=this._instaService.createInstance(Xr,ye,{keybinding:this._getDefaultActionKeybindingLabel(ye)});const Ze=Object.assign({},t??Object.create(null),{menuAsChild:(j=t?.menuAsChild)!==null&&j!==void 0?j:!0,classNames:(V=t?.classNames)!==null&&V!==void 0?V:["codicon","codicon-chevron-down"],actionRunner:(ae=t?.actionRunner)!==null&&ae!==void 0?ae:new _.Wi});this._dropdown=new Dl(e,e.actions,this._contextMenuService,Ze),this._dropdown.actionRunner.onDidRun(it=>{it.action instanceof Ne.U8&&this.update(it.action)})}update(e){this._storageService.store(this._storageKey,e.id,1,0),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(Xr,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends _.Wi{runAction(t,i){return _d(this,void 0,void 0,function*(){yield t.run(void 0)})}},this._container&&this._defaultAction.render((0,M.Ce)(this._container,(0,M.$)(".action-container")))}_getDefaultActionKeybindingLabel(e){var t;let i;if(!((t=this._options)===null||t===void 0)&&t.renderKeybindingWithDefaultActionLabel){const s=this._keybindingService.lookupKeybinding(e.id);s&&(i=`(${s.getLabel()})`)}return i}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=(0,M.$)(".action-container");this._defaultAction.render((0,M.R3)(this._container,t)),this._register((0,M.nm)(t,M.tw.KEY_DOWN,s=>{const o=new Lr.y(s);o.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),o.stopPropagation())}));const i=(0,M.$)(".dropdown-action-container");this._dropdown.render((0,M.R3)(this._container,i)),this._register((0,M.nm)(i,M.tw.KEY_DOWN,s=>{var o;const c=new Lr.y(s);c.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(o=this._defaultAction.element)===null||o===void 0||o.focus(),c.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()}};Sc=Ua([to(2,Le.d),to(3,bs.lT),to(4,we.i),to(5,Ne.co),to(6,F.TG),to(7,mo.Uy)],Sc);function ja(f,e,t){return e instanceof Ne.U8?f.createInstance(Xr,e,t):e instanceof Ne.NZ?e.item.rememberDefaultAction?f.createInstance(Sc,e,t):f.createInstance(El,e,t):void 0}var Il=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},xl=function(f,e){return function(t,i){e(t,i,f)}};const Nl=(0,F.yh)("IPeekViewService");(0,sr.z)(Nl,class{constructor(){this._widgets=new Map}addExclusiveWidget(f,e){const t=this._widgets.get(f);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const s=this._widgets.get(f);s&&s.widget===e&&(s.listener.dispose(),this._widgets.delete(f))};this._widgets.set(f,{widget:e,listener:e.onDidClose(i)})}});var co;(function(f){f.inPeekEditor=new ht.uy("inReferenceSearchEditor",!0,Se.NC("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),f.notInPeekEditor=f.inPeekEditor.toNegated()})(co||(co={}));let Ka=class{constructor(e,t){e instanceof rr&&co.inPeekEditor.bindTo(t)}dispose(){}};Ka.ID="editor.contrib.referenceController",Ka=Il([xl(1,ht.i6)],Ka),(0,Ae._K)(Ka.ID,Ka);function kl(f){const e=f.get(Qi.$).getFocusedCodeEditor();return e instanceof rr?e.getParentEditor():e}const Ph={headerBackgroundColor:En.Il.white,primaryHeadingColor:En.Il.fromHex("#333333"),secondaryHeadingColor:En.Il.fromHex("#6c6c6cb3")};let $a=class extends po{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Hi.Q5,this.onDidClose=this._onDidClose.event,Ha.jB(this.options,Ph,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=M.$(".head"),this._bodyElement=M.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){const i=M.$(".peekview-title");this.options.supportOnTitleClick&&(i.classList.add("clickable"),M.mu(i,"click",c=>this._onTitleClick(c))),M.R3(this._headElement,i),this._fillTitleIcon(i),this._primaryHeading=M.$("span.filename"),this._secondaryHeading=M.$("span.dirname"),this._metaHeading=M.$("span.meta"),M.R3(i,this._primaryHeading,this._secondaryHeading,this._metaHeading);const s=M.$(".peekview-actions");M.R3(this._headElement,s);const o=this._getActionBarOptions();this._actionbarWidget=new Yr.o(s,o),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new _.aU("peekview.close",Se.NC("label.close","Close"),Mi.lA.close.classNames,!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:ja.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:M.PO(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,M.$Z(this._metaHeading)):M.Cp(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(61)*1.2),s=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(s,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};$a=Il([xl(2,F.TG)],$a);const Cd=(0,be.P6G)("peekViewTitle.background",{dark:(0,be.ZnX)(be.c63,.1),light:(0,be.ZnX)(be.c63,.1),hcDark:null,hcLight:null},Se.NC("peekViewTitleBackground","Background color of the peek view title area.")),yc=(0,be.P6G)("peekViewTitleLabel.foreground",{dark:En.Il.white,light:En.Il.black,hcDark:En.Il.white,hcLight:be.NOs},Se.NC("peekViewTitleForeground","Color of the peek view title.")),Tl=(0,be.P6G)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},Se.NC("peekViewTitleInfoForeground","Color of the peek view title info.")),qe=(0,be.P6G)("peekView.border",{dark:be.c63,light:be.c63,hcDark:be.lRK,hcLight:be.lRK},Se.NC("peekViewBorder","Color of the peek view borders and arrow.")),n=(0,be.P6G)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:En.Il.black,hcLight:En.Il.white},Se.NC("peekViewResultsBackground","Background color of the peek view result list.")),a=(0,be.P6G)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:En.Il.white,hcLight:be.NOs},Se.NC("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),g=(0,be.P6G)("peekViewResult.fileForeground",{dark:En.Il.white,light:"#1E1E1E",hcDark:En.Il.white,hcLight:be.NOs},Se.NC("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),I=(0,be.P6G)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},Se.NC("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),R=(0,be.P6G)("peekViewResult.selectionForeground",{dark:En.Il.white,light:"#6C6C6C",hcDark:En.Il.white,hcLight:be.NOs},Se.NC("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),se=(0,be.P6G)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:En.Il.black,hcLight:En.Il.white},Se.NC("peekViewEditorBackground","Background color of the peek view editor.")),Ce=(0,be.P6G)("peekViewEditorGutter.background",{dark:se,light:se,hcDark:se,hcLight:se},Se.NC("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),De=(0,be.P6G)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},Se.NC("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),Ie=(0,be.P6G)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},Se.NC("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),Pe=(0,be.P6G)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:be.xL1,hcLight:be.xL1},Se.NC("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));var Ke=m(55451),Je=m(90865),nt=m(7898),Lt=m(24580),Tt=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Bt{constructor(e,t,i,s){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=s,this.id=Sr.a.nextId()}get uri(){return this.link.uri}get range(){var e,t;return(t=(e=this._range)!==null&&e!==void 0?e:this.link.targetSelectionRange)!==null&&t!==void 0?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=(e=this.parent.getPreview(this))===null||e===void 0?void 0:e.preview(this.range);return t?(0,Se.NC)({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"symbol in {0} on line {1} at column {2}, {3}",(0,un.EZ)(this.uri),this.range.startLineNumber,this.range.startColumn,t.value):(0,Se.NC)("aria.oneReference","symbol in {0} on line {1} at column {2}",(0,un.EZ)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class jt{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:s,startColumn:o,endLineNumber:c,endColumn:p}=e,P=i.getWordUntilPosition({lineNumber:s,column:o-t}),j=new yt.e(s,P.startColumn,s,o),V=new yt.e(c,p,c,1073741824),ae=i.getValueInRange(j).replace(/^\s+/,""),ye=i.getValueInRange(e),We=i.getValueInRange(V).replace(/\s+$/,"");return{value:ae+ye+We,highlight:{start:ae.length,end:ae.length+ye.length}}}}class fi{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new nr.Y9}dispose(){(0,lt.B9)(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?(0,Se.NC)("aria.fileReferences.1","1 symbol in {0}, full path {1}",(0,un.EZ)(this.uri),this.uri.fsPath):(0,Se.NC)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,(0,un.EZ)(this.uri),this.uri.fsPath)}resolve(e){return Tt(this,void 0,void 0,function*(){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=yield e.createModelReference(t.uri);this._previews.set(t.uri,new jt(i))}catch(i){(0,Vi.dL)(i)}return this})}}class ei{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Hi.Q5,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(ei._compareReferences);let s;for(const o of e)if((!s||!un.SF.isEqual(s.uri,o.uri,!0))&&(s=new fi(this,o.uri),this.groups.push(s)),s.children.length===0||ei._compareReferences(o,s.children[s.children.length-1])!==0){const c=new Bt(i===o,s,o,p=>this._onDidChangeReferenceRange.fire(p));this.references.push(c),s.children.push(c)}}dispose(){(0,lt.B9)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new ei(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?(0,Se.NC)("aria.result.0","No results found"):this.references.length===1?(0,Se.NC)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?(0,Se.NC)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,Se.NC)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let s=i.children.indexOf(e);const o=i.children.length,c=i.parent.groups.length;return c===1||t&&s+1<o||!t&&s>0?(t?s=(s+1)%o:s=(s+o-1)%o,i.children[s]):(s=i.parent.groups.indexOf(i),t?(s=(s+1)%c,i.parent.groups[s].children[0]):(s=(s+c-1)%c,i.parent.groups[s].children[i.parent.groups[s].children.length-1]))}nearestReference(e,t){const i=this.references.map((s,o)=>({idx:o,prefixLen:Ni.Mh(s.uri.toString(),e.toString()),offsetDist:Math.abs(s.range.startLineNumber-t.lineNumber)*100+Math.abs(s.range.startColumn-t.column)})).sort((s,o)=>s.prefixLen>o.prefixLen?-1:s.prefixLen<o.prefixLen?1:s.offsetDist<o.offsetDist?-1:s.offsetDist>o.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&yt.e.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return un.SF.compare(e.uri,t.uri)||yt.e.compareRangesUsingStarts(e.range,t.range)}}var Ki=m(41250),di=m(33073),tn=m(96833),Ji=m(74621),zi=m(72738),rn=m(79091),$n=m(43387),Zi=m(49831),Hn=m(84943),gs=m(36846),Ls=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},zn=function(f,e){return function(t,i){e(t,i,f)}};let ks=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof ei||e instanceof fi}getChildren(e){if(e instanceof ei)return e.groups;if(e instanceof fi)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};ks=Ls([zn(0,zs.S)],ks);class Ts{getHeight(){return 23}getTemplateId(e){return e instanceof fi?bd.id:Ga.id}}let xs=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Bt){const i=(t=e.parent.getPreview(e))===null||t===void 0?void 0:t.preview(e.range);if(i)return i.value}return(0,un.EZ)(e.uri)}};xs=Ls([zn(0,Le.d)],xs);class Wo{getId(e){return e instanceof Bt?e.id:e.uri}}let vd=class extends lt.JT{constructor(e,t,i){super(),this._labelService=t;const s=document.createElement("div");s.classList.add("reference-file"),this.file=this._register(new $n.g(s,{supportHighlights:!0})),this.badge=new zi.Z(M.R3(s,M.$(".count"))),this._register((0,gs.WZ)(this.badge,i)),e.appendChild(s)}set(e,t){const i=(0,un.XX)(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const s=e.children.length;this.badge.setCount(s),s>1?this.badge.setTitleFormat((0,Se.NC)("referencesCount","{0} references",s)):this.badge.setTitleFormat((0,Se.NC)("referenceCount","{0} reference",s))}};vd=Ls([zn(1,Hn.e),zn(2,Xe.XE)],vd);let bd=class dv{constructor(e){this._instantiationService=e,this.templateId=dv.id}renderTemplate(e){return this._instantiationService.createInstance(vd,e)}renderElement(e,t,i){i.set(e.element,(0,Zi.mB)(e.filterData))}disposeTemplate(e){e.dispose()}};bd.id="FileReferencesRenderer",bd=Ls([zn(0,F.TG)],bd);class df{constructor(e){this.label=new rn.q(e)}set(e,t){var i;const s=(i=e.parent.getPreview(e))===null||i===void 0?void 0:i.preview(e.range);if(!s||!s.value)this.label.set(`${(0,un.EZ)(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:o,highlight:c}=s;t&&!Zi.CL.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(o,(0,Zi.mB)(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(o,[c]))}}}class Ga{constructor(){this.templateId=Ga.id}renderTemplate(e){return new df(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(){}}Ga.id="OneReferenceRenderer";class pm{getWidgetAriaLabel(){return(0,Se.NC)("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var wd=m(85762),Oh=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Or=function(f,e){return function(t,i){e(t,i,f)}},ba=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Ml{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new lt.SL,this._callOnModelChange=new lt.SL,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let s=0,o=e.children.length;s<o;s++){const c=e.children[s];this._decorationIgnoreSet.has(c.id)||c.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:c.range,options:Ml.DecorationOptions}),i.push(s))}this._editor.changeDecorations(s=>{const o=s.deltaDecorations([],t);for(let c=0;c<o.length;c++)this._decorations.set(o[c],e.children[i[c]])})}_onDecorationChanged(){const e=[],t=this._editor.getModel();if(t){for(const[i,s]of this._decorations){const o=t.getDecorationRange(i);if(!o)continue;let c=!1;if(!yt.e.equalsRange(o,s.range)){if(yt.e.spansMultipleLines(o))c=!0;else{const p=s.range.endColumn-s.range.startColumn,P=o.endColumn-o.startColumn;p!==P&&(c=!0)}c?(this._decorationIgnoreSet.add(s.id),e.push(i)):s.range=o}}for(let i=0,s=e.length;i<s;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}}Ml.DecorationOptions=on.qx.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});class Fh{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const s=JSON.parse(e);t=s.ratio,i=s.heightInLines}catch{}return{ratio:t||.7,heightInLines:i||18}}}class Al extends Lt.ls{}let Rl=class extends $a{constructor(e,t,i,s,o,c,p,P,j,V,ae,ye){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},c),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=o,this._instantiationService=c,this._peekViewService=p,this._uriLabel=P,this._undoRedoService=j,this._keybindingService=V,this._languageService=ae,this._languageConfigurationService=ye,this._disposeOnNewModel=new lt.SL,this._callOnDispose=new lt.SL,this._onDidSelectReference=new Hi.Q5,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new M.Ro(0,0),this._applyTheme(s.getColorTheme()),this._callOnDispose.add(s.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}dispose(){this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),(0,lt.B9)(this._preview),(0,lt.B9)(this._previewNotAvailableMessage),(0,lt.B9)(this._tree),(0,lt.B9)(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(qe)||En.Il.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Cd)||En.Il.transparent,primaryHeadingColor:e.getColor(yc),secondaryHeadingColor:e.getColor(Tl)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=M.R3(e,M.$("div.messages")),M.Cp(this._messageContainer),this._splitView=new Ki.z(e,{orientation:1}),this._previewContainer=M.R3(e,M.$("div.preview.inline"));const t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(rr,this._previewContainer,t,this.editor),M.Cp(this._previewContainer),this._previewNotAvailableMessage=new on.yO(Se.NC("missingPreviewMessage","no preview available"),Ji.bd,on.yO.DEFAULT_CREATION_OPTIONS,null,this._undoRedoService,this._languageService,this._languageConfigurationService),this._treeContainer=M.R3(e,M.$("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new pm,keyboardNavigationLabelProvider:this._instantiationService.createInstance(xs),identityProvider:new Wo,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:n}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(M.mu(this._treeContainer,"keydown",o=>{o.equals(9)&&(this._keybindingService.dispatchEvent(o,o.target),o.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(Al,"ReferencesWidget",this._treeContainer,new Ts,[this._instantiationService.createInstance(bd),this._instantiationService.createInstance(Ga)],this._instantiationService.createInstance(ks),i),this._splitView.addView({onDidChange:Hi.ju.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:o=>{this._preview.layout({height:this._dim.height,width:o})}},Ki.M.Distribute),this._splitView.addView({onDidChange:Hi.ju.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:o=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${o}px`,this._tree.layout(this._dim.height,o)}},Ki.M.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const s=(o,c)=>{o instanceof Bt&&(c==="show"&&this._revealReference(o,!1),this._onDidSelectReference.fire({element:o,kind:c,source:"tree"}))};this._tree.onDidOpen(o=>{o.sideBySide?s(o.element,"side"):o.editorOptions.pinned?s(o.element,"goto"):s(o.element,"show")}),M.Cp(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new M.Ro(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=Se.NC("noResults","No results"),M.$Z(this._messageContainer),Promise.resolve(void 0)):(M.Cp(this._messageContainer),this._decorationsManager=new Ml(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const s=this._getFocusedReference();s&&this._onDidSelectReference.fire({element:{uri:s.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),M.$Z(this._treeContainer),M.$Z(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof Bt)return e;if(e instanceof fi&&e.children.length>0)return e.children[0]}revealReference(e){return ba(this,void 0,void 0,function*(){yield this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})})}_revealReference(e,t){return ba(this,void 0,void 0,function*(){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==di.lg.inMemory?this.setTitle((0,un.Hx)(e.uri),this._uriLabel.getUriLabel((0,un.XX)(e.uri))):this.setTitle(Se.NC("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),yield this._tree.expand(e.parent),this._tree.reveal(e));const s=yield i;if(!this._model){s.dispose();return}(0,lt.B9)(this._previewModelReference);const o=s.object;if(o){const c=this._preview.getModel()===o.textEditorModel?0:1,p=yt.e.lift(e.range).collapseToStart();this._previewModelReference=s,this._preview.setModel(o.textEditorModel),this._preview.setSelection(p),this._preview.revealRangeInCenter(p,c)}else this._preview.setModel(this._previewNotAvailableMessage),s.dispose()})}};Rl=Oh([Or(3,Xe.XE),Or(4,zs.S),Or(5,F.TG),Or(6,Nl),Or(7,Hn.e),Or(8,wd.tJ),Or(9,Le.d),Or(10,Bs.O),Or(11,lo.c_)],Rl);var _m=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Eo=function(f,e){return function(t,i){e(t,i,f)}},cf=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const Jr=new ht.uy("referenceSearchVisible",!1,Se.NC("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let Fr=class E_{constructor(e,t,i,s,o,c,p,P){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=s,this._notificationService=o,this._instantiationService=c,this._storageService=p,this._configurationService=P,this._disposables=new lt.SL,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Jr.bindTo(i)}static get(e){return e.getContribution(E_.ID)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)===null||e===void 0||e.dispose(),(t=this._model)===null||t===void 0||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let s;if(this._widget&&(s=this._widget.position),this.closeWidget(),s&&e.containsPosition(s))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const o="peekViewLayout",c=Fh.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(Rl,this._editor,this._defaultTreeKeyboardSupport,c),this._widget.setTitle(Se.NC("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(P=>{const{element:j,kind:V}=P;if(j)switch(V){case"open":(P.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(j,!1,!1);break;case"side":this.openReference(j,!0,!1);break;case"goto":i?this._gotoReference(j):this.openReference(j,!1,!0);break}}));const p=++this._requestIdPool;t.then(P=>{var j;if(p!==this._requestIdPool||!this._widget){P.dispose();return}return(j=this._model)===null||j===void 0||j.dispose(),this._model=P,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(Se.NC("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const V=this._editor.getModel().uri,ae=new wi.L(e.startLineNumber,e.startColumn),ye=this._model.nearestReference(V,ae);if(ye)return this._widget.setSelection(ye).then(()=>{this._widget&&this._editor.getOption(79)==="editor"&&this._widget.focusOnPreviewEditor()})}})},P=>{this._notificationService.error(P)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(e){return cf(this,void 0,void 0,function*(){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const s=this._model.nextOrPreviousReference(i,e),o=this._editor.hasTextFocus(),c=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(s),yield this._gotoReference(s),o?this._editor.focus():this._widget&&c&&this._widget.focusOnPreviewEditor()})}revealReference(e){return cf(this,void 0,void 0,function*(){!this._editor.hasModel()||!this._model||!this._widget||(yield this._widget.revealReference(e))})}closeWidget(e=!0){var t,i;(t=this._widget)===null||t===void 0||t.dispose(),(i=this._model)===null||i===void 0||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e){this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;const t=yt.e.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:t,selectionSource:"code.jump"}},this._editor).then(i=>{var s;if(this._ignoreModelChangeEvent=!1,!i||!this._widget){this.closeWidget();return}if(this._editor===i)this._widget.show(t),this._widget.focusOnReferenceTree();else{const o=E_.get(i),c=this._model.clone();this.closeWidget(),i.focus(),o?.toggleWidget(t,(0,Ot.PG)(p=>Promise.resolve(c)),(s=this._peekMode)!==null&&s!==void 0?s:!1)}},i=>{this._ignoreModelChangeEvent=!1,(0,Vi.dL)(i)})}openReference(e,t,i){t||this.closeWidget();const{uri:s,range:o}=e;this._editorService.openCodeEditor({resource:s,options:{selection:o,selectionSource:"code.jump",pinned:i}},this._editor,t)}};Fr.ID="editor.contrib.referencesController",Fr=_m([Eo(2,ht.i6),Eo(3,Qi.$),Eo(4,bs.lT),Eo(5,F.TG),Eo(6,mo.Uy),Eo(7,ce.Ui)],Fr);function ho(f,e){const t=kl(f);if(!t)return;const i=Fr.get(t);i&&e(i)}nt.W.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,Ui.gx)(2089,60),when:ht.Ao.or(Jr,co.inPeekEditor),handler(f){ho(f,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),nt.W.registerCommandAndKeybindingRule({id:"goToNextReference",weight:100-10,primary:62,secondary:[70],when:ht.Ao.or(Jr,co.inPeekEditor),handler(f){ho(f,e=>{e.goToNextOrPreviousReference(!0)})}}),nt.W.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:100-10,primary:1086,secondary:[1094],when:ht.Ao.or(Jr,co.inPeekEditor),handler(f){ho(f,e=>{e.goToNextOrPreviousReference(!1)})}}),mn.P0.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),mn.P0.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),mn.P0.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),mn.P0.registerCommand("closeReferenceSearch",f=>ho(f,e=>e.closeWidget())),nt.W.registerKeybindingRule({id:"closeReferenceSearch",weight:100-101,primary:9,secondary:[1033],when:ht.Ao.and(co.inPeekEditor,ht.Ao.not("config.editor.stablePeek"))}),nt.W.registerKeybindingRule({id:"closeReferenceSearch",weight:200+50,primary:9,secondary:[1033],when:ht.Ao.and(Jr,ht.Ao.not("config.editor.stablePeek"))}),nt.W.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ht.Ao.and(Jr,Lt.CQ,Lt.PS.negate(),Lt.uJ.negate()),handler(f){var e;const i=(e=f.get(Lt.Lw).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof Bt&&ho(f,s=>s.revealReference(i[0]))}}),nt.W.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ht.Ao.and(Jr,Lt.CQ,Lt.PS.negate(),Lt.uJ.negate()),handler(f){var e;const i=(e=f.get(Lt.Lw).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof Bt&&ho(f,s=>s.openReference(i[0],!0,!0))}}),mn.P0.registerCommand("openReference",f=>{var e;const i=(e=f.get(Lt.Lw).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof Bt&&ho(f,s=>s.openReference(i[0],!1,!0))});var Sd=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Qa=function(f,e){return function(t,i){e(t,i,f)}};const wa=new ht.uy("hasSymbols",!1,(0,Se.NC)("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Pl=(0,F.yh)("ISymbolNavigationService");let Ol=class{constructor(e,t,i,s){this._editorService=t,this._notificationService=i,this._keybindingService=s,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=wa.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)===null||e===void 0||e.dispose(),(t=this._currentMessage)===null||t===void 0||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new yd(this._editorService),s=i.onDidChange(o=>{if(this._ignoreEditorChange)return;const c=this._editorService.getActiveCodeEditor();if(!c)return;const p=c.getModel(),P=c.getPosition();if(!p||!P)return;let j=!1,V=!1;for(const ae of t.references)if((0,un.Xy)(ae.uri,p.uri))j=!0,V=V||yt.e.containsPosition(ae.range,P);else if(j)break;(!j||!V)&&this.reset()});this._currentState=(0,lt.F8)(i,s)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:yt.e.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;(e=this._currentMessage)===null||e===void 0||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?(0,Se.NC)("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):(0,Se.NC)("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};Ol=Sd([Qa(0,ht.i6),Qa(1,Qi.$),Qa(2,bs.lT),Qa(3,Le.d)],Ol),(0,sr.z)(Pl,Ol,!0),(0,Ae.fK)(new class extends Ae._l{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:wa,kbOpts:{weight:100,primary:70}})}runEditorCommand(f,e){return f.get(Pl).revealNext(e)}}),nt.W.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:wa,primary:9,handler(f){f.get(Pl).reset()}});let yd=class{constructor(e){this._listener=new Map,this._disposables=new lt.SL,this._onDidChange=new Hi.Q5,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,lt.B9)(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,(0,lt.F8)(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))===null||t===void 0||t.dispose(),this._listener.delete(e)}};yd=Sd([Qa(0,Qi.$)],yd);var hf=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};function Ld(f,e,t,i){const o=t.ordered(f).map(c=>Promise.resolve(i(c,f,e)).then(void 0,p=>{(0,Vi.Cp)(p)}));return Promise.all(o).then(c=>{const p=[];for(const P of c)Array.isArray(P)?p.push(...P):P&&p.push(P);return p})}function Lc(f,e,t,i){return Ld(e,t,f,(s,o,c)=>s.provideDefinition(o,c,i))}function Za(f,e,t,i){return Ld(e,t,f,(s,o,c)=>s.provideDeclaration(o,c,i))}function Dc(f,e,t,i){return Ld(e,t,f,(s,o,c)=>s.provideImplementation(o,c,i))}function Bh(f,e,t,i){return Ld(e,t,f,(s,o,c)=>s.provideTypeDefinition(o,c,i))}function Br(f,e,t,i,s){return Ld(e,t,f,(o,c,p)=>hf(this,void 0,void 0,function*(){const P=yield o.provideReferences(c,p,{includeDeclaration:!0},s);if(!i||!P||P.length!==2)return P;const j=yield o.provideReferences(c,p,{includeDeclaration:!1},s);return j&&j.length===1?j:P}))}function Dd(f){return hf(this,void 0,void 0,function*(){const e=yield f(),t=new ei(e,""),i=t.references.map(s=>s.link);return t.dispose(),i})}(0,Ae.sb)("_executeDefinitionProvider",(f,e,t)=>{const i=f.get(Yi.p),s=Lc(i.definitionProvider,e,t,Ai.T.None);return Dd(()=>s)}),(0,Ae.sb)("_executeTypeDefinitionProvider",(f,e,t)=>{const i=f.get(Yi.p),s=Bh(i.typeDefinitionProvider,e,t,Ai.T.None);return Dd(()=>s)}),(0,Ae.sb)("_executeDeclarationProvider",(f,e,t)=>{const i=f.get(Yi.p),s=Za(i.declarationProvider,e,t,Ai.T.None);return Dd(()=>s)}),(0,Ae.sb)("_executeReferenceProvider",(f,e,t)=>{const i=f.get(Yi.p),s=Br(i.referenceProvider,e,t,!1,Ai.T.None);return Dd(()=>s)}),(0,Ae.sb)("_executeImplementationProvider",(f,e,t)=>{const i=f.get(Yi.p),s=Dc(i.implementationProvider,e,t,Ai.T.None);return Dd(()=>s)});var lr=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},Ya,Ed,Sa,Xa,Wh,Ec,Ic,Vh;Ne.BH.appendMenuItem(Ne.eH.EditorContext,{submenu:Ne.eH.EditorContextPeek,title:Se.NC("peek.submenu","Peek"),group:"navigation",order:100});const uf=new Set;function dr(f){const e=new f;return(0,Ae.QG)(e),uf.add(e.id),e}class Ja{constructor(e,t){this.model=e,this.position=t}static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Ja||wi.L.isIPosition(e.position)&&e.model)}}class cr extends Ae.R6{constructor(e,t){super(t),this.configuration=e}run(e,t,i){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(bs.lT),o=e.get(Qi.$),c=e.get(Is.ek),p=e.get(Pl),P=e.get(Yi.p),j=t.getModel(),V=t.getPosition(),ae=Ja.is(i)?i:new Ja(j,V),ye=new Qn.Dl(t,5),We=(0,Ot.eP)(this._getLocationModel(P,ae.model,ae.position,ye.token),ye.token).then(Ze=>lr(this,void 0,void 0,function*(){var it;if(!Ze||ye.token.isCancellationRequested)return;(0,ri.Z9)(Ze.ariaMessage);let vt;if(Ze.referenceAt(j.uri,V)){const hi=this._getAlternativeCommand(t);!cr._activeAlternativeCommands.has(hi)&&uf.has(hi)&&(vt=t.getAction(hi))}const zt=Ze.references.length;if(zt===0){if(!this.configuration.muteMessage){const hi=j.getWordAtPosition(V);(it=ns.get(t))===null||it===void 0||it.showMessage(this._getNoResultFoundMessage(hi),V)}}else if(zt===1&&vt)cr._activeAlternativeCommands.add(this.id),vt.run().finally(()=>{cr._activeAlternativeCommands.delete(this.id)});else return this._onResult(o,p,t,Ze)}),Ze=>{s.error(Ze)}).finally(()=>{ye.dispose()});return c.showWhile(We,250),We}_onResult(e,t,i,s){return lr(this,void 0,void 0,function*(){const o=this._getGoToPreference(i);if(!(i instanceof rr)&&(this.configuration.openInPeek||o==="peek"&&s.references.length>1))this._openInPeek(i,s);else{const c=s.firstReference(),p=s.references.length>1&&o==="gotoAndPeek",P=yield this._openReference(i,e,c,this.configuration.openToSide,!p);p&&P?this._openInPeek(P,s):s.dispose(),o==="goto"&&t.put(c)}})}_openReference(e,t,i,s,o){return lr(this,void 0,void 0,function*(){let c;if((0,Je.vx)(i)&&(c=i.targetSelectionRange),c||(c=i.range),!c)return;const p=yield t.openCodeEditor({resource:i.uri,options:{selection:yt.e.collapseToStart(c),selectionRevealType:3,selectionSource:"code.jump"}},e,s);if(p){if(o){const P=p.getModel(),j=p.createDecorationsCollection([{range:c,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{p.getModel()===P&&j.clear()},350)}return p}})}_openInPeek(e,t){const i=Fr.get(e);i&&e.hasModel()?i.toggleWidget(e.getSelection(),(0,Ot.PG)(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}cr._activeAlternativeCommands=new Set;class Id extends cr{_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(yield Lc(e.definitionProvider,t,i,s),Se.NC("def.title","Definitions"))})}_getNoResultFoundMessage(e){return e&&e.word?Se.NC("noResultWord","No definition found for '{0}'",e.word):Se.NC("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(53).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(53).multipleDefinitions}}const ff=Fi.$L&&!(0,en.isStandalone)()?2118:70;dr((Ya=class I_ extends Id{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:I_.id,label:Se.NC("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:ht.Ao.and(Ue.u.hasDefinitionProvider,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:ff,weight:100},contextMenuOpts:{group:"navigation",order:1.1}}),mn.P0.registerCommandAlias("editor.action.goToDeclaration",I_.id)}},Ya.id="editor.action.revealDefinition",Ya)),dr((Ed=class x_ extends Id{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:x_.id,label:Se.NC("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:ht.Ao.and(Ue.u.hasDefinitionProvider,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,ff),weight:100}}),mn.P0.registerCommandAlias("editor.action.openDeclarationToTheSide",x_.id)}},Ed.id="editor.action.revealDefinitionAside",Ed)),dr((Sa=class N_ extends Id{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:N_.id,label:Se.NC("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:ht.Ao.and(Ue.u.hasDefinitionProvider,co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:582,linux:{primary:3140},weight:100},contextMenuOpts:{menuId:Ne.eH.EditorContextPeek,group:"peek",order:2}}),mn.P0.registerCommandAlias("editor.action.previewDeclaration",N_.id)}},Sa.id="editor.action.peekDefinition",Sa));class gf extends cr{_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(yield Za(e.declarationProvider,t,i,s),Se.NC("decl.title","Declarations"))})}_getNoResultFoundMessage(e){return e&&e.word?Se.NC("decl.noResultWord","No declaration found for '{0}'",e.word):Se.NC("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(53).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(53).multipleDeclarations}}dr((Xa=class cv extends gf{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:cv.id,label:Se.NC("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:ht.Ao.and(Ue.u.hasDeclarationProvider,Ue.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{group:"navigation",order:1.3}})}_getNoResultFoundMessage(e){return e&&e.word?Se.NC("decl.noResultWord","No declaration found for '{0}'",e.word):Se.NC("decl.generic.noResults","No declaration found")}},Xa.id="editor.action.revealDeclaration",Xa)),dr(class extends gf{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:Se.NC("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:ht.Ao.and(Ue.u.hasDeclarationProvider,co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:Ne.eH.EditorContextPeek,group:"peek",order:3}})}});class qr extends cr{_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(yield Bh(e.typeDefinitionProvider,t,i,s),Se.NC("typedef.title","Type Definitions"))})}_getNoResultFoundMessage(e){return e&&e.word?Se.NC("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):Se.NC("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(53).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(53).multipleTypeDefinitions}}dr((Wh=class hv extends qr{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:hv.ID,label:Se.NC("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:ht.Ao.and(Ue.u.hasTypeDefinitionProvider,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4}})}},Wh.ID="editor.action.goToTypeDefinition",Wh)),dr((Ec=class uv extends qr{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:uv.ID,label:Se.NC("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:ht.Ao.and(Ue.u.hasTypeDefinitionProvider,co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:Ne.eH.EditorContextPeek,group:"peek",order:4}})}},Ec.ID="editor.action.peekTypeDefinition",Ec));class mf extends cr{_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(yield Dc(e.implementationProvider,t,i,s),Se.NC("impl.title","Implementations"))})}_getNoResultFoundMessage(e){return e&&e.word?Se.NC("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):Se.NC("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(53).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(53).multipleImplementations}}dr((Ic=class fv extends mf{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:fv.ID,label:Se.NC("actions.goToImplementation.label","Go to Implementations"),alias:"Go to Implementations",precondition:ht.Ao.and(Ue.u.hasImplementationProvider,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2118,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}},Ic.ID="editor.action.goToImplementation",Ic)),dr((Vh=class gv extends mf{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:gv.ID,label:Se.NC("actions.peekImplementation.label","Peek Implementations"),alias:"Peek Implementations",precondition:ht.Ao.and(Ue.u.hasImplementationProvider,co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3142,weight:100},contextMenuOpts:{menuId:Ne.eH.EditorContextPeek,group:"peek",order:5}})}},Vh.ID="editor.action.peekImplementation",Vh));class pf extends cr{_getNoResultFoundMessage(e){return e?Se.NC("references.no","No references found for '{0}'",e.word):Se.NC("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(53).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(53).multipleReferences}}dr(class extends pf{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:Se.NC("goToReferences.label","Go to References"),alias:"Go to References",precondition:ht.Ao.and(Ue.u.hasReferenceProvider,co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1094,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(yield Br(e.referenceProvider,t,i,!0,s),Se.NC("ref.title","References"))})}}),dr(class extends pf{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:Se.NC("references.action.label","Peek References"),alias:"Peek References",precondition:ht.Ao.and(Ue.u.hasReferenceProvider,co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:Ne.eH.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(yield Br(e.referenceProvider,t,i,!1,s),Se.NC("ref.title","References"))})}});class _f extends cr{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",label:Se.NC("label.generic","Go to Any Symbol"),alias:"Go to Any Symbol",precondition:ht.Ao.and(co.notInPeekEditor,Ue.u.isInWalkThroughSnippet.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}_getLocationModel(e,t,i,s){return lr(this,void 0,void 0,function*(){return new ei(this._references,Se.NC("generic.title","Locations"))})}_getNoResultFoundMessage(e){return e&&Se.NC("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return(t=this._gotoMultipleBehaviour)!==null&&t!==void 0?t:e.getOption(53).multipleReferences}_getAlternativeCommand(){return""}}mn.P0.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:vn.o},{name:"position",description:"The position at which to start",constraint:wi.L.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(f,e,t,i,s,o,c)=>lr(void 0,void 0,void 0,function*(){(0,_i.p_)(vn.o.isUri(e)),(0,_i.p_)(wi.L.isIPosition(t)),(0,_i.p_)(Array.isArray(i)),(0,_i.p_)(typeof s>"u"||typeof s=="string"),(0,_i.p_)(typeof c>"u"||typeof c=="boolean");const p=f.get(Qi.$),P=yield p.openCodeEditor({resource:e},p.getFocusedCodeEditor());if((0,Ke.CL)(P))return P.setPosition(t),P.revealPositionInCenterIfOutsideViewport(t,0),P.invokeWithinContext(j=>{const V=new class extends _f{_getNoResultFoundMessage(ae){return o||super._getNoResultFoundMessage(ae)}}({muteMessage:!o,openInPeek:!!c,openToSide:!1},i,s);j.get(F.TG).invokeFunction(V.run.bind(V),P)})})}),mn.P0.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:vn.o},{name:"position",description:"The position at which to start",constraint:wi.L.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(f,e,t,i,s)=>lr(void 0,void 0,void 0,function*(){f.get(mn.Hy).executeCommand("editor.action.goToLocations",e,t,i,s,void 0,!0)})}),mn.P0.registerCommand({id:"editor.action.findReferences",handler:(f,e,t)=>{(0,_i.p_)(vn.o.isUri(e)),(0,_i.p_)(wi.L.isIPosition(t));const i=f.get(Yi.p),s=f.get(Qi.$);return s.openCodeEditor({resource:e},s.getFocusedCodeEditor()).then(o=>{if(!(0,Ke.CL)(o)||!o.hasModel())return;const c=Fr.get(o);if(!c)return;const p=(0,Ot.PG)(j=>Br(i.referenceProvider,o.getModel(),wi.L.lift(t),!1,j).then(V=>new ei(V,Se.NC("ref.title","References")))),P=new yt.e(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(c.toggleWidget(P,p,!1))})}}),mn.P0.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations"),Ne.BH.appendMenuItems([{id:Ne.eH.MenubarGoMenu,item:{command:{id:"editor.action.revealDefinition",title:Se.NC({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},group:"4_symbol_nav",order:2}},{id:Ne.eH.MenubarGoMenu,item:{command:{id:"editor.action.revealDeclaration",title:Se.NC({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},group:"4_symbol_nav",order:3}},{id:Ne.eH.MenubarGoMenu,item:{command:{id:"editor.action.goToTypeDefinition",title:Se.NC({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},group:"4_symbol_nav",order:3}},{id:Ne.eH.MenubarGoMenu,item:{command:{id:"editor.action.goToImplementation",title:Se.NC({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},group:"4_symbol_nav",order:4}},{id:Ne.eH.MenubarGoMenu,item:{command:{id:"editor.action.goToReferences",title:Se.NC({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},group:"4_symbol_nav",order:5}}]);var Cf=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},xc=function(f,e){return function(t,i){e(t,i,f)}};let ea=class am{constructor(e,t,i,s){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=s,this.toUnhook=new lt.SL,this.toUnhookForKeyboard=new lt.SL,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const o=new Sl(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown(([c,p])=>{this.startFindDefinitionFromMouse(c,(0,_i.f6)(p))})),this.toUnhook.add(o.onExecute(c=>{this.isEnabled(c)&&this.gotoDefinition(c.target.position,c.hasSideBySideModifier).then(()=>{this.removeLinkDecorations()},p=>{this.removeLinkDecorations(),(0,Vi.dL)(p)})})),this.toUnhook.add(o.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(am.ID)}startFindDefinitionFromCursor(e){return this.startFindDefinition(e).then(()=>{this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))})}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const i=e?(t=this.editor.getModel())===null||t===void 0?void 0:t.getWordAtPosition(e):null;if(!i)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return Promise.resolve(0);this.currentWordAtPosition=i;const s=new Qn.yy(this.editor,15);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,Ot.PG)(o=>this.findDefinition(e,o)),this.previousPromise.then(o=>{if(!o||!o.length||!s.validate(this.editor)){this.removeLinkDecorations();return}if(o.length>1)this.addDecoration(new yt.e(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),new Di.W5().appendText(Se.NC("multipleResults","Click to show {0} definitions.",o.length)));else{const c=o[0];if(!c.uri)return;this.textModelResolverService.createModelReference(c.uri).then(p=>{if(!p.object||!p.object.textEditorModel){p.dispose();return}const{object:{textEditorModel:P}}=p,{startLineNumber:j}=c.range;if(j<1||j>P.getLineCount()){p.dispose();return}const V=this.getPreviewValue(P,j,c);let ae;c.originSelectionRange?ae=yt.e.lift(c.originSelectionRange):ae=new yt.e(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);const ye=this.languageService.guessLanguageIdByFilepathOrFirstLine(P.uri);this.addDecoration(ae,new Di.W5().appendCodeblock(ye||"",V)),p.dispose()})}}).then(void 0,Vi.dL)}getPreviewValue(e,t,i){let s=i.range;return s.endLineNumber-s.startLineNumber>=am.MAX_SOURCE_PREVIEW_LINES&&(s=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,s)}stripIndentationFromPreviewRange(e,t,i){let o=e.getLineFirstNonWhitespaceColumn(t);for(let p=t+1;p<i.endLineNumber;p++){const P=e.getLineFirstNonWhitespaceColumn(p);o=Math.min(o,P)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${o-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),s=Math.min(e.getLineCount(),t+am.MAX_SOURCE_PREVIEW_LINES);let o=t+1;for(;o<s;o++){const c=e.getLineFirstNonWhitespaceColumn(o);if(i===c)break}return new yt.e(t,1,o+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&e.target.type===6&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Lc(this.languageFeaturesService.definitionProvider,i,e,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const s=!t&&this.editor.getOption(80)&&!this.isInPeekEditor(i);return new Id({openToSide:t,openInPeek:s,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(i,this.editor)})}isInPeekEditor(e){const t=e.get(ht.i6);return co.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose()}};ea.ID="editor.contrib.gotodefinitionatposition",ea.MAX_SOURCE_PREVIEW_LINES=8,ea=Cf([xc(1,zs.S),xc(2,Bs.O),xc(3,Yi.p)],ea),(0,Ae._K)(ea.ID,ea),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be._Yy);t&&e.addRule(`.monaco-editor .goto-definition-link { color: ${t} !important; }`)});var Io=m(9756),O_=m(95872);const Nc=M.$;class ta extends lt.JT{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 Io.s$(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class kc extends lt.JT{constructor(e,t,i){super(),this.actionContainer=M.R3(e,Nc("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=M.R3(this.actionContainer,Nc("a.action")),this.action.setAttribute("role","button"),t.iconClass&&M.R3(this.action,Nc(`span.icon.${t.iconClass}`));const s=M.R3(this.action,Nc("span"));s.textContent=i?`${t.label} (${i})`:t.label,this._register(M.nm(this.actionContainer,M.tw.CLICK,o=>{o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer)})),this._register(M.nm(this.actionContainer,M.tw.KEY_UP,o=>{new Lr.y(o).equals(3)&&(o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer))})),this.setEnabled(!0)}static render(e,t,i){return new kc(e,t,i)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}var vf=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},bf=function(f){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=f[Symbol.asyncIterator],t;return e?e.call(f):(f=typeof __values=="function"?__values(f):f[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=f[o]&&function(c){return new Promise(function(p,P){c=f[o](c),s(p,P,c.done,c.value)})}}function s(o,c,p,P){Promise.resolve(P).then(function(j){o({value:j,done:p})},c)}};class Ds{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}}class wf extends lt.JT{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Hi.Q5),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Ot.pY(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Ot.pY(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Ot.pY(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(55).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,Ot.zS)(e=>this._computer.computeAsync(e)),vf(this,void 0,void 0,function*(){var e,t;try{try{for(var i=bf(this._asyncIterable),s;s=yield i.next(),!s.done;){const o=s.value;o&&(this._result.push(o),this._fireResult())}}catch(o){e={error:o}}finally{try{s&&!s.done&&(t=i.return)&&(yield t.call(i))}finally{if(e)throw e.error}}this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(o){(0,Vi.dL)(o)}})):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new Ds(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class Hh{constructor(e,t){this.priority=e,this.range=t,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class Er{constructor(e,t,i){this.priority=e,this.owner=t,this.range=i,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}const Ws=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class Yo{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),s;if(s=Yo._table[i],typeof s=="number")return this.pos+=1,{type:s,pos:e,len:1};if(Yo.isDigitCharacter(i)){s=8;do t+=1,i=this.value.charCodeAt(e+t);while(Yo.isDigitCharacter(i));return this.pos+=t,{type:s,pos:e,len:t}}if(Yo.isVariableCharacter(i)){s=9;do i=this.value.charCodeAt(e+ ++t);while(Yo.isVariableCharacter(i)||Yo.isDigitCharacter(i));return this.pos+=t,{type:s,pos:e,len:t}}s=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof Yo._table[i]>"u"&&!Yo.isDigitCharacter(i)&&!Yo.isVariableCharacter(i));return this.pos+=t,{type:s,pos:e,len:t}}}Yo._table={[36]:0,[58]:1,[44]:2,[123]:3,[125]:4,[92]:5,[47]:6,[124]:7,[43]:11,[45]:12,[63]:13};class Fl{constructor(){this._children=[]}appendChild(e){return e instanceof _o&&this._children[this._children.length-1]instanceof _o?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,s=i.children.indexOf(e),o=i.children.slice(0);o.splice(s,1,...t),i._children=o,function c(p,P){for(const j of p)j.parent=P,c(j.children,j)}(t,i)}get children(){return this._children}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Vl)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}class _o extends Fl{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new _o(this.value)}}class xd extends Fl{}class hr extends xd{constructor(e){super(),this.index=e}static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Bl?this._children[0]:void 0}clone(){const e=new hr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Bl extends Fl{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof _o&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Bl;return this.options.forEach(e.appendChild,e),e}}class Wl extends Fl{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,s=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(o=>o instanceof Xo&&!!o.elseValue)&&(s=this._replace([])),s}_replace(e){let t="";for(const i of this._children)if(i instanceof Xo){let s=e[i.index]||"";s=i.resolve(s),t+=s}else t+=i.toString();return t}toString(){return""}clone(){const e=new Wl;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Xo extends Fl{constructor(e,t,i,s){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=s}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,s)=>s===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Xo(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class ya extends xd{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new _o(t)],!0):!1}clone(){const e=new ya(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Sf(f,e){const t=[...f];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Vl extends Fl{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof hr&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){const{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(s=>s===e?(i=!0,!1):(t+=s.len(),!0)),i?t:-1}fullLen(e){let t=0;return Sf([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof hr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof ya&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new Vl;return this._children=this.children.map(t=>t.clone()),e}walk(e){Sf(this.children,e)}}class ia{constructor(){this._scanner=new Yo,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const s=new Vl;return this.parseFragment(e,s),this.ensureFinalTabstop(s,i??!1,t??!1),s}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const s=new Map,o=[];t.walk(c=>(c instanceof hr&&(c.isFinalTabstop?s.set(0,void 0):!s.has(c.index)&&c.children.length>0?s.set(c.index,c.children):o.push(c)),!0));for(const c of o){const p=s.get(c.index);if(p){const P=new hr(c.index);P.transform=c.transform;for(const j of p)P.appendChild(j.clone());t.replace(c,[P])}}return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(o=>o.index===0)||e.appendChild(new hr(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const s=this._scanner.next();if(s.type!==0&&s.type!==4&&s.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new _o(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new hr(Number(t)):new ya(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const o=new hr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new _o("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else if(o.index>0&&this._accept(7)){const c=new Bl;for(;;){if(this._parseChoiceElement(c)){if(this._accept(2))continue;if(this._accept(7)&&(o.appendChild(c),this._accept(4)))return e.appendChild(o),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let s;if((s=this._accept(5,!0))?s=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||s:s=this._accept(void 0,!0),!s)return this._backTo(t),!1;i.push(s)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new _o(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const o=new ya(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new _o("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i)}_parseTransform(e){const t=new Wl;let i="",s="";for(;!this._accept(6);){let o;if(o=this._accept(5,!0)){o=this._accept(6,!0)||o,i+=o;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let o;if(o=this._accept(5,!0)){o=this._accept(5,!0)||this._accept(6,!0)||o,t.appendChild(new _o(o));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){s+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,s)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const s=this._accept(8,!0);if(s)if(i){if(this._accept(4))return e.appendChild(new Xo(Number(s))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Xo(Number(s))),!0;else return this._backTo(t),!1;if(this._accept(6)){const o=this._accept(9,!0);return!o||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Xo(Number(s),o)),!0)}else if(this._accept(11)){const o=this._until(4);if(o)return e.appendChild(new Xo(Number(s),void 0,o,void 0)),!0}else if(this._accept(12)){const o=this._until(4);if(o)return e.appendChild(new Xo(Number(s),void 0,void 0,o)),!0}else if(this._accept(13)){const o=this._until(1);if(o){const c=this._until(4);if(c)return e.appendChild(new Xo(Number(s),void 0,o,c)),!0}}else{const o=this._until(4);if(o)return e.appendChild(new Xo(Number(s),void 0,void 0,o)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new _o(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}var zh=m(40226),Tc=m(94085),Cm=m(46658),Mc=m(98420);const Ac=Se.NC("defaultLabel","input"),Uh=Se.NC("label.preserveCaseToggle","Preserve Case");class vm extends Tc.Z{constructor(e){super({icon:Mi.lA.preserveCase,title:Uh+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class jh extends br.${constructor(e,t,i,s){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Hi.Q5),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Hi.Q5),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Hi.Q5),this._onInput=this._register(new Hi.Q5),this._onKeyUp=this._register(new Hi.Q5),this._onPreserveCaseKeyDown=this._register(new Hi.Q5),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||Ac,this.inputActiveOptionBorder=s.inputActiveOptionBorder,this.inputActiveOptionForeground=s.inputActiveOptionForeground,this.inputActiveOptionBackground=s.inputActiveOptionBackground,this.inputBackground=s.inputBackground,this.inputForeground=s.inputForeground,this.inputBorder=s.inputBorder,this.inputValidationInfoBorder=s.inputValidationInfoBorder,this.inputValidationInfoBackground=s.inputValidationInfoBackground,this.inputValidationInfoForeground=s.inputValidationInfoForeground,this.inputValidationWarningBorder=s.inputValidationWarningBorder,this.inputValidationWarningBackground=s.inputValidationWarningBackground,this.inputValidationWarningForeground=s.inputValidationWarningForeground,this.inputValidationErrorBorder=s.inputValidationErrorBorder,this.inputValidationErrorBackground=s.inputValidationErrorBackground,this.inputValidationErrorForeground=s.inputValidationErrorForeground;const o=s.appendPreserveCaseLabel||"",c=s.history||[],p=!!s.flexibleHeight,P=!!s.flexibleWidth,j=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new Cm.p(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:c,showHistoryHint:s.showHistoryHint,flexibleHeight:p,flexibleWidth:P,flexibleMaxHeight:j})),this.preserveCase=this._register(new vm({appendTitle:o,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.preserveCase.onChange(ye=>{this._onDidOptionChange.fire(ye),!ye&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(ye=>{this._onPreserveCaseKeyDown.fire(ye)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const V=[this.preserveCase.domNode];this.onkeydown(this.domNode,ye=>{if(ye.equals(15)||ye.equals(17)||ye.equals(9)){const We=V.indexOf(document.activeElement);if(We>=0){let Ze=-1;ye.equals(17)?Ze=(We+1)%V.length:ye.equals(15)&&(We===0?Ze=V.length-1:Ze=We-1),ye.equals(9)?(V[We].blur(),this.inputBox.focus()):Ze>=0&&V[Ze].focus(),M.zB.stop(ye,!0)}}});const ae=document.createElement("div");ae.className="controls",ae.style.display=this._showOptionButtons?"block":"none",ae.appendChild(this.preserveCase.domNode),this.domNode.appendChild(ae),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,ye=>this._onKeyDown.fire(ye)),this.onkeyup(this.inputBox.inputElement,ye=>this._onKeyUp.fire(ye)),this.oninput(this.inputBox.inputElement,ye=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,ye=>this._onMouseDown.fire(ye))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}style(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputActiveOptionForeground=e.inputActiveOptionForeground,this.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.preserveCase.style(e);const t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox&&this.inputBox.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=e,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var yf=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Lf=function(f,e){return function(t,i){e(t,i,f)}};const Kh=new ht.uy("suggestWidgetVisible",!1,(0,Se.NC)("suggestWidgetVisible","Whether suggestion are visible")),Nd="historyNavigationWidgetFocus",ln="historyNavigationForwardsEnabled",Rc="historyNavigationBackwardsEnabled";let os;const Pc=[];function $h(f,e){if(Pc.includes(e))throw new Error("Cannot register the same widget multiple times");Pc.push(e);const t=new lt.SL,i=t.add(f.createScoped(e.element)),s=new ht.uy(Nd,!1).bindTo(i),o=new ht.uy(ln,!0).bindTo(i),c=new ht.uy(Rc,!0).bindTo(i),p=()=>{s.set(!0),os=e},P=()=>{s.set(!1),os===e&&(os=void 0)};return e.element===document.activeElement&&p(),t.add(e.onDidFocus(()=>p())),t.add(e.onDidBlur(()=>P())),t.add((0,lt.OF)(()=>{Pc.splice(Pc.indexOf(e),1),P()})),{scopedContextKeyService:i,historyNavigationForwardsEnablement:o,historyNavigationBackwardsEnablement:c,dispose(){t.dispose()}}}let Gh=class extends zh.V{constructor(e,t,i,s,o=!1){super(e,t,o,i),this._register($h(s,this.inputBox))}};Gh=yf([Lf(3,ht.i6)],Gh);let Hl=class extends jh{constructor(e,t,i,s,o=!1){super(e,t,o,i),this._register($h(s,this.inputBox))}};Hl=yf([Lf(3,ht.i6)],Hl),nt.W.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ht.Ao.and(ht.Ao.has(Nd),ht.Ao.equals(Rc,!0),Kh.isEqualTo(!1)),primary:16,secondary:[528],handler:f=>{os&&os.showPreviousValue()}}),nt.W.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ht.Ao.and(ht.Ao.has(Nd),ht.Ao.equals(ln,!0),Kh.isEqualTo(!1)),primary:18,secondary:[530],handler:f=>{os&&os.showNextValue()}});var qa=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const An={Visible:Kh,HasFocusedSuggestion:new ht.uy("suggestWidgetHasFocusedSuggestion",!1,(0,Se.NC)("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new ht.uy("suggestWidgetDetailsVisible",!1,(0,Se.NC)("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new ht.uy("suggestWidgetMultipleSuggestions",!1,(0,Se.NC)("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new ht.uy("suggestionMakesTextEdit",!0,(0,Se.NC)("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ht.uy("acceptSuggestionOnEnter",!0,(0,Se.NC)("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ht.uy("suggestionHasInsertAndReplaceRange",!1,(0,Se.NC)("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new ht.uy("suggestionInsertMode",void 0,{type:"string",description:(0,Se.NC)("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new ht.uy("suggestionCanResolve",!1,(0,Se.NC)("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},na=new Ne.eH("suggestWidgetStatusBar");class Df{constructor(e,t,i,s){this.position=e,this.completion=t,this.container=i,this.provider=s,this.isInvalid=!1,this.score=Zi.CL.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:t.label.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,yt.e.isIRange(t.range)?(this.editStart=new wi.L(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new wi.L(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new wi.L(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||yt.e.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new wi.L(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new wi.L(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new wi.L(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||yt.e.spansMultipleLines(t.range.insert)||yt.e.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof s.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._isResolved=!0)}get isResolved(){return!!this._isResolved}resolve(e){return qa(this,void 0,void 0,function*(){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._isResolved=!1});this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(i=>{Object.assign(this.completion,i),this._isResolved=!0,t.dispose()},i=>{(0,Vi.n2)(i)&&(this._resolveCache=void 0,this._isResolved=!1)})}return this._resolveCache})}}class kd{constructor(e=2,t=new Set,i=new Set,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.showDeprecated=s}}kd.default=new kd;let Td;function bm(){return Td}class wm{constructor(e,t,i,s){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=s}}function Qh(f,e,t,i=kd.default,s={triggerKind:0},o=Ai.T.None){return qa(this,void 0,void 0,function*(){const c=new Xs.G(!0);t=t.clone();const p=e.getWordAtPosition(t),P=p?new yt.e(t.lineNumber,p.startColumn,t.lineNumber,p.endColumn):yt.e.fromPositions(t),j={replace:P,insert:P.setEndPosition(t.lineNumber,t.column)},V=[],ae=new lt.SL,ye=[];let We=!1;const Ze=(vt,zt,hi)=>{var gi,ji,cn;let us=!1;if(!zt)return us;for(const Pn of zt.suggestions)if(!i.kindFilter.has(Pn.kind)){if(!i.showDeprecated&&(!((gi=Pn?.tags)===null||gi===void 0)&&gi.includes(1)))continue;Pn.range||(Pn.range=j),Pn.sortText||(Pn.sortText=typeof Pn.label=="string"?Pn.label:Pn.label.label),!We&&Pn.insertTextRules&&Pn.insertTextRules&4&&(We=ia.guessNeedsClipboard(Pn.insertText)),V.push(new Df(t,Pn,zt,vt)),us=!0}return(0,lt.Wf)(zt)&&ae.add(zt),ye.push({providerName:(ji=vt._debugDisplayName)!==null&&ji!==void 0?ji:"unknown_provider",elapsedProvider:(cn=zt.duration)!==null&&cn!==void 0?cn:-1,elapsedOverall:hi.elapsed()}),us},it=(()=>qa(this,void 0,void 0,function*(){if(!Td||i.kindFilter.has(27)||i.providerFilter.size>0&&!i.providerFilter.has(Td))return;const vt=new Xs.G(!0),zt=yield Td.provideCompletionItems(e,t,s,o);Ze(Td,zt,vt)}))();for(const vt of f.orderedGroups(e)){let zt=!1;if(yield Promise.all(vt.map(hi=>qa(this,void 0,void 0,function*(){if(!(i.providerFilter.size>0&&!i.providerFilter.has(hi)))try{const gi=new Xs.G(!0),ji=yield hi.provideCompletionItems(e,t,s,o);zt=Ze(hi,ji,gi)||zt}catch(gi){(0,Vi.Cp)(gi)}}))),zt||o.isCancellationRequested)break}return yield it,o.isCancellationRequested?(ae.dispose(),Promise.reject(new Vi.FU)):new wm(V.sort(Ef(i.snippetSortOrder)),We,{entries:ye,elapsed:c.elapsed()},ae)})}function Zh(f,e){if(f.sortTextLow&&e.sortTextLow){if(f.sortTextLow<e.sortTextLow)return-1;if(f.sortTextLow>e.sortTextLow)return 1}return f.textLabel<e.textLabel?-1:f.textLabel>e.textLabel?1:f.completion.kind-e.completion.kind}function Sm(f,e){if(f.completion.kind!==e.completion.kind){if(f.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return Zh(f,e)}function ym(f,e){if(f.completion.kind!==e.completion.kind){if(f.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return Zh(f,e)}const Oc=new Map;Oc.set(0,Sm),Oc.set(2,ym),Oc.set(1,Zh);function Ef(f){return Oc.get(f)}mn.P0.registerCommand("_executeCompletionItemProvider",(f,...e)=>qa(void 0,void 0,void 0,function*(){const[t,i,s,o]=e;(0,_i.p_)(vn.o.isUri(t)),(0,_i.p_)(wi.L.isIPosition(i)),(0,_i.p_)(typeof s=="string"||!s),(0,_i.p_)(typeof o=="number"||!o);const{completionProvider:c}=f.get(Yi.p),p=yield f.get(zs.S).createModelReference(t);try{const P={incomplete:!1,suggestions:[]},j=[],V=yield Qh(c,p.object.textEditorModel,wi.L.lift(i),void 0,{triggerCharacter:s,triggerKind:s?1:0});for(const ae of V.items)j.length<(o??0)&&j.push(ae.resolve(Ai.T.None)),P.incomplete=P.incomplete||ae.container.incomplete,P.suggestions.push(ae.completion);try{return yield Promise.all(j),P}finally{setTimeout(()=>V.disposable.dispose(),100)}}finally{p.dispose()}}));function Lm(f,e){var t;(t=f.getContribution("editor.contrib.suggestController"))===null||t===void 0||t.triggerSuggest(new Set().add(e),void 0,!0)}class zl{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}var Yh=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Fc=function(f,e){return function(t,i){e(t,i,f)}};const If=M.$;let Bc=class k_ extends lt.JT{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._widget=this._register(this._instantiationService.createInstance(el,this._editor)),this._isChangingDecorations=!1,this._messages=[],this._messagesAreComplete=!1,this._participants=[];for(const s of Ws.getAll())this._participants.push(this._instantiationService.createInstance(s,this._editor));this._participants.sort((s,o)=>s.hoverOrdinal-o.hoverOrdinal),this._computer=new Wc(this._editor,this._participants),this._hoverOperation=this._register(new wf(this._editor,this._computer)),this._register(this._hoverOperation.onResult(s=>{this._withResult(s.value,s.isComplete,s.hasLoadingMessage)})),this._register(this._editor.onDidChangeModelDecorations(()=>{this._isChangingDecorations||this._onModelDecorationsChanged()})),this._register(M.mu(this._widget.getDomNode(),"keydown",s=>{s.equals(9)&&this.hide()})),this._register(Je.RW.onDidChange(()=>{this._widget.position&&this._computer.anchor&&this._messages.length>0&&(this._widget.clear(),this._renderMessages(this._computer.anchor,this._messages))}))}_onModelDecorationsChanged(){this._widget.position&&(this._hoverOperation.cancel(),this._widget.isColorPickerVisible||this._hoverOperation.start(0))}maybeShowAt(e){const t=[];for(const s of this._participants)if(s.suggestHoverAnchor){const o=s.suggestHoverAnchor(e);o&&t.push(o)}const i=e.target;if(i.type===6&&t.push(new Hh(0,i.range)),i.type===7){const s=this._editor.getOption(46).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<s&&t.push(new Hh(0,i.range))}return t.length===0?!1:(t.sort((s,o)=>o.priority-s.priority),this._startShowingAt(t[0],0,!1),!0)}startShowingAtRange(e,t,i){this._startShowingAt(new Hh(0,e),t,i)}_startShowingAt(e,t,i){if(!(this._computer.anchor&&this._computer.anchor.equals(e))){if(this._hoverOperation.cancel(),this._widget.position)if(!this._computer.anchor||!e.canAdoptVisibleHover(this._computer.anchor,this._widget.position))this.hide();else{const s=this._messages.filter(o=>o.isValidForHoverAnchor(e));if(s.length===0)this.hide();else{if(s.length===this._messages.length&&this._messagesAreComplete)return;this._renderMessages(e,s)}}this._computer.anchor=e,this._computer.shouldFocus=i,this._hoverOperation.start(t)}}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._widget.hide()}isColorPickerVisible(){return this._widget.isColorPickerVisible}containsNode(e){return this._widget.getDomNode().contains(e)}_addLoadingMessage(e){if(this._computer.anchor){for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}}return e}_withResult(e,t,i){this._messages=i?this._addLoadingMessage(e):e,this._messagesAreComplete=t,this._computer.anchor&&this._messages.length>0?this._renderMessages(this._computer.anchor,this._messages):t&&this.hide()}_renderMessages(e,t){const{showAtPosition:i,showAtRange:s,highlightRange:o}=k_.computeHoverRanges(e.range,t),c=new lt.SL,p=c.add(new Xh(this._keybindingService)),P=document.createDocumentFragment();let j=null;const V={fragment:P,statusBar:p,setColorPicker:ae=>j=ae,onContentsChanged:()=>this._widget.onContentsChanged(),hide:()=>this.hide()};for(const ae of this._participants){const ye=t.filter(We=>We.owner===ae);ye.length>0&&c.add(ae.renderHoverParts(V,ye))}if(p.hasContent&&P.appendChild(p.hoverElement),P.hasChildNodes()){if(o){const ae=this._editor.createDecorationsCollection();try{this._isChangingDecorations=!0,ae.set([{range:o,options:k_._DECORATION_OPTIONS}])}finally{this._isChangingDecorations=!1}c.add((0,lt.OF)(()=>{try{this._isChangingDecorations=!0,ae.clear()}finally{this._isChangingDecorations=!1}}))}this._widget.showAt(P,new Dm(j,i,s,this._editor.getOption(55).above,this._computer.shouldFocus,c))}else c.dispose()}static computeHoverRanges(e,t){const i=e.startLineNumber;let s=e.startColumn,o=e.endColumn,c=t[0].range,p=null;for(const P of t)c=yt.e.plusRange(c,P.range),P.range.startLineNumber===i&&P.range.endLineNumber===i&&(s=Math.min(s,P.range.startColumn),o=Math.max(o,P.range.endColumn)),P.forceShowAtRange&&(p=P.range);return{showAtPosition:p?p.getStartPosition():new wi.L(e.startLineNumber,s),showAtRange:p||new yt.e(i,s,i,o),highlightRange:c}}};Bc._DECORATION_OPTIONS=on.qx.register({description:"content-hover-highlight",className:"hoverHighlight"}),Bc=Yh([Fc(1,F.TG),Fc(2,Le.d)],Bc);class Dm{constructor(e,t,i,s,o,c){this.colorPicker=e,this.showAtPosition=t,this.showAtRange=i,this.preferAbove=s,this.stoleFocus=o,this.disposables=c}}let el=class mv extends lt.JT{constructor(e,t){super(),this._editor=e,this._contextKeyService=t,this.allowEditorOverflow=!0,this._hoverVisibleKey=Ue.u.hoverVisible.bindTo(this._contextKeyService),this._hover=this._register(new ta),this._visibleData=null,this._register(this._editor.onDidLayoutChange(()=>this._layout())),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(46)&&this._updateFont()})),this._setVisibleData(null),this._layout(),this._editor.addContentWidget(this)}get position(){var e,t;return(t=(e=this._visibleData)===null||e===void 0?void 0:e.showAtPosition)!==null&&t!==void 0?t:null}get isColorPickerVisible(){var e;return!!(!((e=this._visibleData)===null||e===void 0)&&e.colorPicker)}dispose(){this._editor.removeContentWidget(this),this._visibleData&&this._visibleData.disposables.dispose(),super.dispose()}getId(){return mv.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){if(!this._visibleData)return null;let e=this._visibleData.preferAbove;return!e&&this._contextKeyService.getContextKeyValue(An.Visible.key)&&(e=!0),{position:this._visibleData.showAtPosition,range:this._visibleData.showAtRange,preference:e?[1,2]:[2,1]}}_setVisibleData(e){this._visibleData&&this._visibleData.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!this._visibleData),this._hover.containerDomNode.classList.toggle("hidden",!this._visibleData)}_layout(){const e=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:t,lineHeight:i}=this._editor.getOption(46);this._hover.contentsDomNode.style.fontSize=`${t}px`,this._hover.contentsDomNode.style.lineHeight=`${i/t}`,this._hover.contentsDomNode.style.maxHeight=`${e}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(this._editor.getLayoutInfo().width*.66,500)}px`}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}showAt(e,t){this._setVisibleData(t),this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._hover.contentsDomNode.style.paddingBottom="",this._updateFont(),this.onContentsChanged(),this._editor.render(),this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),t.colorPicker&&t.colorPicker.layout()}hide(){if(this._visibleData){const e=this._visibleData.stoleFocus;this._setVisibleData(null),this._editor.layoutContentWidget(this),e&&this._editor.focus()}}onContentsChanged(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged();const e=this._hover.scrollbar.getScrollDimensions();if(e.scrollWidth>e.width){const i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingBottom!==i&&(this._hover.contentsDomNode.style.paddingBottom=i,this._editor.layoutContentWidget(this),this._hover.onContentsChanged())}}clear(){this._hover.contentsDomNode.textContent=""}};el.ID="editor.contrib.contentHoverWidget",el=Yh([Fc(1,ht.i6)],el);let Xh=class extends lt.JT{constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=If("div.hover-row.status-bar"),this.actionsElement=M.R3(this.hoverElement,If("div.actions"))}get hasContent(){return this._hasContent}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(kc.render(this.actionsElement,e,i))}append(e){const t=M.R3(this.actionsElement,e);return this._hasContent=!0,t}};Xh=Yh([Fc(0,Le.d)],Xh);class Wc{constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1}get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}static _getLineDecorations(e,t){if(t.type!==1)return[];const i=e.getModel(),s=t.range.startLineNumber;if(s>i.getLineCount())return[];const o=i.getLineMaxColumn(s);return e.getLineDecorations(s).filter(c=>{if(c.options.isWholeLine)return!0;const p=c.range.startLineNumber===s?c.range.startColumn:1,P=c.range.endLineNumber===s?c.range.endColumn:o;if(c.options.showIfCollapsed){if(p>t.range.startColumn+1||t.range.endColumn-1>P)return!1}else if(p>t.range.startColumn||t.range.endColumn>P)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Ot.Aq.EMPTY;const i=Wc._getLineDecorations(this._editor,t);return Ot.Aq.merge(this._participants.map(s=>s.computeAsync?s.computeAsync(t,i,e):Ot.Aq.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=Wc._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return(0,hn.kX)(t)}}var Jh=m(67902),Md=m(79083),xf=m(37624),Em=m(98994),Nf=m(12094);let kf={};(function(){function f(e,t){t(kf)}f.amd=!0,function(e,t){typeof exports=="object"?t(exports):typeof f=="function"&&f.amd?f(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.marked={}))}(this,function(e){"use strict";function t(oi,Gt){for(var Xt=0;Xt<Gt.length;Xt++){var ot=Gt[Xt];ot.enumerable=ot.enumerable||!1,ot.configurable=!0,"value"in ot&&(ot.writable=!0),Object.defineProperty(oi,ot.key,ot)}}function i(oi,Gt,Xt){return Gt&&t(oi.prototype,Gt),Xt&&t(oi,Xt),Object.defineProperty(oi,"prototype",{writable:!1}),oi}function s(oi,Gt){if(oi){if(typeof oi=="string")return o(oi,Gt);var Xt=Object.prototype.toString.call(oi).slice(8,-1);if(Xt==="Object"&&oi.constructor&&(Xt=oi.constructor.name),Xt==="Map"||Xt==="Set")return Array.from(oi);if(Xt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Xt))return o(oi,Gt)}}function o(oi,Gt){(Gt==null||Gt>oi.length)&&(Gt=oi.length);for(var Xt=0,ot=new Array(Gt);Xt<Gt;Xt++)ot[Xt]=oi[Xt];return ot}function c(oi,Gt){var Xt=typeof Symbol<"u"&&oi[Symbol.iterator]||oi["@@iterator"];if(Xt)return(Xt=Xt.call(oi)).next.bind(Xt);if(Array.isArray(oi)||(Xt=s(oi))||Gt&&oi&&typeof oi.length=="number"){Xt&&(oi=Xt);var ot=0;return function(){return ot>=oi.length?{done:!0}:{done:!1,value:oi[ot++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function p(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.defaults=p();function P(oi){e.defaults=oi}var j=/[&<>"']/,V=/[&<>"']/g,ae=/[<>"']|&(?!#?\w+;)/,ye=/[<>"']|&(?!#?\w+;)/g,We={"&":"&","<":"<",">":">",'"':""","'":"'"},Ze=function(Gt){return We[Gt]};function it(oi,Gt){if(Gt){if(j.test(oi))return oi.replace(V,Ze)}else if(ae.test(oi))return oi.replace(ye,Ze);return oi}var vt=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function zt(oi){return oi.replace(vt,function(Gt,Xt){return Xt=Xt.toLowerCase(),Xt==="colon"?":":Xt.charAt(0)==="#"?Xt.charAt(1)==="x"?String.fromCharCode(parseInt(Xt.substring(2),16)):String.fromCharCode(+Xt.substring(1)):""})}var hi=/(^|[^\[])\^/g;function gi(oi,Gt){oi=typeof oi=="string"?oi:oi.source,Gt=Gt||"";var Xt={replace:function(ut,Mt){return Mt=Mt.source||Mt,Mt=Mt.replace(hi,"$1"),oi=oi.replace(ut,Mt),Xt},getRegex:function(){return new RegExp(oi,Gt)}};return Xt}var ji=/[^\w:]/g,cn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function us(oi,Gt,Xt){if(oi){var ot;try{ot=decodeURIComponent(zt(Xt)).replace(ji,"").toLowerCase()}catch{return null}if(ot.indexOf("javascript:")===0||ot.indexOf("vbscript:")===0||ot.indexOf("data:")===0)return null}Gt&&!cn.test(Xt)&&(Xt=xa(Gt,Xt));try{Xt=encodeURI(Xt).replace(/%25/g,"%")}catch{return null}return Xt}var Pn={},vo=/^[^:]+:\/*[^/]*$/,Fo=/^([^:]+:)[\s\S]*$/,jo=/^([^:]+:\/*[^/]*)[\s\S]*$/;function xa(oi,Gt){Pn[" "+oi]||(vo.test(oi)?Pn[" "+oi]=oi+"/":Pn[" "+oi]=rc(oi,"/",!0)),oi=Pn[" "+oi];var Xt=oi.indexOf(":")===-1;return Gt.substring(0,2)==="//"?Xt?Gt:oi.replace(Fo,"$1")+Gt:Gt.charAt(0)==="/"?Xt?Gt:oi.replace(jo,"$1")+Gt:oi+Gt}var oc={exec:function(){}};function pr(oi){for(var Gt=1,Xt,ot;Gt<arguments.length;Gt++){Xt=arguments[Gt];for(ot in Xt)Object.prototype.hasOwnProperty.call(Xt,ot)&&(oi[ot]=Xt[ot])}return oi}function Xu(oi,Gt){var Xt=oi.replace(/\|/g,function(Mt,It,ui){for(var Li=!1,Cn=It;--Cn>=0&&ui[Cn]==="\\";)Li=!Li;return Li?"|":" |"}),ot=Xt.split(/ \|/),ut=0;if(ot[0].trim()||ot.shift(),ot.length>0&&!ot[ot.length-1].trim()&&ot.pop(),ot.length>Gt)ot.splice(Gt);else for(;ot.length<Gt;)ot.push("");for(;ut<ot.length;ut++)ot[ut]=ot[ut].trim().replace(/\\\|/g,"|");return ot}function rc(oi,Gt,Xt){var ot=oi.length;if(ot===0)return"";for(var ut=0;ut<ot;){var Mt=oi.charAt(ot-ut-1);if(Mt===Gt&&!Xt)ut++;else if(Mt!==Gt&&Xt)ut++;else break}return oi.slice(0,ot-ut)}function im(oi,Gt){if(oi.indexOf(Gt[1])===-1)return-1;for(var Xt=oi.length,ot=0,ut=0;ut<Xt;ut++)if(oi[ut]==="\\")ut++;else if(oi[ut]===Gt[0])ot++;else if(oi[ut]===Gt[1]&&(ot--,ot<0))return ut;return-1}function Ju(oi){oi&&oi.sanitize&&!oi.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function qu(oi,Gt){if(Gt<1)return"";for(var Xt="";Gt>1;)Gt&1&&(Xt+=oi),Gt>>=1,oi+=oi;return Xt+oi}function qC(oi,Gt,Xt,ot){var ut=Gt.href,Mt=Gt.title?it(Gt.title):null,It=oi[1].replace(/\\([\[\]])/g,"$1");if(oi[0].charAt(0)!=="!"){ot.state.inLink=!0;var ui={type:"link",raw:Xt,href:ut,title:Mt,text:It,tokens:ot.inlineTokens(It,[])};return ot.state.inLink=!1,ui}return{type:"image",raw:Xt,href:ut,title:Mt,text:it(It)}}function tE(oi,Gt){var Xt=oi.match(/^(\s+)(?:```)/);if(Xt===null)return Gt;var ot=Xt[1];return Gt.split(` `).map(function(ut){var Mt=ut.match(/^\s+/);if(Mt===null)return ut;var It=Mt[0];return It.length>=ot.length?ut.slice(ot.length):ut}).join(` `)}var nm=function(){function oi(Xt){this.options=Xt||e.defaults}var Gt=oi.prototype;return Gt.space=function(ot){var ut=this.rules.block.newline.exec(ot);if(ut&&ut[0].length>0)return{type:"space",raw:ut[0]}},Gt.code=function(ot){var ut=this.rules.block.code.exec(ot);if(ut){var Mt=ut[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ut[0],codeBlockStyle:"indented",text:this.options.pedantic?Mt:rc(Mt,` `)}}},Gt.fences=function(ot){var ut=this.rules.block.fences.exec(ot);if(ut){var Mt=ut[0],It=tE(Mt,ut[3]||"");return{type:"code",raw:Mt,lang:ut[2]?ut[2].trim():ut[2],text:It}}},Gt.heading=function(ot){var ut=this.rules.block.heading.exec(ot);if(ut){var Mt=ut[2].trim();if(/#$/.test(Mt)){var It=rc(Mt,"#");(this.options.pedantic||!It||/ $/.test(It))&&(Mt=It.trim())}var ui={type:"heading",raw:ut[0],depth:ut[1].length,text:Mt,tokens:[]};return this.lexer.inline(ui.text,ui.tokens),ui}},Gt.hr=function(ot){var ut=this.rules.block.hr.exec(ot);if(ut)return{type:"hr",raw:ut[0]}},Gt.blockquote=function(ot){var ut=this.rules.block.blockquote.exec(ot);if(ut){var Mt=ut[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:ut[0],tokens:this.lexer.blockTokens(Mt,[]),text:Mt}}},Gt.list=function(ot){var ut=this.rules.block.list.exec(ot);if(ut){var Mt,It,ui,Li,Cn,dn,Yn,Un,Es,Cs,bn,bo,$s=ut[1].trim(),Na=$s.length>1,Js={type:"list",raw:"",ordered:Na,start:Na?+$s.slice(0,-1):"",loose:!1,items:[]};$s=Na?"\\d{1,9}\\"+$s.slice(-1):"\\"+$s,this.options.pedantic&&($s=Na?$s:"[*+-]");for(var Vo=new RegExp("^( {0,3}"+$s+")((?:[ ][^\\n]*)?(?:\\n|$))");ot&&(bo=!1,!(!(ut=Vo.exec(ot))||this.rules.block.hr.test(ot)));){if(Mt=ut[0],ot=ot.substring(Mt.length),Un=ut[2].split(` `,1)[0],Es=ot.split(` `,1)[0],this.options.pedantic?(Li=2,bn=Un.trimLeft()):(Li=ut[2].search(/[^ ]/),Li=Li>4?1:Li,bn=Un.slice(Li),Li+=ut[1].length),dn=!1,!Un&&/^ *$/.test(Es)&&(Mt+=Es+` `,ot=ot.substring(Es.length+1),bo=!0),!bo)for(var ef=new RegExp("^ {0,"+Math.min(3,Li-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),om=new RegExp("^ {0,"+Math.min(3,Li-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)");ot&&(Cs=ot.split(` `,1)[0],Un=Cs,this.options.pedantic&&(Un=Un.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(ef.test(Un)||om.test(ot)));){if(Un.search(/[^ ]/)>=Li||!Un.trim())bn+=` `+Un.slice(Li);else if(!dn)bn+=` `+Un;else break;!dn&&!Un.trim()&&(dn=!0),Mt+=Cs+` `,ot=ot.substring(Cs.length+1)}Js.loose||(Yn?Js.loose=!0:/\n *\n *$/.test(Mt)&&(Yn=!0)),this.options.gfm&&(It=/^\[[ xX]\] /.exec(bn),It&&(ui=It[0]!=="[ ] ",bn=bn.replace(/^\[[ xX]\] +/,""))),Js.items.push({type:"list_item",raw:Mt,task:!!It,checked:ui,loose:!1,text:bn}),Js.raw+=Mt}Js.items[Js.items.length-1].raw=Mt.trimRight(),Js.items[Js.items.length-1].text=bn.trimRight(),Js.raw=Js.raw.trimRight();var dc=Js.items.length;for(Cn=0;Cn<dc;Cn++){this.lexer.state.top=!1,Js.items[Cn].tokens=this.lexer.blockTokens(Js.items[Cn].text,[]);var Eh=Js.items[Cn].tokens.filter(function(Ih){return Ih.type==="space"}),rm=Eh.every(function(Ih){for(var hE=Ih.raw.split(""),tv=0,uE=c(hE),iv;!(iv=uE()).done;){var fE=iv.value;if(fE===` `&&(tv+=1),tv>1)return!0}return!1});!Js.loose&&Eh.length&&rm&&(Js.loose=!0,Js.items[Cn].loose=!0)}return Js}},Gt.html=function(ot){var ut=this.rules.block.html.exec(ot);if(ut){var Mt={type:"html",raw:ut[0],pre:!this.options.sanitizer&&(ut[1]==="pre"||ut[1]==="script"||ut[1]==="style"),text:ut[0]};return this.options.sanitize&&(Mt.type="paragraph",Mt.text=this.options.sanitizer?this.options.sanitizer(ut[0]):it(ut[0]),Mt.tokens=[],this.lexer.inline(Mt.text,Mt.tokens)),Mt}},Gt.def=function(ot){var ut=this.rules.block.def.exec(ot);if(ut){ut[3]&&(ut[3]=ut[3].substring(1,ut[3].length-1));var Mt=ut[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:Mt,raw:ut[0],href:ut[2],title:ut[3]}}},Gt.table=function(ot){var ut=this.rules.block.table.exec(ot);if(ut){var Mt={type:"table",header:Xu(ut[1]).map(function(Yn){return{text:Yn}}),align:ut[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:ut[3]&&ut[3].trim()?ut[3].replace(/\n[ \t]*$/,"").split(` `):[]};if(Mt.header.length===Mt.align.length){Mt.raw=ut[0];var It=Mt.align.length,ui,Li,Cn,dn;for(ui=0;ui<It;ui++)/^ *-+: *$/.test(Mt.align[ui])?Mt.align[ui]="right":/^ *:-+: *$/.test(Mt.align[ui])?Mt.align[ui]="center":/^ *:-+ *$/.test(Mt.align[ui])?Mt.align[ui]="left":Mt.align[ui]=null;for(It=Mt.rows.length,ui=0;ui<It;ui++)Mt.rows[ui]=Xu(Mt.rows[ui],Mt.header.length).map(function(Yn){return{text:Yn}});for(It=Mt.header.length,Li=0;Li<It;Li++)Mt.header[Li].tokens=[],this.lexer.inline(Mt.header[Li].text,Mt.header[Li].tokens);for(It=Mt.rows.length,Li=0;Li<It;Li++)for(dn=Mt.rows[Li],Cn=0;Cn<dn.length;Cn++)dn[Cn].tokens=[],this.lexer.inline(dn[Cn].text,dn[Cn].tokens);return Mt}}},Gt.lheading=function(ot){var ut=this.rules.block.lheading.exec(ot);if(ut){var Mt={type:"heading",raw:ut[0],depth:ut[2].charAt(0)==="="?1:2,text:ut[1],tokens:[]};return this.lexer.inline(Mt.text,Mt.tokens),Mt}},Gt.paragraph=function(ot){var ut=this.rules.block.paragraph.exec(ot);if(ut){var Mt={type:"paragraph",raw:ut[0],text:ut[1].charAt(ut[1].length-1)===` `?ut[1].slice(0,-1):ut[1],tokens:[]};return this.lexer.inline(Mt.text,Mt.tokens),Mt}},Gt.text=function(ot){var ut=this.rules.block.text.exec(ot);if(ut){var Mt={type:"text",raw:ut[0],text:ut[0],tokens:[]};return this.lexer.inline(Mt.text,Mt.tokens),Mt}},Gt.escape=function(ot){var ut=this.rules.inline.escape.exec(ot);if(ut)return{type:"escape",raw:ut[0],text:it(ut[1])}},Gt.tag=function(ot){var ut=this.rules.inline.tag.exec(ot);if(ut)return!this.lexer.state.inLink&&/^<a /i.test(ut[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(ut[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):it(ut[0]):ut[0]}},Gt.link=function(ot){var ut=this.rules.inline.link.exec(ot);if(ut){var Mt=ut[2].trim();if(!this.options.pedantic&&/^</.test(Mt)){if(!/>$/.test(Mt))return;var It=rc(Mt.slice(0,-1),"\\");if((Mt.length-It.length)%2===0)return}else{var ui=im(ut[2],"()");if(ui>-1){var Li=ut[0].indexOf("!")===0?5:4,Cn=Li+ut[1].length+ui;ut[2]=ut[2].substring(0,ui),ut[0]=ut[0].substring(0,Cn).trim(),ut[3]=""}}var dn=ut[2],Yn="";if(this.options.pedantic){var Un=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(dn);Un&&(dn=Un[1],Yn=Un[3])}else Yn=ut[3]?ut[3].slice(1,-1):"";return dn=dn.trim(),/^</.test(dn)&&(this.options.pedantic&&!/>$/.test(Mt)?dn=dn.slice(1):dn=dn.slice(1,-1)),qC(ut,{href:dn&&dn.replace(this.rules.inline._escapes,"$1"),title:Yn&&Yn.replace(this.rules.inline._escapes,"$1")},ut[0],this.lexer)}},Gt.reflink=function(ot,ut){var Mt;if((Mt=this.rules.inline.reflink.exec(ot))||(Mt=this.rules.inline.nolink.exec(ot))){var It=(Mt[2]||Mt[1]).replace(/\s+/g," ");if(It=ut[It.toLowerCase()],!It||!It.href){var ui=Mt[0].charAt(0);return{type:"text",raw:ui,text:ui}}return qC(Mt,It,Mt[0],this.lexer)}},Gt.emStrong=function(ot,ut,Mt){Mt===void 0&&(Mt="");var It=this.rules.inline.emStrong.lDelim.exec(ot);if(It&&!(It[3]&&Mt.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ui=It[1]||It[2]||"";if(!ui||ui&&(Mt===""||this.rules.inline.punctuation.exec(Mt))){var Li=It[0].length-1,Cn,dn,Yn=Li,Un=0,Es=It[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(Es.lastIndex=0,ut=ut.slice(-1*ot.length+Li);(It=Es.exec(ut))!=null;)if(Cn=It[1]||It[2]||It[3]||It[4]||It[5]||It[6],!!Cn){if(dn=Cn.length,It[3]||It[4]){Yn+=dn;continue}else if((It[5]||It[6])&&Li%3&&!((Li+dn)%3)){Un+=dn;continue}if(Yn-=dn,!(Yn>0)){if(dn=Math.min(dn,dn+Yn+Un),Math.min(Li,dn)%2){var Cs=ot.slice(1,Li+It.index+dn);return{type:"em",raw:ot.slice(0,Li+It.index+dn+1),text:Cs,tokens:this.lexer.inlineTokens(Cs,[])}}var bn=ot.slice(2,Li+It.index+dn-1);return{type:"strong",raw:ot.slice(0,Li+It.index+dn+1),text:bn,tokens:this.lexer.inlineTokens(bn,[])}}}}}},Gt.codespan=function(ot){var ut=this.rules.inline.code.exec(ot);if(ut){var Mt=ut[2].replace(/\n/g," "),It=/[^ ]/.test(Mt),ui=/^ /.test(Mt)&&/ $/.test(Mt);return It&&ui&&(Mt=Mt.substring(1,Mt.length-1)),Mt=it(Mt,!0),{type:"codespan",raw:ut[0],text:Mt}}},Gt.br=function(ot){var ut=this.rules.inline.br.exec(ot);if(ut)return{type:"br",raw:ut[0]}},Gt.del=function(ot){var ut=this.rules.inline.del.exec(ot);if(ut)return{type:"del",raw:ut[0],text:ut[2],tokens:this.lexer.inlineTokens(ut[2],[])}},Gt.autolink=function(ot,ut){var Mt=this.rules.inline.autolink.exec(ot);if(Mt){var It,ui;return Mt[2]==="@"?(It=it(this.options.mangle?ut(Mt[1]):Mt[1]),ui="mailto:"+It):(It=it(Mt[1]),ui=It),{type:"link",raw:Mt[0],text:It,href:ui,tokens:[{type:"text",raw:It,text:It}]}}},Gt.url=function(ot,ut){var Mt;if(Mt=this.rules.inline.url.exec(ot)){var It,ui;if(Mt[2]==="@")It=it(this.options.mangle?ut(Mt[0]):Mt[0]),ui="mailto:"+It;else{var Li;do Li=Mt[0],Mt[0]=this.rules.inline._backpedal.exec(Mt[0])[0];while(Li!==Mt[0]);It=it(Mt[0]),Mt[1]==="www."?ui="http://"+It:ui=It}return{type:"link",raw:Mt[0],text:It,href:ui,tokens:[{type:"text",raw:It,text:It}]}}},Gt.inlineText=function(ot,ut){var Mt=this.rules.inline.text.exec(ot);if(Mt){var It;return this.lexer.state.inRawBlock?It=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Mt[0]):it(Mt[0]):Mt[0]:It=it(this.options.smartypants?ut(Mt[0]):Mt[0]),{type:"text",raw:Mt[0],text:It}}},oi}(),Bn={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:oc,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};Bn._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Bn._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,Bn.def=gi(Bn.def).replace("label",Bn._label).replace("title",Bn._title).getRegex(),Bn.bullet=/(?:[*+-]|\d{1,9}[.)])/,Bn.listItemStart=gi(/^( *)(bull) */).replace("bull",Bn.bullet).getRegex(),Bn.list=gi(Bn.list).replace(/bull/g,Bn.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Bn.def.source+")").getRegex(),Bn._tag="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|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Bn._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,Bn.html=gi(Bn.html,"i").replace("comment",Bn._comment).replace("tag",Bn._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Bn.paragraph=gi(Bn._paragraph).replace("hr",Bn.hr).replace("heading"," {0,3}#{1,6} ").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","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Bn._tag).getRegex(),Bn.blockquote=gi(Bn.blockquote).replace("paragraph",Bn.paragraph).getRegex(),Bn.normal=pr({},Bn),Bn.gfm=pr({},Bn.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Bn.gfm.table=gi(Bn.gfm.table).replace("hr",Bn.hr).replace("heading"," {0,3}#{1,6} ").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","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Bn._tag).getRegex(),Bn.gfm.paragraph=gi(Bn._paragraph).replace("hr",Bn.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Bn.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Bn._tag).getRegex(),Bn.pedantic=pr({},Bn.normal,{html:gi(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Bn._comment).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:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:oc,paragraph:gi(Bn.normal._paragraph).replace("hr",Bn.hr).replace("heading",` *#{1,6} *[^ ]`).replace("lheading",Bn.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var _n={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:oc,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:oc,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};_n._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",_n.punctuation=gi(_n.punctuation).replace(/punctuation/g,_n._punctuation).getRegex(),_n.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,_n.escapedEmSt=/\\\*|\\_/g,_n._comment=gi(Bn._comment).replace("(?:-->|$)","-->").getRegex(),_n.emStrong.lDelim=gi(_n.emStrong.lDelim).replace(/punct/g,_n._punctuation).getRegex(),_n.emStrong.rDelimAst=gi(_n.emStrong.rDelimAst,"g").replace(/punct/g,_n._punctuation).getRegex(),_n.emStrong.rDelimUnd=gi(_n.emStrong.rDelimUnd,"g").replace(/punct/g,_n._punctuation).getRegex(),_n._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,_n._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,_n._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])?)+(?![-_])/,_n.autolink=gi(_n.autolink).replace("scheme",_n._scheme).replace("email",_n._email).getRegex(),_n._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,_n.tag=gi(_n.tag).replace("comment",_n._comment).replace("attribute",_n._attribute).getRegex(),_n._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,_n._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,_n._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,_n.link=gi(_n.link).replace("label",_n._label).replace("href",_n._href).replace("title",_n._title).getRegex(),_n.reflink=gi(_n.reflink).replace("label",_n._label).replace("ref",Bn._label).getRegex(),_n.nolink=gi(_n.nolink).replace("ref",Bn._label).getRegex(),_n.reflinkSearch=gi(_n.reflinkSearch,"g").replace("reflink",_n.reflink).replace("nolink",_n.nolink).getRegex(),_n.normal=pr({},_n),_n.pedantic=pr({},_n.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:gi(/^!?\[(label)\]\((.*?)\)/).replace("label",_n._label).getRegex(),reflink:gi(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_n._label).getRegex()}),_n.gfm=pr({},_n.normal,{escape:gi(_n.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/}),_n.gfm.url=gi(_n.gfm.url,"i").replace("email",_n.gfm._extended_email).getRegex(),_n.breaks=pr({},_n.gfm,{br:gi(_n.br).replace("{2,}","*").getRegex(),text:gi(_n.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});function iE(oi){return oi.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201C").replace(/"/g,"\u201D").replace(/\.{3}/g,"\u2026")}function ev(oi){var Gt="",Xt,ot,ut=oi.length;for(Xt=0;Xt<ut;Xt++)ot=oi.charCodeAt(Xt),Math.random()>.5&&(ot="x"+ot.toString(16)),Gt+="&#"+ot+";";return Gt}var ac=function(){function oi(Xt){this.tokens=[],this.tokens.links=Object.create(null),this.options=Xt||e.defaults,this.options.tokenizer=this.options.tokenizer||new nm,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var ot={block:Bn.normal,inline:_n.normal};this.options.pedantic?(ot.block=Bn.pedantic,ot.inline=_n.pedantic):this.options.gfm&&(ot.block=Bn.gfm,this.options.breaks?ot.inline=_n.breaks:ot.inline=_n.gfm),this.tokenizer.rules=ot}oi.lex=function(ot,ut){var Mt=new oi(ut);return Mt.lex(ot)},oi.lexInline=function(ot,ut){var Mt=new oi(ut);return Mt.inlineTokens(ot)};var Gt=oi.prototype;return Gt.lex=function(ot){ot=ot.replace(/\r\n|\r/g,` `),this.blockTokens(ot,this.tokens);for(var ut;ut=this.inlineQueue.shift();)this.inlineTokens(ut.src,ut.tokens);return this.tokens},Gt.blockTokens=function(ot,ut){var Mt=this;ut===void 0&&(ut=[]),this.options.pedantic?ot=ot.replace(/\t/g," ").replace(/^ +$/gm,""):ot=ot.replace(/^( *)(\t+)/gm,function(Yn,Un,Es){return Un+" ".repeat(Es.length)});for(var It,ui,Li,Cn;ot;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Yn){return(It=Yn.call({lexer:Mt},ot,ut))?(ot=ot.substring(It.raw.length),ut.push(It),!0):!1}))){if(It=this.tokenizer.space(ot)){ot=ot.substring(It.raw.length),It.raw.length===1&&ut.length>0?ut[ut.length-1].raw+=` `:ut.push(It);continue}if(It=this.tokenizer.code(ot)){ot=ot.substring(It.raw.length),ui=ut[ut.length-1],ui&&(ui.type==="paragraph"||ui.type==="text")?(ui.raw+=` `+It.raw,ui.text+=` `+It.text,this.inlineQueue[this.inlineQueue.length-1].src=ui.text):ut.push(It);continue}if(It=this.tokenizer.fences(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.heading(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.hr(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.blockquote(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.list(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.html(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.def(ot)){ot=ot.substring(It.raw.length),ui=ut[ut.length-1],ui&&(ui.type==="paragraph"||ui.type==="text")?(ui.raw+=` `+It.raw,ui.text+=` `+It.raw,this.inlineQueue[this.inlineQueue.length-1].src=ui.text):this.tokens.links[It.tag]||(this.tokens.links[It.tag]={href:It.href,title:It.title});continue}if(It=this.tokenizer.table(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.lheading(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(Li=ot,this.options.extensions&&this.options.extensions.startBlock&&function(){var Yn=1/0,Un=ot.slice(1),Es=void 0;Mt.options.extensions.startBlock.forEach(function(Cs){Es=Cs.call({lexer:this},Un),typeof Es=="number"&&Es>=0&&(Yn=Math.min(Yn,Es))}),Yn<1/0&&Yn>=0&&(Li=ot.substring(0,Yn+1))}(),this.state.top&&(It=this.tokenizer.paragraph(Li))){ui=ut[ut.length-1],Cn&&ui.type==="paragraph"?(ui.raw+=` `+It.raw,ui.text+=` `+It.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ui.text):ut.push(It),Cn=Li.length!==ot.length,ot=ot.substring(It.raw.length);continue}if(It=this.tokenizer.text(ot)){ot=ot.substring(It.raw.length),ui=ut[ut.length-1],ui&&ui.type==="text"?(ui.raw+=` `+It.raw,ui.text+=` `+It.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ui.text):ut.push(It);continue}if(ot){var dn="Infinite loop on byte: "+ot.charCodeAt(0);if(this.options.silent){console.error(dn);break}else throw new Error(dn)}}return this.state.top=!0,ut},Gt.inline=function(ot,ut){this.inlineQueue.push({src:ot,tokens:ut})},Gt.inlineTokens=function(ot,ut){var Mt=this;ut===void 0&&(ut=[]);var It,ui,Li,Cn=ot,dn,Yn,Un;if(this.tokens.links){var Es=Object.keys(this.tokens.links);if(Es.length>0)for(;(dn=this.tokenizer.rules.inline.reflinkSearch.exec(Cn))!=null;)Es.includes(dn[0].slice(dn[0].lastIndexOf("[")+1,-1))&&(Cn=Cn.slice(0,dn.index)+"["+qu("a",dn[0].length-2)+"]"+Cn.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(dn=this.tokenizer.rules.inline.blockSkip.exec(Cn))!=null;)Cn=Cn.slice(0,dn.index)+"["+qu("a",dn[0].length-2)+"]"+Cn.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(dn=this.tokenizer.rules.inline.escapedEmSt.exec(Cn))!=null;)Cn=Cn.slice(0,dn.index)+"++"+Cn.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ot;)if(Yn||(Un=""),Yn=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(bn){return(It=bn.call({lexer:Mt},ot,ut))?(ot=ot.substring(It.raw.length),ut.push(It),!0):!1}))){if(It=this.tokenizer.escape(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.tag(ot)){ot=ot.substring(It.raw.length),ui=ut[ut.length-1],ui&&It.type==="text"&&ui.type==="text"?(ui.raw+=It.raw,ui.text+=It.text):ut.push(It);continue}if(It=this.tokenizer.link(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.reflink(ot,this.tokens.links)){ot=ot.substring(It.raw.length),ui=ut[ut.length-1],ui&&It.type==="text"&&ui.type==="text"?(ui.raw+=It.raw,ui.text+=It.text):ut.push(It);continue}if(It=this.tokenizer.emStrong(ot,Cn,Un)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.codespan(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.br(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.del(ot)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(It=this.tokenizer.autolink(ot,ev)){ot=ot.substring(It.raw.length),ut.push(It);continue}if(!this.state.inLink&&(It=this.tokenizer.url(ot,ev))){ot=ot.substring(It.raw.length),ut.push(It);continue}if(Li=ot,this.options.extensions&&this.options.extensions.startInline&&function(){var bn=1/0,bo=ot.slice(1),$s=void 0;Mt.options.extensions.startInline.forEach(function(Na){$s=Na.call({lexer:this},bo),typeof $s=="number"&&$s>=0&&(bn=Math.min(bn,$s))}),bn<1/0&&bn>=0&&(Li=ot.substring(0,bn+1))}(),It=this.tokenizer.inlineText(Li,iE)){ot=ot.substring(It.raw.length),It.raw.slice(-1)!=="_"&&(Un=It.raw.slice(-1)),Yn=!0,ui=ut[ut.length-1],ui&&ui.type==="text"?(ui.raw+=It.raw,ui.text+=It.text):ut.push(It);continue}if(ot){var Cs="Infinite loop on byte: "+ot.charCodeAt(0);if(this.options.silent){console.error(Cs);break}else throw new Error(Cs)}}return ut},i(oi,null,[{key:"rules",get:function(){return{block:Bn,inline:_n}}}]),oi}(),sm=function(){function oi(Xt){this.options=Xt||e.defaults}var Gt=oi.prototype;return Gt.code=function(ot,ut,Mt){var It=(ut||"").match(/\S*/)[0];if(this.options.highlight){var ui=this.options.highlight(ot,It);ui!=null&&ui!==ot&&(Mt=!0,ot=ui)}return ot=ot.replace(/\n$/,"")+` `,It?'<pre><code class="'+this.options.langPrefix+it(It,!0)+'">'+(Mt?ot:it(ot,!0))+`</code></pre> `:"<pre><code>"+(Mt?ot:it(ot,!0))+`</code></pre> `},Gt.blockquote=function(ot){return`<blockquote> `+ot+`</blockquote> `},Gt.html=function(ot){return ot},Gt.heading=function(ot,ut,Mt,It){if(this.options.headerIds){var ui=this.options.headerPrefix+It.slug(Mt);return"<h"+ut+' id="'+ui+'">'+ot+"</h"+ut+`> `}return"<h"+ut+">"+ot+"</h"+ut+`> `},Gt.hr=function(){return this.options.xhtml?`<hr/> `:`<hr> `},Gt.list=function(ot,ut,Mt){var It=ut?"ol":"ul",ui=ut&&Mt!==1?' start="'+Mt+'"':"";return"<"+It+ui+`> `+ot+"</"+It+`> `},Gt.listitem=function(ot){return"<li>"+ot+`</li> `},Gt.checkbox=function(ot){return"<input "+(ot?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},Gt.paragraph=function(ot){return"<p>"+ot+`</p> `},Gt.table=function(ot,ut){return ut&&(ut="<tbody>"+ut+"</tbody>"),`<table> <thead> `+ot+`</thead> `+ut+`</table> `},Gt.tablerow=function(ot){return`<tr> `+ot+`</tr> `},Gt.tablecell=function(ot,ut){var Mt=ut.header?"th":"td",It=ut.align?"<"+Mt+' align="'+ut.align+'">':"<"+Mt+">";return It+ot+("</"+Mt+`> `)},Gt.strong=function(ot){return"<strong>"+ot+"</strong>"},Gt.em=function(ot){return"<em>"+ot+"</em>"},Gt.codespan=function(ot){return"<code>"+ot+"</code>"},Gt.br=function(){return this.options.xhtml?"<br/>":"<br>"},Gt.del=function(ot){return"<del>"+ot+"</del>"},Gt.link=function(ot,ut,Mt){if(ot=us(this.options.sanitize,this.options.baseUrl,ot),ot===null)return Mt;var It='<a href="'+it(ot)+'"';return ut&&(It+=' title="'+ut+'"'),It+=">"+Mt+"</a>",It},Gt.image=function(ot,ut,Mt){if(ot=us(this.options.sanitize,this.options.baseUrl,ot),ot===null)return Mt;var It='<img src="'+ot+'" alt="'+Mt+'"';return ut&&(It+=' title="'+ut+'"'),It+=this.options.xhtml?"/>":">",It},Gt.text=function(ot){return ot},oi}(),w_=function(){function oi(){}var Gt=oi.prototype;return Gt.strong=function(ot){return ot},Gt.em=function(ot){return ot},Gt.codespan=function(ot){return ot},Gt.del=function(ot){return ot},Gt.html=function(ot){return ot},Gt.text=function(ot){return ot},Gt.link=function(ot,ut,Mt){return""+Mt},Gt.image=function(ot,ut,Mt){return""+Mt},Gt.br=function(){return""},oi}(),S_=function(){function oi(){this.seen={}}var Gt=oi.prototype;return Gt.serialize=function(ot){return ot.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},Gt.getNextSafeSlug=function(ot,ut){var Mt=ot,It=0;if(this.seen.hasOwnProperty(Mt)){It=this.seen[ot];do It++,Mt=ot+"-"+It;while(this.seen.hasOwnProperty(Mt))}return ut||(this.seen[ot]=It,this.seen[Mt]=0),Mt},Gt.slug=function(ot,ut){ut===void 0&&(ut={});var Mt=this.serialize(ot);return this.getNextSafeSlug(Mt,ut.dryrun)},oi}(),lc=function(){function oi(Xt){this.options=Xt||e.defaults,this.options.renderer=this.options.renderer||new sm,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new w_,this.slugger=new S_}oi.parse=function(ot,ut){var Mt=new oi(ut);return Mt.parse(ot)},oi.parseInline=function(ot,ut){var Mt=new oi(ut);return Mt.parseInline(ot)};var Gt=oi.prototype;return Gt.parse=function(ot,ut){ut===void 0&&(ut=!0);var Mt="",It,ui,Li,Cn,dn,Yn,Un,Es,Cs,bn,bo,$s,Na,Js,Vo,ef,om,dc,Eh,rm=ot.length;for(It=0;It<rm;It++){if(bn=ot[It],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[bn.type]&&(Eh=this.options.extensions.renderers[bn.type].call({parser:this},bn),Eh!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(bn.type))){Mt+=Eh||"";continue}switch(bn.type){case"space":continue;case"hr":{Mt+=this.renderer.hr();continue}case"heading":{Mt+=this.renderer.heading(this.parseInline(bn.tokens),bn.depth,zt(this.parseInline(bn.tokens,this.textRenderer)),this.slugger);continue}case"code":{Mt+=this.renderer.code(bn.text,bn.lang,bn.escaped);continue}case"table":{for(Es="",Un="",Cn=bn.header.length,ui=0;ui<Cn;ui++)Un+=this.renderer.tablecell(this.parseInline(bn.header[ui].tokens),{header:!0,align:bn.align[ui]});for(Es+=this.renderer.tablerow(Un),Cs="",Cn=bn.rows.length,ui=0;ui<Cn;ui++){for(Yn=bn.rows[ui],Un="",dn=Yn.length,Li=0;Li<dn;Li++)Un+=this.renderer.tablecell(this.parseInline(Yn[Li].tokens),{header:!1,align:bn.align[Li]});Cs+=this.renderer.tablerow(Un)}Mt+=this.renderer.table(Es,Cs);continue}case"blockquote":{Cs=this.parse(bn.tokens),Mt+=this.renderer.blockquote(Cs);continue}case"list":{for(bo=bn.ordered,$s=bn.start,Na=bn.loose,Cn=bn.items.length,Cs="",ui=0;ui<Cn;ui++)Vo=bn.items[ui],ef=Vo.checked,om=Vo.task,Js="",Vo.task&&(dc=this.renderer.checkbox(ef),Na?Vo.tokens.length>0&&Vo.tokens[0].type==="paragraph"?(Vo.tokens[0].text=dc+" "+Vo.tokens[0].text,Vo.tokens[0].tokens&&Vo.tokens[0].tokens.length>0&&Vo.tokens[0].tokens[0].type==="text"&&(Vo.tokens[0].tokens[0].text=dc+" "+Vo.tokens[0].tokens[0].text)):Vo.tokens.unshift({type:"text",text:dc}):Js+=dc),Js+=this.parse(Vo.tokens,Na),Cs+=this.renderer.listitem(Js,om,ef);Mt+=this.renderer.list(Cs,bo,$s);continue}case"html":{Mt+=this.renderer.html(bn.text);continue}case"paragraph":{Mt+=this.renderer.paragraph(this.parseInline(bn.tokens));continue}case"text":{for(Cs=bn.tokens?this.parseInline(bn.tokens):bn.text;It+1<rm&&ot[It+1].type==="text";)bn=ot[++It],Cs+=` `+(bn.tokens?this.parseInline(bn.tokens):bn.text);Mt+=ut?this.renderer.paragraph(Cs):Cs;continue}default:{var Ih='Token with "'+bn.type+'" type was not found.';if(this.options.silent){console.error(Ih);return}else throw new Error(Ih)}}}return Mt},Gt.parseInline=function(ot,ut){ut=ut||this.renderer;var Mt="",It,ui,Li,Cn=ot.length;for(It=0;It<Cn;It++){if(ui=ot[It],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[ui.type]&&(Li=this.options.extensions.renderers[ui.type].call({parser:this},ui),Li!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(ui.type))){Mt+=Li||"";continue}switch(ui.type){case"escape":{Mt+=ut.text(ui.text);break}case"html":{Mt+=ut.html(ui.text);break}case"link":{Mt+=ut.link(ui.href,ui.title,this.parseInline(ui.tokens,ut));break}case"image":{Mt+=ut.image(ui.href,ui.title,ui.text);break}case"strong":{Mt+=ut.strong(this.parseInline(ui.tokens,ut));break}case"em":{Mt+=ut.em(this.parseInline(ui.tokens,ut));break}case"codespan":{Mt+=ut.codespan(ui.text);break}case"br":{Mt+=ut.br();break}case"del":{Mt+=ut.del(this.parseInline(ui.tokens,ut));break}case"text":{Mt+=ut.text(ui.text);break}default:{var dn='Token with "'+ui.type+'" type was not found.';if(this.options.silent){console.error(dn);return}else throw new Error(dn)}}}return Mt},oi}();function Gn(oi,Gt,Xt){if(typeof oi>"u"||oi===null)throw new Error("marked(): input parameter is undefined or null");if(typeof oi!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(oi)+", string expected");if(typeof Gt=="function"&&(Xt=Gt,Gt=null),Gt=pr({},Gn.defaults,Gt||{}),Ju(Gt),Xt){var ot=Gt.highlight,ut;try{ut=ac.lex(oi,Gt)}catch(Li){return Xt(Li)}var Mt=function(Cn){var dn;if(!Cn)try{Gt.walkTokens&&Gn.walkTokens(ut,Gt.walkTokens),dn=lc.parse(ut,Gt)}catch(Yn){Cn=Yn}return Gt.highlight=ot,Cn?Xt(Cn):Xt(null,dn)};if(!ot||ot.length<3||(delete Gt.highlight,!ut.length))return Mt();var It=0;Gn.walkTokens(ut,function(Li){Li.type==="code"&&(It++,setTimeout(function(){ot(Li.text,Li.lang,function(Cn,dn){if(Cn)return Mt(Cn);dn!=null&&dn!==Li.text&&(Li.text=dn,Li.escaped=!0),It--,It===0&&Mt()})},0))}),It===0&&Mt();return}try{var ui=ac.lex(oi,Gt);return Gt.walkTokens&&Gn.walkTokens(ui,Gt.walkTokens),lc.parse(ui,Gt)}catch(Li){if(Li.message+=` Please report this to https://github.com/markedjs/marked.`,Gt.silent)return"<p>An error occurred:</p><pre>"+it(Li.message+"",!0)+"</pre>";throw Li}}Gn.options=Gn.setOptions=function(oi){return pr(Gn.defaults,oi),P(Gn.defaults),Gn},Gn.getDefaults=p,Gn.defaults=e.defaults,Gn.use=function(){for(var oi=arguments.length,Gt=new Array(oi),Xt=0;Xt<oi;Xt++)Gt[Xt]=arguments[Xt];var ot=pr.apply(void 0,[{}].concat(Gt)),ut=Gn.defaults.extensions||{renderers:{},childTokens:{}},Mt;Gt.forEach(function(It){if(It.extensions&&(Mt=!0,It.extensions.forEach(function(Li){if(!Li.name)throw new Error("extension name required");if(Li.renderer){var Cn=ut.renderers?ut.renderers[Li.name]:null;Cn?ut.renderers[Li.name]=function(){for(var dn=arguments.length,Yn=new Array(dn),Un=0;Un<dn;Un++)Yn[Un]=arguments[Un];var Es=Li.renderer.apply(this,Yn);return Es===!1&&(Es=Cn.apply(this,Yn)),Es}:ut.renderers[Li.name]=Li.renderer}if(Li.tokenizer){if(!Li.level||Li.level!=="block"&&Li.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");ut[Li.level]?ut[Li.level].unshift(Li.tokenizer):ut[Li.level]=[Li.tokenizer],Li.start&&(Li.level==="block"?ut.startBlock?ut.startBlock.push(Li.start):ut.startBlock=[Li.start]:Li.level==="inline"&&(ut.startInline?ut.startInline.push(Li.start):ut.startInline=[Li.start]))}Li.childTokens&&(ut.childTokens[Li.name]=Li.childTokens)})),It.renderer&&function(){var Li=Gn.defaults.renderer||new sm,Cn=function(Un){var Es=Li[Un];Li[Un]=function(){for(var Cs=arguments.length,bn=new Array(Cs),bo=0;bo<Cs;bo++)bn[bo]=arguments[bo];var $s=It.renderer[Un].apply(Li,bn);return $s===!1&&($s=Es.apply(Li,bn)),$s}};for(var dn in It.renderer)Cn(dn);ot.renderer=Li}(),It.tokenizer&&function(){var Li=Gn.defaults.tokenizer||new nm,Cn=function(Un){var Es=Li[Un];Li[Un]=function(){for(var Cs=arguments.length,bn=new Array(Cs),bo=0;bo<Cs;bo++)bn[bo]=arguments[bo];var $s=It.tokenizer[Un].apply(Li,bn);return $s===!1&&($s=Es.apply(Li,bn)),$s}};for(var dn in It.tokenizer)Cn(dn);ot.tokenizer=Li}(),It.walkTokens){var ui=Gn.defaults.walkTokens;ot.walkTokens=function(Li){It.walkTokens.call(this,Li),ui&&ui.call(this,Li)}}Mt&&(ot.extensions=ut),Gn.setOptions(ot)})},Gn.walkTokens=function(oi,Gt){for(var Xt=function(){var It=ut.value;switch(Gt.call(Gn,It),It.type){case"table":{for(var ui=c(It.header),Li;!(Li=ui()).done;){var Cn=Li.value;Gn.walkTokens(Cn.tokens,Gt)}for(var dn=c(It.rows),Yn;!(Yn=dn()).done;)for(var Un=Yn.value,Es=c(Un),Cs;!(Cs=Es()).done;){var bn=Cs.value;Gn.walkTokens(bn.tokens,Gt)}break}case"list":{Gn.walkTokens(It.items,Gt);break}default:Gn.defaults.extensions&&Gn.defaults.extensions.childTokens&&Gn.defaults.extensions.childTokens[It.type]?Gn.defaults.extensions.childTokens[It.type].forEach(function(bo){Gn.walkTokens(It[bo],Gt)}):It.tokens&&Gn.walkTokens(It.tokens,Gt)}},ot=c(oi),ut;!(ut=ot()).done;)Xt()},Gn.parseInline=function(oi,Gt){if(typeof oi>"u"||oi===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof oi!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(oi)+", string expected");Gt=pr({},Gn.defaults,Gt||{}),Ju(Gt);try{var Xt=ac.lexInline(oi,Gt);return Gt.walkTokens&&Gn.walkTokens(Xt,Gt.walkTokens),lc.parseInline(Xt,Gt)}catch(ot){if(ot.message+=` Please report this to https://github.com/markedjs/marked.`,Gt.silent)return"<p>An error occurred:</p><pre>"+it(ot.message+"",!0)+"</pre>";throw ot}},Gn.Parser=lc,Gn.parser=lc.parse,Gn.Renderer=sm,Gn.TextRenderer=w_,Gn.Lexer=ac,Gn.lexer=ac.lex,Gn.Tokenizer=nm,Gn.Slugger=S_,Gn.parse=Gn;var nE=Gn.options,sE=Gn.setOptions,oE=Gn.use,rE=Gn.walkTokens,aE=Gn.parseInline,lE=Gn,dE=lc.parse,cE=ac.lex;e.Lexer=ac,e.Parser=lc,e.Renderer=sm,e.Slugger=S_,e.TextRenderer=w_,e.Tokenizer=nm,e.getDefaults=p,e.lexer=cE,e.marked=Gn,e.options=nE,e.parse=lE,e.parseInline=aE,e.parser=dE,e.setOptions=sE,e.use=oE,e.walkTokens=rE,Object.defineProperty(e,"__esModule",{value:!0})})})();var Tf=kf||exports,Mf=m(99365);function Im(f,e={},t={}){var i;const s=new lt.SL;let o=!1;const c=(0,xf.az)(e),p=function(it){let vt;try{vt=(0,Mf.Q)(decodeURIComponent(it))}catch{}return vt?(vt=(0,Ha.rs)(vt,zt=>{if(f.uris&&f.uris[zt])return vn.o.revive(f.uris[zt])}),encodeURIComponent(JSON.stringify(vt))):it},P=function(it,vt){const zt=f.uris&&f.uris[it];let hi=vn.o.revive(zt);return vt?it.startsWith(di.lg.data+":")?it:(hi||(hi=vn.o.parse(it)),di.Gi.asBrowserUri(hi).toString(!0)):!hi||vn.o.parse(it).toString()===hi.toString()?it:(hi.query&&(hi=hi.with({query:p(hi.query)})),hi.toString())},j=new Tf.Renderer;j.image=(it,vt,zt)=>{let hi=[],gi=[];return it&&({href:it,dimensions:hi}=(0,Di.v1)(it),gi.push(`src="${(0,Di.d9)(it)}"`)),zt&&gi.push(`alt="${(0,Di.d9)(zt)}"`),vt&&gi.push(`title="${(0,Di.d9)(vt)}"`),hi.length&&(gi=gi.concat(hi)),"<img "+gi.join(" ")+">"},j.link=(it,vt,zt)=>typeof it!="string"?"":(it===zt&&(zt=(0,Di.oR)(zt)),vt=typeof vt=="string"?(0,Di.d9)((0,Di.oR)(vt)):"",it=(0,Di.oR)(it),it=it.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),`<a href="${it}" title="${vt||it}">${zt}</a>`),j.paragraph=it=>`<p>${it}</p>`;const V=[];if(e.codeBlockRenderer&&(j.code=(it,vt)=>{const zt=Sr.a.nextId(),hi=e.codeBlockRenderer(vt??"",it);return V.push(hi.then(gi=>[zt,gi])),`<div class="code" data-code="${zt}">${(0,Ni.YU)(it)}</div>`}),e.actionHandler){const it=e.actionHandler.disposables.add(new Md.Y(c,"click")),vt=e.actionHandler.disposables.add(new Md.Y(c,"auxclick"));e.actionHandler.disposables.add(Hi.ju.any(it.event,vt.event)(zt=>{const hi=new Em.n(zt);if(!hi.leftButton&&!hi.middleButton)return;let gi=hi.target;if(!(gi.tagName!=="A"&&(gi=gi.parentElement,!gi||gi.tagName!=="A")))try{let ji=gi.dataset.href;ji&&(f.baseUri&&(ji=qh(vn.o.from(f.baseUri),ji)),e.actionHandler.callback(ji,hi))}catch(ji){(0,Vi.dL)(ji)}finally{hi.preventDefault()}}))}f.supportHtml||(t.sanitizer=it=>(f.isTrusted?it.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0)?it:"",t.sanitize=!0,t.silent=!0),t.renderer=j;let ae=(i=f.value)!==null&&i!==void 0?i:"";ae.length>1e5&&(ae=`${ae.substr(0,1e5)}\u2026`),f.supportThemeIcons&&(ae=(0,Nf.f$)(ae));let ye=Tf.parse(ae,t);f.supportThemeIcons&&(ye=(0,Ys.T)(ye).map(vt=>typeof vt=="string"?vt:vt.outerHTML).join(""));const Ze=new DOMParser().parseFromString(Ad(f,ye),"text/html");if(Ze.body.querySelectorAll("img").forEach(it=>{const vt=it.getAttribute("src");if(vt){let zt=vt;try{f.baseUri&&(zt=qh(vn.o.from(f.baseUri),zt))}catch{}it.src=P(zt,!0)}}),Ze.body.querySelectorAll("a").forEach(it=>{const vt=it.getAttribute("href");if(it.setAttribute("href",""),!vt||/^data:|javascript:/i.test(vt)||/^command:/i.test(vt)&&!f.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(vt))it.replaceWith(...it.childNodes);else{let zt=P(vt,!1);f.baseUri&&(zt=qh(vn.o.from(f.baseUri),vt)),it.dataset.href=zt}}),c.innerHTML=Ad(f,Ze.body.innerHTML),V.length>0&&Promise.all(V).then(it=>{var vt,zt;if(o)return;const hi=new Map(it),gi=c.querySelectorAll("div[data-code]");for(const ji of gi){const cn=hi.get((vt=ji.dataset.code)!==null&&vt!==void 0?vt:"");cn&&M.mc(ji,cn)}(zt=e.asyncRenderCallback)===null||zt===void 0||zt.call(e)}),e.asyncRenderCallback)for(const it of c.getElementsByTagName("img")){const vt=s.add(M.nm(it,"load",()=>{vt.dispose(),e.asyncRenderCallback()}))}return{element:c,dispose:()=>{o=!0,s.dispose()}}}function qh(f,e){return/^\w[\w\d+.-]*:/.test(e)?e:f.path.endsWith("/")?(0,un.i3)(f,e).toString():(0,un.i3)((0,un.XX)(f),e).toString()}function Ad(f,e){const{config:t,allowedSchemes:i}=Af(f);Jh.v5("uponSanitizeAttribute",(o,c)=>{if(c.attrName==="style"||c.attrName==="class"){if(o.tagName==="SPAN"){if(c.attrName==="style"){c.keepAttr=/^(color\:#[0-9a-fA-F]+;)?(background-color\:#[0-9a-fA-F]+;)?$/.test(c.attrValue);return}else if(c.attrName==="class"){c.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(c.attrValue);return}}c.keepAttr=!1;return}});const s=M._F(i);try{return Jh.Nw(e,Object.assign(Object.assign({},t),{RETURN_TRUSTED_TYPE:!0}))}finally{Jh.ok("uponSanitizeAttribute"),s.dispose()}}function Af(f){const e=[di.lg.http,di.lg.https,di.lg.mailto,di.lg.data,di.lg.file,di.lg.vscodeFileResource,di.lg.vscodeRemote,di.lg.vscodeRemoteResource];return f.isTrusted&&e.push(di.lg.command),{config:{ALLOWED_TAGS:["ul","li","p","b","i","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"],ALLOWED_ATTR:["href","data-href","target","title","src","alt","class","style","data-code","width","height","align"],ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}var zo=m(76835),Rf=m(78759),Rd=m(51462),xm=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Pf=function(f,e){return function(t,i){e(t,i,f)}},eu=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},tu;let Wr=class pv{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new Hi.Q5,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const s=new lt.SL;return{element:s.add(Im(e,Object.assign(Object.assign({},this._getRenderOptions(e,s)),t),i)).element,dispose:()=>s.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:(i,s)=>eu(this,void 0,void 0,function*(){var o,c,p;let P;i?P=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(P=(o=this._options.editor.getModel())===null||o===void 0?void 0:o.getLanguageId()),P||(P=Ji.bd);const j=yield(0,Rf.C2)(this._languageService,s,P),V=document.createElement("span");if(V.innerHTML=(p=(c=pv._ttpTokenizer)===null||c===void 0?void 0:c.createHTML(j))!==null&&p!==void 0?p:j,this._options.editor){const ae=this._options.editor.getOption(46);(0,Rd.N)(V,ae)}else this._options.codeBlockFontFamily&&(V.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(V.style.fontSize=this._options.codeBlockFontSize),V}),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>this._openerService.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:e.isTrusted}).catch(Vi.dL),disposables:t}}}};Wr._ttpTokenizer=(tu=window.trustedTypes)===null||tu===void 0?void 0:tu.createPolicy("tokenizeToString",{createHTML(f){return f}}),Wr=xm([Pf(1,Bs.O),Pf(2,zo.v4)],Wr);const Of=M.$;class Ul extends lt.JT{constructor(e,t,i=zo.SW){super(),this._renderDisposeables=this._register(new lt.SL),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new ta),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Wr({editor:this._editor},t,i)),this._computer=new Nm(this._editor),this._hoverOperation=this._register(new wf(this._editor,this._computer)),this._register(this._hoverOperation.onResult(s=>{this._withResult(s.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(46)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Ul.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e){this._computer.lineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const s of t){const o=Of("div.hover-row.markdown-hover"),c=M.R3(o,Of("div.hover-contents")),p=this._renderDisposeables.add(this._markdownRenderer.render(s.value));c.appendChild(p.element),i.appendChild(o)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),s=this._editor.getScrollTop(),o=this._editor.getOption(61),c=this._hover.containerDomNode.clientHeight,p=i-s-(c-o)/2;this._hover.containerDomNode.style.left=`${t.glyphMarginLeft+t.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(p),0)}px`}}Ul.ID="editor.contrib.modesGlyphHoverWidget";class Nm{constructor(e){this._editor=e,this._lineNumber=-1}get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}computeSync(){const e=s=>({value:s}),t=this._editor.getLineDecorations(this._lineNumber),i=[];if(!t)return i;for(const s of t){if(!s.options.glyphMarginClassName)continue;const o=s.options.glyphMarginHoverMessage;!o||(0,Di.CP)(o)||i.push(...(0,hn._2)(o).map(e))}return i}}var km=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Tm{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}function Mm(f,e,t,i,s){return km(this,void 0,void 0,function*(){try{const o=yield Promise.resolve(f.provideHover(t,i,s));if(o&&Am(o))return new Tm(f,o,e)}catch(o){(0,Vi.Cp)(o)}})}function iu(f,e,t,i){const o=f.ordered(e).map((c,p)=>Mm(c,p,e,t,i));return Ot.Aq.fromPromises(o).coalesce()}function Pd(f,e,t,i){return iu(f,e,t,i).map(s=>s.hover).toPromise()}(0,Ae.sb)("_executeHoverProvider",(f,e,t)=>{const i=f.get(Yi.p);return Pd(i.hoverProvider,e,t,Ai.T.None)});function Am(f){const e=typeof f.range<"u",t=typeof f.contents<"u"&&f.contents&&f.contents.length>0;return e&&t}var Rm=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Od=function(f,e){return function(t,i){e(t,i,f)}};const Ff=M.$;class Ir{constructor(e,t,i,s){this.owner=e,this.range=t,this.contents=i,this.ordinal=s}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let jl=class{constructor(e,t,i,s,o){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=s,this._languageFeaturesService=o,this.hoverOrdinal=2}createLoadingMessage(e){return new Ir(this,e.range,[new Di.W5().appendText(Se.NC("modesContentHover.loading","Loading..."))],2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),s=e.range.startLineNumber,o=i.getLineMaxColumn(s),c=[];let p=1e3;const P=i.getLineLength(s),j=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),V=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:j});typeof V=="number"&&P>=V&&c.push(new Ir(this,e.range,[{value:Se.NC("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],p++));for(const ae of t){const ye=ae.range.startLineNumber===s?ae.range.startColumn:1,We=ae.range.endLineNumber===s?ae.range.endColumn:o,Ze=ae.options.hoverMessage;if(!Ze||(0,Di.CP)(Ze))continue;const it=new yt.e(e.range.startLineNumber,ye,e.range.startLineNumber,We);c.push(new Ir(this,it,(0,hn._2)(Ze),p++))}return c}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Ot.Aq.EMPTY;const s=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(s))return Ot.Aq.EMPTY;const o=new wi.L(e.range.startLineNumber,e.range.startColumn);return iu(this._languageFeaturesService.hoverProvider,s,o,i).filter(c=>!(0,Di.CP)(c.hover.contents)).map(c=>{const p=c.hover.range?yt.e.lift(c.hover.range):e.range;return new Ir(this,p,c.hover.contents,c.ordinal)})}renderHoverParts(e,t){return Bf(e,t,this._editor,this._languageService,this._openerService)}};jl=Rm([Od(1,Bs.O),Od(2,zo.v4),Od(3,ce.Ui),Od(4,Yi.p)],jl);function Bf(f,e,t,i,s){e.sort((c,p)=>c.ordinal-p.ordinal);const o=new lt.SL;for(const c of e)for(const p of c.contents){if((0,Di.CP)(p))continue;const P=Ff("div.hover-row.markdown-hover"),j=M.R3(P,Ff("div.hover-contents")),V=o.add(new Wr({editor:t},i,s));o.add(V.onDidRenderAsync(()=>{j.className="hover-contents code-hover-contents",f.onContentsChanged()}));const ae=o.add(V.render(p));j.appendChild(ae.element),f.fragment.appendChild(P)}return o}var Pm=m(15495),Wf=m(48119),Vf=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Vc=function(f,e){return function(t,i){e(t,i,f)}};class Hf{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let nu=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Hi.Q5,this.onDidChange=this._onDidChange.event,this._dispoables=new lt.SL,this._markers=[],this._nextIdx=-1,vn.o.isUri(e)?this._resourceFilter=p=>p.toString()===e.toString():e&&(this._resourceFilter=e);const s=this._configService.getValue("problems.sortOrder"),o=(p,P)=>{let j=(0,Ni.qu)(p.resource.toString(),P.resource.toString());return j===0&&(s==="position"?j=yt.e.compareRangesUsingStarts(p,P)||Xn.ZL.compare(p.severity,P.severity):j=Xn.ZL.compare(p.severity,P.severity)||yt.e.compareRangesUsingStarts(p,P)),j},c=()=>{this._markers=this._markerService.read({resource:vn.o.isUri(e)?e:void 0,severities:Xn.ZL.Error|Xn.ZL.Warning|Xn.ZL.Info}),typeof e=="function"&&(this._markers=this._markers.filter(p=>this._resourceFilter(p.resource))),this._markers.sort(o)};c(),this._dispoables.add(t.onMarkerChanged(p=>{(!this._resourceFilter||p.some(P=>this._resourceFilter(P)))&&(c(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new Hf(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let s=!1,o=this._markers.findIndex(c=>c.resource.toString()===e.uri.toString());o<0&&(o=(0,hn.ry)(this._markers,{resource:e.uri},(c,p)=>(0,Ni.qu)(c.resource.toString(),p.resource.toString())),o<0&&(o=~o));for(let c=o;c<this._markers.length;c++){let p=yt.e.lift(this._markers[c]);if(p.isEmpty()){const P=e.getWordAtPosition(p.getStartPosition());P&&(p=new yt.e(p.startLineNumber,P.startColumn,p.startLineNumber,P.endColumn))}if(t&&(p.containsPosition(t)||t.isBeforeOrEqual(p.getStartPosition()))){this._nextIdx=c,s=!0;break}if(this._markers[c].resource.toString()!==e.uri.toString())break}s||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;const s=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),s!==this._nextIdx}find(e,t){let i=this._markers.findIndex(s=>s.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(yt.e.containsPosition(this._markers[i],t))return new Hf(this._markers[i],i+1,this._markers.length)}}};nu=Vf([Vc(1,Xn.lT),Vc(2,ce.Ui)],nu);const zf=(0,F.yh)("IMarkerNavigationService");let su=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new Wf.S}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new nu(e,this._markerService,this._configService)}};su=Vf([Vc(0,Xn.lT),Vc(1,ce.Ui)],su),(0,sr.z)(zf,su,!0);var uo=m(44207),F_=m(72010),Kl=m(60478),ou;(function(f){function e(t){switch(t){case Kl.Z.Ignore:return"severity-ignore "+Mi.lA.info.classNames;case Kl.Z.Info:return Mi.lA.info.classNames;case Kl.Z.Warning:return Mi.lA.warning.classNames;case Kl.Z.Error:return Mi.lA.error.classNames;default:return""}}f.className=e})(ou||(ou={})),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.JpG);if(t){const o=Mi.lA.error.cssSelector;e.addRule(` .monaco-editor .zone-widget ${o}, .markers-panel .marker-icon${o}, .text-search-provider-messages .providerMessage ${o}, .extensions-viewlet > .extensions ${o} { color: ${t}; } `)}const i=f.getColor(be.BOY);if(i){const o=Mi.lA.warning.cssSelector;e.addRule(` .monaco-editor .zone-widget ${o}, .markers-panel .marker-icon${o}, .extensions-viewlet > .extensions ${o}, .extension-editor ${o}, .text-search-provider-messages .providerMessage ${o}, .preferences-editor ${o} { color: ${i}; } `)}const s=f.getColor(be.OLZ);if(s){const o=Mi.lA.info.cssSelector;e.addRule(` .monaco-editor .zone-widget ${o}, .markers-panel .marker-icon${o}, .extensions-viewlet > .extensions ${o}, .text-search-provider-messages .providerMessage ${o}, .extension-editor ${o} { color: ${s}; } `)}});var Om=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},$l=function(f,e){return function(t,i){e(t,i,f)}};class Fm{constructor(e,t,i,s,o){this._openerService=s,this._labelService=o,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new lt.SL,this._editor=t;const c=document.createElement("div");c.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),c.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),c.appendChild(this._relatedBlock),this._disposables.add(M.mu(this._relatedBlock,"click",p=>{p.preventDefault();const P=this._relatedDiagnostics.get(p.target);P&&i(P)})),this._scrollable=new Io.NB(c,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(p=>{c.style.left=`-${p.scrollLeft}px`,c.style.top=`-${p.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,lt.B9)(this._disposables)}update(e){const{source:t,message:i,relatedInformation:s,code:o}=e;let c=(t?.length||0)+2;o&&(typeof o=="string"?c+=o.length:c+=o.value.length);const p=(0,Ni.uq)(i);this._lines=p.length,this._longestLineLength=0;for(const ye of p)this._longestLineLength=Math.max(ye.length+c,this._longestLineLength);M.PO(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let P=this._messageBlock;for(const ye of p)P=document.createElement("div"),P.innerText=ye,ye===""&&(P.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(P);if(t||o){const ye=document.createElement("span");if(ye.classList.add("details"),P.appendChild(ye),t){const We=document.createElement("span");We.innerText=t,We.classList.add("source"),ye.appendChild(We)}if(o)if(typeof o=="string"){const We=document.createElement("span");We.innerText=`(${o})`,We.classList.add("code"),ye.appendChild(We)}else{this._codeLink=M.$("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=Ze=>{this._openerService.open(o.target,{allowCommands:!0}),Ze.preventDefault(),Ze.stopPropagation()};const We=M.R3(this._codeLink,M.$("span"));We.innerText=o.value,ye.appendChild(this._codeLink)}}if(M.PO(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,hn.Of)(s)){const ye=this._relatedBlock.appendChild(document.createElement("div"));ye.style.paddingTop=`${Math.floor(this._editor.getOption(61)*.66)}px`,this._lines+=1;for(const We of s){const Ze=document.createElement("div"),it=document.createElement("a");it.classList.add("filename"),it.innerText=`${this._labelService.getUriBasenameLabel(We.resource)}(${We.startLineNumber}, ${We.startColumn}): `,it.title=this._labelService.getUriLabel(We.resource),this._relatedDiagnostics.set(it,We);const vt=document.createElement("span");vt.innerText=We.message,Ze.appendChild(it),Ze.appendChild(vt),this._lines+=1,ye.appendChild(Ze)}}const j=this._editor.getOption(46),V=Math.ceil(j.typicalFullwidthCharacterWidth*this._longestLineLength*.75),ae=j.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:V,scrollHeight:ae})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Xn.ZL.Error:t=Se.NC("Error","Error");break;case Xn.ZL.Warning:t=Se.NC("Warning","Warning");break;case Xn.ZL.Info:t=Se.NC("Info","Info");break;case Xn.ZL.Hint:t=Se.NC("Hint","Hint");break}let i=Se.NC("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const s=this._editor.getModel();return s&&e.startLineNumber<=s.getLineCount()&&e.startLineNumber>=1&&(i=`${s.getLineContent(e.startLineNumber)}, ${i}`),i}}let Gl=class _v extends $a{constructor(e,t,i,s,o,c,p){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},o),this._themeService=t,this._openerService=i,this._menuService=s,this._contextKeyService=c,this._labelService=p,this._callOnDispose=new lt.SL,this._onDidSelectRelatedInformation=new Hi.Q5,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Xn.ZL.Warning,this._backgroundColor=En.Il.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(Hm);let t=ru,i=Bm;this._severity===Xn.ZL.Warning?(t=Hc,i=Wm):this._severity===Xn.ZL.Info&&(t=au,i=Vm);const s=e.getColor(t),o=e.getColor(i);this.style({arrowColor:s,frameColor:s,headerBackgroundColor:o,primaryHeadingColor:e.getColor(yc),secondaryHeadingColor:e.getColor(Tl)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onBeforeRun(s=>this.editor.focus()));const t=[],i=this._menuService.createMenu(_v.TitleMenu,this._contextKeyService);va(i,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),i.dispose()}_fillTitleIcon(e){this._icon=M.R3(e,M.$(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new Fm(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const s=yt.e.lift(e),o=this.editor.getPosition(),c=o&&s.containsPosition(o)?o:s.getStartPosition();super.show(c,this.computeRequiredHeight());const p=this.editor.getModel();if(p){const P=i>1?Se.NC("problems","{0} of {1} problems",t,i):Se.NC("change","{0} of {1} problem",t,i);this.setTitle((0,un.EZ)(p.uri),P)}this._icon.className=`codicon ${ou.className(Xn.ZL.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(c,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};Gl.TitleMenu=new Ne.eH("gotoErrorTitleMenu"),Gl=Om([$l(1,Xe.XE),$l(2,zo.v4),$l(3,Ne.co),$l(4,F.TG),$l(5,ht.i6),$l(6,Hn.e)],Gl);const Uf=(0,be.kwl)(be.lXJ,be.b6y),jf=(0,be.kwl)(be.uoC,be.pW3),Kf=(0,be.kwl)(be.c63,be.T83),ru=(0,be.P6G)("editorMarkerNavigationError.background",{dark:Uf,light:Uf,hcDark:be.lRK,hcLight:be.lRK},Se.NC("editorMarkerNavigationError","Editor marker navigation widget error color.")),Bm=(0,be.P6G)("editorMarkerNavigationError.headerBackground",{dark:(0,be.ZnX)(ru,.1),light:(0,be.ZnX)(ru,.1),hcDark:null,hcLight:null},Se.NC("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Hc=(0,be.P6G)("editorMarkerNavigationWarning.background",{dark:jf,light:jf,hcDark:be.lRK,hcLight:be.lRK},Se.NC("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Wm=(0,be.P6G)("editorMarkerNavigationWarning.headerBackground",{dark:(0,be.ZnX)(Hc,.1),light:(0,be.ZnX)(Hc,.1),hcDark:"#0C141F",hcLight:(0,be.ZnX)(Hc,.2)},Se.NC("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),au=(0,be.P6G)("editorMarkerNavigationInfo.background",{dark:Kf,light:Kf,hcDark:be.lRK,hcLight:be.lRK},Se.NC("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),Vm=(0,be.P6G)("editorMarkerNavigationInfo.headerBackground",{dark:(0,be.ZnX)(au,.1),light:(0,be.ZnX)(au,.1),hcDark:null,hcLight:null},Se.NC("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),Hm=(0,be.P6G)("editorMarkerNavigation.background",{dark:be.cvW,light:be.cvW,hcDark:be.cvW,hcLight:be.cvW},Se.NC("editorMarkerNavigationBackground","Editor marker navigation widget background."));var zm=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},zc=function(f,e){return function(t,i){e(t,i,f)}},Uc=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let Vs=class lm{constructor(e,t,i,s,o){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=s,this._instantiationService=o,this._sessionDispoables=new lt.SL,this._editor=e,this._widgetVisible=$f.bindTo(this._contextKeyService)}static get(e){return e.getContribution(lm.ID)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(Gl,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var s,o,c;(!(!((s=this._model)===null||s===void 0)&&s.selected)||!yt.e.containsPosition((o=this._model)===null||o===void 0?void 0:o.selected.marker,i.position))&&((c=this._model)===null||c===void 0||c.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:yt.e.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new wi.L(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}nagivate(e,t){var i,s;return Uc(this,void 0,void 0,function*(){if(this._editor.hasModel()){const o=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(o.move(e,this._editor.getModel(),this._editor.getPosition()),!o.selected)return;if(o.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const c=yield this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);c&&((i=lm.get(c))===null||i===void 0||i.close(),(s=lm.get(c))===null||s===void 0||s.nagivate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}})}};Vs.ID="editor.contrib.markerController",Vs=zm([zc(1,zf),zc(2,ht.i6),zc(3,Qi.$),zc(4,F.TG)],Vs);class jc extends Ae.R6{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}run(e,t){var i;return Uc(this,void 0,void 0,function*(){t.hasModel()&&((i=Vs.get(t))===null||i===void 0||i.nagivate(this._next,this._multiFile))})}}class La extends jc{constructor(){super(!0,!1,{id:La.ID,label:La.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:578,weight:100},menuOpts:{menuId:Gl.TitleMenu,title:La.LABEL,icon:(0,uo.q5)("marker-navigation-next",Mi.lA.arrowDown,Se.NC("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}La.ID="editor.action.marker.next",La.LABEL=Se.NC("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class tl extends jc{constructor(){super(!1,!1,{id:tl.ID,label:tl.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:1602,weight:100},menuOpts:{menuId:Gl.TitleMenu,title:tl.LABEL,icon:(0,uo.q5)("marker-navigation-previous",Mi.lA.arrowUp,Se.NC("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}tl.ID="editor.action.marker.prev",tl.LABEL=Se.NC("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");class Um extends jc{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:Se.NC("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:66,weight:100},menuOpts:{menuId:Ne.eH.MenubarGoMenu,title:Se.NC({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class jm extends jc{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:Se.NC("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:1090,weight:100},menuOpts:{menuId:Ne.eH.MenubarGoMenu,title:Se.NC({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}(0,Ae._K)(Vs.ID,Vs),(0,Ae.Qr)(La),(0,Ae.Qr)(tl),(0,Ae.Qr)(Um),(0,Ae.Qr)(jm);const $f=new ht.uy("markersNavigationVisible",!1),Km=Ae._l.bindToContribution(Vs.get);(0,Ae.fK)(new Km({id:"closeMarkersNavigation",precondition:$f,handler:f=>f.close(),kbOpts:{weight:100+50,kbExpr:Ue.u.focus,primary:9,secondary:[1033]}}));var $m=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},lu=function(f,e){return function(t,i){e(t,i,f)}};const ur=M.$;class Gm{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const Gf={type:1,filter:{include:Sn.QuickFix},triggerAction:Ln.QuickFixHover};let du=class{constructor(e,t,i,s){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=s,this.hoverOrdinal=5,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),s=e.range.startLineNumber,o=i.getLineMaxColumn(s),c=[];for(const p of t){const P=p.range.startLineNumber===s?p.range.startColumn:1,j=p.range.endLineNumber===s?p.range.endColumn:o,V=this._markerDecorationsService.getMarker(i.uri,p);if(!V)continue;const ae=new yt.e(e.range.startLineNumber,P,e.range.startLineNumber,j);c.push(new Gm(this,ae,V))}return c}renderHoverParts(e,t){if(!t.length)return lt.JT.None;const i=new lt.SL;t.forEach(o=>e.fragment.appendChild(this.renderMarkerHover(o,i)));const s=t.length===1?t[0]:t.sort((o,c)=>Xn.ZL.compare(o.marker.severity,c.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),i}renderMarkerHover(e,t){const i=ur("div.hover-row"),s=M.R3(i,ur("div.marker.hover-contents")),{source:o,message:c,code:p,relatedInformation:P}=e.marker;this._editor.applyFontInfo(s);const j=M.R3(s,ur("span"));if(j.style.whiteSpace="pre-wrap",j.innerText=c,o||p)if(p&&typeof p!="string"){const V=ur("span");if(o){const Ze=M.R3(V,ur("span"));Ze.innerText=o}const ae=M.R3(V,ur("a.code-link"));ae.setAttribute("href",p.target.toString()),t.add(M.nm(ae,"click",Ze=>{this._openerService.open(p.target,{allowCommands:!0}),Ze.preventDefault(),Ze.stopPropagation()}));const ye=M.R3(ae,ur("span"));ye.innerText=p.value;const We=M.R3(s,V);We.style.opacity="0.6",We.style.paddingLeft="6px"}else{const V=M.R3(s,ur("span"));V.style.opacity="0.6",V.style.paddingLeft="6px",V.innerText=o&&p?`${o}(${p})`:o||`(${p})`}if((0,hn.Of)(P))for(const{message:V,resource:ae,startLineNumber:ye,startColumn:We}of P){const Ze=M.R3(s,ur("div"));Ze.style.marginTop="8px";const it=M.R3(Ze,ur("a"));it.innerText=`${(0,un.EZ)(ae)}(${ye}, ${We}): `,it.style.cursor="pointer",t.add(M.nm(it,"click",zt=>{zt.stopPropagation(),zt.preventDefault(),this._openerService&&this._openerService.open(ae,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:ye,startColumn:We}}}).catch(Vi.dL)}));const vt=M.R3(Ze,ur("span"));vt.innerText=V,this._editor.applyFontInfo(vt)}return i}renderMarkerStatusbar(e,t,i){if((t.marker.severity===Xn.ZL.Error||t.marker.severity===Xn.ZL.Warning||t.marker.severity===Xn.ZL.Info)&&e.statusBar.addAction({label:Se.NC("view problem","View Problem"),commandId:La.ID,run:()=>{var s;e.hide(),(s=Vs.get(this._editor))===null||s===void 0||s.showAtMarker(t.marker),this._editor.focus()}}),!this._editor.getOption(83)){const s=e.statusBar.append(ur("div"));this.recentMarkerCodeActionsInfo&&(Xn.H0.makeKey(this.recentMarkerCodeActionsInfo.marker)===Xn.H0.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(s.textContent=Se.NC("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?lt.JT.None:i.add((0,Ot.Vg)(()=>s.textContent=Se.NC("checkingForQuickFixes","Checking for quick fixes..."),200));s.textContent||(s.textContent=String.fromCharCode(160));const c=this.getCodeActions(t.marker);i.add((0,lt.OF)(()=>c.cancel())),c.then(p=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:p.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){p.dispose(),s.textContent=Se.NC("noQuickFixes","No quick fixes available");return}s.style.display="none";let P=!1;i.add((0,lt.OF)(()=>{P||p.dispose()})),e.statusBar.addAction({label:Se.NC("quick fixes","Quick Fix..."),commandId:So.Id,run:j=>{P=!0;const V=tr.get(this._editor),ae=M.i(j);e.hide(),V?.showCodeActions(Gf,p,{x:ae.left+6,y:ae.top+ae.height+6,width:ae.width,height:ae.height})}})},Vi.dL)}}getCodeActions(e){return(0,Ot.PG)(t=>pn(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new yt.e(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),Gf,Is.Ex.None,t))}};du=$m([lu(1,Pm.i),lu(2,zo.v4),lu(3,Yi.p)],du),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.url);t&&e.addRule(`.monaco-hover .hover-contents a.code-link span { color: ${t}; }`);const i=f.getColor(be.sgC);i&&e.addRule(`.monaco-hover .hover-contents a.code-link span:hover { color: ${i}; }`)});var Qm=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},fe=function(f,e){return function(t,i){e(t,i,f)}};let r=class Cv{constructor(e,t,i,s,o){this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=s,this._toUnhook=new lt.SL,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(c=>{c.hasChanged(55)&&(this._unhookEvents(),this._hookEvents())})}static get(e){return e.getContribution(Cv.ID)}_hookEvents(){const e=()=>this._hideWidgets(),t=this._editor.getOption(55);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(i=>this._onEditorMouseDown(i))),this._toUnhook.add(this._editor.onMouseUp(i=>this._onEditorMouseUp(i))),this._toUnhook.add(this._editor.onMouseMove(i=>this._onEditorMouseMove(i))),this._toUnhook.add(this._editor.onKeyDown(i=>this._onKeyDown(i)))):(this._toUnhook.add(this._editor.onMouseMove(i=>this._onEditorMouseMove(i))),this._toUnhook.add(this._editor.onKeyDown(i=>this._onKeyDown(i)))),this._toUnhook.add(this._editor.onMouseLeave(i=>this._onEditorMouseLeave(i))),this._toUnhook.add(this._editor.onDidChangeModel(e)),this._toUnhook.add(this._editor.onDidScrollChange(i=>this._onEditorScrollChanged(i)))}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._isMouseDown=!0;const t=e.target;if(t.type===9&&t.detail===el.ID){this._hoverClicked=!0;return}t.type===12&&t.detail===Ul.ID||(t.type!==12&&(this._hoverClicked=!1),this._hideWidgets())}_onEditorMouseUp(e){this._isMouseDown=!1}_onEditorMouseLeave(e){var t;const i=e.event.browserEvent.relatedTarget;!((t=this._contentWidget)===null||t===void 0)&&t.containsNode(i)||this._hideWidgets()}_onEditorMouseMove(e){var t,i,s,o,c;const p=e.target;if(this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&p.type===9&&p.detail===el.ID||this._isHoverSticky&&!(!((i=(t=e.event.browserEvent.view)===null||t===void 0?void 0:t.getSelection())===null||i===void 0)&&i.isCollapsed)||!this._isHoverSticky&&p.type===9&&p.detail===el.ID&&(!((s=this._contentWidget)===null||s===void 0)&&s.isColorPickerVisible())||this._isHoverSticky&&p.type===12&&p.detail===Ul.ID)return;if(!this._isHoverEnabled){this._hideWidgets();return}if(this._getOrCreateContentWidget().maybeShowAt(e)){(o=this._glyphWidget)===null||o===void 0||o.hide();return}if(p.type===2&&p.position){(c=this._contentWidget)===null||c===void 0||c.hide(),this._glyphWidget||(this._glyphWidget=new Ul(this._editor,this._languageService,this._openerService)),this._glyphWidget.startShowingAt(p.position.lineNumber);return}this._hideWidgets()}_onKeyDown(e){e.keyCode!==5&&e.keyCode!==6&&e.keyCode!==57&&e.keyCode!==4&&this._hideWidgets()}_hideWidgets(){var e,t,i;this._isMouseDown&&this._hoverClicked&&(!((e=this._contentWidget)===null||e===void 0)&&e.isColorPickerVisible())||(this._hoverClicked=!1,(t=this._glyphWidget)===null||t===void 0||t.hide(),(i=this._contentWidget)===null||i===void 0||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(Bc,this._editor)),this._contentWidget}isColorPickerVisible(){var e;return((e=this._contentWidget)===null||e===void 0?void 0:e.isColorPickerVisible())||!1}showContentHover(e,t,i){this._getOrCreateContentWidget().startShowingAtRange(e,t,i)}dispose(){var e,t;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),(e=this._glyphWidget)===null||e===void 0||e.dispose(),(t=this._contentWidget)===null||t===void 0||t.dispose()}};r.ID="editor.contrib.hover",r=Qm([fe(1,F.TG),fe(2,zo.v4),fe(3,Bs.O),fe(4,ht.i6)],r);class l extends Ae.R6{constructor(){super({id:"editor.action.showHover",label:Se.NC({key:"showHover",comment:["Label for action that will trigger the showing of a hover in the editor.","This allows for users to show the hover without using the mouse."]},"Show Hover"),alias:"Show Hover",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2087),weight:100}})}run(e,t){if(!t.hasModel())return;const i=r.get(t);if(!i)return;const s=t.getPosition(),o=new yt.e(s.lineNumber,s.column,s.lineNumber,s.column),c=t.getOption(2)===2;i.showContentHover(o,1,c)}}class v extends Ae.R6{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:Se.NC({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const i=r.get(t);if(!i)return;const s=t.getPosition();if(!s)return;const o=new yt.e(s.lineNumber,s.column,s.lineNumber,s.column),c=ea.get(t);if(!c)return;c.startFindDefinitionFromCursor(s).then(()=>{i.showContentHover(o,1,!0)})}}(0,Ae._K)(r.ID,r),(0,Ae.Qr)(l),(0,Ae.Qr)(v),Ws.register(jl),Ws.register(du),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.ptc);t&&e.addRule(`.monaco-editor .hoverHighlight { background-color: ${t}; }`);const i=f.getColor(be.yJx);i&&e.addRule(`.monaco-editor .monaco-hover { background-color: ${i}; }`);const s=f.getColor(be.CNo);s&&(e.addRule(`.monaco-editor .monaco-hover { border: 1px solid ${s}; }`),e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${s.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${s.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${s.transparent(.5)}; }`));const o=f.getColor(be.url);o&&e.addRule(`.monaco-editor .monaco-hover a { color: ${o}; }`);const c=f.getColor(be.sgC);c&&e.addRule(`.monaco-editor .monaco-hover a:hover { color: ${c}; }`);const p=f.getColor(be.Sbf);p&&e.addRule(`.monaco-editor .monaco-hover { color: ${p}; }`);const P=f.getColor(be.LoV);P&&e.addRule(`.monaco-editor .monaco-hover .hover-row .actions { background-color: ${P}; }`);const j=f.getColor(be.SwI);j&&e.addRule(`.monaco-editor .monaco-hover code { background-color: ${j}; }`)});class H extends lt.JT{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=e.target;if(t.type!==6||!t.detail.injectedText||t.detail.injectedText.options.attachedData!==pc||!t.range)return;const i=this._editor.getContribution(r.ID);if(i&&!i.isColorPickerVisible()){const s=new yt.e(t.range.startLineNumber,t.range.startColumn+1,t.range.endLineNumber,t.range.endColumn+1);i.showContentHover(s,1,!1)}}}H.ID="editor.contrib.colorContribution",(0,Ae._K)(H.ID,H),Ws.register(bl);var G=m(14328),le=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};function pe(f){return{asString:()=>le(this,void 0,void 0,function*(){return f}),asFile:()=>{},value:typeof f=="string"?f:void 0}}function Te(f,e,t){return{asString:()=>le(this,void 0,void 0,function*(){return""}),asFile:()=>({name:f,uri:e,data:t}),value:void 0}}class He{constructor(){this._entries=new Map}get size(){return this._entries.size}has(e){return this._entries.has(this.toKey(e))}get(e){var t;return(t=this._entries.get(this.toKey(e)))===null||t===void 0?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*entries(){for(const[e,t]of this._entries.entries())for(const i of t)yield[e,i]}values(){return Array.from(this._entries.values()).flat()}forEach(e){for(const[t,i]of this.entries())e(i,t)}toKey(e){return e.toLowerCase()}}var Qe=m(37800);const pt=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let f;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?f=crypto.getRandomValues.bind(crypto):f=function(i){for(let s=0;s<i.length;s++)i[s]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){f(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let s=0,o="";return o+=t[e[s++]],o+=t[e[s++]],o+=t[e[s++]],o+=t[e[s++]],o+="-",o+=t[e[s++]],o+=t[e[s++]],o+="-",o+=t[e[s++]],o+=t[e[s++]],o+="-",o+=t[e[s++]],o+=t[e[s++]],o+="-",o+=t[e[s++]],o+=t[e[s++]],o+=t[e[s++]],o+=t[e[s++]],o+=t[e[s++]],o+=t[e[s++]],o}}(),ii={EDITORS:"CodeEditors",FILES:"CodeFiles"};function yi(f){var e;const t=[];if(f.dataTransfer&&f.dataTransfer.types.length>0){const i=f.dataTransfer.getData(ii.EDITORS);if(i)try{t.push(...(0,Mf.Q)(i))}catch{}else try{const c=f.dataTransfer.getData(G.g.RESOURCES);t.push(...nn(c))}catch{}if(!((e=f.dataTransfer)===null||e===void 0)&&e.files)for(let c=0;c<f.dataTransfer.files.length;c++){const p=f.dataTransfer.files[c];if(p&&p.path)try{t.push({resource:vn.o.file(p.path),isExternal:!0,allowWorkspaceOpen:!0})}catch{}}const s=f.dataTransfer.getData(ii.FILES);if(s)try{const c=JSON.parse(s);for(const p of c)t.push({resource:vn.o.file(p),isExternal:!0,allowWorkspaceOpen:!0})}catch{}const o=yo.B.as(On.DragAndDropContribution).getAll();for(const c of o){const p=f.dataTransfer.getData(c.dataFormatKey);if(p)try{t.push(...c.getEditorInputs(p))}catch{}}}return t}function nn(f){const e=[];if(f){const t=JSON.parse(f);for(const i of t)if(i.indexOf(":")>0){const{selection:s,uri:o}=(0,zo.xI)(vn.o.parse(i));e.push({resource:o,options:{selection:s}})}}return e}class In{constructor(){this._contributions=new Map}getAll(){return this._contributions.values()}}const On={DragAndDropContribution:"workbench.contributions.dragAndDrop"};yo.B.add(On.DragAndDropContribution,new In);var ls=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};function es(f){const e=new He;for(const t of f.items){const i=t.type;if(t.kind==="string"){const s=new Promise(o=>t.getAsString(o));e.append(i,pe(s))}else if(t.kind==="file"){const s=t.getAsFile();s&&e.append(i,Fn(s))}}return e}function Fn(f){const e=f.path?vn.o.parse(f.path):void 0;return Te(f.name,e,()=>ls(this,void 0,void 0,function*(){return new Uint8Array(yield f.arrayBuffer())}))}const Zn=Object.freeze([ii.EDITORS,ii.FILES,G.g.RESOURCES]);function Uo(f,e,t=!1){var i;if(e.dataTransfer&&(t||!f.has(Qe.v.uriList))){const s=yi(e).filter(o=>o.resource).map(o=>o.resource.toString());for(const o of(i=e.dataTransfer)===null||i===void 0?void 0:i.items){const c=o.getAsFile();c&&s.push(c.path?vn.o.file(c.path).toString():c.name)}s.length&&f.replace(Qe.v.uriList,pe(sa.create(s)))}for(const s of Zn)f.delete(s)}const sa=Object.freeze({create:f=>(0,hn.EB)(f.map(e=>e.toString())).join(`\r `),parse:f=>f.split(`\r `).filter(e=>!e.startsWith("#"))});var Ns=m(71401),Kc=m(62034),yn=m(86520),xn=m(63409),io=m(43300);function il(f,e=Fi.ED){return(0,io.oP)(f,e)?f.charAt(0).toUpperCase()+f.slice(1):f}let Fd=Object.create(null);var nl=m(61419),Rv=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Pv=function(f,e){return function(t,i){e(t,i,f)}};const gE=Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class B_{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class W_{constructor(e,t,i,s){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=s}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,s=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const o=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);o&&(i=o.value,s=o.multiline)}if(i&&s&&e.snippet){const o=this._model.getLineContent(this._selection.startLineNumber),c=(0,Ni.V8)(o,0,this._selection.startColumn-1);let p=c;e.snippet.walk(j=>j===e?!1:(j instanceof _o&&(p=(0,Ni.V8)((0,Ni.uq)(j.value).pop())),!0));const P=(0,Ni.Mh)(p,c);i=i.replace(/(\r\n|\r|\n)(.*)/g,(j,V,ae)=>`${V}${p.substr(P)}${ae}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class V_{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return nl.EZ(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=nl.EZ(this._model.uri.fsPath),s=i.lastIndexOf(".");return s<=0?i:i.slice(0,s)}else{if(t==="TM_DIRECTORY")return nl.XX(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel((0,un.XX)(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class H_{constructor(e,t,i,s){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=s}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(s=>!(0,Ni.m5)(s));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Qf=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),s=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(s){if(t==="LINE_COMMENT")return s.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return s.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return s.blockCommentEndToken||void 0}}};Qf=Rv([Pv(2,lo.c_)],Qf);class oa{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return oa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return oa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return oa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return oa.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3))}}oa.dayNames=[Se.NC("Sunday","Sunday"),Se.NC("Monday","Monday"),Se.NC("Tuesday","Tuesday"),Se.NC("Wednesday","Wednesday"),Se.NC("Thursday","Thursday"),Se.NC("Friday","Friday"),Se.NC("Saturday","Saturday")],oa.dayNamesShort=[Se.NC("SundayShort","Sun"),Se.NC("MondayShort","Mon"),Se.NC("TuesdayShort","Tue"),Se.NC("WednesdayShort","Wed"),Se.NC("ThursdayShort","Thu"),Se.NC("FridayShort","Fri"),Se.NC("SaturdayShort","Sat")],oa.monthNames=[Se.NC("January","January"),Se.NC("February","February"),Se.NC("March","March"),Se.NC("April","April"),Se.NC("May","May"),Se.NC("June","June"),Se.NC("July","July"),Se.NC("August","August"),Se.NC("September","September"),Se.NC("October","October"),Se.NC("November","November"),Se.NC("December","December")],oa.monthNamesShort=[Se.NC("JanuaryShort","Jan"),Se.NC("FebruaryShort","Feb"),Se.NC("MarchShort","Mar"),Se.NC("AprilShort","Apr"),Se.NC("MayShort","May"),Se.NC("JuneShort","Jun"),Se.NC("JulyShort","Jul"),Se.NC("AugustShort","Aug"),Se.NC("SeptemberShort","Sep"),Se.NC("OctoberShort","Oct"),Se.NC("NovemberShort","Nov"),Se.NC("DecemberShort","Dec")];class z_{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=(0,xn.uT)(this._workspaceService.getWorkspace());if(t){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if((0,xn.eb)(e))return nl.EZ(e.uri.path);let t=nl.EZ(e.configPath.path);return t.endsWith(xn.A6)&&(t=t.substr(0,t.length-xn.A6.length-1)),t}_resoveWorkspacePath(e){if((0,xn.eb)(e))return il(e.uri.fsPath);const t=nl.EZ(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?il(i):"/"}}class U_{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return pt()}}var Ov=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Fv=function(f,e){return function(t,i){e(t,i,f)}};class xr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,hn.vM)(t.placeholders,hr.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const s=this._snippet.offset(i),o=this._snippet.fullLen(i),c=yt.e.fromPositions(e.getPositionAt(this._offset+s),e.getPositionAt(this._offset+s+o)),p=i.isFinalTabstop?xr._decor.inactiveFinal:xr._decor.inactive,P=t.addDecoration(c,p);this._placeholderDecorations.set(i,P)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const s=[];for(const o of this._placeholderGroups[this._placeholderGroupsIdx])if(o.transform){const c=this._placeholderDecorations.get(o),p=this._editor.getModel().getDecorationRange(c),P=this._editor.getModel().getValueInRange(p),j=o.transform.resolve(P).split(/\r\n|\r|\n/);for(let V=1;V<j.length;V++)j[V]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+j[V]);s.push(yn.h.replace(p,j.join(this._editor.getModel().getEOL())))}s.length>0&&this._editor.executeEdits("snippet.placeholderTransform",s)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(s=>{const o=new Set,c=[];for(const p of this._placeholderGroups[this._placeholderGroupsIdx]){const P=this._placeholderDecorations.get(p),j=this._editor.getModel().getDecorationRange(P);c.push(new Ii.Y(j.startLineNumber,j.startColumn,j.endLineNumber,j.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(p),s.changeDecorationOptions(P,p.isFinalTabstop?xr._decor.activeFinal:xr._decor.active),o.add(p);for(const V of this._snippet.enclosingPlaceholders(p)){const ae=this._placeholderDecorations.get(V);s.changeDecorationOptions(ae,V.isFinalTabstop?xr._decor.activeFinal:xr._decor.active),o.add(V)}}for(const[p,P]of this._placeholderDecorations)o.has(p)||s.changeDecorationOptions(P,p.isFinalTabstop?xr._decor.inactiveFinal:xr._decor.inactive);return c});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof hr){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){return this._snippet.placeholders.length===0||this._snippet.placeholders.length===1&&this._snippet.placeholders[0].isFinalTabstop}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const s of t){if(s.isFinalTabstop)break;i||(i=[],e.set(s.index,i));const o=this._placeholderDecorations.get(s),c=this._editor.getModel().getDecorationRange(o);if(!c){e.delete(s.index);break}i.push(c)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Bl,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const o=e.shift();console.assert(o._offset!==-1),console.assert(!o._placeholderDecorations);const c=o._snippet.placeholderInfo.last.index;for(const P of o._snippet.placeholderInfo.all)P.isFinalTabstop?P.index=s.index+(c+1)/this._nestingLevel:P.index=s.index+P.index/this._nestingLevel;this._snippet.replace(s,o._snippet.children);const p=this._placeholderDecorations.get(s);i.removeDecoration(p),this._placeholderDecorations.delete(s);for(const P of o._snippet.placeholders){const j=o._snippet.offset(P),V=o._snippet.fullLen(P),ae=yt.e.fromPositions(t.getPositionAt(o._offset+j),t.getPositionAt(o._offset+j+V)),ye=i.addDecoration(ae,xr._decor.inactive);this._placeholderDecorations.set(P,ye)}}this._placeholderGroups=(0,hn.vM)(this._snippet.placeholders,hr.compareByIndex)})}}xr._decor={active:on.qx.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:on.qx.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:on.qx.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:on.qx.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const j_={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Zf=class hl{constructor(e,t,i=j_,s){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=s,this._templateMerges=[],this._snippets=[]}static adjustWhitespace(e,t,i,s,o){const c=e.getLineContent(t.lineNumber),p=(0,Ni.V8)(c,0,t.column-1);let P;return i.walk(j=>{if(!(j instanceof _o)||j.parent instanceof Bl)return!0;const V=j.value.split(/\r\n|\r|\n/);if(s){const ye=i.offset(j);if(ye===0)V[0]=e.normalizeIndentation(V[0]);else{P=P??i.toString();const We=P.charCodeAt(ye-1);(We===10||We===13)&&(V[0]=e.normalizeIndentation(p+V[0]))}for(let We=1;We<V.length;We++)V[We]=e.normalizeIndentation(p+V[We])}const ae=V.join(e.getEOL());return ae!==j.value&&(j.parent.replace(j,[new _o(ae)]),P=void 0),!0}),p}static adjustSelection(e,t,i,s){if(i!==0||s!==0){const{positionLineNumber:o,positionColumn:c}=t,p=c-i,P=c+s,j=e.validateRange({startLineNumber:o,startColumn:p,endLineNumber:o,endColumn:P});t=Ii.Y.createWithDirection(j.startLineNumber,j.startColumn,j.endLineNumber,j.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,s,o,c,p,P,j){const V=[],ae=[];if(!e.hasModel())return{edits:V,snippets:ae};const ye=e.getModel(),We=e.invokeWithinContext(ji=>ji.get(xn.ec)),Ze=e.invokeWithinContext(ji=>new V_(ji.get(Hn.e),ye)),it=()=>p,vt=ye.getValueInRange(hl.adjustSelection(ye,e.getSelection(),i,0)),zt=ye.getValueInRange(hl.adjustSelection(ye,e.getSelection(),0,s)),hi=ye.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),gi=e.getSelections().map((ji,cn)=>({selection:ji,idx:cn})).sort((ji,cn)=>yt.e.compareRangesUsingStarts(ji.selection,cn.selection));for(const{selection:ji,idx:cn}of gi){let us=hl.adjustSelection(ye,ji,i,0),Pn=hl.adjustSelection(ye,ji,0,s);vt!==ye.getValueInRange(us)&&(us=ji),zt!==ye.getValueInRange(Pn)&&(Pn=ji);const vo=ji.setStartPosition(us.startLineNumber,us.startColumn).setEndPosition(Pn.endLineNumber,Pn.endColumn),Fo=new ia().parse(t,!0,o),jo=vo.getStartPosition(),xa=hl.adjustWhitespace(ye,jo,Fo,c||cn>0&&hi!==ye.getLineFirstNonWhitespaceColumn(ji.positionLineNumber),!0);Fo.resolveVariables(new B_([Ze,new H_(it,cn,gi.length,e.getOption(73)==="spread"),new W_(ye,ji,cn,P),new Qf(ye,ji,j),new oa,new z_(We),new U_])),V[cn]=yn.h.replace(vo,Fo.toString()),V[cn].identifier={major:cn,minor:0},V[cn]._isTracked=!0,ae[cn]=new xr(e,Fo,xa)}return{edits:V,snippets:ae}}static createEditsAndSnippetsFromEdits(e,t,i,s,o,c,p){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const P=[],j=e.getModel(),V=new ia,ae=new Vl,ye=new B_([e.invokeWithinContext(Ze=>new V_(Ze.get(Hn.e),j)),new H_(()=>o,0,e.getSelections().length,e.getOption(73)==="spread"),new W_(j,e.getSelection(),0,c),new Qf(j,e.getSelection(),p),new oa,new z_(e.invokeWithinContext(Ze=>Ze.get(xn.ec))),new U_]);t=t.sort((Ze,it)=>yt.e.compareRangesUsingStarts(Ze.range,it.range));let We=0;for(let Ze=0;Ze<t.length;Ze++){const{range:it,template:vt}=t[Ze];if(Ze>0){const ji=t[Ze-1].range,cn=yt.e.fromPositions(ji.getEndPosition(),it.getStartPosition()),us=new _o(j.getValueInRange(cn));ae.appendChild(us),We+=us.value.length}V.parseFragment(vt,ae),ae.resolveVariables(ye);const zt=ae.toString(),hi=zt.slice(We);We=zt.length;const gi=yn.h.replace(it,hi);gi.identifier={major:Ze,minor:0},gi._isTracked=!0,P.push(gi)}return V.ensureFinalTabstop(ae,i,!0),{edits:P,snippets:[new xr(e,ae,"")]}}dispose(){(0,lt.B9)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?hl.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):hl.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const s=i.filter(o=>!!o.identifier);for(let o=0;o<t.length;o++)t[o].initialize(s[o].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):s.map(o=>Ii.Y.fromPositions(o.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=j_){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:s}=hl.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,o=>{const c=o.filter(P=>!!P.identifier);for(let P=0;P<s.length;P++)s[P].initialize(c[P].textChange);const p=s[0].isTrivialSnippet;if(!p){for(const P of this._snippets)P.merge(s);console.assert(s.length===0)}return this._snippets[0].hasPlaceholder&&!p?this._move(void 0):c.map(P=>Ii.Y.fromPositions(P.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const s=i.move(e);t.push(...s)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;const t=new Map;for(const i of this._snippets){const s=i.computePossibleSelections();if(t.size===0)for(const[o,c]of s){c.sort(yt.e.compareRangesUsingStarts);for(const p of e)if(c[0].containsRange(p)){t.set(o,[]);break}}if(t.size===0)return!1;t.forEach((o,c)=>{o.push(...s.get(c))})}e.sort(yt.e.compareRangesUsingStarts);for(const[i,s]of t){if(s.length!==e.length){t.delete(i);continue}s.sort(yt.e.compareRangesUsingStarts);for(let o=0;o<s.length;o++)if(!s[o].containsRange(e[o])){t.delete(i);continue}}return t.size>0}};Zf=Ov([Fv(3,lo.c_)],Zf);var Bv=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Yf=function(f,e){return function(t,i){e(t,i,f)}};const Xf={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let no=class of{constructor(e,t,i,s,o){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=o,this._snippetListener=new lt.SL,this._modelVersionId=-1,this._inSnippet=of.InSnippetMode.bindTo(s),this._hasNextTabstop=of.HasNextTabstop.bindTo(s),this._hasPrevTabstop=of.HasPrevTabstop.bindTo(s)}static get(e){return e.getContribution(of.ID)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)===null||e===void 0||e.dispose(),this._snippetListener.dispose()}apply(e,t){try{this._doInsert(e,typeof t>"u"?Xf:Object.assign(Object.assign({},Xf),t))}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_edits=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}insert(e,t){try{this._doInsert(e,typeof t>"u"?Xf:Object.assign(Object.assign({},Xf),t))}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?((0,_i.p_)(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Zf(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),!((i=this._session)===null||i===void 0)&&i.hasChoice){this._choiceCompletionItemProvider={provideCompletionItems:(o,c)=>{if(!this._session||o!==this._editor.getModel()||!wi.L.equals(this._editor.getPosition(),c))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const P=o.getValueInRange(p.range),j=!!p.choice.options.find(ae=>ae.value===P),V=[];for(let ae=0;ae<p.choice.options.length;ae++){const ye=p.choice.options[ae];V.push({kind:13,label:ye.value,insertText:ye.value,sortText:"a".repeat(ae+1),range:p.range,filterText:j?`${P}_${ye.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:(0,Se.NC)("next","Go to next placeholder...")}})}return{suggestions:V}}};const s=this._languageFeaturesService.completionProvider.register({language:this._editor.getModel().getLanguageId(),pattern:this._editor.getModel().uri.fsPath,scheme:this._editor.getModel().uri.scheme},this._choiceCompletionItemProvider);this._snippetListener.add(s)}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(s=>s.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletionItemProvider){this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,queueMicrotask(()=>{Lm(this._editor,this._choiceCompletionItemProvider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)===null||t===void 0||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session&&this._session.prev(),this._updateState()}next(){this._session&&this._session.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};no.ID="snippetController2",no.InSnippetMode=new ht.uy("inSnippetMode",!1,(0,Se.NC)("inSnippetMode","Whether the editor in current in snippet mode")),no.HasNextTabstop=new ht.uy("hasNextTabstop",!1,(0,Se.NC)("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),no.HasPrevTabstop=new ht.uy("hasPrevTabstop",!1,(0,Se.NC)("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),no=Bv([Yf(1,Ns.VZ),Yf(2,Yi.p),Yf(3,ht.i6),Yf(4,lo.c_)],no),(0,Ae._K)(no.ID,no);const Jf=Ae._l.bindToContribution(no.get);(0,Ae.fK)(new Jf({id:"jumpToNextSnippetPlaceholder",precondition:ht.Ao.and(no.InSnippetMode,no.HasNextTabstop),handler:f=>f.next(),kbOpts:{weight:100+30,kbExpr:Ue.u.editorTextFocus,primary:2}})),(0,Ae.fK)(new Jf({id:"jumpToPrevSnippetPlaceholder",precondition:ht.Ao.and(no.InSnippetMode,no.HasPrevTabstop),handler:f=>f.prev(),kbOpts:{weight:100+30,kbExpr:Ue.u.editorTextFocus,primary:1026}})),(0,Ae.fK)(new Jf({id:"leaveSnippet",precondition:no.InSnippetMode,handler:f=>f.cancel(!0),kbOpts:{weight:100+30,kbExpr:Ue.u.editorTextFocus,primary:9,secondary:[1033]}})),(0,Ae.fK)(new Jf({id:"acceptSnippet",precondition:no.InSnippetMode,handler:f=>f.finish()}));function K_(f,e,t){const i=no.get(f);return i?(f.focus(),i.apply(t.map(s=>({range:Ii.Y.liftSelection(s),template:e}))),i.isInSnippet()):!1}var Wv=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},qf=function(f,e){return function(t,i){e(t,i,f)}},$_=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const Zm="application/vnd.code.copyMetadata";let cu=class extends lt.JT{constructor(e,t,i,s,o){super(),this._bulkEditService=t,this._clipboardService=i,this._configurationService=s,this._languageFeaturesService=o,this._editor=e;const c=e.getContainerDomNode();this._register((0,M.nm)(c,"copy",p=>this.handleCopy(p))),this._register((0,M.nm)(c,"cut",p=>this.handleCopy(p))),this._register((0,M.nm)(c,"paste",p=>this.handlePaste(p),!0))}arePasteActionsEnabled(e){return this._configurationService.getValue("editor.experimental.pasteActions.enabled",{resource:e.uri})}handleCopy(e){var t;if(!e.clipboardData||!this._editor.hasTextFocus())return;const i=this._editor.getModel(),s=this._editor.getSelections();if(!i||!s?.length||!this.arePasteActionsEnabled(i))return;const o=[...s],c=s[0],p=c.isEmpty();if(p){if(!this._editor.getOption(33))return;o[0]=new yt.e(c.startLineNumber,0,c.startLineNumber,i.getLineLength(c.startLineNumber))}const P=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter(ye=>!!ye.prepareDocumentPaste);if(!P.length){this.setCopyMetadata(e.clipboardData,{wasFromEmptySelection:p});return}const j=es(e.clipboardData),V=pt();this.setCopyMetadata(e.clipboardData,{id:V,wasFromEmptySelection:p});const ae=(0,Ot.PG)(ye=>$_(this,void 0,void 0,function*(){const We=yield Promise.all(P.map(Ze=>Ze.prepareDocumentPaste(i,o,j,ye)));for(const Ze of We)Ze?.forEach((it,vt)=>{j.replace(vt,it)});return j}));(t=this._currentClipboardItem)===null||t===void 0||t.dataTransferPromise.cancel(),this._currentClipboardItem={handle:V,dataTransferPromise:ae}}setCopyMetadata(e,t){e.setData(Zm,JSON.stringify(t))}handlePaste(e){var t,i,s;return $_(this,void 0,void 0,function*(){if(!e.clipboardData||!this._editor.hasTextFocus())return;const o=this._editor.getSelections();if(!o?.length||!this._editor.hasModel())return;const c=this._editor.getModel();if(!this.arePasteActionsEnabled(c))return;let p;const P=(t=e.clipboardData)===null||t===void 0?void 0:t.getData(Zm);P&&typeof P=="string"&&(p=JSON.parse(P));const j=this._languageFeaturesService.documentPasteEditProvider.ordered(c);if(!j.length)return;e.preventDefault(),e.stopImmediatePropagation();const V=c.getVersionId(),ae=new Qn.Dl(this._editor,3);try{const ye=es(e.clipboardData);if(p?.id&&((i=this._currentClipboardItem)===null||i===void 0?void 0:i.handle)===p.id&&(yield this._currentClipboardItem.dataTransferPromise).forEach((vt,zt)=>{ye.replace(zt,vt)}),!ye.has(Qe.v.uriList)){const it=yield this._clipboardService.readResources();it.length&&ye.append(Qe.v.uriList,pe(sa.create(it)))}ye.delete(Zm);for(const it of j){if(!it.pasteMimeTypes.some(zt=>zt.toLowerCase()===G.g.FILES.toLowerCase()?[...ye.values()].some(hi=>hi.asFile()):ye.has(zt)))continue;const vt=yield it.provideDocumentPasteEdits(c,o,ye,ae.token);if(V!==c.getVersionId())return;if(vt){K_(this._editor,typeof vt.insertText=="string"?ia.escape(vt.insertText):vt.insertText.snippet,o),vt.additionalEdit&&(yield this._bulkEditService.apply(rs.fo.convert(vt.additionalEdit),{editor:this._editor}));return}}const We=(s=ye.get(Qe.v.text))!==null&&s!==void 0?s:ye.get("text");if(!We)return;const Ze=yield We.asString();if(V!==c.getVersionId())return;this._editor.trigger("keyboard","paste",{text:Ze,pasteOnNewLine:p?.wasFromEmptySelection,multicursorText:null})}finally{ae.dispose()}})}};cu.ID="editor.contrib.copyPasteActionController",cu=Wv([qf(1,rs.vu),qf(2,Oi.p),qf(3,ce.Ui),qf(4,Yi.p)],cu),(0,Ae._K)(cu.ID,cu),yo.B.as(Rr.IP.Configuration).registerConfiguration(Object.assign(Object.assign({},fa.wk),{properties:{"editor.experimental.pasteActions.enabled":{type:"boolean",scope:5,description:Se.NC("pasteActions","Enable/disable running edits from extensions on paste."),default:!1}}}));class Ql{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const s=t.length,o=e.length;if(i+s>o)return!1;for(let c=0;c<s;c++){const p=e.charCodeAt(i+c),P=t.charCodeAt(c);if(p!==P&&!(p>=65&&p<=90&&p+32===P)&&!(P>=65&&P<=90&&P+32===p))return!1}return!0}_createOperationsForBlockComment(e,t,i,s,o,c){const p=e.startLineNumber,P=e.startColumn,j=e.endLineNumber,V=e.endColumn,ae=o.getLineContent(p),ye=o.getLineContent(j);let We=ae.lastIndexOf(t,P-1+t.length),Ze=ye.indexOf(i,V-1-i.length);if(We!==-1&&Ze!==-1)if(p===j)ae.substring(We+t.length,Ze).indexOf(i)>=0&&(We=-1,Ze=-1);else{const vt=ae.substring(We+t.length),zt=ye.substring(0,Ze);(vt.indexOf(i)>=0||zt.indexOf(i)>=0)&&(We=-1,Ze=-1)}let it;We!==-1&&Ze!==-1?(s&&We+t.length<ae.length&&ae.charCodeAt(We+t.length)===32&&(t=t+" "),s&&Ze>0&&ye.charCodeAt(Ze-1)===32&&(i=" "+i,Ze-=1),it=Ql._createRemoveBlockCommentOperations(new yt.e(p,We+t.length+1,j,Ze+1),t,i)):(it=Ql._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=it.length===1?i:null);for(const vt of it)c.addTrackedEditOperation(vt.range,vt.text)}static _createRemoveBlockCommentOperations(e,t,i){const s=[];return yt.e.isEmpty(e)?s.push(yn.h.delete(new yt.e(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(s.push(yn.h.delete(new yt.e(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),s.push(yn.h.delete(new yt.e(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),s}static _createAddBlockCommentOperations(e,t,i,s){const o=[];return yt.e.isEmpty(e)?o.push(yn.h.replace(new yt.e(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(o.push(yn.h.insert(new wi.L(e.startLineNumber,e.startColumn),t+(s?" ":""))),o.push(yn.h.insert(new wi.L(e.endLineNumber,e.endColumn),(s?" ":"")+i))),o}getEditOperations(e,t){const i=this._selection.startLineNumber,s=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const o=e.getLanguageIdAtPosition(i,s),c=this.languageConfigurationService.getLanguageConfiguration(o).comments;!c||!c.blockCommentStartToken||!c.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,c.blockCommentStartToken,c.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const s=i[0],o=i[1];return new Ii.Y(s.range.endLineNumber,s.range.endColumn,o.range.startLineNumber,o.range.startColumn)}else{const s=i[0].range,o=this._usedEndToken?-this._usedEndToken.length-1:0;return new Ii.Y(s.endLineNumber,s.endColumn+o,s.endLineNumber,s.endColumn+o)}}}class sl{constructor(e,t,i,s,o,c,p){this.languageConfigurationService=e,this._selection=t,this._tabSize=i,this._type=s,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=c,this._ignoreFirstLine=p||!1}static _gatherPreflightCommentStrings(e,t,i,s){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),c=s.getLanguageConfiguration(o).comments,p=c?c.lineCommentToken:null;if(!p)return null;const P=[];for(let j=0,V=i-t+1;j<V;j++)P[j]={ignore:!1,commentStr:p,commentStrOffset:0,commentStrLength:p.length};return P}static _analyzeLines(e,t,i,s,o,c,p,P){let j=!0,V;e===0?V=!0:e===1?V=!1:V=!0;for(let ae=0,ye=s.length;ae<ye;ae++){const We=s[ae],Ze=o+ae;if(Ze===o&&p){We.ignore=!0;continue}const it=i.getLineContent(Ze),vt=Ni.LC(it);if(vt===-1){We.ignore=c,We.commentStrOffset=it.length;continue}if(j=!1,We.ignore=!1,We.commentStrOffset=vt,V&&!Ql._haystackHasNeedleAtOffset(it,We.commentStr,vt)&&(e===0?V=!1:e===1||(We.ignore=!0)),V&&t){const zt=vt+We.commentStrLength;zt<it.length&&it.charCodeAt(zt)===32&&(We.commentStrLength+=1)}}if(e===0&&j){V=!1;for(let ae=0,ye=s.length;ae<ye;ae++)s[ae].ignore=!1}return{supported:!0,shouldRemoveComments:V,lines:s}}static _gatherPreflightData(e,t,i,s,o,c,p,P){const j=sl._gatherPreflightCommentStrings(i,s,o,P);return j===null?{supported:!1}:sl._analyzeLines(e,t,i,j,s,c,p,P)}_executeLineComments(e,t,i,s){let o;i.shouldRemoveComments?o=sl._createRemoveLineCommentsOperations(i.lines,s.startLineNumber):(sl._normalizeInsertionPoint(e,i.lines,s.startLineNumber,this._tabSize),o=this._createAddLineCommentsOperations(i.lines,s.startLineNumber));const c=new wi.L(s.positionLineNumber,s.positionColumn);for(let p=0,P=o.length;p<P;p++)t.addEditOperation(o[p].range,o[p].text),yt.e.isEmpty(o[p].range)&&yt.e.getStartPosition(o[p].range).equals(c)&&e.getLineContent(c.lineNumber).length+1===c.column&&(this._deltaColumn=(o[p].text||"").length);this._selectionId=t.trackSelection(s)}_attemptRemoveBlockComment(e,t,i,s){let o=t.startLineNumber,c=t.endLineNumber;const p=s.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let P=e.getLineContent(o).lastIndexOf(i,p-1),j=e.getLineContent(c).indexOf(s,t.endColumn-1-i.length);return P!==-1&&j===-1&&(j=e.getLineContent(o).indexOf(s,P+i.length),c=o),P===-1&&j!==-1&&(P=e.getLineContent(c).lastIndexOf(i,j),o=c),t.isEmpty()&&(P===-1||j===-1)&&(P=e.getLineContent(o).indexOf(i),P!==-1&&(j=e.getLineContent(o).indexOf(s,P+i.length))),P!==-1&&e.getLineContent(o).charCodeAt(P+i.length)===32&&(i+=" "),j!==-1&&e.getLineContent(c).charCodeAt(j-1)===32&&(s=" "+s,j-=1),P!==-1&&j!==-1?Ql._createRemoveBlockCommentOperations(new yt.e(o,P+i.length+1,c,j+1),i,s):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const s=e.getLanguageIdAtPosition(i.startLineNumber,1),o=this.languageConfigurationService.getLanguageConfiguration(s).comments;if(!o||!o.blockCommentStartToken||!o.blockCommentEndToken)return;const c=o.blockCommentStartToken,p=o.blockCommentEndToken;let P=this._attemptRemoveBlockComment(e,i,c,p);if(!P){if(i.isEmpty()){const j=e.getLineContent(i.startLineNumber);let V=Ni.LC(j);V===-1&&(V=j.length),P=Ql._createAddBlockCommentOperations(new yt.e(i.startLineNumber,V+1,i.startLineNumber,j.length+1),c,p,this._insertSpace)}else P=Ql._createAddBlockCommentOperations(new yt.e(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),c,p,this._insertSpace);P.length===1&&(this._deltaColumn=c.length+1)}this._selectionId=t.trackSelection(i);for(const j of P)t.addEditOperation(j.range,j.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new yt.e(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":` `),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const s=sl._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return s.supported?this._executeLineComments(e,t,s,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new Ii.Y(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let s=0,o=e.length;s<o;s++){const c=e[s];c.ignore||i.push(yn.h.delete(new yt.e(t+s,c.commentStrOffset+1,t+s,c.commentStrOffset+c.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],s=this._insertSpace?" ":"";for(let o=0,c=e.length;o<c;o++){const p=e[o];p.ignore||i.push(yn.h.insert(new wi.L(t+o,p.commentStrOffset+1),p.commentStr+s))}return i}static nextVisibleColumn(e,t,i,s){return i?e+(t-e%t):e+s}static _normalizeInsertionPoint(e,t,i,s){let o=1073741824,c,p;for(let P=0,j=t.length;P<j;P++){if(t[P].ignore)continue;const V=e.getLineContent(i+P);let ae=0;for(let ye=0,We=t[P].commentStrOffset;ae<o&&ye<We;ye++)ae=sl.nextVisibleColumn(ae,s,V.charCodeAt(ye)===9,1);ae<o&&(o=ae)}o=Math.floor(o/s)*s;for(let P=0,j=t.length;P<j;P++){if(t[P].ignore)continue;const V=e.getLineContent(i+P);let ae=0;for(c=0,p=t[P].commentStrOffset;ae<o&&c<p;c++)ae=sl.nextVisibleColumn(ae,s,V.charCodeAt(c)===9,1);ae>o?t[P].commentStrOffset=c-1:t[P].commentStrOffset=c}}}class Ym extends Ae.R6{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(lo.c_);if(!t.hasModel())return;const s=t.getModel(),o=[],c=s.getOptions(),p=t.getOption(19),P=t.getSelections().map((V,ae)=>({selection:V,index:ae,ignoreFirstLine:!1}));P.sort((V,ae)=>yt.e.compareRangesUsingStarts(V.selection,ae.selection));let j=P[0];for(let V=1;V<P.length;V++){const ae=P[V];j.selection.endLineNumber===ae.selection.startLineNumber&&(j.index<ae.index?ae.ignoreFirstLine=!0:(j.ignoreFirstLine=!0,j=ae))}for(const V of P)o.push(new sl(i,V.selection,c.tabSize,this._type,p.insertSpace,p.ignoreEmptyLines,V.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class Vv extends Ym{constructor(){super(0,{id:"editor.action.commentLine",label:Se.NC("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2133,weight:100},menuOpts:{menuId:Ne.eH.MenubarEditMenu,group:"5_insert",title:Se.NC({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class Hv extends Ym{constructor(){super(1,{id:"editor.action.addCommentLine",label:Se.NC("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2081),weight:100}})}}class zv extends Ym{constructor(){super(2,{id:"editor.action.removeCommentLine",label:Se.NC("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2099),weight:100}})}}class Uv extends Ae.R6{constructor(){super({id:"editor.action.blockComment",label:Se.NC("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:Ne.eH.MenubarEditMenu,group:"5_insert",title:Se.NC({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(lo.c_);if(!t.hasModel())return;const s=t.getOption(19),o=[],c=t.getSelections();for(const p of c)o.push(new Ql(p,s.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}(0,Ae.Qr)(Vv),(0,Ae.Qr)(Hv),(0,Ae.Qr)(zv),(0,Ae.Qr)(Uv);var jv=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},$c=function(f,e){return function(t,i){e(t,i,f)}};let Gc=class vv{constructor(e,t,i,s,o,c,p){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=s,this._keybindingService=o,this._menuService=c,this._configurationService=p,this._toDispose=new lt.SL,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(P=>this._onContextMenu(P))),this._toDispose.add(this._editor.onMouseWheel(P=>{if(this._contextMenuIsBeingShownCount>0){const j=this._contextViewService.getContextViewElement(),V=P.srcElement;V.shadowRoot&&M.Ay(j)===V.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(P=>{this._editor.getOption(20)&&P.keyCode===58&&(P.preventDefault(),P.stopPropagation(),this.showContextMenu())}))}static get(e){return e.getContribution(vv.ID)}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(20)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu({x:e.event.posx-1,width:2,y:e.event.posy-1,height:2});if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const s of this._editor.getSelections())if(s.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(20)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Ne.eH.SimpleEditorContext:Ne.eH.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],s=this._menuService.createMenu(t,this._contextKeyService),o=s.getActions({arg:e.uri});s.dispose();for(const c of o){const[,p]=c;let P=0;for(const j of p)if(j instanceof Ne.NZ){const V=this._getMenuActions(e,j.item.submenu);V.length>0&&(i.push(new _.wY(j.id,j.label,V)),P++)}else i.push(j),P++;P&&i.push(new _.Z0)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(55);if(this._editor.updateOptions({hover:{enabled:!1}}),!t){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const o=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),c=M.i(this._editor.getDomNode()),p=c.left+o.left,P=c.top+o.top+o.height;t={x:p,y:P}}const s=this._editor.getOption(117)&&!Fi.gn;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>e,getActionViewItem:o=>{const c=this._keybindingFor(o);if(c)return new jn.g(o,o,{label:!0,keybinding:c.getLabel(),isMenu:!0});const p=o;return typeof p.getActionViewItem=="function"?p.getActionViewItem():new jn.g(o,o,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:o=>this._keybindingFor(o),onHide:o=>{this._contextMenuIsBeingShownCount--,this._editor.focus(),this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;const t=this._editor.getOption(67);let i=0;const s=j=>({id:`menu-action-${++i}`,label:j.label,tooltip:"",class:void 0,enabled:typeof j.enabled>"u"?!0:j.enabled,checked:j.checked,run:j.run,dispose:()=>null}),o=(j,V)=>new _.wY(`menu-action-${++i}`,j,V,void 0),c=(j,V,ae,ye,We)=>{if(!V)return s({label:j,enabled:V,run:()=>{}});const Ze=vt=>()=>{this._configurationService.updateValue(ae,vt)},it=[];for(const vt of We)it.push(s({label:vt.label,checked:ye===vt.value,run:Ze(vt.value)}));return o(j,it)},p=[];p.push(s({label:Se.NC("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),p.push(new _.Z0),p.push(s({label:Se.NC("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),p.push(c(Se.NC("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:Se.NC("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:Se.NC("context.minimap.size.fill","Fill"),value:"fill"},{label:Se.NC("context.minimap.size.fit","Fit"),value:"fit"}])),p.push(c(Se.NC("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:Se.NC("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:Se.NC("context.minimap.slider.always","Always"),value:"always"}]));const P=this._editor.getOption(117)&&!Fi.gn;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:P?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>p,onHide:j=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Gc.ID="editor.contrib.contextmenu",Gc=jv([$c(1,we.i),$c(2,we.u),$c(3,ht.i6),$c(4,Le.d),$c(5,Ne.co),$c(6,ce.Ui)],Gc);class Kv extends Ae.R6{constructor(){super({id:"editor.action.showContextMenu",label:Se.NC("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Gc.get(t))===null||i===void 0||i.showContextMenu()}}(0,Ae._K)(Gc.ID,Gc),(0,Ae.Qr)(Kv);class Xm{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let s=0;s<t;s++)if(!this.selections[s].equalsSelection(e.selections[s]))return!1;return!0}}class Jm{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}class Bd extends lt.JT{constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new Xm(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Jm(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}static get(e){return e.getContribution(Bd.ID)}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new Jm(new Xm(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new Jm(new Xm(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}Bd.ID="editor.contrib.cursorUndoRedoController";class $v extends Ae.R6{constructor(){super({id:"cursorUndo",label:Se.NC("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var s;(s=Bd.get(t))===null||s===void 0||s.cursorUndo()}}class Gv extends Ae.R6{constructor(){super({id:"cursorRedo",label:Se.NC("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var s;(s=Bd.get(t))===null||s===void 0||s.cursorRedo()}}(0,Ae._K)(Bd.ID,Bd),(0,Ae.Qr)($v),(0,Ae.Qr)(Gv);var mE=m(623);class Qv{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new yt.e(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Ii.Y(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Ii.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new Ii.Y(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new Ii.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new Ii.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}}function Qc(f){return Fi.dz?f.altKey:f.ctrlKey}class ol extends lt.JT{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(31)||this._editor.getOption(18)||(Qc(e)&&(this._modifierPressed=!0),this._mouseDown&&Qc(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(31)||this._editor.getOption(18)||(Qc(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===ol.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const s=(this._editor.getSelections()||[]).filter(o=>t.position&&o.containsPosition(t.position));if(s.length===1)this._dragSelection=s[0];else return}Qc(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new wi.L(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const s=this._editor.getSelection();if(s){const{selectionStartLineNumber:o,selectionStartColumn:c}=s;i=[new Ii.Y(o,c,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(s=>s.containsPosition(t)?new Ii.Y(t.lineNumber,t.column,t.lineNumber,t.column):s);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(Qc(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(ol.ID,new Qv(this._dragSelection,t,Qc(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new yt.e(e.lineNumber,e.column,e.lineNumber,e.column),options:ol._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}ol.ID="editor.contrib.dragAndDrop",ol.TRIGGER_KEY_VALUE=Fi.dz?6:5,ol._DECORATION_OPTIONS=on.qx.register({description:"dnd-target",className:"dnd-target"}),(0,Ae._K)(ol.ID,ol);var G_=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},hu=function(f,e){return function(t,i){e(t,i,f)}},eg=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let uu=class extends lt.JT{constructor(e,t,i,s,o){super(),this._bulkEditService=t,this._languageFeaturesService=i,this._progressService=s,this._register(e.onDropIntoEditor(c=>this.onDropIntoEditor(e,c.position,c.event))),this._languageFeaturesService.documentOnDropEditProvider.register("*",new qm(o))}onDropIntoEditor(e,t,i){return eg(this,void 0,void 0,function*(){if(!i.dataTransfer||!e.hasModel())return;const s=e.getModel(),o=s.getVersionId(),c=yield this.extractDataTransferData(i);if(c.size===0||e.getModel().getVersionId()!==o)return;const p=new Qn.Dl(e,1);try{const P=this._languageFeaturesService.documentOnDropEditProvider.ordered(s),j=yield this._progressService.withProgress({location:15,delay:750,title:(0,Se.NC)("dropProgressTitle","Running drop handlers..."),cancellable:!0},()=>(0,Ot.eP)((()=>eg(this,void 0,void 0,function*(){for(const V of P){const ae=yield V.provideDocumentOnDropEdits(s,t,c,p.token);if(p.token.isCancellationRequested)return;if(ae)return ae}}))(),p.token),()=>{p.cancel()});if(p.token.isCancellationRequested||e.getModel().getVersionId()!==o)return;if(j){const V=new yt.e(t.lineNumber,t.column,t.lineNumber,t.column);K_(e,typeof j.insertText=="string"?ia.escape(j.insertText):j.insertText.snippet,[Ii.Y.fromRange(V,0)]),j.additionalEdit&&(yield this._bulkEditService.apply(rs.fo.convert(j.additionalEdit),{editor:e}));return}}finally{p.dispose()}})}extractDataTransferData(e){return eg(this,void 0,void 0,function*(){if(!e.dataTransfer)return new He;const t=es(e.dataTransfer);return Uo(t,e),t})}};uu.ID="editor.contrib.dropIntoEditorController",uu=G_([hu(1,rs.vu),hu(2,Yi.p),hu(3,Is.R9),hu(4,xn.ec)],uu);let qm=class{constructor(e){this._workspaceContextService=e}provideDocumentOnDropEdits(e,t,i,s){var o;return eg(this,void 0,void 0,function*(){const c=i.get(Qe.v.uriList);if(c){const P=yield c.asString(),j=this.getUriListInsertText(P);if(j)return{insertText:j}}const p=(o=i.get("text"))!==null&&o!==void 0?o:i.get(Qe.v.text);if(p)return{insertText:yield p.asString()}})}getUriListInsertText(e){const t=[];for(const i of sa.parse(e))try{t.push(vn.o.parse(i))}catch{}if(t.length)return t.map(i=>{const s=this._workspaceContextService.getWorkspaceFolder(i);if(s){const o=(0,un.lX)(s.uri,i);if(o)return o}return i.fsPath}).join(" ")}};qm=G_([hu(0,xn.ec)],qm),(0,Ae._K)(uu.ID,uu);var Zv=m(73774);class Po{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const s=i.options;if(s===Po._FIND_MATCH_DECORATION||s===Po._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let s=0,o=this._decorations.length;s<o;s++){const c=this._editor.getModel().getDecorationRange(this._decorations[s]);if(e.equalsRange(c)){t=this._decorations[s],i=s+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(s=>{if(this._highlightedDecorationId!==null&&(s.changeDecorationOptions(this._highlightedDecorationId,Po._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,s.changeDecorationOptions(this._highlightedDecorationId,Po._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(s.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let o=this._editor.getModel().getDecorationRange(t);if(o.startLineNumber!==o.endLineNumber&&o.endColumn===1){const c=o.endLineNumber-1,p=this._editor.getModel().getLineMaxColumn(c);o=new yt.e(o.startLineNumber,o.startColumn,c,p)}this._rangeHighlightDecorationId=s.addDecoration(o,Po._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let s=Po._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){s=Po._FIND_MATCH_NO_OVERVIEW_DECORATION;const p=this._editor.getModel().getLineCount(),j=this._editor.getLayoutInfo().height/p,V=Math.max(2,Math.ceil(3/j));let ae=e[0].range.startLineNumber,ye=e[0].range.endLineNumber;for(let We=1,Ze=e.length;We<Ze;We++){const it=e[We].range;ye+V>=it.startLineNumber?it.endLineNumber>ye&&(ye=it.endLineNumber):(o.push({range:new yt.e(ae,1,ye,1),options:Po._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),ae=it.startLineNumber,ye=it.endLineNumber)}o.push({range:new yt.e(ae,1,ye,1),options:Po._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const c=new Array(e.length);for(let p=0,P=e.length;p<P;p++)c[p]={range:e[p].range,options:s};this._decorations=i.deltaDecorations(this._decorations,c),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,o),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(p=>i.removeDecoration(p)),this._findScopeDecorationIds=[]),t?.length&&(this._findScopeDecorationIds=t.map(p=>i.addDecoration(p,Po._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],s=this._editor.getModel().getDecorationRange(i);if(!(!s||s.endLineNumber>e.lineNumber)){if(s.endLineNumber<e.lineNumber)return s;if(!(s.endColumn>e.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){const s=this._decorations[t],o=this._editor.getModel().getDecorationRange(s);if(!(!o||o.startLineNumber<e.lineNumber)){if(o.startLineNumber>e.lineNumber)return o;if(!(o.startColumn<e.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}}Po._CURRENT_FIND_MATCH_DECORATION=on.qx.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",showIfCollapsed:!0,overviewRuler:{color:(0,Xe.EN)(be.Fm_),position:wn.sh.Center},minimap:{color:(0,Xe.EN)(be.SUY),position:wn.F5.Inline}}),Po._FIND_MATCH_DECORATION=on.qx.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",showIfCollapsed:!0,overviewRuler:{color:(0,Xe.EN)(be.Fm_),position:wn.sh.Center},minimap:{color:(0,Xe.EN)(be.SUY),position:wn.F5.Inline}}),Po._FIND_MATCH_NO_OVERVIEW_DECORATION=on.qx.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Po._FIND_MATCH_ONLY_OVERVIEW_DECORATION=on.qx.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:(0,Xe.EN)(be.Fm_),position:wn.sh.Center}}),Po._RANGE_HIGHLIGHT_DECORATION=on.qx.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Po._FIND_SCOPE_DECORATION=on.qx.register({description:"find-scope",className:"findScope",isWholeLine:!0});class Yv{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const i=[];for(let c=0;c<this._ranges.length;c++)i.push({range:this._ranges[c],text:this._replaceStrings[c]});i.sort((c,p)=>yt.e.compareRangesUsingStarts(c.range,p.range));const s=[];let o=i[0];for(let c=1;c<i.length;c++)o.range.endLineNumber===i[c].range.startLineNumber&&o.range.endColumn===i[c].range.startColumn?(o.range=o.range.plusRange(i[c].range),o.text=o.text+i[c].text):(s.push(o),o=i[c]);s.push(o);for(const c of s)t.addEditOperation(c.range,c.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}function Q_(f,e){if(f&&f[0]!==""){const t=Z_(f,e,"-"),i=Z_(f,e,"_");return t&&!i?Y_(f,e,"-"):!t&&i?Y_(f,e,"_"):f[0].toUpperCase()===f[0]?e.toUpperCase():f[0].toLowerCase()===f[0]?e.toLowerCase():Ni.Kw(f[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):f[0][0].toUpperCase()!==f[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function Z_(f,e,t){return f[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&f[0].split(t).length===e.split(t).length}function Y_(f,e,t){const i=e.split(t),s=f[0].split(t);let o="";return i.forEach((c,p)=>{o+=Q_([s[p]],c)+t}),o.slice(0,-1)}class X_{constructor(e){this.staticValue=e,this.kind=0}}class Xv{constructor(e){this.pieces=e,this.kind=1}}class Zc{constructor(e){!e||e.length===0?this._state=new X_(""):e.length===1&&e[0].staticValue!==null?this._state=new X_(e[0].staticValue):this._state=new Xv(e)}static fromStaticValue(e){return new Zc([Wd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}buildReplaceString(e,t){if(this._state.kind===0)return t?Q_(e,this._state.staticValue):this._state.staticValue;let i="";for(let s=0,o=this._state.pieces.length;s<o;s++){const c=this._state.pieces[s];if(c.staticValue!==null){i+=c.staticValue;continue}let p=Zc._substitute(c.matchIndex,e);if(c.caseOps!==null&&c.caseOps.length>0){const P=[],j=c.caseOps.length;let V=0;for(let ae=0,ye=p.length;ae<ye;ae++){if(V>=j){P.push(p.slice(ae));break}switch(c.caseOps[V]){case"U":P.push(p[ae].toUpperCase());break;case"u":P.push(p[ae].toUpperCase()),V++;break;case"L":P.push(p[ae].toLowerCase());break;case"l":P.push(p[ae].toLowerCase()),V++;break;default:P.push(p[ae])}}p=P.join("")}i+=p}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class Wd{constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}static staticValue(e){return new Wd(e,-1,null)}static caseOps(e,t){return new Wd(null,e,t)}}class Jv{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Wd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Wd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Wd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Zc(this._result)}}function qv(f){if(!f||f.length===0)return new Zc(null);const e=[],t=new Jv(f);for(let i=0,s=f.length;i<s;i++){const o=f.charCodeAt(i);if(o===92){if(i++,i>=s)break;const c=f.charCodeAt(i);switch(c){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(` `,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(c));break}continue}if(o===36){if(i++,i>=s)break;const c=f.charCodeAt(i);if(c===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(c===48||c===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=c&&c<=57){let p=c-48;if(i+1<s){const P=f.charCodeAt(i+1);if(48<=P&&P<=57){i++,p=p*10+(P-48),t.emitUnchanged(i-2),t.emitMatchIndex(p,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(p,i+1,e),e.length=0;continue}}}return t.finalize()}const Zl=new ht.uy("findWidgetVisible",!1),pE=Zl.toNegated(),tg=new ht.uy("findInputFocussed",!1),ep=new ht.uy("replaceInputFocussed",!1),ig={primary:545,mac:{primary:2593}},ng={primary:565,mac:{primary:2613}},sg={primary:560,mac:{primary:2608}},og={primary:554,mac:{primary:2602}},rg={primary:558,mac:{primary:2606}},_s={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},Yl=19999,e1=240;class fu{constructor(e,t){this._toDispose=new lt.SL,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Ot._F,this._decorations=new Po(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ot.pY(()=>this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,lt.B9)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},e1)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(p=>{if(p.startLineNumber!==p.endLineNumber){let P=p.endLineNumber;return p.endColumn===1&&(P=P-1),new yt.e(p.startLineNumber,1,P,this._editor.getModel().getLineMaxColumn(P))}return p}));const s=this._findMatches(i,!1,Yl);this._decorations.set(s,i);const o=this._editor.getSelection();let c=this._decorations.getCurrentMatchesPosition(o);if(c===0&&s.length>0){const p=(0,hn.lG)(s.map(P=>P.range),P=>yt.e.compareRangesUsingStarts(P,o)>=0);c=p>0?p-1+1:c}this._state.changeMatchInfo(c,this._decorations.getCount(),void 0),e&&this._editor.getOption(37).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:s}=e;const o=this._editor.getModel();return t||s===1?(i===1?i=o.getLineCount():i--,s=o.getLineMaxColumn(i)):s--,new wi.L(i,s)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const V=this._decorations.matchAfterPosition(e);V&&this._setCurrentFindMatch(V);return}if(this._decorations.getCount()<Yl){let V=this._decorations.matchBeforePosition(e);V&&V.isEmpty()&&V.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),V=this._decorations.matchBeforePosition(e)),V&&this._setCurrentFindMatch(V);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),s=fu._getSearchRange(this._editor.getModel(),i);s.getEndPosition().isBefore(e)&&(e=s.getEndPosition()),e.isBefore(s.getStartPosition())&&(e=s.getEndPosition());const{lineNumber:o,column:c}=e,p=this._editor.getModel();let P=new wi.L(o,c),j=p.findPreviousMatch(this._state.searchString,P,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(119):null,!1);if(j&&j.range.isEmpty()&&j.range.getStartPosition().equals(P)&&(P=this._prevSearchPosition(P),j=p.findPreviousMatch(this._state.searchString,P,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(119):null,!1)),!!j){if(!t&&!s.containsRange(j.range))return this._moveToPrevMatch(j.range.getStartPosition(),!0);this._setCurrentFindMatch(j.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:s}=e;const o=this._editor.getModel();return t||s===o.getLineMaxColumn(i)?(i===o.getLineCount()?i=1:i++,s=1):s++,new wi.L(i,s)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<Yl){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}const t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,s=!1){if(this._cannotFind())return null;const o=this._decorations.getFindScope(),c=fu._getSearchRange(this._editor.getModel(),o);c.getEndPosition().isBefore(e)&&(e=c.getStartPosition()),e.isBefore(c.getStartPosition())&&(e=c.getStartPosition());const{lineNumber:p,column:P}=e,j=this._editor.getModel();let V=new wi.L(p,P),ae=j.findNextMatch(this._state.searchString,V,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(119):null,t);return i&&ae&&ae.range.isEmpty()&&ae.range.getStartPosition().equals(V)&&(V=this._nextSearchPosition(V),ae=j.findNextMatch(this._state.searchString,V,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(119):null,t)),ae?!s&&!c.containsRange(ae.range)?this._getNextMatch(ae.range.getEndPosition(),t,i,!0):ae:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_getReplacePattern(){return this._state.isRegex?qv(this._state.replaceString):Zc.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const s=e.buildReplaceString(i.matches,this._state.preserveCase),o=new Si.T4(t,s);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new wi.L(t.startLineNumber,t.startColumn+s.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const s=(e||[null]).map(o=>fu._getSearchRange(this._editor.getModel(),o));return this._editor.getModel().findMatches(this._state.searchString,s,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(119):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=Yl?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new Zv.bc(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(119):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let ae="mu";i.ignoreCase&&(ae+="i"),i.global&&(ae+="g"),i=new RegExp(i.source,ae)}const s=this._editor.getModel(),o=s.getValue(1),c=s.getFullModelRange(),p=this._getReplacePattern();let P;const j=this._state.preserveCase;p.hasReplacementPatterns||j?P=o.replace(i,function(){return p.buildReplaceString(arguments,j)}):P=o.replace(i,p.buildReplaceString(null,j));const V=new Si.hP(c,P,this._editor.getSelection());this._executeEditorCommand("replaceAll",V)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),s=[];for(let c=0,p=i.length;c<p;c++)s[c]=t.buildReplaceString(i[c].matches,this._state.preserveCase);const o=new Yv(this._editor.getSelection(),i.map(c=>c.range),s);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(o=>new Ii.Y(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn));const s=this._editor.getSelection();for(let o=0,c=i.length;o<c;o++)if(i[o].equalsRange(s)){i=[s].concat(i.slice(0,o)).concat(i.slice(o+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}var tp=m(59275);class ag extends br.${constructor(e,t,i,s){super(),this._hideSoon=this._register(new Ot.pY(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const o=s.getColorTheme().getColor(be.PRb),c=s.getColorTheme().getColor(be.Pvw),p=s.getColorTheme().getColor(be.XEs);this.caseSensitive=this._register(new tp.rk({appendTitle:this._keybindingLabelFor(_s.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,inputActiveOptionBorder:o,inputActiveOptionForeground:c,inputActiveOptionBackground:p})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new tp.Qx({appendTitle:this._keybindingLabelFor(_s.ToggleWholeWordCommand),isChecked:this._state.wholeWord,inputActiveOptionBorder:o,inputActiveOptionForeground:c,inputActiveOptionBackground:p})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new tp.eH({appendTitle:this._keybindingLabelFor(_s.ToggleRegexCommand),isChecked:this._state.isRegex,inputActiveOptionBorder:o,inputActiveOptionForeground:c,inputActiveOptionBackground:p})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(P=>{let j=!1;P.isRegex&&(this.regex.checked=this._state.isRegex,j=!0),P.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,j=!0),P.matchCase&&(this.caseSensitive.checked=this._state.matchCase,j=!0),!this._state.isRevealed&&j&&this._revealTemporarily()})),this._register(M.nm(this._domNode,M.tw.MOUSE_LEAVE,P=>this._onMouseLeave())),this._register(M.nm(this._domNode,"mouseover",P=>this._onMouseOver())),this._applyTheme(s.getColorTheme()),this._register(s.onDidColorThemeChange(this._applyTheme.bind(this)))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ag.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}_applyTheme(e){const t={inputActiveOptionBorder:e.getColor(be.PRb),inputActiveOptionForeground:e.getColor(be.Pvw),inputActiveOptionBackground:e.getColor(be.XEs)};this.caseSensitive.style(t),this.wholeWords.style(t),this.regex.style(t)}}ag.ID="editor.contrib.findOptionsWidget",(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.D0T);t&&e.addRule(`.monaco-editor .findOptionsWidget { background-color: ${t}; }`);const i=f.getColor(be.Hfx);i&&e.addRule(`.monaco-editor .findOptionsWidget { color: ${i}; }`);const s=f.getColor(be.rh);s&&e.addRule(`.monaco-editor .findOptionsWidget { box-shadow: 0 0 8px 2px ${s}; }`);const o=f.getColor(be.lRK);o&&e.addRule(`.monaco-editor .findOptionsWidget { border: 2px solid ${o}; }`)});function lg(f,e){return f===1?!0:f===2?!1:e}class t1 extends lt.JT{constructor(){super(),this._onFindReplaceStateChange=this._register(new Hi.Q5),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return lg(this._isRegexOverride,this._isRegex)}get wholeWord(){return lg(this._wholeWordOverride,this._wholeWord)}get matchCase(){return lg(this._matchCaseOverride,this._matchCase)}get preserveCase(){return lg(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}changeMatchInfo(e,t,i){const s={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,s.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,s.matchesCount=!0,o=!0),typeof i<"u"&&(yt.e.equalsRange(this._currentMatch,i)||(this._currentMatch=i,s.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(s)}change(e,t,i=!0){var s;const o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let c=!1;const p=this.isRegex,P=this.wholeWord,j=this.matchCase,V=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,c=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,c=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,c=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,c=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(!((s=e.searchScope)===null||s===void 0)&&s.every(ae=>{var ye;return(ye=this._searchScope)===null||ye===void 0?void 0:ye.some(We=>!yt.e.equalsRange(We,ae))})||(this._searchScope=e.searchScope,o.searchScope=!0,c=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,c=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,c=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,c=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,p!==this.isRegex&&(c=!0,o.isRegex=!0),P!==this.wholeWord&&(c=!0,o.wholeWord=!0),j!==this.matchCase&&(c=!0,o.matchCase=!0),V!==this.preserveCase&&(c=!0,o.preserveCase=!0),c&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=Yl}}var _E=m(28132);function J_(f){var e,t;return((e=f.lookupKeybinding("history.showPrevious"))===null||e===void 0?void 0:e.getElectronAccelerator())==="Up"&&((t=f.lookupKeybinding("history.showNext"))===null||t===void 0?void 0:t.getElectronAccelerator())==="Down"}var i1=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const n1=(0,uo.q5)("find-selection",Mi.lA.selection,Se.NC("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),q_=(0,uo.q5)("find-collapsed",Mi.lA.chevronRight,Se.NC("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),e0=(0,uo.q5)("find-expanded",Mi.lA.chevronDown,Se.NC("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),s1=(0,uo.q5)("find-replace",Mi.lA.replace,Se.NC("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),o1=(0,uo.q5)("find-replace-all",Mi.lA.replaceAll,Se.NC("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),r1=(0,uo.q5)("find-previous-match",Mi.lA.arrowUp,Se.NC("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),a1=(0,uo.q5)("find-next-match",Mi.lA.arrowDown,Se.NC("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),l1=Se.NC("label.find","Find"),d1=Se.NC("placeholder.find","Find"),c1=Se.NC("label.previousMatchButton","Previous Match"),h1=Se.NC("label.nextMatchButton","Next Match"),u1=Se.NC("label.toggleSelectionFind","Find in Selection"),f1=Se.NC("label.closeButton","Close"),g1=Se.NC("label.replace","Replace"),m1=Se.NC("placeholder.replace","Replace"),p1=Se.NC("label.replaceButton","Replace"),_1=Se.NC("label.replaceAllButton","Replace All"),C1=Se.NC("label.toggleReplaceButton","Toggle Replace"),v1=Se.NC("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",Yl),b1=Se.NC("label.matchesLocation","{0} of {1}"),t0=Se.NC("label.noResults","No results"),Da=419,w1=275-54;let gu=69;const S1=33,i0="ctrlEnterReplaceAll.windows.donotask",n0=Fi.dz?256:2048;class ip{constructor(e){this.afterLineNumber=e,this.heightInPx=S1,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function s0(f,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){f.stopPropagation();return}}function o0(f,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){f.stopPropagation();return}}class dg extends br.${constructor(e,t,i,s,o,c,p,P,j){super(),this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=s,this._keybindingService=o,this._contextKeyService=c,this._storageService=P,this._notificationService=j,this._ctrlEnterReplaceAllWarningPrompted=!!P.getBoolean(i0,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Ot.vp(500),this._register((0,lt.OF)(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(V=>this._onStateChanged(V))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(V=>{if(V.hasChanged(83)&&(this._codeEditor.getOption(83)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),V.hasChanged(133)&&this._tryUpdateWidgetWidth(),V.hasChanged(2)&&this.updateAccessibilitySupport(),V.hasChanged(37)){const ae=this._codeEditor.getOption(37).addExtraSpaceOnTop;ae&&!this._viewZone&&(this._viewZone=new ip(0),this._showViewZone()),!ae&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(()=>i1(this,void 0,void 0,function*(){if(this._isVisible){const V=yield this._controller.getGlobalBufferTerm();V&&V!==this._state.searchString&&(this._state.change({searchString:V},!1),this._findInput.select())}}))),this._findInputFocused=tg.bindTo(c),this._findFocusTracker=this._register(M.go(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=ep.bindTo(c),this._replaceFocusTracker=this._register(M.go(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(37).addExtraSpaceOnTop&&(this._viewZone=new ip(0)),this._applyTheme(p.getColorTheme()),this._register(p.onDidColorThemeChange(this._applyTheme.bind(this))),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(V=>{if(V.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return dg.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(83)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=M.w(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Vi.dL)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=gu+"px",this._state.matchesCount>=Yl?this._matchesCount.title=v1:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=Yl&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=Ni.WU(b1,i,t)}else e=t0;this._matchesCount.appendChild(document.createTextNode(e)),(0,ri.Z9)(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),gu=Math.max(gu,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===t0)return i===""?Se.NC("ariaSearchNoResultEmpty","{0} found",e):Se.NC("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const s=Se.NC("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();return o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1?`${o.getLineContent(t.startLineNumber)}, ${s}`:s}return Se.NC("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(83);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(37).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}default:break}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(37).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const s=M.i(i),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),c=s.left+(o?o.left:0),p=o?o.top:0;if(this._viewZone&&p<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const P=M.xQ(this._domNode).left;c>P&&(t=!1);const j=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());s.left+(j?j.left:0)>P&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(37).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(s=>{i.heightInPx=this._getHeight(),this._viewZoneId=s.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(37).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new ip(0));const i=this._viewZone;this._codeEditor.changeViewZones(s=>{if(this._viewZoneId!==void 0){const o=this._getHeight();if(o===i.heightInPx)return;const c=o-i.heightInPx;i.heightInPx=o,s.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+c);return}else{let o=this._getHeight();if(o-=this._codeEditor.getOption(77).top,o<=0)return;i.heightInPx=o,this._viewZoneId=s.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_applyTheme(e){const t={inputActiveOptionBorder:e.getColor(be.PRb),inputActiveOptionBackground:e.getColor(be.XEs),inputActiveOptionForeground:e.getColor(be.Pvw),inputBackground:e.getColor(be.sEe),inputForeground:e.getColor(be.zJb),inputBorder:e.getColor(be.dt_),inputValidationInfoBackground:e.getColor(be._lC),inputValidationInfoForeground:e.getColor(be.YI3),inputValidationInfoBorder:e.getColor(be.EPQ),inputValidationWarningBackground:e.getColor(be.RV_),inputValidationWarningForeground:e.getColor(be.SUG),inputValidationWarningBorder:e.getColor(be.C3g),inputValidationErrorBackground:e.getColor(be.paE),inputValidationErrorForeground:e.getColor(be._t9),inputValidationErrorBorder:e.getColor(be.OZR)};this._findInput.style(t),this._replaceInput.style(t),this._toggleSelectionFind.style(t)}_tryUpdateWidgetWidth(){if(!this._isVisible||!M.Uw(this._domNode))return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,s=e.minimap.minimapWidth;let o=!1,c=!1,p=!1;if(this._resized&&M.w(this._domNode)>Da){this._domNode.style.maxWidth=`${i-28-s-15}px`,this._replaceInput.width=M.w(this._findInput.domNode);return}if(Da+28+s>=i&&(c=!0),Da+28+s-gu>=i&&(p=!0),Da+28+s-gu>=i+50&&(o=!0),this._domNode.classList.toggle("collapsed-find-widget",o),this._domNode.classList.toggle("narrow-find-widget",p),this._domNode.classList.toggle("reduced-find-widget",c),!p&&!o&&(this._domNode.style.maxWidth=`${i-28-s-15}px`),this._resized){this._findInput.inputBox.layout();const P=this._findInput.inputBox.element.clientWidth;P>0&&(this._replaceInput.width=P)}else this._isReplaceVisible&&(this._replaceInput.width=M.w(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!yt.e.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(n0|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(` `),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return s0(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return o0(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(n0|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Fi.ED&&Fi.tY&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(Se.NC("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(i0,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(` `),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return s0(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return o0(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new Gh(null,this._contextViewProvider,{width:w1,label:l1,placeholder:d1,appendCaseSensitiveLabel:this._keybindingLabelFor(_s.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(_s.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(_s.ToggleRegexCommand),validation:P=>{if(P.length===0||!this._findInput.getRegex())return null;try{return new RegExp(P,"gu"),null}catch(j){return{content:j.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>J_(this._keybindingService)},this._contextKeyService,!0)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(P=>this._onFindInputKeyDown(P))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(P=>{P.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),P.preventDefault())})),this._register(this._findInput.onRegexKeyDown(P=>{P.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),P.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(P=>{this._tryUpdateHeight()&&this._showViewZone()})),Fi.IJ&&this._register(this._findInput.onMouseDown(P=>this._onFindInputMouseDown(P))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new Yc({label:c1+this._keybindingLabelFor(_s.PreviousMatchFindAction),icon:r1,onTrigger:()=>{this._codeEditor.getAction(_s.PreviousMatchFindAction).run().then(void 0,Vi.dL)}})),this._nextBtn=this._register(new Yc({label:h1+this._keybindingLabelFor(_s.NextMatchFindAction),icon:a1,onTrigger:()=>{this._codeEditor.getAction(_s.NextMatchFindAction).run().then(void 0,Vi.dL)}}));const i=document.createElement("div");i.className="find-part",i.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",i.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Tc.Z({icon:n1,title:u1+this._keybindingLabelFor(_s.ToggleSearchScopeCommand),isChecked:!1})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const P=this._codeEditor.getSelections();P.map(j=>(j.endColumn===1&&j.endLineNumber>j.startLineNumber&&(j=j.setEndPosition(j.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(j.endLineNumber-1))),j.isEmpty()?null:j)).filter(j=>!!j),P.length&&this._state.change({searchScope:P},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Yc({label:f1+this._keybindingLabelFor(_s.CloseFindWidgetCommand),icon:uo.s_,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:P=>{P.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),P.preventDefault())}})),s.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new Hl(null,void 0,{label:g1,placeholder:m1,appendPreserveCaseLabel:this._keybindingLabelFor(_s.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>J_(this._keybindingService)},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(P=>this._onReplaceInputKeyDown(P))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(P=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(P=>{P.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),P.preventDefault())})),this._replaceBtn=this._register(new Yc({label:p1+this._keybindingLabelFor(_s.ReplaceOneAction),icon:s1,onTrigger:()=>{this._controller.replace()},onKeyDown:P=>{P.equals(1026)&&(this._closeBtn.focus(),P.preventDefault())}})),this._replaceAllBtn=this._register(new Yc({label:_1+this._keybindingLabelFor(_s.ReplaceAllAction),icon:o1,onTrigger:()=>{this._controller.replaceAll()}}));const o=document.createElement("div");o.className="replace-part",o.appendChild(this._replaceInput.domNode);const c=document.createElement("div");c.className="replace-actions",o.appendChild(c),c.appendChild(this._replaceBtn.domNode),c.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Yc({label:C1,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=M.w(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width=`${Da}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(i),this._domNode.appendChild(o),this._resizeSash=new Pr.g(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let p=Da;this._register(this._resizeSash.onDidStart(()=>{p=M.w(this._domNode)})),this._register(this._resizeSash.onDidChange(P=>{this._resized=!0;const j=p+P.startX-P.currentX;if(j<Da)return;const V=parseFloat(M.Dx(this._domNode).maxWidth)||0;j>V||(this._domNode.style.width=`${j}px`,this._isReplaceVisible&&(this._replaceInput.width=M.w(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const P=M.w(this._domNode);if(P<Da)return;let j=Da;if(!this._resized||P===Da){const V=this._codeEditor.getLayoutInfo();j=V.width-28-V.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${j}px`,this._isReplaceVisible&&(this._replaceInput.width=M.w(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}}dg.ID="editor.contrib.findWidget";class Yc extends br.${constructor(e){super(),this._opts=e;let t="button";this._opts.className&&(t=t+" "+this._opts.className),this._opts.icon&&(t=t+" "+Xe.kS.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.title=this._opts.label,this._domNode.tabIndex=0,this._domNode.className=t,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this.onclick(this._domNode,i=>{this._opts.onTrigger(),i.preventDefault()}),this.onkeydown(this._domNode,i=>{var s,o;if(i.equals(10)||i.equals(3)){this._opts.onTrigger(),i.preventDefault();return}(o=(s=this._opts).onKeyDown)===null||o===void 0||o.call(s,i)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...Xe.kS.asClassNameArray(q_)),this._domNode.classList.add(...Xe.kS.asClassNameArray(e0))):(this._domNode.classList.remove(...Xe.kS.asClassNameArray(e0)),this._domNode.classList.add(...Xe.kS.asClassNameArray(q_)))}}(0,Xe.Ic)((f,e)=>{const t=(Ze,it)=>{it&&e.addRule(`.monaco-editor ${Ze} { background-color: ${it}; }`)};t(".findMatch",f.getColor(be.MUv)),t(".currentFindMatch",f.getColor(be.nyM)),t(".findScope",f.getColor(be.jUe));const i=f.getColor(be.D0T);t(".find-widget",i);const s=f.getColor(be.rh);s&&e.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${s}; }`);const o=f.getColor(be.EiJ);o&&e.addRule(`.monaco-editor .findMatch { border: 1px ${(0,Ro.c3)(f.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const c=f.getColor(be.pnM);c&&e.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${c}; padding: 1px; box-sizing: border-box; }`);const p=f.getColor(be.gkn);p&&e.addRule(`.monaco-editor .findScope { border: 1px ${(0,Ro.c3)(f.type)?"dashed":"solid"} ${p}; }`);const P=f.getColor(be.lRK);P&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${P}; }`);const j=f.getColor(be.Hfx);j&&e.addRule(`.monaco-editor .find-widget { color: ${j}; }`);const V=f.getColor(be.Ido);V&&e.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${V}; }`);const ae=f.getColor(be.Ng6);if(ae)e.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${ae}; }`);else{const Ze=f.getColor(be.D1_);Ze&&e.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${Ze}; }`)}const ye=f.getColor(be.lUq);ye&&e.addRule(` .monaco-editor .find-widget .button:not(.disabled):hover, .monaco-editor .find-widget .codicon-find-selection:hover { background-color: ${ye} !important; } `);const We=f.getColor(be.R80);We&&e.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${We}; }`)});var r0=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Ea=function(f,e){return function(t,i){e(t,i,f)}},Vd=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const y1=524288;function np(f,e="single",t=!1){if(!f.hasModel())return null;const i=f.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const s=f.getConfiguredWordAtPosition(i.getStartPosition());if(s&&t===!1)return s.word}else if(f.getModel().getValueLengthInRange(i)<y1)return f.getModel().getValueInRange(i)}return null}let Jo=class bv extends lt.JT{constructor(e,t,i,s){super(),this._editor=e,this._findWidgetVisible=Zl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=s,this._updateHistoryDelayer=new Ot.vp(500),this._state=this._register(new t1),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(o=>this._onStateChanged(o))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const o=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),o&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(37).loop})}))}get editor(){return this._editor}static get(e){return e.getContribution(bv.ID)}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!tg.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){const e=this._editor.getSelections();e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Ni.ec(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}_start(e,t){return Vd(this,void 0,void 0,function*(){if(this.disposeModel(),!this._editor.hasModel())return;const i=Object.assign(Object.assign({},t),{isRevealed:!0});if(e.seedSearchStringFromSelection==="single"){const s=np(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);s&&(this._state.isRegex?i.searchString=Ni.ec(s):i.searchString=s)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const s=np(this._editor,e.seedSearchStringFromSelection);s&&(i.searchString=s)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const s=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;s&&(i.searchString=s)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const s=this._editor.getSelections();s.some(o=>!o.isEmpty())&&(i.searchScope=s)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new fu(this._editor,this._state))})}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}getGlobalBufferTerm(){return Vd(this,void 0,void 0,function*(){return this._editor.getOption(37).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""})}setGlobalBufferTerm(e){this._editor.getOption(37).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};Jo.ID="editor.contrib.findController",Jo=r0([Ea(1,ht.i6),Ea(2,mo.Uy),Ea(3,Oi.p)],Jo);let sp=class extends Jo{constructor(e,t,i,s,o,c,p,P){super(e,i,p,P),this._contextViewService=t,this._keybindingService=s,this._themeService=o,this._notificationService=c,this._widget=null,this._findOptionsWidget=null}_start(e,t){const i=Object.create(null,{_start:{get:()=>super._start}});return Vd(this,void 0,void 0,function*(){this._widget||this._createFindWidget();const s=this._editor.getSelection();let o=!1;switch(this._editor.getOption(37).autoFindInSelection){case"always":o=!0;break;case"never":o=!1;break;case"multiline":{o=!!s&&s.startLineNumber!==s.endLineNumber;break}default:break}e.updateSearchScope=e.updateSearchScope||o,yield i._start.call(this,e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())})}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new dg(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new ag(this._editor,this._state,this._keybindingService,this._themeService))}};sp=r0([Ea(1,we.u),Ea(2,ht.i6),Ea(3,Le.d),Ea(4,Xe.XE),Ea(5,bs.lT),Ea(6,mo.Uy),Ea(7,Oi.p)],sp),(0,Ae.rn)(new Ae.jY({id:_s.StartFindAction,label:Se.NC("startFindAction","Find"),alias:"Find",precondition:ht.Ao.or(Ue.u.focus,ht.Ao.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Ne.eH.MenubarEditMenu,group:"3_find",title:Se.NC({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,(f,e,t)=>{const i=Jo.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(37).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(37).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(37).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(37).loop}):!1});const L1={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:Se.NC("actions.find.isRegexOverride",`Overrides "Use Regular Expression" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:Se.NC("actions.find.wholeWordOverride",`Overrides "Match Whole Word" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:Se.NC("actions.find.matchCaseOverride",`Overrides "Math Case" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:Se.NC("actions.find.preserveCaseOverride",`Overrides "Preserve Case" flag. The flag will not be saved for the future. 0: Do Nothing 1: True 2: False`)},findInSelection:{type:"boolean"}}}}]};class D1 extends Ae.R6{constructor(){super({id:_s.StartFindWithArgs,label:Se.NC("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},description:L1})}run(e,t,i){return Vd(this,void 0,void 0,function*(){const s=Jo.get(t);if(s){const o=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};yield s.start({forceRevealReplace:!1,seedSearchStringFromSelection:s.getState().searchString.length===0&&t.getOption(37).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(37).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:i?.findInSelection||!1,loop:t.getOption(37).loop},o),s.setGlobalBufferTerm(s.getState().searchString)}})}}class E1 extends Ae.R6{constructor(){super({id:_s.StartFindWithSelection,label:Se.NC("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}run(e,t){return Vd(this,void 0,void 0,function*(){const i=Jo.get(t);i&&(yield i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(37).loop}),i.setGlobalBufferTerm(i.getState().searchString))})}}class a0 extends Ae.R6{run(e,t){return Vd(this,void 0,void 0,function*(){const i=Jo.get(t);i&&!this._run(i)&&(yield i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(37).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(37).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(37).loop}),this._run(i))})}}class I1 extends a0{constructor(){super({id:_s.NextMatchFindAction,label:Se.NC("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:Ue.u.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ht.Ao.and(Ue.u.focus,tg),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class x1 extends a0{constructor(){super({id:_s.PreviousMatchFindAction,label:Se.NC("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:Ue.u.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ht.Ao.and(Ue.u.focus,tg),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class l0 extends Ae.R6{run(e,t){return Vd(this,void 0,void 0,function*(){const i=Jo.get(t);if(!i)return;const s=t.getOption(37).seedSearchStringFromSelection==="selection";let o=null;t.getOption(37).seedSearchStringFromSelection!=="never"&&(o=np(t,"single",s)),o&&i.setSearchString(o),this._run(i)||(yield i.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getOption(37).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:s,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(37).loop}),this._run(i))})}}class N1 extends l0{constructor(){super({id:_s.NextSelectionMatchFindAction,label:Se.NC("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class k1 extends l0{constructor(){super({id:_s.PreviousSelectionMatchFindAction,label:Se.NC("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}(0,Ae.rn)(new Ae.jY({id:_s.StartFindReplaceAction,label:Se.NC("startReplace","Replace"),alias:"Replace",precondition:ht.Ao.or(Ue.u.focus,ht.Ao.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Ne.eH.MenubarEditMenu,group:"3_find",title:Se.NC({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,(f,e,t)=>{if(!e.hasModel()||e.getOption(83))return!1;const i=Jo.get(e);if(!i)return!1;const s=e.getSelection(),o=i.isFindInputFocused(),c=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&e.getOption(37).seedSearchStringFromSelection!=="never"&&!o,p=o||c?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:c?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(37).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(37).seedSearchStringFromSelection!=="never",shouldFocus:p,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(37).loop})}),(0,Ae._K)(Jo.ID,sp),(0,Ae.Qr)(D1),(0,Ae.Qr)(E1),(0,Ae.Qr)(I1),(0,Ae.Qr)(x1),(0,Ae.Qr)(N1),(0,Ae.Qr)(k1);const ra=Ae._l.bindToContribution(Jo.get);(0,Ae.fK)(new ra({id:_s.CloseFindWidgetCommand,precondition:Zl,handler:f=>f.closeFindWidget(),kbOpts:{weight:100+5,kbExpr:ht.Ao.and(Ue.u.focus,ht.Ao.not("isComposing")),primary:9,secondary:[1033]}})),(0,Ae.fK)(new ra({id:_s.ToggleCaseSensitiveCommand,precondition:void 0,handler:f=>f.toggleCaseSensitive(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:ig.primary,mac:ig.mac,win:ig.win,linux:ig.linux}})),(0,Ae.fK)(new ra({id:_s.ToggleWholeWordCommand,precondition:void 0,handler:f=>f.toggleWholeWords(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:ng.primary,mac:ng.mac,win:ng.win,linux:ng.linux}})),(0,Ae.fK)(new ra({id:_s.ToggleRegexCommand,precondition:void 0,handler:f=>f.toggleRegex(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:sg.primary,mac:sg.mac,win:sg.win,linux:sg.linux}})),(0,Ae.fK)(new ra({id:_s.ToggleSearchScopeCommand,precondition:void 0,handler:f=>f.toggleSearchScope(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:og.primary,mac:og.mac,win:og.win,linux:og.linux}})),(0,Ae.fK)(new ra({id:_s.TogglePreserveCaseCommand,precondition:void 0,handler:f=>f.togglePreserveCase(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:rg.primary,mac:rg.mac,win:rg.win,linux:rg.linux}})),(0,Ae.fK)(new ra({id:_s.ReplaceOneAction,precondition:Zl,handler:f=>f.replace(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:3094}})),(0,Ae.fK)(new ra({id:_s.ReplaceOneAction,precondition:Zl,handler:f=>f.replace(),kbOpts:{weight:100+5,kbExpr:ht.Ao.and(Ue.u.focus,ep),primary:3}})),(0,Ae.fK)(new ra({id:_s.ReplaceAllAction,precondition:Zl,handler:f=>f.replaceAll(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:2563}})),(0,Ae.fK)(new ra({id:_s.ReplaceAllAction,precondition:Zl,handler:f=>f.replaceAll(),kbOpts:{weight:100+5,kbExpr:ht.Ao.and(Ue.u.focus,ep),primary:void 0,mac:{primary:2051}}})),(0,Ae.fK)(new ra({id:_s.SelectAllMatchesAction,precondition:Zl,handler:f=>f.selectAllMatches(),kbOpts:{weight:100+5,kbExpr:Ue.u.focus,primary:515}}));var wE=m(48717);const d0=65535,aa=16777215,c0=4278190080;class op{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){const i=e/32|0,s=e%32,o=this._states[i];t?this._states[i]=o|1<<s:this._states[i]=o&~(1<<s)}}class fr{constructor(e,t,i){if(this.sourceAbbr={[0]:" ",[1]:"u",[2]:"r"},e.length!==t.length||e.length>d0)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new op(e.length),this._userDefinedStates=new op(e.length),this._recoveredStates=new op(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,s)=>{const o=e[e.length-1];return this.getStartLineNumber(o)<=i&&this.getEndLineNumber(o)>=s};for(let i=0,s=this._startIndexes.length;i<s;i++){const o=this._startIndexes[i],c=this._endIndexes[i];if(o>aa||c>aa)throw new Error("startLineNumber or endLineNumber must not exceed "+aa);for(;e.length>0&&!t(o,c);)e.pop();const p=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=o+((p&255)<<24),this._endIndexes[i]=c+((p&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&aa}getEndLineNumber(e){return this._endIndexes[e]&aa}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let s=0;s<this._types.length;s++)this._types[s]===e&&(this.setCollapsed(s,t),i=!0);return i}toRegion(e){return new T1(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&c0)>>>24)+((this._endIndexes[e]&c0)>>>16);return t===d0?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){const s=Math.floor((t+i)/2);e<this.getStartLineNumber(s)?i=s:t=s+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${this.sourceAbbr[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&aa,endLineNumber:this._endIndexes[e]&aa,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),s=new Uint32Array(t);let o=[],c=!1;for(let P=0;P<t;P++){const j=e[P];i[P]=j.startLineNumber,s[P]=j.endLineNumber,o.push(j.type),j.type&&(c=!0)}c||(o=void 0);const p=new fr(i,s,o);for(let P=0;P<t;P++)e[P].isCollapsed&&p.setCollapsed(P,!0),p.setSource(P,e[P].source);return p}static sanitizeAndMerge(e,t,i){i=i??Number.MAX_VALUE;const s=(it,vt)=>Array.isArray(it)?zt=>zt<vt?it[zt]:void 0:zt=>zt<vt?it.toFoldRange(zt):void 0,o=s(e,e.length),c=s(t,t.length);let p=0,P=0,j=o(0),V=c(0);const ae=[];let ye,We=0;const Ze=[];for(;j||V;){let it;if(V&&(!j||j.startLineNumber>=V.startLineNumber))j&&j.startLineNumber===V.startLineNumber?(V.source===1?it=V:(it=j,it.isCollapsed=V.isCollapsed&&j.endLineNumber===V.endLineNumber,it.source=0),j=o(++p)):(it=V,V.isCollapsed&&V.source===0&&(it.source=2)),V=c(++P);else{let vt=P,zt=V;for(;;){if(!zt||zt.startLineNumber>j.endLineNumber){it=j;break}if(zt.source===1&&zt.endLineNumber>j.endLineNumber)break;zt=c(++vt)}j=o(++p)}if(it){for(;ye&&ye.endLineNumber<it.startLineNumber;)ye=ae.pop();it.endLineNumber>it.startLineNumber&&it.startLineNumber>We&&it.endLineNumber<=i&&(!ye||ye.endLineNumber>=it.endLineNumber)&&(Ze.push(it),We=it.startLineNumber,ye&&ae.push(ye),ye=it)}}return Ze}}class T1{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class M1{constructor(e,t){this._updateEventEmitter=new Hi.Q5,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new fr(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}get regions(){return this._regions}get textModel(){return this._textModel}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,s)=>i.regionIndex-s.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let s=0,o=-1,c=-1;const p=P=>{for(;s<P;){const j=this._regions.getEndLineNumber(s),V=this._regions.isCollapsed(s);if(j<=o){const ae=this.regions.getSource(s)!==0;i.changeDecorationOptions(this._editorDecorationIds[s],this._decorationProvider.getDecorationOption(V,j<=c,ae))}V&&j>c&&(c=j),s++}};for(const P of e){const j=P.regionIndex,V=this._editorDecorationIds[j];if(V&&!t[V]){t[V]=!0,p(j);const ae=!this._regions.isCollapsed(j);this._regions.setCollapsed(j,ae),o=Math.max(o,this._regions.getEndLineNumber(j))}}p(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=s=>{for(const o of e)if(!(o.startLineNumber>s.endLineNumber||s.startLineNumber>o.endLineNumber))return!0;return!1};for(let s=0;s<this._regions.length;s++){const o=this._regions.toFoldRange(s);(o.source===0||!i(o))&&t.push(o)}this.updatePost(fr.fromFoldRanges(t))}update(e,t=[]){const i=this._currentFoldedOrManualRanges(t),s=fr.sanitizeAndMerge(e,i,this._textModel.getLineCount());this.updatePost(fr.fromFoldRanges(s))}updatePost(e){const t=[];let i=-1;for(let s=0,o=e.length;s<o;s++){const c=e.getStartLineNumber(s),p=e.getEndLineNumber(s),P=e.isCollapsed(s),j=e.getSource(s)!==0,V={startLineNumber:c,startColumn:this._textModel.getLineMaxColumn(c),endLineNumber:p,endColumn:this._textModel.getLineMaxColumn(p)+1};t.push({range:V,options:this._decorationProvider.getDecorationOption(P,p<=i,j)}),P&&p>i&&(i=p)}this._decorationProvider.changeDecorations(s=>this._editorDecorationIds=s.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(s,o)=>{for(const c of e)if(s<c&&c<=o)return!0;return!1},i=[];for(let s=0,o=this._regions.length;s<o;s++){let c=this.regions.isCollapsed(s);const p=this.regions.getSource(s);if(c||p!==0){const P=this._regions.toFoldRange(s),j=this._textModel.getDecorationRange(this._editorDecorationIds[s]);j&&(c&&(t(j.startLineNumber,j.endLineNumber)||j.endLineNumber-j.startLineNumber!==P.endLineNumber-P.startLineNumber)&&(c=!1),i.push({startLineNumber:j.startLineNumber,endLineNumber:j.endLineNumber,type:P.type,isCollapsed:c,source:p}))}}return i}getMemento(){const e=this._currentFoldedOrManualRanges(),t=[];for(let i=0,s=e.length;i<s;i++){const o=e[i],c=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,isCollapsed:o.isCollapsed,source:o.source,checksum:c})}return t.length>0?t:void 0}applyMemento(e){var t,i;if(!Array.isArray(e))return;const s=[],o=this._textModel.getLineCount();for(const p of e){if(p.startLineNumber>=p.endLineNumber||p.startLineNumber<1||p.endLineNumber>o)continue;const P=this._getLinesChecksum(p.startLineNumber+1,p.endLineNumber);(!p.checksum||P===p.checksum)&&s.push({startLineNumber:p.startLineNumber,endLineNumber:p.endLineNumber,type:void 0,isCollapsed:(t=p.isCollapsed)!==null&&t!==void 0?t:!0,source:(i=p.source)!==null&&i!==void 0?i:0})}const c=fr.sanitizeAndMerge(this._regions,s,o);this.updatePost(fr.fromFoldRanges(c))}_getLinesChecksum(e,t){return(0,ir.vp)(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let s=this._regions.findRange(e),o=1;for(;s>=0;){const c=this._regions.toRegion(s);(!t||t(c,o))&&i.push(c),o++,s=c.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],s=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const c=[];for(let p=s,P=this._regions.length;p<P;p++){const j=this._regions.toRegion(p);if(this._regions.getStartLineNumber(p)<o){for(;c.length>0&&!j.containedBy(c[c.length-1]);)c.pop();c.push(j),t(j,c.length)&&i.push(j)}else break}}else for(let c=s,p=this._regions.length;c<p;c++){const P=this._regions.toRegion(c);if(this._regions.getStartLineNumber(c)<o)(!t||t(P))&&i.push(P);else break}return i}}function A1(f,e,t){const i=[];for(const s of t){const o=f.getRegionAtLine(s);if(o){const c=!o.isCollapsed;if(i.push(o),e>1){const p=f.getRegionsInside(o,(P,j)=>P.isCollapsed!==c&&j<e);i.push(...p)}}}f.toggleCollapseState(i)}function Xc(f,e,t=Number.MAX_VALUE,i){const s=[];if(i&&i.length>0)for(const o of i){const c=f.getRegionAtLine(o);if(c&&(c.isCollapsed!==e&&s.push(c),t>1)){const p=f.getRegionsInside(c,(P,j)=>P.isCollapsed!==e&&j<t);s.push(...p)}}else{const o=f.getRegionsInside(null,(c,p)=>c.isCollapsed!==e&&p<t);s.push(...o)}f.toggleCollapseState(s)}function h0(f,e,t,i){const s=[];for(const o of i){const c=f.getAllRegionsAtLine(o,(p,P)=>p.isCollapsed!==e&&P<=t);s.push(...c)}f.toggleCollapseState(s)}function R1(f,e,t){const i=[];for(const s of t){const o=f.getAllRegionsAtLine(s,c=>c.isCollapsed!==e);o.length>0&&i.push(o[0])}f.toggleCollapseState(i)}function P1(f,e,t,i){const s=(c,p)=>p===e&&c.isCollapsed!==t&&!i.some(P=>c.containsLine(P)),o=f.getRegionsInside(null,s);f.toggleCollapseState(o)}function u0(f,e,t){const i=[];for(const c of t){const p=f.getAllRegionsAtLine(c,void 0);p.length>0&&i.push(p[0])}const s=c=>i.every(p=>!p.containedBy(c)&&!c.containedBy(p))&&c.isCollapsed!==e,o=f.getRegionsInside(null,s);f.toggleCollapseState(o)}function rp(f,e,t){const i=f.textModel,s=f.regions,o=[];for(let c=s.length-1;c>=0;c--)if(t!==s.isCollapsed(c)){const p=s.getStartLineNumber(c);e.test(i.getLineContent(p))&&o.push(s.toRegion(c))}f.toggleCollapseState(o)}function ap(f,e,t){const i=f.regions,s=[];for(let o=i.length-1;o>=0;o--)t!==i.isCollapsed(o)&&e===i.getType(o)&&s.push(i.toRegion(o));f.toggleCollapseState(s)}function O1(f,e){let t=null;const i=e.getRegionAtLine(f);if(i!==null&&(t=i.startLineNumber,f===t)){const s=i.parentIndex;s!==-1?t=e.regions.getStartLineNumber(s):t=null}return t}function F1(f,e){let t=e.getRegionAtLine(f);if(t!==null&&t.startLineNumber===f){if(f!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let s=0;for(i!==-1&&(s=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=s)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<f)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function B1(f,e){let t=e.getRegionAtLine(f);if(t!==null&&t.startLineNumber===f){const i=t.parentIndex;let s=0;if(i!==-1)s=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;s=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=s)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>f)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}var W1=m(52512);class V1{constructor(e){this._updateEventEmitter=new Hi.Q5,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||(0,W1.Q)(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,s=0,o=Number.MAX_VALUE,c=-1;const p=this._foldingModel.regions;for(;i<p.length;i++){if(!p.isCollapsed(i))continue;const P=p.getStartLineNumber(i)+1,j=p.getEndLineNumber(i);o<=P&&j<=c||(!e&&s<this._hiddenRanges.length&&this._hiddenRanges[s].startLineNumber===P&&this._hiddenRanges[s].endLineNumber===j?(t.push(this._hiddenRanges[s]),s++):(e=!0,t.push(new yt.e(P,1,j,1))),o=P,c=j)}(this._hasLineChanges||e||s<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return f0(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let s=null;const o=c=>((!s||!H1(c,s))&&(s=f0(this._hiddenRanges,c)),s?s.startLineNumber-1:null);for(let c=0,p=e.length;c<p;c++){let P=e[c];const j=o(P.startLineNumber);j&&(P=P.setStartPosition(j,i.getLineMaxColumn(j)),t=!0);const V=o(P.endLineNumber);V&&(P=P.setEndPosition(V,i.getLineMaxColumn(V)),t=!0),e[c]=P}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function H1(f,e){return f>=e.startLineNumber&&f<=e.endLineNumber}function f0(f,e){const t=(0,hn.lG)(f,i=>e<i.startLineNumber)-1;return t>=0&&f[t].endLineNumber>=e?f[t]:null}const z1=5e3,U1="indent";class j1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.maxFoldingRegions=i,this.id=U1}dispose(){}compute(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,s=i&&!!i.offSide,o=i&&i.markers;return Promise.resolve($1(this.editorModel,s,o,this.maxFoldingRegions,t))}}class K1{constructor(e,t){this._notifyTooManyRegions=t,this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>aa||t>aa)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){var t;if(this._length<=this._foldingRangesLimit){const i=new Uint32Array(this._length),s=new Uint32Array(this._length);for(let o=this._length-1,c=0;o>=0;o--,c++)i[c]=this._startIndexes[o],s[c]=this._endIndexes[o];return new fr(i,s)}else{(t=this._notifyTooManyRegions)===null||t===void 0||t.call(this,this._foldingRangesLimit);let i=0,s=this._indentOccurrences.length;for(let P=0;P<this._indentOccurrences.length;P++){const j=this._indentOccurrences[P];if(j){if(j+i>this._foldingRangesLimit){s=P;break}i+=j}}const o=e.getOptions().tabSize,c=new Uint32Array(this._foldingRangesLimit),p=new Uint32Array(this._foldingRangesLimit);for(let P=this._length-1,j=0;P>=0;P--){const V=this._startIndexes[P],ae=e.getLineContent(V),ye=(0,wo.q)(ae,o);(ye<s||ye===s&&i++<this._foldingRangesLimit)&&(c[j]=V,p[j]=this._endIndexes[P],j++)}return new fr(c,p)}}}function $1(f,e,t,i,s){const o=f.getOptions().tabSize;i=i??z1;const c=new K1(i,s);let p;t&&(p=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const P=[],j=f.getLineCount()+1;P.push({indent:-1,endAbove:j,line:j});for(let V=f.getLineCount();V>0;V--){const ae=f.getLineContent(V),ye=(0,wo.q)(ae,o);let We=P[P.length-1];if(ye===-1){e&&(We.endAbove=V);continue}let Ze;if(p&&(Ze=ae.match(p)))if(Ze[1]){let it=P.length-1;for(;it>0&&P[it].indent!==-2;)it--;if(it>0){P.length=it+1,We=P[it],c.insertFirst(V,We.line,ye),We.line=V,We.indent=ye,We.endAbove=V;continue}}else{P.push({indent:-2,endAbove:V,line:V});continue}if(We.indent>ye){do P.pop(),We=P[P.length-1];while(We.indent>ye);const it=We.endAbove-1;it-V>=1&&c.insertFirst(V,it,ye)}We.indent===ye?We.endAbove=V:P.push({indent:ye,endAbove:V,line:V})}return c.toIndentRanges(f)}const mu=(0,uo.q5)("folding-expanded",Mi.lA.chevronDown,(0,Se.NC)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),cg=(0,uo.q5)("folding-collapsed",Mi.lA.chevronRight,(0,Se.NC)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),g0=(0,uo.q5)("folding-manual-collapsed",cg,(0,Se.NC)("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),lp=(0,uo.q5)("folding-manual-expanded",mu,(0,Se.NC)("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin."));class Co{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t||this.showFoldingControls==="never"?Co.HIDDEN_RANGE_DECORATION:e?i?this.showFoldingHighlights?Co.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Co.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Co.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Co.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Co.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Co.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Co.MANUALLY_EXPANDED_VISUAL_DECORATION:Co.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}Co.COLLAPSED_VISUAL_DECORATION=on.qx.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Xe.kS.asClassName(cg)}),Co.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=on.qx.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:Xe.kS.asClassName(cg)}),Co.MANUALLY_COLLAPSED_VISUAL_DECORATION=on.qx.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Xe.kS.asClassName(mu)}),Co.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=on.qx.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:Xe.kS.asClassName(g0)}),Co.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=on.qx.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Xe.kS.asClassName(mu)}),Co.EXPANDED_VISUAL_DECORATION=on.qx.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Xe.kS.asClassName(mu)}),Co.MANUALLY_EXPANDED_VISUAL_DECORATION=on.qx.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Xe.kS.asClassName(lp)}),Co.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=on.qx.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Xe.kS.asClassName(lp)}),Co.HIDDEN_RANGE_DECORATION=on.qx.register({description:"folding-hidden-range-decoration",stickiness:1});const G1={},Q1="syntax";class Z1{constructor(e,t,i,s){this.editorModel=e,this.providers=t,this.limit=s,this.id=Q1;for(const o of t)typeof o.onDidChange=="function"&&(this.disposables||(this.disposables=new lt.SL),this.disposables.add(o.onDidChange(i)))}compute(e,t){return Y1(this.providers,this.editorModel,e).then(i=>i?J1(i,this.limit,t):null)}dispose(){var e;(e=this.disposables)===null||e===void 0||e.dispose()}}function Y1(f,e,t){let i=null;const s=f.map((o,c)=>Promise.resolve(o.provideFoldingRanges(e,G1,t)).then(p=>{if(!t.isCancellationRequested&&Array.isArray(p)){Array.isArray(i)||(i=[]);const P=e.getLineCount();for(const j of p)j.start>0&&j.end>j.start&&j.end<=P&&i.push({start:j.start,end:j.end,rank:c,kind:j.kind})}},Vi.Cp));return Promise.all(s).then(o=>i)}class X1{constructor(e,t){this._notifyTooManyRegions=t,this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,s){if(e>aa||t>aa)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=s,this._types[o]=i,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){var e;if(this._length<=this._foldingRangesLimit){const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let s=0;s<this._length;s++)t[s]=this._startIndexes[s],i[s]=this._endIndexes[s];return new fr(t,i,this._types)}else{(e=this._notifyTooManyRegions)===null||e===void 0||e.call(this,this._foldingRangesLimit);let t=0,i=this._nestingLevelCounts.length;for(let p=0;p<this._nestingLevelCounts.length;p++){const P=this._nestingLevelCounts[p];if(P){if(P+t>this._foldingRangesLimit){i=p;break}t+=P}}const s=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),c=[];for(let p=0,P=0;p<this._length;p++){const j=this._nestingLevels[p];(j<i||j===i&&t++<this._foldingRangesLimit)&&(s[P]=this._startIndexes[p],o[P]=this._endIndexes[p],c[P]=this._types[p],P++)}return new fr(s,o,c)}}}function J1(f,e,t){const i=f.sort((p,P)=>{let j=p.start-P.start;return j===0&&(j=p.rank-P.rank),j}),s=new X1(e,t);let o;const c=[];for(const p of i)if(!o)o=p,s.add(p.start,p.end,p.kind&&p.kind.value,c.length);else if(p.start>o.start)if(p.end<=o.end)c.push(o),o=p,s.add(p.start,p.end,p.kind&&p.kind.value,c.length);else{if(p.start>o.end){do o=c.pop();while(o&&p.start>o.end);o&&c.push(o),o=p}s.add(p.start,p.end,p.kind&&p.kind.value,c.length)}return s.toIndentRanges()}var q1=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},pu=function(f,e){return function(t,i){e(t,i,f)}};const xo=new ht.uy("foldingEnabled",!1);let Jc=class wv extends lt.JT{constructor(e,t,i,s,o,c){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=c,this._tooManyRegionsNotified=!1,this.localToDispose=this._register(new lt.SL),this.editor=e;const p=this.editor.getOptions();this._isEnabled=p.get(39),this._useFoldingProviders=p.get(40)!=="indentation",this._unfoldOnClickAfterEndOfLine=p.get(44),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=p.get(42),this._maxFoldingRegions=p.get(43),this.updateDebounceInfo=o.for(c.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new Co(e),this.foldingDecorationProvider.showFoldingControls=p.get(101),this.foldingDecorationProvider.showFoldingHighlights=p.get(41),this.foldingEnabled=xo.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._notifyTooManyRegions=P=>{this._tooManyRegionsNotified||(s.notify({severity:Kl.Z.Warning,sticky:!0,message:Se.NC("maximum fold ranges",`The number of foldable regions is limited to a maximum of {0}. Increase configuration option ['Folding Maximum Regions'](command:workbench.action.openSettings?["editor.foldingMaximumRegions"]) to enable more.`,P)}),this._tooManyRegionsNotified=!0)},this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(P=>{if(P.hasChanged(39)&&(this._isEnabled=this.editor.getOptions().get(39),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),P.hasChanged(43)&&(this._maxFoldingRegions=this.editor.getOptions().get(43),this._tooManyRegionsNotified=!1,this.onModelChanged()),P.hasChanged(101)||P.hasChanged(41)){const j=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=j.get(101),this.foldingDecorationProvider.showFoldingHighlights=j.get(41),this.triggerFoldingModelChanged()}P.hasChanged(40)&&(this._useFoldingProviders=this.editor.getOptions().get(40)!=="indentation",this.onFoldingStrategyChanged()),P.hasChanged(44)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(44)),P.hasChanged(42)&&(this._foldingImportsByDefault=this.editor.getOptions().get(42))})),this.onModelChanged()}static get(e){return e.getContribution(wv.ID)}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&!(!e||e.lineCount!==t.getLineCount())&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new M1(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new V1(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Ot.vp(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Ot.pY(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler&&this.updateScheduler.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new j1(e,this.languageConfigurationService,this._maxFoldingRegions),this._useFoldingProviders&&this.foldingModel){const t=this.languageFeaturesService.foldingRangeProvider.ordered(this.foldingModel.textModel);t.length>0&&(this.rangeProvider=new Z1(e,t,()=>this.triggerFoldingModelChanged(),this._maxFoldingRegions))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)===null||t===void 0||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new Xs.G(!0),i=this.getRangeProvider(e.textModel),s=this.foldingRegionPromise=(0,Ot.PG)(o=>i.compute(o,this._notifyTooManyRegions));return s.then(o=>{if(o&&s===this.foldingRegionPromise){let c;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const V=o.setCollapsedAllOfType(Je.AD.Imports.value,!0);V&&(c=Lo.Z.capture(this.editor),this._currentModelHasFoldedImports=V)}const p=this.editor.getSelections(),P=p?p.map(V=>V.startLineNumber):[];e.update(o,P),c?.restore(this.editor);const j=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=j)}return e})}).then(void 0,e=>((0,Vi.dL)(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const s=[];for(const o of i){const c=o.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(c)&&s.push(...t.getAllRegionsAtLine(c,p=>p.isCollapsed&&c>p.startLineNumber))}s.length&&(t.toggleCollapseState(s),this.reveal(i[0].getPosition()))}}}).then(void 0,Vi.dL)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const s=e.target.detail,o=e.target.element.offsetLeft;if(s.offsetX-o<5)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const s=this.editor.getModel();if(s&&t.startColumn===s.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,s=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==i)return;if(s){if(e.target.type!==4)return}else{const p=this.editor.getModel();if(!p||o.startColumn!==p.getLineMaxColumn(i))return}const c=t.getRegionAtLine(i);if(c&&c.startLineNumber===i){const p=c.isCollapsed;if(s||p){const P=e.event.altKey;let j=[];if(P){const V=ye=>!ye.containedBy(c)&&!c.containedBy(ye),ae=t.getRegionsInside(null,V);for(const ye of ae)ye.isCollapsed&&j.push(ye);j.length===0&&(j=ae)}else{const V=e.event.middleButton||e.event.shiftKey;if(V)for(const ae of t.getRegionsInside(c))ae.isCollapsed===p&&j.push(ae);(p||!V||j.length===0)&&j.push(c)}t.toggleCollapseState(j),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Jc.ID="editor.contrib.folding",Jc=q1([pu(1,ht.i6),pu(2,lo.c_),pu(3,bs.lT),pu(4,Do.A),pu(5,Yi.p)],Jc);class Oo extends Ae.R6{runEditorCommand(e,t,i){const s=e.get(lo.c_),o=Jc.get(t);if(!o)return;const c=o.getFoldingModel();if(c)return this.reportTelemetry(e,t),c.then(p=>{if(p){this.invoke(o,p,t,i,s);const P=t.getSelection();P&&o.reveal(P.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function m0(f){if(!_i.o8(f)){if(!_i.Kn(f))return!1;const e=f;if(!_i.o8(e.levels)&&!_i.hj(e.levels)||!_i.o8(e.direction)&&!_i.HD(e.direction)||!_i.o8(e.selectionLines)&&(!_i.kJ(e.selectionLines)||!e.selectionLines.every(_i.hj)))return!1}return!0}class eb extends Oo{constructor(){super({id:"editor.unfold",label:Se.NC("unfoldAction.label","Unfold"),alias:"Unfold",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument: * 'levels': Number of levels to unfold. If not set, defaults to 1. * 'direction': If 'up', unfold given number of levels up otherwise unfolds down. * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used. `,constraint:m0,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,s){const o=s&&s.levels||1,c=this.getLineNumbers(s,i);s&&s.direction==="up"?h0(t,!1,o,c):Xc(t,!1,o,c)}}class tb extends Oo{constructor(){super({id:"editor.unfoldRecursively",label:Se.NC("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2137),weight:100}})}invoke(e,t,i,s){Xc(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class ib extends Oo{constructor(){super({id:"editor.fold",label:Se.NC("foldAction.label","Fold"),alias:"Fold",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument: * 'levels': Number of levels to fold. * 'direction': If 'up', folds given number of levels up otherwise folds down. * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used. If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead. `,constraint:m0,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,s){const o=this.getLineNumbers(s,i),c=s&&s.levels,p=s&&s.direction;typeof c!="number"&&typeof p!="string"?R1(t,!0,o):p==="up"?h0(t,!0,c||1,o):Xc(t,!0,c||1,o)}}class nb extends Oo{constructor(){super({id:"editor.toggleFold",label:Se.NC("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2090),weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);A1(t,1,s)}}class sb extends Oo{constructor(){super({id:"editor.foldRecursively",label:Se.NC("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2135),weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);Xc(t,!0,Number.MAX_VALUE,s)}}class ob extends Oo{constructor(){super({id:"editor.foldAllBlockComments",label:Se.NC("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2133),weight:100}})}invoke(e,t,i,s,o){if(t.regions.hasTypes())ap(t,Je.AD.Comment.value,!0);else{const c=i.getModel();if(!c)return;const p=o.getLanguageConfiguration(c.getLanguageId()).comments;if(p&&p.blockCommentStartToken){const P=new RegExp("^\\s*"+(0,Ni.ec)(p.blockCommentStartToken));rp(t,P,!0)}}}}class rb extends Oo{constructor(){super({id:"editor.foldAllMarkerRegions",label:Se.NC("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2077),weight:100}})}invoke(e,t,i,s,o){if(t.regions.hasTypes())ap(t,Je.AD.Region.value,!0);else{const c=i.getModel();if(!c)return;const p=o.getLanguageConfiguration(c.getLanguageId()).foldingRules;if(p&&p.markers&&p.markers.start){const P=new RegExp(p.markers.start);rp(t,P,!0)}}}}class ab extends Oo{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:Se.NC("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2078),weight:100}})}invoke(e,t,i,s,o){if(t.regions.hasTypes())ap(t,Je.AD.Region.value,!1);else{const c=i.getModel();if(!c)return;const p=o.getLanguageConfiguration(c.getLanguageId()).foldingRules;if(p&&p.markers&&p.markers.start){const P=new RegExp(p.markers.start);rp(t,P,!1)}}}}class lb extends Oo{constructor(){super({id:"editor.foldAllExcept",label:Se.NC("foldAllExcept.label","Fold All Regions Except Selected"),alias:"Fold All Regions Except Selected",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2131),weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);u0(t,!0,s)}}class db extends Oo{constructor(){super({id:"editor.unfoldAllExcept",label:Se.NC("unfoldAllExcept.label","Unfold All Regions Except Selected"),alias:"Unfold All Regions Except Selected",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2129),weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);u0(t,!1,s)}}class cb extends Oo{constructor(){super({id:"editor.foldAll",label:Se.NC("foldAllAction.label","Fold All"),alias:"Fold All",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2069),weight:100}})}invoke(e,t,i){Xc(t,!0)}}class hb extends Oo{constructor(){super({id:"editor.unfoldAll",label:Se.NC("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2088),weight:100}})}invoke(e,t,i){Xc(t,!1)}}class Hd extends Oo{getFoldingLevel(){return parseInt(this.id.substr(Hd.ID_PREFIX.length))}invoke(e,t,i){P1(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}Hd.ID_PREFIX="editor.foldLevel",Hd.ID=f=>Hd.ID_PREFIX+f;class ub extends Oo{constructor(){super({id:"editor.gotoParentFold",label:Se.NC("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);if(s.length>0){const o=O1(s[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class fb extends Oo{constructor(){super({id:"editor.gotoPreviousFold",label:Se.NC("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);if(s.length>0){const o=F1(s[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class gb extends Oo{constructor(){super({id:"editor.gotoNextFold",label:Se.NC("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,weight:100}})}invoke(e,t,i){const s=this.getSelectedLines(i);if(s.length>0){const o=B1(s[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class mb extends Oo{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:Se.NC("createManualFoldRange.label","Create Manual Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2130),weight:100}})}invoke(e,t,i){var s;const o=[],c=i.getSelections();if(c){for(const p of c){let P=p.endLineNumber;p.endColumn===1&&--P,P>p.startLineNumber&&(o.push({startLineNumber:p.startLineNumber,endLineNumber:P,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:p.startLineNumber,startColumn:1,endLineNumber:p.startLineNumber,endColumn:1}))}if(o.length>0){o.sort((P,j)=>P.startLineNumber-j.startLineNumber);const p=fr.sanitizeAndMerge(t.regions,o,(s=i.getModel())===null||s===void 0?void 0:s.getLineCount());t.updatePost(fr.fromFoldRanges(p))}}}}class pb extends Oo{constructor(){super({id:"editor.removeManualFoldingRanges",label:Se.NC("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2132),weight:100}})}invoke(e,t,i){const s=i.getSelections();if(s){const o=[];for(const c of s){const{startLineNumber:p,endLineNumber:P}=c;o.push(P>=p?{startLineNumber:p,endLineNumber:P}:{endLineNumber:P,startLineNumber:p})}t.removeManualRanges(o),e.triggerFoldingModelChanged()}}}(0,Ae._K)(Jc.ID,Jc),(0,Ae.Qr)(eb),(0,Ae.Qr)(tb),(0,Ae.Qr)(ib),(0,Ae.Qr)(sb),(0,Ae.Qr)(cb),(0,Ae.Qr)(hb),(0,Ae.Qr)(ob),(0,Ae.Qr)(rb),(0,Ae.Qr)(ab),(0,Ae.Qr)(lb),(0,Ae.Qr)(db),(0,Ae.Qr)(nb),(0,Ae.Qr)(ub),(0,Ae.Qr)(fb),(0,Ae.Qr)(gb),(0,Ae.Qr)(mb),(0,Ae.Qr)(pb);for(let f=1;f<=7;f++)(0,Ae.QG)(new Hd({id:Hd.ID(f),label:Se.NC("foldLevelAction.label","Fold Level {0}",f),alias:`Fold Level ${f}`,precondition:xo,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2048|21+f),weight:100}}));const _b=(0,be.P6G)("editor.foldBackground",{light:(0,be.ZnX)(be.hEj,.3),dark:(0,be.ZnX)(be.hEj,.3),hcDark:null,hcLight:null},Se.NC("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0),Cb=(0,be.P6G)("editorGutter.foldingControlForeground",{dark:be.XZx,light:be.XZx,hcDark:be.XZx,hcLight:be.XZx},Se.NC("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));(0,Xe.Ic)((f,e)=>{const t=f.getColor(_b);t&&e.addRule(`.monaco-editor .folded-background { background-color: ${t}; }`);const i=f.getColor(Cb);i&&e.addRule(` .monaco-editor .cldr${Xe.kS.asCSSSelector(mu)}, .monaco-editor .cldr${Xe.kS.asCSSSelector(cg)}, .monaco-editor .cldr${Xe.kS.asCSSSelector(lp)}, .monaco-editor .cldr${Xe.kS.asCSSSelector(g0)} { color: ${i} !important; } `)});var _u=m(44314);class vb extends Ae.R6{constructor(){super({id:"editor.action.fontZoomIn",label:Se.NC("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})}run(e,t){_u.C.setZoomLevel(_u.C.getZoomLevel()+1)}}class bb extends Ae.R6{constructor(){super({id:"editor.action.fontZoomOut",label:Se.NC("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})}run(e,t){_u.C.setZoomLevel(_u.C.getZoomLevel()-1)}}class wb extends Ae.R6{constructor(){super({id:"editor.action.fontZoomReset",label:Se.NC("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})}run(e,t){_u.C.setZoomLevel(0)}}(0,Ae.Qr)(vb),(0,Ae.Qr)(bb),(0,Ae.Qr)(wb);var qc=m(18457),Cu=m(81698),vu=m(47754),Sb=m(35844),p0=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},hg=function(f,e){return function(t,i){e(t,i,f)}},dp=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let bu=class{constructor(e,t,i){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._disposables=new lt.SL,this._sessionDisposables=new lt.SL,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(s=>{s.hasChanged(51)&&this._update()}))}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(51)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new qc.q;for(const s of t.autoFormatTriggerCharacters)i.add(s.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(s=>{const o=s.charCodeAt(s.length-1);i.has(o)&&this._trigger(String.fromCharCode(o))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),s=new Ai.A,o=this._editor.onDidChangeModelContent(c=>{if(c.isFlush){s.cancel(),o.dispose();return}for(let p=0,P=c.changes.length;p<P;p++)if(c.changes[p].range.endLineNumber<=i.lineNumber){s.cancel(),o.dispose();return}});(0,vu.Qs)(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),s.token).then(c=>{s.token.isCancellationRequested||(0,hn.Of)(c)&&(Sb.V.execute(this._editor,c,!0),(0,vu.Zg)(c))}).finally(()=>{o.dispose()})}};bu.ID="editor.contrib.autoFormat",bu=p0([hg(1,Yi.p),hg(2,Cu.p)],bu);let wu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new lt.SL,this._callOnModel=new lt.SL,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(50)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(vu.x$,this.editor,e,2,Is.Ex.None,Ai.T.None).catch(Vi.dL))}};wu.ID="editor.contrib.formatOnPaste",wu=p0([hg(1,Yi.p),hg(2,F.TG)],wu);class yb extends Ae.R6{constructor(){super({id:"editor.action.formatDocument",label:Se.NC("formatDocument.label","Format Document"),alias:"Format Document",precondition:ht.Ao.and(Ue.u.notInCompositeEditor,Ue.u.writable,Ue.u.hasDocumentFormattingProvider),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(e,t){return dp(this,void 0,void 0,function*(){if(t.hasModel()){const i=e.get(F.TG);yield e.get(Is.ek).showWhile(i.invokeFunction(vu.Qq,t,1,Is.Ex.None,Ai.T.None),250)}})}}class Lb extends Ae.R6{constructor(){super({id:"editor.action.formatSelection",label:Se.NC("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2084),weight:100},contextMenuOpts:{when:Ue.u.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(e,t){return dp(this,void 0,void 0,function*(){if(!t.hasModel())return;const i=e.get(F.TG),s=t.getModel(),o=t.getSelections().map(p=>p.isEmpty()?new yt.e(p.startLineNumber,1,p.startLineNumber,s.getLineMaxColumn(p.startLineNumber)):p);yield e.get(Is.ek).showWhile(i.invokeFunction(vu.x$,t,o,1,Is.Ex.None,Ai.T.None),250)})}}(0,Ae._K)(bu.ID,bu),(0,Ae._K)(wu.ID,wu),(0,Ae.Qr)(yb),(0,Ae.Qr)(Lb),mn.P0.registerCommand("editor.action.format",f=>dp(void 0,void 0,void 0,function*(){const e=f.get(Qi.$).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=f.get(mn.Hy);e.getSelection().isEmpty()?yield t.executeCommand("editor.action.formatDocument"):yield t.executeCommand("editor.action.formatSelection")}));var Su=m(20459),Db=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},cp=function(f,e){return function(t,i){e(t,i,f)}},Eb=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class eh{remove(){var e;(e=this.parent)===null||e===void 0||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let s=i;for(let o=0;t.children.get(s)!==void 0;o++)s=`${i}_${o}`;return s}static empty(e){return e.children.size===0}}class ug extends eh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class Ib extends eh{constructor(e,t,i,s){super(),this.id=e,this.parent=t,this.label=i,this.order=s,this.children=new Map}}class rl extends eh{constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}static create(e,t,i){const s=new Ai.A(i),o=new rl(t.uri),c=e.ordered(t),p=c.map((j,V)=>{var ae;const ye=eh.findId(`provider_${V}`,o),We=new Ib(ye,o,(ae=j.displayName)!==null&&ae!==void 0?ae:"Unknown Outline Provider",V);return Promise.resolve(j.provideDocumentSymbols(t,s.token)).then(Ze=>{for(const it of Ze||[])rl._makeOutlineElement(it,We);return We},Ze=>((0,Vi.Cp)(Ze),We)).then(Ze=>{eh.empty(Ze)?Ze.remove():o._groups.set(ye,Ze)})}),P=e.onDidChange(()=>{const j=e.ordered(t);(0,hn.fS)(j,c)||s.cancel()});return Promise.all(p).then(()=>s.token.isCancellationRequested&&!i.isCancellationRequested?rl.create(e,t,i):o._compact()).finally(()=>{P.dispose()})}static _makeOutlineElement(e,t){const i=eh.findId(e,t),s=new ug(i,t,e);if(e.children)for(const o of e.children)rl._makeOutlineElement(o,s);t.children.set(s.id,s)}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=Su.$.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof ug?e.push(t.symbol):e.push(...Su.$.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>yt.e.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return rl._flattenDocumentSymbols(t,e,""),t.sort((i,s)=>wi.L.compare(yt.e.getStartPosition(i.range),yt.e.getStartPosition(s.range))||wi.L.compare(yt.e.getEndPosition(s.range),yt.e.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const s of t)e.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||i,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&rl._flattenDocumentSymbols(e,s.children,s.name)}}const fg=(0,F.yh)("IOutlineModelService");let hp=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new lt.SL,this._cache=new nr.z6(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(s=>{this._cache.delete(s.id)}))}dispose(){this._disposables.dispose()}getOrCreate(e,t){return Eb(this,void 0,void 0,function*(){const i=this._languageFeaturesService.documentSymbolProvider,s=i.ordered(e);let o=this._cache.get(e.id);if(!o||o.versionId!==e.getVersionId()||!(0,hn.fS)(o.provider,s)){const p=new Ai.A;o={versionId:e.getVersionId(),provider:s,promiseCnt:0,source:p,promise:rl.create(i,e,p.token),model:void 0},this._cache.set(e.id,o);const P=Date.now();o.promise.then(j=>{o.model=j,this._debounceInformation.update(e,Date.now()-P)}).catch(j=>{this._cache.delete(e.id)})}if(o.model)return o.model;o.promiseCnt+=1;const c=t.onCancellationRequested(()=>{--o.promiseCnt===0&&(o.source.cancel(),this._cache.delete(e.id))});try{return yield o.promise}finally{c.dispose()}})}};hp=Db([cp(0,Yi.p),cp(1,Do.A),cp(2,Ss.q)],hp),(0,sr.z)(fg,hp,!0);var xb=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};mn.P0.registerCommand("_executeDocumentSymbolProvider",function(f,...e){return xb(this,void 0,void 0,function*(){const[t]=e;(0,_i.p_)(vn.o.isUri(t));const i=f.get(fg),o=yield f.get(zs.S).createModelReference(t);try{return(yield i.getOrCreate(o.object.textEditorModel,Ai.T.None)).getTopLevelSymbols()}finally{o.dispose()}})});const gg="editor.action.inlineSuggest.commit";var Nb=m(76502);function kb(f,e){return{object:f,dispose:()=>e?.dispose()}}function Tb(f,e){const t=new Mb(f),i=e.map(s=>{const o=yt.e.lift(s.range);return{startOffset:t.getOffset(o.getStartPosition()),endOffset:t.getOffset(o.getEndPosition()),text:s.text}});i.sort((s,o)=>o.startOffset-s.startOffset);for(const s of i)f=f.substring(0,s.startOffset)+s.text+f.substring(s.endOffset);return f}class Mb{constructor(e){this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t<e.length;t++)e.charAt(t)===` `&&this.lineStartOffsetByLineIdx.push(t+1)}getOffset(e){return this.lineStartOffsetByLineIdx[e.lineNumber-1]+e.column-1}}const Ab=[];function Rb(){return Ab}class _0{constructor(e,t,i=0){this.lineNumber=e,this.parts=t,this.additionalReservedLineCount=i}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return Tb(i,this.parts.map(o=>({range:{startLineNumber:1,endLineNumber:1,startColumn:o.column,endColumn:o.column},text:o.lines.join(` `)}))).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}}class up{constructor(e,t,i){this.column=e,this.lines=t,this.preview=i}}class C0{constructor(e,t,i,s,o=0){this.lineNumber=e,this.columnStart=t,this.length=i,this.newLines=s,this.additionalReservedLineCount=o,this.parts=[new up(this.columnStart+this.length,this.newLines,!1)]}renderForScreenReader(e){return this.newLines.join(` `)}}class v0 extends lt.JT{constructor(e){super(),this.editor=e,this._expanded=void 0,this.onDidChangeEmitter=new Hi.Q5,this.onDidChange=this.onDidChangeEmitter.event,this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(108)&&this._expanded===void 0&&this.onDidChangeEmitter.fire()}))}setExpanded(e){this._expanded=!0,this.onDidChangeEmitter.fire()}}var Pb=m(28079);function mg(f,e){if(!e)return e;const t=f.getValueInRange(e.range),i=Ni.Mh(t,e.insertText),s=f.getOffsetAt(e.range.getStartPosition())+i,o=f.getPositionAt(s),c=t.substr(i),p=Ni.P1(c,e.insertText),P=f.getPositionAt(Math.max(s,f.getOffsetAt(e.range.getEndPosition())-p));return{range:yt.e.fromPositions(o,P),insertText:e.insertText.substr(i,e.insertText.length-i-p),snippetInfo:e.snippetInfo,filterText:e.filterText,additionalTextEdits:e.additionalTextEdits}}function Ob(f,e){return f===e?!0:!f||!e?!1:f.range.equalsRange(e.range)&&f.insertText===e.insertText&&f.command===e.command}function b0(f,e,t,i,s=0){if(f.range.startLineNumber!==f.range.endLineNumber)return;const o=e.getLineContent(f.range.startLineNumber),c=Ni.V8(o).length;if(f.range.startColumn-1<=c){const We=Ni.V8(f.insertText).length,Ze=o.substring(f.range.startColumn-1,c),it=yt.e.fromPositions(f.range.getStartPosition().delta(0,Ze.length),f.range.getEndPosition()),vt=f.insertText.startsWith(Ze)?f.insertText.substring(Ze.length):f.insertText.substring(We);f={range:it,insertText:vt,command:f.command,snippetInfo:void 0,filterText:f.filterText,additionalTextEdits:f.additionalTextEdits}}const P=e.getValueInRange(f.range),j=Fb(P,f.insertText);if(!j)return;const V=f.range.startLineNumber,ae=new Array;if(t==="prefix"){const We=j.filter(Ze=>Ze.originalLength===0);if(We.length>1||We.length===1&&We[0].originalStart!==P.length)return}const ye=f.insertText.length-s;for(const We of j){const Ze=f.range.startColumn+We.originalStart+We.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===f.range.startLineNumber&&Ze<i.column||We.originalLength>0)return;if(We.modifiedLength===0)continue;const it=We.modifiedStart+We.modifiedLength,vt=Math.max(We.modifiedStart,Math.min(it,ye)),zt=f.insertText.substring(We.modifiedStart,vt),hi=f.insertText.substring(vt,Math.max(We.modifiedStart,it));if(zt.length>0){const gi=Ni.uq(zt);ae.push(new up(Ze,gi,!1))}if(hi.length>0){const gi=Ni.uq(hi);ae.push(new up(Ze,gi,!0))}}return new _0(V,ae,0)}let Ia;function Fb(f,e){if(Ia?.originalValue===f&&Ia?.newValue===e)return Ia?.changes;{let t=S0(f,e,!0);if(t){const i=w0(t);if(i>0){const s=S0(f,e,!1);s&&w0(s)<i&&(t=s)}}return Ia={originalValue:f,newValue:e,changes:t},t}}function w0(f){let e=0;for(const t of f)e+=Math.max(t.originalLength-t.modifiedLength,0);return e}function S0(f,e,t){if(f.length>5e3||e.length>5e3)return;function i(j){let V=0;for(let ae=0,ye=j.length;ae<ye;ae++){const We=j.charCodeAt(ae);We>V&&(V=We)}return V}const s=Math.max(i(f),i(e));function o(j){if(j<0)throw new Error("unexpected");return s+j+1}function c(j){let V=0,ae=0;const ye=new Int32Array(j.length);for(let We=0,Ze=j.length;We<Ze;We++)if(t&&j[We]==="("){const it=ae*100+V;ye[We]=o(2*it),V++}else if(t&&j[We]===")"){V=Math.max(V-1,0);const it=ae*100+V;ye[We]=o(2*it+1),V===0&&ae++}else ye[We]=j.charCodeAt(We);return ye}const p=c(f),P=c(e);return new Pb.Hs({getElements:()=>p},{getElements:()=>P}).ComputeDiff(!1).changes}var Bb=m(33281),Xl=m(77438),Wb=m(87996),Vb=m(60937),Hb=m(97009);function zb(f,e){const t=new Vb.FE,i=new Bb.Z(t,j=>e.getLanguageConfiguration(j)),s=new Hb.xH(new Ub([f]),i),o=(0,Wb.w)(s,[],void 0,!0);let c="";const p=f.getLineContent();function P(j,V){if(j.kind===2)if(P(j.openingBracket,V),V=(0,Xl.Ii)(V,j.openingBracket.length),j.child&&(P(j.child,V),V=(0,Xl.Ii)(V,j.child.length)),j.closingBracket)P(j.closingBracket,V),V=(0,Xl.Ii)(V,j.closingBracket.length);else{const ye=i.getSingleLanguageBracketTokens(j.openingBracket.languageId).findClosingTokenText(j.openingBracket.bracketIds);c+=ye}else if(j.kind!==3){if(j.kind===0||j.kind===1)c+=p.substring((0,Xl.F_)(V),(0,Xl.F_)((0,Xl.Ii)(V,j.length)));else if(j.kind===4)for(const ae of j.children)P(ae,V),V=(0,Xl.Ii)(V,ae.length)}}return P(o,Xl.xl),c}class Ub{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}var jb=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},yu=function(f,e){return function(t,i){e(t,i,f)}},al=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let fp=class extends lt.JT{constructor(e,t,i,s,o,c,p){super(),this.editor=e,this.cache=t,this.commandService=i,this.languageConfigurationService=s,this.languageFeaturesService=o,this.debounceService=c,this.onDidChangeEmitter=new Hi.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.completionSession=this._register(new lt.XK),this.active=!1,this.disposed=!1,this.debounceValue=this.debounceService.for(this.languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._register(i.onDidExecuteCommand(P=>{new Set([Ye.wk.Tab.id,Ye.wk.DeleteLeft.id,Ye.wk.DeleteRight.id,gg,"acceptSelectedSuggestion"]).has(P.commandId)&&e.hasTextFocus()&&this.handleUserInput()})),this._register(this.editor.onDidType(P=>{this.handleUserInput()})),this._register(this.editor.onDidChangeCursorPosition(P=>{(P.reason===3||this.session&&!this.session.isValid)&&this.hide()})),this._register((0,lt.OF)(()=>{this.disposed=!0})),this._register(this.editor.onDidBlurEditorWidget(()=>{p.getValue("editor.inlineSuggest.hideOnBlur")||this.hide()}))}handleUserInput(){this.session&&!this.session.isValid&&this.hide(),setTimeout(()=>{this.disposed||this.startSessionIfTriggered()},0)}get session(){return this.completionSession.value}get ghostText(){var e;return(e=this.session)===null||e===void 0?void 0:e.ghostText}get minReservedLineCount(){return this.session?this.session.minReservedLineCount:0}setExpanded(e){var t;(t=this.session)===null||t===void 0||t.setExpanded(e)}setActive(e){var t;this.active=e,e&&((t=this.session)===null||t===void 0||t.scheduleAutomaticUpdate())}startSessionIfTriggered(){this.editor.getOption(57).enabled&&(this.session&&this.session.isValid||this.trigger(Je.bw.Automatic))}trigger(e){if(this.completionSession.value){e===Je.bw.Explicit&&this.completionSession.value.ensureUpdateWithExplicitContext();return}this.completionSession.value=new Kb(this.editor,this.editor.getPosition(),()=>this.active,this.commandService,this.cache,e,this.languageConfigurationService,this.languageFeaturesService.inlineCompletionsProvider,this.debounceValue),this.completionSession.value.takeOwnership(this.completionSession.value.onDidChange(()=>{this.onDidChangeEmitter.fire()}))}hide(){this.completionSession.clear(),this.onDidChangeEmitter.fire()}commitCurrentSuggestion(){var e;(e=this.session)===null||e===void 0||e.commitCurrentCompletion()}showNext(){var e;(e=this.session)===null||e===void 0||e.showNextInlineCompletion()}showPrevious(){var e;(e=this.session)===null||e===void 0||e.showPreviousInlineCompletion()}hasMultipleInlineCompletions(){var e;return al(this,void 0,void 0,function*(){const t=yield(e=this.session)===null||e===void 0?void 0:e.hasMultipleInlineCompletions();return t!==void 0?t:!1})}};fp=jb([yu(2,mn.Hy),yu(3,lo.c_),yu(4,Yi.p),yu(5,Do.A),yu(6,ce.Ui)],fp);class Kb extends v0{constructor(e,t,i,s,o,c,p,P,j){super(e),this.triggerPosition=t,this.shouldUpdate=i,this.commandService=s,this.cache=o,this.initialTriggerKind=c,this.languageConfigurationService=p,this.registry=P,this.debounce=j,this.minReservedLineCount=0,this.updateOperation=this._register(new lt.XK),this.updateSoon=this._register(new Ot.pY(()=>{const ae=this.initialTriggerKind;return this.initialTriggerKind=Je.bw.Automatic,this.update(ae)},50)),this.filteredCompletions=[],this.currentlySelectedCompletionId=void 0;let V;this._register(this.onDidChange(()=>{var ae;const ye=this.currentCompletion;if(ye&&ye.sourceInlineCompletion!==V){V=ye.sourceInlineCompletion;const We=ye.sourceProvider;(ae=We.handleItemDidShow)===null||ae===void 0||ae.call(We,ye.sourceInlineCompletions,V)}})),this._register((0,lt.OF)(()=>{this.cache.clear()})),this._register(this.editor.onDidChangeCursorPosition(ae=>{var ye;ae.reason!==3&&((ye=this.cache.value)===null||ye===void 0||ye.updateRanges(),this.cache.value&&(this.updateFilteredInlineCompletions(),this.onDidChangeEmitter.fire()))})),this._register(this.editor.onDidChangeModelContent(ae=>{var ye;(ye=this.cache.value)===null||ye===void 0||ye.updateRanges(),this.updateFilteredInlineCompletions(),this.scheduleAutomaticUpdate()})),this._register(this.registry.onDidChange(()=>{this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))})),this.scheduleAutomaticUpdate()}updateFilteredInlineCompletions(){if(!this.cache.value){this.filteredCompletions=[];return}const e=this.editor.getModel(),t=e.validatePosition(this.editor.getPosition());this.filteredCompletions=this.cache.value.completions.filter(i=>{const s=e.getValueInRange(i.synchronizedRange).toLowerCase(),o=i.inlineCompletion.filterText.toLowerCase(),c=e.getLineIndentColumn(i.synchronizedRange.startLineNumber),p=Math.max(0,t.column-i.synchronizedRange.startColumn);let P=o.substring(0,p),j=o.substring(p),V=s.substring(0,p),ae=s.substring(p);return i.synchronizedRange.startColumn<=c&&(V=V.trimStart(),V.length===0&&(ae=ae.trimStart()),P=P.trimStart(),P.length===0&&(j=j.trimStart())),P.startsWith(V)&&(0,Zi.Sy)(ae,j)})}fixAndGetIndexOfCurrentSelection(){if(!this.currentlySelectedCompletionId||!this.cache.value||this.cache.value.completions.length===0)return 0;const e=this.filteredCompletions.findIndex(t=>t.semanticId===this.currentlySelectedCompletionId);return e===-1?(this.currentlySelectedCompletionId=void 0,0):e}get currentCachedCompletion(){if(this.cache.value)return this.filteredCompletions[this.fixAndGetIndexOfCurrentSelection()]}showNextInlineCompletion(){return al(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const e=this.filteredCompletions||[];if(e.length>0){const t=(this.fixAndGetIndexOfCurrentSelection()+1)%e.length;this.currentlySelectedCompletionId=e[t].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}showPreviousInlineCompletion(){return al(this,void 0,void 0,function*(){yield this.ensureUpdateWithExplicitContext();const e=this.filteredCompletions||[];if(e.length>0){const t=(this.fixAndGetIndexOfCurrentSelection()+e.length-1)%e.length;this.currentlySelectedCompletionId=e[t].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()})}ensureUpdateWithExplicitContext(){var e;return al(this,void 0,void 0,function*(){this.updateOperation.value?this.updateOperation.value.triggerKind===Je.bw.Explicit?yield this.updateOperation.value.promise:yield this.update(Je.bw.Explicit):((e=this.cache.value)===null||e===void 0?void 0:e.triggerKind)!==Je.bw.Explicit&&(yield this.update(Je.bw.Explicit))})}hasMultipleInlineCompletions(){var e;return al(this,void 0,void 0,function*(){return yield this.ensureUpdateWithExplicitContext(),(((e=this.cache.value)===null||e===void 0?void 0:e.completions.length)||0)>1})}get ghostText(){const e=this.currentCompletion;if(!e)return;const t=this.editor.getPosition();if(e.range.getEndPosition().isBefore(t))return;const i=this.editor.getOptions().get(57).mode,s=b0(e,this.editor.getModel(),i,t);return s?s.isEmpty()?void 0:s:new C0(e.range.startLineNumber,e.range.startColumn,e.range.endColumn-e.range.startColumn,e.insertText.split(` `),0)}get currentCompletion(){const e=this.currentCachedCompletion;if(e)return e.toLiveInlineCompletion()}get isValid(){return this.editor.getPosition().lineNumber===this.triggerPosition.lineNumber}scheduleAutomaticUpdate(){this.updateOperation.clear(),this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))}update(e){return al(this,void 0,void 0,function*(){if(!this.shouldUpdate())return;const t=this.editor.getPosition(),i=new Date,s=(0,Ot.PG)(c=>al(this,void 0,void 0,function*(){let p;try{p=yield L0(this.registry,t,this.editor.getModel(),{triggerKind:e,selectedSuggestionInfo:void 0},c,this.languageConfigurationService);const P=new Date;this.debounce.update(this.editor.getModel(),P.getTime()-i.getTime())}catch(P){(0,Vi.dL)(P);return}c.isCancellationRequested||(this.cache.setValue(this.editor,p,e),this.updateFilteredInlineCompletions(),this.onDidChangeEmitter.fire())})),o=new y0(s,e);this.updateOperation.value=o,yield s,this.updateOperation.value===o&&this.updateOperation.clear()})}takeOwnership(e){this._register(e)}commitCurrentCompletion(){if(!this.ghostText)return;const t=this.currentCompletion;t&&this.commit(t)}commit(e){var t;const i=this.cache.clearAndLeak();e.snippetInfo?(this.editor.executeEdits("inlineSuggestion.accept",[yn.h.replaceMove(e.range,""),...e.additionalTextEdits]),this.editor.setPosition(e.snippetInfo.range.getStartPosition()),(t=no.get(this.editor))===null||t===void 0||t.insert(e.snippetInfo.snippet)):this.editor.executeEdits("inlineSuggestion.accept",[yn.h.replaceMove(e.range,e.insertText),...e.additionalTextEdits]),e.command?this.commandService.executeCommand(e.command.id,...e.command.arguments||[]).finally(()=>{i?.dispose()}).then(void 0,Vi.Cp):i?.dispose(),this.onDidChangeEmitter.fire()}get commands(){var e;return[...new Set(((e=this.cache.value)===null||e===void 0?void 0:e.completions.map(i=>i.inlineCompletion.sourceInlineCompletions))||[])].flatMap(i=>i.commands||[])}}class y0{constructor(e,t){this.promise=e,this.triggerKind=t}dispose(){this.promise.cancel()}}class $b extends lt.JT{constructor(e,t,i,s){super(),this.editor=t,this.onChange=i,this.triggerKind=s,this.isDisposing=!1;const o=t.changeDecorations(c=>c.deltaDecorations([],e.items.map(p=>({range:p.range,options:{description:"inline-completion-tracking-range"}}))));this._register((0,lt.OF)(()=>{this.isDisposing=!0,t.removeDecorations(o)})),this.completions=e.items.map((c,p)=>new Gb(c,o[p])),this._register(t.onDidChangeModelContent(()=>{this.updateRanges()})),this._register(e)}updateRanges(){if(this.isDisposing)return;let e=!1;const t=this.editor.getModel();for(const i of this.completions){const s=t.getDecorationRange(i.decorationId);if(!s){(0,Vi.dL)(new Error("Decoration has no range"));continue}i.synchronizedRange.equalsRange(s)||(e=!0,i.synchronizedRange=s)}e&&this.onChange()}}class Gb{constructor(e,t){this.inlineCompletion=e,this.decorationId=t,this.semanticId=JSON.stringify({text:this.inlineCompletion.insertText,abbreviation:this.inlineCompletion.filterText,startLine:this.inlineCompletion.range.startLineNumber,startColumn:this.inlineCompletion.range.startColumn,command:this.inlineCompletion.command}),this.synchronizedRange=e.range}toLiveInlineCompletion(){return{insertText:this.inlineCompletion.insertText,range:this.synchronizedRange,command:this.inlineCompletion.command,sourceProvider:this.inlineCompletion.sourceProvider,sourceInlineCompletions:this.inlineCompletion.sourceInlineCompletions,sourceInlineCompletion:this.inlineCompletion.sourceInlineCompletion,snippetInfo:this.inlineCompletion.snippetInfo,filterText:this.inlineCompletion.filterText,additionalTextEdits:this.inlineCompletion.additionalTextEdits}}}function L0(f,e,t,i,s=Ai.T.None,o){return al(this,void 0,void 0,function*(){const c=Qb(e,t),p=f.all(t),P=yield Promise.all(p.map(V=>al(this,void 0,void 0,function*(){const ae=yield Promise.resolve(V.provideInlineCompletions(t,e,i,s)).catch(Vi.Cp);return{completions:ae,provider:V,dispose:()=>{ae&&V.freeInlineCompletions(ae)}}}))),j=new Map;for(const V of P){const ae=V.completions;if(ae)for(const ye of ae.items){let We=ye.range?yt.e.lift(ye.range):c;if(We.startLineNumber!==We.endLineNumber)continue;let Ze,it;if(typeof ye.insertText=="string"){if(Ze=ye.insertText,o&&ye.completeBracketPairs){Ze=Zb(Ze,We.getStartPosition(),t,o);const zt=Ze.length-ye.insertText.length;zt!==0&&(We=new yt.e(We.startLineNumber,We.startColumn,We.endLineNumber,We.endColumn+zt))}it=void 0}else"snippet"in ye.insertText?(Ze=new ia().parse(ye.insertText.snippet).toString(),it={snippet:ye.insertText.snippet,range:We}):(0,_i.vE)(ye.insertText);const vt={insertText:Ze,snippetInfo:it,range:We,command:ye.command,sourceProvider:V.provider,sourceInlineCompletions:ae,sourceInlineCompletion:ye,filterText:ye.filterText||Ze,additionalTextEdits:ye.additionalTextEdits||Rb()};j.set(JSON.stringify({insertText:Ze,range:ye.range}),vt)}}return{items:[...j.values()],dispose:()=>{for(const V of P)V.dispose()}}})}function Qb(f,e){const t=e.getWordAtPosition(f),i=e.getLineMaxColumn(f.lineNumber);return t?new yt.e(f.lineNumber,t.startColumn,f.lineNumber,i):yt.e.fromPositions(f,f.with(void 0,i))}function Zb(f,e,t,i){const o=t.getLineContent(e.lineNumber).substring(0,e.column-1)+f,c=t.tokenization.tokenizeLineWithEdit(e,o.length-(e.column-1),f),p=c?.sliceAndInflate(e.column-1,o.length,0);return p?zb(p,i):f}var D0=m(72407),Yb=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},E0=function(f,e){return function(t,i){e(t,i,f)}};class gp{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const s=i[0].score[0];for(let o=0;o<i.length;o++){const{score:c,completion:p}=i[o];if(c[0]!==s)break;if(p.preselect)return o}return 0}}class I0 extends gp{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class Xb extends gp{constructor(){super("recentlyUsed"),this._cache=new nr.z6(300,.66),this._seq=0}memorize(e,t,i){const s=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(s,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const s=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(s))return super.select(e,t,i);const o=i[0].score[0];let c=-1,p=-1,P=-1;for(let j=0;j<i.length&&i[j].score[0]===o;j++){const V=`${e.getLanguageId()}/${i[j].textLabel}`,ae=this._cache.peek(V);if(ae&&ae.touch>P&&ae.type===i[j].completion.kind&&ae.insertText===i[j].completion.insertText&&(P=ae.touch,p=j),i[j].completion.preselect&&c===-1)return c=j}return p!==-1?p:c!==-1?c:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,s]of e)s.touch=t,s.type=typeof s.type=="number"?s.type:Je.gX.fromString(s.type),this._cache.set(i,s);this._seq=this._cache.size}}class Jb extends gp{constructor(){super("recentlyUsedByPrefix"),this._trie=nr.Id.forStrings(),this._seq=0}memorize(e,t,i){const{word:s}=e.getWordUntilPosition(t),o=`${e.getLanguageId()}/${s}`;this._trie.set(o,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:s}=e.getWordUntilPosition(t);if(!s)return super.select(e,t,i);const o=`${e.getLanguageId()}/${s}`;let c=this._trie.get(o);if(c||(c=this._trie.findSubstr(o)),c)for(let p=0;p<i.length;p++){const{kind:P,insertText:j}=i[p].completion;if(P===c.type&&j===c.insertText)return p}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:Je.gX.fromString(i.type),this._trie.set(t,i)}}}let Lu=class dm{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new lt.SL,this._persistSoon=new Ot.pY(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===mo.fk.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var i;const s=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((i=this._strategy)===null||i===void 0?void 0:i.name)!==s){this._saveState();const o=dm._strategyCtors.get(s)||I0;this._strategy=new o;try{const p=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,P=this._storageService.get(`${dm._storagePrefix}/${s}`,p);P&&this._strategy.fromJSON(JSON.parse(P))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${dm._storagePrefix}/${this._strategy.name}`,i,t,1)}}};Lu._strategyCtors=new Map([["recentlyUsedByPrefix",Jb],["recentlyUsed",Xb],["first",I0]]),Lu._storagePrefix="suggest/memories",Lu=Yb([E0(0,mo.Uy),E0(1,ce.Ui)],Lu);const pg=(0,F.yh)("ISuggestMemories");(0,sr.z)(pg,Lu,!0);var qb=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ew=function(f,e){return function(t,i){e(t,i,f)}};let Du=class Sv{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=Sv.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(113)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)===null||e===void 0||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(113)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),s=this._editor.getSelection(),o=i.getWordAtPosition(s.getStartPosition());if(!o){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(o.endColumn===s.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};Du.AtEnd=new ht.uy("atEndOfWord",!1),Du=qb([ew(1,ht.i6)],Du);var tw=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},iw=function(f,e){return function(t,i){e(t,i,f)}};let zd=class cm{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=cm.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)===null||e===void 0||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(cm._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let s=i;for(;s=(s+t.items.length+(e?1:-1))%t.items.length,!(s===i||!t.items[s].completion.additionalTextEdits););return s}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=cm._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};zd.OtherSuggestions=new ht.uy("hasOtherSuggestions",!1),zd=tw([iw(1,ht.i6)],zd);class nw{constructor(e,t,i){this._disposables=new lt.SL,this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(s=>{if(this._active&&!t.isFrozen()){const o=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(o)&&e.getOption(0)&&i(this._active.item)}}))}_onItem(e){if(!e||!(0,hn.Of)(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new qc.q;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}var sw=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class gr{provideSelectionRanges(e,t){return sw(this,void 0,void 0,function*(){const i=[];for(const s of t){const o=[];i.push(o);const c=new Map;yield new Promise(p=>gr._bracketsRightYield(p,0,e,s,c)),yield new Promise(p=>gr._bracketsLeftYield(p,0,e,s,c,o))}return i})}static _bracketsRightYield(e,t,i,s,o){const c=new Map,p=Date.now();for(;;){if(t>=gr._maxRounds){e();break}if(!s){e();break}const P=i.bracketPairs.findNextBracket(s);if(!P){e();break}if(Date.now()-p>gr._maxDuration){setTimeout(()=>gr._bracketsRightYield(e,t+1,i,s,o));break}if(P.bracketInfo.isOpeningBracket){const V=P.bracketInfo.bracketText,ae=c.has(V)?c.get(V):0;c.set(V,ae+1)}else{const V=P.bracketInfo.getClosedBrackets()[0].bracketText;let ae=c.has(V)?c.get(V):0;if(ae-=1,c.set(V,Math.max(0,ae)),ae<0){let ye=o.get(V);ye||(ye=new Wf.S,o.set(V,ye)),ye.push(P.range)}}s=P.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,s,o,c){const p=new Map,P=Date.now();for(;;){if(t>=gr._maxRounds&&o.size===0){e();break}if(!s){e();break}const j=i.bracketPairs.findPrevBracket(s);if(!j){e();break}if(Date.now()-P>gr._maxDuration){setTimeout(()=>gr._bracketsLeftYield(e,t+1,i,s,o,c));break}if(j.bracketInfo.isOpeningBracket){const ae=j.bracketInfo.bracketText;let ye=p.has(ae)?p.get(ae):0;if(ye-=1,p.set(ae,Math.max(0,ye)),ye<0){const We=o.get(ae);if(We){const Ze=We.shift();We.size===0&&o.delete(ae);const it=yt.e.fromPositions(j.range.getEndPosition(),Ze.getStartPosition()),vt=yt.e.fromPositions(j.range.getStartPosition(),Ze.getEndPosition());c.push({range:it}),c.push({range:vt}),gr._addBracketLeading(i,vt,c)}}}else{const ae=j.bracketInfo.getClosedBrackets()[0].bracketText,ye=p.has(ae)?p.get(ae):0;p.set(ae,ye+1)}s=j.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const s=t.startLineNumber,o=e.getLineFirstNonWhitespaceColumn(s);o!==0&&o!==t.startColumn&&(i.push({range:yt.e.fromPositions(new wi.L(s,o),t.getEndPosition())}),i.push({range:yt.e.fromPositions(new wi.L(s,1),t.getEndPosition())}));const c=s-1;if(c>0){const p=e.getLineFirstNonWhitespaceColumn(c);p===t.startColumn&&p!==e.getLineLastNonWhitespaceColumn(c)&&(i.push({range:yt.e.fromPositions(new wi.L(c,p),t.getEndPosition())}),i.push({range:yt.e.fromPositions(new wi.L(c,1),t.getEndPosition())}))}}}gr._maxDuration=30,gr._maxRounds=2;var ow=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class la{static create(e,t){return ow(this,void 0,void 0,function*(){if(!t.getOption(108).localityBonus||!t.hasModel())return la.None;const i=t.getModel(),s=t.getPosition();if(!e.canComputeWordRanges(i.uri))return la.None;const[o]=yield new gr().provideSelectionRanges(i,[s]);if(o.length===0)return la.None;const c=yield e.computeWordRanges(i.uri,o[0].range);if(!c)return la.None;const p=i.getWordUntilPosition(s);return delete c[p.word],new class extends la{distance(P,j){if(!s.equals(t.getPosition()))return 0;if(j.kind===17)return 2<<20;const V=typeof j.label=="string"?j.label:j.label.label,ae=c[V];if((0,hn.XY)(ae))return 2<<20;const ye=(0,hn.ry)(ae,yt.e.fromPositions(P),yt.e.compareRangesUsingStarts),We=ye>=0?ae[ye]:ae[Math.max(0,~ye-1)];let Ze=o.length;for(const it of o){if(!yt.e.containsRange(it.range,We))break;Ze-=1}return Ze}}})}}la.None=new class extends la{distance(){return 0}};class x0{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}}class Jl{constructor(e,t,i,s,o,c,p=Zi.mX.default,P=void 0){this.clipboardText=P,this._snippetCompareFn=Jl._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=s,this._options=o,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=p,c==="top"?this._snippetCompareFn=Jl._compareCompletionItemsSnippetsUp:c==="bottom"&&(this._snippetCompareFn=Jl._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}get allProvider(){return this._ensureCachedState(),this._providerInfo.keys()}get incomplete(){this._ensureCachedState();const e=new Set;for(const[t,i]of this._providerInfo)i&&e.add(t);return e}adopt(e){const t=[];for(let i=0;i<this._items.length;)e.has(this._items[i].provider)?i++:(t.push(this._items[i]),this._items[i]=this._items[this._items.length-1],this._items.pop());return this._refilterKind=1,t}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._providerInfo=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let s="",o="";const c=this._refilterKind===1?this._items:this._filteredItems,p=[],P=!this._options.filterGraceful||c.length>2e3?Zi.EW:Zi.l7;for(let j=0;j<c.length;j++){const V=c[j];if(V.isInvalid)continue;this._providerInfo.set(V.provider,!!V.container.incomplete);const ae=V.position.column-V.editStart.column,ye=ae+i-(V.position.column-this._column);if(s.length!==ye&&(s=ye===0?"":t.slice(-ye),o=s.toLowerCase()),V.word=s,ye===0)V.score=Zi.CL.Default;else{let We=0;for(;We<ae;){const Ze=s.charCodeAt(We);if(Ze===32||Ze===9)We+=1;else break}if(We>=ye)V.score=Zi.CL.Default;else if(typeof V.completion.filterText=="string"){const Ze=P(s,o,We,V.completion.filterText,V.filterTextLow,0,this._fuzzyScoreOptions);if(!Ze)continue;(0,Ni.zY)(V.completion.filterText,V.textLabel)===0?V.score=Ze:(V.score=(0,Zi.jB)(s,o,We,V.textLabel,V.labelLow,0),V.score[0]=Ze[0])}else{const Ze=P(s,o,We,V.textLabel,V.labelLow,0,this._fuzzyScoreOptions);if(!Ze)continue;V.score=Ze}}V.idx=j,V.distance=this._wordDistance.distance(V.position,V.completion),p.push(V),e.push(V.textLabel.length)}this._filteredItems=p.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?(0,hn.HW)(e.length-.85,e,(j,V)=>j-V):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return Jl._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return Jl._compareCompletionItems(e,t)}}var rw=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Ud=function(f,e){return function(t,i){e(t,i,f)}},aw=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class th{constructor(e,t,i,s,o){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=i,this.shy=s,this.noSelect=o}static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.getWordAtPosition(i);return!(!s||s.endColumn!==i.column||!isNaN(Number(s.word)))}}function SE(f){return f.getOption(108).preview}function lw(f,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=t.getValue("editor.inlineSuggest.allowQuickSuggestions");return i!==void 0?!!i:!1}function dw(f,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=t.getValue("editor.inlineSuggest.allowSuggestOnTriggerCharacters");return i!==void 0?!!i:!1}let mp=class yv{constructor(e,t,i,s,o,c,p,P){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=s,this._logService=o,this._contextKeyService=c,this._configurationService=p,this._languageFeaturesService=P,this._toDispose=new lt.SL,this._triggerCharacterListener=new lt.SL,this._triggerQuickSuggest=new Ot._F,this._state=0,this._completionDisposables=new lt.SL,this._onDidCancel=new Hi.Q5,this._onDidTrigger=new Hi.Q5,this._onDidSuggest=new Hi.Q5,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ii.Y(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let j=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{j=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{j=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(V=>{j||this._onCursorChange(V)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{j||this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){(0,lt.B9)(this._triggerCharacterListener),(0,lt.B9)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(83)||!this._editor.hasModel()||!this._editor.getOption(111))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const s of i.triggerCharacters||[]){let o=e.get(s);o||(o=new Set,o.add(bm()),e.set(s,o)),o.add(i)}const t=i=>{if(!dw(this._editor,this._contextKeyService,this._configurationService)||th.shouldAutoTrigger(this._editor))return;if(!i){const c=this._editor.getPosition();i=this._editor.getModel().getLineContent(c.lineNumber).substr(0,c.column-1)}let s="";(0,Ni.YK)(i.charCodeAt(i.length-1))?(0,Ni.ZG)(i.charCodeAt(i.length-2))&&(s=i.substr(i.length-2)):s=i.charAt(i.length-1);const o=e.get(s);if(o){const c=this._completionModel?{items:this._completionModel.adopt(o),clipboardText:this._completionModel.clipboardText}:void 0;this.trigger({auto:!0,shy:!1,noSelect:!1,triggerCharacter:s},!!this._completionModel,o,c)}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._state}cancel(e=!1){var t;this._state!==0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)===null||t===void 0||t.cancel(),this._requestToken=void 0,this._state=0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._state!==0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._state===2,shy:!1,noSelect:!1},!0))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._state===0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._state!==0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._state===0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;zl.isAllOff(this._editor.getOption(81))||this._editor.getOption(108).snippetsPreventQuickSuggestions&&(!((e=no.get(this._editor))===null||e===void 0)&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._state!==0||!th.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),s=this._editor.getOption(81);if(!zl.isAllOff(s)){if(!zl.isAllOn(s)){t.tokenization.tokenizeIfCheap(i.lineNumber);const o=t.tokenization.getLineTokens(i.lineNumber),c=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(zl.valueFor(s,c)!=="on")return}lw(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0,shy:!1,noSelect:!1})}},this._editor.getOption(82)))}_refilterCompletionItems(){Promise.resolve().then(()=>{if(this._state===0||!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=new th(e,t,this._state===2,!1,!1);this._onNewContext(i)})}trigger(e,t=!1,i,s,o){var c;if(!this._editor.hasModel())return;const p=this._editor.getModel(),P=e.auto,j=new th(p,this._editor.getPosition(),P,e.shy,e.noSelect);this.cancel(t),this._state=P?2:1,this._onDidTrigger.fire({auto:P,shy:e.shy,position:this._editor.getPosition()}),this._context=j;let V={triggerKind:(c=e.triggerKind)!==null&&c!==void 0?c:0};e.triggerCharacter&&(V={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Ai.A;const ae=this._editor.getOption(103);let ye=1;switch(ae){case"top":ye=0;break;case"bottom":ye=2;break}const{itemKind:We,showDeprecated:Ze}=yv._createSuggestFilter(this._editor),it=new kd(ye,o?new Set:We,i,Ze),vt=la.create(this._editorWorkerService,this._editor),zt=Qh(this._languageFeaturesService.completionProvider,p,this._editor.getPosition(),it,V,this._requestToken.token);Promise.all([zt,vt]).then(([hi,gi])=>aw(this,void 0,void 0,function*(){var ji;if((ji=this._requestToken)===null||ji===void 0||ji.dispose(),!this._editor.hasModel())return;let cn=s?.clipboardText;if(!cn&&hi.needsClipboard&&(cn=yield this._clipboardService.readText()),this._state===0)return;const us=this._editor.getModel();let Pn=hi.items;if(s){const Fo=Ef(ye);Pn=Pn.concat(s.items).sort(Fo)}const vo=new th(us,this._editor.getPosition(),P,e.shy,e.noSelect);this._completionModel=new Jl(Pn,this._context.column,{leadingLineContent:vo.leadingLineContent,characterCountDelta:vo.column-this._context.column},gi,this._editor.getOption(108),this._editor.getOption(103),void 0,cn),this._completionDisposables.add(hi.disposable),this._onNewContext(vo),this._reportDurationsTelemetry(hi.durations)})).catch(Vi.dL)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static _createSuggestFilter(e){const t=new Set;e.getOption(103)==="none"&&t.add(27);const s=e.getOption(108);return s.showMethods||t.add(0),s.showFunctions||t.add(1),s.showConstructors||t.add(2),s.showFields||t.add(3),s.showVariables||t.add(4),s.showClasses||t.add(5),s.showStructs||t.add(6),s.showInterfaces||t.add(7),s.showModules||t.add(8),s.showProperties||t.add(9),s.showEvents||t.add(10),s.showOperators||t.add(11),s.showUnits||t.add(12),s.showValues||t.add(13),s.showConstants||t.add(14),s.showEnums||t.add(15),s.showEnumMembers||t.add(16),s.showKeywords||t.add(17),s.showWords||t.add(18),s.showColors||t.add(19),s.showFiles||t.add(20),s.showReferences||t.add(21),s.showColors||t.add(22),s.showFolders||t.add(23),s.showTypeParameters||t.add(24),s.showSnippets||t.add(27),s.showUsers||t.add(25),s.showIssues||t.add(26),{itemKind:t,showDeprecated:s.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if((0,Ni.V8)(e.leadingLineContent)!==(0,Ni.V8)(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.auto,shy:!1,noSelect:!1},!0):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){const t=new Set(this._languageFeaturesService.completionProvider.all(this._editor.getModel()));for(const s of this._completionModel.allProvider)t.delete(s);const i=this._completionModel.adopt(new Set);this.trigger({auto:this._context.auto,shy:!1,noSelect:!1},!0,t,{items:i,clipboardText:this._completionModel.clipboardText});return}if(e.column>this._context.column&&this._completionModel.incomplete.size>0&&e.leadingWord.word.length!==0){const{incomplete:t}=this._completionModel,i=this._completionModel.adopt(t);this.trigger({auto:this._state===2,shy:!1,noSelect:!1,triggerKind:2},!0,t,{items:i,clipboardText:this._completionModel.clipboardText})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){if(th.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.auto,shy:!1,noSelect:!1},!0);return}if(this._context.auto){this.cancel();return}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,noSelect:this._context.noSelect,isFrozen:i})}}}}};mp=rw([Ud(1,Cu.p),Ud(2,Oi.p),Ud(3,Me.b),Ud(4,Ns.VZ),Ud(5,ht.i6),Ud(6,ce.Ui),Ud(7,Yi.p)],mp);class _g{constructor(e,t){this._disposables=new lt.SL,this._lastOvertyped=[],this._empty=!0,this._disposables.add(e.onWillType(()=>{if(!this._empty||!e.hasModel())return;const i=e.getSelections(),s=i.length;let o=!1;for(let p=0;p<s;p++)if(!i[p].isEmpty()){o=!0;break}if(!o)return;this._lastOvertyped=[];const c=e.getModel();for(let p=0;p<s;p++){const P=i[p];if(c.getValueLengthInRange(P)>_g._maxSelectionLength)return;this._lastOvertyped[p]={value:c.getValueInRange(P),multiline:P.startLineNumber!==P.endLineNumber}}this._empty=!1})),this._disposables.add(t.onDidCancel(i=>{!this._empty&&!i.retrigger&&(this._empty=!0)}))}getLastOvertypedInfo(e){if(!this._empty&&e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}}_g._maxSelectionLength=51200;var yE=m(82587),cw=m(54060),LE=m(3869),hw=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},pp=function(f,e){return function(t,i){e(t,i,f)}};class _p extends Xr{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();this.label&&(this.label.textContent=(0,Se.NC)("ddd","{0} ({1})",this._action.label,_p.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return(t=e.getLabel())===null||t===void 0?void 0:t.replace(/\benter\b/gi,"\u23CE")}}let Cp=class{constructor(e,t,i,s){this._menuService=i,this._contextKeyService=s,this._menuDisposables=new lt.SL,this.element=M.R3(e,M.$(".suggest-status-bar"));const o=c=>c instanceof Ne.U8?t.createInstance(_p,c,void 0):void 0;this._leftActions=new Yr.o(this.element,{actionViewItemProvider:o}),this._rightActions=new Yr.o(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(na,this._contextKeyService),t=()=>{const i=[],s=[];for(const[o,c]of e.getActions())o==="left"?i.push(...c):s.push(...c);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(s)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};Cp=hw([pp(1,F.TG),pp(2,Ne.co),pp(3,ht.i6)],Cp);const uw=(0,be.P6G)("symbolIcon.arrayForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw=(0,be.P6G)("symbolIcon.booleanForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),gw=(0,be.P6G)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,Se.NC)("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),mw=(0,be.P6G)("symbolIcon.colorForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),pw=(0,be.P6G)("symbolIcon.constantForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),_w=(0,be.P6G)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,Se.NC)("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Cw=(0,be.P6G)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,Se.NC)("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),vw=(0,be.P6G)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,Se.NC)("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),bw=(0,be.P6G)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,Se.NC)("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ww=(0,be.P6G)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,Se.NC)("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Sw=(0,be.P6G)("symbolIcon.fileForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),yw=(0,be.P6G)("symbolIcon.folderForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Lw=(0,be.P6G)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,Se.NC)("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Dw=(0,be.P6G)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,Se.NC)("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Ew=(0,be.P6G)("symbolIcon.keyForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Iw=(0,be.P6G)("symbolIcon.keywordForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),xw=(0,be.P6G)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,Se.NC)("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Nw=(0,be.P6G)("symbolIcon.moduleForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),kw=(0,be.P6G)("symbolIcon.namespaceForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Tw=(0,be.P6G)("symbolIcon.nullForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Mw=(0,be.P6G)("symbolIcon.numberForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Aw=(0,be.P6G)("symbolIcon.objectForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Rw=(0,be.P6G)("symbolIcon.operatorForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Pw=(0,be.P6G)("symbolIcon.packageForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Ow=(0,be.P6G)("symbolIcon.propertyForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Fw=(0,be.P6G)("symbolIcon.referenceForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Bw=(0,be.P6G)("symbolIcon.snippetForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Ww=(0,be.P6G)("symbolIcon.stringForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Vw=(0,be.P6G)("symbolIcon.structForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Hw=(0,be.P6G)("symbolIcon.textForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),zw=(0,be.P6G)("symbolIcon.typeParameterForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),Uw=(0,be.P6G)("symbolIcon.unitForeground",{dark:be.dRz,light:be.dRz,hcDark:be.dRz,hcLight:be.dRz},(0,Se.NC)("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),jw=(0,be.P6G)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,Se.NC)("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));(0,Xe.Ic)((f,e)=>{const t=f.getColor(uw);t&&e.addRule(`${Mi.lA.symbolArray.cssSelector} { color: ${t}; }`);const i=f.getColor(fw);i&&e.addRule(`${Mi.lA.symbolBoolean.cssSelector} { color: ${i}; }`);const s=f.getColor(gw);s&&e.addRule(`${Mi.lA.symbolClass.cssSelector} { color: ${s}; }`);const o=f.getColor(xw);o&&e.addRule(`${Mi.lA.symbolMethod.cssSelector} { color: ${o}; }`);const c=f.getColor(mw);c&&e.addRule(`${Mi.lA.symbolColor.cssSelector} { color: ${c}; }`);const p=f.getColor(pw);p&&e.addRule(`${Mi.lA.symbolConstant.cssSelector} { color: ${p}; }`);const P=f.getColor(_w);P&&e.addRule(`${Mi.lA.symbolConstructor.cssSelector} { color: ${P}; }`);const j=f.getColor(Cw);j&&e.addRule(` ${Mi.lA.symbolValue.cssSelector},${Mi.lA.symbolEnum.cssSelector} { color: ${j}; }`);const V=f.getColor(vw);V&&e.addRule(`${Mi.lA.symbolEnumMember.cssSelector} { color: ${V}; }`);const ae=f.getColor(bw);ae&&e.addRule(`${Mi.lA.symbolEvent.cssSelector} { color: ${ae}; }`);const ye=f.getColor(ww);ye&&e.addRule(`${Mi.lA.symbolField.cssSelector} { color: ${ye}; }`);const We=f.getColor(Sw);We&&e.addRule(`${Mi.lA.symbolFile.cssSelector} { color: ${We}; }`);const Ze=f.getColor(yw);Ze&&e.addRule(`${Mi.lA.symbolFolder.cssSelector} { color: ${Ze}; }`);const it=f.getColor(Lw);it&&e.addRule(`${Mi.lA.symbolFunction.cssSelector} { color: ${it}; }`);const vt=f.getColor(Dw);vt&&e.addRule(`${Mi.lA.symbolInterface.cssSelector} { color: ${vt}; }`);const zt=f.getColor(Ew);zt&&e.addRule(`${Mi.lA.symbolKey.cssSelector} { color: ${zt}; }`);const hi=f.getColor(Iw);hi&&e.addRule(`${Mi.lA.symbolKeyword.cssSelector} { color: ${hi}; }`);const gi=f.getColor(Nw);gi&&e.addRule(`${Mi.lA.symbolModule.cssSelector} { color: ${gi}; }`);const ji=f.getColor(kw);ji&&e.addRule(`${Mi.lA.symbolNamespace.cssSelector} { color: ${ji}; }`);const cn=f.getColor(Tw);cn&&e.addRule(`${Mi.lA.symbolNull.cssSelector} { color: ${cn}; }`);const us=f.getColor(Mw);us&&e.addRule(`${Mi.lA.symbolNumber.cssSelector} { color: ${us}; }`);const Pn=f.getColor(Aw);Pn&&e.addRule(`${Mi.lA.symbolObject.cssSelector} { color: ${Pn}; }`);const vo=f.getColor(Rw);vo&&e.addRule(`${Mi.lA.symbolOperator.cssSelector} { color: ${vo}; }`);const Fo=f.getColor(Pw);Fo&&e.addRule(`${Mi.lA.symbolPackage.cssSelector} { color: ${Fo}; }`);const jo=f.getColor(Ow);jo&&e.addRule(`${Mi.lA.symbolProperty.cssSelector} { color: ${jo}; }`);const xa=f.getColor(Fw);xa&&e.addRule(`${Mi.lA.symbolReference.cssSelector} { color: ${xa}; }`);const oc=f.getColor(Bw);oc&&e.addRule(`${Mi.lA.symbolSnippet.cssSelector} { color: ${oc}; }`);const pr=f.getColor(Ww);pr&&e.addRule(`${Mi.lA.symbolString.cssSelector} { color: ${pr}; }`);const Xu=f.getColor(Vw);Xu&&e.addRule(`${Mi.lA.symbolStruct.cssSelector} { color: ${Xu}; }`);const rc=f.getColor(Hw);rc&&e.addRule(`${Mi.lA.symbolText.cssSelector} { color: ${rc}; }`);const im=f.getColor(zw);im&&e.addRule(`${Mi.lA.symbolTypeParameter.cssSelector} { color: ${im}; }`);const Ju=f.getColor(Uw);Ju&&e.addRule(`${Mi.lA.symbolUnit.cssSelector} { color: ${Ju}; }`);const qu=f.getColor(jw);qu&&e.addRule(`${Mi.lA.symbolVariable.cssSelector} { color: ${qu}; }`)});class N0{constructor(){this._onDidWillResize=new Hi.Q5,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Hi.Q5,this.onDidResize=this._onDidResize.event,this._sashListener=new lt.SL,this._size=new M.Ro(0,0),this._minSize=new M.Ro(0,0),this._maxSize=new M.Ro(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Pr.g(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Pr.g(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Pr.g(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:Pr.l.North}),this._southSash=new Pr.g(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:Pr.l.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(Hi.ju.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(Hi.ju.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(s=>{e&&(i=s.currentX-s.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(s=>{e&&(i=-(s.currentX-s.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(s=>{e&&(t=-(s.currentY-s.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(s=>{e&&(t=s.currentY-s.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(Hi.ju.any(this._eastSash.onDidReset,this._westSash.onDidReset)(s=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(Hi.ju.any(this._northSash.onDidReset,this._southSash.onDidReset)(s=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,s){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=s?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:s}=this._minSize,{height:o,width:c}=this._maxSize;e=Math.max(i,Math.min(o,e)),t=Math.max(s,Math.min(c,t));const p=new M.Ro(t,e);M.Ro.equals(p,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=p,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}var Kw=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},$w=function(f,e){return function(t,i){e(t,i,f)}};function vp(f){return!!f&&!!(f.completion.documentation||f.completion.detail&&f.completion.detail!==f.completion.label)}let bp=class{constructor(e,t){this._editor=e,this._onDidClose=new Hi.Q5,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Hi.Q5,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new lt.SL,this._renderDisposeable=new lt.SL,this._borderWidth=1,this._size=new M.Ro(330,0),this.domNode=M.$(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Wr,{editor:e}),this._body=M.$(".body"),this._scrollbar=new Io.s$(this._body,{alwaysConsumeMouseWheel:!0}),M.R3(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=M.R3(this._body,M.$(".header")),this._close=M.R3(this._header,M.$("span"+Mi.lA.close.cssSelector)),this._close.title=Se.NC("details.close","Close"),this._type=M.R3(this._header,M.$("p.type")),this._docs=M.R3(this._body,M.$("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(46)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(46),i=t.getMassagedFontFamily(),s=e.get(109)||t.fontSize,o=e.get(110)||t.lineHeight,c=t.fontWeight,p=`${s}px`,P=`${o}px`;this.domNode.style.fontSize=p,this.domNode.style.lineHeight=`${o/s}`,this.domNode.style.fontWeight=c,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=P,this._close.style.width=P}getLayoutInfo(){const e=this._editor.getOption(110)||this._editor.getOption(46).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=Se.NC("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var i,s;this._renderDisposeable.clear();let{detail:o,documentation:c}=e.completion;if(t){let p="";p+=`score: ${e.score[0]} `,p+=`prefix: ${(i=e.word)!==null&&i!==void 0?i:"(no prefix)"} `,p+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel} `,p+=`distance: ${e.distance} (localityBonus-setting) `,p+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"} `,p+=`commit_chars: ${(s=e.completion.commitCharacters)===null||s===void 0?void 0:s.join("")} `,c=new Di.W5().appendCodeblock("empty",p),o=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!vp(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),o){const p=o.length>1e5?`${o.substr(0,1e5)}\u2026`:o;this._type.textContent=p,this._type.title=p,M.$Z(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(p))}else M.PO(this._type),this._type.title="",M.Cp(this._type),this.domNode.classList.add("no-type");if(M.PO(this._docs),typeof c=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=c;else if(c){this._docs.classList.add("markdown-docs"),M.PO(this._docs);const p=this._markdownRenderer.render(c);this._docs.appendChild(p.element),this._renderDisposeable.add(p),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=p=>{p.preventDefault(),p.stopPropagation()},this._close.onclick=p=>{p.preventDefault(),p.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(e,t){const i=new M.Ro(e,t);M.Ro.equals(i,this._size)||(this._size=i,M.dp(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};bp=Kw([$w(1,F.TG)],bp);class Gw{constructor(e,t){this.widget=e,this._editor=t,this._disposables=new lt.SL,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new N0,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,s,o=0,c=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,s=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(p=>{if(i&&s){this.widget.layout(p.dimension.width,p.dimension.height);let P=!1;p.west&&(c=s.width-p.dimension.width,P=!0),p.north&&(o=s.height-p.dimension.height,P=!0),P&&this._applyTopLeft({top:i.top+o,left:i.left+c})}p.done&&(i=void 0,s=void 0,o=0,c=0,this._userSize=p.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var p;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(p=this._userSize)!==null&&p!==void 0?p:this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var i;const s=e.getBoundingClientRect();this._anchorBox=s,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,(i=this._userSize)!==null&&i!==void 0?i:this.widget.size,t)}_placeAtAnchor(e,t,i){var s;const o=M.D6(document.body),c=this.widget.getLayoutInfo(),p=new M.Ro(220,2*c.lineHeight),P=e.top,j=function(){const gi=o.width-(e.left+e.width+c.borderWidth+c.horizontalPadding),ji=-c.borderWidth+e.left+e.width,cn=new M.Ro(gi,o.height-e.top-c.borderHeight-c.verticalPadding),us=cn.with(void 0,e.top+e.height-c.borderHeight-c.verticalPadding);return{top:P,left:ji,fit:gi-t.width,maxSizeTop:cn,maxSizeBottom:us,minSize:p.with(Math.min(gi,p.width))}}(),V=function(){const gi=e.left-c.borderWidth-c.horizontalPadding,ji=Math.max(c.horizontalPadding,e.left-t.width-c.borderWidth),cn=new M.Ro(gi,o.height-e.top-c.borderHeight-c.verticalPadding),us=cn.with(void 0,e.top+e.height-c.borderHeight-c.verticalPadding);return{top:P,left:ji,fit:gi-t.width,maxSizeTop:cn,maxSizeBottom:us,minSize:p.with(Math.min(gi,p.width))}}(),ae=function(){const gi=e.left,ji=-c.borderWidth+e.top+e.height,cn=new M.Ro(e.width-c.borderHeight,o.height-e.top-e.height-c.verticalPadding);return{top:ji,left:gi,fit:cn.height-t.height,maxSizeBottom:cn,maxSizeTop:cn,minSize:p.with(cn.width)}}(),ye=[j,V,ae],We=(s=ye.find(gi=>gi.fit>=0))!==null&&s!==void 0?s:ye.sort((gi,ji)=>ji.fit-gi.fit)[0],Ze=e.top+e.height-c.borderHeight;let it,vt=t.height;const zt=Math.max(We.maxSizeTop.height,We.maxSizeBottom.height);vt>zt&&(vt=zt);let hi;i?vt<=We.maxSizeTop.height?(it=!0,hi=We.maxSizeTop):(it=!1,hi=We.maxSizeBottom):vt<=We.maxSizeBottom.height?(it=!1,hi=We.maxSizeBottom):(it=!0,hi=We.maxSizeTop),this._applyTopLeft({left:We.left,top:it?We.top:Ze-vt}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!it,We===j,it,We!==j),this._resizable.minSize=We.minSize,this._resizable.maxSize=hi,this._resizable.layout(vt,Math.min(hi.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var ll;(function(f){f[f.FILE=0]="FILE",f[f.FOLDER=1]="FOLDER",f[f.ROOT_FOLDER=2]="ROOT_FOLDER"})(ll||(ll={}));const Qw=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Cg(f,e,t,i){const s=i===ll.ROOT_FOLDER?["rootfolder-icon"]:i===ll.FOLDER?["folder-icon"]:["file-icon"];if(t){let o;if(t.scheme===di.lg.data)o=un.Vb.parseMetaData(t).get(un.Vb.META_DATA_LABEL);else{const c=t.path.match(Qw);c?(o=vg(c[2].toLowerCase()),c[1]&&s.push(`${vg(c[1].toLowerCase())}-name-dir-icon`)):o=vg(t.authority.toLowerCase())}if(i===ll.FOLDER)s.push(`${o}-name-folder-icon`);else{if(o){if(s.push(`${o}-name-file-icon`),s.push("name-file-icon"),o.length<=255){const p=o.split(".");for(let P=1;P<p.length;P++)s.push(`${p.slice(P).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const c=Zw(f,e,t);c&&s.push(`${vg(c)}-lang-file-icon`)}}return s}function Zw(f,e,t){if(!t)return null;let i=null;if(t.scheme===di.lg.data){const o=un.Vb.parseMetaData(t).get(un.Vb.META_DATA_MIME);o&&(i=e.getLanguageIdByMimeType(o))}else{const s=f.getModel(t);s&&(i=s.getLanguageId())}return i&&i!==Ji.bd?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function vg(f){return f.replace(/[\11\12\14\15\40]/g,"/")}var Yw=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},wp=function(f,e){return function(t,i){e(t,i,f)}},Eu;function k0(f){return`suggest-aria-id:${f}`}const Xw=(0,uo.q5)("suggest-more-info",Mi.lA.chevronRight,Se.NC("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),Jw=new(Eu=class hm{extract(e,t){if(e.textLabel.match(hm._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(hm._regexStrict))return t[0]=e.completion.detail,!0;if(typeof e.completion.documentation=="string"){const i=hm._regexRelaxed.exec(e.completion.documentation);if(i&&(i.index===0||i.index+i[0].length===e.completion.documentation.length))return t[0]=i[0],!0}return!1}},Eu._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Eu._regexStrict=new RegExp(`^${Eu._regexRelaxed.source}$`,"i"),Eu);let Sp=class{constructor(e,t,i,s){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=s,this._onDidToggleDetails=new Hi.Q5,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=Object.create(null);t.disposables=new lt.SL,t.root=e,t.root.classList.add("show-file-icons"),t.icon=(0,M.R3)(e,(0,M.$)(".icon")),t.colorspan=(0,M.R3)(t.icon,(0,M.$)("span.colorspan"));const i=(0,M.R3)(e,(0,M.$)(".contents")),s=(0,M.R3)(i,(0,M.$)(".main"));t.iconContainer=(0,M.R3)(s,(0,M.$)(".icon-label.codicon")),t.left=(0,M.R3)(s,(0,M.$)("span.left")),t.right=(0,M.R3)(s,(0,M.$)("span.right")),t.iconLabel=new $n.g(t.left,{supportHighlights:!0,supportIcons:!0}),t.disposables.add(t.iconLabel),t.parametersLabel=(0,M.R3)(t.left,(0,M.$)("span.signature-label")),t.qualifierLabel=(0,M.R3)(t.left,(0,M.$)("span.qualifier-label")),t.detailsLabel=(0,M.R3)(t.right,(0,M.$)("span.details-label")),t.readMore=(0,M.R3)(t.right,(0,M.$)("span.readMore"+Xe.kS.asCSSSelector(Xw))),t.readMore.title=Se.NC("readMore","Read More");const o=()=>{const c=this._editor.getOptions(),p=c.get(46),P=p.getMassagedFontFamily(),j=p.fontFeatureSettings,V=c.get(109)||p.fontSize,ae=c.get(110)||p.lineHeight,ye=p.fontWeight,We=p.letterSpacing,Ze=`${V}px`,it=`${ae}px`,vt=`${We}px`;t.root.style.fontSize=Ze,t.root.style.fontWeight=ye,t.root.style.letterSpacing=vt,s.style.fontFamily=P,s.style.fontFeatureSettings=j,s.style.lineHeight=it,t.icon.style.height=it,t.icon.style.width=it,t.readMore.style.height=it,t.readMore.style.width=it};return o(),t.disposables.add(this._editor.onDidChangeConfiguration(c=>{(c.hasChanged(46)||c.hasChanged(109)||c.hasChanged(110))&&o()})),t}renderElement(e,t,i){const{completion:s}=e;i.root.id=k0(t),i.colorspan.style.backgroundColor="";const o={labelEscapeNewLines:!0,matches:(0,Zi.mB)(e.score)},c=[];if(s.kind===19&&Jw.extract(e,c))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=c[0];else if(s.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const p=Cg(this._modelService,this._languageService,vn.o.from({scheme:"fake",path:e.textLabel}),ll.FILE),P=Cg(this._modelService,this._languageService,vn.o.from({scheme:"fake",path:s.detail}),ll.FILE);o.extraClasses=p.length>P.length?p:P}else s.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",o.extraClasses=[Cg(this._modelService,this._languageService,vn.o.from({scheme:"fake",path:e.textLabel}),ll.FOLDER),Cg(this._modelService,this._languageService,vn.o.from({scheme:"fake",path:s.detail}),ll.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Mi.dT.asClassNameArray(Je.gX.toIcon(s.kind))));s.tags&&s.tags.indexOf(1)>=0&&(o.extraClasses=(o.extraClasses||[]).concat(["deprecated"]),o.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,o),typeof s.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=yp(s.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=yp(s.label.detail||""),i.detailsLabel.textContent=yp(s.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(108).showInlineDetails?(0,M.$Z)(i.detailsLabel):(0,M.Cp)(i.detailsLabel),vp(e)?(i.right.classList.add("can-expand-details"),(0,M.$Z)(i.readMore),i.readMore.onmousedown=p=>{p.stopPropagation(),p.preventDefault()},i.readMore.onclick=p=>{p.stopPropagation(),p.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),(0,M.Cp)(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};Sp=Yw([wp(1,Ss.q),wp(2,Bs.O),wp(3,Xe.XE)],Sp);function yp(f){return f.replace(/\r\n|\r|\n/g,"")}var qw=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},bg=function(f,e){return function(t,i){e(t,i,f)}},eS=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const DE=(0,be.P6G)("editorSuggestWidget.background",{dark:be.D0T,light:be.D0T,hcDark:be.D0T,hcLight:be.D0T},Se.NC("editorSuggestWidgetBackground","Background color of the suggest widget.")),EE=(0,be.P6G)("editorSuggestWidget.border",{dark:be.D1_,light:be.D1_,hcDark:be.D1_,hcLight:be.D1_},Se.NC("editorSuggestWidgetBorder","Border color of the suggest widget.")),wg=(0,be.P6G)("editorSuggestWidget.foreground",{dark:be.NOs,light:be.NOs,hcDark:be.NOs,hcLight:be.NOs},Se.NC("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),IE=(0,be.P6G)("editorSuggestWidget.selectedForeground",{dark:be.NPS,light:be.NPS,hcDark:be.NPS,hcLight:be.NPS},Se.NC("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),xE=(0,be.P6G)("editorSuggestWidget.selectedIconForeground",{dark:be.cbQ,light:be.cbQ,hcDark:be.cbQ,hcLight:be.cbQ},Se.NC("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget.")),tS=(0,be.P6G)("editorSuggestWidget.selectedBackground",{dark:be.Vqd,light:be.Vqd,hcDark:be.Vqd,hcLight:be.Vqd},Se.NC("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),NE=(0,be.P6G)("editorSuggestWidget.highlightForeground",{dark:be.Gwp,light:be.Gwp,hcDark:be.Gwp,hcLight:be.Gwp},Se.NC("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),kE=(0,be.P6G)("editorSuggestWidget.focusHighlightForeground",{dark:be.PX0,light:be.PX0,hcDark:be.PX0,hcLight:be.PX0},Se.NC("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),TE=(0,be.P6G)("editorSuggestWidgetStatus.foreground",{dark:(0,be.ZnX)(wg,.5),light:(0,be.ZnX)(wg,.5),hcDark:(0,be.ZnX)(wg,.5),hcLight:(0,be.ZnX)(wg,.5)},Se.NC("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class iS{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof rr}`}restore(){var e;const t=(e=this._service.get(this._key,0))!==null&&e!==void 0?e:"";try{const i=JSON.parse(t);if(M.Ro.is(i))return M.Ro.lift(i)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let Iu=class T_{constructor(e,t,i,s,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Ot._F,this._disposables=new lt.SL,this._onDidSelect=new Hi.Q5,this._onDidFocus=new Hi.Q5,this._onDidHide=new Hi.Q5,this._onDidShow=new Hi.Q5,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Hi.Q5,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new N0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new nS(this,e),this._persistedSize=new iS(t,e);class c{constructor(We,Ze,it=!1,vt=!1){this.persistedSize=We,this.currentSize=Ze,this.persistHeight=it,this.persistWidth=vt}}let p;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),p=new c(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(ye=>{var We,Ze,it,vt;if(this._resize(ye.dimension.width,ye.dimension.height),p&&(p.persistHeight=p.persistHeight||!!ye.north||!!ye.south,p.persistWidth=p.persistWidth||!!ye.east||!!ye.west),!!ye.done){if(p){const{itemHeight:zt,defaultSize:hi}=this.getLayoutInfo(),gi=Math.round(zt/2);let{width:ji,height:cn}=this.element.size;(!p.persistHeight||Math.abs(p.currentSize.height-cn)<=gi)&&(cn=(Ze=(We=p.persistedSize)===null||We===void 0?void 0:We.height)!==null&&Ze!==void 0?Ze:hi.height),(!p.persistWidth||Math.abs(p.currentSize.width-ji)<=gi)&&(ji=(vt=(it=p.persistedSize)===null||it===void 0?void 0:it.width)!==null&&vt!==void 0?vt:hi.width),this._persistedSize.store(new M.Ro(ji,cn))}this._contentWidget.unlockPreference(),p=void 0}})),this._messageElement=M.R3(this.element.domNode,M.$(".message")),this._listElement=M.R3(this.element.domNode,M.$(".tree"));const P=o.createInstance(bp,this.editor);P.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Gw(P,this.editor);const j=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(108).showIcons);j();const V=o.createInstance(Sp,this.editor);this._disposables.add(V),this._disposables.add(V.onDidToggleDetails(()=>this.toggleDetails())),this._list=new ee.aV("SuggestWidget",this._listElement,{getHeight:ye=>this.getLayoutInfo().itemHeight,getTemplateId:ye=>"suggestion"},[V],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>Se.NC("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:ye=>{let We=ye.textLabel;if(typeof ye.completion.label!="string"){const{detail:zt,description:hi}=ye.completion.label;zt&&hi?We=Se.NC("label.full","{0}{1}, {2}",We,zt,hi):zt?We=Se.NC("label.detail","{0}{1}",We,zt):hi&&(We=Se.NC("label.desc","{0}, {1}",We,hi))}if(!ye.isResolved||!this._isDetailsVisible())return We;const{documentation:Ze,detail:it}=ye.completion,vt=Ni.WU("{0}{1}",it||"",Ze?typeof Ze=="string"?Ze:Ze.value:"");return Se.NC("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",We,vt)}}}),this._status=o.createInstance(Cp,this.element.domNode);const ae=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(108).showStatusBar);ae(),this._disposables.add((0,gs.Jl)(this._list,s,{listInactiveFocusBackground:tS,listInactiveFocusOutline:be.xL1})),this._disposables.add(s.onDidColorThemeChange(ye=>this._onThemeChange(ye))),this._onThemeChange(s.getColorTheme()),this._disposables.add(this._list.onMouseDown(ye=>this._onListMouseDownOrTap(ye))),this._disposables.add(this._list.onTap(ye=>this._onListMouseDownOrTap(ye))),this._disposables.add(this._list.onDidChangeSelection(ye=>this._onListSelection(ye))),this._disposables.add(this._list.onDidChangeFocus(ye=>this._onListFocus(ye))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(ye=>{ye.hasChanged(108)&&(ae(),j())})),this._ctxSuggestWidgetVisible=An.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=An.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=An.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=An.HasFocusedSuggestion.bindTo(i),this._disposables.add(M.mu(this._details.widget.domNode,"keydown",ye=>{this._onDetailsKeydown.fire(ye)})),this._disposables.add(this.editor.onMouseDown(ye=>this._onEditorMouseDown(ye)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=(0,Ro.c3)(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const i=e.elements[0],s=e.indexes[0];i!==this._focusedItem&&((t=this._currentSuggestionDetails)===null||t===void 0||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(s),this._currentSuggestionDetails=(0,Ot.PG)(o=>eS(this,void 0,void 0,function*(){const c=(0,Ot.Vg)(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),p=o.onCancellationRequested(()=>c.dispose()),P=yield i.resolve(o);return c.dispose(),p.dispose(),P})),this._currentSuggestionDetails.then(()=>{s>=this._list.length||i!==this._list.element(s)||(this._ignoreFocusEvents=!0,this._list.splice(s,1,[i]),this._list.setFocus([s]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:k0(s)}))}).catch(Vi.dL)),this._onDidFocus.fire({item:i,index:s,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:M.Cp(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=T_.LOADING_MESSAGE,M.Cp(this._listElement,this._status.element),M.$Z(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=T_.NO_SUGGESTIONS_MESSAGE,M.Cp(this._listElement,this._status.element),M.$Z(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:M.Cp(this._messageElement),M.$Z(this._listElement,this._status.element),this._show();break;case 4:M.Cp(this._messageElement),M.$Z(this._listElement,this._status.element),this._show();break;case 5:M.Cp(this._messageElement),M.$Z(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=(0,Ot.Vg)(()=>this._setState(1),t)))}showSuggestions(e,t,i,s){var o,c;if(this._contentWidget.setPosition(this.editor.getPosition()),(o=this._loadingTimeout)===null||o===void 0||o.dispose(),(c=this._currentSuggestionDetails)===null||c===void 0||c.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const p=this._completionModel.items.length,P=p===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(p>1),P){this._setState(s?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),t>=0&&(this._list.reveal(t,0),this._list.setFocus([t])),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(vp(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),i=Math.ceil(this.getLayoutInfo().itemHeight*4.3);t&&t.height<i&&this._persistedSize.store(t.with(void 0,i))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&this._details.show(),this._positionDetails())}_layout(e){var t,i,s;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const o=M.D6(document.body),c=this.getLayoutInfo();e||(e=c.defaultSize);let p=e.height,P=e.width;if(this._status.element.style.lineHeight=`${c.itemHeight}px`,this._state===2||this._state===1)p=c.itemHeight+c.borderHeight,P=c.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new M.Ro(P,p),this._contentWidget.setPreference(2);else{const j=o.width-c.borderHeight-2*c.horizontalPadding;P>j&&(P=j);const V=this._completionModel?this._completionModel.stats.pLabelLen*c.typicalHalfwidthCharacterWidth:P,ae=c.statusBarHeight+this._list.contentHeight+c.borderHeight,ye=c.itemHeight+c.statusBarHeight,We=M.i(this.editor.getDomNode()),Ze=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),it=We.top+Ze.top+Ze.height,vt=Math.min(o.height-it-c.verticalPadding,ae),zt=We.top+Ze.top-c.verticalPadding,hi=Math.min(zt,ae);let gi=Math.min(Math.max(hi,vt)+c.borderHeight,ae);p===((t=this._cappedHeight)===null||t===void 0?void 0:t.capped)&&(p=this._cappedHeight.wanted),p<ye&&(p=ye),p>gi&&(p=gi);const ji=150;p>vt||this._forceRenderingAbove&&zt>ji?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),gi=hi):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),gi=vt),this.element.preferredSize=new M.Ro(V,c.defaultSize.height),this.element.maxSize=new M.Ro(j,gi),this.element.minSize=new M.Ro(220,ye),this._cappedHeight=p===ae?{wanted:(s=(i=this._cappedHeight)===null||i===void 0?void 0:i.wanted)!==null&&s!==void 0?s:e.height,capped:p}:void 0}this._resize(P,p)}_resize(e,t){const{width:i,height:s}=this.element.maxSize;e=Math.min(i,e),t=Math.min(s,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=`${t-o}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())===null||e===void 0?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(46),t=(0,cw.uZ)(this.editor.getOption(110)||e.lineHeight,8,1e3),i=!this.editor.getOption(108).showStatusBar||this._state===2||this._state===1?0:t,s=this._details.widget.borderWidth,o=2*s;return{itemHeight:t,statusBarHeight:i,borderWidth:s,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new M.Ro(430,i+12*t+o)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};Iu.LOADING_MESSAGE=Se.NC("suggestWidget.loading","Loading..."),Iu.NO_SUGGESTIONS_MESSAGE=Se.NC("suggestWidget.noSuggestions","No suggestions."),Iu=qw([bg(1,mo.Uy),bg(2,ht.i6),bg(3,Xe.XE),bg(4,F.TG)],Iu);class nS{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:s}=this._widget.getLayoutInfo();return new M.Ro(t+2*i+s,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var sS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ih=function(f,e){return function(t,i){e(t,i,f)}};const oS=!1;class rS{constructor(e,t){if(this._model=e,this._position=t,e.getLineMaxColumn(t.lineNumber)!==t.column){const s=e.getOffsetAt(t),o=e.getPositionAt(s+1);this._marker=e.deltaDecorations([],[{range:yt.e.fromPositions(t,o),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let Vr=class Lv{constructor(e,t,i,s,o,c,p){this._memoryService=t,this._commandService=i,this._contextKeyService=s,this._instantiationService=o,this._logService=c,this._telemetryService=p,this._lineSuffix=new lt.XK,this._toDispose=new lt.SL,this._selectors=new aS(ae=>ae.priority),this._telemetryGate=0,this.editor=e,this.model=o.createInstance(mp,this.editor);const P=An.InsertMode.bindTo(s);P.set(e.getOption(108).insertMode),this.model.onDidTrigger(()=>P.set(e.getOption(108).insertMode)),this.widget=this._toDispose.add(new Ot.Ue(()=>{const ae=this._instantiationService.createInstance(Iu,this.editor);this._toDispose.add(ae),this._toDispose.add(ae.onDidSelect(vt=>this._insertSuggestion(vt,0),this));const ye=new nw(this.editor,ae,vt=>this._insertSuggestion(vt,2));this._toDispose.add(ye),this._toDispose.add(this.model.onDidSuggest(vt=>{vt.completionModel.items.length===0&&ye.reset()}));const We=An.MakesTextEdit.bindTo(this._contextKeyService),Ze=An.HasInsertAndReplaceRange.bindTo(this._contextKeyService),it=An.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,lt.OF)(()=>{We.reset(),Ze.reset(),it.reset()})),this._toDispose.add(ae.onDidFocus(({item:vt})=>{const zt=this.editor.getPosition(),hi=vt.editStart.column,gi=zt.column;let ji=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!vt.completion.additionalTextEdits&&!(vt.completion.insertTextRules&4)&&gi-hi===vt.completion.insertText.length&&(ji=this.editor.getModel().getValueInRange({startLineNumber:zt.lineNumber,startColumn:hi,endLineNumber:zt.lineNumber,endColumn:gi})!==vt.completion.insertText),We.set(ji),Ze.set(!wi.L.equals(vt.editInsertEnd,vt.editReplaceEnd)),it.set(!!vt.provider.resolveCompletionItem||!!vt.completion.documentation||vt.completion.detail!==vt.completion.label)})),this._toDispose.add(ae.onDetailsKeyDown(vt=>{if(vt.toKeybinding().equals(new D0.QC(!0,!1,!1,!1,33))||Fi.dz&&vt.toKeybinding().equals(new D0.QC(!1,!1,!1,!0,33))){vt.stopPropagation();return}vt.toKeybinding().isModifierKey()||this.editor.focus()})),ae})),this._overtypingCapturer=this._toDispose.add(new Ot.Ue(()=>this._toDispose.add(new _g(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Ot.Ue(()=>this._toDispose.add(new zd(this.editor,this._contextKeyService)))),this._toDispose.add(o.createInstance(Du,e)),this._toDispose.add(this.model.onDidTrigger(ae=>{this.widget.value.showTriggered(ae.auto,ae.shy?250:50),this._lineSuffix.value=new rS(this.editor.getModel(),ae.position)})),this._toDispose.add(this.model.onDidSuggest(ae=>{if(ae.shy)return;let ye=-1;if(!ae.noSelect){for(const We of this._selectors.itemsOrderedByPriorityDesc)if(ye=We.select(this.editor.getModel(),this.editor.getPosition(),ae.completionModel.items),ye!==-1)break;ye===-1&&(ye=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),ae.completionModel.items))}this.widget.value.showSuggestions(ae.completionModel,ye,ae.isFrozen,ae.auto)})),this._toDispose.add(this.model.onDidCancel(ae=>{ae.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{oS||(this.model.cancel(),this.model.clear())}));const j=An.AcceptSuggestionsOnEnter.bindTo(s),V=()=>{const ae=this.editor.getOption(1);j.set(ae==="on"||ae==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>V())),V()}static get(e){return e.getContribution(Lv.ID)}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=no.get(this.editor);if(!i)return;const s=this.editor.getModel(),o=s.getAlternativeVersionId(),{item:c}=e,p=[],P=new Ai.A;t&1||this.editor.pushUndoStop();const j=this.getOverwriteInfo(c,!!(t&8));if(this._memoryService.memorize(s,this.editor.getPosition(),c),Array.isArray(c.completion.additionalTextEdits)){const ae=Lo.Z.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",c.completion.additionalTextEdits.map(ye=>yn.h.replaceMove(yt.e.lift(ye.range),ye.text))),ae.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!c.isResolved){const ae=new Xs.G(!0);let ye;const We=s.onDidChangeContent(zt=>{if(zt.isFlush){P.cancel(),We.dispose();return}for(const hi of zt.changes){const gi=yt.e.getEndPosition(hi.range);(!ye||wi.L.isBefore(gi,ye))&&(ye=gi)}}),Ze=t;t|=2;let it=!1;const vt=this.editor.onWillType(()=>{vt.dispose(),it=!0,Ze&2||this.editor.pushUndoStop()});p.push(c.resolve(P.token).then(()=>{if(!c.completion.additionalTextEdits||P.token.isCancellationRequested||ye&&c.completion.additionalTextEdits.some(hi=>wi.L.isBefore(ye,yt.e.getStartPosition(hi.range))))return!1;it&&this.editor.pushUndoStop();const zt=Lo.Z.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",c.completion.additionalTextEdits.map(hi=>yn.h.replaceMove(yt.e.lift(hi.range),hi.text))),zt.restoreRelativeVerticalPositionOfCursor(this.editor),(it||!(Ze&2))&&this.editor.pushUndoStop(),!0}).then(zt=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",ae.elapsed(),zt),We.dispose(),vt.dispose()}))}let{insertText:V}=c.completion;c.completion.insertTextRules&4||(V=ia.escape(V)),i.insert(V,{overwriteBefore:j.overwriteBefore,overwriteAfter:j.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(c.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),c.completion.command?c.completion.command.id===xu.id?this.model.trigger({auto:!0,shy:!1,noSelect:!1},!0):(p.push(this._commandService.executeCommand(c.completion.command.id,...c.completion.command.arguments?[...c.completion.command.arguments]:[]).catch(Vi.dL)),this.model.cancel()):this.model.cancel(),t&4&&this._alternatives.value.set(e,ae=>{for(P.cancel();s.canUndo();){o!==s.getAlternativeVersionId()&&s.undo(),this._insertSuggestion(ae,3|(t&8?8:0));break}}),this._alertCompletionItem(c),Promise.all(p).finally(()=>{this._reportSuggestionAcceptedTelemetry(c,s,e),this.model.clear(),P.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i){var s;if(this._telemetryGate++%100!==0)return;const o=e.extensionId?e.extensionId.value:((s=i.item.provider._debugDisplayName)!==null&&s!==void 0?s:"unknown").split("(",1)[0].toLowerCase();this._telemetryService.publicLog2("suggest.acceptedSuggestion",{providerId:o,kind:e.completion.kind,basenameHash:(0,ir.vp)((0,un.EZ)(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:(0,un.DZ)(t.uri)})}getOverwriteInfo(e,t){(0,_i.p_)(this.editor.hasModel());let i=this.editor.getOption(108).insertMode==="replace";t&&(i=!i);const s=e.position.column-e.editStart.column,o=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,c=this.editor.getPosition().column-e.position.column,p=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:s+c,overwriteAfter:o+p}}_alertCompletionItem(e){if((0,hn.Of)(e.completion.additionalTextEdits)){const t=Se.NC("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);(0,ri.Z9)(t)}}triggerSuggest(e,t,i,s){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,shy:!1,noSelect:s??!1},!1,e,void 0,i),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},s=o=>{if(o.completion.insertTextRules&4||o.completion.additionalTextEdits)return!0;const c=this.editor.getPosition(),p=o.editStart.column,P=c.column;return P-p!==o.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:c.lineNumber,startColumn:p,endLineNumber:c.lineNumber,endColumn:P})!==o.completion.insertText};Hi.ju.once(this.model.onDidTrigger)(o=>{const c=[];Hi.ju.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{(0,lt.B9)(c),i()},void 0,c),this.model.onDidSuggest(({completionModel:p})=>{if((0,lt.B9)(c),p.items.length===0){i();return}const P=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),p.items),j=p.items[P];if(!s(j)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:P,item:j,model:p},7)},void 0,c)}),this.model.trigger({auto:!1,shy:!0,noSelect:!1}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let s=0;e&&(s|=4),t&&(s|=8),this._insertSuggestion(i,s)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};Vr.ID="editor.contrib.suggestController",Vr=sS([ih(1,pg),ih(2,mn.Hy),ih(3,ht.i6),ih(4,F.TG),ih(5,Ns.VZ),ih(6,Me.b)],Vr);class aS{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class xu extends Ae.R6{constructor(){super({id:xu.id,label:Se.NC("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasCompletionItemProvider),kbOpts:{kbExpr:Ue.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const s=Vr.get(t);if(!s)return;let o,c;i&&typeof i=="object"&&(i.auto===!0&&(o=!0),i.noSelection===!0&&(c=!0)),s.triggerSuggest(void 0,o,void 0,c)}}xu.id="editor.action.triggerSuggest",(0,Ae._K)(Vr.ID,Vr),(0,Ae.Qr)(xu);const Nr=100+90,qo=Ae._l.bindToContribution(Vr.get);(0,Ae.fK)(new qo({id:"acceptSelectedSuggestion",precondition:ht.Ao.and(An.Visible,An.HasFocusedSuggestion),handler(f){f.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ht.Ao.and(An.Visible,Ue.u.textInputFocus),weight:Nr},{primary:3,kbExpr:ht.Ao.and(An.Visible,Ue.u.textInputFocus,An.AcceptSuggestionsOnEnter,An.MakesTextEdit),weight:Nr}],menuOpts:[{menuId:na,title:Se.NC("accept.insert","Insert"),group:"left",order:1,when:An.HasInsertAndReplaceRange.toNegated()},{menuId:na,title:Se.NC("accept.insert","Insert"),group:"left",order:1,when:ht.Ao.and(An.HasInsertAndReplaceRange,An.InsertMode.isEqualTo("insert"))},{menuId:na,title:Se.NC("accept.replace","Replace"),group:"left",order:1,when:ht.Ao.and(An.HasInsertAndReplaceRange,An.InsertMode.isEqualTo("replace"))}]})),(0,Ae.fK)(new qo({id:"acceptAlternativeSelectedSuggestion",precondition:ht.Ao.and(An.Visible,Ue.u.textInputFocus,An.HasFocusedSuggestion),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:1027,secondary:[1026]},handler(f){f.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:na,group:"left",order:2,when:ht.Ao.and(An.HasInsertAndReplaceRange,An.InsertMode.isEqualTo("insert")),title:Se.NC("accept.replace","Replace")},{menuId:na,group:"left",order:2,when:ht.Ao.and(An.HasInsertAndReplaceRange,An.InsertMode.isEqualTo("replace")),title:Se.NC("accept.insert","Insert")}]})),mn.P0.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),(0,Ae.fK)(new qo({id:"hideSuggestWidget",precondition:An.Visible,handler:f=>f.cancelSuggestWidget(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:9,secondary:[1033]}})),(0,Ae.fK)(new qo({id:"selectNextSuggestion",precondition:ht.Ao.and(An.Visible,An.MultipleSuggestions),handler:f=>f.selectNextSuggestion(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),(0,Ae.fK)(new qo({id:"selectNextPageSuggestion",precondition:ht.Ao.and(An.Visible,An.MultipleSuggestions),handler:f=>f.selectNextPageSuggestion(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:12,secondary:[2060]}})),(0,Ae.fK)(new qo({id:"selectLastSuggestion",precondition:ht.Ao.and(An.Visible,An.MultipleSuggestions),handler:f=>f.selectLastSuggestion()})),(0,Ae.fK)(new qo({id:"selectPrevSuggestion",precondition:ht.Ao.and(An.Visible,An.MultipleSuggestions),handler:f=>f.selectPrevSuggestion(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),(0,Ae.fK)(new qo({id:"selectPrevPageSuggestion",precondition:ht.Ao.and(An.Visible,An.MultipleSuggestions),handler:f=>f.selectPrevPageSuggestion(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:11,secondary:[2059]}})),(0,Ae.fK)(new qo({id:"selectFirstSuggestion",precondition:ht.Ao.and(An.Visible,An.MultipleSuggestions),handler:f=>f.selectFirstSuggestion()})),(0,Ae.fK)(new qo({id:"toggleSuggestionDetails",precondition:An.Visible,handler:f=>f.toggleSuggestionDetails(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:na,group:"right",order:1,when:ht.Ao.and(An.DetailsVisible,An.CanResolve),title:Se.NC("detail.more","show less")},{menuId:na,group:"right",order:1,when:ht.Ao.and(An.DetailsVisible.toNegated(),An.CanResolve),title:Se.NC("detail.less","show more")}]})),(0,Ae.fK)(new qo({id:"toggleExplainMode",precondition:An.Visible,handler:f=>f.toggleExplainMode(),kbOpts:{weight:100,primary:2133}})),(0,Ae.fK)(new qo({id:"toggleSuggestionFocus",precondition:An.Visible,handler:f=>f.toggleSuggestionFocus(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:2570,mac:{primary:778}}})),(0,Ae.fK)(new qo({id:"insertBestCompletion",precondition:ht.Ao.and(Ue.u.textInputFocus,ht.Ao.equals("config.editor.tabCompletion","on"),Du.AtEnd,An.Visible.toNegated(),zd.OtherSuggestions.toNegated(),no.InSnippetMode.toNegated()),handler:(f,e)=>{f.triggerSuggestAndAcceptBest((0,_i.Kn)(e)?Object.assign({fallback:"tab"},e):{fallback:"tab"})},kbOpts:{weight:Nr,primary:2}})),(0,Ae.fK)(new qo({id:"insertNextSuggestion",precondition:ht.Ao.and(Ue.u.textInputFocus,ht.Ao.equals("config.editor.tabCompletion","on"),zd.OtherSuggestions,An.Visible.toNegated(),no.InSnippetMode.toNegated()),handler:f=>f.acceptNextSuggestion(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:2}})),(0,Ae.fK)(new qo({id:"insertPrevSuggestion",precondition:ht.Ao.and(Ue.u.textInputFocus,ht.Ao.equals("config.editor.tabCompletion","on"),zd.OtherSuggestions,An.Visible.toNegated(),no.InSnippetMode.toNegated()),handler:f=>f.acceptPrevSuggestion(),kbOpts:{weight:Nr,kbExpr:Ue.u.textInputFocus,primary:1026}})),(0,Ae.Qr)(class extends Ae.R6{constructor(){super({id:"editor.action.resetSuggestSize",label:Se.NC("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(f,e){var t;(t=Vr.get(e))===null||t===void 0||t.resetWidgetSize()}});class lS extends lt.JT{constructor(e,t){super(),this.editor=e,this.suggestControllerPreselector=t,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this.onDidChangeEmitter=new Hi.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.setInactiveDelayed=this._register(new Ot.pY(()=>{this.isSuggestWidgetVisible||this._isActive&&(this._isActive=!1,this.onDidChangeEmitter.fire())},100)),this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const i=Vr.get(this.editor);if(i){this._register(i.registerSelector({priority:100,select:(c,p,P)=>{const j=this.editor.getModel(),V=mg(j,this.suggestControllerPreselector());if(!V)return-1;const ae=wi.L.lift(p),ye=P.map((Ze,it)=>{const vt=T0(i,ae,Ze,this.isShiftKeyPressed),zt=mg(j,vt?.normalizedInlineCompletion);if(!zt)return;const hi=dS(V.range,zt.range)&&V.insertText.startsWith(zt.insertText);return{index:it,valid:hi,prefixLength:zt.insertText.length,suggestItem:Ze}}).filter(Ze=>Ze&&Ze.valid),We=(0,hn.Dc)(ye,(0,hn.tT)(Ze=>Ze.prefixLength,hn.fv));return We?We.index:-1}}));let s=!1;const o=()=>{s||(s=!0,this._register(i.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(i.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.setInactiveDelayed.schedule(),this.update(this._isActive)})),this._register(i.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Hi.ju.once(i.model.onDidTrigger)(c=>{o()}))}this.update(this._isActive)}get state(){if(this._isActive)return{selectedItem:this._currentSuggestItemInfo}}update(e){const t=this.getSuggestItemInfo();let i=!1;cS(this._currentSuggestItemInfo,t)||(this._currentSuggestItemInfo=t,i=!0),this._isActive!==e&&(this._isActive=e,i=!0),i&&this.onDidChangeEmitter.fire()}getSuggestItemInfo(){const e=Vr.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem();if(t)return T0(e,this.editor.getPosition(),t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Vr.get(this.editor);e&&e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Vr.get(this.editor);e&&e.forceRenderingAbove()}}function dS(f,e){return e.startLineNumber===f.startLineNumber&&e.startColumn===f.startColumn&&(e.endLineNumber<f.endLineNumber||e.endLineNumber===f.endLineNumber&&e.endColumn<=f.endColumn)}function cS(f,e){return f===e?!0:!f||!e?!1:f.completionItemKind===e.completionItemKind&&f.isSnippetText===e.isSnippetText&&Ob(f.normalizedInlineCompletion,e.normalizedInlineCompletion)}function T0(f,e,t,i){if(Array.isArray(t.completion.additionalTextEdits)&&t.completion.additionalTextEdits.length>0)return{completionItemKind:t.completion.kind,isSnippetText:!1,normalizedInlineCompletion:{range:yt.e.fromPositions(e,e),insertText:"",filterText:"",snippetInfo:void 0,additionalTextEdits:[]}};let{insertText:s}=t.completion,o=!1;if(t.completion.insertTextRules&4){const p=new ia().parse(s),P=f.editor.getModel();if(p.children.length>100)return;Zf.adjustWhitespace(P,e,p,!0,!0),s=p.toString(),o=!0}const c=f.getOverwriteInfo(t,i);return{isSnippetText:o,completionItemKind:t.completion.kind,normalizedInlineCompletion:{insertText:s,filterText:s,range:yt.e.fromPositions(e.delta(0,-c.overwriteBefore),e.delta(0,Math.max(c.overwriteAfter,0))),snippetInfo:void 0,additionalTextEdits:[]}}}var hS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},uS=function(f,e){return function(t,i){e(t,i,f)}},M0=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let Lp=class extends v0{constructor(e,t,i){super(e),this.cache=t,this.languageFeaturesService=i,this.suggestionInlineCompletionSource=this._register(new lS(this.editor,()=>{var s,o;return(o=(s=this.cache.value)===null||s===void 0?void 0:s.completions[0])===null||o===void 0?void 0:o.toLiveInlineCompletion()})),this.updateOperation=this._register(new lt.XK),this.updateCacheSoon=this._register(new Ot.pY(()=>this.updateCache(),50)),this.minReservedLineCount=0,this._register(this.suggestionInlineCompletionSource.onDidChange(()=>{if(!this.editor.hasModel())return;this.updateCacheSoon.schedule(),this.suggestionInlineCompletionSource.state||(this.minReservedLineCount=0);const o=this.ghostText;o&&(this.minReservedLineCount=Math.max(this.minReservedLineCount,fS(o.parts.map(c=>c.lines.length-1)))),this.minReservedLineCount>=1?this.suggestionInlineCompletionSource.forceRenderingAbove():this.suggestionInlineCompletionSource.stopForceRenderingAbove(),this.onDidChangeEmitter.fire()})),this._register(this.cache.onDidChange(()=>{this.onDidChangeEmitter.fire()})),this._register(this.editor.onDidChangeCursorPosition(s=>{this.minReservedLineCount=0,this.updateCacheSoon.schedule(),this.onDidChangeEmitter.fire()})),this._register((0,lt.OF)(()=>this.suggestionInlineCompletionSource.stopForceRenderingAbove()))}get isActive(){return this.suggestionInlineCompletionSource.state!==void 0}isSuggestionPreviewEnabled(){return this.editor.getOption(108).preview}updateCache(){return M0(this,void 0,void 0,function*(){const e=this.suggestionInlineCompletionSource.state;if(!e||!e.selectedItem)return;const t={text:e.selectedItem.normalizedInlineCompletion.insertText,range:e.selectedItem.normalizedInlineCompletion.range,isSnippetText:e.selectedItem.isSnippetText,completionKind:e.selectedItem.completionItemKind},i=this.editor.getPosition();if(e.selectedItem.isSnippetText||e.selectedItem.completionItemKind===27||e.selectedItem.completionItemKind===20||e.selectedItem.completionItemKind===23){this.cache.clear();return}const s=(0,Ot.PG)(c=>M0(this,void 0,void 0,function*(){let p;try{p=yield L0(this.languageFeaturesService.inlineCompletionsProvider,i,this.editor.getModel(),{triggerKind:Je.bw.Automatic,selectedSuggestionInfo:t},c)}catch(P){(0,Vi.dL)(P);return}if(c.isCancellationRequested){p.dispose();return}this.cache.setValue(this.editor,p,Je.bw.Automatic),this.onDidChangeEmitter.fire()})),o=new y0(s,Je.bw.Automatic);this.updateOperation.value=o,yield s,this.updateOperation.value===o&&this.updateOperation.clear()})}get ghostText(){var e,t,i;const s=this.isSuggestionPreviewEnabled(),o=this.editor.getModel(),c=mg(o,(t=(e=this.cache.value)===null||e===void 0?void 0:e.completions[0])===null||t===void 0?void 0:t.toLiveInlineCompletion()),p=this.suggestionInlineCompletionSource.state,P=mg(o,(i=p?.selectedItem)===null||i===void 0?void 0:i.normalizedInlineCompletion),j=c&&P&&c.insertText.startsWith(P.insertText)&&c.range.equalsRange(P.range);if(!s&&!j)return;const V=j?c:P||c,ae=j?V.insertText.length-P.insertText.length:0;return this.toGhostText(V,ae)}toGhostText(e,t){const i=this.editor.getOptions().get(108).previewMode;return e?b0(e,this.editor.getModel(),i,this.editor.getPosition(),t)||new _0(e.range.endLineNumber,[],this.minReservedLineCount):void 0}};Lp=hS([uS(2,Yi.p)],Lp);function fS(f){return f.reduce((e,t)=>e+t,0)}var gS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},mS=function(f,e){return function(t,i){e(t,i,f)}},pS=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class _S extends lt.JT{constructor(){super(...arguments),this.onDidChangeEmitter=new Hi.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.hasCachedGhostText=!1,this.currentModelRef=this._register(new lt.XK)}get targetModel(){var e;return(e=this.currentModelRef.value)===null||e===void 0?void 0:e.object}setTargetModel(e){var t;((t=this.currentModelRef.value)===null||t===void 0?void 0:t.object)!==e&&(this.currentModelRef.clear(),this.currentModelRef.value=e?kb(e,e.onDidChange(()=>{this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire()})):void 0,this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire())}get ghostText(){var e,t;return this.hasCachedGhostText||(this.cachedGhostText=(t=(e=this.currentModelRef.value)===null||e===void 0?void 0:e.object)===null||t===void 0?void 0:t.ghostText,this.hasCachedGhostText=!0),this.cachedGhostText}setExpanded(e){var t;(t=this.targetModel)===null||t===void 0||t.setExpanded(e)}get minReservedLineCount(){return this.targetModel?this.targetModel.minReservedLineCount:0}}let Dp=class extends _S{constructor(e,t){super(),this.editor=e,this.instantiationService=t,this.sharedCache=this._register(new CS),this.suggestWidgetAdapterModel=this._register(this.instantiationService.createInstance(Lp,this.editor,this.sharedCache)),this.inlineCompletionsModel=this._register(this.instantiationService.createInstance(fp,this.editor,this.sharedCache)),this._register(this.suggestWidgetAdapterModel.onDidChange(()=>{this.updateModel()})),this.updateModel()}get activeInlineCompletionsModel(){if(this.targetModel===this.inlineCompletionsModel)return this.inlineCompletionsModel}updateModel(){this.setTargetModel(this.suggestWidgetAdapterModel.isActive?this.suggestWidgetAdapterModel:this.inlineCompletionsModel),this.inlineCompletionsModel.setActive(this.targetModel===this.inlineCompletionsModel)}shouldShowHoverAt(e){var t;const i=(t=this.activeInlineCompletionsModel)===null||t===void 0?void 0:t.ghostText;return i?i.parts.some(s=>e.containsPosition(new wi.L(i.lineNumber,s.column))):!1}triggerInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.trigger(Je.bw.Explicit)}commitInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.commitCurrentSuggestion()}hideInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.hide()}showNextInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.showNext()}showPreviousInlineCompletion(){var e;(e=this.activeInlineCompletionsModel)===null||e===void 0||e.showPrevious()}hasMultipleInlineCompletions(){var e;return pS(this,void 0,void 0,function*(){const t=yield(e=this.activeInlineCompletionsModel)===null||e===void 0?void 0:e.hasMultipleInlineCompletions();return t!==void 0?t:!1})}};Dp=gS([mS(1,F.TG)],Dp);class CS extends lt.JT{constructor(){super(...arguments),this.onDidChangeEmitter=new Hi.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.cache=this._register(new lt.XK)}get value(){return this.cache.value}setValue(e,t,i){this.cache.value=new $b(t,e,()=>this.onDidChangeEmitter.fire(),i)}clearAndLeak(){return this.cache.clearAndLeak()}clear(){this.cache.clear()}}var ME=m(26263),vS=m(38684),A0=m(96808),Ep=m(92201),Sg=m(9283),bS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},R0=function(f,e){return function(t,i){e(t,i,f)}},Ip;const P0=(Ip=window.trustedTypes)===null||Ip===void 0?void 0:Ip.createPolicy("editorGhostText",{createHTML:f=>f});let xp=class extends lt.JT{constructor(e,t,i,s){super(),this.editor=e,this.model=t,this.instantiationService=i,this.languageService=s,this.disposed=!1,this.partsWidget=this._register(this.instantiationService.createInstance(SS,this.editor)),this.additionalLinesWidget=this._register(new yS(this.editor,this.languageService.languageIdCodec)),this.viewMoreContentWidget=void 0,this.replacementDecoration=this._register(new wS(this.editor)),this._register(this.editor.onDidChangeConfiguration(o=>{(o.hasChanged(29)||o.hasChanged(107)||o.hasChanged(90)||o.hasChanged(85)||o.hasChanged(47)||o.hasChanged(46)||o.hasChanged(61))&&this.update()})),this._register((0,lt.OF)(()=>{var o;this.disposed=!0,this.update(),(o=this.viewMoreContentWidget)===null||o===void 0||o.dispose(),this.viewMoreContentWidget=void 0})),this._register(t.onDidChange(()=>{this.update()})),this.update()}shouldShowHoverAtViewZone(e){return this.additionalLinesWidget.viewZoneId===e}update(){var e;const t=this.model.ghostText;if(!this.editor.hasModel()||!t||this.disposed){this.partsWidget.clear(),this.additionalLinesWidget.clear(),this.replacementDecoration.clear();return}const i=new Array,s=new Array;function o(j,V){if(s.length>0){const ae=s[s.length-1];V&&ae.decorations.push(new Ep.Kp(ae.content.length+1,ae.content.length+1+j[0].length,V,0)),ae.content+=j[0],j=j.slice(1)}for(const ae of j)s.push({content:ae,decorations:V?[new Ep.Kp(1,ae.length+1,V,0)]:[]})}t instanceof C0?this.replacementDecoration.setDecorations([{range:new yt.e(t.lineNumber,t.columnStart,t.lineNumber,t.columnStart+t.length),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}]):this.replacementDecoration.setDecorations([]);const c=this.editor.getModel().getLineContent(t.lineNumber);let p,P=0;for(const j of t.parts){let V=j.lines;p===void 0?(i.push({column:j.column,text:V[0],preview:j.preview}),V=V.slice(1)):o([c.substring(P,j.column-1)],void 0),V.length>0&&(o(V,"ghost-text"),p===void 0&&j.column<=c.length&&(p=j.column)),P=j.column-1}p!==void 0&&o([c.substring(P)],void 0),this.partsWidget.setParts(t.lineNumber,i,p!==void 0?{column:p,length:c.length+1-p}:void 0),this.additionalLinesWidget.updateLines(t.lineNumber,s,t.additionalReservedLineCount),(e=this.viewMoreContentWidget)===null||e===void 0||e.dispose(),this.viewMoreContentWidget=void 0}renderViewMoreLines(e,t,i){const s=this.editor.getOption(46),o=document.createElement("div");o.className="suggest-preview-additional-widget",(0,Rd.N)(o,s);const c=document.createElement("span");c.className="content-spacer",c.append(t),o.append(c);const p=document.createElement("span");p.className="content-newline suggest-preview-text",p.append("\u23CE "),o.append(p);const P=new lt.SL,j=document.createElement("div");return j.className="button suggest-preview-text",j.append(`+${i} lines\u2026`),P.add(M.mu(j,"mousedown",V=>{var ae;(ae=this.model)===null||ae===void 0||ae.setExpanded(!0),V.preventDefault(),this.editor.focus()})),o.append(j),new DS(this.editor,e,o,P)}};xp=bS([R0(2,F.TG),R0(3,Bs.O)],xp);class wS{constructor(e){this.editor=e,this.decorationIds=[]}setDecorations(e){this.editor.changeDecorations(t=>{this.decorationIds=t.deltaDecorations(this.decorationIds,e)})}clear(){this.setDecorations([])}dispose(){this.clear()}}class SS{constructor(e){this.editor=e,this.decorationIds=[]}dispose(){this.clear()}clear(){this.editor.changeDecorations(e=>{this.decorationIds=e.deltaDecorations(this.decorationIds,[])})}setParts(e,t,i){if(!this.editor.getModel())return;const o=new Array;i&&o.push({range:yt.e.fromPositions(new wi.L(e,i.column),new wi.L(e,i.column+i.length)),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}}),this.editor.changeDecorations(c=>{this.decorationIds=c.deltaDecorations(this.decorationIds,t.map(p=>({range:yt.e.fromPositions(new wi.L(e,p.column)),options:{description:"ghost-text",after:{content:p.text,inlineClassName:p.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:wn.RM.Left},showIfCollapsed:!0}})).concat(o))})}}class yS{constructor(e,t){this.editor=e,this.languageIdCodec=t,this._viewZoneId=void 0}get viewZoneId(){return this._viewZoneId}dispose(){this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const s=this.editor.getModel();if(!s)return;const{tabSize:o}=s.getOptions();this.editor.changeViewZones(c=>{this._viewZoneId&&(c.removeZone(this._viewZoneId),this._viewZoneId=void 0);const p=Math.max(t.length,i);if(p>0){const P=document.createElement("div");LS(P,o,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=c.addZone({afterLineNumber:e,heightInLines:p,domNode:P,afterColumnAffinity:1})}})}}function LS(f,e,t,i,s){const o=i.get(29),c=i.get(107),p="none",P=i.get(85),j=i.get(47),V=i.get(46),ae=i.get(61),ye=(0,A0.l$)(1e4);ye.appendASCIIString('<div class="suggest-preview-text">');for(let it=0,vt=t.length;it<vt;it++){const zt=t[it],hi=zt.content;ye.appendASCIIString('<div class="view-line'),ye.appendASCIIString('" style="top:'),ye.appendASCIIString(String(it*ae)),ye.appendASCIIString('px;width:1000000px;">');const gi=Ni.$i(hi),ji=Ni.Ut(hi),cn=vS.A.createEmpty(hi,s);(0,Sg.d1)(new Sg.IJ(V.isMonospace&&!o,V.canUseHalfwidthRightwardsArrow,hi,!1,gi,ji,0,cn,zt.decorations,e,0,V.spaceWidth,V.middotWidth,V.wsmiddotWidth,c,p,P,j!==cs.n0.OFF,null),ye),ye.appendASCIIString("</div>")}ye.appendASCIIString("</div>"),(0,Rd.N)(f,V);const We=ye.build(),Ze=P0?P0.createHTML(We):We;f.innerHTML=Ze}class DS extends lt.JT{constructor(e,t,i,s){super(),this.editor=e,this.position=t,this.domNode=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!1,this._register(s),this._register((0,lt.OF)(()=>{this.editor.removeContentWidget(this)})),this.editor.addContentWidget(this)}getId(){return"editor.widget.viewMoreLinesWidget"}getDomNode(){return this.domNode}getPosition(){return{position:this.position,preference:[0]}}}(0,Xe.Ic)((f,e)=>{const t=f.getColor(si.N5);t&&(e.addRule(`.monaco-editor .ghost-text-decoration { color: ${t.toString()} !important; }`),e.addRule(`.monaco-editor .ghost-text-decoration-preview { color: ${t.toString()} !important; }`),e.addRule(`.monaco-editor .suggest-preview-text .ghost-text { color: ${t.toString()} !important; }`));const i=f.getColor(si.IO);i&&(e.addRule(`.monaco-editor .ghost-text-decoration { background-color: ${i.toString()}; }`),e.addRule(`.monaco-editor .ghost-text-decoration-preview { background-color: ${i.toString()}; }`),e.addRule(`.monaco-editor .suggest-preview-text .ghost-text { background-color: ${i.toString()}; }`));const s=f.getColor(si.x3);s&&(e.addRule(`.monaco-editor .suggest-preview-text .ghost-text { border: 1px solid ${s}; }`),e.addRule(`.monaco-editor .ghost-text-decoration { border: 1px solid ${s}; }`),e.addRule(`.monaco-editor .ghost-text-decoration-preview { border: 1px solid ${s}; }`))});var O0=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Np=function(f,e){return function(t,i){e(t,i,f)}},yg=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let so=class Dv extends lt.JT{constructor(e,t){super(),this.editor=e,this.instantiationService=t,this.triggeredExplicitly=!1,this.activeController=this._register(new lt.XK),this.activeModelDidChangeEmitter=this._register(new Hi.Q5),this._register(this.editor.onDidChangeModel(()=>{this.updateModelController()})),this._register(this.editor.onDidChangeConfiguration(i=>{i.hasChanged(108)&&this.updateModelController(),i.hasChanged(57)&&this.updateModelController()})),this.updateModelController()}static get(e){return e.getContribution(Dv.ID)}get activeModel(){var e;return(e=this.activeController.value)===null||e===void 0?void 0:e.model}updateModelController(){const e=this.editor.getOption(108),t=this.editor.getOption(57);this.activeController.value=void 0,this.activeController.value=this.editor.hasModel()&&(e.preview||t.enabled||this.triggeredExplicitly)?this.instantiationService.createInstance(kp,this.editor):void 0,this.activeModelDidChangeEmitter.fire()}shouldShowHoverAt(e){var t;return((t=this.activeModel)===null||t===void 0?void 0:t.shouldShowHoverAt(e))||!1}shouldShowHoverAtViewZone(e){var t,i;return((i=(t=this.activeController.value)===null||t===void 0?void 0:t.widget)===null||i===void 0?void 0:i.shouldShowHoverAtViewZone(e))||!1}trigger(){var e;this.triggeredExplicitly=!0,this.activeController.value||this.updateModelController(),(e=this.activeModel)===null||e===void 0||e.triggerInlineCompletion()}commit(){var e;(e=this.activeModel)===null||e===void 0||e.commitInlineCompletion()}hide(){var e;(e=this.activeModel)===null||e===void 0||e.hideInlineCompletion()}showNextInlineCompletion(){var e;(e=this.activeModel)===null||e===void 0||e.showNextInlineCompletion()}showPreviousInlineCompletion(){var e;(e=this.activeModel)===null||e===void 0||e.showPreviousInlineCompletion()}hasMultipleInlineCompletions(){var e;return yg(this,void 0,void 0,function*(){const t=yield(e=this.activeModel)===null||e===void 0?void 0:e.hasMultipleInlineCompletions();return t!==void 0?t:!1})}};so.inlineSuggestionVisible=new ht.uy("inlineSuggestionVisible",!1,Se.NC("inlineSuggestionVisible","Whether an inline suggestion is visible")),so.inlineSuggestionHasIndentation=new ht.uy("inlineSuggestionHasIndentation",!1,Se.NC("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),so.inlineSuggestionHasIndentationLessThanTabSize=new ht.uy("inlineSuggestionHasIndentationLessThanTabSize",!0,Se.NC("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),so.ID="editor.contrib.ghostTextController",so=O0([Np(1,F.TG)],so);class ES{constructor(e){this.contextKeyService=e,this.inlineCompletionVisible=so.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=so.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=so.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService)}}let kp=class extends lt.JT{constructor(e,t,i){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.contextKeys=new ES(this.contextKeyService),this.model=this._register(this.instantiationService.createInstance(Dp,this.editor)),this.widget=this._register(this.instantiationService.createInstance(xp,this.editor,this.model)),this._register((0,lt.OF)(()=>{this.contextKeys.inlineCompletionVisible.set(!1),this.contextKeys.inlineCompletionSuggestsIndentation.set(!1),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(!0)})),this._register(this.model.onDidChange(()=>{this.updateContextKeys()})),this.updateContextKeys()}updateContextKeys(){var e;this.contextKeys.inlineCompletionVisible.set(((e=this.model.activeInlineCompletionsModel)===null||e===void 0?void 0:e.ghostText)!==void 0);let t=!1,i=!0;const s=this.model.inlineCompletionsModel.ghostText;if(this.model.activeInlineCompletionsModel&&s&&s.parts.length>0){const{column:o,lines:c}=s.parts[0],p=c[0],P=this.editor.getModel().getLineIndentColumn(s.lineNumber);if(o<=P){let V=(0,Ni.LC)(p);V===-1&&(V=p.length-1),t=V>0;const ae=this.editor.getModel().getOptions().tabSize;i=Nb.i.visibleColumnFromColumn(p,V+1,ae)<ae}}this.contextKeys.inlineCompletionSuggestsIndentation.set(t),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(i)}};kp=O0([Np(1,F.TG),Np(2,ht.i6)],kp);class nh extends Ae.R6{constructor(){super({id:nh.ID,label:Se.NC("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ht.Ao.and(Ue.u.writable,so.inlineSuggestionVisible),kbOpts:{weight:100,primary:601}})}run(e,t){return yg(this,void 0,void 0,function*(){const i=so.get(t);i&&(i.showNextInlineCompletion(),t.focus())})}}nh.ID="editor.action.inlineSuggest.showNext";class sh extends Ae.R6{constructor(){super({id:sh.ID,label:Se.NC("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ht.Ao.and(Ue.u.writable,so.inlineSuggestionVisible),kbOpts:{weight:100,primary:599}})}run(e,t){return yg(this,void 0,void 0,function*(){const i=so.get(t);i&&(i.showPreviousInlineCompletion(),t.focus())})}}sh.ID="editor.action.inlineSuggest.showPrevious";class IS extends Ae.R6{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:Se.NC("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:Ue.u.writable})}run(e,t){return yg(this,void 0,void 0,function*(){const i=so.get(t);i&&i.trigger()})}}var xS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},oh=function(f,e){return function(t,i){e(t,i,f)}};class NS{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}hasMultipleSuggestions(){return this.controller.hasMultipleInlineCompletions()}get commands(){var e,t,i;return((i=(t=(e=this.controller.activeModel)===null||e===void 0?void 0:e.activeInlineCompletionsModel)===null||t===void 0?void 0:t.completionSession.value)===null||i===void 0?void 0:i.commands)||[]}}let Tp=class{constructor(e,t,i,s,o,c,p){this._editor=e,this._commandService=t,this._menuService=i,this._contextKeyService=s,this._languageService=o,this._openerService=c,this.accessibilityService=p,this.hoverOrdinal=3}suggestHoverAnchor(e){const t=so.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const s=i.detail;if(t.shouldShowHoverAtViewZone(s.viewZoneId))return new Er(1e3,this,yt.e.fromPositions(s.positionBefore||s.position,s.positionBefore||s.position))}return i.type===7&&t.shouldShowHoverAt(i.range)?new Er(1e3,this,i.range):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new Er(1e3,this,i.range):null}computeSync(e,t){const i=so.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new NS(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new lt.SL,s=t[0];this.accessibilityService.isScreenReaderOptimized()&&this.renderScreenReaderText(e,s,i);const o=i.add(this._menuService.createMenu(Ne.eH.InlineCompletionsActions,this._contextKeyService)),c=e.statusBar.addAction({label:Se.NC("showNextInlineSuggestion","Next"),commandId:nh.ID,run:()=>this._commandService.executeCommand(nh.ID)}),p=e.statusBar.addAction({label:Se.NC("showPreviousInlineSuggestion","Previous"),commandId:sh.ID,run:()=>this._commandService.executeCommand(sh.ID)});e.statusBar.addAction({label:Se.NC("acceptInlineSuggestion","Accept"),commandId:gg,run:()=>this._commandService.executeCommand(gg)});const P=[c,p];for(const j of P)j.setEnabled(!1);s.hasMultipleSuggestions().then(j=>{for(const V of P)V.setEnabled(j)});for(const j of s.commands)e.statusBar.addAction({label:j.title,commandId:j.id,run:()=>this._commandService.executeCommand(j.id,...j.arguments||[])});for(const[j,V]of o.getActions())for(const ae of V)ae instanceof Ne.U8&&e.statusBar.addAction({label:ae.label,commandId:ae.item.id,run:()=>this._commandService.executeCommand(ae.item.id)});return i}renderScreenReaderText(e,t,i){var s,o;const c=M.$,p=c("div.hover-row.markdown-hover"),P=M.R3(p,c("div.hover-contents")),j=i.add(new Wr({editor:this._editor},this._languageService,this._openerService)),V=ye=>{i.add(j.onDidRenderAsync(()=>{P.className="hover-contents code-hover-contents",e.onContentsChanged()}));const We=Se.NC("inlineSuggestionFollows","Suggestion:"),Ze=i.add(j.render(new Di.W5().appendText(We).appendCodeblock("text",ye)));P.replaceChildren(Ze.element)},ae=(o=(s=t.controller.activeModel)===null||s===void 0?void 0:s.inlineCompletionsModel)===null||o===void 0?void 0:o.ghostText;if(ae){const ye=this._editor.getModel().getLineContent(ae.lineNumber);V(ae.renderForScreenReader(ye))}e.fragment.appendChild(p)}};Tp=xS([oh(1,mn.Hy),oh(2,Ne.co),oh(3,ht.i6),oh(4,Bs.O),oh(5,zo.v4),oh(6,Bo.F)],Tp),(0,Ae._K)(so.ID,so),(0,Ae.Qr)(IS),(0,Ae.Qr)(nh),(0,Ae.Qr)(sh),Ws.register(Tp);const F0=Ae._l.bindToContribution(so.get),Mp=new F0({id:gg,precondition:so.inlineSuggestionVisible,handler(f){f.commit(),f.editor.focus()}});(0,Ae.fK)(Mp),nt.W.registerKeybindingRule({primary:2,weight:200,id:Mp.id,when:ht.Ao.and(Mp.precondition,Ue.u.tabMovesFocus.toNegated(),so.inlineSuggestionHasIndentationLessThanTabSize)}),(0,Ae.fK)(new F0({id:"editor.action.inlineSuggest.hide",precondition:so.inlineSuggestionVisible,kbOpts:{weight:100,primary:9},handler(f){f.hide()}}));var rh=m(5631);function er(f,e){let t=0;for(let i=0;i<f.length;i++)f.charAt(i)===" "?t+=e:t++;return t}function Nu(f,e,t){f=f<0?0:f;let i="";if(!t){const s=Math.floor(f/e);f=f%e;for(let o=0;o<s;o++)i+=" "}for(let s=0;s<f;s++)i+=" ";return i}var B0=m(39767),jd=m(40887),kS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},TS=function(f,e){return function(t,i){e(t,i,f)}};function W0(f,e,t,i,s){if(f.getLineCount()===1&&f.getLineMaxColumn(1)===1)return[];const o=e.getLanguageConfiguration(f.getLanguageId()).indentationRules;if(!o)return[];for(i=Math.min(i,f.getLineCount());t<=i&&o.unIndentedLinePattern;){const vt=f.getLineContent(t);if(!o.unIndentedLinePattern.test(vt))break;t++}if(t>i-1)return[];const{tabSize:c,indentSize:p,insertSpaces:P}=f.getOptions(),j=(vt,zt)=>(zt=zt||1,rh.U.shiftIndent(vt,vt.length+zt,c,p,P)),V=(vt,zt)=>(zt=zt||1,rh.U.unshiftIndent(vt,vt.length+zt,c,p,P)),ae=[];let ye;const We=f.getLineContent(t);let Ze=We;if(s!=null){ye=s;const vt=Ni.V8(We);Ze=ye+We.substring(vt.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(Ze)&&(ye=V(ye),Ze=ye+We.substring(vt.length)),We!==Ze&&ae.push(yn.h.replaceMove(new Ii.Y(t,1,t,vt.length+1),(0,B0.x)(ye,p,P)))}else ye=Ni.V8(We);let it=ye;o.increaseIndentPattern&&o.increaseIndentPattern.test(Ze)?(it=j(it),ye=j(ye)):o.indentNextLinePattern&&o.indentNextLinePattern.test(Ze)&&(it=j(it)),t++;for(let vt=t;vt<=i;vt++){const zt=f.getLineContent(vt),hi=Ni.V8(zt),gi=it+zt.substring(hi.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(gi)&&(it=V(it),ye=V(ye)),hi!==it&&ae.push(yn.h.replaceMove(new Ii.Y(vt,1,vt,hi.length+1),(0,B0.x)(it,p,P))),!(o.unIndentedLinePattern&&o.unIndentedLinePattern.test(zt))&&(o.increaseIndentPattern&&o.increaseIndentPattern.test(gi)?(ye=j(ye),it=ye):o.indentNextLinePattern&&o.indentNextLinePattern.test(gi)?it=j(it):it=ye)}return ae}class Lg extends Ae.R6{constructor(){super({id:Lg.ID,label:Se.NC("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:Ue.u.writable})}run(e,t){const i=t.getModel();if(!i)return;const s=i.getOptions(),o=t.getSelection();if(!o)return;const c=new PS(o,s.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}Lg.ID="editor.action.indentationToSpaces";class Dg extends Ae.R6{constructor(){super({id:Dg.ID,label:Se.NC("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:Ue.u.writable})}run(e,t){const i=t.getModel();if(!i)return;const s=i.getOptions(),o=t.getSelection();if(!o)return;const c=new OS(o,s.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}Dg.ID="editor.action.indentationToTabs";class V0 extends Ae.R6{constructor(e,t){super(t),this.insertSpaces=e}run(e,t){const i=e.get(Gr.eJ),s=e.get(Ss.q),o=t.getModel();if(!o)return;const c=s.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),p=[1,2,3,4,5,6,7,8].map(j=>({id:j.toString(),label:j.toString(),description:j===c.tabSize?Se.NC("configuredTabSize","Configured Tab Size"):void 0})),P=Math.min(o.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(p,{placeHolder:Se.NC({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:p[P]}).then(j=>{j&&o&&!o.isDisposed()&&o.updateOptions({tabSize:parseInt(j.label,10),insertSpaces:this.insertSpaces})})},50)}}class Eg extends V0{constructor(){super(!1,{id:Eg.ID,label:Se.NC("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}Eg.ID="editor.action.indentUsingTabs";class Ig extends V0{constructor(){super(!0,{id:Ig.ID,label:Se.NC("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}Ig.ID="editor.action.indentUsingSpaces";class xg extends Ae.R6{constructor(){super({id:xg.ID,label:Se.NC("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(Ss.q),s=t.getModel();if(!s)return;const o=i.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget);s.detectIndentation(o.insertSpaces,o.tabSize)}}xg.ID="editor.action.detectIndentation";class MS extends Ae.R6{constructor(){super({id:"editor.action.reindentlines",label:Se.NC("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:Ue.u.writable})}run(e,t){const i=e.get(lo.c_),s=t.getModel();if(!s)return;const o=W0(s,i,1,s.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}class AS extends Ae.R6{constructor(){super({id:"editor.action.reindentselectedlines",label:Se.NC("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:Ue.u.writable})}run(e,t){const i=e.get(lo.c_),s=t.getModel();if(!s)return;const o=t.getSelections();if(o===null)return;const c=[];for(const p of o){let P=p.startLineNumber,j=p.endLineNumber;if(P!==j&&p.endColumn===1&&j--,P===1){if(P===j)continue}else P--;const V=W0(s,i,P,j);c.push(...V)}c.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,c),t.pushUndoStop())}}class RS{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const s of this._edits)t.addEditOperation(yt.e.lift(s.range),s.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let ku=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new lt.SL,this.callOnModel=new lt.SL,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(9)<4||this.editor.getOption(50))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(9),{tabSize:o,indentSize:c,insertSpaces:p}=i.getOptions(),P=[],j={shiftIndent:We=>rh.U.shiftIndent(We,We.length+1,o,c,p),unshiftIndent:We=>rh.U.unshiftIndent(We,We.length+1,o,c,p)};let V=e.startLineNumber;for(;V<=e.endLineNumber;){if(this.shouldIgnoreLine(i,V)){V++;continue}break}if(V>e.endLineNumber)return;let ae=i.getLineContent(V);if(!/\S/.test(ae.substring(0,e.startColumn-1))){const We=(0,jd.n8)(s,i,i.getLanguageId(),V,j,this._languageConfigurationService);if(We!==null){const Ze=Ni.V8(ae),it=er(We,o),vt=er(Ze,o);if(it!==vt){const zt=Nu(it,o,p);P.push({range:new yt.e(V,1,V,Ze.length+1),text:zt}),ae=zt+ae.substr(Ze.length)}else{const zt=(0,jd.tI)(i,V,this._languageConfigurationService);if(zt===0||zt===8)return}}}const ye=V;for(;V<e.endLineNumber;){if(!/\S/.test(i.getLineContent(V+1))){V++;continue}break}if(V!==e.endLineNumber){const We={tokenization:{getLineTokens:it=>i.tokenization.getLineTokens(it),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(it,vt)=>i.getLanguageIdAtPosition(it,vt)},getLineContent:it=>it===ye?ae:i.getLineContent(it)},Ze=(0,jd.n8)(s,We,i.getLanguageId(),V+1,j,this._languageConfigurationService);if(Ze!==null){const it=er(Ze,o),vt=er(Ni.V8(i.getLineContent(V+1)),o);if(it!==vt){const zt=it-vt;for(let hi=V+1;hi<=e.endLineNumber;hi++){const gi=i.getLineContent(hi),ji=Ni.V8(gi),us=er(ji,o)+zt,Pn=Nu(us,o,p);Pn!==ji&&P.push({range:new yt.e(hi,1,hi,ji.length+1),text:Pn})}}}}if(P.length>0){this.editor.pushUndoStop();const We=new RS(P,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",We),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const s=e.tokenization.getLineTokens(t);if(s.getCount()>0){const o=s.findTokenIndexAtOffset(i);if(o>=0&&s.getStandardTokenType(o)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};ku.ID="editor.contrib.autoIndentOnPaste",ku=kS([TS(1,lo.c_)],ku);function H0(f,e,t,i){if(f.getLineCount()===1&&f.getLineMaxColumn(1)===1)return;let s="";for(let c=0;c<t;c++)s+=" ";const o=new RegExp(s,"gi");for(let c=1,p=f.getLineCount();c<=p;c++){let P=f.getLineFirstNonWhitespaceColumn(c);if(P===0&&(P=f.getLineMaxColumn(c)),P===1)continue;const j=new yt.e(c,1,c,P),V=f.getValueInRange(j),ae=i?V.replace(/\t/ig,s):V.replace(o," ");e.addEditOperation(j,ae)}}class PS{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),H0(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class OS{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),H0(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}(0,Ae._K)(ku.ID,ku),(0,Ae.Qr)(Lg),(0,Ae.Qr)(Dg),(0,Ae.Qr)(Eg),(0,Ae.Qr)(Ig),(0,Ae.Qr)(xg),(0,Ae.Qr)(MS),(0,Ae.Qr)(AS);var Ng=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class z0{constructor(e,t){this.range=e,this.direction=t}}class Ap{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new Ap(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}resolve(e){return Ng(this,void 0,void 0,function*(){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return yield this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),yield this._currentResolve}})}_doResolve(e){var t,i;return Ng(this,void 0,void 0,function*(){try{const s=yield Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t=s?.tooltip)!==null&&t!==void 0?t:this.hint.tooltip,this.hint.label=(i=s?.label)!==null&&i!==void 0?i:this.hint.label,this._isResolved=!0}catch(s){(0,Vi.Cp)(s),this._isResolved=!1}})}}class Tu{constructor(e,t,i){this._disposables=new lt.SL,this.ranges=e,this.provider=new Set;const s=[];for(const[o,c]of t){this._disposables.add(o),this.provider.add(c);for(const p of o.hints){const P=i.validatePosition(p.position);let j="before";const V=Tu._getRangeAtPosition(i,P);let ae;V.getStartPosition().isBefore(P)?(ae=yt.e.fromPositions(V.getStartPosition(),P),j="after"):(ae=yt.e.fromPositions(P,V.getEndPosition()),j="before"),s.push(new Ap(p,new z0(ae,j),c))}}this.items=s.sort((o,c)=>wi.L.compare(o.hint.position,c.hint.position))}static create(e,t,i,s){return Ng(this,void 0,void 0,function*(){const o=[],c=e.ordered(t).reverse().map(p=>i.map(P=>Ng(this,void 0,void 0,function*(){try{const j=yield p.provideInlayHints(t,P,s);j?.hints.length&&o.push([j,p])}catch(j){(0,Vi.Cp)(j)}})));if(yield Promise.all(c.flat()),s.isCancellationRequested||t.isDisposed())throw new Vi.FU;return new Tu(i,o,t)})}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,s=e.getWordAtPosition(t);if(s)return new yt.e(i,s.startColumn,i,s.endColumn);e.tokenization.tokenizeIfCheap(i);const o=e.tokenization.getLineTokens(i),c=t.column-1,p=o.findTokenIndexAtOffset(c);let P=o.getStartOffset(p),j=o.getEndOffset(p);return j-P===1&&(P===c&&p>1?(P=o.getStartOffset(p-1),j=o.getEndOffset(p-1)):j===c&&p<o.getCount()-1&&(P=o.getStartOffset(p+1),j=o.getEndOffset(p+1))),new yt.e(i,P+1,i,j+1)}}function FS(f){return vn.o.from({scheme:di.lg.command,path:f.id,query:f.arguments&&encodeURIComponent(JSON.stringify(f.arguments))}).toString()}var Mu=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};function BS(f,e,t,i){var s;return Mu(this,void 0,void 0,function*(){const o=f.get(zs.S),c=f.get(we.i),p=f.get(mn.Hy),P=f.get(F.TG),j=f.get(bs.lT);if(yield i.item.resolve(Ai.T.None),!i.part.location)return;const V=i.part.location,ae=[],ye=new Set(Ne.BH.getMenuItems(Ne.eH.EditorContext).map(Ze=>(0,Ne.vr)(Ze)?Ze.command.id:""));for(const Ze of Ae.Uc.getEditorActions())Ze instanceof cr&&ye.has(Ze.id)&&ae.push(new _.aU(Ze.id,Ze.label,void 0,!0,()=>Mu(this,void 0,void 0,function*(){const it=yield o.createModelReference(V.uri);try{yield P.invokeFunction(Ze.run.bind(Ze),e,new Ja(it.object.textEditorModel,yt.e.getStartPosition(V.range)))}finally{it.dispose()}})));if(i.part.command){const{command:Ze}=i.part;ae.push(new _.Z0),ae.push(new _.aU(Ze.id,Ze.title,void 0,!0,()=>Mu(this,void 0,void 0,function*(){var it;try{yield p.executeCommand(Ze.id,...(it=Ze.arguments)!==null&&it!==void 0?it:[])}catch(vt){j.notify({severity:bs.zb.Error,source:i.item.provider.displayName,message:vt})}})))}const We=e.getOption(117);c.showContextMenu({domForShadowRoot:We&&(s=e.getDomNode())!==null&&s!==void 0?s:void 0,getAnchor:()=>{const Ze=M.i(t);return{x:Ze.left,y:Ze.top+Ze.height+8}},getActions:()=>ae,onHide:()=>{e.focus()},autoSelectFirstItem:!0})})}function WS(f,e,t,i){return Mu(this,void 0,void 0,function*(){const o=yield f.get(zs.S).createModelReference(i.uri);yield t.invokeWithinContext(c=>Mu(this,void 0,void 0,function*(){const p=e.hasSideBySideModifier,P=c.get(ht.i6),j=co.inPeekEditor.getValue(P),V=!p&&t.getOption(80)&&!j;return new Id({openToSide:p,openInPeek:V,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(c,t,{model:o.object.textEditorModel,position:yt.e.getStartPosition(i.range)})})),o.dispose()})}var VS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ah=function(f,e){return function(t,i){e(t,i,f)}},lh=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class kg{constructor(){this._entries=new nr.z6(50)}get(e){const t=kg._key(e);return this._entries.get(t)}set(e,t){const i=kg._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const U0=(0,F.yh)("IInlayHintsCache");(0,sr.z)(U0,kg,!0);class Rp{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class HS{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let Kd=class M_{constructor(e,t,i,s,o,c,p){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=s,this._commandService=o,this._notificationService=c,this._instaService=p,this._disposables=new lt.SL,this._sessionDisposables=new lt.SL,this._decorationsMetadata=new Map,this._ruleFactory=new Zr.t7(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(P=>{P.hasChanged(129)&&this._update()})),this._update()}static get(e){var t;return(t=e.getContribution(M_.ID))!==null&&t!==void 0?t:void 0}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(129);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add((0,lt.OF)(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let s;const o=new Set,c=new Ot.pY(()=>lh(this,void 0,void 0,function*(){const p=Date.now();s?.dispose(!0),s=new Ai.A;const P=t.onWillDispose(()=>s?.cancel());try{const j=s.token,V=yield Tu.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),j);if(c.delay=this._debounceInfo.update(t,Date.now()-p),j.isCancellationRequested){V.dispose();return}for(const ae of V.provider)typeof ae.onDidChangeInlayHints=="function"&&!o.has(ae)&&(o.add(ae),this._sessionDisposables.add(ae.onDidChangeInlayHints(()=>{c.isScheduled()||c.schedule()})));this._sessionDisposables.add(V),this._updateHintsDecorators(V.ranges,V.items),this._cacheHintsForFastRestore(t)}catch(j){(0,Vi.dL)(j)}finally{s.dispose(),P.dispose()}}),this._debounceInfo.get(t));if(this._sessionDisposables.add(c),this._sessionDisposables.add((0,lt.OF)(()=>s?.dispose(!0))),c.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(p=>{(p.scrollTopChanged||!c.isScheduled())&&c.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(p=>{const P=Math.max(c.delay,1250);c.schedule(P)})),e.enabled==="on")this._activeRenderMode=0;else{let p,P;e.enabled==="onUnlessPressed"?(p=0,P=1):(p=1,P=0),this._activeRenderMode=p,this._sessionDisposables.add(M._q.getInstance().event(j=>{if(!this._editor.hasModel())return;const V=j.altKey&&j.ctrlKey?P:p;if(V!==this._activeRenderMode){this._activeRenderMode=V;const ae=this._editor.getModel(),ye=this._copyInlayHintsWithCurrentAnchor(ae);this._updateHintsDecorators([ae.getFullModelRange()],ye),c.schedule(0)}}))}this._sessionDisposables.add(this._installDblClickGesture(()=>c.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new lt.SL,t=e.add(new Sl(this._editor)),i=new lt.SL;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(s=>{const[o]=s,c=this._getInlayHintLabelPart(o),p=this._editor.getModel();if(!c||!p){i.clear();return}const P=new Ai.A;i.add((0,lt.OF)(()=>P.dispose(!0))),c.item.resolve(P.token),this._activeInlayHintPart=c.part.command||c.part.location?new HS(c,o.hasTriggerModifier):void 0;const j=c.item.hint.position.lineNumber,V=new yt.e(j,1,j,p.getLineMaxColumn(j)),ae=this._getInlineHintsForRange(V);this._updateHintsDecorators([V],ae),i.add((0,lt.OF)(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([V],ae)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(s=>lh(this,void 0,void 0,function*(){const o=this._getInlayHintLabelPart(s);if(o){const c=o.part;c.location?this._instaService.invokeFunction(WS,s,this._editor,c.location):Je.mY.is(c.command)&&(yield this._invokeCommand(c.command,o.item))}}))),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(t=>lh(this,void 0,void 0,function*(){if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),yield i.item.resolve(Ai.T.None),(0,hn.Of)(i.item.hint.textEdits))){const s=i.item.hint.textEdits.map(o=>yn.h.replace(yt.e.lift(o.range),o.text));this._editor.executeEdits("inlayHint.default",s),e()}}))}_installContextMenu(){return this._editor.onContextMenu(e=>lh(this,void 0,void 0,function*(){if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&(yield this._instaService.invokeFunction(BS,this._editor,e.event.target,t))}))}_getInlayHintLabelPart(e){var t;if(e.target.type!==6)return;const i=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;if(i instanceof on.HS&&i?.attachedData instanceof Rp)return i.attachedData}_invokeCommand(e,t){var i;return lh(this,void 0,void 0,function*(){try{yield this._commandService.executeCommand(e.id,...(i=e.arguments)!==null&&i!==void 0?i:[])}catch(s){this._notificationService.notify({severity:bs.zb.Error,source:t.provider.displayName,message:s})}})}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,s]of this._decorationsMetadata){if(t.has(s.item))continue;const o=e.getDecorationRange(i);if(o){const c=new z0(o,s.item.anchor.direction),p=s.item.with({anchor:c});t.set(s.item,p)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),s=[];for(const o of i.sort(yt.e.compareRangesUsingStarts)){const c=t.validateRange(new yt.e(o.startLineNumber-30,o.startColumn,o.endLineNumber+30,o.endColumn));s.length===0||!yt.e.areIntersectingOrTouching(s[s.length-1],c)?s.push(c):s[s.length-1]=yt.e.plusRange(s[s.length-1],c)}return s}_updateHintsDecorators(e,t){var i,s;const o=[],c=(Ze,it,vt,zt,hi)=>{const gi={content:vt,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:it.className,cursorStops:zt,attachedData:hi};o.push({item:Ze,classNameRef:it,decoration:{range:Ze.anchor.range,options:{description:"InlayHint",showIfCollapsed:Ze.anchor.range.isEmpty(),collapseOnReplaceEdit:!Ze.anchor.range.isEmpty(),stickiness:0,[Ze.anchor.direction]:this._activeRenderMode===0?gi:void 0}}})},p=(Ze,it)=>{const vt=this._ruleFactory.createClassNameRef({width:`${P/3|0}px`,display:"inline-block"});c(Ze,vt,"\u200A",it?wn.RM.Right:wn.RM.None)},{fontSize:P,fontFamily:j,padding:V,isUniform:ae}=this._getLayoutInfo(),ye="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(ye,j);for(const Ze of t){Ze.hint.paddingLeft&&p(Ze,!1);const it=typeof Ze.hint.label=="string"?[{label:Ze.hint.label}]:Ze.hint.label;for(let vt=0;vt<it.length;vt++){const zt=it[vt],hi=vt===0,gi=vt===it.length-1,ji={fontSize:`${P}px`,fontFamily:`var(${ye}), ${cs.hL.fontFamily}`,verticalAlign:ae?"baseline":"middle"};(0,hn.Of)(Ze.hint.textEdits)&&(ji.cursor="default"),this._fillInColors(ji,Ze.hint),(zt.command||zt.location)&&((i=this._activeInlayHintPart)===null||i===void 0?void 0:i.part.item)===Ze&&this._activeInlayHintPart.part.index===vt&&(ji.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ji.color=(0,Xe.EN)(be._Yy),ji.cursor="pointer")),V&&(hi&&gi?(ji.padding=`1px ${Math.max(1,P/4)|0}px`,ji.borderRadius=`${P/4|0}px`):hi?(ji.padding=`1px 0 1px ${Math.max(1,P/4)|0}px`,ji.borderRadius=`${P/4|0}px 0 0 ${P/4|0}px`):gi?(ji.padding=`1px ${Math.max(1,P/4)|0}px 1px 0`,ji.borderRadius=`0 ${P/4|0}px ${P/4|0}px 0`):ji.padding="1px 0 1px 0"),c(Ze,this._ruleFactory.createClassNameRef(ji),zS(zt.label),gi&&!Ze.hint.paddingRight?wn.RM.Right:wn.RM.None,new Rp(Ze,vt))}if(Ze.hint.paddingRight&&p(Ze,!0),o.length>M_._MAX_DECORATORS)break}const We=[];for(const Ze of e)for(const{id:it}of(s=this._editor.getDecorationsInRange(Ze))!==null&&s!==void 0?s:[]){const vt=this._decorationsMetadata.get(it);vt&&(We.push(it),vt.classNameRef.dispose(),this._decorationsMetadata.delete(it))}this._editor.changeDecorations(Ze=>{const it=Ze.deltaDecorations(We,o.map(vt=>vt.decoration));for(let vt=0;vt<it.length;vt++){const zt=o[vt];this._decorationsMetadata.set(it[vt],zt)}})}_fillInColors(e,t){t.kind===Je.gl.Parameter?(e.backgroundColor=(0,Xe.EN)(be.phM),e.color=(0,Xe.EN)(be.HCL)):t.kind===Je.gl.Type?(e.backgroundColor=(0,Xe.EN)(be.bKB),e.color=(0,Xe.EN)(be.hX8)):(e.backgroundColor=(0,Xe.EN)(be.PpC),e.color=(0,Xe.EN)(be.VVv))}_getLayoutInfo(){const e=this._editor.getOption(129),t=e.padding,i=this._editor.getOption(48),s=this._editor.getOption(45);let o=e.fontSize;(!o||o<5||o>i)&&(o=i);const c=e.fontFamily||s;return{fontSize:o,fontFamily:c,padding:t,isUniform:!t&&c===s&&o===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};Kd.ID="editor.contrib.InlayHints",Kd._MAX_DECORATORS=1500,Kd=VS([ah(1,Yi.p),ah(2,Do.A),ah(3,U0),ah(4,mn.Hy),ah(5,bs.lT),ah(6,F.TG)],Kd);function zS(f){const e="\xA0";return f.replace(/[ \t]/g,e)}mn.P0.registerCommand("_executeInlayHintProvider",(f,...e)=>lh(void 0,void 0,void 0,function*(){const[t,i]=e;(0,_i.p_)(vn.o.isUri(t)),(0,_i.p_)(yt.e.isIRange(i));const{inlayHintsProvider:s}=f.get(Yi.p),o=yield f.get(zs.S).createModelReference(t);try{const c=yield Tu.create(s,o.object.textEditorModel,[yt.e.lift(i)],Ai.T.None),p=c.items.map(P=>P.hint);return setTimeout(()=>c.dispose(),0),p}finally{o.dispose()}}));var US=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Au=function(f,e){return function(t,i){e(t,i,f)}},j0=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},jS=function(f){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=f[Symbol.asyncIterator],t;return e?e.call(f):(f=typeof __values=="function"?__values(f):f[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=f[o]&&function(c){return new Promise(function(p,P){c=f[o](c),s(p,P,c.done,c.value)})}}function s(o,c,p,P){Promise.resolve(P).then(function(j){o({value:j,done:p})},c)}};class K0 extends Er{constructor(e,t){super(10,t,e.item.anchor.range),this.part=e}}let Pp=class extends jl{constructor(e,t,i,s,o,c){super(e,t,i,s,c),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!Kd.get(this._editor)||e.target.type!==6)return null;const s=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;return s instanceof on.HS&&s.attachedData instanceof Rp?new K0(s.attachedData,this):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof K0?new Ot.Aq(s=>j0(this,void 0,void 0,function*(){var o,c;const{part:p}=e;if(yield p.item.resolve(i),i.isCancellationRequested)return;let P;typeof p.item.hint.tooltip=="string"?P=new Di.W5().appendText(p.item.hint.tooltip):p.item.hint.tooltip&&(P=p.item.hint.tooltip),P&&s.emitOne(new Ir(this,e.range,[P],0)),(0,hn.Of)(p.item.hint.textEdits)&&s.emitOne(new Ir(this,e.range,[new Di.W5().appendText((0,Se.NC)("hint.dbl","Double click to insert"))],10001));let j;if(typeof p.part.tooltip=="string"?j=new Di.W5().appendText(p.part.tooltip):p.part.tooltip&&(j=p.part.tooltip),j&&s.emitOne(new Ir(this,e.range,[j],1)),p.part.location||p.part.command){let We;const it=this._editor.getOption(72)==="altKey"?Fi.dz?(0,Se.NC)("links.navigate.kb.meta.mac","cmd + click"):(0,Se.NC)("links.navigate.kb.meta","ctrl + click"):Fi.dz?(0,Se.NC)("links.navigate.kb.alt.mac","option + click"):(0,Se.NC)("links.navigate.kb.alt","alt + click");p.part.location&&p.part.command?We=new Di.W5().appendText((0,Se.NC)("hint.defAndCommand","Go to Definition ({0}), right click for more",it)):p.part.location?We=new Di.W5().appendText((0,Se.NC)("hint.def","Go to Definition ({0})",it)):p.part.command&&(We=new Di.W5(`[${(0,Se.NC)("hint.cmd","Execute Command")}](${FS(p.part.command)} "${p.part.command.title}") (${it})`,{isTrusted:!0})),We&&s.emitOne(new Ir(this,e.range,[We],1e4))}const V=yield this._resolveInlayHintLabelPartHover(p,i);try{for(var ae=jS(V),ye;ye=yield ae.next(),!ye.done;){const We=ye.value;s.emitOne(We)}}catch(We){o={error:We}}finally{try{ye&&!ye.done&&(c=ae.return)&&(yield c.call(ae))}finally{if(o)throw o.error}}})):Ot.Aq.EMPTY}_resolveInlayHintLabelPartHover(e,t){return j0(this,void 0,void 0,function*(){if(!e.part.location)return Ot.Aq.EMPTY;const{uri:i,range:s}=e.part.location,o=yield this._resolverService.createModelReference(i);try{const c=o.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(c)?iu(this._languageFeaturesService.hoverProvider,c,new wi.L(s.startLineNumber,s.startColumn),t).filter(p=>!(0,Di.CP)(p.hover.contents)).map(p=>new Ir(this,e.item.anchor.range,p.hover.contents,2+p.ordinal)):Ot.Aq.EMPTY}finally{o.dispose()}})}};Pp=US([Au(1,Bs.O),Au(2,zo.v4),Au(3,ce.Ui),Au(4,zs.S),Au(5,Yi.p)],Pp),(0,Ae._K)(Kd.ID,Kd),Ws.register(Pp);class KS{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const s=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Ii.Y(s.endLineNumber,Math.min(this._originalSelection.positionColumn,s.endColumn),s.endLineNumber,Math.min(this._originalSelection.positionColumn,s.endColumn)):new Ii.Y(s.endLineNumber,s.endColumn-this._text.length,s.endLineNumber,s.endColumn)}}var $S=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},GS=function(f,e){return function(t,i){e(t,i,f)}};let ql=class A_{constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}static get(e){return e.getContribution(A_.ID)}dispose(){}run(e,t){this.currentRequest&&this.currentRequest.cancel();const i=this.editor.getSelection(),s=this.editor.getModel();if(!s||!i)return;let o=i;if(o.startLineNumber!==o.endLineNumber)return;const c=new Qn.yy(this.editor,5),p=s.uri;return this.editorWorkerService.canNavigateValueSet(p)?(this.currentRequest=(0,Ot.PG)(P=>this.editorWorkerService.navigateValueSet(p,o,t)),this.currentRequest.then(P=>{if(!P||!P.range||!P.value||!c.validate(this.editor))return;const j=yt.e.lift(P.range);let V=P.range;const ae=P.value.length-(o.endColumn-o.startColumn);V={startLineNumber:V.startLineNumber,startColumn:V.startColumn,endLineNumber:V.endLineNumber,endColumn:V.startColumn+P.value.length},ae>1&&(o=new Ii.Y(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+ae-1));const ye=new KS(j,o,P.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,ye),this.editor.pushUndoStop(),this.decorations.set([{range:V,options:A_.DECORATION}]),this.decorationRemover&&this.decorationRemover.cancel(),this.decorationRemover=(0,Ot.Vs)(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Vi.dL)}).catch(Vi.dL)):Promise.resolve(void 0)}};ql.ID="editor.contrib.inPlaceReplaceController",ql.DECORATION=on.qx.register({description:"in-place-replace",className:"valueSetReplacement"}),ql=$S([GS(1,Cu.p)],ql);class QS extends Ae.R6{constructor(){super({id:"editor.action.inPlaceReplace.up",label:Se.NC("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3154,weight:100}})}run(e,t){const i=ql.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}class ZS extends Ae.R6{constructor(){super({id:"editor.action.inPlaceReplace.down",label:Se.NC("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3156,weight:100}})}run(e,t){const i=ql.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}(0,Ae._K)(ql.ID,ql),(0,Ae.Qr)(QS),(0,Ae.Qr)(ZS),(0,Xe.Ic)((f,e)=>{const t=f.getColor(si.Dl);t&&e.addRule(`.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${t}; }`)});var Op=m(75361);class YS extends Ae.R6{constructor(){super({id:"expandLineSelection",label:Se.NC("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:Ue.u.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const s=t._getViewModel();s.model.pushStackElement(),s.setCursorStates(i.source,3,Op.P.expandLineSelection(s,s.getCursorStates())),s.revealPrimaryCursor(i.source,!0)}}(0,Ae.Qr)(YS);class XS{constructor(e,t){this._selection=e,this._cursors=t,this._selectionId=null}getEditOperations(e,t){const i=JS(e,this._cursors);for(let s=0,o=i.length;s<o;s++){const c=i[s];t.addEditOperation(c.range,c.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}function JS(f,e){e.sort((c,p)=>c.lineNumber===p.lineNumber?c.column-p.column:c.lineNumber-p.lineNumber);for(let c=e.length-2;c>=0;c--)e[c].lineNumber===e[c+1].lineNumber&&e.splice(c,1);const t=[];let i=0,s=0;const o=e.length;for(let c=1,p=f.getLineCount();c<=p;c++){const P=f.getLineContent(c),j=P.length+1;let V=0;if(s<o&&e[s].lineNumber===c&&(V=e[s].column,s++,V===j)||P.length===0)continue;const ae=Ni.ow(P);let ye=0;if(ae===-1)ye=1;else if(ae!==P.length-1)ye=ae+2;else continue;ye=Math.max(V,ye),t[i++]=yn.h.delete(new yt.e(c,ye,c,j))}return t}var Fp=m(12843);class $0{constructor(e,t,i){this._selection=e,this._isCopyingDown=t,this._noop=i||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let i=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._endLineNumberDelta=1,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const s=[];for(let c=i.startLineNumber;c<=i.endLineNumber;c++)s.push(e.getLineContent(c));const o=s.join(` `);o===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new yt.e(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":` `):this._isCopyingDown?t.addEditOperation(new yt.e(i.startLineNumber,1,i.startLineNumber,1),o+` `):t.addEditOperation(new yt.e(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),` `+o),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let s=i.startLineNumber,o=i.startColumn,c=i.endLineNumber,p=i.endColumn;this._startLineNumberDelta!==0&&(s=s+this._startLineNumberDelta,o=1),this._endLineNumberDelta!==0&&(c=c+this._endLineNumberDelta,p=1),i=Ii.Y.createWithDirection(s,o,c,p,this._selectionDirection)}return i}}var Tg=m(96618),Bp=m(84397),qS=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ey=function(f,e){return function(t,i){e(t,i,f)}};let Wp=class{constructor(e,t,i,s){this._languageConfigurationService=s,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let s=this._selection;s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(this._moveEndPositionDown=!0,s=s.setEndPosition(s.endLineNumber-1,e.getLineMaxColumn(s.endLineNumber-1)));const{tabSize:o,indentSize:c,insertSpaces:p}=e.getOptions(),P=this.buildIndentConverter(o,c,p),j={tokenization:{getLineTokens:V=>e.tokenization.getLineTokens(V),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(V,ae)=>e.getLanguageIdAtPosition(V,ae)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&e.getLineMaxColumn(s.startLineNumber)===1){const V=s.startLineNumber,ae=this._isMovingDown?V+1:V-1;e.getLineMaxColumn(ae)===1?t.addEditOperation(new yt.e(1,1,1,1),null):(t.addEditOperation(new yt.e(V,1,V,1),e.getLineContent(ae)),t.addEditOperation(new yt.e(ae,1,ae,e.getLineMaxColumn(ae)),null)),s=new Ii.Y(ae,1,ae,1)}else{let V,ae;if(this._isMovingDown){V=s.endLineNumber+1,ae=e.getLineContent(V),t.addEditOperation(new yt.e(V-1,e.getLineMaxColumn(V-1),V,e.getLineMaxColumn(V)),null);let ye=ae;if(this.shouldAutoIndent(e,s)){const We=this.matchEnterRule(e,P,o,V,s.startLineNumber-1);if(We!==null){const it=Ni.V8(e.getLineContent(V)),vt=We+er(it,o);ye=Nu(vt,o,p)+this.trimLeft(ae)}else{j.getLineContent=vt=>vt===s.startLineNumber?e.getLineContent(V):e.getLineContent(vt);const it=(0,jd.n8)(this._autoIndent,j,e.getLanguageIdAtPosition(V,1),s.startLineNumber,P,this._languageConfigurationService);if(it!==null){const vt=Ni.V8(e.getLineContent(V)),zt=er(it,o),hi=er(vt,o);zt!==hi&&(ye=Nu(zt,o,p)+this.trimLeft(ae))}}t.addEditOperation(new yt.e(s.startLineNumber,1,s.startLineNumber,1),ye+` `);const Ze=this.matchEnterRuleMovingDown(e,P,o,s.startLineNumber,V,ye);if(Ze!==null)Ze!==0&&this.getIndentEditsOfMovingBlock(e,t,s,o,p,Ze);else{j.getLineContent=vt=>vt===s.startLineNumber?ye:vt>=s.startLineNumber+1&&vt<=s.endLineNumber+1?e.getLineContent(vt-1):e.getLineContent(vt);const it=(0,jd.n8)(this._autoIndent,j,e.getLanguageIdAtPosition(V,1),s.startLineNumber+1,P,this._languageConfigurationService);if(it!==null){const vt=Ni.V8(e.getLineContent(s.startLineNumber)),zt=er(it,o),hi=er(vt,o);if(zt!==hi){const gi=zt-hi;this.getIndentEditsOfMovingBlock(e,t,s,o,p,gi)}}}}else t.addEditOperation(new yt.e(s.startLineNumber,1,s.startLineNumber,1),ye+` `)}else if(V=s.startLineNumber-1,ae=e.getLineContent(V),t.addEditOperation(new yt.e(V,1,V+1,1),null),t.addEditOperation(new yt.e(s.endLineNumber,e.getLineMaxColumn(s.endLineNumber),s.endLineNumber,e.getLineMaxColumn(s.endLineNumber)),` `+ae),this.shouldAutoIndent(e,s)){j.getLineContent=We=>We===V?e.getLineContent(s.startLineNumber):e.getLineContent(We);const ye=this.matchEnterRule(e,P,o,s.startLineNumber,s.startLineNumber-2);if(ye!==null)ye!==0&&this.getIndentEditsOfMovingBlock(e,t,s,o,p,ye);else{const We=(0,jd.n8)(this._autoIndent,j,e.getLanguageIdAtPosition(s.startLineNumber,1),V,P,this._languageConfigurationService);if(We!==null){const Ze=Ni.V8(e.getLineContent(s.startLineNumber)),it=er(We,o),vt=er(Ze,o);if(it!==vt){const zt=it-vt;this.getIndentEditsOfMovingBlock(e,t,s,o,p,zt)}}}}}this._selectionId=t.trackSelection(s)}buildIndentConverter(e,t,i){return{shiftIndent:s=>rh.U.shiftIndent(s,s.length+1,e,t,i),unshiftIndent:s=>rh.U.unshiftIndent(s,s.length+1,e,t,i)}}parseEnterResult(e,t,i,s,o){if(o){let c=o.indentation;o.indentAction===Tg.wU.None||o.indentAction===Tg.wU.Indent?c=o.indentation+o.appendText:o.indentAction===Tg.wU.IndentOutdent?c=o.indentation:o.indentAction===Tg.wU.Outdent&&(c=t.unshiftIndent(o.indentation)+o.appendText);const p=e.getLineContent(s);if(this.trimLeft(p).indexOf(this.trimLeft(c))>=0){const P=Ni.V8(e.getLineContent(s));let j=Ni.V8(c);const V=(0,jd.tI)(e,s,this._languageConfigurationService);V!==null&&V&2&&(j=t.unshiftIndent(j));const ae=er(j,i),ye=er(P,i);return ae-ye}}return null}matchEnterRuleMovingDown(e,t,i,s,o,c){if(Ni.ow(c)>=0){const p=e.getLineMaxColumn(o),P=(0,Bp.A)(this._autoIndent,e,new yt.e(o,p,o,p),this._languageConfigurationService);return this.parseEnterResult(e,t,i,s,P)}else{let p=s-1;for(;p>=1;){const V=e.getLineContent(p);if(Ni.ow(V)>=0)break;p--}if(p<1||s>e.getLineCount())return null;const P=e.getLineMaxColumn(p),j=(0,Bp.A)(this._autoIndent,e,new yt.e(p,P,p,P),this._languageConfigurationService);return this.parseEnterResult(e,t,i,s,j)}}matchEnterRule(e,t,i,s,o,c){let p=o;for(;p>=1;){let V;if(p===o&&c!==void 0?V=c:V=e.getLineContent(p),Ni.ow(V)>=0)break;p--}if(p<1||s>e.getLineCount())return null;const P=e.getLineMaxColumn(p),j=(0,Bp.A)(this._autoIndent,e,new yt.e(p,P,p,P),this._languageConfigurationService);return this.parseEnterResult(e,t,i,s,j)}trimLeft(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),s=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==s||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,s,o,c){for(let p=i.startLineNumber;p<=i.endLineNumber;p++){const P=e.getLineContent(p),j=Ni.V8(P),ae=er(j,s)+c,ye=Nu(ae,s,o);ye!==j&&(t.addEditOperation(new yt.e(p,1,p,j.length+1),ye),p===i.endLineNumber&&i.endColumn<=j.length+1&&ye===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};Wp=qS([ey(3,lo.c_)],Wp);class ed{constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}static getCollator(){return ed._COLLATOR||(ed._COLLATOR=new Intl.Collator),ed._COLLATOR}getEditOperations(e,t){const i=ty(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;const s=G0(e,t,i);if(!s)return!1;for(let o=0,c=s.before.length;o<c;o++)if(s.before[o]!==s.after[o])return!0;return!1}}ed._COLLATOR=null;function G0(f,e,t){const i=e.startLineNumber;let s=e.endLineNumber;if(e.endColumn===1&&s--,i>=s)return null;const o=[];for(let p=i;p<=s;p++)o.push(f.getLineContent(p));let c=o.slice(0);return c.sort(ed.getCollator().compare),t===!0&&(c=c.reverse()),{startLineNumber:i,endLineNumber:s,before:o,after:c}}function ty(f,e,t){const i=G0(f,e,t);return i?yn.h.replace(new yt.e(i.startLineNumber,1,i.endLineNumber,f.getLineMaxColumn(i.endLineNumber)),i.after.join(` `)):null}class Q0 extends Ae.R6{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((c,p)=>({selection:c,index:p,ignore:!1}));i.sort((c,p)=>yt.e.compareRangesUsingStarts(c.selection,p.selection));let s=i[0];for(let c=1;c<i.length;c++){const p=i[c];s.selection.endLineNumber===p.selection.startLineNumber&&(s.index<p.index?p.ignore=!0:(s.ignore=!0,s=p))}const o=[];for(const c of i)o.push(new $0(c.selection,this.down,c.ignore));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class iy extends Q0{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:Se.NC("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"2_line",title:Se.NC({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class ny extends Q0{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:Se.NC("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"2_line",title:Se.NC({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class sy extends Ae.R6{constructor(){super({id:"editor.action.duplicateSelection",label:Se.NC("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:Ue.u.writable,menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"2_line",title:Se.NC({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const s=[],o=t.getSelections(),c=t.getModel();for(const p of o)if(p.isEmpty())s.push(new $0(p,!0));else{const P=new Ii.Y(p.endLineNumber,p.endColumn,p.endLineNumber,p.endColumn);s.push(new Si.OY(P,c.getValueInRange(p)))}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Z0 extends Ae.R6{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(lo.c_),s=[],o=t.getSelections()||[],c=t.getOption(9);for(const p of o)s.push(new Wp(p,this.down,c,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class oy extends Z0{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:Se.NC("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"2_line",title:Se.NC({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class ry extends Z0{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:Se.NC("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"2_line",title:Se.NC({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class Y0 extends Ae.R6{constructor(e,t){super(t),this.descending=e}run(e,t){const i=t.getSelections()||[];for(const o of i)if(!ed.canRun(t.getModel(),o,this.descending))return;const s=[];for(let o=0,c=i.length;o<c;o++)s[o]=new ed(i[o],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class ay extends Y0{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:Se.NC("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:Ue.u.writable})}}class ly extends Y0{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:Se.NC("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:Ue.u.writable})}}class dy extends Ae.R6{constructor(){super({id:"editor.action.removeDuplicateLines",label:Se.NC("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:Ue.u.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const s=[],o=[];let c=0;for(const p of t.getSelections()){const P=new Set,j=[];for(let We=p.startLineNumber;We<=p.endLineNumber;We++){const Ze=i.getLineContent(We);P.has(Ze)||(j.push(Ze),P.add(Ze))}const V=new Ii.Y(p.startLineNumber,1,p.endLineNumber,i.getLineMaxColumn(p.endLineNumber)),ae=p.startLineNumber-c,ye=new Ii.Y(ae,1,ae+j.length-1,j[j.length-1].length);s.push(yn.h.replace(V,j.join(` `))),o.push(ye),c+=p.endLineNumber-p.startLineNumber+1-j.length}t.pushUndoStop(),t.executeEdits(this.id,s,o),t.pushUndoStop()}}class Mg extends Ae.R6{constructor(){super({id:Mg.ID,label:Se.NC("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:(0,Ui.gx)(2089,2102),weight:100}})}run(e,t,i){let s=[];i.reason==="auto-save"&&(s=(t.getSelections()||[]).map(p=>new wi.L(p.positionLineNumber,p.positionColumn)));const o=t.getSelection();if(o===null)return;const c=new XS(o,s);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}}Mg.ID="editor.action.trimTrailingWhitespace";class cy extends Ae.R6{constructor(){super({id:"editor.action.deleteLines",label:Se.NC("lines.delete","Delete Line"),alias:"Delete Line",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),s=t.getModel();if(s.getLineCount()===1&&s.getLineMaxColumn(1)===1)return;let o=0;const c=[],p=[];for(let P=0,j=i.length;P<j;P++){const V=i[P];let ae=V.startLineNumber,ye=V.endLineNumber,We=1,Ze=s.getLineMaxColumn(ye);ye<s.getLineCount()?(ye+=1,Ze=1):ae>1&&(ae-=1,We=s.getLineMaxColumn(ae)),c.push(yn.h.replace(new Ii.Y(ae,We,ye,Ze),"")),p.push(new Ii.Y(ae-o,V.positionColumn,ae-o,V.positionColumn)),o+=V.endLineNumber-V.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,c,p),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(o=>{let c=o.endLineNumber;return o.startLineNumber<o.endLineNumber&&o.endColumn===1&&(c-=1),{startLineNumber:o.startLineNumber,selectionStartColumn:o.selectionStartColumn,endLineNumber:c,positionColumn:o.positionColumn}});t.sort((o,c)=>o.startLineNumber===c.startLineNumber?o.endLineNumber-c.endLineNumber:o.startLineNumber-c.startLineNumber);const i=[];let s=t[0];for(let o=1;o<t.length;o++)s.endLineNumber+1>=t[o].startLineNumber?s.endLineNumber=t[o].endLineNumber:(i.push(s),s=t[o]);return i.push(s),i}}class hy extends Ae.R6{constructor(){super({id:"editor.action.indentLines",label:Se.NC("lines.indent","Indent Line"),alias:"Indent Line",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2137,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Fp.u6.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class uy extends Ae.R6{constructor(){super({id:"editor.action.outdentLines",label:Se.NC("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2135,weight:100}})}run(e,t){Ye.wk.Outdent.runEditorCommand(e,t,null)}}class fy extends Ae.R6{constructor(){super({id:"editor.action.insertLineBefore",label:Se.NC("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Fp.u6.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class gy extends Ae.R6{constructor(){super({id:"editor.action.insertLineAfter",label:Se.NC("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Fp.u6.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class X0 extends Ae.R6{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),s=this._getRangesToDelete(t),o=[];for(let P=0,j=s.length-1;P<j;P++){const V=s[P],ae=s[P+1];yt.e.intersectRanges(V,ae)===null?o.push(V):s[P+1]=yt.e.plusRange(V,ae)}o.push(s[s.length-1]);const c=this._getEndCursorState(i,o),p=o.map(P=>yn.h.replace(P,""));t.pushUndoStop(),t.executeEdits(this.id,p,c),t.pushUndoStop()}}class my extends X0{constructor(){super({id:"deleteAllLeft",label:Se.NC("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const s=[];let o=0;return t.forEach(c=>{let p;if(c.endColumn===1&&o>0){const P=c.startLineNumber-o;p=new Ii.Y(P,c.startColumn,P,c.startColumn)}else p=new Ii.Y(c.startLineNumber,c.startColumn,c.startLineNumber,c.startColumn);o+=c.endLineNumber-c.startLineNumber,c.intersectRanges(e)?i=p:s.push(p)}),i&&s.unshift(i),s}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const s=e.getModel();return s===null?[]:(i.sort(yt.e.compareRangesUsingStarts),i=i.map(o=>{if(o.isEmpty())if(o.startColumn===1){const c=Math.max(1,o.startLineNumber-1),p=o.startLineNumber===1?1:s.getLineContent(c).length+1;return new yt.e(c,p,o.startLineNumber,1)}else return new yt.e(o.startLineNumber,1,o.startLineNumber,o.startColumn);else return new yt.e(o.startLineNumber,1,o.endLineNumber,o.endColumn)}),i)}}class py extends X0{constructor(){super({id:"deleteAllRight",label:Se.NC("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const s=[];for(let o=0,c=t.length,p=0;o<c;o++){const P=t[o],j=new Ii.Y(P.startLineNumber-p,P.startColumn,P.startLineNumber-p,P.startColumn);P.intersectRanges(e)?i=j:s.push(j)}return i&&s.unshift(i),s}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const s=i.map(o=>{if(o.isEmpty()){const c=t.getLineMaxColumn(o.startLineNumber);return o.startColumn===c?new yt.e(o.startLineNumber,o.startColumn,o.startLineNumber+1,1):new yt.e(o.startLineNumber,o.startColumn,o.startLineNumber,c)}return o});return s.sort(yt.e.compareRangesUsingStarts),s}}class _y extends Ae.R6{constructor(){super({id:"editor.action.joinLines",label:Se.NC("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let s=t.getSelection();if(s===null)return;i.sort(yt.e.compareRangesUsingStarts);const o=[],c=i.reduce((ye,We)=>ye.isEmpty()?ye.endLineNumber===We.startLineNumber?(s.equalsSelection(ye)&&(s=We),We):We.startLineNumber>ye.endLineNumber+1?(o.push(ye),We):new Ii.Y(ye.startLineNumber,ye.startColumn,We.endLineNumber,We.endColumn):We.startLineNumber>ye.endLineNumber?(o.push(ye),We):new Ii.Y(ye.startLineNumber,ye.startColumn,We.endLineNumber,We.endColumn));o.push(c);const p=t.getModel();if(p===null)return;const P=[],j=[];let V=s,ae=0;for(let ye=0,We=o.length;ye<We;ye++){const Ze=o[ye],it=Ze.startLineNumber,vt=1;let zt=0,hi,gi;const ji=p.getLineContent(Ze.endLineNumber).length-Ze.endColumn;if(Ze.isEmpty()||Ze.startLineNumber===Ze.endLineNumber){const Pn=Ze.getStartPosition();Pn.lineNumber<p.getLineCount()?(hi=it+1,gi=p.getLineMaxColumn(hi)):(hi=Pn.lineNumber,gi=p.getLineMaxColumn(Pn.lineNumber))}else hi=Ze.endLineNumber,gi=p.getLineMaxColumn(hi);let cn=p.getLineContent(it);for(let Pn=it+1;Pn<=hi;Pn++){const vo=p.getLineContent(Pn),Fo=p.getLineFirstNonWhitespaceColumn(Pn);if(Fo>=1){let jo=!0;cn===""&&(jo=!1),jo&&(cn.charAt(cn.length-1)===" "||cn.charAt(cn.length-1)===" ")&&(jo=!1,cn=cn.replace(/[\s\uFEFF\xA0]+$/g," "));const xa=vo.substr(Fo-1);cn+=(jo?" ":"")+xa,jo?zt=xa.length+1:zt=xa.length}else zt=0}const us=new yt.e(it,vt,hi,gi);if(!us.isEmpty()){let Pn;Ze.isEmpty()?(P.push(yn.h.replace(us,cn)),Pn=new Ii.Y(us.startLineNumber-ae,cn.length-zt+1,it-ae,cn.length-zt+1)):Ze.startLineNumber===Ze.endLineNumber?(P.push(yn.h.replace(us,cn)),Pn=new Ii.Y(Ze.startLineNumber-ae,Ze.startColumn,Ze.endLineNumber-ae,Ze.endColumn)):(P.push(yn.h.replace(us,cn)),Pn=new Ii.Y(Ze.startLineNumber-ae,Ze.startColumn,Ze.startLineNumber-ae,cn.length-ji)),yt.e.intersectRanges(us,s)!==null?V=Pn:j.push(Pn)}ae+=us.endLineNumber-us.startLineNumber}j.unshift(V),t.pushUndoStop(),t.executeEdits(this.id,P,j),t.pushUndoStop()}}class Cy extends Ae.R6{constructor(){super({id:"editor.action.transpose",label:Se.NC("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:Ue.u.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const s=t.getModel();if(s===null)return;const o=[];for(let c=0,p=i.length;c<p;c++){const P=i[c];if(!P.isEmpty())continue;const j=P.getStartPosition(),V=s.getLineMaxColumn(j.lineNumber);if(j.column>=V){if(j.lineNumber===s.getLineCount())continue;const ae=new yt.e(j.lineNumber,Math.max(1,j.column-1),j.lineNumber+1,1),ye=s.getValueInRange(ae).split("").reverse().join("");o.push(new Si.T4(new Ii.Y(j.lineNumber,Math.max(1,j.column-1),j.lineNumber+1,1),ye))}else{const ae=new yt.e(j.lineNumber,Math.max(1,j.column-1),j.lineNumber,j.column+1),ye=s.getValueInRange(ae).split("").reverse().join("");o.push(new Si.hP(ae,ye,new Ii.Y(j.lineNumber,j.column+1,j.lineNumber,j.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class Ru extends Ae.R6{run(e,t){const i=t.getSelections();if(i===null)return;const s=t.getModel();if(s===null)return;const o=t.getOption(119),c=[];for(const p of i)if(p.isEmpty()){const P=p.getStartPosition(),j=t.getConfiguredWordAtPosition(P);if(!j)continue;const V=new yt.e(P.lineNumber,j.startColumn,P.lineNumber,j.endColumn),ae=s.getValueInRange(V);c.push(yn.h.replace(V,this._modifyText(ae,o)))}else{const P=s.getValueInRange(p);c.push(yn.h.replace(p,this._modifyText(P,o)))}t.pushUndoStop(),t.executeEdits(this.id,c),t.pushUndoStop()}}class vy extends Ru{constructor(){super({id:"editor.action.transformToUppercase",label:Se.NC("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:Ue.u.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class by extends Ru{constructor(){super({id:"editor.action.transformToLowercase",label:Se.NC("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:Ue.u.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class dh{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}class Pu extends Ru{constructor(){super({id:"editor.action.transformToTitlecase",label:Se.NC("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:Ue.u.writable})}_modifyText(e,t){const i=Pu.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,s=>s.toLocaleUpperCase()):e}}Pu.titleBoundary=new dh("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class td extends Ru{constructor(){super({id:"editor.action.transformToSnakecase",label:Se.NC("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:Ue.u.writable})}_modifyText(e,t){const i=td.caseBoundary.get(),s=td.singleLetters.get();return!i||!s?e:e.replace(i,"$1_$2").replace(s,"$1_$2$3").toLocaleLowerCase()}}td.caseBoundary=new dh("(\\p{Ll})(\\p{Lu})","gmu"),td.singleLetters=new dh("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class dl extends Ru{constructor(){super({id:"editor.action.transformToKebabcase",label:Se.NC("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:Ue.u.writable})}static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}_modifyText(e,t){const i=dl.caseBoundary.get(),s=dl.singleLetters.get(),o=dl.underscoreBoundary.get();return!i||!s||!o?e:e.replace(o,"$1-$3").replace(i,"$1-$2").replace(s,"$1-$2").toLocaleLowerCase()}}dl.caseBoundary=new dh("(\\p{Ll})(\\p{Lu})","gmu"),dl.singleLetters=new dh("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),dl.underscoreBoundary=new dh("(\\S)(_)(\\S)","gm"),(0,Ae.Qr)(iy),(0,Ae.Qr)(ny),(0,Ae.Qr)(sy),(0,Ae.Qr)(oy),(0,Ae.Qr)(ry),(0,Ae.Qr)(ay),(0,Ae.Qr)(ly),(0,Ae.Qr)(dy),(0,Ae.Qr)(Mg),(0,Ae.Qr)(cy),(0,Ae.Qr)(hy),(0,Ae.Qr)(uy),(0,Ae.Qr)(fy),(0,Ae.Qr)(gy),(0,Ae.Qr)(my),(0,Ae.Qr)(py),(0,Ae.Qr)(_y),(0,Ae.Qr)(Cy),(0,Ae.Qr)(vy),(0,Ae.Qr)(by),td.caseBoundary.isSupported()&&td.singleLetters.isSupported()&&(0,Ae.Qr)(td),Pu.titleBoundary.isSupported()&&(0,Ae.Qr)(Pu),dl.isSupported()&&(0,Ae.Qr)(dl);var wy=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Ag=function(f,e){return function(t,i){e(t,i,f)}},Vp=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const J0=new ht.uy("LinkedEditingInputVisible",!1),q0="linked-editing-decoration";let id=class R_ extends lt.JT{constructor(e,t,i,s,o){super(),this.languageConfigurationService=s,this._syncRangesToken=0,this._localToDispose=this._register(new lt.SL),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=J0.bindTo(t),this._debounceInformation=o.for(this._providers,"Linked Editing",{min:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new lt.SL),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(c=>{(c.hasChanged(64)||c.hasChanged(84))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}static get(e){return e.getContribution(R_.ID)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(64)||this._editor.getOption(84))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(Hi.ju.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const s=new Ot.vp(this._debounceInformation.get(t)),o=()=>{var P;this._rangeUpdateTriggerPromise=s.trigger(()=>this.updateRanges(),(P=this._debounceDuration)!==null&&P!==void 0?P:this._debounceInformation.get(t))},c=new Ot.vp(0),p=P=>{this._rangeSyncTriggerPromise=c.trigger(()=>this._syncRanges(P))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{o()})),this._localToDispose.add(this._editor.onDidChangeModelContent(P=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const j=this._currentDecorations.getRange(0);if(j&&P.changes.every(V=>j.intersectRanges(V.range))){p(this._syncRangesToken);return}}o()})),this._localToDispose.add({dispose:()=>{s.dispose(),c.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const s=t.getValueInRange(i);if(this._currentWordPattern){const c=s.match(this._currentWordPattern);if((c?c[0].length:0)!==s.length)return this.clearRanges()}const o=[];for(let c=1,p=this._currentDecorations.length;c<p;c++){const P=this._currentDecorations.getRange(c);if(P)if(P.startLineNumber!==P.endLineNumber)o.push({range:P,text:s});else{let j=t.getValueInRange(P),V=s,ae=P.startColumn,ye=P.endColumn;const We=Ni.Mh(j,V);ae+=We,j=j.substr(We),V=V.substr(We);const Ze=Ni.P1(j,V);ye-=Ze,j=j.substr(0,j.length-Ze),V=V.substr(0,V.length-Ze),(ae!==ye||V.length!==0)&&o.push({range:new yt.e(P.startLineNumber,ae,P.endLineNumber,ye),text:V})}}if(o.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const c=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",o),this._editor._getViewModel().setPrevEditOperationType(c)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequest&&(this._currentRequest.cancel(),this._currentRequest=null,this._currentRequestPosition=null)}updateRanges(e=!1){return Vp(this,void 0,void 0,function*(){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),s=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===s){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const c=this._currentDecorations.getRange(0);if(c&&c.containsPosition(t))return}}this._currentRequestPosition=t,this._currentRequestModelVersion=s;const o=(0,Ot.PG)(c=>Vp(this,void 0,void 0,function*(){try{const p=new Xs.G(!1),P=yield eC(this._providers,i,t,c);if(this._debounceInformation.update(i,p.elapsed()),o!==this._currentRequest||(this._currentRequest=null,s!==i.getVersionId()))return;let j=[];P?.ranges&&(j=P.ranges),this._currentWordPattern=P?.wordPattern||this._languageWordPattern;let V=!1;for(let ye=0,We=j.length;ye<We;ye++)if(yt.e.containsPosition(j[ye],t)){if(V=!0,ye!==0){const Ze=j[ye];j.splice(ye,1),j.unshift(Ze)}break}if(!V){this.clearRanges();return}const ae=j.map(ye=>({range:ye,options:R_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(ae),this._syncRangesToken++}catch(p){(0,Vi.n2)(p)||(0,Vi.dL)(p),(this._currentRequest===o||!this._currentRequest)&&this.clearRanges()}}));return this._currentRequest=o,o})}};id.ID="editor.contrib.linkedEditing",id.DECORATION=on.qx.register({description:"linked-editing",stickiness:0,className:q0}),id=wy([Ag(1,ht.i6),Ag(2,Yi.p),Ag(3,lo.c_),Ag(4,Do.A)],id);class Sy extends Ae.R6{constructor(){super({id:"editor.action.linkedEditing",label:Se.NC("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasRenameProvider),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Qi.$),[s,o]=Array.isArray(t)&&t||[void 0,void 0];return vn.o.isUri(s)&&wi.L.isIPosition(o)?i.openCodeEditor({resource:s},i.getActiveCodeEditor()).then(c=>{c&&(c.setPosition(o),c.invokeWithinContext(p=>(this.reportTelemetry(p,c),this.run(p,c))))},Vi.dL):super.runCommand(e,t)}run(e,t){const i=id.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const yy=Ae._l.bindToContribution(id.get);(0,Ae.fK)(new yy({id:"cancelLinkedEditingInput",precondition:J0,handler:f=>f.clearRanges(),kbOpts:{kbExpr:Ue.u.editorTextFocus,weight:100+99,primary:9,secondary:[1033]}}));function eC(f,e,t,i){const s=f.ordered(e);return(0,Ot.Ps)(s.map(o=>()=>Vp(this,void 0,void 0,function*(){try{return yield o.provideLinkedEditingRanges(e,t,i)}catch(c){(0,Vi.Cp)(c);return}})),o=>!!o&&hn.Of(o?.ranges))}const Ly=(0,be.P6G)("editor.linkedEditingBackground",{dark:En.Il.fromHex("#f00").transparent(.3),light:En.Il.fromHex("#f00").transparent(.3),hcDark:En.Il.fromHex("#f00").transparent(.3),hcLight:En.Il.white},Se.NC("editorLinkedEditingBackground","Background color when the editor auto renames on type."));(0,Xe.Ic)((f,e)=>{const t=f.getColor(Ly);t&&e.addRule(`.monaco-editor .${q0} { background: ${t}; border-left-color: ${t}; }`)}),(0,Ae.sb)("_executeLinkedEditingProvider",(f,e,t)=>{const{linkedEditingRangeProvider:i}=f.get(Yi.p);return eC(i,e,t,Ai.T.None)}),(0,Ae._K)(id.ID,id),(0,Ae.Qr)(Sy);var AE=m(77605),tC=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Dy{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}resolve(e){return tC(this,void 0,void 0,function*(){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))})}}class Rg{constructor(e){this._disposables=new lt.SL;let t=[];for(const[i,s]of e){const o=i.links.map(c=>new Dy(c,s));t=Rg._union(t,o),(0,lt.Wf)(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let s,o,c,p;for(s=0,c=0,o=e.length,p=t.length;s<o&&c<p;){const P=e[s],j=t[c];if(yt.e.areIntersectingOrTouching(P.range,j.range)){s++;continue}yt.e.compareRangesUsingStarts(P.range,j.range)<0?(i.push(P),s++):(i.push(j),c++)}for(;s<o;s++)i.push(e[s]);for(;c<p;c++)i.push(t[c]);return i}}function iC(f,e,t){const i=[],s=f.ordered(e).reverse().map((o,c)=>Promise.resolve(o.provideLinks(e,t)).then(p=>{p&&(i[c]=[p,o])},Vi.Cp));return Promise.all(s).then(()=>{const o=new Rg((0,hn.kX)(i));return t.isCancellationRequested?(o.dispose(),new Rg([])):o})}mn.P0.registerCommand("_executeLinkProvider",(f,...e)=>tC(void 0,void 0,void 0,function*(){let[t,i]=e;(0,_i.p_)(t instanceof vn.o),typeof i!="number"&&(i=0);const{linkProvider:s}=f.get(Yi.p),o=f.get(Ss.q).getModel(t);if(!o)return[];const c=yield iC(s,o,Ai.T.None);if(!c)return[];for(let P=0;P<Math.min(i,c.links.length);P++)yield c.links[P].resolve(Ai.T.None);const p=c.links.slice(0);return c.dispose(),p}));var Ey=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Pg=function(f,e){return function(t,i){e(t,i,f)}},Iy=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let ch=class Ev extends lt.JT{constructor(e,t,i,s,o){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=s,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=o.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Ot.pY(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const c=this._register(new Sl(e));this._register(c.onMouseMoveOrRelevantKeyDown(([p,P])=>{this._onEditorMouseMove(p,P)})),this._register(c.onExecute(p=>{this.onEditorMouseUp(p)})),this._register(c.onCancel(p=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(p=>{p.hasChanged(65)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(p=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(p=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(p=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(p=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}static get(e){return e.getContribution(Ev.ID)}computeLinksNow(){return Iy(this,void 0,void 0,function*(){if(!this.editor.hasModel()||!this.editor.getOption(65))return;const e=this.editor.getModel();if(this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,Ot.PG)(t=>iC(this.providers,e,t));try{const t=new Xs.G(!1);if(this.activeLinksList=yield this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){(0,Vi.dL)(t)}finally{this.computePromise=null}}})}updateDecorations(e){const t=this.editor.getOption(72)==="altKey",i=[],s=Object.keys(this.currentOccurrences);for(const c of s){const p=this.currentOccurrences[c];i.push(p.decorationId)}const o=[];if(e)for(const c of e)o.push(hh.decoration(c,t));this.editor.changeDecorations(c=>{const p=c.deltaDecorations(i,o);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let P=0,j=p.length;P<j;P++){const V=new hh(e[P],p[P]);this.currentOccurrences[V.decorationId]=V}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(72)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const s=this.getLinkOccurrence(e.target.position);s&&this.editor.changeDecorations(o=>{s.activate(o,i),this.activeLinkDecorationId=s.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(72)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:s}=e;s.resolve(Ai.T.None).then(o=>{if(typeof o=="string"&&this.editor.hasModel()){const c=this.editor.getModel().uri;if(c.scheme===di.lg.file&&o.startsWith(`${di.lg.file}:`)){const p=vn.o.parse(o);if(p.scheme===di.lg.file){const P=un.z_(p);let j=null;P.startsWith("/./")?j=`.${P.substr(1)}`:P.startsWith("//./")&&(j=`.${P.substr(2)}`),j&&(o=un.Vo(c,j))}}}return this.openerService.open(o,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},o=>{const c=o instanceof Error?o.message:o;c==="invalid"?this.notificationService.warn(Se.NC("invalid.url","Failed to open this link because it is not well-formed: {0}",s.url.toString())):c==="missing"?this.notificationService.warn(Se.NC("missing.url","Failed to open this link because its target is missing.")):(0,Vi.dL)(o)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const s=this.currentOccurrences[i.id];if(s)return s}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)===null||e===void 0||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};ch.ID="editor.linkDetector",ch=Ey([Pg(1,zo.v4),Pg(2,bs.lT),Pg(3,Yi.p),Pg(4,Do.A)],ch);const nC={general:on.qx.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:on.qx.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class hh{constructor(e,t){this.link=e,this.decorationId=t}static decoration(e,t){return{range:e.range,options:hh._getOptions(e,t,!1)}}static _getOptions(e,t,i){const s=Object.assign({},i?nC.active:nC.general);return s.hoverMessage=xy(e,t),s}activate(e,t){e.changeDecorationOptions(this.decorationId,hh._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,hh._getOptions(this.link,t,!1))}}function xy(f,e){const t=f.url&&/^command:/i.test(f.url.toString()),i=f.tooltip?f.tooltip:t?Se.NC("links.navigate.executeCmd","Execute command"):Se.NC("links.navigate.follow","Follow link"),s=e?Fi.dz?Se.NC("links.navigate.kb.meta.mac","cmd + click"):Se.NC("links.navigate.kb.meta","ctrl + click"):Fi.dz?Se.NC("links.navigate.kb.alt.mac","option + click"):Se.NC("links.navigate.kb.alt","alt + click");if(f.url){let o="";if(/^command:/i.test(f.url.toString())){const p=f.url.toString().match(/^command:([^?#]+)/);if(p){const P=p[1];o=Se.NC("tooltip.explanation","Execute command {0}",P)}}return new Di.W5("",!0).appendLink(f.url.toString(!0).replace(/ /g,"%20"),i,o).appendMarkdown(` (${s})`)}else return new Di.W5().appendText(`${i} (${s})`)}class Ny extends Ae.R6{constructor(){super({id:"editor.action.openLink",label:Se.NC("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=ch.get(t);if(!i||!t.hasModel())return;const s=t.getSelections();for(const o of s){const c=i.getLinkOccurrence(o.getEndPosition());c&&i.openLinkOccurrence(c,!1)}}}(0,Ae._K)(ch.ID,ch),(0,Ae.Qr)(Ny),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be._Yy);t&&e.addRule(`.monaco-editor .detected-link-active { color: ${t} !important; }`)});var ky=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Ty=function(f,e){return function(t,i){e(t,i,f)}};function nd(f,e){const t=e.filter(i=>!f.find(s=>s.equals(i)));if(t.length>=1){const i=t.map(o=>`line ${o.viewState.position.lineNumber} column ${o.viewState.position.column}`).join(", "),s=t.length===1?Se.NC("cursorAdded","Cursor added: {0}",i):Se.NC("cursorsAdded","Cursors added: {0}",i);(0,ri.i7)(s)}}class My extends Ae.R6{constructor(){super({id:"editor.action.insertCursorAbove",label:Se.NC("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"3_multi",title:Se.NC({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let s=!0;i&&i.logicalLine===!1&&(s=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const c=o.getCursorStates();o.setCursorStates(i.source,3,Op.P.addCursorUp(o,c,s)),o.revealTopMostCursor(i.source),nd(c,o.getCursorStates())}}class Ay extends Ae.R6{constructor(){super({id:"editor.action.insertCursorBelow",label:Se.NC("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"3_multi",title:Se.NC({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let s=!0;i&&i.logicalLine===!1&&(s=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const c=o.getCursorStates();o.setCursorStates(i.source,3,Op.P.addCursorDown(o,c,s)),o.revealBottomMostCursor(i.source),nd(c,o.getCursorStates())}}class Ry extends Ae.R6{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:Se.NC("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"3_multi",title:Se.NC({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let s=e.startLineNumber;s<e.endLineNumber;s++){const o=t.getLineMaxColumn(s);i.push(new Ii.Y(s,o,s,o))}e.endColumn>1&&i.push(new Ii.Y(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),s=t.getSelections(),o=t._getViewModel(),c=o.getCursorStates(),p=[];s.forEach(P=>this.getCursorsForSelection(P,i,p)),p.length>0&&t.setSelections(p),nd(c,o.getCursorStates())}}class Py extends Ae.R6{constructor(){super({id:"editor.action.addCursorsToBottom",label:Se.NC("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),s=t.getModel().getLineCount(),o=[];for(let P=i[0].startLineNumber;P<=s;P++)o.push(new Ii.Y(P,i[0].startColumn,P,i[0].endColumn));const c=t._getViewModel(),p=c.getCursorStates();o.length>0&&t.setSelections(o),nd(p,c.getCursorStates())}}class Oy extends Ae.R6{constructor(){super({id:"editor.action.addCursorsToTop",label:Se.NC("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),s=[];for(let p=i[0].startLineNumber;p>=1;p--)s.push(new Ii.Y(p,i[0].startColumn,p,i[0].endColumn));const o=t._getViewModel(),c=o.getCursorStates();s.length>0&&t.setSelections(s),nd(c,o.getCursorStates())}}class Og{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Ou{constructor(e,t,i,s,o,c,p){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=s,this.wholeWord=o,this.matchCase=c,this.currentMatch=p}static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Ou(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let s=!1,o,c;const p=e.getSelections();p.length===1&&p[0].isEmpty()?(s=!0,o=!0,c=!0):(o=i.wholeWord,c=i.matchCase);const P=e.getSelection();let j,V=null;if(P.isEmpty()){const ae=e.getConfiguredWordAtPosition(P.getStartPosition());if(!ae)return null;j=ae.word,V=new Ii.Y(P.startLineNumber,ae.startColumn,P.startLineNumber,ae.endColumn)}else j=e.getModel().getValueInRange(P).replace(/\r\n/g,` `);return new Ou(e,t,s,j,o,c,V)}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Og(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Og(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const s=this.currentMatch;return this.currentMatch=null,s}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(119):null,!1);return i?new Ii.Y(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Og(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new Og(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const s=this.currentMatch;return this.currentMatch=null,s}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(119):null,!1);return i?new Ii.Y(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(119):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(119):null,!1,1073741824)}}class $d extends lt.JT{constructor(e){super(),this._sessionDispose=this._register(new lt.SL),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}static get(e){return e.getContribution($d.ID)}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Ou.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(s=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(s=>{(s.matchCase||s.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Ii.Y(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const s=e.getState().matchCase;if(!sC(this._editor.getModel(),t,s)){const c=this._editor.getModel(),p=[];for(let P=0,j=t.length;P<j;P++)p[P]=this._expandEmptyToWord(c,t[P]);this._editor.setSelections(p);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const s=this._editor.getModel();i.searchScope?t=s.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(119):null,!1,1073741824):t=s.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(119):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const s=this._editor.getSelection();for(let o=0,c=t.length;o<c;o++){const p=t[o];if(p.range.intersectRanges(s)){t[o]=t[0],t[0]=p;break}}this._setSelections(t.map(o=>new Ii.Y(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn)))}}}$d.ID="editor.contrib.multiCursorController";class uh extends Ae.R6{run(e,t){const i=$d.get(t);if(!i)return;const s=Jo.get(t);if(!s)return;const o=t._getViewModel();if(o){const c=o.getCursorStates();this._run(i,s),nd(c,o.getCursorStates())}}}class Fy extends uh{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:Se.NC("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:2082,weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"3_multi",title:Se.NC({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class By extends uh{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:Se.NC("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"3_multi",title:Se.NC({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class Wy extends uh{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:Se.NC("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:(0,Ui.gx)(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class Vy extends uh{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:Se.NC("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class Hy extends uh{constructor(){super({id:"editor.action.selectHighlights",label:Se.NC("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:3114,weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"3_multi",title:Se.NC({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class zy extends uh{constructor(){super({id:"editor.action.changeAll",label:Se.NC("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ht.Ao.and(Ue.u.writable,Ue.u.editorTextFocus),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class Uy{constructor(e,t,i,s,o){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=s,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,o&&this._model===o._model&&this._searchText===o._searchText&&this._matchCase===o._matchCase&&this._wordSeparators===o._wordSeparators&&this._modelVersionId===o._modelVersionId&&(this._cachedFindMatches=o._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(yt.e.compareRangesUsingStarts)),this._cachedFindMatches}}let Gd=class um extends lt.JT{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(99),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ot.pY(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(s=>{this._isEnabled=e.getOption(99)})),this._register(e.onDidChangeCursorSelection(s=>{this._isEnabled&&(s.selection.isEmpty()?s.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(s=>{this._setState(null)})),this._register(e.onDidChangeModelContent(s=>{this._isEnabled&&this.updateSoon.schedule()}));const i=Jo.get(e);i&&this._register(i.getState().onFindReplaceStateChange(s=>{this._update()}))}_update(){this._setState(um._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const s=i.getSelection();if(s.startLineNumber!==s.endLineNumber)return null;const o=$d.get(i);if(!o)return null;const c=Jo.get(i);if(!c)return null;let p=o.getSession(c);if(!p){const V=i.getSelections();if(V.length>1){const ye=c.getState().matchCase;if(!sC(i.getModel(),V,ye))return null}p=Ou.create(i,c)}if(!p||p.currentMatch||/^[ \t]+$/.test(p.searchText)||p.searchText.length>200)return null;const P=c.getState(),j=P.matchCase;if(P.isRevealed){let V=P.searchString;j||(V=V.toLowerCase());let ae=p.searchText;if(j||(ae=ae.toLowerCase()),V===ae&&p.matchCase===P.matchCase&&p.wholeWord===P.wholeWord&&!P.isRegex)return null}return new Uy(i.getModel(),p.searchText,p.matchCase,p.wholeWord?i.getOption(119):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),s=this.editor.getSelections();s.sort(yt.e.compareRangesUsingStarts);const o=[];for(let P=0,j=0,V=i.length,ae=s.length;P<V;){const ye=i[P];if(j>=ae)o.push(ye),P++;else{const We=yt.e.compareRangesUsingStarts(ye,s[j]);We<0?((s[j].isEmpty()||!yt.e.areIntersecting(ye,s[j]))&&o.push(ye),P++):(We>0||P++,j++)}}const c=this._languageFeaturesService.documentHighlightProvider.has(t)&&this.editor.getOption(74),p=o.map(P=>({range:P,options:c?um._SELECTION_HIGHLIGHT:um._SELECTION_HIGHLIGHT_OVERVIEW}));this._decorations.set(p)}dispose(){this._setState(null),super.dispose()}};Gd.ID="editor.contrib.selectionHighlighter",Gd._SELECTION_HIGHLIGHT_OVERVIEW=on.qx.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",minimap:{color:(0,Xe.EN)(be.IYc),position:wn.F5.Inline},overviewRuler:{color:(0,Xe.EN)(be.SPM),position:wn.sh.Center}}),Gd._SELECTION_HIGHLIGHT=on.qx.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),Gd=ky([Ty(1,Yi.p)],Gd);function sC(f,e,t){const i=oC(f,e[0],!t);for(let s=1,o=e.length;s<o;s++){const c=e[s];if(c.isEmpty())return!1;const p=oC(f,c,!t);if(i!==p)return!1}return!0}function oC(f,e,t){const i=f.getValueInRange(e);return t?i.toLowerCase():i}class jy extends Ae.R6{constructor(){super({id:"editor.action.focusNextCursor",label:Se.NC("mutlicursor.focusNextCursor","Focus Next Cursor"),description:{description:Se.NC("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const o=Array.from(s.getCursorStates()),c=o.shift();c&&(o.push(c),s.setCursorStates(i.source,3,o),s.revealPrimaryCursor(i.source,!0),nd(o,s.getCursorStates()))}}class Ky extends Ae.R6{constructor(){super({id:"editor.action.focusPreviousCursor",label:Se.NC("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),description:{description:Se.NC("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const o=Array.from(s.getCursorStates()),c=o.pop();c&&(o.unshift(c),s.setCursorStates(i.source,3,o),s.revealPrimaryCursor(i.source,!0),nd(o,s.getCursorStates()))}}(0,Ae._K)($d.ID,$d),(0,Ae._K)(Gd.ID,Gd),(0,Ae.Qr)(My),(0,Ae.Qr)(Ay),(0,Ae.Qr)(Ry),(0,Ae.Qr)(Fy),(0,Ae.Qr)(By),(0,Ae.Qr)(Wy),(0,Ae.Qr)(Vy),(0,Ae.Qr)(Hy),(0,Ae.Qr)(zy),(0,Ae.Qr)(Py),(0,Ae.Qr)(Oy),(0,Ae.Qr)(jy),(0,Ae.Qr)(Ky);var rC=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const Qd={Visible:new ht.uy("parameterHintsVisible",!1),MultipleSignatures:new ht.uy("parameterHintsMultipleSignatures",!1)};function aC(f,e,t,i,s){return rC(this,void 0,void 0,function*(){const o=f.ordered(e);for(const c of o)try{const p=yield c.provideSignatureHelp(e,t,s,i);if(p)return p}catch(p){(0,Vi.Cp)(p)}})}mn.P0.registerCommand("_executeSignatureHelpProvider",(f,...e)=>rC(void 0,void 0,void 0,function*(){const[t,i,s]=e;(0,_i.p_)(vn.o.isUri(t)),(0,_i.p_)(wi.L.isIPosition(i)),(0,_i.p_)(typeof s=="string"||!s);const o=f.get(Yi.p),c=yield f.get(zs.S).createModelReference(t);try{const p=yield aC(o.signatureHelpProvider,c.object.textEditorModel,wi.L.lift(i),{triggerKind:Je.WW.Invoke,isRetrigger:!1,triggerCharacter:s},Ai.T.None);return p?(setTimeout(()=>p.dispose(),0),p.value):void 0}finally{c.dispose()}}));var RE=m(77574),$y=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},sd;(function(f){f.Default={type:0};class e{constructor(s,o){this.request=s,this.previouslyActiveHints=o,this.type=2}}f.Pending=e;class t{constructor(s){this.hints=s,this.type=1}}f.Active=t})(sd||(sd={}));class Fg extends lt.JT{constructor(e,t,i=Fg.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Hi.Q5),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=sd.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new lt.XK),this.triggerChars=new qc.q,this.retriggerChars=new qc.q,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Ot.vp(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(s=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(s=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(s=>this.onCursorChange(s))),this._register(this.editor.onDidChangeModelContent(s=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(s=>this.onDidType(s))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=sd.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const s=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(s),t).catch(Vi.dL)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,s=this.editor.getOption(78).cycle;if((e<2||i)&&!s){this.cancel();return}this.updateActiveSignature(i&&s?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,s=this.editor.getOption(78).cycle;if((e<2||i)&&!s){this.cancel();return}this.updateActiveSignature(i&&s?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new sd.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:e})),this._onChangedHints.fire(this.state.hints))}doTrigger(e){return $y(this,void 0,void 0,function*(){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const s=this._pendingTriggers.reduce(Gy);this._pendingTriggers=[];const o={triggerKind:s.triggerKind,triggerCharacter:s.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const c=this.editor.getModel(),p=this.editor.getPosition();this.state=new sd.Pending((0,Ot.PG)(P=>aC(this.providers,c,p,o,P)),i);try{const P=yield this.state.request;return e!==this.triggerId?(P?.dispose(),!1):!P||!P.value.signatures||P.value.signatures.length===0?(P?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new sd.Active(P.value),this._lastSignatureHelpResult.value=P,this._onChangedHints.fire(this.state.hints),!0)}catch(P){return e===this.triggerId&&(this.state=sd.Default),(0,Vi.dL)(P),!1}})}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars=new qc.q,this.retriggerChars=new qc.q;const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])this.triggerChars.add(i.charCodeAt(0)),this.retriggerChars.add(i.charCodeAt(0));for(const i of t.signatureHelpRetriggerCharacters||[])this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:Je.WW.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:Je.WW.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Je.WW.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(78).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}Fg.DEFAULT_DELAY=120;function Gy(f,e){switch(e.triggerKind){case Je.WW.Invoke:return e;case Je.WW.ContentChange:return f;case Je.WW.TriggerCharacter:default:return e}}var Qy=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Bg=function(f,e){return function(t,i){e(t,i,f)}};const mr=M.$,Zy=(0,uo.q5)("parameter-hints-next",Mi.lA.chevronDown,Se.NC("parameterHintsNextIcon","Icon for show next parameter hint.")),Yy=(0,uo.q5)("parameter-hints-previous",Mi.lA.chevronUp,Se.NC("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let Wg=class Iv extends lt.JT{constructor(e,t,i,s,o){super(),this.editor=e,this.renderDisposeables=this._register(new lt.SL),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Wr({editor:e},s,i)),this.model=this._register(new Fg(e,o.signatureHelpProvider)),this.keyVisible=Qd.Visible.bindTo(t),this.keyMultipleSignatures=Qd.MultipleSignatures.bindTo(t),this._register(this.model.onChangedHints(c=>{c?(this.show(),this.render(c)):this.hide()}))}createParameterHintDOMNodes(){const e=mr(".editor-widget.parameter-hints-widget"),t=M.R3(e,mr(".phwrapper"));t.tabIndex=-1;const i=M.R3(t,mr(".controls")),s=M.R3(i,mr(".button"+Xe.kS.asCSSSelector(Yy))),o=M.R3(i,mr(".overloads")),c=M.R3(i,mr(".button"+Xe.kS.asCSSSelector(Zy)));this._register(M.nm(s,"click",ye=>{M.zB.stop(ye),this.previous()})),this._register(M.nm(c,"click",ye=>{M.zB.stop(ye),this.next()}));const p=mr(".body"),P=new Io.s$(p,{alwaysConsumeMouseWheel:!0});this._register(P),t.appendChild(P.getDomNode());const j=M.R3(p,mr(".signature")),V=M.R3(p,mr(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:j,overloads:o,docs:V,scrollbar:P},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(ye=>{this.visible&&this.editor.layoutContentWidget(this)}));const ae=()=>{if(!this.domNodes)return;const ye=this.editor.getOption(46);this.domNodes.element.style.fontSize=`${ye.fontSize}px`,this.domNodes.element.style.lineHeight=`${ye.lineHeight/ye.fontSize}`};ae(),this._register(Hi.ju.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(ye=>ye.hasChanged(46)).on(ae,null)),this._register(this.editor.onDidLayoutChange(ye=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)===null||e===void 0||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)===null||e===void 0||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const s=e.signatures[e.activeSignature];if(!s)return;const o=M.R3(this.domNodes.signature,mr(".code")),c=this.editor.getOption(46);o.style.fontSize=`${c.fontSize}px`,o.style.fontFamily=c.fontFamily;const p=s.parameters.length>0,P=(t=s.activeParameter)!==null&&t!==void 0?t:e.activeParameter;if(p)this.renderParameters(o,s,P);else{const ae=M.R3(o,mr("span"));ae.textContent=s.label}const j=s.parameters[P];if(j?.documentation){const ae=mr("span.documentation");if(typeof j.documentation=="string")ae.textContent=j.documentation;else{const ye=this.renderMarkdownDocs(j.documentation);ae.appendChild(ye.element)}M.R3(this.domNodes.docs,mr("p",{},ae))}if(s.documentation!==void 0)if(typeof s.documentation=="string")M.R3(this.domNodes.docs,mr("p",{},s.documentation));else{const ae=this.renderMarkdownDocs(s.documentation);M.R3(this.domNodes.docs,ae.element)}const V=this.hasDocs(s,j);if(this.domNodes.signature.classList.toggle("has-docs",V),this.domNodes.docs.classList.toggle("empty",!V),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,j){let ae="";const ye=s.parameters[P];Array.isArray(ye.label)?ae=s.label.substring(ye.label[0],ye.label[1]):ae=ye.label,ye.documentation&&(ae+=typeof ye.documentation=="string"?`, ${ye.documentation}`:`, ${ye.documentation.value}`),s.documentation&&(ae+=typeof s.documentation=="string"?`, ${s.documentation}`:`, ${s.documentation.value}`),this.announcedLabel!==ae&&(ri.Z9(Se.NC("hint","{0}, hint",ae)),this.announcedLabel=ae)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var i;(i=this.domNodes)===null||i===void 0||i.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&(0,_i.cW)(t.documentation).length>0||t&&typeof t.documentation=="object"&&(0,_i.cW)(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&(0,_i.cW)(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&(0,_i.cW)(e.documentation.value).length>0)}renderParameters(e,t,i){const[s,o]=this.getParameterLabelOffsets(t,i),c=document.createElement("span");c.textContent=t.label.substring(0,s);const p=document.createElement("span");p.textContent=t.label.substring(s,o),p.className="parameter active";const P=document.createElement("span");P.textContent=t.label.substring(o),M.R3(e,c,p,P)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const s=new RegExp(`(\\W|^)${(0,Ni.ec)(i.label)}(?=\\W|$)`,"g");s.test(e.label);const o=s.lastIndex-i.label.length;return o>=0?[o,s.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}cancel(){this.model.cancel()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Iv.ID}trigger(e){this.model.trigger(e,0)}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};Wg.ID="editor.widget.parameterHintsWidget",Wg=Qy([Bg(1,ht.i6),Bg(2,zo.v4),Bg(3,Bs.O),Bg(4,Yi.p)],Wg);const Xy=(0,be.P6G)("editorHoverWidget.highlightForeground",{dark:be.Gwp,light:be.Gwp,hcDark:be.Gwp,hcLight:be.Gwp},Se.NC("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.CNo);if(t){const j=(0,Ro.c3)(f.type)?2:1;e.addRule(`.monaco-editor .parameter-hints-widget { border: ${j}px solid ${t}; }`),e.addRule(`.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${t.transparent(.5)}; }`)}const i=f.getColor(be.yJx);i&&e.addRule(`.monaco-editor .parameter-hints-widget { background-color: ${i}; }`);const s=f.getColor(be.url);s&&e.addRule(`.monaco-editor .parameter-hints-widget a { color: ${s}; }`);const o=f.getColor(be.sgC);o&&e.addRule(`.monaco-editor .parameter-hints-widget a:hover { color: ${o}; }`);const c=f.getColor(be.Sbf);c&&e.addRule(`.monaco-editor .parameter-hints-widget { color: ${c}; }`);const p=f.getColor(be.SwI);p&&e.addRule(`.monaco-editor .parameter-hints-widget code { background-color: ${p}; }`);const P=f.getColor(Xy);P&&e.addRule(`.monaco-editor .parameter-hints-widget .parameter.active { color: ${P}}`)});var Jy=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},qy=function(f,e){return function(t,i){e(t,i,f)}};let Zd=class xv extends lt.JT{constructor(e,t){super(),this.editor=e,this.widget=this._register(t.createInstance(Wg,this.editor))}static get(e){return e.getContribution(xv.ID)}cancel(){this.widget.cancel()}previous(){this.widget.previous()}next(){this.widget.next()}trigger(e){this.widget.trigger(e)}};Zd.ID="editor.controller.parameterHints",Zd=Jy([qy(1,F.TG)],Zd);class eL extends Ae.R6{constructor(){super({id:"editor.action.triggerParameterHints",label:Se.NC("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:Ue.u.hasSignatureHelpProvider,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Zd.get(t);i&&i.trigger({triggerKind:Je.WW.Invoke})}}(0,Ae._K)(Zd.ID,Zd),(0,Ae.Qr)(eL);const Hp=100+75,zp=Ae._l.bindToContribution(Zd.get);(0,Ae.fK)(new zp({id:"closeParameterHints",precondition:Qd.Visible,handler:f=>f.cancel(),kbOpts:{weight:Hp,kbExpr:Ue.u.focus,primary:9,secondary:[1033]}})),(0,Ae.fK)(new zp({id:"showPrevParameterHint",precondition:ht.Ao.and(Qd.Visible,Qd.MultipleSignatures),handler:f=>f.previous(),kbOpts:{weight:Hp,kbExpr:Ue.u.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),(0,Ae.fK)(new zp({id:"showNextParameterHint",precondition:ht.Ao.and(Qd.Visible,Qd.MultipleSignatures),handler:f=>f.next(),kbOpts:{weight:Hp,kbExpr:Ue.u.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var tL=m(12944),PE=m(36410),iL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Up=function(f,e){return function(t,i){e(t,i,f)}};const Vg=new ht.uy("renameInputVisible",!1,(0,Se.NC)("renameInputVisible","Whether the rename input widget is visible"));let jp=class{constructor(e,t,i,s,o){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=s,this._disposables=new lt.SL,this.allowEditorOverflow=!0,this._visibleContextKey=Vg.bindTo(o),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(46)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode){this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",(0,Se.NC)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label);const e=()=>{var t,i;const[s,o]=this._acceptKeybindings;this._keybindingService.lookupKeybinding(s),this._label.innerText=(0,Se.NC)({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(t=this._keybindingService.lookupKeybinding(s))===null||t===void 0?void 0:t.getLabel(),(i=this._keybindingService.lookupKeybinding(o))===null||i===void 0?void 0:i.getLabel())};e(),this._disposables.add(this._keybindingService.onDidUpdateKeybindings(e)),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())}return this._domNode}_updateStyles(e){var t,i,s,o;if(!this._input||!this._domNode)return;const c=e.getColor(be.rh);this._domNode.style.backgroundColor=String((t=e.getColor(be.D0T))!==null&&t!==void 0?t:""),this._domNode.style.boxShadow=c?` 0 0 8px 2px ${c}`:"",this._domNode.style.color=String((i=e.getColor(be.zJb))!==null&&i!==void 0?i:""),this._input.style.backgroundColor=String((s=e.getColor(be.sEe))!==null&&s!==void 0?s:"");const p=e.getColor(be.dt_);this._input.style.borderWidth=p?"1px":"0px",this._input.style.borderStyle=p?"solid":"none",this._input.style.borderColor=(o=p?.toString())!==null&&o!==void 0?o:"none"}_updateFont(){if(!this._input||!this._label)return;const e=this._editor.getOption(46);this._input.style.fontFamily=e.fontFamily,this._input.style.fontWeight=e.fontWeight,this._input.style.fontSize=`${e.fontSize}px`,this._label.style.fontSize=`${e.fontSize*.8}px`}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}afterRender(e){e||this.cancelInput(!0)}acceptInput(e){var t;(t=this._currentAcceptInput)===null||t===void 0||t.call(this,e)}cancelInput(e){var t;(t=this._currentCancelInput)===null||t===void 0||t.call(this,e)}getInput(e,t,i,s,o,c){this._domNode.classList.toggle("preview",o),this._position=new wi.L(e.startLineNumber,e.startColumn),this._input.value=t,this._input.setAttribute("selectionStart",i.toString()),this._input.setAttribute("selectionEnd",s.toString()),this._input.size=Math.max((e.endColumn-e.startColumn)*1.1,20);const p=new lt.SL;return new Promise(P=>{this._currentCancelInput=j=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,P(j),!0),this._currentAcceptInput=j=>{if(this._input.value.trim().length===0||this._input.value===t){this.cancelInput(!0);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,P({newName:this._input.value,wantsPreview:o&&j})},p.add(c.onCancellationRequested(()=>this.cancelInput(!0))),p.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!1))),this._show()}).finally(()=>{p.dispose(),this._hide()})}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))},100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};jp=iL([Up(2,Xe.XE),Up(3,Le.d),Up(4,ht.i6)],jp);var nL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Yd=function(f,e){return function(t,i){e(t,i,f)}},Xd=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Kp{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}resolveRenameLocation(e){return Xd(this,void 0,void 0,function*(){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const s=this._providers[this._providerRenameIdx];if(!s.resolveRenameLocation)break;const o=yield s.resolveRenameLocation(this.model,this.position,e);if(o){if(o.rejectReason){t.push(o.rejectReason);continue}return o}}const i=this.model.getWordAtPosition(this.position);return i?{range:new yt.e(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(` `):void 0}:{range:yt.e.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(` `):void 0}})}provideRenameEdits(e,t){return Xd(this,void 0,void 0,function*(){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)})}_provideRenameEdits(e,t,i,s){return Xd(this,void 0,void 0,function*(){const o=this._providers[t];if(!o)return{edits:[],rejectReason:i.join(` `)};const c=yield o.provideRenameEdits(this.model,this.position,e,s);if(c){if(c.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(c.rejectReason),s)}else return this._provideRenameEdits(e,t+1,i.concat(Se.NC("no result","No result.")),s);return c})}}function sL(f,e,t,i){return Xd(this,void 0,void 0,function*(){const s=new Kp(e,t,f),o=yield s.resolveRenameLocation(Ai.T.None);return o?.rejectReason?{edits:[],rejectReason:o.rejectReason}:s.provideRenameEdits(i,Ai.T.None)})}let Jd=class Nv{constructor(e,t,i,s,o,c,p,P){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=s,this._progressService=o,this._logService=c,this._configService=p,this._languageFeaturesService=P,this._disposableStore=new lt.SL,this._cts=new Ai.A,this._renameInputField=this._disposableStore.add(new Ot.Ue(()=>this._disposableStore.add(this._instaService.createInstance(jp,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))))}static get(e){return e.getContribution(Nv.ID)}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}run(){var e,t;return Xd(this,void 0,void 0,function*(){if(this._cts.dispose(!0),!this.editor.hasModel())return;const i=this.editor.getPosition(),s=new Kp(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!s.hasProvider())return;this._cts=new Qn.Dl(this.editor,5);let o;try{const ye=s.resolveRenameLocation(this._cts.token);this._progressService.showWhile(ye,250),o=yield ye}catch(ye){(e=ns.get(this.editor))===null||e===void 0||e.showMessage(ye||Se.NC("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),i);return}if(!o)return;if(o.rejectReason){(t=ns.get(this.editor))===null||t===void 0||t.showMessage(o.rejectReason,i);return}if(this._cts.token.isCancellationRequested)return;this._cts.dispose(),this._cts=new Qn.Dl(this.editor,5,o.range);const c=this.editor.getSelection();let p=0,P=o.text.length;!yt.e.isEmpty(c)&&!yt.e.spansMultipleLines(c)&&yt.e.containsRange(o.range,c)&&(p=Math.max(0,c.startColumn-o.range.startColumn),P=Math.min(o.range.endColumn,c.endColumn)-o.range.startColumn);const j=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),V=yield this._renameInputField.value.getInput(o.range,o.text,p,P,j,this._cts.token);if(typeof V=="boolean"){V&&this.editor.focus();return}this.editor.focus();const ae=(0,Ot.eP)(s.provideRenameEdits(V.newName,this._cts.token),this._cts.token).then(ye=>Xd(this,void 0,void 0,function*(){if(!(!ye||!this.editor.hasModel())){if(ye.rejectReason){this._notificationService.info(ye.rejectReason);return}this.editor.setSelection(yt.e.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(rs.fo.convert(ye),{editor:this.editor,showPreview:V.wantsPreview,label:Se.NC("label","Renaming '{0}' to '{1}'",o?.text,V.newName),code:"undoredo.rename",quotableLabel:Se.NC("quotableLabel","Renaming {0} to {1}",o?.text,V.newName),respectAutoSaveConfig:!0}).then(We=>{We.ariaSummary&&(0,ri.Z9)(Se.NC("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,V.newName,We.ariaSummary))}).catch(We=>{this._notificationService.error(Se.NC("rename.failedApply","Rename failed to apply edits")),this._logService.error(We)})}}),ye=>{this._notificationService.error(Se.NC("rename.failed","Rename failed to compute edits")),this._logService.error(ye)});return this._progressService.showWhile(ae,250),ae})}acceptRenameInput(e){this._renameInputField.value.acceptInput(e)}cancelRenameInput(){this._renameInputField.value.cancelInput(!0)}};Jd.ID="editor.contrib.renameController",Jd=nL([Yd(1,F.TG),Yd(2,bs.lT),Yd(3,rs.vu),Yd(4,Is.ek),Yd(5,Ns.VZ),Yd(6,tL.V),Yd(7,Yi.p)],Jd);class oL extends Ae.R6{constructor(){super({id:"editor.action.rename",label:Se.NC("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ht.Ao.and(Ue.u.writable,Ue.u.hasRenameProvider),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Qi.$),[s,o]=Array.isArray(t)&&t||[void 0,void 0];return vn.o.isUri(s)&&wi.L.isIPosition(o)?i.openCodeEditor({resource:s},i.getActiveCodeEditor()).then(c=>{c&&(c.setPosition(o),c.invokeWithinContext(p=>(this.reportTelemetry(p,c),this.run(p,c))))},Vi.dL):super.runCommand(e,t)}run(e,t){const i=Jd.get(t);return i?i.run():Promise.resolve()}}(0,Ae._K)(Jd.ID,Jd),(0,Ae.Qr)(oL);const $p=Ae._l.bindToContribution(Jd.get);(0,Ae.fK)(new $p({id:"acceptRenameInput",precondition:Vg,handler:f=>f.acceptRenameInput(!1),kbOpts:{weight:100+99,kbExpr:Ue.u.focus,primary:3}})),(0,Ae.fK)(new $p({id:"acceptRenameInputWithPreview",precondition:ht.Ao.and(Vg,ht.Ao.has("config.editor.rename.enablePreview")),handler:f=>f.acceptRenameInput(!0),kbOpts:{weight:100+99,kbExpr:Ue.u.focus,primary:1024+3}})),(0,Ae.fK)(new $p({id:"cancelRenameInput",precondition:Vg,handler:f=>f.cancelRenameInput(),kbOpts:{weight:100+99,kbExpr:Ue.u.focus,primary:9,secondary:[1033]}})),(0,Ae.sb)("_executeDocumentRenameProvider",function(f,e,t,...i){const[s]=i;(0,_i.p_)(typeof s=="string");const{renameProvider:o}=f.get(Yi.p);return sL(o,e,t,s)}),(0,Ae.sb)("_executePrepareRename",function(f,e,t){return Xd(this,void 0,void 0,function*(){const{renameProvider:i}=f.get(Yi.p),o=yield new Kp(e,t,i).resolveRenameLocation(Ai.T.None);if(o?.rejectReason)throw new Error(o.rejectReason);return o})}),yo.B.as(Rr.IP.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:Se.NC("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var rL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},aL=function(f,e){return function(t,i){e(t,i,f)}},lC=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},Gp;let Fu=class extends lt.JT{constructor(e,t){super(),this._sessionStore=new lt.SL,this._ranges=[],this._rangesVersionId=0,this._editor=e,this._languageFeaturesService=t,this.stickyScrollWidget=new lL(this._editor),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(34)&&this.onConfigurationChange()})),this._updateSoon=this._register(new Ot.pY(()=>this._update(!0),50)),this.onConfigurationChange()}onConfigurationChange(){if(this._editor.getOption(34).stickyScroll.enabled===!1){this.stickyScrollWidget.emptyRootNode(),this._editor.removeOverlayWidget(this.stickyScrollWidget),this._sessionStore.clear();return}else this._editor.addOverlayWidget(this.stickyScrollWidget),this._sessionStore.add(this._editor.onDidChangeModel(()=>this._update(!0))),this._sessionStore.add(this._editor.onDidScrollChange(()=>this._update(!1))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this._update(!0))),this._sessionStore.add(this._editor.onDidChangeModelTokens(t=>this._onTokensChange(t))),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this._update(!0))),this._update(!0)}_needsUpdate(e){const t=this.stickyScrollWidget.getCurrentLines();for(const i of t)for(const s of e.ranges)if(i>=s.fromLineNumber&&i<=s.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._update(!1)}_update(e=!1){var t,i;return lC(this,void 0,void 0,function*(){e&&((t=this._cts)===null||t===void 0||t.dispose(!0),this._cts=new Ai.A,yield this._updateOutlineModel(this._cts.token));const s=(i=this._editor._getViewModel())===null||i===void 0?void 0:i.getHiddenAreas();if(s)for(const o of s)this._ranges=this._ranges.filter(c=>!(c[0]>=o.startLineNumber&&c[1]<=o.endLineNumber+1));this._renderStickyScroll()})}_findLineRanges(e,t){if(e?.children.size){let i=!1;for(const s of e?.children.values()){const o=s.symbol.kind;(o===4||o===8||o===11||o===10||o===5||o===1)&&(i=!0,this._findLineRanges(s,t+1))}i||this._addOutlineRanges(e,t)}else this._addOutlineRanges(e,t)}_addOutlineRanges(e,t){let i=0,s=0;for(;e;){const o=e.symbol.kind;if((o===4||o===8||o===11||o===10||o===5||o===1)&&(i=e?.symbol.range.startLineNumber,s=e?.symbol.range.endLineNumber,this._ranges.push([i,s,t]),t--),e.parent instanceof ug)e=e.parent;else break}}_updateOutlineModel(e){return lC(this,void 0,void 0,function*(){if(this._editor.hasModel()){const t=this._editor.getModel(),i=t.getVersionId(),s=yield rl.create(this._languageFeaturesService.documentSymbolProvider,t,e);if(e.isCancellationRequested)return;this._ranges=[],this._rangesVersionId=i;for(const o of s.children.values()){if(o instanceof ug){const p=o.symbol.kind;p===4||p===8||p===11||p===10||p===5||p===1?this._findLineRanges(o,1):this._findLineRanges(o,0)}this._ranges=this._ranges.sort(function(p,P){return p[0]!==P[0]?p[0]-P[0]:p[1]!==P[1]?P[1]-p[1]:p[2]-P[2]});let c=[];for(const[p,P]of this._ranges.entries()){const[j,V,ae]=P;c[0]===j&&c[1]===V?this._ranges.splice(p,1):c=P}}}})}_renderStickyScroll(){if(!this._editor.hasModel())return;const e=this._editor.getOption(61),t=this._editor.getModel();if(this._rangesVersionId!==t.getVersionId())return;const i=this._editor.getScrollTop();this.stickyScrollWidget.emptyRootNode();const s=new Set;for(const[o,c]of this._ranges.entries()){const[p,P,j]=c;if(P-p>0&&t.getLineContent(p)!==""){const V=(j-1)*e,ae=j*e,ye=this._editor.getBottomForLineNumber(p)-i,We=this._editor.getTopForLineNumber(P)-i,Ze=this._editor.getBottomForLineNumber(P)-i;if(s.has(p))this._ranges.splice(o,1);else if(V>=We-1&&V<Ze-2){s.add(p),this.stickyScrollWidget.pushCodeLine(new cC(p,j,this._editor,-1,Ze-ae));break}else ae>ye&&ae<Ze-1&&(s.add(p),this.stickyScrollWidget.pushCodeLine(new cC(p,j,this._editor,0,0)))}}this.stickyScrollWidget.updateRootNode()}dispose(){super.dispose(),this._sessionStore.dispose()}};Fu.ID="store.contrib.stickyScrollController",Fu=rL([aL(1,Yi.p)],Fu);const dC=(Gp=window.trustedTypes)===null||Gp===void 0?void 0:Gp.createPolicy("stickyScrollViewLayer",{createHTML:f=>f});class cC{constructor(e,t,i,s,o){this._lineNumber=e,this._depth=t,this._editor=i,this._zIndex=s,this._relativePosition=o,this.effectiveLineHeight=0,this.effectiveLineHeight=this._editor.getOption(61)+this._relativePosition}get lineNumber(){return this._lineNumber}getDomNode(){const e=document.createElement("div"),t=this._editor._getViewModel(),i=t.coordinatesConverter.convertModelPositionToViewPosition(new wi.L(this._lineNumber,1)).lineNumber,s=t.getViewLineRenderingData(i);let o;try{o=Ep.Kp.filter(s.inlineDecorations,i,s.minColumn,s.maxColumn)}catch{o=[]}const c=new Sg.IJ(!0,!0,s.content,s.continuesWithWrappedLine,s.isBasicASCII,s.containsRTL,0,s.tokens,o,s.tabSize,s.startVisibleColumn,1,1,1,100,"none",!0,!0,null),p=(0,A0.l$)(400);(0,Sg.d1)(c,p);let P;dC?P=dC.createHTML(p.build()):P=p.build();const j=document.createElement("span");j.style.backgroundColor="var(--vscode-editorStickyScroll-background)",j.style.overflow="hidden",j.style.whiteSpace="nowrap",j.style.display="inline-block",j.style.lineHeight=this._editor.getOption(61).toString()+"px",j.innerHTML=P;const V=document.createElement("span");V.style.width=this._editor.getLayoutInfo().contentLeft.toString()+"px",V.style.backgroundColor="var(--vscode-editorStickyScroll-background)",V.style.color="var(--vscode-editorLineNumber-foreground)",V.style.display="inline-block",V.style.lineHeight=this._editor.getOption(61).toString()+"px";const ae=document.createElement("span");return ae.innerText=this._lineNumber.toString(),ae.style.paddingLeft=this._editor.getLayoutInfo().lineNumbersLeft.toString()+"px",ae.style.width=this._editor.getLayoutInfo().lineNumbersWidth.toString()+"px",ae.style.backgroundColor="var(--vscode-editorStickyScroll-background)",ae.style.textAlign="right",ae.style.float="left",ae.style.lineHeight=this._editor.getOption(61).toString()+"px",V.appendChild(ae),e.onclick=ye=>{ye.stopPropagation(),ye.preventDefault(),this._editor.revealPosition({lineNumber:this._lineNumber-this._depth+1,column:1})},e.onmouseover=ye=>{ae.style.background="var(--vscode-editorStickyScrollHover-background)",j.style.backgroundColor="var(--vscode-editorStickyScrollHover-background)",V.style.backgroundColor="var(--vscode-editorStickyScrollHover-background)",e.style.backgroundColor="var(--vscode-editorStickyScrollHover-background)",ae.style.cursor="pointer",j.style.cursor="pointer",e.style.cursor="pointer",V.style.cursor="pointer"},e.onmouseleave=ye=>{ae.style.background="var(--vscode-editorStickyScroll-background)",j.style.backgroundColor="var(--vscode-editorStickyScroll-background)",V.style.backgroundColor="var(--vscode-editorStickyScroll-background)",e.style.backgroundColor="var(--vscode-editorStickyScroll-background)"},this._editor.applyFontInfo(j),this._editor.applyFontInfo(ae),e.appendChild(V),e.appendChild(j),e.style.zIndex=this._zIndex.toString(),e.style.backgroundColor="var(--vscode-editorStickyScroll-background)",e.style.overflow="hidden",e.style.whiteSpace="nowrap",e.style.width="100%",e.style.lineHeight=this._editor.getOption(61).toString()+"px",e.style.height=this._editor.getOption(61).toString()+"px",this._relativePosition&&(e.style.position="relative",e.style.top=this._relativePosition+"px",e.style.width="100%"),e}}class lL{constructor(e){this._editor=e,this.arrayOfCodeLines=[],this.rootDomNode=document.createElement("div"),this.rootDomNode=document.createElement("div"),this.rootDomNode.style.width="100%",this.rootDomNode.style.boxShadow="var(--vscode-scrollbar-shadow) 0 6px 6px -6px"}getCurrentLines(){const e=[];for(const t of this.arrayOfCodeLines)e.push(t.lineNumber);return e}pushCodeLine(e){this.arrayOfCodeLines.push(e)}updateRootNode(){let e=0;for(const t of this.arrayOfCodeLines)e+=t.effectiveLineHeight,this.rootDomNode.appendChild(t.getDomNode());this.rootDomNode.style.height=e.toString()+"px"}emptyRootNode(){this.arrayOfCodeLines.length=0,M.PO(this.rootDomNode)}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this.rootDomNode.style.zIndex="2",this.rootDomNode.style.backgroundColor="var(--vscode-editorStickyScroll-background)",this.rootDomNode}getPosition(){return{preference:null}}}(0,Ae._K)(Fu.ID,Fu);class dL{provideSelectionRanges(e,t){const i=[];for(const s of t){const o=[];i.push(o),this._addInWordRanges(o,e,s),this._addWordRanges(o,e,s),this._addWhitespaceLine(o,e,s),o.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const s=t.getWordAtPosition(i);if(!s)return;const{word:o,startColumn:c}=s,p=i.column-c;let P=p,j=p,V=0;for(;P>=0;P--){const ae=o.charCodeAt(P);if(P!==p&&(ae===95||ae===45))break;if((0,Ni.mK)(ae)&&(0,Ni.df)(V))break;V=ae}for(P+=1;j<o.length;j++){const ae=o.charCodeAt(j);if((0,Ni.df)(ae)&&(0,Ni.mK)(V))break;if(ae===95||ae===45)break;V=ae}P<j&&e.push({range:new yt.e(i.lineNumber,c+P,i.lineNumber,c+j)})}_addWordRanges(e,t,i){const s=t.getWordAtPosition(i);s&&e.push({range:new yt.e(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new yt.e(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var cL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},hL=function(f,e){return function(t,i){e(t,i,f)}},Hg=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class Qp{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new Qp(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let fh=class kv{constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}static get(e){return e.getContribution(kv.ID)}dispose(){var e;(e=this._selectionListener)===null||e===void 0||e.dispose()}run(e){return Hg(this,void 0,void 0,function*(){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||(yield uC(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(104),Ai.T.None).then(o=>{var c;if(!(!hn.Of(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!hn.fS(this._editor.getSelections(),t,(p,P)=>p.equalsSelection(P)))){for(let p=0;p<o.length;p++)o[p]=o[p].filter(P=>P.containsPosition(t[p].getStartPosition())&&P.containsPosition(t[p].getEndPosition())),o[p].unshift(t[p]);this._state=o.map(p=>new Qp(0,p)),(c=this._selectionListener)===null||c===void 0||c.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var p;this._ignoreSelection||((p=this._selectionListener)===null||p===void 0||p.dispose(),this._state=void 0)})}})),!this._state)return;this._state=this._state.map(o=>o.mov(e));const s=this._state.map(o=>Ii.Y.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(s)}finally{this._ignoreSelection=!1}})}};fh.ID="editor.contrib.smartSelectController",fh=cL([hL(1,Yi.p)],fh);class hC extends Ae.R6{constructor(e,t){super(t),this._forward=e}run(e,t){return Hg(this,void 0,void 0,function*(){const i=fh.get(t);i&&(yield i.run(this._forward))})}}class uL extends hC{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:Se.NC("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"1_basic",title:Se.NC({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}mn.P0.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class fL extends hC{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:Se.NC("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Ne.eH.MenubarSelectionMenu,group:"1_basic",title:Se.NC({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}(0,Ae._K)(fh.ID,fh),(0,Ae.Qr)(uL),(0,Ae.Qr)(fL);function uC(f,e,t,i,s){return Hg(this,void 0,void 0,function*(){const o=f.all(e).concat(new dL);o.length===1&&o.unshift(new gr);const c=[],p=[];for(const P of o)c.push(Promise.resolve(P.provideSelectionRanges(e,t,s)).then(j=>{if(hn.Of(j)&&j.length===t.length)for(let V=0;V<t.length;V++){p[V]||(p[V]=[]);for(const ae of j[V])yt.e.isIRange(ae.range)&&yt.e.containsPosition(ae.range,t[V])&&p[V].push(yt.e.lift(ae.range))}},Vi.Cp));return yield Promise.all(c),p.map(P=>{if(P.length===0)return[];P.sort((ye,We)=>wi.L.isBefore(ye.getStartPosition(),We.getStartPosition())?1:wi.L.isBefore(We.getStartPosition(),ye.getStartPosition())||wi.L.isBefore(ye.getEndPosition(),We.getEndPosition())?-1:wi.L.isBefore(We.getEndPosition(),ye.getEndPosition())?1:0);const j=[];let V;for(const ye of P)(!V||yt.e.containsRange(ye,V)&&!yt.e.equalsRange(ye,V))&&(j.push(ye),V=ye);if(!i.selectLeadingAndTrailingWhitespace)return j;const ae=[j[0]];for(let ye=1;ye<j.length;ye++){const We=j[ye-1],Ze=j[ye];if(Ze.startLineNumber!==We.startLineNumber||Ze.endLineNumber!==We.endLineNumber){const it=new yt.e(We.startLineNumber,e.getLineFirstNonWhitespaceColumn(We.startLineNumber),We.endLineNumber,e.getLineLastNonWhitespaceColumn(We.endLineNumber));it.containsRange(We)&&!it.equalsRange(We)&&Ze.containsRange(it)&&!Ze.equalsRange(it)&&ae.push(it);const vt=new yt.e(We.startLineNumber,1,We.endLineNumber,e.getLineMaxColumn(We.endLineNumber));vt.containsRange(We)&&!vt.equalsRange(it)&&Ze.containsRange(vt)&&!Ze.equalsRange(vt)&&ae.push(vt)}ae.push(Ze)}return ae})})}mn.P0.registerCommand("_executeSelectionRangeProvider",function(f,...e){return Hg(this,void 0,void 0,function*(){const[t,i]=e;(0,_i.p_)(vn.o.isUri(t));const s=f.get(Yi.p).selectionRangeProvider,o=yield f.get(zs.S).createModelReference(t);try{return uC(s,o.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0},Ai.T.None)}finally{o.dispose()}})});var gL=m(22382),Zp=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},qd=function(f,e){return function(t,i){e(t,i,f)}},mL=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};class pL{constructor(e,t,i,s,o,c){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=s,this.command=o,this.completion=c}}let Yp=class extends lt.L6{constructor(e,t,i,s,o,c){super(o.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=s,this._suggestMemoryService=c}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.incomplete.size===0}get items(){var e;const t=[],{items:i}=this.completionModel,s=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},i),o=Su.$.slice(i,s),c=Su.$.slice(i,0,s);let p=5;for(const P of Su.$.concat(o,c)){if(P.score===Zi.CL.Default)continue;const j=new yt.e(P.editStart.lineNumber,P.editStart.column,P.editInsertEnd.lineNumber,P.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),V=P.completion.insertTextRules&&P.completion.insertTextRules&gL.a7.InsertAsSnippet?{snippet:P.completion.insertText}:P.completion.insertText;t.push(new pL(j,V,(e=P.filterTextLow)!==null&&e!==void 0?e:P.labelLow,P.completion.additionalTextEdits,P.completion.command,P)),p-->=0&&P.resolve(Ai.T.None)}return t}};Yp=Zp([qd(5,pg)],Yp);let Xp=class{constructor(e,t,i,s){this._getEditorOption=e,this._languageFeatureService=t,this._clipboardService=i,this._suggestMemoryService=s}provideInlineCompletions(e,t,i,s){var o;return mL(this,void 0,void 0,function*(){if(i.selectedSuggestionInfo)return;const c=this._getEditorOption(81,e);if(zl.isAllOff(c))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const p=e.tokenization.getLineTokens(t.lineNumber),P=p.getStandardTokenType(p.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(zl.valueFor(c,P)!=="inline")return;let j=e.getWordAtPosition(t),V;if(j?.word||(V=this._getTriggerCharacterInfo(e,t)),!j?.word&&!V||(j||(j=e.getWordUntilPosition(t)),j.endColumn!==t.column))return;let ae;const ye=e.getValueInRange(new yt.e(t.lineNumber,1,t.lineNumber,t.column));if(!V&&(!((o=this._lastResult)===null||o===void 0)&&o.canBeReused(e,t.lineNumber,j))){const We=new x0(ye,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=We,this._lastResult.acquire(),ae=this._lastResult}else{const We=yield Qh(this._languageFeatureService.completionProvider,e,t,new kd(void 0,void 0,V?.providers),V&&{triggerKind:1,triggerCharacter:V.ch},s);let Ze;We.needsClipboard&&(Ze=yield this._clipboardService.readText());const it=new Jl(We.items,t.column,new x0(ye,0),la.None,this._getEditorOption(108,e),this._getEditorOption(103,e),{boostFullMatch:!1,firstMatchCanBeWeak:!1},Ze);ae=new Yp(e,t.lineNumber,j,it,We,this._suggestMemoryService)}return this._lastResult=ae,ae})}handleItemDidShow(e,t){t.completion.resolve(Ai.T.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var i;const s=e.getValueInRange(yt.e.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const c of this._languageFeatureService.completionProvider.all(e))!((i=c.triggerCharacters)===null||i===void 0)&&i.includes(s)&&o.add(c);if(o.size!==0)return{providers:o,ch:s}}};Xp=Zp([qd(1,Yi.p),qd(2,Oi.p),qd(3,pg)],Xp);let zg=class kh{constructor(e,t,i,s){if(++kh._counter===1){const o=s.createInstance(Xp,(c,p)=>{var P;return((P=i.listCodeEditors().find(V=>V.getModel()===p))!==null&&P!==void 0?P:e).getOption(c)});kh._disposable=t.inlineCompletionsProvider.register("*",o)}}dispose(){var e;--kh._counter===0&&((e=kh._disposable)===null||e===void 0||e.dispose(),kh._disposable=void 0)}};zg._counter=0,zg=Zp([qd(1,Yi.p),qd(2,Qi.$),qd(3,F.TG)],zg),(0,Ae._K)("suggest.inlineCompletionsProvider",zg);class _L extends Ae.R6{constructor(){super({id:"editor.action.forceRetokenize",label:Se.NC("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const s=new Xs.G(!0);i.tokenization.forceTokenization(i.getLineCount()),s.stop(),console.log(`tokenization took ${s.elapsed()}`)}}(0,Ae.Qr)(_L);var fC=m(50263);class gh extends Ae.R6{constructor(){super({id:gh.ID,label:Se.NC({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:void 0,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})}run(e,t){const s=!fC.n.getTabFocusMode();fC.n.setTabFocusMode(s),s?(0,ri.Z9)(Se.NC("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):(0,ri.Z9)(Se.NC("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}gh.ID="editor.action.toggleTabFocusMode",(0,Ae.Qr)(gh);var OE=m(3272),gC=m(9550),mh=m(43025),FE=m(3067),CL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},vL=function(f,e){return function(t,i){e(t,i,f)}};let Jp=class extends lt.JT{constructor(e,t,i={},s){var o;super(),this._link=t,this._enabled=!0,this.el=(0,M.R3)(e,(0,M.$)("a.monaco-link",{tabIndex:(o=t.tabIndex)!==null&&o!==void 0?o:0,href:t.href,title:t.title},t.label)),this.el.setAttribute("role","button");const c=this._register(new Md.Y(this.el,"click")),p=this._register(new Md.Y(this.el,"keypress")),P=Hi.ju.chain(p.event).map(ae=>new Lr.y(ae)).filter(ae=>ae.keyCode===3).event,j=this._register(new Md.Y(this.el,kn.t.Tap)).event;this._register(kn.o.addTarget(this.el));const V=Hi.ju.any(c.event,P,j);this._register(V(ae=>{this.enabled&&(M.zB.stop(ae,!0),i?.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}};Jp=CL([vL(3,zo.v4)],Jp),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.url);t&&e.addRule(`.monaco-link { color: ${t}; }`);const i=f.getColor(be.sgC);i&&e.addRule(`.monaco-link:hover { color: ${i}; }`)});var mC=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},pC=function(f,e){return function(t,i){e(t,i,f)}};const bL=26;let qp=class extends lt.JT{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(e_))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show(Object.assign(Object.assign({},e),{onClose:()=>{var t;this.hide(),(t=e.onClose)===null||t===void 0||t.call(e)}})),this._editor.setBanner(this.banner.element,bL)}};qp=mC([pC(1,F.TG)],qp);let e_=class extends lt.JT{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Wr,{}),this.element=(0,M.$)("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=(0,M.$)("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){(0,M.PO)(this.element)}show(e){(0,M.PO)(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=(0,M.R3)(this.element,(0,M.$)("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild((0,M.$)(`div${Xe.kS.asCSSSelector(e.icon)}`));const s=(0,M.R3)(this.element,(0,M.$)("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=(0,M.R3)(this.element,(0,M.$)("div.message-actions-container")),e.actions)for(const c of e.actions)this._register(this.instantiationService.createInstance(Jp,this.messageActionsContainer,Object.assign(Object.assign({},c),{tabIndex:-1}),{}));const o=(0,M.R3)(this.element,(0,M.$)("div.action-container"));this.actionBar=this._register(new Yr.o(o)),this.actionBar.push(this._register(new _.aU("banner.close","Close Banner",Xe.kS.asClassName(uo.s_),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};e_=mC([pC(0,F.TG)],e_);var wL=m(59536),t_=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},ph=function(f,e){return function(t,i){e(t,i,f)}},No=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const SL=(0,uo.q5)("extensions-warning-message",Mi.lA.warning,Se.NC("warningIcon","Icon shown with a warning message in the extensions editor."));let _h=class extends lt.JT{constructor(e,t,i,s){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=o=>{if(o&&o.hasMore){if(this._bannerClosed)return;const c=Math.max(o.ambiguousCharacterCount,o.nonBasicAsciiCharacterCount,o.invisibleCharacterCount);let p;if(o.nonBasicAsciiCharacterCount>=c)p={message:Se.NC("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new vh};else if(o.ambiguousCharacterCount>=c)p={message:Se.NC("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new od};else if(o.invisibleCharacterCount>=c)p={message:Se.NC("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Ch};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:p.message,icon:SL,actions:[{label:p.command.shortLabel,href:`command:${p.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(s.createInstance(qp,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(115),this._register(i.onDidChangeTrust(o=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(o=>{o.hasChanged(115)&&(this._options=e.getOption(115),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=yL(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?Fi.dK:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new i_(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new LL(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};_h.ID="editor.contrib.unicodeHighlighter",_h=t_([ph(1,Cu.p),ph(2,wL.Y),ph(3,F.TG)],_h);function yL(f,e){return{nonBasicASCII:e.nonBasicASCII===cs.Av?!f:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===cs.Av?!f:e.includeComments,includeStrings:e.includeStrings===cs.Av?!f:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let i_=class extends lt.JT{constructor(e,t,i,s){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=s,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ot.pY(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const s of t.ranges)i.push({range:s,options:Ug.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!(0,mh.Fd)(t,e))return null;const i=t.getValueInRange(e.range);return{reason:CC(i,this._options),inComment:(0,mh.$t)(t,e),inString:(0,mh.zg)(t,e)}}};i_=t_([ph(3,Cu.p)],i_);class LL extends lt.JT{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ot.pY(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const s of e){const o=gC.a.computeUnicodeHighlights(this._model,this._options,s);for(const c of o.ranges)i.ranges.push(c);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||o.hasMore}if(!i.hasMore)for(const s of i.ranges)t.push({range:s,options:Ug.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return(0,mh.Fd)(t,e)?{reason:CC(i,this._options),inComment:(0,mh.$t)(t,e),inString:(0,mh.zg)(t,e)}:null}}let n_=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=4}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),s=this._editor.getContribution(_h.ID);if(!s)return[];const o=[];let c=300;for(const p of t){const P=s.getDecorationInfo(p);if(!P)continue;const V=i.getValueInRange(p.range).codePointAt(0),ae=_C(V);let ye;switch(P.reason.kind){case 0:ye=Se.NC("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",ae,_C(P.reason.confusableWith.codePointAt(0)));break;case 1:ye=Se.NC("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",ae);break;case 2:ye=Se.NC("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",ae);break}const We={codePoint:V,reason:P.reason,inComment:P.inComment,inString:P.inString},Ze=Se.NC("unicodeHighlight.adjustSettings","Adjust settings"),it=`command:${Bu.ID}?${encodeURIComponent(JSON.stringify(We))}`,vt=new Di.W5("",!0).appendMarkdown(ye).appendText(" ").appendLink(it,Ze);o.push(new Ir(this,p.range,[vt],c++))}return o}renderHoverParts(e,t){return Bf(e,t,this._editor,this._languageService,this._openerService)}};n_=t_([ph(1,Bs.O),ph(2,zo.v4)],n_);function s_(f){return`U+${f.toString(16).padStart(4,"0")}`}function _C(f){let e=`\`${s_(f)}\``;return Ni.vU.isInvisibleCharacter(f)||(e+=` "${`${DL(f)}`}"`),e}function DL(f){return f===96?"`` ` ``":"`"+String.fromCodePoint(f)+"`"}function CC(f,e){return gC.a.computeUnicodeHighlightReason(f,e)}class Ug{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let s=this.map.get(i);return s||(s=on.qx.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,s)),s}}Ug.instance=new Ug;class EL extends Ae.R6{constructor(){super({id:od.ID,label:Se.NC("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=Se.NC("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}run(e,t,i){return No(this,void 0,void 0,function*(){const s=e?.get(ce.Ui);s&&this.runAction(s)})}runAction(e){return No(this,void 0,void 0,function*(){yield e.updateValue(cs.qt.includeComments,!1,2)})}}class IL extends Ae.R6{constructor(){super({id:od.ID,label:Se.NC("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=Se.NC("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}run(e,t,i){return No(this,void 0,void 0,function*(){const s=e?.get(ce.Ui);s&&this.runAction(s)})}runAction(e){return No(this,void 0,void 0,function*(){yield e.updateValue(cs.qt.includeStrings,!1,2)})}}class od extends Ae.R6{constructor(){super({id:od.ID,label:Se.NC("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=Se.NC("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}run(e,t,i){return No(this,void 0,void 0,function*(){const s=e?.get(ce.Ui);s&&this.runAction(s)})}runAction(e){return No(this,void 0,void 0,function*(){yield e.updateValue(cs.qt.ambiguousCharacters,!1,2)})}}od.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Ch extends Ae.R6{constructor(){super({id:Ch.ID,label:Se.NC("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=Se.NC("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}run(e,t,i){return No(this,void 0,void 0,function*(){const s=e?.get(ce.Ui);s&&this.runAction(s)})}runAction(e){return No(this,void 0,void 0,function*(){yield e.updateValue(cs.qt.invisibleCharacters,!1,2)})}}Ch.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class vh extends Ae.R6{constructor(){super({id:vh.ID,label:Se.NC("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=Se.NC("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}run(e,t,i){return No(this,void 0,void 0,function*(){const s=e?.get(ce.Ui);s&&this.runAction(s)})}runAction(e){return No(this,void 0,void 0,function*(){yield e.updateValue(cs.qt.nonBasicASCII,!1,2)})}}vh.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Bu extends Ae.R6{constructor(){super({id:Bu.ID,label:Se.NC("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}run(e,t,i){return No(this,void 0,void 0,function*(){const{codePoint:s,reason:o,inString:c,inComment:p}=i,P=String.fromCodePoint(s),j=e.get(Gr.eJ),V=e.get(ce.Ui);function ae(Ze){return Ni.vU.isInvisibleCharacter(Ze)?Se.NC("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",s_(Ze)):Se.NC("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${s_(Ze)} "${P}"`)}const ye=[];if(o.kind===0)for(const Ze of o.notAmbiguousInLocales)ye.push({label:Se.NC("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',Ze),run:()=>No(this,void 0,void 0,function*(){NL(V,[Ze])})});if(ye.push({label:ae(s),run:()=>xL(V,[s])}),p){const Ze=new EL;ye.push({label:Ze.label,run:()=>No(this,void 0,void 0,function*(){return Ze.runAction(V)})})}else if(c){const Ze=new IL;ye.push({label:Ze.label,run:()=>No(this,void 0,void 0,function*(){return Ze.runAction(V)})})}if(o.kind===0){const Ze=new od;ye.push({label:Ze.label,run:()=>No(this,void 0,void 0,function*(){return Ze.runAction(V)})})}else if(o.kind===1){const Ze=new Ch;ye.push({label:Ze.label,run:()=>No(this,void 0,void 0,function*(){return Ze.runAction(V)})})}else if(o.kind===2){const Ze=new vh;ye.push({label:Ze.label,run:()=>No(this,void 0,void 0,function*(){return Ze.runAction(V)})})}else kL(o);const We=yield j.pick(ye,{title:Se.NC("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options")});We&&(yield We.run())})}}Bu.ID="editor.action.unicodeHighlight.showExcludeOptions";function xL(f,e){return No(this,void 0,void 0,function*(){const t=f.getValue(cs.qt.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const s of e)i[String.fromCodePoint(s)]=!0;yield f.updateValue(cs.qt.allowedCharacters,i,2)})}function NL(f,e){var t;return No(this,void 0,void 0,function*(){const i=(t=f.inspect(cs.qt.allowedLocales).user)===null||t===void 0?void 0:t.value;let s;typeof i=="object"&&i?s=Object.assign({},i):s={};for(const o of e)s[o]=!0;yield f.updateValue(cs.qt.allowedLocales,s,2)})}function kL(f){throw new Error(`Unexpected value: ${f}`)}(0,Ae.Qr)(od),(0,Ae.Qr)(Ch),(0,Ae.Qr)(vh),(0,Ae.Qr)(Bu),(0,Ae._K)(_h.ID,_h),Ws.register(n_);var o_=m(45312),TL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},vC=function(f,e){return function(t,i){e(t,i,f)}},ML=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};const bC="ignoreUnusualLineTerminators";function AL(f,e,t){f.setModelProperty(e.uri,bC,t)}function RL(f,e){return f.getModelProperty(e.uri,bC)}let Wu=class extends lt.JT{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._config=this._editor.getOption(116),this._register(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(116)&&(this._config=this._editor.getOption(116),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(s=>{s.isUndoing||this._checkForUnusualLineTerminators()}))}_checkForUnusualLineTerminators(){return ML(this,void 0,void 0,function*(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||RL(this._codeEditorService,e)===!0||this._editor.getOption(83))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(!(yield this._dialogService.confirm({title:Se.NC("unusualLineTerminators.title","Unusual Line Terminators"),message:Se.NC("unusualLineTerminators.message","Detected unusual line terminators"),detail:Se.NC("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",(0,un.EZ)(e.uri)),primaryButton:Se.NC("unusualLineTerminators.fix","Remove Unusual Line Terminators"),secondaryButton:Se.NC("unusualLineTerminators.ignore","Ignore")})).confirmed){AL(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())})}};Wu.ID="editor.contrib.unusualLineTerminatorsDetector",Wu=TL([vC(1,o_.S),vC(2,Qi.$)],Wu),(0,Ae._K)(Wu.ID,Wu);var wC=m(28147),SC=m(91790),PL=m(27972),OL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Vu=function(f,e){return function(t,i){e(t,i,f)}};let Hu=class extends lt.JT{constructor(e,t,i,s,o,c){super(),this._modelService=t,this._themeService=i,this._configurationService=s,this._editor=e,this._provider=c.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Ot.pY(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const p=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{p()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),p()})),this._register(this._editor.onDidChangeModelContent(P=>{this._cancelAll(),p()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),p()})),this._register(this._configurationService.onDidChangeConfiguration(P=>{P.affectsConfiguration(SC.e3)&&(this._cancelAll(),p())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),p()}))}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!(0,SC.tw)(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!(0,wC.KO)(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),s=(0,Ot.PG)(c=>Promise.resolve((0,wC.OG)(this._provider,e,t,c))),o=new Xs.G(!1);return s.then(c=>{if(this._debounceInformation.update(e,o.elapsed()),!c||!c.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:p,tokens:P}=c,j=this._modelService.getSemanticTokensProviderStyling(p);e.tokenization.setPartialSemanticTokens(t,(0,PL.h)(P,j,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(s),()=>this._removeOutstandingRequest(s)),s}};Hu.ID="editor.contrib.viewportSemanticTokens",Hu=OL([Vu(1,Ss.q),Vu(2,Xe.XE),Vu(3,ce.Ui),Vu(4,Do.A),Vu(5,Yi.p)],Hu),(0,Ae._K)(Hu.ID,Hu);var FL=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},yC=function(f,e){return function(t,i){e(t,i,f)}};const BL=(0,be.P6G)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},Se.NC("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),WL=(0,be.P6G)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},Se.NC("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),VL=(0,be.P6G)("editor.wordHighlightBorder",{light:null,dark:null,hcDark:be.xL1,hcLight:be.xL1},Se.NC("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),HL=(0,be.P6G)("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:be.xL1,hcLight:be.xL1},Se.NC("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),zL=(0,be.P6G)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},Se.NC("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),UL=(0,be.P6G)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},Se.NC("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),jg=new ht.uy("hasWordHighlights",!1);function LC(f,e,t,i){const s=f.ordered(e);return(0,Ot.Ps)(s.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,Vi.Cp)),hn.Of)}class DC{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=(0,Ot.PG)(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new yt.e(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const s=t.startLineNumber,o=t.startColumn,c=t.endColumn,p=this._getCurrentWordRange(e,t);let P=!!(this._wordRange&&this._wordRange.equalsRange(p));for(let j=0,V=i.length;!P&&j<V;j++){const ae=i.getRange(j);ae&&ae.startLineNumber===s&&ae.startColumn<=o&&ae.endColumn>=c&&(P=!0)}return P}cancel(){this.result.cancel()}}class jL extends DC{constructor(e,t,i,s){super(e,t,i),this._providers=s}_compute(e,t,i,s){return LC(this._providers,e,t.getPosition(),s).then(o=>o||[])}}class KL extends DC{constructor(e,t,i){super(e,t,i),this._selectionIsEmpty=t.isEmpty()}_compute(e,t,i,s){return(0,Ot.Vs)(250,s).then(()=>{if(!t.isEmpty())return[];const o=e.getWordAtPosition(t.getPosition());return!o||o.word.length>1e3?[]:e.findMatches(o.word,!0,!1,!0,i,!1).map(p=>({range:p.range,kind:Je.MY.Text}))})}isValid(e,t,i){const s=t.isEmpty();return this._selectionIsEmpty!==s?!1:super.isValid(e,t,i)}}function $L(f,e,t,i){return f.has(e)?new jL(e,t,i,f):new KL(e,t,i)}(0,Ae.sb)("_executeDocumentHighlights",(f,e,t)=>{const i=f.get(Yi.p);return LC(i.documentHighlightProvider,e,t,Ai.T.None)});class bh{constructor(e,t,i){this.toUnhook=new lt.SL,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this._hasWordHighlights=jg.bindTo(i),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(74),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(s=>{this._ignorePositionChangeEvent||this.occurrencesHighlight&&this._onPositionChanged(s)})),this.toUnhook.add(e.onDidChangeModelContent(s=>{this._stopAll()})),this.toUnhook.add(e.onDidChangeConfiguration(s=>{const o=this.editor.getOption(74);this.occurrencesHighlight!==o&&(this.occurrencesHighlight=o,this._stopAll())})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(yt.e.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))+1)%e.length,s=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const o=this._getWord();if(o){const c=this.editor.getModel().getLineContent(s.startLineNumber);(0,ri.Z9)(`${c}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,s=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const o=this._getWord();if(o){const c=this.editor.getModel().getLineContent(s.startLineNumber);(0,ri.Z9)(`${c}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeDecorations(){this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1))}_stopAll(){this._removeDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){if(!this.occurrencesHighlight){this._stopAll();return}if(e.reason!==3){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.getWordAtPosition({lineNumber:t,column:i})}_run(){const e=this.editor.getSelection();if(e.startLineNumber!==e.endLineNumber){this._stopAll();return}const t=e.startColumn,i=e.endColumn,s=this._getWord();if(!s||s.startColumn>t||s.endColumn<i){this._stopAll();return}const o=this.workerRequest&&this.workerRequest.isValid(this.model,e,this.decorations);if(this.lastCursorPositionChangeTime=new Date().getTime(),o)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();const c=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=$L(this.providers,this.model,this.editor.getSelection(),this.editor.getOption(119)),this.workerRequest.result.then(p=>{c===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=p||[],this._beginRenderDecorations())},Vi.dL)}}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){this.renderDecorationsTimer=-1;const e=[];for(const t of this.workerRequestValue)t.range&&e.push({range:t.range,options:bh._getDecorationOptions(t.kind)});this.decorations.set(e),this._hasWordHighlights.set(this.hasDecorations())}static _getDecorationOptions(e){return e===Je.MY.Write?this._WRITE_OPTIONS:e===Je.MY.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS}dispose(){this._stopAll(),this.toUnhook.dispose()}}bh._WRITE_OPTIONS=on.qx.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,Xe.EN)(UL),position:wn.sh.Center},minimap:{color:(0,Xe.EN)(be.IYc),position:wn.F5.Inline}}),bh._TEXT_OPTIONS=on.qx.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,Xe.EN)(be.SPM),position:wn.sh.Center},minimap:{color:(0,Xe.EN)(be.IYc),position:wn.F5.Inline}}),bh._REGULAR_OPTIONS=on.qx.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,Xe.EN)(zL),position:wn.sh.Center},minimap:{color:(0,Xe.EN)(be.IYc),position:wn.F5.Inline}});let ec=class Tv extends lt.JT{constructor(e,t,i){super(),this.wordHighlighter=null;const s=()=>{e.hasModel()&&(this.wordHighlighter=new bh(e,i.documentHighlightProvider,t))};this._register(e.onDidChangeModel(o=>{this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),s()})),s()}static get(e){return e.getContribution(Tv.ID)}saveViewState(){return!!(this.wordHighlighter&&this.wordHighlighter.hasDecorations())}moveNext(){this.wordHighlighter&&this.wordHighlighter.moveNext()}moveBack(){this.wordHighlighter&&this.wordHighlighter.moveBack()}restoreViewState(e){this.wordHighlighter&&e&&this.wordHighlighter.restore()}dispose(){this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),super.dispose()}};ec.ID="editor.contrib.wordHighlighter",ec=FL([yC(1,ht.i6),yC(2,Yi.p)],ec);class EC extends Ae.R6{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=ec.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class GL extends EC{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:Se.NC("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:jg,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:65,weight:100}})}}class QL extends EC{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:Se.NC("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:jg,kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:1089,weight:100}})}}class ZL extends Ae.R6{constructor(){super({id:"editor.action.wordHighlight.trigger",label:Se.NC("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:jg.toNegated(),kbOpts:{kbExpr:Ue.u.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const s=ec.get(t);s&&s.restoreViewState(!0)}}(0,Ae._K)(ec.ID,ec),(0,Ae.Qr)(GL),(0,Ae.Qr)(QL),(0,Ae.Qr)(ZL),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.Rzx);t&&(e.addRule(`.monaco-editor .focused .selectionHighlight { background-color: ${t}; }`),e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`));const i=f.getColor(BL);i&&e.addRule(`.monaco-editor .wordHighlight { background-color: ${i}; }`);const s=f.getColor(WL);s&&e.addRule(`.monaco-editor .wordHighlightStrong { background-color: ${s}; }`);const o=f.getColor(be.g_n);o&&e.addRule(`.monaco-editor .selectionHighlight { border: 1px ${(0,Ro.c3)(f.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const c=f.getColor(VL);c&&e.addRule(`.monaco-editor .wordHighlight { border: 1px ${(0,Ro.c3)(f.type)?"dashed":"solid"} ${c}; box-sizing: border-box; }`);const p=f.getColor(HL);p&&e.addRule(`.monaco-editor .wordHighlightStrong { border: 1px ${(0,Ro.c3)(f.type)?"dashed":"solid"} ${p}; box-sizing: border-box; }`)});var YL=m(40376),cl=m(20225),tc=m(90120),Kg=m(43680);class $g extends Ae._l{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const s=(0,tc.u)(t.getOption(119)),o=t.getModel(),p=t.getSelections().map(P=>{const j=new wi.L(P.positionLineNumber,P.positionColumn),V=this._move(s,o,j,this._wordNavigationType);return this._moveTo(P,V,this._inSelectionMode)});if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,p.map(P=>YL.Vi.fromModelSelection(P))),p.length===1){const P=new wi.L(p[0].positionLineNumber,p[0].positionColumn);t.revealPosition(P,0)}}_moveTo(e,t,i){return i?new Ii.Y(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Ii.Y(t.lineNumber,t.column,t.lineNumber,t.column)}}class rd extends $g{_move(e,t,i,s){return cl.w.moveWordLeft(e,t,i,s)}}class ad extends $g{_move(e,t,i,s){return cl.w.moveWordRight(e,t,i,s)}}class XL extends rd{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class JL extends rd{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class qL extends rd{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ht.Ao.and(Ue.u.textInputFocus,(e=ht.Ao.and(Bo.U,Kg.cv))===null||e===void 0?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class eD extends rd{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class tD extends rd{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class iD extends rd{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ht.Ao.and(Ue.u.textInputFocus,(e=ht.Ao.and(Bo.U,Kg.cv))===null||e===void 0?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class nD extends rd{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,s){return super._move((0,tc.u)(cs.BH.wordSeparators.defaultValue),t,i,s)}}class sD extends rd{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,s){return super._move((0,tc.u)(cs.BH.wordSeparators.defaultValue),t,i,s)}}class oD extends ad{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class rD extends ad{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ht.Ao.and(Ue.u.textInputFocus,(e=ht.Ao.and(Bo.U,Kg.cv))===null||e===void 0?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class aD extends ad{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class lD extends ad{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class dD extends ad{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ht.Ao.and(Ue.u.textInputFocus,(e=ht.Ao.and(Bo.U,Kg.cv))===null||e===void 0?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class cD extends ad{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class hD extends ad{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,s){return super._move((0,tc.u)(cs.BH.wordSeparators.defaultValue),t,i,s)}}class uD extends ad{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,s){return super._move((0,tc.u)(cs.BH.wordSeparators.defaultValue),t,i,s)}}class Gg extends Ae._l{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const s=e.get(lo.c_);if(!t.hasModel())return;const o=(0,tc.u)(t.getOption(119)),c=t.getModel(),p=t.getSelections(),P=t.getOption(5),j=t.getOption(8),V=s.getLanguageConfiguration(c.getLanguageId()).getAutoClosingPairs(),ae=t._getViewModel(),ye=p.map(We=>{const Ze=this._delete({wordSeparators:o,model:c,selection:We,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(6),autoClosingBrackets:P,autoClosingQuotes:j,autoClosingPairs:V,autoClosedCharacters:ae.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Si.T4(Ze,"")});t.pushUndoStop(),t.executeCommands(this.id,ye),t.pushUndoStop()}}class r_ extends Gg{_delete(e,t){const i=cl.w.deleteWordLeft(e,t);return i||new yt.e(1,1,1,1)}}class a_ extends Gg{_delete(e,t){const i=cl.w.deleteWordRight(e,t);if(i)return i;const s=e.model.getLineCount(),o=e.model.getLineMaxColumn(s);return new yt.e(s,o,s,o)}}class fD extends r_{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:Ue.u.writable})}}class gD extends r_{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:Ue.u.writable})}}class mD extends r_{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class pD extends a_{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:Ue.u.writable})}}class _D extends a_{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:Ue.u.writable})}}class CD extends a_{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class vD extends Ae.R6{constructor(){super({id:"deleteInsideWord",precondition:Ue.u.writable,label:Se.NC("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const s=(0,tc.u)(t.getOption(119)),o=t.getModel(),p=t.getSelections().map(P=>{const j=cl.w.deleteInsideWord(s,o,P);return new Si.T4(j,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}(0,Ae.fK)(new XL),(0,Ae.fK)(new JL),(0,Ae.fK)(new qL),(0,Ae.fK)(new eD),(0,Ae.fK)(new tD),(0,Ae.fK)(new iD),(0,Ae.fK)(new oD),(0,Ae.fK)(new rD),(0,Ae.fK)(new aD),(0,Ae.fK)(new lD),(0,Ae.fK)(new dD),(0,Ae.fK)(new cD),(0,Ae.fK)(new nD),(0,Ae.fK)(new sD),(0,Ae.fK)(new hD),(0,Ae.fK)(new uD),(0,Ae.fK)(new fD),(0,Ae.fK)(new gD),(0,Ae.fK)(new mD),(0,Ae.fK)(new pD),(0,Ae.fK)(new _D),(0,Ae.fK)(new CD),(0,Ae.Qr)(vD);class bD extends Gg{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=cl.L.deleteWordPartLeft(e);return i||new yt.e(1,1,1,1)}}class wD extends Gg{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:Ue.u.writable,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=cl.L.deleteWordPartRight(e);if(i)return i;const s=e.model.getLineCount(),o=e.model.getLineMaxColumn(s);return new yt.e(s,o,s,o)}}class IC extends $g{_move(e,t,i,s){return cl.L.moveWordPartLeft(e,t,i)}}class SD extends IC{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}mn.P0.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class yD extends IC{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}mn.P0.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class xC extends $g{_move(e,t,i,s){return cl.L.moveWordPartRight(e,t,i)}}class LD extends xC{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class DD extends xC{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:Ue.u.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}(0,Ae.fK)(new bD),(0,Ae.fK)(new wD),(0,Ae.fK)(new SD),(0,Ae.fK)(new yD),(0,Ae.fK)(new LD),(0,Ae.fK)(new DD);class l_ extends lt.JT{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ns.get(this.editor);e&&this.editor.hasModel()&&(this.editor.isSimpleWidget?e.showMessage(Se.NC("editor.simple.readonly","Cannot edit in read-only input"),this.editor.getPosition()):e.showMessage(Se.NC("editor.readonly","Cannot edit in read-only editor"),this.editor.getPosition()))}}l_.ID="editor.contrib.readOnlyMessageController",(0,Ae._K)(l_.ID,l_);var ws=m(24881),BE=m(28596),NC=m(35788),kC=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Qg=function(f,e){return function(t,i){e(t,i,f)}};const TC=new ht.uy("accessibilityHelpWidgetVisible",!1);let ic=class Mv extends lt.JT{constructor(e,t){super(),this._editor=e,this._widget=this._register(t.createInstance(wh,this._editor))}static get(e){return e.getContribution(Mv.ID)}show(){this._widget.show()}hide(){this._widget.hide()}};ic.ID="editor.contrib.accessibilityHelpController",ic=kC([Qg(1,F.TG)],ic);function ED(f,e){return!f||f.length===0?ws.Oe.noSelection:f.length===1?e?Ni.WU(ws.Oe.singleSelectionRange,f[0].positionLineNumber,f[0].positionColumn,e):Ni.WU(ws.Oe.singleSelection,f[0].positionLineNumber,f[0].positionColumn):e?Ni.WU(ws.Oe.multiSelectionRange,f.length,e):f.length>0?Ni.WU(ws.Oe.multiSelection,f.length):""}let wh=class fm extends br.${constructor(e,t,i,s){super(),this._contextKeyService=t,this._keybindingService=i,this._openerService=s,this._editor=e,this._isVisibleKey=TC.bindTo(this._contextKeyService),this._domNode=(0,NC.X)(document.createElement("div")),this._domNode.setClassName("accessibilityHelpWidget"),this._domNode.setDisplay("none"),this._domNode.setAttribute("role","dialog"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode=(0,NC.X)(document.createElement("div")),this._contentDomNode.setAttribute("role","document"),this._domNode.appendChild(this._contentDomNode),this._isVisible=!1,this._register(this._editor.onDidLayoutChange(()=>{this._isVisible&&this._layout()})),this._register(M.mu(this._contentDomNode.domNode,"keydown",o=>{if(this._isVisible&&(o.equals(2083)&&((0,ri.Z9)(ws.Oe.emergencyConfOn),this._editor.updateOptions({accessibilitySupport:"on"}),M.PO(this._contentDomNode.domNode),this._buildContent(),this._contentDomNode.domNode.focus(),o.preventDefault(),o.stopPropagation()),o.equals(2086))){(0,ri.Z9)(ws.Oe.openingDocs);let c=this._editor.getRawOptions().accessibilityHelpUrl;typeof c>"u"&&(c="https://go.microsoft.com/fwlink/?linkid=852450"),this._openerService.open(vn.o.parse(c)),o.preventDefault(),o.stopPropagation()}})),this.onblur(this._contentDomNode.domNode,()=>{this.hide()}),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return fm.ID}getDomNode(){return this._domNode.domNode}getPosition(){return{preference:null}}show(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())}_descriptionForCommand(e,t,i){const s=this._keybindingService.lookupKeybinding(e);return s?Ni.WU(t,s.getAriaLabel()):Ni.WU(i,e)}_buildContent(){const e=this._editor.getOptions(),t=this._editor.getSelections();let i=0;if(t){const p=this._editor.getModel();p&&t.forEach(P=>{i+=p.getValueLengthInRange(P)})}let s=ED(t,i);e.get(56)?e.get(83)?s+=ws.Oe.readonlyDiffEditor:s+=ws.Oe.editableDiffEditor:e.get(83)?s+=ws.Oe.readonlyEditor:s+=ws.Oe.editableEditor;const o=Fi.dz?ws.Oe.changeConfigToOnMac:ws.Oe.changeConfigToOnWinLinux;switch(e.get(2)){case 0:s+=` - `+o;break;case 2:s+=` - `+ws.Oe.auto_on;break;case 1:s+=` - `+ws.Oe.auto_off,s+=" "+o;break}e.get(132)?s+=` - `+this._descriptionForCommand(gh.ID,ws.Oe.tabFocusModeOnMsg,ws.Oe.tabFocusModeOnMsgNoKb):s+=` - `+this._descriptionForCommand(gh.ID,ws.Oe.tabFocusModeOffMsg,ws.Oe.tabFocusModeOffMsgNoKb);const c=Fi.dz?ws.Oe.openDocMac:ws.Oe.openDocWinLinux;s+=` - `+c,s+=` `+ws.Oe.outroMsg,this._contentDomNode.domNode.appendChild((0,xf.BO)(s)),this._contentDomNode.domNode.setAttribute("aria-label",s)}hide(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,M.PO(this._contentDomNode.domNode),this._editor.focus())}_layout(){const e=this._editor.getLayoutInfo(),t=Math.max(5,Math.min(fm.WIDTH,e.width-40)),i=Math.max(5,Math.min(fm.HEIGHT,e.height-40));this._domNode.setWidth(t),this._domNode.setHeight(i);const s=Math.round((e.height-i)/2);this._domNode.setTop(s);const o=Math.round((e.width-t)/2);this._domNode.setLeft(o)}};wh.ID="editor.contrib.accessibilityHelpWidget",wh.WIDTH=500,wh.HEIGHT=300,wh=kC([Qg(1,ht.i6),Qg(2,Le.d),Qg(3,zo.v4)],wh);class ID extends Ae.R6{constructor(){super({id:"editor.action.showAccessibilityHelp",label:ws.Oe.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{primary:571,weight:100,linux:{primary:1595,secondary:[571]}}})}run(e,t){const i=ic.get(t);i&&i.show()}}(0,Ae._K)(ic.ID,ic),(0,Ae.Qr)(ID);const xD=Ae._l.bindToContribution(ic.get);(0,Ae.fK)(new xD({id:"closeAccessibilityHelp",precondition:TC,handler:f=>f.hide(),kbOpts:{weight:100+100,kbExpr:Ue.u.focus,primary:9,secondary:[1033]}})),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.D0T);t&&e.addRule(`.monaco-editor .accessibilityHelpWidget { background-color: ${t}; }`);const i=f.getColor(be.Hfx);i&&e.addRule(`.monaco-editor .accessibilityHelpWidget { color: ${i}; }`);const s=f.getColor(be.rh);s&&e.addRule(`.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ${s}; }`);const o=f.getColor(be.lRK);o&&e.addRule(`.monaco-editor .accessibilityHelpWidget { border: 2px solid ${o}; }`)});var WE=m(49191);class d_ extends lt.JT{constructor(e){super(),this.editor=e,this.widget=null,Fi.gn&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(83);!this.widget&&e?this.widget=new Zg(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}d_.ID="editor.contrib.iPadShowKeyboard";class Zg extends lt.JT{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(M.nm(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(M.nm(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return Zg.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}Zg.ID="editor.contrib.ShowKeyboardWidget",(0,Ae._K)(d_.ID,d_);var VE=m(13863),zu=m(23854),c_=m(79995),MC=m(83381),ND=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},AC=function(f,e){return function(t,i){e(t,i,f)}};let Sh=class Av extends lt.JT{constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(s=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(s=>this.stop())),this._register(Je.RW.onDidChange(s=>this.stop())),this._register(this._editor.onKeyUp(s=>s.keyCode===9&&this.stop()))}static get(e){return e.getContribution(Av.ID)}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new Yg(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};Sh.ID="editor.contrib.inspectTokens",Sh=ND([AC(1,MC.Z),AC(2,Bs.O)],Sh);class kD extends Ae.R6{constructor(){super({id:"editor.action.inspectTokens",label:ws.ug.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Sh.get(t);i&&i.launch()}}function TD(f){let e="";for(let t=0,i=f.length;t<i;t++){const s=f.charCodeAt(t);switch(s){case 9:e+="\u2192";break;case 32:e+="\xB7";break;default:e+=String.fromCharCode(s)}}return e}function MD(f,e){const t=Je.RW.get(e);if(t)return t;const i=f.encodeLanguageId(e);return{getInitialState:()=>c_.TJ,tokenize:(s,o,c)=>(0,c_.Ri)(e,c),tokenizeEncoded:(s,o,c)=>(0,c_.Dy)(i,c)}}class Yg extends lt.JT{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=MD(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return Yg._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let P=t.tokens1.length-1;P>=0;P--){const j=t.tokens1[P];if(e.column-1>=j.offset){i=P;break}}let s=0;for(let P=t.tokens2.length>>>1;P>=0;P--)if(e.column-1>=t.tokens2[P<<1]){s=P;break}const o=this._model.getLineContent(e.lineNumber);let c="";if(i<t.tokens1.length){const P=t.tokens1[i].offset,j=i+1<t.tokens1.length?t.tokens1[i+1].offset:o.length;c=o.substring(P,j)}(0,M.mc)(this._domNode,(0,M.$)("h2.tm-token",void 0,TD(c),(0,M.$)("span.tm-token-length",void 0,`${c.length} ${c.length===1?"char":"chars"}`))),(0,M.R3)(this._domNode,(0,M.$)("hr.tokens-inspect-separator",{style:"clear:both"}));const p=(s<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(s<<1)+1]):null;(0,M.R3)(this._domNode,(0,M.$)("table.tm-metadata-table",void 0,(0,M.$)("tbody",void 0,(0,M.$)("tr",void 0,(0,M.$)("td.tm-metadata-key",void 0,"language"),(0,M.$)("td.tm-metadata-value",void 0,`${p?p.languageId:"-?-"}`)),(0,M.$)("tr",void 0,(0,M.$)("td.tm-metadata-key",void 0,"token type"),(0,M.$)("td.tm-metadata-value",void 0,`${p?this._tokenTypeToString(p.tokenType):"-?-"}`)),(0,M.$)("tr",void 0,(0,M.$)("td.tm-metadata-key",void 0,"font style"),(0,M.$)("td.tm-metadata-value",void 0,`${p?this._fontStyleToString(p.fontStyle):"-?-"}`)),(0,M.$)("tr",void 0,(0,M.$)("td.tm-metadata-key",void 0,"foreground"),(0,M.$)("td.tm-metadata-value",void 0,`${p?En.Il.Format.CSS.formatHex(p.foreground):"-?-"}`)),(0,M.$)("tr",void 0,(0,M.$)("td.tm-metadata-key",void 0,"background"),(0,M.$)("td.tm-metadata-value",void 0,`${p?En.Il.Format.CSS.formatHex(p.background):"-?-"}`))))),(0,M.R3)(this._domNode,(0,M.$)("hr.tokens-inspect-separator")),i<t.tokens1.length&&(0,M.R3)(this._domNode,(0,M.$)("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=Je.RW.getColorMap(),i=zu.N.getLanguageId(e),s=zu.N.getTokenType(e),o=zu.N.getFontStyle(e),c=zu.N.getForeground(e),p=zu.N.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:s,fontStyle:o,foreground:t[c],background:t[p]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),s=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:s.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}}Yg._ID="editor.contrib.inspectTokensWidget",(0,Ae._K)(Sh.ID,Sh),(0,Ae.Qr)(kD),(0,Xe.Ic)((f,e)=>{const t=f.getColor(be.CNo);if(t){const o=(0,Ro.c3)(f.type)?2:1;e.addRule(`.monaco-editor .tokens-inspect-widget { border: ${o}px solid ${t}; }`),e.addRule(`.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ${t}; }`)}const i=f.getColor(be.yJx);i&&e.addRule(`.monaco-editor .tokens-inspect-widget { background-color: ${i}; }`);const s=f.getColor(be.Sbf);s&&e.addRule(`.monaco-editor .tokens-inspect-widget { color: ${s}; }`)});var Uu=m(99688),AD=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},RC=function(f,e){return function(t,i){e(t,i,f)}};let Xg=class gm{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=yo.B.as(Uu.IP.Quickaccess)}provide(e){const t=new lt.SL;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const s=this.registry.getQuickAccessProvider(i.substr(gm.PREFIX.length));s&&s.prefix&&s.prefix!==gm.PREFIX&&this.quickInputService.quickAccess.show(s.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders(),t}getQuickAccessProviders(){const e=[];for(const t of this.registry.getQuickAccessProviders().sort((i,s)=>i.prefix.localeCompare(s.prefix)))if(t.prefix!==gm.PREFIX)for(const i of t.helpEntries){const s=i.prefix||t.prefix,o=s||"\u2026";e.push({prefix:s,label:o,keybinding:i.commandId?this.keybindingService.lookupKeybinding(i.commandId):void 0,ariaLabel:(0,Se.NC)("helpPickAriaLabel","{0}, {1}",o,i.description),description:i.description})}return e}};Xg.PREFIX="?",Xg=AD([RC(0,Gr.eJ),RC(1,Le.d)],Xg),yo.B.as(Uu.IP.Quickaccess).registerQuickAccessProvider({ctor:Xg,prefix:"",helpEntries:[{description:ws.ld.helpQuickAccessActionLabel}]});class PC{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t){var i;const s=new lt.SL;e.canAcceptInBackground=!!(!((i=this.options)===null||i===void 0)&&i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=s.add(new lt.XK);return o.value=this.doProvide(e,t),s.add(this.onDidActiveTextEditorControlChange(()=>{o.value=void 0,o.value=this.doProvide(e,t)})),s}doProvide(e,t){const i=new lt.SL,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const o={editor:s},c=(0,Ke.Pi)(s);if(c){let p=(0,_i.f6)(s.saveViewState());i.add(c.onDidChangeCursorPosition(()=>{p=(0,_i.f6)(s.saveViewState())})),o.restoreViewState=()=>{p&&s===this.activeTextEditorControl&&s.restoreViewState(p)},i.add((0,Ho.I)(t.onCancellationRequested)(()=>{var P;return(P=o.restoreViewState)===null||P===void 0?void 0:P.call(o)}))}i.add((0,lt.OF)(()=>this.clearDecorations(s))),i.add(this.provideWithTextEditor(o,e,t))}else i.add(this.provideWithoutTextEditor(e,t));return i}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus()}getModel(e){var t;return(0,Ke.QI)(e)?(t=e.getModel())===null||t===void 0?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const s=[];this.rangeHighlightDecorationId&&(s.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),s.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const o=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,Xe.EN)(si.m9),position:wn.sh.Full}}}],[c,p]=i.deltaDecorations(s,o);this.rangeHighlightDecorationId={rangeHighlightId:c,overviewRulerDecorationId:p}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}class Jg extends PC{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=(0,Se.NC)("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,lt.JT.None}provideWithTextEditor(e,t,i){const s=e.editor,o=new lt.SL;o.add(t.onDidAccept(P=>{const[j]=t.selectedItems;if(j){if(!this.isValidLineNumber(s,j.lineNumber))return;this.gotoLocation(e,{range:this.toRange(j.lineNumber,j.column),keyMods:t.keyMods,preserveFocus:P.inBackground}),P.inBackground||t.hide()}}));const c=()=>{const P=this.parsePosition(s,t.value.trim().substr(Jg.PREFIX.length)),j=this.getPickLabel(s,P.lineNumber,P.column);if(t.items=[{lineNumber:P.lineNumber,column:P.column,label:j}],t.ariaLabel=j,!this.isValidLineNumber(s,P.lineNumber)){this.clearDecorations(s);return}const V=this.toRange(P.lineNumber,P.column);s.revealRangeInCenter(V,0),this.addDecorations(s,V)};c(),o.add(t.onDidChangeValue(()=>c()));const p=(0,Ke.Pi)(s);return p&&p.getOptions().get(62).renderType===2&&(p.updateOptions({lineNumbers:"on"}),o.add((0,lt.OF)(()=>p.updateOptions({lineNumbers:"relative"})))),o}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(o=>parseInt(o,10)).filter(o=>!isNaN(o)),s=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:s+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?(0,Se.NC)("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):(0,Se.NC)("gotoLineLabel","Go to line {0}.",t);const s=e.getPosition()||{lineNumber:1,column:1},o=this.lineCount(e);return o>1?(0,Se.NC)("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",s.lineNumber,s.column,o):(0,Se.NC)("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",s.lineNumber,s.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const s=this.getModel(e);if(!s)return!1;const o={lineNumber:t,column:i};return s.validatePosition(o).equals(o)}lineCount(e){var t,i;return(i=(t=this.getModel(e))===null||t===void 0?void 0:t.getLineCount())!==null&&i!==void 0?i:0}}Jg.PREFIX=":";var RD=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},PD=function(f,e){return function(t,i){e(t,i,f)}};let ju=class extends Jg{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Hi.ju.None}get activeTextEditorControl(){return(0,_i.f6)(this.editorService.getFocusedCodeEditor())}};ju=RD([PD(0,Qi.$)],ju);class Ku extends Ae.R6{constructor(){super({id:Ku.ID,label:ws.qq.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Gr.eJ).quickAccess.show(ju.PREFIX)}}Ku.ID="editor.action.gotoLine",(0,Ae.Qr)(Ku),yo.B.as(Uu.IP.Quickaccess).registerQuickAccessProvider({ctor:ju,prefix:ju.PREFIX,helpEntries:[{description:ws.qq.gotoLineActionLabel,commandId:Ku.ID}]});const OC=[void 0,[]];function h_(f,e,t=0,i=0){const s=e;return s.values&&s.values.length>1?OD(f,s.values,t,i):FC(f,e,t,i)}function OD(f,e,t,i){let s=0;const o=[];for(const c of e){const[p,P]=FC(f,c,t,i);if(typeof p!="number")return OC;s+=p,o.push(...P)}return[s,FD(o)]}function FC(f,e,t,i){const s=(0,Zi.EW)(e.original,e.originalLowercase,t,f,f.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return s?[s[0],(0,Zi.mB)(s)]:OC}const HE=Object.freeze({score:0});function FD(f){const e=f.sort((s,o)=>s.start-o.start),t=[];let i;for(const s of e)!i||!BD(i,s)?(i=s,t.push(s)):(i.start=Math.min(i.start,s.start),i.end=Math.max(i.end,s.end));return t}function BD(f,e){return!(f.end<e.start||e.end<f.start)}function BC(f){return f.startsWith('"')&&f.endsWith('"')}const WC=" ";function u_(f){typeof f!="string"&&(f="");const e=f.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:s}=VC(f),o=t.indexOf(nl.ir)>=0,c=BC(f);let p;const P=f.split(WC);if(P.length>1)for(const j of P){const V=BC(j),{pathNormalized:ae,normalized:ye,normalizedLowercase:We}=VC(j);ye&&(p||(p=[]),p.push({original:j,originalLowercase:j.toLowerCase(),pathNormalized:ae,normalized:ye,normalizedLowercase:We,expectContiguousMatch:V}))}return{original:f,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:s,values:p,containsPathSeparator:o,expectContiguousMatch:c}}function VC(f){let e;Fi.ED?e=f.replace(/\//g,nl.ir):e=f.replace(/\\/g,nl.ir);const t=(0,Ni.R1)(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function HC(f){return Array.isArray(f)?u_(f.map(e=>e.original).join(WC)):u_(f.original)}var WD=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},zC=function(f,e){return function(t,i){e(t,i,f)}},$u=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let Hr=class P_ extends PC{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,(0,Se.NC)("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),lt.JT.None}provideWithTextEditor(e,t,i){const s=e.editor,o=this.getModel(s);return o?this._languageFeaturesService.documentSymbolProvider.has(o)?this.doProvideWithEditorSymbols(e,o,t,i):this.doProvideWithoutEditorSymbols(e,o,t,i):lt.JT.None}doProvideWithoutEditorSymbols(e,t,i,s){const o=new lt.SL;return this.provideLabelPick(i,(0,Se.NC)("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),$u(this,void 0,void 0,function*(){!(yield this.waitForLanguageSymbolRegistry(t,o))||s.isCancellationRequested||o.add(this.doProvideWithEditorSymbols(e,t,i,s))}),o}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}waitForLanguageSymbolRegistry(e,t){return $u(this,void 0,void 0,function*(){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new Ot.CR,s=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(s.dispose(),i.complete(!0))}));return t.add((0,lt.OF)(()=>i.complete(!1))),i.p})}doProvideWithEditorSymbols(e,t,i,s){var o;const c=e.editor,p=new lt.SL;p.add(i.onDidAccept(ye=>{const[We]=i.selectedItems;We&&We.range&&(this.gotoLocation(e,{range:We.range.selection,keyMods:i.keyMods,preserveFocus:ye.inBackground}),ye.inBackground||i.hide())})),p.add(i.onDidTriggerItemButton(({item:ye})=>{ye&&ye.range&&(this.gotoLocation(e,{range:ye.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const P=this.getDocumentSymbols(t,s);let j;const V=ye=>$u(this,void 0,void 0,function*(){j?.dispose(!0),i.busy=!1,j=new Ai.A(s),i.busy=!0;try{const We=u_(i.value.substr(P_.PREFIX.length).trim()),Ze=yield this.doGetSymbolPicks(P,We,void 0,j.token);if(s.isCancellationRequested)return;if(Ze.length>0){if(i.items=Ze,ye&&We.original.length===0){const it=(0,hn.dF)(Ze,vt=>!!(vt.type!=="separator"&&vt.range&&yt.e.containsPosition(vt.range.decoration,ye)));it&&(i.activeItems=[it])}}else We.original.length>0?this.provideLabelPick(i,(0,Se.NC)("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,(0,Se.NC)("noSymbolResults","No editor symbols"))}finally{s.isCancellationRequested||(i.busy=!1)}});p.add(i.onDidChangeValue(()=>V(void 0))),V((o=c.getSelection())===null||o===void 0?void 0:o.getPosition());let ae=2;return p.add(i.onDidChangeActive(()=>{const[ye]=i.activeItems;if(ye&&ye.range){if(ae-- >0)return;c.revealRangeInCenter(ye.range.selection,0),this.addDecorations(c,ye.range.decoration)}})),p}doGetSymbolPicks(e,t,i,s){return $u(this,void 0,void 0,function*(){const o=yield e;if(s.isCancellationRequested)return[];const c=t.original.indexOf(P_.SCOPE_PREFIX)===0,p=c?1:0;let P,j;t.values&&t.values.length>1?(P=HC(t.values[0]),j=HC(t.values.slice(1))):P=t;const V=[];for(let We=0;We<o.length;We++){const Ze=o[We],it=(0,Ni.fy)(Ze.name),vt=`$(${Je.uZ.toIcon(Ze.kind).id}) ${it}`,zt=vt.length-it.length;let hi=Ze.containerName;i?.extraContainerLabel&&(hi?hi=`${i.extraContainerLabel} \u2022 ${hi}`:hi=i.extraContainerLabel);let gi,ji,cn,us;if(t.original.length>p){let vo=!1;if(P!==t&&([gi,ji]=h_(vt,Object.assign(Object.assign({},t),{values:void 0}),p,zt),typeof gi=="number"&&(vo=!0)),typeof gi!="number"&&([gi,ji]=h_(vt,P,p,zt),typeof gi!="number"))continue;if(!vo&&j){if(hi&&j.original.length>0&&([cn,us]=h_(hi,j)),typeof cn!="number")continue;typeof gi=="number"&&(gi+=cn)}}const Pn=Ze.tags&&Ze.tags.indexOf(1)>=0;V.push({index:We,kind:Ze.kind,score:gi,label:vt,ariaLabel:it,description:hi,highlights:Pn?void 0:{label:ji,description:us},range:{selection:yt.e.collapseToStart(Ze.selectionRange),decoration:Ze.range},strikethrough:Pn,buttons:(()=>{var vo,Fo;const jo=!((vo=this.options)===null||vo===void 0)&&vo.openSideBySideDirection?(Fo=this.options)===null||Fo===void 0?void 0:Fo.openSideBySideDirection():void 0;if(jo)return[{iconClass:jo==="right"?Mi.lA.splitHorizontal.classNames:Mi.lA.splitVertical.classNames,tooltip:jo==="right"?(0,Se.NC)("openToSide","Open to the Side"):(0,Se.NC)("openToBottom","Open to the Bottom")}]})()})}const ae=V.sort((We,Ze)=>c?this.compareByKindAndScore(We,Ze):this.compareByScore(We,Ze));let ye=[];if(c){let vt=function(){Ze&&typeof We=="number"&&it>0&&(Ze.label=(0,Ni.WU)(g_[We]||f_,it))},We,Ze,it=0;for(const zt of ae)We!==zt.kind?(vt(),We=zt.kind,it=1,Ze={type:"separator"},ye.push(Ze)):it++,ye.push(zt);vt()}else ae.length>0&&(ye=[{label:(0,Se.NC)("symbols","symbols ({0})",V.length),type:"separator"},...ae]);return ye})}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=g_[e.kind]||f_,s=g_[t.kind]||f_,o=i.localeCompare(s);return o===0?this.compareByScore(e,t):o}getDocumentSymbols(e,t){return $u(this,void 0,void 0,function*(){const i=yield this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()})}};Hr.PREFIX="@",Hr.SCOPE_PREFIX=":",Hr.PREFIX_BY_CATEGORY=`${Hr.PREFIX}${Hr.SCOPE_PREFIX}`,Hr=WD([zC(0,Yi.p),zC(1,fg)],Hr);const f_=(0,Se.NC)("property","properties ({0})"),g_={[5]:(0,Se.NC)("method","methods ({0})"),[11]:(0,Se.NC)("function","functions ({0})"),[8]:(0,Se.NC)("_constructor","constructors ({0})"),[12]:(0,Se.NC)("variable","variables ({0})"),[4]:(0,Se.NC)("class","classes ({0})"),[22]:(0,Se.NC)("struct","structs ({0})"),[23]:(0,Se.NC)("event","events ({0})"),[24]:(0,Se.NC)("operator","operators ({0})"),[10]:(0,Se.NC)("interface","interfaces ({0})"),[2]:(0,Se.NC)("namespace","namespaces ({0})"),[3]:(0,Se.NC)("package","packages ({0})"),[25]:(0,Se.NC)("typeParameter","type parameters ({0})"),[1]:(0,Se.NC)("modules","modules ({0})"),[6]:(0,Se.NC)("property","properties ({0})"),[9]:(0,Se.NC)("enum","enumerations ({0})"),[21]:(0,Se.NC)("enumMember","enumeration members ({0})"),[14]:(0,Se.NC)("string","strings ({0})"),[0]:(0,Se.NC)("file","files ({0})"),[17]:(0,Se.NC)("array","arrays ({0})"),[15]:(0,Se.NC)("number","numbers ({0})"),[16]:(0,Se.NC)("boolean","booleans ({0})"),[18]:(0,Se.NC)("object","objects ({0})"),[19]:(0,Se.NC)("key","keys ({0})"),[7]:(0,Se.NC)("field","fields ({0})"),[13]:(0,Se.NC)("constant","constants ({0})")};var VD=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},m_=function(f,e){return function(t,i){e(t,i,f)}};let p_=class extends Hr{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Hi.ju.None}get activeTextEditorControl(){return(0,_i.f6)(this.editorService.getFocusedCodeEditor())}};p_=VD([m_(0,Qi.$),m_(1,Yi.p),m_(2,fg)],p_);class Gu extends Ae.R6{constructor(){super({id:Gu.ID,label:ws.aq.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:Ue.u.hasDocumentSymbolProvider,kbOpts:{kbExpr:Ue.u.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Gr.eJ).quickAccess.show(Hr.PREFIX)}}Gu.ID="editor.action.quickOutline",(0,Ae.Qr)(Gu),yo.B.as(Uu.IP.Quickaccess).registerQuickAccessProvider({ctor:p_,prefix:Hr.PREFIX,helpEntries:[{description:ws.aq.quickOutlineActionLabel,prefix:Hr.PREFIX,commandId:Gu.ID},{description:ws.aq.quickOutlineByCategoryActionLabel,prefix:Hr.PREFIX_BY_CATEGORY}]});function __(f,e){return e&&(f.stack||f.stacktrace)?Se.NC("stackTrace.format","{0}: {1}",jC(f),UC(f.stack)||UC(f.stacktrace)):jC(f)}function UC(f){return Array.isArray(f)?f.join(` `):f}function jC(f){return typeof f.code=="string"&&typeof f.errno=="number"&&typeof f.syscall=="string"?Se.NC("nodeExceptionMessage","A system error occurred ({0})",f.message):f.message||Se.NC("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function KC(f=null,e=!1){if(!f)return Se.NC("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(f)){const t=hn.kX(f),i=KC(t[0],e);return t.length>1?Se.NC("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(_i.HD(f))return f;if(f.detail){const t=f.detail;if(t.error)return __(t.error,e);if(t.exception)return __(t.exception,e)}return f.stack?__(f,e):f.message?f.message:Se.NC("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var qg=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})},yh;(function(f){f[f.NO_ACTION=0]="NO_ACTION",f[f.CLOSE_PICKER=1]="CLOSE_PICKER",f[f.REFRESH_PICKER=2]="REFRESH_PICKER",f[f.REMOVE_ITEM=3]="REMOVE_ITEM"})(yh||(yh={}));function C_(f){const e=f;return Array.isArray(e.items)}function HD(f){const e=f;return!!e.picks&&e.additionalPicks instanceof Promise}class em extends lt.JT{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t){var i;const s=new lt.SL;e.canAcceptInBackground=!!(!((i=this.options)===null||i===void 0)&&i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let o;const c=s.add(new lt.XK),p=()=>qg(this,void 0,void 0,function*(){const P=c.value=new lt.SL;o?.dispose(!0),e.busy=!1,o=new Ai.A(t);const j=o.token,V=e.value.substr(this.prefix.length).trim(),ae=this._getPicks(V,P,j),ye=(We,Ze)=>{var it;let vt,zt;if(C_(We)?(vt=We.items,zt=We.active):vt=We,vt.length===0){if(Ze)return!1;V.length>0&&(!((it=this.options)===null||it===void 0)&&it.noResultsPick)&&(vt=[this.options.noResultsPick])}return e.items=vt,zt&&(e.activeItems=[zt]),!0};if(ae!==null)if(HD(ae)){let We=!1,Ze=!1;yield Promise.all([(()=>qg(this,void 0,void 0,function*(){yield(0,Ot.Vs)(em.FAST_PICKS_RACE_DELAY),!j.isCancellationRequested&&(Ze||(We=ye(ae.picks,!0)))}))(),(()=>qg(this,void 0,void 0,function*(){e.busy=!0;try{const it=yield ae.additionalPicks;if(j.isCancellationRequested)return;let vt,zt;C_(ae.picks)?(vt=ae.picks.items,zt=ae.picks.active):vt=ae.picks;let hi,gi;if(C_(it)?(hi=it.items,gi=it.active):hi=it,hi.length>0||!We){let ji;if(!zt&&!gi){const cn=e.activeItems[0];cn&&vt.indexOf(cn)!==-1&&(ji=cn)}ye({items:[...vt,...hi],active:zt||gi||ji})}}finally{j.isCancellationRequested||(e.busy=!1),Ze=!0}}))()])}else if(!(ae instanceof Promise))ye(ae);else{e.busy=!0;try{const We=yield ae;if(j.isCancellationRequested)return;ye(We)}finally{j.isCancellationRequested||(e.busy=!1)}}});return s.add(e.onDidChangeValue(()=>p())),p(),s.add(e.onDidAccept(P=>{const[j]=e.selectedItems;typeof j?.accept=="function"&&(P.inBackground||e.hide(),j.accept(e.keyMods,P))})),s.add(e.onDidTriggerItemButton(({button:P,item:j})=>qg(this,void 0,void 0,function*(){var V,ae;if(typeof j.trigger=="function"){const ye=(ae=(V=j.buttons)===null||V===void 0?void 0:V.indexOf(P))!==null&&ae!==void 0?ae:-1;if(ye>=0){const We=j.trigger(ye,e.keyMods),Ze=typeof We=="number"?We:yield We;if(t.isCancellationRequested)return;switch(Ze){case yh.NO_ACTION:break;case yh.CLOSE_PICKER:e.hide();break;case yh.REFRESH_PICKER:p();break;case yh.REMOVE_ITEM:{const it=e.items.indexOf(j);if(it!==-1){const vt=e.items.slice(),zt=vt.splice(it,1),hi=e.activeItems.filter(ji=>ji!==zt[0]),gi=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=vt,hi&&(e.activeItems=hi),e.keepScrollPosition=gi}break}}}}}))),s}}em.FAST_PICKS_RACE_DELAY=200;var $C=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},nc=function(f,e){return function(t,i){e(t,i,f)}},GC=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let Qu=class mm extends em{constructor(e,t,i,s,o,c){super(mm.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=s,this.telemetryService=o,this.dialogService=c,this.commandsHistory=this._register(this.instantiationService.createInstance(sc)),this.options=e}_getPicks(e,t,i){return GC(this,void 0,void 0,function*(){const s=yield this.getCommandPicks(t,i);if(i.isCancellationRequested)return[];const o=[];for(const j of s){const V=(0,_i.f6)(mm.WORD_FILTER(e,j.label)),ae=j.commandAlias?(0,_i.f6)(mm.WORD_FILTER(e,j.commandAlias)):void 0;V||ae?(j.highlights={label:V,detail:this.options.showAlias?ae:void 0},o.push(j)):e===j.commandId&&o.push(j)}const c=new Map;for(const j of o){const V=c.get(j.label);V?(j.description=j.commandId,V.description=V.commandId):c.set(j.label,j)}o.sort((j,V)=>{const ae=this.commandsHistory.peek(j.commandId),ye=this.commandsHistory.peek(V.commandId);return ae&&ye?ae>ye?-1:1:ae?-1:ye?1:j.label.localeCompare(V.label)});const p=[];let P=!1;for(let j=0;j<o.length;j++){const V=o[j],ae=this.keybindingService.lookupKeybinding(V.commandId),ye=ae?(0,Se.NC)("commandPickAriaLabelWithKeybinding","{0}, {1}",V.label,ae.getAriaLabel()):V.label;j===0&&this.commandsHistory.peek(V.commandId)&&(p.push({type:"separator",label:(0,Se.NC)("recentlyUsed","recently used")}),P=!0),j!==0&&P&&!this.commandsHistory.peek(V.commandId)&&(p.push({type:"separator",label:(0,Se.NC)("morecCommands","other commands")}),P=!1),p.push(Object.assign(Object.assign({},V),{ariaLabel:ye,detail:this.options.showAlias&&V.commandAlias!==V.label?V.commandAlias:void 0,keybinding:ae,accept:()=>GC(this,void 0,void 0,function*(){this.commandsHistory.push(V.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:V.commandId,from:"quick open"});try{yield this.commandService.executeCommand(V.commandId)}catch(We){(0,Vi.n2)(We)||this.dialogService.show(Kl.Z.Error,(0,Se.NC)("canNotRun","Command '{0}' resulted in an error ({1})",V.label,KC(We)))}})}))}return p})}};Qu.PREFIX=">",Qu.WORD_FILTER=(0,Zi.or)(Zi.Ji,Zi.KZ,Zi.ir),Qu=$C([nc(1,F.TG),nc(2,Le.d),nc(3,mn.Hy),nc(4,Me.b),nc(5,o_.S)],Qu);let sc=class oo extends lt.JT{constructor(e,t){super(),this.storageService=e,this.configurationService=t,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(()=>this.updateConfiguration()))}updateConfiguration(){this.configuredCommandsHistoryLength=oo.getConfiguredCommandHistoryLength(this.configurationService),oo.cache&&oo.cache.limit!==this.configuredCommandsHistoryLength&&(oo.cache.limit=this.configuredCommandsHistoryLength,oo.saveState(this.storageService))}load(){const e=this.storageService.get(oo.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch{}const i=oo.cache=new nr.z6(this.configuredCommandsHistoryLength,1);if(t){let s;t.usesLRU?s=t.entries:s=t.entries.sort((o,c)=>o.value-c.value),s.forEach(o=>i.set(o.key,o.value))}oo.counter=this.storageService.getNumber(oo.PREF_KEY_COUNTER,0,oo.counter)}push(e){oo.cache&&(oo.cache.set(e,oo.counter++),oo.saveState(this.storageService))}peek(e){var t;return(t=oo.cache)===null||t===void 0?void 0:t.peek(e)}static saveState(e){if(!oo.cache)return;const t={usesLRU:!0,entries:[]};oo.cache.forEach((i,s)=>t.entries.push({key:s,value:i})),e.store(oo.PREF_KEY_CACHE,JSON.stringify(t),0,0),e.store(oo.PREF_KEY_COUNTER,oo.counter,0,0)}static getConfiguredCommandHistoryLength(e){var t,i;const o=(i=(t=e.getValue().workbench)===null||t===void 0?void 0:t.commandPalette)===null||i===void 0?void 0:i.history;return typeof o=="number"?o:oo.DEFAULT_COMMANDS_HISTORY_LENGTH}};sc.DEFAULT_COMMANDS_HISTORY_LENGTH=50,sc.PREF_KEY_CACHE="commandPalette.mru.cache",sc.PREF_KEY_COUNTER="commandPalette.mru.counter",sc.counter=1,sc=$C([nc(0,mo.Uy),nc(1,ce.Ui)],sc);class zD extends Qu{constructor(e,t,i,s,o,c){super(e,t,i,s,o,c)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const i of e.getSupportedActions())t.push({commandId:i.id,commandAlias:i.alias,label:(0,Nf.x$)(i.label)||i.id});return t}}var UD=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Lh=function(f,e){return function(t,i){e(t,i,f)}},jD=function(f,e,t,i){function s(o){return o instanceof t?o:new t(function(c){c(o)})}return new(t||(t=Promise))(function(o,c){function p(V){try{j(i.next(V))}catch(ae){c(ae)}}function P(V){try{j(i.throw(V))}catch(ae){c(ae)}}function j(V){V.done?o(V.value):s(V.value).then(p,P)}j((i=i.apply(f,e||[])).next())})};let Zu=class extends zD{constructor(e,t,i,s,o,c){super({showAlias:!1},e,i,s,o,c),this.codeEditorService=t}get activeTextEditorControl(){return(0,_i.f6)(this.codeEditorService.getFocusedCodeEditor())}getCommandPicks(){return jD(this,void 0,void 0,function*(){return this.getCodeEditorCommandPicks()})}};Zu=UD([Lh(0,F.TG),Lh(1,Qi.$),Lh(2,Le.d),Lh(3,mn.Hy),Lh(4,Me.b),Lh(5,o_.S)],Zu);class Yu extends Ae.R6{constructor(){super({id:Yu.ID,label:ws.UX.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:Ue.u.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Gr.eJ).quickAccess.show(Zu.PREFIX)}}Yu.ID="editor.action.quickCommand",(0,Ae.Qr)(Yu),yo.B.as(Uu.IP.Quickaccess).registerQuickAccessProvider({ctor:Zu,prefix:Zu.PREFIX,helpEntries:[{description:ws.UX.quickCommandHelp,commandId:Yu.ID}]});var KD=function(f,e,t,i){var s=arguments.length,o=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(f,e,t,i);else for(var p=f.length-1;p>=0;p--)(c=f[p])&&(o=(s<3?c(o):s>3?c(e,t,o):c(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o},Dh=function(f,e){return function(t,i){e(t,i,f)}};let v_=class extends Fr{constructor(e,t,i,s,o,c,p){super(!0,e,t,i,s,o,c,p)}};v_=KD([Dh(1,ht.i6),Dh(2,Qi.$),Dh(3,bs.lT),Dh(4,F.TG),Dh(5,mo.Uy),Dh(6,ce.Ui)],v_),(0,Ae._K)(Fr.ID,v_);var tm=m(54587);class $D extends Ae.R6{constructor(){super({id:"editor.action.toggleHighContrast",label:ws.xi.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(MC.Z),s=i.getColorTheme();(0,Ro.c3)(s.type)?(i.setTheme(this._originalThemeName||((0,Ro._T)(s.type)?tm.rW:tm.TG)),this._originalThemeName=null):(i.setTheme((0,Ro._T)(s.type)?tm.kR:tm.MU),this._originalThemeName=s.themeName)}}(0,Ae.Qr)($D);for(var GD={wordPattern:/(-?\d*\.\d\w*)|([^`~!#%^&*()\-=+\[{\]}\\|;:'",.<>\/?\s]+)/g,comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{}},QC=["sum","min","max","avg","group","stddev","stdvar","count","count_values","bottomk","topk","quantile"],QD=["abs","absent","ceil","changes","clamp_max","clamp_min","day_of_month","day_of_week","days_in_month","delta","deriv","exp","floor","histogram_quantile","holt_winters","hour","idelta","increase","irate","label_join","label_replace","ln","log2","log10","minute","month","predict_linear","rate","resets","round","scalar","sort","sort_desc","sqrt","time","timestamp","vector","year"],ZC=[],b_=0,YC=QC;b_<YC.length;b_++){var ZD=YC[b_];ZC.push(ZD+"_over_time")}var XC=["on","ignoring","group_right","group_left","by","without"],YD="("+XC.reduce(function(f,e){return f+"|"+e})+")",XD=["+","-","*","/","%","^","==","!=",">","<",">=","<=","and","or","unless"],JD=["offset"],JC=QC.concat(QD).concat(ZC).concat(XC).concat(JD),qD={ignoreCase:!1,defaultToken:"",tokenPostfix:".promql",keywords:JC,operators:XD,vectorMatching:YD,symbols:/[=><!~?:&|+\-*\/^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/@vectorMatching\s*(?=\()/,"type","@clauses"],[/[a-z_]\w*(?=\s*(=|!=|=~|!~))/,"tag"],[/(^#.*$)/,"comment"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"type","@default":"identifier"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d+[smhdwy]/,"number"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],clauses:[[/[^(,)]/,"tag"],[/\)/,"identifier","@pop"]],whitespace:[[/[ \t\r\n]+/,"white"]]}},eE={provideCompletionItems:function(){var f=JC.map(function(e){return{label:e,kind:k.languages.CompletionItemKind.Keyword,insertText:e,insertTextRules:k.languages.CompletionItemInsertTextRule.InsertAsSnippet}});return{suggestions:f}}}}}]); //# sourceMappingURL=9862.45964dee621a8554a170.js.map