PageSourceSearch

https://studio-static.plasmic.app/static/js/async/1724.75d7bf4a.js

js plasmic.app collected 2026-09-25 05:03:58 UTC 374,774 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkwab=self.webpackChunkwab||[]).push([["1724"],{98659(e,t,i){i.d(t,{F:()=>o});var n=i(9709);class o extends n.i{}},62720(e,t,i){i.d(t,{BG:()=>s,IO:()=>a,Y:()=>r,eh:()=>o,pj:()=>l,qN:()=>d});class n{constructor(e,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const i=this._viewLayout.getCurrentViewport();this.scrollTop=i.top,this.scrollLeft=i.left,this.viewportWidth=i.width,this.viewportHeight=i.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e,t){return this._viewLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t){return this._viewLayout.getVerticalOffsetAfterLineNumber(e,t)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class o extends n{constructor(e,t,i){super(e,t),this._renderingContextBrand=void 0,this._viewLines=i}linesVisibleRangesForRange(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)}}class s{constructor(e,t,i,n){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=i,this.continuesOnNextLine=n}}class r{static from(e){let t=Array(e.length);for(let i=0,n=e.length;i<n;i++){let n=e[i];t[i]=new r(n.left,n.width)}return t}constructor(e,t){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(t)}toString(){return`[${this.left},${this.width}]`}}class a{constructor(e,t){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(e,t){return e.left-t.left}}class d{constructor(e,t){this.outsideRenderedLine=e,this.originalLeft=t,this.left=Math.round(this.originalLeft)}}class l{constructor(e,t){this.outsideRenderedLine=e,this.ranges=t}}},69663(e,t,i){i.d(t,{L:()=>s,p:()=>o});var n=i(9709);class o extends n.i{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}}class s{static write(e,t){e.setAttribute("data-mprt",String(t))}static read(e){let t=e.getAttribute("data-mprt");return null===t?0:parseInt(t,10)}static collect(e,t){let i=[],n=0;for(;e&&e!==e.ownerDocument.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(i[n++]=this.read(e)),e=e.parentElement;let o=new Uint8Array(n);for(let e=0;e<n;e++)o[e]=i[n-e-1];return o}}},97581(e,t,i){i.d(t,{h:()=>l});var n=i(56387),o=i(98659),s=i(36333),r=i(11989),a=i(23436),d=i(34847);class l extends o.F{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new s.y(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){let e=this._context.configuration.options;this._lineHeight=e.get(67);let t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(95);let i=e.get(145);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){let t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),(2===this._renderLineNumbers||3===this._renderLineNumbers)&&(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){let t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new s.y(e,1));if(1!==t.column)return"";let i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(2===this._renderLineNumbers){let e=Math.abs(this._lastCursorModelPosition.lineNumber-i);return 0===e?'<span class="relative-current-line-number">'+i+"</span>":String(e)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===i||i%10==0||i===this._context.viewModel.getLineCount()?String(i):"":String(i)}prepareRender(e){if(0===this._renderLineNumbers){this._renderResult=null;return}let t=n.j9?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,s=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(e=>!!e.options.lineNumberClassName);s.sort((e,t)=>
1r.Q.compareRangesUsingEnds(e.range,t.range));let a=0,d=this._context.viewModel.getLineCount(),h=[];for(let e=i;e<=o;e++){let n=e-i,o=this._getLineRenderLineNumber(e),r="";for(;a<s.length&&s[a].range.endLineNumber<e;)a++;for(let t=a;t<s.length;t++){let{range:i,options:n}=s[t];i.startLineNumber<=e&&(r+=" "+n.lineNumberClassName)}if(!o&&!r){h[n]="";continue}e===d&&0===this._context.viewModel.getLineLength(e)&&("off"===this._renderFinalNewline&&(o=""),"dimmed"===this._renderFinalNewline&&(r+=" dimmed-line-number")),e===this._activeLineNumber&&(r+=" active-line-number"),h[n]=`<div class="${l.CLASS_NAME}${t}${r}" style="left:${this._lineNumbersLeft}px;width:${this._lineNumbersWidth}px;">${o}</div>`}this._renderResult=h}render(e,t){if(!this._renderResult)return"";let i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}l.CLASS_NAME="line-numbers",(0,a.zy)((e,t)=>{let i=e.getColor(d.Qt),n=e.getColor(d.JB);n?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n}; }`):i&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i.transparent(.4)}; }`)})},21103(e,t,i){i.d(t,{Ax:()=>m,rk:()=>b,Gb:()=>_});var n=i(18509),o=i(71931),s=i(56387),r=i(62720);class a{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(e,t){e.selectNodeContents(t)}static _readClientRects(e,t,i,n,o){let s=this._createRange();try{return s.setStart(e,t),s.setEnd(i,n),s.getClientRects()}catch(e){return null}finally{this._detachRange(s,o)}}static _mergeAdjacentRanges(e){if(1===e.length)return e;e.sort(r.IO.compare);let t=[],i=0,n=e[0];for(let o=1,s=e.length;o<s;o++){let s=e[o];n.left+n.width+.9>=s.left?n.width=Math.max(n.width,s.left+s.width-n.left):(t[i++]=n,n=s)}return t[i++]=n,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||0===e.length)return null;let n=[];for(let o=0,s=e.length;o<s;o++){let s=e[o];n[o]=new r.IO(Math.max(0,(s.left-t)/i),s.width/i)}return this._mergeAdjacentRanges(n)}static readHorizontalRanges(e,t,i,n,o,s){let r=e.children.length-1;if(0>r)return null;if((t=Math.min(r,Math.max(0,t)))===(n=Math.min(r,Math.max(0,n)))&&i===o&&0===i&&!e.children[t].firstChild){let i=e.children[t].getClientRects();return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(i,s.clientRectDeltaLeft,s.clientRectScale)}t!==n&&n>0&&0===o&&(n--,o=0x40000000);let a=e.children[t].firstChild,d=e.children[n].firstChild;if(a&&d||(!a&&0===i&&t>0&&(a=e.children[t-1].firstChild,i=0x40000000),!d&&0===o&&n>0&&(d=e.children[n-1].firstChild,o=0x40000000)),!a||!d)return null;i=Math.min(a.textContent.length,Math.max(0,i)),o=Math.min(d.textContent.length,Math.max(0,o));let l=this._readClientRects(a,i,d,o,s.endNode);return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(l,s.clientRectDeltaLeft,s.clientRectScale)}}var d=i(52097),l=i(63937),h=i(56211),u=i(69748);let g=!!s.ib||!s.j9&&!n.gm&&!n.nr,c=!0;class m{constructor(e,t){this.themeType=t;const i=e.options,n=i.get(50);"off"===i.get(38)?this.renderWhitespace=i.get(99):this.renderWhitespace="none",this.renderControlCharacters=i.get(94),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.useMonospaceOptimizations=n.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(117),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class _{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.dom
1Node?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,o.Z)(e);else throw Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return(!!(0,h.Bb)(this._options.themeType)||"selection"===this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)}renderLine(e,t,i,n,o){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;let s=n.getViewLineRenderingData(e),r=this._options,a=d.d.filter(s.inlineDecorations,e,s.minColumn,s.maxColumn),m=null;if((0,h.Bb)(r.themeType)||"selection"===this._options.renderWhitespace)for(let t of n.selections){if(t.endLineNumber<e||t.startLineNumber>e)continue;let i=t.startLineNumber===e?t.startColumn:s.minColumn,n=t.endLineNumber===e?t.endColumn:s.maxColumn;i<n&&((0,h.Bb)(r.themeType)&&a.push(new d.d(i,n,"inline-selected-text",0)),"selection"===this._options.renderWhitespace&&(m||(m=[]),m.push(new l.MT(i-1,n-1))))}let f=new l.zL(r.useMonospaceOptimizations,r.canUseHalfwidthRightwardsArrow,s.content,s.continuesWithWrappedLine,s.isBasicASCII,s.containsRTL,s.minColumn-1,s.tokens,a,s.tabSize,s.startVisibleColumn,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==u.Bc.OFF,m);if(this._renderedViewLine&&this._renderedViewLine.input.equals(f))return!1;
1o.appendString('<div style="top:'),o.appendString(String(t)),o.appendString("px;height:"),o.appendString(String(i)),o.appendString('px;" class="'),o.appendString(_.CLASS_NAME),o.appendString('">');let v=(0,l.UW)(f,o);o.appendString("</div>");let b=null;return c&&g&&s.isBasicASCII&&r.useMonospaceOptimizations&&0===v.containsForeignElements&&(b=new p(this._renderedViewLine?this._renderedViewLine.domNode:null,f,v.characterMapping)),b||(b=C(this._renderedViewLine?this._renderedViewLine.domNode:null,f,v.characterMapping,v.containsRTL,v.containsForeignElements)),this._renderedViewLine=b,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof p}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof p?this._renderedViewLine.monospaceAssumptionsAreValid():c}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof p&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,n){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));let o=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==o&&t>o+1&&i>o+1)return new r.pj(!0,[new r.IO(this.getWidth(n),0)]);-1!==o&&t>o+1&&(t=o+1),-1!==o&&i>o+1&&(i=o+1);let s=this._renderedViewLine.getVisibleRangesForRange(e,t,i,n);return s&&s.length>0?new r.pj(!1,s):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}_.CLASS_NAME="view-line";class p{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const n=Math.floor(t.lineContent.length/300);if(n>0){this._keyColumnPixelOffsetCache=new Float32Array(n);for(let e=0;e<n;e++)this._keyColumnPixelOffsetCache[e]=-1}else this._keyColumnPixelOffsetCache=null;this._characterMapping=i,this._charWidth=t.spaceWidth}getWidth(e){if(!this.domNode||this.input.lineContent.length<300){let e=this._characterMapping.getHorizontalOffset(this._characterMapping.length);return Math.round(this._charWidth*e)}return -1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==e||e.markDidDomLayout()),this._cachedWidth}getWidthIsFast(){return this.input.lineContent.length<300||-1!==this._cachedWidth}monospaceAssumptionsAreValid(){return this.domNode?(this.input.lineContent.length<300&&Math.abs(this.getWidth(null)-this.domNode.domNode.firstChild.offsetWidth)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),c=!1),c):c}toSlowRenderedLine(){return C(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,n){let o=this._getColumnPixelOffset(e,t,n),s=this._getColumnPixelOffset(e,i,n);return[new r.IO(o,s-o)]}_getColumnPixelOffset(e,t,i){if(t<=300){let e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}let n=Math.floor((t-1)/300)-1,o=(n+1)*300+1,s=-1;if(this._keyColumnPixelOffsetCache&&-1===(s=this._keyColumnPixelOffsetCache[n])&&(s=this._actualReadPixelOffset(e,o,i),this._keyColumnPixelOffsetCache[n]=s),-1===s){let e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}let r=this._characterMapping.getHorizontalOffset(o),a=this._characterMapping.getHorizontalOffset(t);return s+this._charWidth*(a-r)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return -1;let n=this._characterMapping.getDomPosition(t),o=a.readHorizontalRanges(this._getReadingTarget(this.domNode),n.partIndex,n.charIndex,n.partIndex,n.charIndex,i);return o&&0!==o.length?o[0].left:-1}getColumnOfNodeOffset(e,t){return b(this._characterMapping,e,t)}}class f{constructor(e,t,i,n,o){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCac
1he=null,!n||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==e||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return -1!==this._cachedWidth}getVisibleRangesForRange(e,t,i,n){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){let o=this._readPixelOffset(this.domNode,e,t,n);if(-1===o)return null;let s=this._readPixelOffset(this.domNode,e,i,n);return -1===s?null:[new r.IO(o,s-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,n)}_readVisibleRangesForRange(e,t,i,n,o){if(i!==n)return this._readRawVisibleRangesForRange(e,i,n,o);{let n=this._readPixelOffset(e,t,i,o);return -1===n?null:[new r.IO(n,0)]}}_readPixelOffset(e,t,i,n){if(0===this._characterMapping.length){if(0===this._containsForeignElements||2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(n);let t=this._getReadingTarget(e);return t.firstChild?(n.markDidDomLayout(),t.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){let o=this._pixelOffsetCache[i];if(-1!==o)return o;let s=this._actualReadPixelOffset(e,t,i,n);return this._pixelOffsetCache[i]=s,s}return this._actualReadPixelOffset(e,t,i,n)}_actualReadPixelOffset(e,t,i,n){if(0===this._characterMapping.length){let t=a.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n);return t&&0!==t.length?t[0].left:-1}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(n);let o=this._characterMapping.getDomPosition(i),s=a.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,n);if(!s||0===s.length)return -1;let r=s[0].left;if(this.input.isBasicASCII){let e=this._characterMapping.getHorizontalOffset(i),t=Math.round(this.input.spaceWidth*e);if(1>=Math.abs(t-r))return t}return r}_readRawVisibleRangesForRange(e,t,i,n){if(1===t&&i===this._characterMapping.length)return[new r.IO(0,this.getWidth(n))];let o=this._characterMapping.getDomPosition(t),s=this._characterMapping.getDomPosition(i);return a.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,s.partIndex,s.charIndex,n)}getColumnOfNodeOffset(e,t){return b(this._characterMapping,e,t)}}class v extends f{_readVisibleRangesForRange(e,t,i,n,o){let s=super._readVisibleRangesForRange(e,t,i,n,o);if(!s||0===s.length||i===n||1===i&&n===this._characterMapping.length)return s;if(!this.input.containsRTL){let i=this._readPixelOffset(e,t,n,o);if(-1!==i){let e=s[s.length-1];e.left<i&&(e.width=i-e.left)}}return s}}let C=n.Tc?function(e,t,i,n,o){return new v(e,t,i,n,o)}:function(e,t,i,n,o){return new f(e,t,i,n,o)};function b(e,t,i){let n=t.textContent.length,o=-1;for(;t;)t=t.previousSibling,o++;return e.getColumn(new l.wZ(o,i),n)}},91523(e,t,i){i.d(t,{R:()=>s});var n=i(71931),o=i(69663);class s extends o.p{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=(0,n.Z)(document.createElement("div")),this._domNode.setClassName(s.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=(0,n.Z)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(s.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options,i=t.get(145);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}
1render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");let t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);let i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}s.CLASS_NAME="glyph-margin",s.OUTER_CLASS_NAME="margin"},85310(e,t,i){i.d(t,{x:()=>t$}),i(9647);var n,o,s,r,a=i(88549),d=i(38031),l=i(12034),h=i(12430),u=i(97432),g=i(45781),c=i(84048),m=i(44795),_=i(87530),p=i(3581),f=i(71931),v=i(25351),C=i(76871),b=i(30239),w=i(71805),L=i(62720),y=i(61788),N=i(36333),D=i(56387);class S{constructor(e,t,i,n){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=n}paste(e,t,i,n){this.commandDelegate.paste(e,t,i,n)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,n){this.commandDelegate.compositionType(e,t,i,n)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){y.QM.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){let t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new N.y(e.lineNumber,t):e}_hasMulticursorModifier(e){switch(this.configuration.options.get(78)){case"altKey":return e.altKey;case"ctrlKey":return e.ctrlKey;case"metaKey":return e.metaKey;default:return!1}}_hasNonMulticursorModifier(e){switch(this.configuration.options.get(78)){case"altKey":return e.ctrlKey||e.metaKey;case"ctrlKey":return e.altKey||e.metaKey;case"metaKey":return e.ctrlKey||e.altKey;default:return!1}}dispatchMouse(e){let t=this.configuration.options,i=D.j9&&t.get(107),n=t.get(22);e.middleButton&&!i?this._columnSelect(e.position,e.mouseColumn,e.inSelectionMode):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelect(e.position,e.revealType):this._createCursor(e.position,!0):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount>=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||n?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){y.QM.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){y.QM.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),y.QM.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),y.QM.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){y.QM.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){y.QM.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){y.QM.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){y.QM.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){y.QM.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){y.QM.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){y.QM.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){y.QM.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){y.QM.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}
1emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}var M=i(97829),R=i(13532);class x{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){let t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new d.D7("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;let i=this.getStartLineNumber(),n=this.getEndLineNumber();if(t<i)return this._rendLineNumberStart-=t-e+1,null;if(e>n)return null;let o=0,s=0;for(let r=i;r<=n;r++){let i=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===s?(o=i,s=1):s++)}if(e<i){let n=0;n=t<i?t-e+1:i-e,this._rendLineNumberStart-=n}return this._lines.splice(o,s)}onLinesChanged(e,t){let i=e+t-1;if(0===this.getCount())return!1;let n=this.getStartLineNumber(),o=this.getEndLineNumber(),s=!1;for(let t=e;t<=i;t++)t>=n&&t<=o&&(this._lines[t-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(e,t){if(0===this.getCount())return null;let i=t-e+1,n=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=i,null;if(e>o)return null;if(i+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);let s=[];for(let e=0;e<i;e++)s[e]=this._createLine();let r=e-this._rendLineNumberStart,a=this._lines.slice(0,r),d=this._lines.slice(r,this._lines.length-i),l=this._lines.slice(this._lines.length-i,this._lines.length);return this._lines=a.concat(s).concat(d),l}onTokensChanged(e){if(0===this.getCount())return!1;let t=this.getStartLineNumber(),i=this.getEndLineNumber(),n=!1;for(let o=0,s=e.length;o<s;o++){let s=e[o];if(s.toLineNumber<t||s.fromLineNumber>i)continue;let r=Math.max(t,s.fromLineNumber),a=Math.min(i,s.toLineNumber);for(let e=r;e<=a;e++){let t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),n=!0}}return n}}class I{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new x(()=>
1this._host.createVisibleLine())}_createDomNode(){let e=(0,f.Z)(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(145)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){let t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,i=t.length;e<i;e++){let i=t[e].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0}onLinesInserted(e){let t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,i=t.length;e<i;e++){let i=t[e].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0}onScrollChanged(e){return e.scrollTopChanged}onTokensChanged(e){return this._linesCollection.onTokensChanged(e.ranges)}onZonesChanged(e){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(e){return this._linesCollection.getLine(e)}renderLines(e){let t=this._linesCollection._get(),i=new T(this.domNode.domNode,this._host,e),n={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},o=i.render(n,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(o.rendLineNumberStart,o.lines)}}class T{constructor(e,t,i){this.domNode=e,this.host=t,this.viewportData=i}render(e,t,i,n){let o={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(o.rendLineNumberStart+o.linesLength-1<t||i<o.rendLineNumberStart){o.rendLineNumberStart=t,o.linesLength=i-t+1,o.lines=[];for(let e=t;e<=i;e++)o.lines[e-t]=this.host.createVisibleLine();return this._finishRendering(o,!0,n),o}if(this._renderUntouchedLines(o,Math.max(t-o.rendLineNumberStart,0),Math.min(i-o.rendLineNumberStart,o.linesLength-1),n,t),o.rendLineNumberStart>t){let e=Math.min(i,o.rendLineNumberStart-1);t<=e&&(this._insertLinesBefore(o,t,e,n,t),o.linesLength+=e-t+1)}else if(o.rendLineNumberStart<t){let e=Math.min(o.linesLength,t-o.rendLineNumberStart);e>0&&(this._removeLinesBefore(o,e),o.linesLength-=e)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1<i){let e=o.rendLineNumberStart+o.linesLength;e<=i&&(this._insertLinesAfter(o,e,i,n,t),o.linesLength+=i-e+1)}else if(o.rendLineNumberStart+o.linesLength-1>i){let e=Math.max(0,i-o.rendLineNumberStart+1),t=o.linesLength-1-e+1;t>0&&(this._removeLinesAfter(o,t),o.linesLength-=t)}return this._finishRendering(o,!1,n),o}_renderUntouchedLines(e,t,i,n,o){let s=e.rendLineNumberStart,r=e.lines;for(let e=t;e<=i;e++){let t=s+e;r[e].layoutLine(t,n[t-o],this.viewportData.lineHeight)}}_insertLinesBefore(e,t,i,n,o){let s=[],r=0;for(let e=t;e<=i;e++)s[r++]=this.host.createVisibleLine();e.lines=s.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i<t;i++){let t=e.lines[i].getDomNode();t&&this.domNode.removeChild(t)}e.lines.splice(0,t)}_insertLinesAfter(e,t,i,n,o){let s=[],r=0;for(let e=t;e<=i;e++)s[r++]=this.host.createVisibleLine();e.lines=e.lines.concat(s)}_removeLinesAfter(e,t){let i=e.linesLength-t;for(let n=0;n<t;n++){let t=e.lines[i+n].getDomNode();t&&this.domNode.removeChild(t)}e.lines.splice(i,t)}_finishRenderingNewLines(e,t,i,n){T._ttPolicy&&(i=T._ttPolicy.createHTML(i));let o=this.domNode.lastChild;t||!o?this.domNode.innerHTML=i:o.insertAdjacentHTML("afterend",i);let s=this.domNode.lastChild;for(let t=e.linesLength-1;t>=0;t--){let i=e.lines[t];
1n[t]&&(i.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(e,t,i){let n=document.createElement("div");T._ttPolicy&&(t=T._ttPolicy.createHTML(t)),n.innerHTML=t;for(let t=0;t<e.linesLength;t++){let o=e.lines[t];if(i[t]){let e=n.firstChild,t=o.getDomNode();t.parentNode.replaceChild(e,t),o.setDomNode(e)}}}_finishRendering(e,t,i){let n=T._sb,o=e.linesLength,s=e.lines,r=e.rendLineNumberStart,a=[];{n.reset();let d=!1;for(let e=0;e<o;e++){let t=s[e];a[e]=!1,!t.getDomNode()&&t.renderLine(e+r,i[e],this.viewportData.lineHeight,this.viewportData,n)&&(a[e]=!0,d=!0)}d&&this._finishRenderingNewLines(e,t,n.build(),a)}{n.reset();let t=!1,d=[];for(let e=0;e<o;e++){let o=s[e];d[e]=!1,!a[e]&&o.renderLine(e+r,i[e],this.viewportData.lineHeight,this.viewportData,n)&&(d[e]=!0,t=!0)}t&&this._finishRenderingInvalidLines(e,n.build(),d)}}}T._ttPolicy=(0,M.H)("editorViewLayer",{createHTML:e=>e}),T._sb=new R.fe(1e5);var E=i(69663);class W extends E.p{constructor(e){super(e),this._visibleLines=new I(this),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);(0,g.M)(this.domNode,t),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;e<t;e++)if(this._dynamicOverlays[e].shouldRender())return!0;return!1}dispose(){super.dispose();for(let e=0,t=this._dynamicOverlays.length;e<t;e++)this._dynamicOverlays[e].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}createVisibleLine(){return new A(this._dynamicOverlays)}addDynamicOverlay(e){this._dynamicOverlays.push(e)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);let t=this._context.configuration.options.get(50);return(0,g.M)(this.domNode,t),!0}onFlushed(e){return this._visibleLines.onFlushed(e)}onFocusChanged(e){return this._isFocused=e.isFocused,!0}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onScrollChanged(e){return this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._visibleLines.onZonesChanged(e)}prepareRender(e){let t=this._dynamicOverlays.filter(e=>e.shouldRender());for(let i=0,n=t.length;i<n;i++){let n=t[i];n.prepareRender(e),n.onDidRender()}}render(e){this._viewOverlaysRender(e),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(e){this._visibleLines.renderLines(e.viewportData)}}class A{constructor(e){this._dynamicOverlays=e,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(e){this._domNode=(0,f.Z)(e)}onContentChanged(){}onTokensChanged(){}renderLine(e,t,i,n,o){let s="";for(let t=0,i=this._dynamicOverlays.length;t<i;t++)s+=this._dynamicOverlays[t].render(n.startLineNumber,e);return this._renderedContent!==s&&(this._renderedContent=s,o.appendString('
1<div style="top:'),o.appendString(String(t)),o.appendString("px;height:"),o.appendString(String(i)),o.appendString('px;">'),o.appendString(s),o.appendString("</div>"),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class O extends W{constructor(e){super(e);const t=this._context.configuration.options.get(145);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){let t=this._context.configuration.options.get(145);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class P extends W{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),(0,g.M)(this.domNode,t.get(50))}onConfigurationChanged(e){let t=this._context.configuration.options;(0,g.M)(this.domNode,t.get(50));let i=t.get(145);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);let t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class H{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;null==(t=this.onKeyDown)||t.call(this,e)}emitKeyUp(e){var t;null==(t=this.onKeyUp)||t.call(this,e)}emitContextMenu(e){var t;null==(t=this.onContextMenu)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;null==(t=this.onMouseMove)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;null==(t=this.onMouseLeave)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;null==(t=this.onMouseDown)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;null==(t=this.onMouseUp)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;null==(t=this.onMouseDrag)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;null==(t=this.onMouseDrop)||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;null==(e=this.onMouseDropCanceled)||e.call(this)}emitMouseWheel(e){var t;null==(t=this.onMouseWheel)||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return H.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){let i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),(5===i.type||8===i.type)&&(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new N.y(e.afterLineNumber,1)).lineNumber}}}class V extends E.p{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=(0,f.Z)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1,t=this._context.configuration.options.get(145),i=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==i&&(this.contentWidth=i,e=!0);let n=t.contentLeft;return this.contentLeft!==n&&(this.contentLeft=n,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var t;let i=0;for(let n of e.getDecorationsInViewport()){let o,s;if(!n.options.blockClassName)continue;let r=this.blocks[i];r||(r=this.blocks[i]=(0,f.Z)(document.createElement("div")),this.domNode.appendChild(r)),n.options.blockIsAfterEnd?(o=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!1),s=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0)):(o=e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!0),s=n.range.isEmpty()&&!n.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0));let[a,d,l,h]=null!=(t=n.options.blockPadding)?t:[0,0,0,0];r.setClassName("blockDecorations-block "+n.options.blockClassName),r.setLeft(this.contentLeft-h),r.setWidth(this.contentWidth+h+d),r.setTop(o-e.scrollTop-a),r.setHeight(s-o+a+l),i++}for(let e=i;e<this.blocks.length;e++)this.blocks[e].domNode.remove();this.blocks.length=i}}
1class F extends E.p{constructor(e,t){super(e),this._viewDomNode=t,this._widgets={},this.domNode=(0,f.Z)(document.createElement("div")),E.L.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,f.Z)(document.createElement("div")),E.L.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(e){for(let t of Object.keys(this._widgets))this._widgets[t].onConfigurationChanged(e);return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLineMappingChanged(e){return this._updateAnchorsViewPositions(),!0}onLinesChanged(e){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(e){return this._updateAnchorsViewPositions(),!0}onLinesInserted(e){return this._updateAnchorsViewPositions(),!0}onScrollChanged(e){return!0}onZonesChanged(e){return!0}_updateAnchorsViewPositions(){for(let e of Object.keys(this._widgets))this._widgets[e].updateAnchorViewPosition()}addWidget(e){let t=new k(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(e,t,i,n,o){this._widgets[e.getId()].setPosition(t,i,n,o),this.setShouldRender()}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t];delete this._widgets[t];let i=e.domNode.domNode;i.parentNode.removeChild(i),i.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown}onBeforeRender(e){for(let t of Object.keys(this._widgets))this._widgets[t].onBeforeRender(e)}prepareRender(e){for(let t of Object.keys(this._widgets))this._widgets[t].prepareRender(e)}render(e){for(let t of Object.keys(this._widgets))this._widgets[t].render(e)}}class k{constructor(e,t,i){this._primaryAnchor=new B(null,null),this._secondaryAnchor=new B(null,null),this._context=e,this._viewDomNode=t,this._actual=i,this.domNode=(0,f.Z)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const n=this._context.configuration.options,o=n.get(145);this._fixedOverflowWidgets=n.get(42),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,this._lineHeight=n.get(67),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(e){let t=this._context.configuration.options;if(this._lineHeight=t.get(67),e.hasChanged(145)){let e=t.get(145);this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(e,t,i){function n(e,t,i){if(!e)return new B(null,null);let n=t.model.validatePosition(e);return t.coordinatesConverter.modelPositionIsVisible(n)?new B(e,t.coordinatesConverter.convertModelPositionToViewPosition(n,null!=i?i:void 0)):new B(e,null)}this._affinity=e,this._primaryAnchor=n(t,this._context.viewModel,this._affinity),this._secondaryAnchor=n(i,this._context.viewModel,this._affinity)}_getMaxWidth(){let e=this.domNode.domNode.ownerDocument,t=e.defaultView;return this.allowEditorOverflow?(null==t?void 0:t.innerWidth)||e.documentElement.offsetWidth||e.body.offsetWidth:this._contentWidth}setPosition(e,t,i,n){this._setPosition(n,e,t),this._preference=i,this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,n){let o=e.top,s=e.top+e.height,r=n.viewportHe
1ight-s,a=e.left;return a+t>n.scrollLeft+n.viewportWidth&&(a=n.scrollLeft+n.viewportWidth-t),a<n.scrollLeft&&(a=n.scrollLeft),{fitsAbove:o>=i,aboveTop:o-i,fitsBelow:r>=i,belowTop:s,left:a}}_layoutHorizontalSegmentInPage(e,t,i,n){var o;let s=Math.max(15,t.left-n),r=Math.min(t.left+t.width+n,e.width-15),a=this._viewDomNode.domNode.ownerDocument.defaultView,d=t.left+i-(null!=(o=null==a?void 0:a.scrollX)?o:0);if(d+n>r){let e=d-(r-n);d-=e,i-=e}if(d<s){let e=d-s;d-=e,i-=e}return[i,d]}_layoutBoxInPage(e,t,i,n){var o,s;let r=e.top-i,d=e.top+e.height,l=a.BK(this._viewDomNode.domNode),h=this._viewDomNode.domNode.ownerDocument,u=h.defaultView,g=l.top+r-(null!=(o=null==u?void 0:u.scrollY)?o:0),c=l.top+d-(null!=(s=null==u?void 0:u.scrollY)?s:0),m=a.tG(h.body),[_,p]=this._layoutHorizontalSegmentInPage(m,l,e.left-n.scrollLeft+this._contentLeft,t),f=g>=22,v=c+i<=m.height-22;return this._fixedOverflowWidgets?{fitsAbove:f,aboveTop:Math.max(g,22),fitsBelow:v,belowTop:c,left:p}:{fitsAbove:f,aboveTop:r,fitsBelow:v,belowTop:d,left:_}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new z(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var t,i;return{primary:n(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:n((null==(t=this._secondaryAnchor.viewPosition)?void 0:t.lineNumber)===(null==(i=this._primaryAnchor.viewPosition)?void 0:i.lineNumber)?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function n(t,i,n){if(!t)return null;let o=e.visibleRangeForPosition(t);if(!o)return null;let s=1===t.column&&3===i?0:o.left;return new U(e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop,s,n)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;let n=this._context.configuration.options.get(50),o=t.left;return o=o<e.left?Math.max(o,e.left-i+n.typicalFullwidthCharacterWidth):Math.min(o,e.left+i-n.typicalFullwidthCharacterWidth),new U(e.top,o,e.height)}_prepareRenderWidget(e){let t;if(!this._preference||0===this._preference.length)return null;let{primary:i,secondary:n}=this._getAnchorsCoordinates(e);if(!i)return{kind:"offViewport",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(-1===this._cachedDomNodeOffsetWidth||-1===this._cachedDomNodeOffsetHeight){let e=null;if("function"==typeof this._actual.beforeRender&&(e=G(this._actual.beforeRender,this._actual)),e)this._cachedDomNodeOffsetWidth=e.width,this._cachedDomNodeOffsetHeight=e.height;else{let e=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(e.width),this._cachedDomNodeOffsetHeight=Math.round(e.height)}}let o=this._reduceAnchorCoordinates(i,n,this._cachedDomNodeOffsetWidth);t=this.allowEditorOverflow?this._layoutBoxInPage(o,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e):this._layoutBoxInViewport(o,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e);for(let e=1;e<=2;e++)for(let i of this._preference)if(1===i){if(!t)return null;if(2===e||t.fitsAbove)return{kind:"inViewport",coordinate:new z(t.aboveTop,t.left),position:1}}else if(2===i){if(!t)return null;if(2===e||t.fitsBelow)return{kind:"inViewport",coordinate:new z(t.belowTop,t.left),position:2}}else if(this.allowEditorOverflow)return{kind:"inViewport",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new z(o.top,o.left)),position:0};else return{kind:"inViewport",coordinate:new z(o.top,o.left),position:0};return null}onBeforeRender(e){!this._primaryAnchor.viewPosition||!this._preference||this._primaryAnchor.viewPosition.lineNumber<e.startLineNumber||this._primaryAnchor.viewPosition.lineNumber>e.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){var t;if(!this._renderData||"offViewport"===this._renderData.kind){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,(null==(t=this._renderData)?void 0:t.kind)==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),"function"==typeof this._actual.afterRe
1nder&&G(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?this.domNode.setTop(this._renderData.coordinate.top):this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&G(this._actual.afterRender,this._actual,this._renderData.position)}}class B{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class z{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class U{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function G(e,t,...i){try{return e.call(t,...i)}catch(e){return null}}var Z=i(98659),j=i(34847),$=i(60306),Q=i(23436),q=i(87182),K=i(56211);class Y extends Z.F{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(145);this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new q.L(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1,t=new Set;for(let e of this._selections)t.add(e.positionLineNumber);let i=Array.from(t);i.sort((e,t)=>e-t),$.aI(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);let n=this._selections.every(e=>e.isEmpty());return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){let t=this._context.configuration.options,i=t.get(145);return this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}let t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=[];for(let e=t;e<=i;e++)n[e-t]="";if(this._wordWrap){let o=this._renderOne(e,!1);for(let e of this._cursorLineNumbers){let s=this._context.viewModel.coordinatesConverter,r=s.convertViewPositionToModelPosition(new N.y(e,1)).lineNumber,a=s.convertModelPositionToViewPosition(new N.y(r,1)).lineNumber,d=s.convertModelPositionToViewPosition(new N.y(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,l=Math.max(a,t),h=Math.min(d,i);for(let e=l;e<=h;e++)n[e-t]=o}}let o=this._renderOne(e,!0);for(let e of this._cursorLineNumbers)e<t||e>i||(n[e-t]=o);this._renderData=n}render(e,t){if(!this._renderData)return"";let i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class X extends Y{_renderOne(e,t){let i="current-line"+(this._shouldRenderInMargin()?" current-line-both":"")+(t?" current-line-exact":"");return`<div class="${i}" style="width:${Math.max(e.scrollWidth,this._contentWidth)}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class J extends Y{_renderOne(e,t){let i="current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")+(this._shouldRenderInMargin()&&t?" current-line-exact-margin":"");return`<div class="${i}" style="width:${this._contentLeft}px"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,Q.zy)((e,t)=>{let i=e.getColor(j.kG);if(i&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }
1`)),!i||i.isTransparent()||e.defines(j.Mf)){let i=e.getColor(j.Mf);i&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),(0,K.Bb)(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});var ee=i(11989);class et extends Z.F{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){let t=e.getDecorationsInViewport(),i=[],n=0;for(let e=0,o=t.length;e<o;e++){let o=t[e];o.options.className&&(i[n++]=o)}i=i.sort((e,t)=>{if(e.options.zIndex<t.options.zIndex)return -1;if(e.options.zIndex>t.options.zIndex)return 1;let i=e.options.className,n=t.options.className;return i<n?-1:i>n?1:ee.Q.compareRangesUsingStarts(e.range,t.range)});let o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,r=[];for(let e=o;e<=s;e++)r[e-o]="";this._renderWholeLineDecorations(e,i,r),this._renderNormalDecorations(e,i,r),this._renderResult=r}_renderWholeLineDecorations(e,t,i){let n=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber;for(let e=0,s=t.length;e<s;e++){let s=t[e];if(!s.options.isWholeLine)continue;let r='<div class="cdr '+s.options.className+'" style="left:0;width:100%;"></div>',a=Math.max(s.range.startLineNumber,n),d=Math.min(s.range.endLineNumber,o);for(let e=a;e<=d;e++){let t=e-n;i[t]+=r}}}_renderNormalDecorations(e,t,i){var n;let o=e.visibleRange.startLineNumber,s=null,r=!1,a=null,d=!1;for(let l=0,h=t.length;l<h;l++){let h=t[l];if(h.options.isWholeLine)continue;let u=h.options.className,g=!!h.options.showIfCollapsed,c=h.range;if(g&&1===c.endColumn&&c.endLineNumber!==c.startLineNumber&&(c=new ee.Q(c.startLineNumber,c.startColumn,c.endLineNumber-1,this._context.viewModel.getLineMaxColumn(c.endLineNumber-1))),s===u&&r===g&&ee.Q.areIntersectingOrTouching(a,c)){a=ee.Q.plusRange(a,c);continue}null!==s&&this._renderNormalDecoration(e,a,s,d,r,o,i),s=u,r=g,a=c,d=null!=(n=h.options.shouldFillLineOnLineBreak)&&n}null!==s&&this._renderNormalDecoration(e,a,s,d,r,o,i)}_renderNormalDecoration(e,t,i,n,o,s,r){let a=e.linesVisibleRangesForRange(t,"findMatch"===i);if(a)for(let e=0,t=a.length;e<t;e++){let t=a[e];if(t.outsideRenderedLine)continue;let d=t.lineNumber-s;if(o&&1===t.ranges.length){let e=t.ranges[0];if(e.width<this._typicalHalfwidthCharacterWidth){let i=Math.max(0,Math.round(Math.round(e.left+e.width/2)-this._typicalHalfwidthCharacterWidth/2));t.ranges[0]=new L.Y(i,this._typicalHalfwidthCharacterWidth)}}for(let e=0,o=t.ranges.length;e<o;e++){let s=n&&t.continuesOnNextLine&&1===o,a=t.ranges[e],l='<div class="cdr '+i+'" style="left:'+String(a.left)+"px;width:"+(s?"100%;":String(a.width)+"px;")+'"></div>';r[d]+=l}}}render(e,t){if(!this._renderResult)return"";let i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}var ei=i(68397);class en extends E.p{constructor(e,t,i,n){super(e);const o=this._context.configuration.options,s=o.get(103),r=o.get(75),d=o.get(40),l=o.get(106),h={listenOnDomNode:i.domNode,className:"editor-scrollable "+(0,Q.Pz)(e.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,alwaysConsumeMouseWheel:s.alwaysConsumeMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:d,scrollPredominantAxis:l,scrollByPage:s.scrollByPage};this.scrollbar=this._register(new ei.oO(t.domNode,h,this._context.viewLayout.getScrollable())),E.L.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=(0,f.Z)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const u=(e,t,i)=>{let n={};if(t){let t=e.scrollTop;t&&(n.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(i){let t=e.scrollLeft;t&&(n.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(n,1)};this._register(a.ko(i.domNode,"scroll",e=>u(i.domNode,!0,!0))),this._register(a.ko(t.domNode,"scroll",e=>u(t.domNode,!0,!1))),this._register(a.ko(n.domNode,"scroll",e=>u(n.domNode,!0,!1))),this._register(a.ko(this.scrollbarDomNode.domNode,"scroll",e=>u(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){let e=this._context.configuration.options,t=e.get(145);this.scrollbarDomNode.setLeft(t.contentLeft),"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(103)||e.hasChanged(75)||e.hasChanged(40)){let e=this._context.configuration.options,t=e.get(103),i=e.get(75),n=e.get(40),o=e.get(106),s={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:i,fastScrollSensitivity:n,scrollPredominantAxis:o};this.scrollbar.updateOptions(s)}return e.hasChanged(145)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+(0,Q.Pz)(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}var eo=i(97679);class es{constructor(e,t,i,n,o){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=n,this._decorationToRenderBrand=void 0,this.zIndex=null!=o?o:0}}class er{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class ea{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class ed extends Z.F{_render(e,t,i){let n=[];for(let i=e;i<=t;i++)n[i-e]=new ea;if(0===i.length)return n;i.sort((e,t)=>
1e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1);let o=null,s=0;for(let r=0,a=i.length;r<a;r++){let a=i[r],d=a.className,l=a.zIndex,h=Math.max(a.startLineNumber,e)-e,u=Math.min(a.endLineNumber,t)-e;o===d?(h=Math.max(s+1,h),s=Math.max(s,u)):(o=d,s=u);for(let e=h;e<=s;e++)n[e].add(new er(d,l,a.tooltip))}return n}}class el extends E.p{constructor(e){super(e),this._widgets={},this._context=e;const t=this._context.configuration.options,i=t.get(145);this.domNode=(0,f.Z)(document.createElement("div")),this.domNode.setClassName("glyph-margin-widgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this._lineHeight=t.get(67),this._glyphMargin=t.get(57),this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._glyphMarginDecorationLaneCount=i.glyphMarginDecorationLaneCount,this._managedDomNodes=[],this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[],this._decorationGlyphsToRender=[],this._widgets={},super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(e){let t=this._context.configuration.options,i=t.get(145);return this._lineHeight=t.get(67),this._glyphMargin=t.get(57),this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._glyphMarginDecorationLaneCount=i.glyphMarginDecorationLaneCount,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}addWidget(e){let t=(0,f.Z)(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:e.getPosition(),domNode:t,renderInfo:null},t.setPosition("absolute"),t.setDisplay("none"),t.setAttribute("widgetId",e.getId()),this.domNode.appendChild(t),this.setShouldRender()}setWidgetPosition(e,t){let i=this._widgets[e.getId()];return!(i.preference.lane===t.lane&&i.preference.zIndex===t.zIndex&&ee.Q.equalsRange(i.preference.range,t.range))&&(i.preference=t,this.setShouldRender(),!0)}removeWidget(e){var t;let i=e.getId();if(this._widgets[i]){let e=this._widgets[i].domNode.domNode;delete this._widgets[i],null==(t=e.parentNode)||t.removeChild(e),this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(e,t){var i,n,o;let s=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber;for(let a of e.getDecorationsInViewport()){let e=a.options.glyphMarginClassName;if(!e)continue;let d=Math.max(a.range.startLineNumber,s),l=Math.min(a.range.endLineNumber,r),h=null!=(n=null==(i=a.options.glyphMargin)?void 0:i.position)?n:eo.ZS.Center,u=null!=(o=a.options.zIndex)?o:0;for(let i=d;i<=l;i++){let n=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new N.y(i,0)),o=this._context.viewModel.glyphLanes.getLanesAtLine(n.lineNumber).indexOf(h);t.push(new eh(i,o,u,e))}}}_collectWidgetBasedGlyphRenderRequest(e,t){let i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber;for(let e of Object.values(this._widgets)){let o=e.preference.range,{startLineNumber:s,endLineNumber:r}=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(ee.Q.lift(o));if(!s||!r||r<i||s>n)continue;let a=Math.max(s,i),d=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new N.y(a,0)),l=this._context.viewModel.glyphLanes.getLanesAtLine(d.lineNumber).indexOf(e.preference.lane);t.push(new eu(a,l,e.preference.zIndex,e))}}_collectSortedGlyphRenderRequests(e){let t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((e,t)=>{if(e.lineNumber===t.lineNumber){if(e.laneIndex===t.laneIndex){if(e.zIndex===t.zIndex)return t.type===e.type?0===e.type&&0===t.type?e.className<t.className?-1:1:0:t.type-e.type;return t.zIndex-e.zIndex}return e.laneIndex-t.laneIndex}return e.lineNumber-t.lineNumber}),t}prepareRender(e){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(let e of Object.values(this._widgets))e.renderInfo=null;let t=new $.j3(this._collectSortedGlyphRenderRequests(e)),i=[];for(;t.length>0;){let e=t.peek();if(!e)break;let n=t.takeWhile(t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex);
1if(!n||0===n.length)break;let o=n[0];if(0===o.type){let e=[];for(let t of n){if(t.zIndex!==o.zIndex||t.type!==o.type)break;(0===e.length||e[e.length-1]!==t.className)&&e.push(t.className)}i.push(o.accept(e.join(" ")))}else o.widget.renderInfo={lineNumber:o.lineNumber,laneIndex:o.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(let e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){let e=this._managedDomNodes.pop();null==e||e.domNode.remove()}return}let t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(let i of Object.values(this._widgets))if(i.renderInfo){let n=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],o=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(n),i.domNode.setLeft(o),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}else i.domNode.setDisplay("none");for(let i=0;i<this._decorationGlyphsToRender.length;i++){let n,o=this._decorationGlyphsToRender[i],s=e.viewportData.relativeVerticalOffset[o.lineNumber-e.viewportData.startLineNumber],r=this._glyphMarginLeft+o.laneIndex*this._lineHeight;i<this._managedDomNodes.length?n=this._managedDomNodes[i]:(n=(0,f.Z)(document.createElement("div")),this._managedDomNodes.push(n),this.domNode.appendChild(n)),n.setClassName("cgmr codicon "+o.combinedClassName),n.setPosition("absolute"),n.setTop(s),n.setLeft(r),n.setWidth(t),n.setHeight(this._lineHeight)}for(;this._managedDomNodes.length>this._decorationGlyphsToRender.length;){let e=this._managedDomNodes.pop();null==e||e.domNode.remove()}}}class eh{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=n,this.type=0}accept(e){return new eg(this.lineNumber,this.laneIndex,e)}}class eu{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=n,this.type=1}}class eg{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}var ec=i(43143),em=i(27674),e_=i(23315);class ep extends Z.F{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,i=t.get(146),n=t.get(50);this._spaceWidth=n.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,i=t.get(146),n=t.get(50);return this._spaceWidth=n.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){var t;let i=e.selections[0].getPosition();return(null==(t=this._primaryPosition)||!t.equals(i))&&(this._primaryPosition=i,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){var t,i,n,o;if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs){this._renderResult=null;return}let s=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,a=e.scrollWidth,d=this._primaryPosition,l=this.getGuidesByLine(s,Math.min(r+1,this._context.viewModel.getLineCount()),d),h=[];for(let d=s;d<=r;d++){let r=d-s,u=l[r],g="",c=null!=(i=null==(t=e.visibleRangeForPosition(new N.y(d,1)))?void 0:t.left)?i:0;for(let t of u){let i=-1===t.column?c+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new N.y(d,t.column)).left;if(i>a||this._maxIndentLeft>0&&i>this._maxIndentLeft)break;let s=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(null!=(o=null==(n=e.visibleRangeForPosition(new N.y(d,t.horizontalLine.endColumn)))?void 0:n.left)?o:i+this._spaceWidth)-i:this._spaceWidth;g+=`<div class="core-guide ${t.className} ${s}" style="left:${i}px;width:${r}px"></div>`}h[r]=g}this._renderResult=h}getGuidesByLine(e,t,i){let n=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?e_.N6.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?e_.N6.EnabledForActive:e_.N6.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null,s=0,r=0,a=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&i){let n=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);s=n.startLineNumber,r=n.endLineNumber,a=n.indent}let{indentSize:d}=this._context.viewModel.model.getOptions(),l=[];for(let i=e;i<=t;i++){let t=[];l.push(t);let h=n?n[i-e]:[],u=new $.j3(h),g=o?o[i-e]:0;for(let e=1;e<=g;e++){let n=(e-1)*d+1,o=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===h.length)&&s<=i&&i<=r&&e===a;t.push(...u.takeWhile(e=>e.visibleColumn<n)||[]);let l=u.peek();(!l||l.visibleColumn!==n||l.horizontalLine)&&t.push(new e_.TH(n,-1,`core-guide-indent lvl-${(e-1)%30}`+(o?" indent-active":""),null,-1,-1))}t.push(...u.takeWhile(e=>!0)||[])}return l}render(e,t){if(!this._renderResult)return"";let i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}
1function ef(e){if(!(e&&e.isTransparent()))return e}(0,Q.zy)((e,t)=>{let i=[{bracketColor:j.sN,guideColor:j.n4,guideColorActive:j.bB},{bracketColor:j.lQ,guideColor:j.I2,guideColorActive:j.WS},{bracketColor:j.ss,guideColor:j.Bo,guideColorActive:j.Pe},{bracketColor:j.l5,guideColor:j.If,guideColorActive:j.WD},{bracketColor:j.sH,guideColor:j.BD,guideColorActive:j.P1},{bracketColor:j.zp,guideColor:j.IW,guideColorActive:j.WY}],n=new em.k,o=[{indentColor:j.vV,indentColorActive:j.H0},{indentColor:j.ob,indentColorActive:j.Am},{indentColor:j.hz,indentColorActive:j.tK},{indentColor:j.ow,indentColorActive:j.A3},{indentColor:j.vP,indentColorActive:j.tp},{indentColor:j.CM,indentColorActive:j.As}],s=i.map(t=>{var i,n;let o=e.getColor(t.bracketColor),s=e.getColor(t.guideColor),r=e.getColor(t.guideColorActive),a=ef(null!=(i=ef(s))?i:null==o?void 0:o.transparent(.3)),d=ef(null!=(n=ef(r))?n:o);if(a&&d)return{guideColor:a,guideColorActive:d}}).filter(ec.O9),r=o.map(t=>{let i=e.getColor(t.indentColor),n=e.getColor(t.indentColorActive),o=ef(i),s=ef(n);if(o&&s)return{indentColor:o,indentColorActive:s}}).filter(ec.O9);if(s.length>0){for(let e=0;e<30;e++){let i=s[e%s.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${i.guideColor}; --guide-color-active: ${i.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${n.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${n.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${n.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){let i=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${i.indentColor}; --indent-color-active: ${i.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});var ev=i(97581),eC=i(2587),eb=i(4798);class ew{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;let e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}var eL=i(21103);class ey{constructor(){this._currentVisibleRange=new ee.Q(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class eN{constructor(e,t,i,n,o,s,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=n,this.startScrollTop=o,this.stopScrollTop=s,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class eD{constructor(e,t,i,n,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=n,this.scrollType=o,this.type="selections";let s=t[0].startLineNumber,r=t[0].endLineNumber;for(let e=1,i=t.length;e<i;e++){const i=t[e];s=Math.min(s,i.startLineNumber),r=Math.max(r,i.endLineNumber)}this.minLineNumber=s,this.maxLineNumber=r}}class eS extends E.p{constructor(e,t){super(e),this._linesContent=t,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new I(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration,n=this._context.configuration.options,o=n.get(50),s=n.get(146);this._lineHeight=n.get(67),this._typicalHalfwidthCharacterWidth=o.typicalHalfwidthCharacterWidth,this._isViewportWrapping=s.isViewportWrapping,this._revealHorizontalRightPadding=n.get(100),this._cursorSurroundingLines=n.get(29),this._cursorSurroundingLinesStyle=n.get(30),this._canUseLayerHinting=!n.get(32),this._viewLineOptions=new eL.Ax(i,this._context.theme.type),E.L.write(this.domNode,8),this.domNode.setClassName(`view-lines ${eC.S}`),(0,g.M)(this.domNode,o),this._maxLineWidth=0,this._asyncUpdateLineWidths=new eb.uC(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new eb.uC(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new ey,this._horizontalRevealRequest=null,this._stickyScrollEnabled=n.get(115).enabled,this._maxNumberStickyLines=n.get(115).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new eL.Gb(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(146)&&
1(this._maxLineWidth=0);let t=this._context.configuration.options,i=t.get(50),n=t.get(146);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=n.isViewportWrapping,this._revealHorizontalRightPadding=t.get(100),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(115).enabled,this._maxNumberStickyLines=t.get(115).maxLineCount,(0,g.M)(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(145)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){let e=this._context.configuration,t=new eL.Ax(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;let e=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let t=e;t<=i;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){let t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),n=!1;for(let e=t;e<=i;e++)n=this._visibleLines.getVisibleLine(e).onSelectionChanged()||n;return n}onDecorationsChanged(e){{let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged()}return!0}onFlushed(e){let t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){let t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new eN(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new eD(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;let n=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,n),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){let t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>i)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){let i=this._getViewLineDomNode(e);if(null===i)return null;let n=this._getLineNumberFor(i);if(-1===n||n<1||n>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(n))return new N.y(n,1);let o=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(n<o||n>s)return null;let r=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(e,t),a=this._context.viewModel.getLineMinColumn(n);return r<a&&(r=a),new N.y(n,r)}_getViewLineDomNode(e){for(;e&&1===e.nodeType;){if(e.className===eL.Gb.CLASS_NAME)return e;e=e.parentElement}return null}_getLineNumberFor(e){let t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let n=t;n<=i;n++)if(e===this._visibleLines.getVisibleLine(n).getDomNode())return n;return -1}getLineWidth(e){let t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();if(e<t||e>i)return -1;let n=new ew(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getWidth(n);return this._updateLineWidthsSlowIfDomDidLayout(n),o}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;let i=e.endLineNumber,n=ee.Q.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!n)return null;let o=[],s=0,r=new ew(this.domNode.domNode,this._textRangeRestingSpot),a=0;t&&(a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new N.y(n.startLineNumber,1)).lineNumber);let d=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber();for(let e=n.startLineNumber;e<=n.endLineNumber;e++){if(e<d||e>l)continue;let h=e===n.startLineNumber?n.startColumn:1,u=e!==n.endLineNumber,g=u?this._context.viewModel.getLineMaxColumn(e):n.endColumn,c=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,h,g,r);c&&(t&&e<i&&a!==(a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new N.y(e+1,1)).lineNumber)&&(c.ranges[c.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth),o[s++]=new L.BG(c.outsideRenderedLine,e,L.Y.from(c.ranges),u))}return(this._updateLineWidthsSlowIfDomDidLayout(r),0===s)?null:o}_visibleRangesForLineRange(e,t,i){if(this.shouldRender()||e<this._visibleLines.getStartLineNumber()||e>this._visibleLines.getEndLineNumber())return null;let n=new ew(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,n);return this._updateLineWidthsSlowIfDomDidLayout(n),o}visibleRangeForPosition(e){let t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new L.qN(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){!e.didDomLayout||this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow())}_updateLineWidths(e){let t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),n=1,o=!0;for(let s=t;s<=i;s++){let t=this._visibleLines.getVisibleLine(s);
1if(e&&!t.getWidthIsFast()){o=!1;continue}n=Math.max(n,t.getWidth(null))}return o&&1===t&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1,i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let o=i;o<=n;o++){let i=this._visibleLines.getVisibleLine(o);if(i.needsMonospaceFontCheck()){let n=i.getWidth(null);n>t&&(t=n,e=o)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=i;e<=n;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw Error("Not supported")}render(){throw Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){let t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();let e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),D.j9&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)if(this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");let t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){let t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(e,t,i,n,o,s){let r,a,d,l,h=e.top,u=e.height,g=h+u;if(o&&o.length>0){let e=o[0].startLineNumber,t=o[0].endLineNumber;for(let i=1,n=o.length;i<n;i++){let n=o[i];e=Math.min(e,n.startLineNumber),t=Math.max(t,n.endLineNumber)}r=!1,a=this._context.viewLayout.getVerticalOffsetForLineNumber(e),d=this._context.viewLayout.getVerticalOffsetForLineNumber(t)+this._lineHeight}else{if(!n)return -1;r=!0,a=this._context.viewLayout.getVerticalOffsetForLineNumber(n.startLineNumber),d=this._context.viewLayout.getVerticalOffsetForLineNumber(n.endLineNumber)+this._lineHeight}let c=("mouse"===t||i)&&"default"===this._cursorSurroundingLinesStyle,m=0,_=0;if(c)i||(m=this._lineHeight);else{let e=Math.min(u/this._lineHeight/2,this._cursorSurroundingLines);m=this._stickyScrollEnabled?Math.max(e,this._maxNumberStickyLines)*this._lineHeight:e*this._lineHeight,_=Math.max(0,e-1)*this._lineHeight}if(i||0!==s&&4!==s||(_+=this._lineHeight),a-=m,(d+=_)-a>u){if(!r)return -1;l=a}else if(5===s||6===s)if(6===s&&h<=a&&d<=g)l=h;else{let e=a-Math.max(5*this._lineHeight,.2*u);l=Math.max(d-u,e)}else l=1===s||2===s?2===s&&h<=a&&d<=g?h:Math.max(0,(a+d)/2-u/2):this._computeMinimumScrolling(h,g,a,d,3===s,4===s);return l}_computeScrollLeftToReveal(e){let t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(145),n=t.left,o=n+t.width-i.verticalScrollbarWidth,s=0x40000000,r=0;if("range"===e.type){let t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(let e of t.ranges)s=Math.min(s,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(let t of e.selections){if(t.startLineNumber!==t.endLineNumber)return null;let e=this._visibleRangesForLineRange(t.startLineNumber,t.startColumn,t.endColumn);if(!e)return null;for(let t of e.ranges)s=Math.min(s,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}return(e.minimalReveal||(s=Math.max(0,s-eS.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-s>t.width)?null:{scrollLeft:this._computeMinimumScrolling(n,o,s,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,i,n,o,s){e|=0,t|=0,i|=0,n|=0,o=!!o,s=!!s;let r=t-e;return!(n-i<r)||o?i:s?Math.max(0,n-r):i<e?i:n>t?Math.max(0,n-r):e}}eS.HORIZONTAL_EXTRA_PX=30;class eM extends ed{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(145);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options.get(145);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var t,i;let n=e.getDecorationsInViewport(),o=[],s=0;for(let e=0,r=n.length;e<r;e++){let r=n[e],a=r.options.linesDecorationsClassName,d=r.options.zIndex;a&&(o[s++]=new es(r.range.startLineNumber,r.range.endLineNumber,a,null!=(t=r.options.linesDecorationsTooltip)?t:null,d));let l=r.options.firstLineDecorationClassName;l&&(o[s++]=new es(r.range.startLineNumber,r.range.startLineNumber,l,null!=(i=r.options.linesDecorationsTooltip)?i:null,d))}return o}prepareRender(e){let t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=this._render(t,i,this._getDecorations(e)),o='" style="left:'+this._decorationsLeft.toString()+"px;width:"+this._decorationsWidth.toString()+'px;"></div>',s=[];for(let e=t;e<=i;e++){let i=e-t,r=n[i].getDecorations(),a="";for(let e of r){let t='<div class="cldr '+e.className;null!==e.tooltip&&(t+='" title="'+e.tooltip),t+=o,a+=t}s[i]=a}this._renderResult=s}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}var eR=i(91523);class ex extends ed{constructor(e){super(),this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),i=[],n=0;for(let e=0,o=t.length;e<o;e++){let o=t[e],s=o.options.marginClassName,r=o.options.zIndex;s&&(i[n++]=new es(o.range.startLineNumber,o.range.endLineNumber,s,null,r))}return i}prepareRender(e){let t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=this._render(t,i,this._getDecorations(e)),o=[];for(let e=t;e<=i;e++){let i=e-t,s=n[i].getDecorations(),r="";for(let e of s)r+='<div class="cmdr '+e.className+'" style=""></div>';o[i]=r}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}var eI=i(78344),eT=i(16004),eE=i(69748),eW=i(2764),eA=i(89183),eO=i(7792),eP=i(99071),eH=i(89874);let eV=(()=>{let e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})();var eF=i(59600);class ek{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=ek.soften(e,.8),this.charDataLight=ek.soften(e,50/60)}static soften(e,t){let i=new Uint8ClampedArray(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=(0,eF.W)(e[n]*t);return i}renderChar(e,t,i,n,o,s,r,a,d,l,h){var u,g;let c=+this.scale,m=2*this.scale,_=h?1:m;if(t+c>e.width||i+_>e.height)return void console.warn("bad render request outside image data");let p=l?this.charDataLight:this.charDataNormal,f=(u=n,g=d,(u-=32)<0||u>96?g<=2?(u+96)%96:95:u),v=4*e.width,C=r.r,b=r.g,w=r.b,L=o.r-C,y=o.g-b,N=o.b-w,D=Math.max(s,a),S=e.data,M=f*c*m,R=i*v+4*t;
1for(let e=0;e<_;e++){let e=R;for(let t=0;t<c;t++){let t=p[M++]/255*(s/255);S[e++]=C+L*t,S[e++]=b+y*t,S[e++]=w+N*t,S[e++]=D}R+=v}}blockRenderChar(e,t,i,n,o,s,r,a){let d=+this.scale,l=2*this.scale,h=a?1:l;if(t+d>e.width||i+h>e.height)return void console.warn("bad render request outside image data");let u=4*e.width,g=o/255*.5,c=s.r,m=s.g,_=s.b,p=n.r-c,f=n.g-m,v=n.b-_,C=c+p*g,b=m+f*g,w=_+v*g,L=Math.max(o,r),y=e.data,N=i*u+4*t;for(let e=0;e<h;e++){let e=N;for(let t=0;t<d;t++)y[e++]=C,y[e++]=b,y[e++]=w,y[e++]=L;N+=u}}}var eB=i(74873);let ez={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},eU=e=>{let t=new Uint8ClampedArray(e.length/2);for(let i=0;i<e.length;i+=2)t[i>>1]=ez[e[i]]<<4|15&ez[e[i+1]];return t},eG={1:(0,eB.P)(()=>eU("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,eB.P)(()=>eU("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class eZ{static create(e,t){let i;return this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily?this.lastCreated:(i=eG[e]?new ek(eG[e](),e):eZ.createFromSampleData(eZ.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i)}static createSampleData(e){let t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let n=0;for(let e of eV)i.fillText(String.fromCharCode(e),n,8),n+=10;return i.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw Error("Unexpected source in MinimapCharRenderer");return new ek(eZ._downsample(e,t),t)}static _downsampleChar(e,t,i,n,o){let s=+o,r=2*o,a=n,d=0;for(let n=0;n<r;n++){let o=n/r*16,l=(n+1)/r*16;for(let n=0;n<s;n++){let r=n/s*10,h=(n+1)/s*10,u=0,g=0;for(let i=o;i<l;i++){let n=t+3840*Math.floor(i),o=1-(i-Math.floor(i));for(let t=r;t<h;t++){let i=1-(t-Math.floor(t)),s=n+4*Math.floor(t),r=i*o;g+=r,u+=e[s]*e[s+3]/255*r}}let c=u/g;d=Math.max(d,c),i[a++]=(0,eF.W)(c)}}return d}static _downsample(e,t){let i=2*t*1*t,n=96*i,o=new Uint8ClampedArray(n),s=0,r=0,a=0;for(let n=0;n<96;n++)a=Math.max(a,this._downsampleChar(e,r,o,s,t)),s+=i,r+=40;if(a>0){let e=255/a;for(let t=0;t<n;t++)o[t]*=e}return o}}var ej=i(72320),e$=i(35147);class eQ{constructor(e,t,i){const n=e.options,o=n.get(143),s=n.get(145),r=s.minimap,a=n.get(50),d=n.get(73);this.renderMinimap=r.renderMinimap,this.size=d.size,this.minimapHeightIsEditorHeight=r.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=n.get(105),this.paddingTop=n.get(84).top,this.paddingBottom=n.get(84).bottom,this.showSlider=d.showSlider,this.autohide=d.autohide,this.pixelRatio=o,this.typicalHalfwidthCharacterWidth=a.typicalHalfwidthCharacterWidth,this.lineHeight=n.get(67),this.minimapLeft=r.minimapLeft,this.minimapWidth=r.minimapWidth,this.minimapHeight=s.height,this.canvasInnerWidth=r.minimapCanvasInnerWidth,this.canvasInnerHeight=r.minimapCanvasInnerHeight,this.canvasOuterWidth=r.minimapCanvasOuterWidth,this.canvasOuterHeight=r.minimapCanvasOuterHeight,this.isSampling=r.minimapIsSampling,this.editorHeight=s.height,this.fontScale=r.minimapScale,this.minimapLineHeight=r.minimapLineHeight,this.minimapCharWidth=+this.fontScale,this.sectionHeaderFontFamily=e$.z,this.sectionHeaderFontSize=d.sectionHeaderFontSize*o,this.sectionHeaderLetterSpacing=d.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=eQ._getSectionHeaderColor(t,i.getColor(1)),this.charRenderer=(0,eB.P)(()=>
1eZ.create(this.fontScale,a.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=eQ._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=eQ._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){let i=e.getColor(eP.ILr);return i?new eW.D(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){let t=e.getColor(eP.K1Z);return t?eW.D._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){let i=e.getColor(eP.By2);return i?new eW.D(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class eq{constructor(e,t,i,n,o,s,r,a,d){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=n,this.sliderTop=o,this.sliderHeight=s,this.topPaddingLineCount=r,this.startLineNumber=a,this.endLineNumber=d}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){let t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,n,o,s,r,a,d,l,h){let u,g,c=e.pixelRatio,m=e.minimapLineHeight,_=Math.floor(e.canvasInnerHeight/m),p=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=a*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,o-e.lineHeight-e.paddingBottom));let i=Math.max(1,Math.floor(o*o/t)),n=Math.max(0,e.minimapHeight-i),s=n/(l-o),h=Math.floor(e.canvasInnerHeight/e.minimapLineHeight);return new eq(d,l,n>0,s,d*s,i,Math.floor(e.paddingTop/e.lineHeight),1,Math.min(r,h))}u=s&&i!==r?Math.floor((i-t+1)*m/c):Math.floor(o/p*m/c);let f=Math.floor(e.paddingTop/p),v=Math.floor(e.paddingBottom/p);e.scrollBeyondLastLine&&(v=Math.max(v,o/p-1)),g=v>0?(f+r+v-o/p-1)*m/c:Math.max(0,(f+r)*m/c-u);let C=(g=Math.min(e.minimapHeight-u,g))/(l-o),b=d*C;if(_>=f+r+v)return new eq(d,l,g>0,C,b,u,f,1,r);{let i,o,s=Math.max(1,Math.floor((t>1?t+f:Math.max(1,d/p))-b*c/m));s<f?(i=f-s+1,s=1):(i=0,s=Math.max(1,s-f)),h&&h.scrollHeight===l&&(h.scrollTop>d&&(s=Math.min(s,h.startLineNumber),i=Math.max(i,h.topPaddingLineCount)),h.scrollTop<d&&(s=Math.max(s,h.startLineNumber),i=Math.min(i,h.topPaddingLineCount)));let a=Math.min(r,s-i+_-1),g=(d-n)/p;return o=d>=e.paddingTop?(t-s+i+g)*m/c:d/e.paddingTop*(i+g)*m/c,new eq(d,l,!0,C,o,u,i,s,a)}}}class eK{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}eK.INVALID=new eK(-1);class eY{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLine
1s=new x(()=>eK.INVALID),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;let t=this._renderedLines._get().lines;for(let e=0,i=t.length;e<i;e++)if(-1===t[e].dy)return!1;return!0}scrollEquals(e){return this.renderedLayout.startLineNumber===e.startLineNumber&&this.renderedLayout.endLineNumber===e.endLineNumber}_get(){let e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}}onLinesChanged(e,t){return this._renderedLines.onLinesChanged(e,t)}onLinesDeleted(e,t){this._renderedLines.onLinesDeleted(e,t)}onLinesInserted(e,t){this._renderedLines.onLinesInserted(e,t)}onTokensChanged(e){return this._renderedLines.onTokensChanged(e)}}class eX{constructor(e,t,i,n){this._backgroundFillData=eX._createBackgroundFillData(t,i,n),this._buffers=[e.createImageData(t,i),e.createImageData(t,i)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;let e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e}static _createBackgroundFillData(e,t,i){let n=i.r,o=i.g,s=i.b,r=i.a,a=new Uint8ClampedArray(e*t*4),d=0;for(let i=0;i<t;i++)for(let t=0;t<e;t++)a[d]=n,a[d+1]=o,a[d+2]=s,a[d+3]=r,d+=4;return a}}class eJ{static compute(e,t,i){if(0===e.renderMinimap||!e.isSampling)return[null,[]];let{minimapLineCount:n}=eE.xZ.computeContainedMinimapLineCount({viewLineCount:t,scrollBeyondLastLine:e.scrollBeyondLastLine,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:e.editorHeight,lineHeight:e.lineHeight,pixelRatio:e.pixelRatio}),o=t/n,s=o/2;if(!i||0===i.minimapLines.length){let e=[];
1if(e[0]=1,n>1){for(let t=0,i=n-1;t<i;t++)e[t]=Math.round(t*o+s);e[n-1]=t}return[new eJ(o,e),[]]}let r=i.minimapLines,a=r.length,d=[],l=0,h=0,u=1,g=[],c=null;for(let e=0;e<n;e++){let i,m=Math.max(u,Math.round(e*o)),_=Math.max(m,Math.round((e+1)*o));for(;l<a&&r[l]<m;){if(g.length<10){let e=l+1+h;c&&"deleted"===c.type&&c._oldIndex===l-1?c.deleteToLineNumber++:(c={type:"deleted",_oldIndex:l,deleteFromLineNumber:e,deleteToLineNumber:e},g.push(c)),h--}l++}if(l<a&&r[l]<=_)i=r[l],l++;else if(i=0===e?1:e+1===n?t:Math.round(e*o+s),g.length<10){let t=l+1+h;c&&"inserted"===c.type&&c._i===e-1?c.insertToLineNumber++:(c={type:"inserted",_i:e,insertFromLineNumber:t,insertToLineNumber:t},g.push(c)),h++}d[e]=i,u=i}if(g.length<10)for(;l<a;){let e=l+1+h;c&&"deleted"===c.type&&c._oldIndex===l-1?c.deleteToLineNumber++:(c={type:"deleted",_oldIndex:l,deleteFromLineNumber:e,deleteToLineNumber:e},g.push(c)),h--,l++}else g=[{type:"flush"}];return[new eJ(o,d),g]}constructor(e,t){this.samplingRatio=e,this.minimapLines=t}modelLineToMinimapLine(e){return Math.min(this.minimapLines.length,Math.max(1,Math.round(e/this.samplingRatio)))}modelLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e)-1;for(;i>0&&this.minimapLines[i-1]>=e;)i--;let n=this.modelLineToMinimapLine(t)-1;for(;n+1<this.minimapLines.length&&this.minimapLines[n+1]<=t;)n++;if(i===n){let n=this.minimapLines[i];if(n<e||n>t)return null}return[i+1,n+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),n=this.modelLineToMinimapLine(t);return e!==t&&n===i&&(n===this.minimapLines.length?i>1&&i--:n++),[i,n]}onLinesDeleted(e){let t=e.toLineNumber-e.fromLineNumber+1,i=this.minimapLines.length,n=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]<e.fromLineNumber);o--)this.minimapLines[o]<=e.toLineNumber?(this.minimapLines[o]=Math.max(1,e.fromLineNumber-1),i=Math.min(i,o),n=Math.max(n,o)):this.minimapLines[o]-=t;return[i,n]}onLinesInserted(e){let t=e.toLineNumber-e.fromLineNumber+1;for(let i=this.minimapLines.length-1;i>=0&&!(this.minimapLines[i]<e.fromLineNumber);i--)this.minimapLines[i]+=t}}class e0 extends E.p{constructor(e){super(e),this._sectionHeaderCache=new ej.qK(10,1.5),this.tokensColorTracker=eA.v.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new eQ(this._context.configuration,this._context.theme,this.tokensColorTracker);const[t]=eJ.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=t,this._shouldCheckSampling=!1,this._actual=new e1(e.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){let e=new eQ(this._context.configuration,this._context.theme,this.tokensColorTracker);return!this.options.equals(e)&&(this.options=e,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){return this._selections=e.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(e){return!!e.affectsMinimap&&this._actual.onDecorationsChanged()}onFlushed(e){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(e){if(!this._samplingState)return this._actual.onLinesChanged(e.fromLineNumber,e.count);{let t=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.fromLineNumber+e.count-1);return!!t&&this._actual.onLinesChanged(t[0],t[1]-t[0]+1)}}onLinesDeleted(e){if(!this._samplingState)return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber);{let[t,i]=this._samplingState.onLinesDeleted(e);return t<=i&&this._actual.onLinesChanged(t+1,i-t+1),this._shouldCheckSampling=!0,!0}}onLinesInserted(e){return this._samplingState?(this._samplingState.onLinesInserted(e),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(e){if(!this._samplingState)return this._actual.onTokensChanged(e.ranges);{let t=[];for(let i of e.ranges){let e=this._samplingState.modelLineRangeToMinimapLineRange(i.fromLineNumber,i.toLineNumber);e&&t.push({fromLineNumber:e[0],toLineNumber:e[1]})}return!!t.length&&this._actual.onTokensChanged(t)}}onTokensColorsChanged(e){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(e){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(e){let t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber;this._samplingState&&(t=this._samplingState.modelLineToMinimapLine(t),i=this._samplingState.modelLineToMinimapLine(i));
1let n={viewportContainsWhitespaceGaps:e.viewportData.whitespaceViewportData.length>0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(n)}_recreateLineSampling(){this._minimapSelections=null;let e=!!this._samplingState,[t,i]=eJ.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(let e of i)switch(e.type){case"deleted":this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(e.insertFromLineNumber,e.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){let n=[];for(let o=0,s=t-e+1;o<s;o++)i[o]?n[o]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[e+o-1]):n[o]=null;return n}return this._context.viewModel.getMinimapLinesRenderingData(e,t,i).data}getSelections(){if(null===this._minimapSelections)if(this._samplingState)for(let e of(this._minimapSelections=[],this._selections)){let[t,i]=this._samplingState.decorationLineRangeToMinimapLineRange(e.startLineNumber,e.endLineNumber);this._minimapSelections.push(new q.L(t,e.startColumn,i,e.endColumn))}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(e,t){let i=this._getMinimapDecorationsInViewport(e,t).filter(e=>{var t;return!(null==(t=e.options.minimap)?void 0:t.sectionHeaderStyle)});if(this._samplingState){let e=[];for(let t of i){if(!t.options.minimap)continue;let i=t.range,n=this._samplingState.modelLineToMinimapLine(i.startLineNumber),o=this._samplingState.modelLineToMinimapLine(i.endLineNumber);e.push(new eO.vo(new ee.Q(n,i.startColumn,o,i.endColumn),t.options))}return e}return i}getSectionHeaderDecorationsInViewport(e,t){let i=this.options.minimapLineHeight,n=this.options.sectionHeaderFontSize;return e=Math.floor(Math.max(1,e-n/i)),this._getMinimapDecorationsInViewport(e,t).filter(e=>{var t;return!!(null==(t=e.options.minimap)?void 0:t.sectionHeaderStyle)})}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){let n=this._samplingState.minimapLines[e-1],o=this._samplingState.minimapLines[t-1];i=new ee.Q(n,1,o,this._context.viewModel.getLineMaxColumn(o))}else i=new ee.Q(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){var i;let n=null==(i=e.options.minimap)?void 0:i.sectionHeaderText;if(!n)return null;let o=this._sectionHeaderCache.get(n);if(o)return o;let s=t(n);return this._sectionHeaderCache.set(n,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new ee.Q(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class e1 extends h.jG{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(eP.yr0),this._domNode=(0,f.Z)(document.createElement("div")),E.L.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNo
1de.setAttribute("aria-hidden","true"),this._shadow=(0,f.Z)(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=(0,f.Z)(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,f.Z)(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,f.Z)(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,f.Z)(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=a.b2(this._domNode.domNode,a.Bx.POINTER_DOWN,e=>{if(e.preventDefault(),0===this._model.options.renderMinimap||!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){let t=a.BK(this._slider.domNode),i=t.top+t.height/2;this._startSliderDragging(e,i,this._lastRenderData.renderedLayout)}return}let t=this._model.options.minimapLineHeight,i=Math.floor(this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;i=Math.min(i,this._model.getLineCount()),this._model.revealLineNumber(i)}),this._sliderPointerMoveMonitor=new eI._,this._sliderPointerDownListener=a.b2(this._slider.domNode,a.Bx.POINTER_DOWN,e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=eH.q.addTarget(this._domNode.domNode),this._sliderTouchStartListener=a.ko(this._domNo
1de.domNode,eH.B.Start,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))},{passive:!1}),this._sliderTouchMoveListener=a.ko(this._domNode.domNode,eH.B.Change,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)},{passive:!1}),this._sliderTouchEndListener=a.b2(this._domNode.domNode,eH.B.End,e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!e.target||!(e.target instanceof Element))return;let n=e.pageX;this._slider.toggleClassName("active",!0);let o=(e,o)=>{let s=a.BK(this._domNode.domNode),r=Math.min(Math.abs(o-n),Math.abs(o-s.left),Math.abs(o-s.left-s.width));D.uF&&r>140?this._model.setScrollTop(i.scrollTop):this._model.setScrollTop(i.getDesiredScrollTopFromDelta(e-t))};e.pageY!==t&&o(e.pageY,n),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>o(e.pageY,e.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){let t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){let e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return!this._buffers&&this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new eX(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){var i;return null==(i=this._lastRenderData)||i.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var i;return null==(i=this._lastRenderData)||i.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(eP.yr0),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");let t=eq.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHe
1ight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;let t=this._model.getSelections();t.sort(ee.Q.compareRangesUsingStarts);let i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0));let{canvasInnerWidth:n,canvasInnerHeight:o}=this._model.options,s=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,a=this._model.getOptions().tabSize,d=this._decorationsCanvas.domNode.getContext("2d");d.clearRect(0,0,n,o);let l=new e3(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(d,t,l,e,s),this._renderDecorationsLineHighlights(d,i,l,e,s);let h=new e3(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(d,t,h,e,s,a,r,n),this._renderDecorationsHighlights(d,i,h,e,s,a,r,n),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,n,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let s=0,r=0;for(let a of t){let t=n.intersectWithViewport(a);if(!t)continue;let[d,l]=t;for(let e=d;e<=l;e++)i.set(e,!0);let h=n.getYForLineNumber(d,o),u=n.getYForLineNumber(l,o);r>=h||(r>s&&e.fillRect(eE.xq,s,e.canvas.width,r-s),s=h),r=u}r>s&&e.fillRect(eE.xq,s,e.canvas.width,r-s)}_renderDecorationsLineHighlights(e,t,i,n,o){let s=new Map;for(let r=t.length-1;r>=0;r--){let a=t[r],d=a.options.minimap;if(!d||1!==d.position)continue;let l=n.intersectWithViewport(a.range);if(!l)continue;let[h,u]=l,g=d.getColor(this._theme.value);if(!g||g.isTransparent())continue;let c=s.get(g.toString());c||(c=g.transparent(.5).toString(),s.set(g.toString(),c)),e.fillStyle=c;for(let t=h;t<=u;t++){if(i.has(t))continue;i.set(t,!0);let s=n.getYForLineNumber(h,o);e.fillRect(eE.xq,s,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,i,n,o,s,r,a){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(let d of t){let t=n.intersectWithViewport(d);if(!t)continue;let[l,h]=t;for(let t=l;t<=h;t++)this.renderDecorationOnLine(e,i,d,this._selectionColor,n,t,o,o,s,r,a)}}_renderDecorationsHighlights(e,t,i,n,o,s,r,a){for(let d of t){let t=d.options.minimap;if(!t)continue;let l=n.intersectWithViewport(d.range);if(!l)continue;let[h,u]=l,g=t.getColor(this._theme.value);if(!(!g||g.isTransparent()))for(let l=h;l<=u;l++)switch(t.position){case 1:this.renderDecorationOnLine(e,i,d.range,g,n,l,o,o,s,r,a);continue;case 2:{let t=n.getYForLineNumber(l,o);this.renderDecoration(e,g,2,t,2,o);continue}}}}renderDecorationOnLine(e,t,i,n,o,s,r,a,d,l,h){let u=o.getYForLineNumber(s,a);if(u+r<0||u>this._model.options.canvasInnerHeight)return;let{startLineNumber:g,endLineNumber:c}=i,m=g===s?i.startColumn:1,_=c===s?i.endColumn:this._model.getLineMaxColumn(s),p=this.getXOffsetForPosition(t,s,m,d,l,h),f=this.getXOffsetForPosition(t,s,_,d,l,h);this.renderDecoration(e,n,p,u,f-p,r)}getXOffsetForPosition(e,t,i,n,o,s){if(1===i)return eE.xq;if((i-1)*o>=s)return s;let r=e.get(t);if(!r){let i=this._model.getLineContent(t);r=[eE.xq];let a=eE.xq;for(let e=1;e<i.length+1;e++){let t=i.charCodeAt(e-1),d=a+(9===t?n*o:eT.ne(t)?2*o:o);if(d>=s){r[e]=s;break}r[e]=d,a=d}e.set(t,r)}return i-1<r.length?r[i-1]:s}renderDecoration(e,t,i,n,o,s){e.fillStyle=t&&t.toString()||"",e.fillRect(i,n,o,s)}_renderSectionHeaders(e){var t;let i=this._model.options.minimapLineHeight,n=this._model.options.sectionHeaderFontSize,o=this._model.options.sectionHeaderLetterSpacing,s=1.5*n,{canvasInnerWidth:r}=this._model.options,a=this._model.options.backgroundColor,d=`rgb(${a.r} ${a.g} ${a.b} / .7)`,l=this._model.options.sectionHeaderFontColor,h=`rgb(${l.r} ${l.g} ${l.b})`,u=this._decorationsCanvas.domNode.getContext("2d");u.letterSpacing=o+"px",u.font="500 "+n+"px "+this._model.options.sectionHeaderFontFamily,u.strokeStyle=h,u.lineWidth=.2;let g=this._model.getSectionHeaderDecorationsInViewport(e.startLineNumber,e.endLineNumber);
1g.sort((e,t)=>e.range.startLineNumber-t.range.startLineNumber);let c=e1._fitSectionHeader.bind(null,u,r-eE.xq);for(let o of g){let a=e.getYForLineNumber(o.range.startLineNumber,i)+n,l=a-n,g=l+2,m=this._model.getSectionHeaderText(o,c);e1._renderSectionLabel(u,m,(null==(t=o.options.minimap)?void 0:t.sectionHeaderStyle)===2,d,h,r,l,s,a,g)}}static _fitSectionHeader(e,t,i){if(!i)return i;let n=e.measureText(i).width,o=e.measureText("…").width;if(n<=t||n<=o)return i;let s=i.length,r=Math.floor((t-o)/(n/i.length))-1,a=Math.ceil(r/2);for(;a>0&&/\s/.test(i[a-1]);)--a;return i.substring(0,a)+"…"+i.substring(s-(r-a))}static _renderSectionLabel(e,t,i,n,o,s,r,a,d,l){t&&(e.fillStyle=n,e.fillRect(0,r,s,a),e.fillStyle=o,e.fillText(t,eE.xq,d)),i&&(e.beginPath(),e.moveTo(0,l),e.lineTo(s,l),e.closePath(),e.stroke())}renderLines(e){let t=e.startLineNumber,i=e.endLineNumber,n=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){let t=this._lastRenderData._get();return new eY(e,t.imageData,t.lines)}let o=this._getBuffer();if(!o)return null;let[s,r,a]=e1._renderUntouchedLines(o,e.topPaddingLineCount,t,i,n,this._lastRenderData),d=this._model.getMinimapLinesRenderingData(t,i,a),l=this._model.getOptions().tabSize,h=this._model.options.defaultBackgroundColor,u=this._model.options.backgroundColor,g=this._model.options.foregroundAlpha,c=this._model.tokensColorTracker,m=c.backgroundIsLight(),_=this._model.options.renderMinimap,p=this._model.options.charRenderer(),f=this._model.options.fontScale,v=this._model.options.minimapCharWidth,C=(1===_?2:3)*f,b=n>C?Math.floor((n-C)/2):0,w=u.a/255,L=new eW.D(Math.round((u.r-h.r)*w+h.r),Math.round((u.g-h.g)*w+h.g),Math.round((u.b-h.b)*w+h.b),255),y=e.topPaddingLineCount*n,N=[];for(let e=0,s=i-t+1;e<s;e++)a[e]&&e1._renderLine(o,L,u.a,m,_,v,c,g,p,y,b,l,d[e],f,n),N[e]=new eK(y),y+=n;let D=-1===s?0:s,S=-1===r?o.height:r;return this._canvas.domNode.getContext("2d").putImageData(o,0,0,0,D,o.width,S-D),new eY(e,o,N)}static _renderUntouchedLines(e,t,i,n,o,s){let r=[];if(!s){for(let e=0,t=n-i+1;e<t;e++)r[e]=!0;return[-1,-1,r]}let a=s._get(),d=a.imageData.data,l=a.rendLineNumberStart,h=a.lines,u=h.length,g=e.width,c=e.data,m=(n-i+1)*o*g*4,_=-1,p=-1,f=-1,v=-1,C=-1,b=-1,w=t*o;for(let e=i;e<=n;e++){let t=e-i,n=e-l,s=n>=0&&n<u?h[n].dy:-1;if(-1===s){r[t]=!0,w+=o;continue}let a=s*g*4,L=(s+o)*g*4,y=w*g*4,N=(w+o)*g*4;v===a&&b===y?v=L:(-1!==f&&(c.set(d.subarray(f,v),C),-1===_&&0===f&&f===C&&(_=v),-1===p&&v===m&&f===C&&(p=f)),f=a,v=L,C=y),b=N,r[t]=!1,w+=o}return -1!==f&&(c.set(d.subarray(f,v),C),-1===_&&0===f&&f===C&&(_=v),-1===p&&v===m&&f===C&&(p=f)),[-1===_?-1:_/(4*g),-1===p?-1:p/(4*g),r]}static _renderLine(e,t,i,n,o,s,r,a,d,l,h,u,g,c,m){let _=g.content,p=g.tokens,f=e.width-s,v=1===m,C=eE.xq,b=0,w=0;for(let g=0,m=p.getCount();g<m;g++){let m=p.getEndOffset(g),L=p.getForeground(g),y=r.getColor(L);for(;b<m;b++){if(C>f)return;let r=_.charCodeAt(b);if(9===r){let e=u-(b+w)%u;w+=e-1,C+=e*s}else if(32===r)C+=s;else{let u=eT.ne(r)?2:1;for(let g=0;g<u;g++)if(2===o?d.blockRenderChar(e,C,l+h,y,a,t,i,v):d.renderChar(e,C,l+h,r,y,a,t,i,c,n,v),(C+=s)>f)return}}}}}class e3{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;e<t;e++)this._values[e]=i}has(e){return this.get(e)!==this._defaultValue}set(e,t){e<this._startLineNumber||e>this._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return e<this._startLineNumber||e>this._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class e2 extends E.p{constructor(e,t){super(e),this._viewDomNode=t;const i=this._context.configuration.options.get(145);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=(0,f.Z)(document.createElement("div")),E.L.write(this._domNode,4),this._domNo
1de.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=(0,f.Z)(document.createElement("div")),E.L.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options.get(145);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){let t=(0,f.Z)(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){let i=this._widgets[e.getId()],n=t?t.preference:null,o=null==t?void 0:t.stackOridinal;return i.preference===n&&i.stack===o?(this._updateMaxMinWidth(),!1):(i.preference=n,i.stack=o,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var e,t;let i=0,n=Object.keys(this._widgets);for(let o=0,s=n.length;o<s;o++){let s=n[o],r=null==(t=(e=this._widgets[s].widget).getMinContentWidthInPx)?void 0:t.call(e);void 0!==r&&(i=Math.max(i,r))}this._context.viewLayout.setOverlayWidgetsMinWidth(i)}_renderWidget(e,t){let i=e.domNode;if(null===e.preference)return void i.setTop("");let n=2*this._verticalScrollbarWidth+this._minimapWidth;if(0===e.preference||1===e.preference){if(1===e.preference){let e=i.domNode.clientHeight;i.setTop(this._editorHeight-e-2*this._horizontalScrollbarHeight)}else i.setTop(0);void 0!==e.stack?(i.setTop(t[e.preference]),t[e.preference]+=i.domNode.clientWidth):i.setRight(n)}else if(2===e.preference)i.domNode.style.right="50%",void 0!==e.stack?(i.setTop(t[2]),t[2]+=i.domNode.clientHeight):i.setTop(0);else{let{top:t,left:n}=e.preference;if(this._context.configuration.options.get(42)&&e.widget.allowEditorOverflow){let e=this._viewDomNodeRect;i.setTop(t+e.top),i.setLeft(n+e.left),i.setPosition("fixed")}else i.setTop(t),i.setLeft(n),i.setPosition("absolute")}}prepareRender(e){this._viewDomNodeRect=a.BK(this._viewDomNode.domNode)}render(e){this._domNode.setWidth(this._editorWidth);let t=Object.keys(this._widgets),i=Array.from({length:3},()=>0);t.sort((e,t)=>(this._widgets[e].stack||0)-(this._widgets[t].stack||0));for(let e=0,n=t.length;e<n;e++){let n=t[e];this._renderWidget(this._widgets[n],i)}}}var e5=i(5853),e6=i(94906);class e4{constructor(e,t){const i=e.options;this.lineHeight=i.get(67),this.pixelRatio=i.get(143),this.overviewRulerLanes=i.get(83),this.renderBorder=i.get(82);const n=t.getColor(j.x9);this.borderColor=n?n.toString():null,this.hideCursor=i.get(59);const o=t.getColor(j.D0);this.cursorColorSingle=o?o.transparent(.7).toString():null;const s=t.getColor(j.sC);this.cursorColorPrimary=s?s.transparent(.7).toString():null;const r=t.getColor(j.we);this.cursorColorSecondary=r?r.transparent(.7).toString():null,this.themeType=t.type;const a=i.get(73),d=a.enabled,l=a.side,h=t.getColor(j.Xr),u=e6.dG.getDefaultBackground();h?this.backgroundColor=h:d&&"right"===l?this.backgroundColor=u:this.backgroundColor=null;const g=i.get(145).overviewRuler;this.top=g.top,this.right=g.right,this.domWidth=g.width,this.domHeight=g.height,0===this.overviewRulerLanes?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[c,m]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=c,this.w=m}_initLanes(e,t,i){let n=t-e;if(i>=3){let t=Math.floor(n/3),i=Math.floor(n/3),o=n-t-i,s=e+t;return[[0,e,s,e,e+t+o,e,s,e],[0,t,o,t+o,i,t+o+i,o+i,t+o+i]]}if(2!==i)return[[0,e,e,e,e,e,e,e],[0,n,n,n,n,n,n,n]];{let t=Math.floor(n/2),i=n-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,i,t+i,t+i,t+i]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.curs
1orColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&e5.Q1.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class e9 extends E.p{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=(0,f.Z)(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=e6.dG.onDidChange(e=>{e.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new N.y(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){let t=new e4(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t<i;t++){let n=this._settings.cursorColorSingle;i>1&&(n=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:n})}return this._cursorPositions.sort((e,t)=>N.y.compare(e.position,t.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){let e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes){this._domNode.setBackgroundColor(e?e5.Q1.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}let t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(eO.Uv.compareByRenderingProps),1!==this._actualShouldRender||eO.Uv.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||(0,$.aI)(this._renderedCursorPositions,this._cursorPositions,(e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color)||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");let i=this._settings.canvasWidth,n=this._settings.canvasHeight,o=this._settings.lineHeight,s=this._context.viewLayout,r=n/this._context.viewLayout.getScrollHeight(),a=6*this._settings.pixelRatio|0,d=a/2|0,l=this._domNode.domNode.getContext("2d");e?(e.isOpaque()||l.clearRect(0,0,i,n),l.fillStyle=e5.Q1.Format.CSS.formatHexA(e),l.fillRect(0,0,i,n)):l.clearRect(0,0,i,n);let h=this._settings.x,u=this._settings.w;for(let e of t){let t=e.color,i=e.data;l.fillStyle=t;let g=0,c=0,m=0;for(let e=0,t=i.length/3;e<t;e++){let t=i[3*e],_=i[3*e+1],p=i[3*e+2],f=s.getVerticalOffsetForLineNumber(_)*r|0,v=(s.getVerticalOffsetForLineNumber(p)+o)*r|0;if(v-f<a){let e=(f+v)/2|0;e<d?e=d:e+d>n&&(e=n-d),f=e-d,v=e+d}f>m+1||t!==g?(0!==e&&l.fillRect(h[g],c,u[g],m-c),g=t,c=f,m=v):v>m&&(m=v)}l.fillRect(h[g],c,u[g],m-c)}if(!this._settings.hideCursor){let e=2*this._settings.pixelRatio|0,t=e/2|0,i=this._settings.x[7],o=this._settings.w[7],a=-100,d=-100,h=null;for(let u=0,g=this._cursorPositions.length;u<g;u++){let g=this._cursorPositions[u].color;if(!g)continue;let c=this._cursorPositions[u].position,m=s.getVerticalOffsetForLineNumber(c.lineNumber)*r|0;m<t?m=t:m+t>n&&(m=n-t);let _=m-t,p=_+e;_>d+1||g!==h?(0!==u&&h&&l.fillRect(i,a,o,d-a),a=_,d=p):p>d&&(d=p),h=g,l.fillStyle=g}h&&l.fillRect(i,a,o,d-a)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(l.beginPath(),l.lineWidth=1,l.strokeStyle=this._settings.borderColor,l.moveTo(0,0),l.lineTo(0,n),l.stroke(),l.moveTo(0,0),l.lineTo(i,0),l.stroke())}}var e7=i(74619),e8=i(9709);class te extends e8.i{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;
1this._domNode=(0,f.Z)(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new e7.rW(e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(143)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(143)&&(this._zoneManager.setPixelRatio(t.get(143)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,(t=this._zoneManager.setDOMHeight(e.height)||t)&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;let e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),o=this._domNo
1de.domNode.getContext("2d");return o.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(o,i,n,e),!0}_renderOneLane(e,t,i,n){let o=0,s=0,r=0;for(let a of t){let t=a.colorId,d=a.from,l=a.to;t!==o?(e.fillRect(0,s,n,r-s),e.fillStyle=i[o=t],s=d,r=l):r>=d?r=Math.max(r,l):(e.fillRect(0,s,n,r-s),s=d,r=l)}e.fillRect(0,s,n,r-s)}}class tt extends E.p{constructor(e){super(e),this.domNode=(0,f.Z)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){let e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e<t){let{tabSize:i}=this._context.viewModel.model.getOptions(),n=t-e;for(;n>0;){let e=(0,f.Z)(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(i),this.domNode.appendChild(e),this._renderedRulers.push(e),n--}return}let i=e-t;for(;i>0;){let e=this._renderedRulers.pop();this.domNode.removeChild(e),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t<i;t++){let i=this._renderedRulers[t],n=this._rulers[t];i.setBoxShadow(n.color?`1px 0 0 0 ${n.color} inset`:""),i.setHeight(Math.min(e.scrollHeight,1e6)),i.setLeft(n.column*this._typicalHalfwidthCharacterWidth)}}}class ti extends E.p{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const t=this._context.configuration.options.get(103);this._useShadows=t.useShadows,this._domNode=(0,f.Z)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){let e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){let e=this._context.configuration.options.get(145);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){let t=this._context.configuration.options.get(103);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class tn{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class to{constructor(e,t){this.lineNumber=e,this.ranges=t}}function ts(e){return new tn(e)}function tr(e){return new to(e.lineNumber,e.ranges.map(ts))}class ta extends Z.F{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t<i;t++)if(e[t].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){let n=this._typicalHalfwidthCharacterWidth/4,o=null,s=null;if(i&&i.length>0&&t.length>0){let n=t[0].lineNumber;if(n===e.startLineNumber)for(let e=0;!o&&e<i.length;e++)i[e].lineNumber===n&&(o=i[e].ranges[0]);let r=t[t.length-1].lineNumber;if(r===e.endLineNumber)for(let e=i.length-1;!s&&e>=0;e--)i[e].lineNumber===r&&(s=i[e].ranges[0]);o&&!o.startStyle&&(o=null),s&&!s.startStyle&&(s=null)}for(let e=0,i=t.length;e<i;
1e++){let r=t[e].ranges[0],a=r.left,d=r.left+r.width,l={top:0,bottom:0},h={top:0,bottom:0};if(e>0){let i=t[e-1].ranges[0].left,o=t[e-1].ranges[0].left+t[e-1].ranges[0].width;td(a-i)<n?l.top=2:a>i&&(l.top=1),td(d-o)<n?h.top=2:i<d&&d<o&&(h.top=1)}else o&&(l.top=o.startStyle.top,h.top=o.endStyle.top);if(e+1<i){let i=t[e+1].ranges[0].left,o=t[e+1].ranges[0].left+t[e+1].ranges[0].width;td(a-i)<n?l.bottom=2:i<a&&a<o&&(l.bottom=1),td(d-o)<n?h.bottom=2:d<o&&(h.bottom=1)}else s&&(l.bottom=s.startStyle.bottom,h.bottom=s.endStyle.bottom);r.startStyle=l,r.endStyle=h}}_getVisibleRangesWithStyle(e,t,i){let n=(t.linesVisibleRangesForRange(e,!0)||[]).map(tr);return!this._visibleRangesHaveGaps(n)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(t.visibleRange,n,i),n}_createSelectionPiece(e,t,i,n,o){return'<div class="cslr '+i+'" style="top:'+e.toString()+"px;bottom:"+t.toString()+"px;left:"+n.toString()+"px;width:"+o.toString()+'px;"></div>'}_actualRenderOneSelection(e,t,i,n){if(0===n.length)return;let o=!!n[0].ranges[0].startStyle,s=n[0].lineNumber,r=n[n.length-1].lineNumber;for(let a=0,d=n.length;a<d;a++){let d=n[a],l=d.lineNumber,h=l-t,u=i?+(l===s):0,g=i?+(l!==s&&l===r):0,c="",m="";for(let e=0,t=d.ranges.length;e<t;e++){let t=d.ranges[e];if(o){let e=t.startStyle,i=t.endStyle;if(1===e.top||1===e.bottom){c+=this._createSelectionPiece(u,g,ta.SELECTION_CLASS_NAME,t.left-ta.ROUNDED_PIECE_WIDTH,ta.ROUNDED_PIECE_WIDTH);let i=ta.EDITOR_BACKGROUND_CLASS_NAME;1===e.top&&(i+=" "+ta.SELECTION_TOP_RIGHT),1===e.bottom&&(i+=" "+ta.SELECTION_BOTTOM_RIGHT),c+=this._createSelectionPiece(u,g,i,t.left-ta.ROUNDED_PIECE_WIDTH,ta.ROUNDED_PIECE_WIDTH)}if(1===i.top||1===i.bottom){c+=this._createSelectionPiece(u,g,ta.SELECTION_CLASS_NAME,t.left+t.width,ta.ROUNDED_PIECE_WIDTH);let e=ta.EDITOR_BACKGROUND_CLASS_NAME;1===i.top&&(e+=" "+ta.SELECTION_TOP_LEFT),1===i.bottom&&(e+=" "+ta.SELECTION_BOTTOM_LEFT),c+=this._createSelectionPiece(u,g,e,t.left+t.width,ta.ROUNDED_PIECE_WIDTH)}}let i=ta.SELECTION_CLASS_NAME;if(o){let e=t.startStyle,n=t.endStyle;0===e.top&&(i+=" "+ta.SELECTION_TOP_LEFT),0===e.bottom&&(i+=" "+ta.SELECTION_BOTTOM_LEFT),0===n.top&&(i+=" "+ta.SELECTION_TOP_RIGHT),0===n.bottom&&(i+=" "+ta.SELECTION_BOTTOM_RIGHT)}m+=this._createSelectionPiece(u,g,i,t.left,t.width)}e[h][0]+=c,e[h][1]+=m}}prepareRender(e){let t=[],i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber;for(let e=i;e<=n;e++)t[e-i]=["",""];let o=[];for(let n=0,s=this._selections.length;n<s;n++){let s=this._selections[n];if(s.isEmpty()){o[n]=null;continue}let r=this._getVisibleRangesWithStyle(s,e,this._previousFrameVisibleRangesWithStyle[n]);o[n]=r,this._actualRenderOneSelection(t,i,this._selections.length>1,r)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map(([e,t])=>e+t)}render(e,t){if(!this._renderResult)return"";let i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function td(e){return e<0?-e:e}ta.SELECTION_CLASS_NAME="selected-text",ta.SELECTION_TOP_LEFT="top-left-radius",ta.SELECTION_BOTTOM_LEFT="bottom-left-radius",ta.SELECTION_TOP_RIGHT="top-right-radius",ta.SELECTION_BOTTOM_RIGHT="bottom-right-radius",ta.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",ta.ROUNDED_PIECE_WIDTH=10,(0,Q.zy)((e,t)=>{let i=e.getColor(eP.rm4);i&&!i.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${i}; }`)});class tl{constructor(e,t,i,n,o,s,r){this.top=e,this.left=t,this.paddingLeft=i,this.width=n,this.height=o,this.textContent=s,this.textContentClassName=r}}(n=s||(s={}))[n.Single=0]="Single",n[n.MultiPrimary=1]="MultiPrimary",n[n.MultiSecondary=2]="MultiSecondary";class th{constructor(e,t){this._context=e;const i=this._context.configuration.options,n=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,f.Z)(document.createElement("div")),this._domNode.setClassName(`cursor ${eC.S}
1`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),(0,g.M)(this._domNode,n),this._domNode.setDisplay("none"),this._position=new N.y(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case s.Single:this._pluralityClass="";break;case s.MultiPrimary:this._pluralityClass="cursor-primary";break;case s.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){let t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),(0,g.M)(this._domNode,i),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){let{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[n,o]=eT.m(i,t-1);return[new N.y(e,n+1),i.substring(n,o)]}_prepareRender(e){let t="",i="",[n,o]=this._getGraphemeAwarePosition();if(this._cursorStyle===eE.m9.Line||this._cursorStyle===eE.m9.LineThin){let s,r=e.visibleRangeForPosition(n);if(!r||r.outsideRenderedLine)return null;
1let d=a.zk(this._domNode.domNode);this._cursorStyle===eE.m9.Line?(s=a.vT(d,this._lineCursorWidth>0?this._lineCursorWidth:2))>2&&(t=o,i=this._getTokenClassName(n)):s=a.vT(d,1);let l=r.left,h=0;return s>=2&&l>=1&&(l-=h=1),new tl(e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,l,h,s,this._lineHeight,t,i)}let s=e.linesVisibleRangesForRange(new ee.Q(n.lineNumber,n.column,n.lineNumber,n.column+o.length),!1);if(!s||0===s.length)return null;let r=s[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;let d=r.ranges[0],l="	"===o||d.width<1?this._typicalHalfwidthCharacterWidth:d.width;this._cursorStyle===eE.m9.Block&&(t=o,i=this._getTokenClassName(n));let h=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,u=this._lineHeight;return(this._cursorStyle===eE.m9.Underline||this._cursorStyle===eE.m9.UnderlineThin)&&(h+=this._lineHeight-2,u=2),new tl(h,d.left,0,l,u,t,i)}_getTokenClassName(e){let t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${eC.S} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}
1):(this._domNode.setDisplay("none"),null)}}class tu extends E.p{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new th(this._context,s.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,f.Z)(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 eb.pc,this._cursorFlatBlinkInterval=new a.Be,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){let t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,i=this._secondaryCursors.length;t<i;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0}_onCursorPositionChanged(e,t,i){let n=this._secondaryCursors.length!==t.length||"explicit"===this._cursorSmoothCaretAnimation&&3!==i;if(this._primaryCursor.setPlurality(t.length?s.MultiPrimary:s.Single),this._primaryCursor.onCursorPositionChanged(e,n),this._updateBlinking(),this._secondaryCursors.length<t.length){let e=t.length-this._secondaryCursors.length;for(let t=0;t<e;t++){let e=new th(this._context,s.MultiSecondary);this._domNode.domNode.insertBefore(e.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(e)}}else if(this._secondaryCursors.length>t.length){let e=this._secondaryCursors.length-t.length;for(let t=0;t<e;t++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let e=0;e<t.length;e++)this._secondaryCursors[e].onCursorPositionChanged(t[e],n)}onCursorStateChanged(e){let t=[];for(let i=0,n=e.selections.length;i<n;i++)t[i]=e.selections[i].getPosition();this._onCursorPositionChanged(t[0],t.slice(1),e.reason);let i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,this._updateDomClassName()),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onFocusChanged(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onTokensChanged(e){let t=t=>{for(let i=0,n=e.ranges.length;i<n;i++)if(e.ranges[i].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[i].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(let e of this._secondaryCursors)if(t(e.getPosition()))return!0;return!1}onZonesChanged(e){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();let e=this._getCursorBlinking(),t=0===e;t?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),t||5===e||(1===e?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()}
1,tu.BLINK_INTERVAL,(0,a.zk)(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},tu.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(!this._selectionIsEmpty&&(e+=" has-selection"),this._cursorStyle){case eE.m9.Line:e+=" cursor-line-style";break;case eE.m9.Block:e+=" cursor-block-style";break;case eE.m9.Underline:e+=" cursor-underline-style";break;case eE.m9.LineThin:e+=" cursor-line-thin-style";break;case eE.m9.BlockOutline:e+=" cursor-block-outline-style";break;case eE.m9.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return("on"===this._cursorSmoothCaretAnimation||"explicit"===this._cursorSmoothCaretAnimation)&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1}prepareRender(e){this._primaryCursor.prepareRender(e);for(let t=0,i=this._secondaryCursors.length;t<i;t++)this._secondaryCursors[t].prepareRender(e)}render(e){let t=[],i=0,n=this._primaryCursor.render(e);n&&(t[i++]=n);for(let n=0,o=this._secondaryCursors.length;n<o;n++){let o=this._secondaryCursors[n].render(e);o&&(t[i++]=o)}this._renderData=t}getLastRenderData(){return this._renderData}}tu.BLINK_INTERVAL=500,(0,Q.zy)((e,t)=>{for(let i of[{class:".cursor",foreground:j.D0,background:j.kM},{class:".cursor-primary",foreground:j.sC,background:j.je},{class:".cursor-secondary",foreground:j.we,background:j.L0}]){let n=e.getColor(i.foreground);if(n){let o=e.getColor(i.background);o||(o=n.opposite()),t.addRule(`.monaco-editor .cursors-layer ${i.class} { background-color: ${n}; border-color: ${n}; color: ${o}; }`),(0,K.Bb)(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${i.class} { border-left: 1px solid ${o}; border-right: 1px solid ${o}; }`)}}});let tg=()=>{throw Error("Invalid change accessor")};class tc extends E.p{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=(0,f.Z)(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,f.Z)(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(){let e=this._context.viewLayout.getWhitespaces(),t=new Map;for(let i of e)t.set(i.id,i);let i=!1;return this._context.viewModel.changeWhitespace(e=>{let n=Object.keys(this._zones);for(let o=0,s=n.length;o<s;o++){let s=n[o],r=this._zones[s],a=this._computeWhitespaceProps(r.delegate);r.isInHiddenArea=a.isInHiddenArea;let d=t.get(s);d&&(d.afterLineNumber!==a.afterViewLineNumber||d.height!==a.heightInPx)&&(e.changeOneWhitespace(s,a.afterViewLineNumber,a.heightInPx),this._safeCallOnComputedHeight(r.delegate,a.heightInPx),i=!0)}}),i}onConfigurationChanged(e){let t=this._context.configuration.options,i=t.get(145);return this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,e.hasChanged(67)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}onLinesInserted(e){return!0}_getZoneOrdinal(e){var t,i;return null!=(i=null!=(t=e.ordinal)?t:e.afterColumn)?i:1e4}_computeWhitespaceProps(e){let t,i;if(0===e.afterLineNumber)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};if(void 0!==e.afterColumn)t=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{let i=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new N.y(i,this._context.viewModel.model.getLineMaxColumn(i))}i=t.column===this._context.viewModel.model.getLineMaxColumn(t.lineNumber)?this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber+1,column:1}):this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber,column:t.column+1});let n=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t,e.afterColumnAffinity,!0),o=e.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(i);return{isInHiddenArea:!o,afterViewLineNumber:n.lineNumber,heightInPx:o?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}}changeViewZones(e){let t=!1;return this._context.viewModel.changeWhitespace(i=>{let n={addZone:e=>(t=!0,this._addZone(i,e)),removeZone:e=>{e&&(t=this._removeZone(i,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(i,e)||t)}};(function(e,t){try{e(t)}catch(e){(0,d.dz)(e)}})(e,n),n.addZone=tg,n.removeZone=tg,n.layoutZone=tg}),t}_addZone(e,t){let i=this._computeWhitespaceProps(t),n={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:(0,f.Z)(t.domNode),marginDomNode:t.marginDomNode?(0,f.Z)(t.marginDomNode):null};return this._safeCallOnComputedHeight(n.delegate,i.heightInPx),n.domNo
1de.setPosition("absolute"),n.domNode.domNode.style.width="100%",n.domNode.setDisplay("none"),n.domNode.setAttribute("monaco-view-zone",n.whitespaceId),this.domNode.appendChild(n.domNode),n.marginDomNode&&(n.marginDomNode.setPosition("absolute"),n.marginDomNode.domNode.style.width="100%",n.marginDomNode.setDisplay("none"),n.marginDomNode.setAttribute("monaco-view-zone",n.whitespaceId),this.marginDomNode.appendChild(n.marginDomNode)),this._zones[n.whitespaceId]=n,this.setShouldRender(),n.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){let i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.parentNode.removeChild(i.domNode.domNode),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.parentNode.removeChild(i.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){let i=this._zones[t],n=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=n.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,n.afterViewLineNumber,n.heightInPx),this._safeCallOnComputedHeight(i.delegate,n.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return!!this._zones.hasOwnProperty(e)&&!!this._zones[e].delegate.suppressMouseDown}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){(0,d.dz)(e)}}
1_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){(0,d.dz)(e)}}prepareRender(e){}render(e){let t=e.viewportData.whitespaceViewportData,i={},n=!1;for(let e of t)this._zones[e.id].isInHiddenArea||(i[e.id]=e,n=!0);let o=Object.keys(this._zones);for(let t=0,n=o.length;t<n;t++){let n=o[t],s=this._zones[n],r=0,a=0,d="none";i.hasOwnProperty(n)?(r=i[n].verticalOffset-e.bigNumbersDelta,a=i[n].height,d="block",s.isVisible||(s.domNode.setAttribute("monaco-visible-view-zone","true"),s.isVisible=!0),this._safeCallOnDomNodeTop(s.delegate,e.getScrolledTopFromAbsoluteTop(i[n].verticalOffset))):(s.isVisible&&(s.domNode.removeAttribute("monaco-visible-view-zone"),s.isVisible=!1),this._safeCallOnDomNodeTop(s.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),s.domNode.setTop(r),s.domNode.setHeight(a),s.domNode.setDisplay(d),s.marginDomNode&&(s.marginDomNode.setTop(r),s.marginDomNode.setHeight(a),s.marginDomNode.setDisplay(d))}n&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}var tm=i(63937);class t_ extends Z.F{constructor(e){super(),this._context=e,this._options=new tp(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=new tp(this._context.configuration);return this._options.equals(t)?e.hasChanged(145):(this._options=t,!0)}onCursorStateChanged(e){return this._selection=e.selections,"selection"===this._options.renderWhitespace}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}prepareRender(e){if("none"===this._options.renderWhitespace){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber-t+1,n=Array(i);for(let e=0;e<i;e++)n[e]=!0;let o=this._context.viewModel.getMinimapLinesRenderingData(e.viewportData.startLineNumber,e.viewportData.endLineNumber,n);this._renderResult=[];for(let t=e.viewportData.startLineNumber;t<=e.viewportData.endLineNumber;t++){let i=t-e.viewportData.startLineNumber,n=o.data[i],s=null;if("selection"===this._options.renderWhitespace)for(let e of this._selection){if(e.endLineNumber<t||e.startLineNumber>t)continue;let i=e.startLineNumber===t?e.startColumn:n.minColumn,o=e.endLineNumber===t?e.endColumn:n.maxColumn;i<o&&(s||(s=[]),s.push(new tm.MT(i-1,o-1)))}this._renderResult[i]=this._applyRenderWhitespace(e,t,s,n)}}_applyRenderWhitespace(e,t,i,n){let o;if("selection"===this._options.renderWhitespace&&!i||"trailing"===this._options.renderWhitespace&&n.continuesWithWrappedLine)return"";let s=this._context.theme.getColor(j.w4),r=this._options.renderWithSVG,a=n.content,d=-1===this._options.stopRenderingLineAfter?a.length:Math.min(this._options.stopRenderingLineAfter,a.length),l=n.continuesWithWrappedLine,h=n.minColumn-1,u="boundary"===this._options.renderWhitespace,g="trailing"===this._options.renderWhitespace,c=this._options.lineHeight,m=this._options.middotWidth,_=this._options.wsmiddotWidth,p=this._options.spaceWidth,f=Math.abs(_-p)<Math.abs(m-p)?11825:183,v=this._options.canUseHalfwidthRightwardsArrow,C="",b=!1,w=eT.HG(a);-1===w?(b=!0,w=d,o=d):o=eT.lT(a);let L=0,y=i&&i[L],D=0;for(let n=h;n<d;n++){let s=a.charCodeAt(n);if(y&&n>=y.endOffset&&(L++,y=i&&i[L]),9!==s&&32!==s||g&&!b&&n<=o)continue;if(u&&n>=w&&n<=o&&32===s){let e=n-1>=0?a.charCodeAt(n-1):0,t=n+1<d?a.charCodeAt(n+1):0;if(32!==e&&32!==t)continue}if(u&&l&&n===d-1){let e=n-1>=0?a.charCodeAt(n-1):0;if(32===s&&32!==e&&9!==e)continue}if(i&&(!y||y.startOffset>n||y.endOffset<=n))continue;let h=e.visibleRangeForPosition(new N.y(t,n+1));h&&(r?(D=Math.max(D,h.left),9===s?C+=this._renderArrow(c,p,h.left):C+=`<circle cx="${(h.left+p/2).toFixed(2)}" cy="${(c/2).toFixed(2)}" r="${(p/7).toFixed(2)}" />`):9===s?C+=`<div class="mwh" style="left:${h.left}px;height:${c}px;">${v?String.fromCharCode(65515):String.fromCharCode(8594)}</div>`:C+=`<div class="mwh" style="left:${h.left}px;height:${c}px;">
1${String.fromCharCode(f)}</div>`)}return r?(D=Math.round(D+p),`<svg style="bottom:0;position:absolute;width:${D}px;height:${c}px" viewBox="0 0 ${D} ${c}" xmlns="http://www.w3.org/2000/svg" fill="${s}">`+C+"</svg>"):C}_renderArrow(e,t,i){let n=e/2,o={x:0,y:t/7/2},s={x:.8*t,y:o.y},r={x:s.x-.2*s.x,y:s.y+.2*s.x},a={x:r.x+.1*s.x,y:r.y+.1*s.x},d={x:a.x+.35*s.x,y:a.y-.35*s.x},l={x:d.x,y:-d.y},h={x:a.x,y:-a.y},u={x:r.x,y:-r.y},g={x:s.x,y:-s.y},c={x:o.x,y:-o.y},m=[o,s,r,a,d,l,h,u,g,c].map(e=>`${(i+e.x).toFixed(2)} ${(n+e.y).toFixed(2)}`).join(" L ");return`<path d="M ${m}" />`}render(e,t){if(!this._renderResult)return"";let i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class tp{constructor(e){const t=e.options,i=t.get(50),n=t.get(38);"off"===n?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===n?(this.renderWhitespace=t.get(99),this.renderWithSVG=!0):(this.renderWhitespace=t.get(99),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(117)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}var tf=i(92669),tv=i(26587),tC=i(58231);let tb=class extends e8.i{constructor(e,t,i,n,o,s,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new q.L(1,1,1,1)],this._renderAnimationFrame=null;const a=new S(t,n,o,e);this._context=new tv.r(t,i,n),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(w.P,this._context,a,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=(0,f.Z)(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=(0,f.Z)(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=(0,f.Z)(document.createElement("div")),E.L.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new en(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new eS(this._context,this._linesContent),this._viewZones=new tc(this._context),this._viewParts.push(this._viewZones);const d=new e9(this._context);this._viewParts.push(d);const l=new ti(this._context);this._viewParts.push(l);const h=new O(this._context);this._viewParts.push(h),h.addDynamicOverlay(new X(this._context)),h.addDynamicOverlay(new ta(this._context)),h.addDynamicOverlay(new ep(this._context)),h.addDynamicOverlay(new et(this._context)),h.addDynamicOverlay(new t_(this._context));const u=new P(this._context);this._viewParts.push(u),u.addDynamicOverlay(new J(this._context)),u.addDynamicOverlay(new ex(this._context)),u.addDynamicOverlay(new eM(this._context)),u.addDynamicOverlay(new ev.h(this._context)),this._glyphMarginWidgets=new el(this._context),this._viewParts.push(this._glyphMarginWidgets);const g=new eR.R(this._context);g.getDomNode().appendChild(this._viewZones.marginDomNode),g.getDomNode().appendChild(u.getDomNode()),g.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(g),this._contentWidgets=new F(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new tu(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new e2(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const c=new tt(this._context);this._viewParts.push(c);const m=new V(this._context);this._viewParts.push(m);const _=new e0(this._context);if(this._viewParts.push(_),d){const e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(d.getDomNode(),e.insertBefore)}this._linesContent.appendChild(h.getDomNode()),this._linesContent.appendChild(c.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(g.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(l.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(_.getDomNode()),this._overflowGuardContainer.appendChild(m.domNode),this.domNode.appendChild(this._overflowGuardContainer),s?(s.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),s.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new b.J(this._context,a,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){let e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes,i=[],n=0;for(let o of((i=(i=i.concat(e.getAllMarginDecorations().map(e=>{var t,i,o;let s=null!=(i=null==(t=e.options.glyphMargin)?void 0:t.position)?i:eo.ZS.Center;return n=Math.max(n,e.range.endLineNumber),{range:e.range,lane:s,persist:null==(o=e.options.glyphMargin)?void 0:o.persistLane}}))).concat(this._glyphMarginWidgets.getWidgets().map(t=>{let i=e.validateRange(t.preference.range);return n=Math.max(n,i.endLineNumber),{range:i,lane:t.preference.lane}}))).sort((e,t)=>
1ee.Q.compareRangesUsingStarts(e.range,t.range)),t.reset(n),i))t.push(o.lane,o.range,o.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{let e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new C.Or(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new N.y(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){let e=this._context.configuration.options.get(145);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(0x1000000),this._linesContent.setHeight(0x1000000)}_getEditorClassName(){let e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(142)+" "+(0,Q.Pz)(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){for(let e of(null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose(),this._viewParts))e.dispose();super.dispose()}
1_scheduleRender(){if(this._store.isDisposed)throw new d.D7;if(null===this._renderAnimationFrame){let e=this._createCoordinatedRendering();this._renderAnimationFrame=tL.INSTANCE.scheduleCoordinatedRendering({window:a.zk(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new d.D7;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new d.D7;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new d.D7;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new d.D7;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){let e=this._createCoordinatedRendering();tw(()=>e.prepareRenderText());let t=tw(()=>e.renderText());if(t){let[i,n]=t;tw(()=>e.prepareRender(i,n)),tw(()=>e.render(i,n))}}_getViewPartsToRender(){let e=[],t=0;for(let i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;let e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}v.p.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;let t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);let i=new tf.P(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new L.eh(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(let i of e)i.prepareRender(t)},render:(e,t)=>{for(let i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){let i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),n=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();let o=this._viewLines.visibleRangeForPosition(new N.y(n.lineNumber,n.column));return o?o.left:-1}
1getTargetAtClientPoint(e,t){let i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?H.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new te(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t)for(let e of(this._viewLines.forceShouldRender(),this._viewParts))e.forceShouldRender();e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,i,n,o,s,r,a,d;this._contentWidgets.setWidgetPosition(e.widget,null!=(i=null==(t=e.position)?void 0:t.position)?i:null,null!=(o=null==(n=e.position)?void 0:n.secondaryPosition)?o:null,null!=(r=null==(s=e.position)?void 0:s.preference)?r:null,null!=(d=null==(a=e.position)?void 0:a.positionAffinity)?d:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){let t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function tw(e){try{return e()}catch(e){return(0,d.dz)(e),null}}tb=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([(o=tC._Y,function(e,t){o(e,t,6)})],tb);class tL{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{let t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(let[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){let t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,a.Oq(e,t,100))}}_onRenderScheduled(){let e=this._coordinatedRenderings.slice(0);for(let t of(this._coordinatedRenderings=[],e))tw(()=>t.prepareRenderText());let t=[];for(let i=0,n=e.length;i<n;i++){let n=e[i];t[i]=tw(()=>n.renderText())}for(let i=0,n=e.length;i<n;i++){let n=e[i],o=t[i];if(!o)continue;let[s,r]=o;tw(()=>n.prepareRender(s,r))}for(let i=0,n=e.length;i<n;i++){let n=e[i],o=t[i];if(!o)continue;let[s,r]=o;tw(()=>n.render(s,r))}}}tL.INSTANCE=new tL;var ty=i(72868),tN=i(65959);let tD=(0,M.H)("domLineBreaksComputer",{createHTML:e=>e});class tS{static create(e){return new tS(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,n,o){let s=[],r=[];return{addRequest:(e,t,i)=>{s.push(e),r.push(t)},finalize:()=>(function(e,t,i,n,o,s,r,a){var d;function l(e){let i=a[e];if(!i)return null;{let n=tN.uK.applyInjectedText(t[e],i),o=i.map(e=>e.options),s=i.map(e=>e.column-1);return new ty.R_(s,o,[n.length],[],0)}}if(-1===o){let e=[];for(let i=0,n=t.length;i<n;i++)e[i]=l(i);return e}let h=Math.round(o*i.typicalHalfwidthCharacterWidth),u=Math.round(n*(3===s?2:+(2===s))),c=Math.ceil(i.spaceWidth*u),m=document.createElement("div");(0,g.M)(m,i);let _=new R.fe(1e4),p=[],f=[],v=[],C=[],b=[];for(let e=0;e<t.length;e++){let o=tN.uK.applyInjectedText(t[e],a[e]),r=0,d=0,l=h;if(0!==s)if(-1===(r=eT.HG(o)))r=0;else{for(let e=0;e<r;
1e++){let t=9===o.charCodeAt(e)?n-d%n:1;d+=t}let e=Math.ceil(i.spaceWidth*d);e+i.typicalFullwidthCharacterWidth>h?(r=0,d=0):l=h-e}let u=o.substr(r),g=function(e,t,i,n,o,s){if(0!==s){let e=String(s);o.appendString('<div style="text-indent: -'),o.appendString(e),o.appendString("px; padding-left: "),o.appendString(e),o.appendString("px; box-sizing: border-box; width:")}else o.appendString('<div style="width:');o.appendString(String(n)),o.appendString('px;">');let r=e.length,a=t,d=0,l=[],h=[],u=0<r?e.charCodeAt(0):0;o.appendString("<span>");for(let t=0;t<r;t++){0!==t&&t%16384==0&&o.appendString("</span><span>"),l[t]=d,h[t]=a;let n=u;u=t+1<r?e.charCodeAt(t+1):0;let s=1,g=1;switch(n){case 9:g=s=i-a%i;for(let e=1;e<=s;e++)e<s?o.appendCharCode(160):o.appendASCIICharCode(32);break;case 32:32===u?o.appendCharCode(160):o.appendASCIICharCode(32);break;case 60:o.appendString("&lt;");break;case 62:o.appendString("&gt;");break;case 38:o.appendString("&amp;");break;case 0:o.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:o.appendCharCode(65533);break;default:eT.ne(n)&&g++,n<32?o.appendCharCode(9216+n):o.appendCharCode(n)}d+=s,a+=g}return o.appendString("</span>"),l[e.length]=d,h[e.length]=a,o.appendString("</div>"),[l,h]}(u,d,n,l,_,c);p[e]=r,f[e]=d,v[e]=u,C[e]=g[0],b[e]=g[1]}let w=_.build();m.innerHTML=null!=(d=null==tD?void 0:tD.createHTML(w))?d:w,m.style.position="absolute",m.style.top="10000","keepAll"===r?(m.style.wordBreak="keep-all",m.style.overflowWrap="anywhere"):(m.style.wordBreak="inherit",m.style.overflowWrap="break-word"),e.document.body.appendChild(m);let L=document.createRange(),y=Array.prototype.slice.call(m.children,0),N=[];for(let e=0;e<t.length;e++){let t,i,n=function(e,t,i,n){if(i.length<=1)return null;let o=Array.prototype.slice.call(t.children,0),s=[];try{!function e(t,i,n,o,s,r,a,d){if(o===r||(s=s||tM(t,i,n[o],n[o+1]),a=a||tM(t,i,n[r],n[r+1]),.1>=Math.abs(s[0].top-a[0].top)))return;if(o+1===r)return void d.push(r);let l=o+(r-o)/2|0,h=tM(t,i,n[l],n[l+1]);e(t,i,n,o,s,l,h,d),e(t,i,n,l,h,r,a,d)}(e,o,n,0,null,i.length-1,null,s)}catch(e){return console.log(e),null}return 0===s.length?null:(s.push(i.length),s)}(L,y[e],v[e],C[e]);if(null===n){N[e]=l(e);continue}let o=p[e],s=f[e]+u,r=b[e],d=[];for(let e=0,t=n.length;e<t;e++)d[e]=r[n[e]];if(0!==o)for(let e=0,t=n.length;e<t;e++)n[e]+=o;let h=a[e];h?(t=h.map(e=>e.options),i=h.map(e=>e.column-1)):(t=null,i=null),N[e]=new ty.R_(i,t,n,d,s)}return e.document.body.removeChild(m),N})((0,ec.eU)(this.targetWindow.deref()),s,e,t,i,n,o,r)}}}function tM(e,t,i,n){return e.setStart(t[i/16384|0].firstChild,i%16384),e.setEnd(t[n/16384|0].firstChild,n%16384),e.getClientRects()}class tR extends h.jG{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new h.$w),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){for(let n of(this._editor=e,this._instantiationService=i,t)){if(this._pending.has(n.id)){(0,d.dz)(Error(`Cannot have two contributions with the same id ${n.id}`));continue}this._pending.set(n.id,n)}this._instantiateSome(0),this._register((0,a.U3)((0,a.zk)(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register((0,a.U3)((0,a.zk)(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register((0,a.U3)((0,a.zk)(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){let e={};for(let[t,i]of this._instances)"function"==typeof i.saveViewState&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(let[t,i]of this._instances)"function"==typeof i.restoreViewState&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return(0,a.U3)((0,a.zk)(null==(e=this._editor)?void 0:e.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(!this._finishedInstantiation[e])for(let t of(this._finishedInstantiation[e]=!0,this._findPendingContributionsByInstantiation(e)))this._instantiateById(t.id)}_findPendingContributionsByInstantiation(e){let t=[];for(let[,i]of this._pending)i.instantiation===e&&t.push(i);return t}
1_instantiateById(e){let t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw Error("Cannot instantiate contributions before being initialized!");try{let e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(e){(0,d.dz)(e)}}}}var tx=i(85709),tI=i(30017),tT=i(64699),tE=i(86764),tW=i(36786),tA=i(52438),tO=i(37679),tP=i(81182),tH=i(92163),tV=i(37887),tF=i(45405),tk=i(93165),tB=i(8219),tz=i(31505),tU=i(83577),tG=i(22991),tZ=i(77259),tj=function(e,t){return function(i,n){t(i,n,e)}};let t$=r=class extends h.jG{get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,n,o,s,r,h,u,g,c,m){var p,f;let v;super(),this.languageConfigurationService=c,this._deliveryQueue=(0,l.Qy)(),this._contributions=this._register(new tR),this._onDidDispose=this._register(new l.vl),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new tY(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new tK({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new tK({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new tY(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new tY(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new tY(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new tY(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new tY(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new tY(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new tY(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new tY(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new tY(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new tY(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new l.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginU
1pdate=this._register(new l.vl),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new l.vl),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),o.willCreateCodeEditor();const C={...t};for(const t of(this._domElement=e,this._overflowWidgetsDomNode=C.overflowWidgetsDomNode,delete C.overflowWidgetsDomNode,this._id=++tQ,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,null!=(p=i.contextMenuId)?p:i.isSimpleWidget?tZ.D8.SimpleEditorContext:tZ.D8.EditorContext,C,g)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(145)){let e=t.get(145);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=u,this._codeEditorService=o,this._commandService=s,this._themeService=h,this._register(new tX(this,this._contextKeyService)),this._register(new tJ(this,this._contextKeyService,m)),this._instantiationService=this._register(n.createChild(new tU.a([tz.fN,this._contextKeyService]))),this._modelData=null,this._focusTracker=new t0(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},v=Array.isArray(i.contributions)?i.contributions:_.dS.getEditorContributions(),this._contributions.initialize(this,v,this._instantiationService),_.dS.getEditorActions())){if(this._actions.has(t.id)){(0,d.dz)(Error(`Cannot have two actions with the same id ${t.id}`));continue}const e=new tT.f(t.id,t.label,t.alias,t.metadata,null!=(f=t.precondition)?f:void 0,e=>this._instantiationService.invokeFunction(i=>Promise.resolve(t.runEditorCommand(i,this,e))),this._contextKeyService);this._actions.set(e.id,e)}const b=()=>!this._configuration.options.get(91)&&this._configuration.options.get(36).enabled;this._register(new a.pN(this._domElement,{onDragOver:e=>{if(!b())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);(null==t?void 0:t.position)&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!b()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);(null==t?void 0:t.position)&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;null==(t=this._modelData)||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i,n){return new c.g(e,t,i,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return tE._.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?tI.z.getWordAtPosition(this._modelData.model,this._configuration.options.get(131),this._configuration.options.get(130),e):null}getValue(e=null){if(!this._modelData)return"";let t=!!e&&!!e.preserveBOM,i=0;return e&&e.lineEnding&&"\n"===e.lineEnding?i=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;try{if(this._beginUpdate(),null===this._modelData&&null===e||this._modelData&&this._modelData.model===e)return;let i={oldModelUrl:(null==(t=this._modelData)?void 0:t.model.uri)||null,newModelUrl:(null==e?void 0:e.uri)||null};this._onWillChangeModel.fire(i);let n=this.hasTextFocus(),o=this._detachModel();this._attachModel(e),n&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(o),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}
1getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,n){let o=e.model.validatePosition({lineNumber:t,column:i}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(s.lineNumber,n)}getTopForLineNumber(e,t=!1){return this._modelData?r._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?r._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,n=!1){let o=e.model.validatePosition({lineNumber:t,column:i}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber,n)}getBottomForLineNumber(e,t=!1){return this._modelData?r._getVerticalOffsetAfterPosition(this._modelData,e,1,t):-1}setHiddenAreas(e,t){var i;null==(i=this._modelData)||i.viewModel.setHiddenAreas(e.map(e=>ee.Q.lift(e)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return tx.A.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!N.y.isIPosition(e))throw Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!ee.Q.isIRange(e))throw Error("Invalid arguments");let o=this._modelData.model.validateRange(e),s=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",i,s,t,n)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if("number"!=typeof e)throw Error("Invalid arguments");this._sendRevealRange(new ee.Q(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,n){if(!N.y.isIPosition(e))throw Error("Invalid arguments");this._sendRevealRange(new ee.Q(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){let i=q.L.isISelection(e),n=ee.Q.isIRange(e);if(!i&&!n)throw Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){let i={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(i,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let i=new q.L(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,n){if("number"!=typeof e||"number"!=typeof t)throw Error("Invalid arguments");this._sendRevealRange(new ee.Q(e,1,t,1),i,!1,n)}revealRange(e,t=0,i=!1,n=!0){this._revealRange(e,+!!i,n,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,n){if(!ee.Q.isIRange(e))throw Error("Invalid arguments");this._sendRevealRange(ee.Q.lift(e),t,i,n)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||0===e.length)throw Error("Invalid arguments");for(let t=0,i=e.length;t<i;t++)if(!q.L.isISelection(e[t]))throw Error("Invalid arguments");this._modelData.viewModel.setSelections(t,e,i)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if("number"!=typeof e)throw Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if("number"!=typeof e)throw Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return!!this._modelData&&this._modelData.viewModel.viewLayout.hasPendingScrollAnimation()}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(this._modelData&&this._modelData.hasRealView&&e&&e.cursorState&&e.viewState){let t=e.cursorState;Array.isArray(t)?t.length>0&&this._modelData.viewModel.restoreCursorState(t):this._modelData.viewModel.restoreCursorState([t]),this._contributions.restoreViewState(e.contributionsState||{});let i=this._modelData.viewModel.reduceRestoreState(e.viewState);this._modelData.view.restoreState(i)}}handleInitialized(){var e;null==(e=this._getViewModel())||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e.filter(e=>e.isSupported())}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){i=i||{};try{switch(this._beginUpdate(),t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{let t=i;this._type(e,t.text||"");return}case"replacePreviousChar":{let t=i;this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0);return}case"compositionType":{let t=i;this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case"paste":{let t=i;this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case"cut":this._cut(e);return}let n=this.getAction(t);
1if(n)return void Promise.resolve(n.run(i)).then(void 0,d.dz);if(!this._modelData||this._triggerEditorCommand(e,t,i))return;this._triggerCommand(t,i)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,i,n,o){this._modelData&&this._modelData.viewModel.compositionType(t,i,n,o,e)}_paste(e,t,i,n,o,s){if(!this._modelData)return;let r=this._modelData.viewModel,a=r.getSelection().getStartPosition();r.paste(t,i,n,e);let d=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:s,range:new ee.Q(a.lineNumber,a.column,d.lineNumber,d.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){let n=_.dS.getEditorCommand(t);return!!n&&((i=i||{}).source=e,this._instantiationService.invokeFunction(e=>{Promise.resolve(n.runEditorCommand(e,this,i)).then(void 0,d.dz)}),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!(!this._modelData||this._configuration.options.get(91))&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!(!this._modelData||this._configuration.options.get(91))&&(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){let n;return!(!this._modelData||this._configuration.options.get(91))&&(n=i?Array.isArray(i)?()=>i:i:()=>null,this._modelData.viewModel.executeEdits(e,t,n),!0)}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new t1(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,(0,eE.$C)(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,(0,eE.$C)(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(145)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!!this._modelData&&!!this._modelData.hasRealView&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let i=this._contentWidgets[t];
1i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),i=this._configuration.options,n=i.get(145);return{top:r._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft(),height:i.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){(0,g.M)(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let i=e.onBeforeAttached(),n=new tV.J(this._id,this._configuration,e,tS.create(a.zk(this._domElement)),tH.J.create(this._configuration.options),e=>a.PG(a.zk(this._domElement),e),this.languageConfigurationService,this._themeService,i);t.push(e.onWillDispose(()=>this.setModel(null))),t.push(n.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){let e=this.getOption(80),t=tF.kg("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",e);this._notificationService.prompt(tG.AI.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:tF.kg("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}let e=[];for(let i=0,n=t.selections.length;i<n;i++)e[i]=t.selections[i].getPosition();let i={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(i);let n={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(n);break}case 7:this._onDidChangeModelDecorations.fire(t.event);break;case 8:this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 10:this._onDidChangeModelContent.fire(t.event);break;case 11:this._onDidChangeModelOptions.fire(t.event);break;case 12:this._onDidChangeModelTokens.fire(t.event)}}));let[o,s]=this._createView(n);
1if(s){this._domElement.appendChild(o.domNode.domNode);let t=Object.keys(this._contentWidgets);for(let e=0,i=t.length;e<i;e++){let i=t[e];o.addContentWidget(this._contentWidgets[i])}t=Object.keys(this._overlayWidgets);for(let e=0,i=t.length;e<i;e++){let i=t[e];o.addOverlayWidget(this._overlayWidgets[i])}t=Object.keys(this._glyphMarginWidgets);for(let e=0,i=t.length;e<i;e++){let i=t[e];o.addGlyphMarginWidget(this._glyphMarginWidgets[i])}o.render(!1,!0),o.domNode.domNode.setAttribute("data-uri",e.uri.toString())}this._modelData=new tq(e,n,o,s,t,i)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,i,n)=>{this._paste("keyboard",e,t,i,n)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,i,n)=>{this._compositionType("keyboard",e,t,i,n)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,i,n)=>{this._commandService.executeCommand("paste",{text:e,pasteOnNewLine:t,multicursorText:i,mode:n})},type:e=>{this._commandService.executeCommand("type",{text:e})},compositionType:(e,t,i,n)=>{i||n?this._commandService.executeCommand("compositionType",{text:e,replacePrevCharCnt:t,replaceNextCharCnt:i,positionDelta:n}):this._commandService.executeCommand("replacePreviousChar",{text:e,replaceCharCnt:t})},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};let i=new H(e.coordinatesConverter);return i.onKeyDown=e=>this._onKeyDown.fire(e),i.onKeyUp=e=>this._onKeyUp.fire(e),i.onContextMenu=e=>this._onContextMenu.fire(e),i.onMouseMove=e=>this._onMouseMove.fire(e),i.onMouseLeave=e=>this._onMouseLeave.fire(e),i.onMouseDown=e=>this._onMouseDown.fire(e),i.onMouseUp=e=>this._onMouseUp.fire(e),i.onMouseDrag=e=>this._onMouseDrag.fire(e),i.onMouseDrop=e=>this._onMouseDrop.fire(e),i.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),i.onMouseWheel=e=>this._onMouseWheel.fire(e),[new tb(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){null==e||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var e;if(null==(e=this._contributionsDisposable)||e.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}showDropIndicatorAt(e){let t=[{range:new ee.Q(e.lineNumber,e.column,e.lineNumber,e.column),options:r.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&this._onBeginU
1pdate.fire()}_endUpdate(){this._updateCounter--,0===this._updateCounter&&this._onEndUpdate.fire()}};t$.dropIntoEditorDecorationOptions=tO.kI.register({description:"workbench-dnd-target",className:"dnd-target"}),t$=r=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([tj(3,tC._Y),tj(4,p.T),tj(5,tB.d),tj(6,tz.fN),tj(7,Q.Gy),tj(8,tG.Ot),tj(9,tk.j),tj(10,tA.JZ),tj(11,tP.u)],t$);let tQ=0;class tq{constructor(e,t,i,n,o,s){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=n,this.listenersToRemove=o,this.attachedView=s}dispose(){(0,h.AS)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class tK extends h.jG{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new l.vl(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new l.vl(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class tY extends l.vl{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class tX extends h.jG{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=tW.R.editorSimpleInput.bindTo(t),this._editorFocus=tW.R.focus.bindTo(t),this._textInputFocus=tW.R.textInputFocus.bindTo(t),this._editorTextFocus=tW.R.editorTextFocus.bindTo(t),this._tabMovesFocus=tW.R.tabMovesFocus.bindTo(t),this._editorReadonly=tW.R.readOnly.bindTo(t),this._inDiffEditor=tW.R.inDiffEditor.bindTo(t),this._editorColumnSelection=tW.R.columnSelection.bindTo(t),this._hasMultipleSelections=tW.R.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=tW.R.hasNonEmptySelection.bindTo(t),this._canUndo=tW.R.canUndo.bindTo(t),this._canRedo=tW.R.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(m.M.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(m.M.getTabFocusMode()),this._editorReadonly.set(e.get(91)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class tJ extends h.jG{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=tW.R.languageId.bindTo(t),this._hasCompletionItemProvider=tW.R.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=tW.R.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=tW.R.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=tW.R.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=tW.R.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=tW.R.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=tW.R.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=tW.R.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=tW.R.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=tW.R.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=tW.R.hasReferenceProvider.bindTo(t),this._hasRenameProvider=tW.R.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=tW.R.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvi
1der=tW.R.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=tW.R.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=tW.R.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=tW.R.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=tW.R.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=tW.R.isInEmbeddedEditor.bindTo(t);const n=()=>this._update();this._register(e.onDidChangeModel(n)),this._register(e.onDidChangeModelLanguage(n)),this._register(i.completionProvider.onDidChange(n)),this._register(i.codeActionProvider.onDidChange(n)),this._register(i.codeLensProvider.onDidChange(n)),this._register(i.definitionProvider.onDidChange(n)),this._register(i.declarationProvider.onDidChange(n)),this._register(i.implementationProvider.onDidChange(n)),this._register(i.typeDefinitionProvider.onDidChange(n)),this._register(i.hoverProvider.onDidChange(n)),this._register(i.documentHighlightProvider.onDidChange(n)),this._register(i.documentSymbolProvider.onDidChange(n)),this._register(i.referenceProvider.onDidChange(n)),this._register(i.renameProvider.onDidChange(n)),this._register(i.documentFormattingEditProvider.onDidChange(n)),this._register(i.documentRangeFormattingEditProvider.onDidChange(n)),this._register(i.signatureHelpProvider.onDidChange(n)),this._register(i.inlayHintsProvider.onDidChange(n)),n()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();e?this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===u.ny.walkThroughSnippet||e.uri.scheme===u.ny.vscodeChatCodeBlock)}):this.reset()}}class t0 extends h.jG{constructor(e,t){super(),this._onChange=this._register(new l.vl),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(a.w5(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(a.w5(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}
1_update(){let e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return null!=(e=this._hadFocus)&&e}}class t1{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,i){return this._editor.onDidChangeModelDecorations(i=>{this._isChangingDecorations||e.call(t,i)},i)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let i of this._decorationIds){let n=e.getDecorationRange(i);n&&t.push(n)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}let t3=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='"),t2=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 t5(e){return t3+encodeURIComponent(e.toString())+t2}let t6=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),t4=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');(0,Q.zy)((e,t)=>{let i=e.getColor(eP.Rbi);i&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${t5(i)}") repeat-x bottom left; }`);let n=e.getColor(eP.Hng);n&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${t5(n)}") repeat-x bottom left; }`);let o=e.getColor(eP.pOz);o&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${t5(o)}") repeat-x bottom left; }`);let s=e.getColor(eP.i61);s&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${t6+encodeURIComponent(s.toString())+t4}") no-repeat bottom left; }`);let r=e.getColor(j.yw);r&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${r.rgba.a}; }`)})},80097(e,t,i){i.d(t,{t:()=>_});var n=i(63602),o=i(3581),s=i(85310),r=i(52438),a=i(81182),d=i(93165),l=i(8219),h=i(31505),u=i(58231),g=i(22991),c=i(23436),m=function(e,t){return function(i,n){t(i,n,e)}};let _=class extends s.x{constructor(e,t,i,n,o,s,r,a,d,l,h,u,g){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,o,s,r,a,d,l,h,u,g),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(e=>this._onParentConfigurationChanged(e)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){n.co(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};_=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([m(4,u._Y),m(5,o.T),m(6,l.d),m(7,h.fN),m(8,c.Gy),m(9,g.Ot),m(10,d.j),m(11,r.JZ),m(12,a.u)],_)},68022(e,t,i){var n=i(88306),o=i(88549),s=i(87530),r=i(3581),a=i(92970),d=i(36786),l=i(45405),h=i(77259),u=i(90417),g=i(31505);i(58419);class c extends h.L{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:(0,l.aS)("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:n.W.map,toggled:g.M$.has("config.diffEditor.hideUnch
1angedRegions.enabled"),precondition:g.M$.has("isInDiffEditor"),menu:{when:g.M$.has("isInDiffEditor"),id:h.D8.EditorTitle,order:22,group:"navigation"}})}run(e){let t=e.get(u.pG),i=!t.getValue("diffEditor.hideUnchangedRegions.enabled");t.updateValue("diffEditor.hideUnchangedRegions.enabled",i)}}class m extends h.L{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:(0,l.aS)("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:g.M$.has("isInDiffEditor")})}run(e){let t=e.get(u.pG),i=!t.getValue("diffEditor.experimental.showMoves");t.updateValue("diffEditor.experimental.showMoves",i)}}class _ extends h.L{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:(0,l.aS)("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:g.M$.has("isInDiffEditor")})}run(e){let t=e.get(u.pG),i=!t.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");t.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",i)}}let p=(0,l.aS)("diffEditor","Diff Editor");class f extends s.qO{constructor(){super({id:"diffEditor.switchSide",title:(0,l.aS)("switchSide","Switch Side"),icon:n.W.arrowSwap,precondition:g.M$.has("isInDiffEditor"),f1:!0,category:p})}runEditorCommand(e,t,i){let n=D(e);if(n instanceof a.T)if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};else n.switchSide()}}class v extends s.qO{constructor(){super({id:"diffEditor.exitCompareMove",title:(0,l.aS)("exitCompareMove","Exit Compare Move"),icon:n.W.close,precondition:d.R.comparingMovedCode,f1:!1,category:p,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t){let i=D(e);i instanceof a.T&&i.exitCompareMove()}}class C extends s.qO{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:(0,l.aS)("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:n.W.fold,precondition:g.M$.has("isInDiffEditor"),f1:!0,category:p})}runEditorCommand(e,t){let i=D(e);i instanceof a.T&&i.collapseAllUnchangedRegions()}}class b extends s.qO{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:(0,l.aS)("showAllUnchangedRegions","Show All Unchanged Regions"),icon:n.W.unfold,precondition:g.M$.has("isInDiffEditor"),f1:!0,category:p})}runEditorCommand(e,t){let i=D(e);i instanceof a.T&&i.showAllUnchangedRegions()}}class w extends h.L{constructor(){super({id:"diffEditor.revert",title:(0,l.aS)("revert","Revert"),f1:!1,category:p})}run(e,t){var i,n,o,s;let d=(n=e,o=t.originalUri,s=t.modifiedUri,n.get(r.T).listDiffEditors().find(e=>{var t,i;let n=e.getModifiedEditor(),r=e.getOriginalEditor();return n&&(null==(t=n.getModel())?void 0:t.uri.toString())===s.toString()&&r&&(null==(i=r.getModel())?void 0:i.uri.toString())===o.toString()})||null);d instanceof a.T&&d.revertRangeMappings(null!=(i=t.mapping.innerChanges)?i:[])}}let L=(0,l.aS)("accessibleDiffViewer","Accessible Diff Viewer");class y extends h.L{constructor(){super({id:y.id,title:(0,l.aS)("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:L,precondition:g.M$.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){let t=D(e);null==t||t.accessibleDiffViewerNext()}}y.id="editor.action.accessibleDiffViewer.next";class N extends h.L{constructor(){super({id:N.id,title:(0,l.aS)("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:L,precondition:g.M$.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){let t=D(e);null==t||t.accessibleDiffViewerPrev()}}function D(e){let t=e.get(r.T).listDiffEditors(),i=(0,o.bq)();if(i){for(let e of t)if(function(e,t){let i=t;for(;i;){if(i===e)return!0;i=i.parentElement}return!1}(e.getContainerDomNode(),i))return e}return null}N.id="editor.action.accessibleDiffViewer.prev";var S=i(8219);for(let e of((0,h.ug)(c),(0,h.ug)(m),(0,h.ug)(_),h.ZG.appendMenuItem(h.D8.EditorTitle,{command:{id:new _().desc.id,title:(0,l.kg)("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:g.M$.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:g.M$.has("isInDiffEditor")},order:11,group:"1_diff",when:g.M$.and(d.R.diffEditorRenderSideBySideInlineBreakpointReached,g.M$.has("isInDiffEditor"))}
1),h.ZG.appendMenuItem(h.D8.EditorTitle,{command:{id:new m().desc.id,title:(0,l.kg)("showMoves","Show Moved Code Blocks"),icon:n.W.move,toggled:g.f1.create("config.diffEditor.experimental.showMoves",!0),precondition:g.M$.has("isInDiffEditor")},order:10,group:"1_diff",when:g.M$.has("isInDiffEditor")}),(0,h.ug)(w),[{icon:n.W.arrowRight,key:d.R.diffEditorInlineMode.toNegated()},{icon:n.W.discard,key:d.R.diffEditorInlineMode}]))h.ZG.appendMenuItem(h.D8.DiffEditorHunkToolbar,{command:{id:new w().desc.id,title:(0,l.kg)("revertHunk","Revert Block"),icon:e.icon},when:g.M$.and(d.R.diffEditorModifiedWritable,e.key),order:5,group:"primary"}),h.ZG.appendMenuItem(h.D8.DiffEditorSelectionToolbar,{command:{id:new w().desc.id,title:(0,l.kg)("revertSelection","Revert Selection"),icon:e.icon},when:g.M$.and(d.R.diffEditorModifiedWritable,e.key),order:5,group:"primary"});(0,h.ug)(f),(0,h.ug)(v),(0,h.ug)(C),(0,h.ug)(b),h.ZG.appendMenuItem(h.D8.EditorTitle,{command:{id:y.id,title:(0,l.kg)("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:g.M$.has("isInDiffEditor")},order:10,group:"2_diff",when:g.M$.and(d.R.accessibleDiffViewerVisible.negate(),g.M$.has("isInDiffEditor"))}),S.w.registerCommandAlias("editor.action.diffReview.next",y.id),(0,h.ug)(y),S.w.registerCommandAlias("editor.action.diffReview.prev",N.id),(0,h.ug)(N)},92970(e,t,i){i.d(t,{T:()=>tS});var n,o,s,r,a,d,l=i(88549),h=i(44777),u=i(38031),g=i(12034),c=i(12430),m=i(17043),_=i(95078),p=i(87530),f=i(3581),v=i(6374),C=i(85310),b=i(97829),w=i(4647),L=i(68397),y=i(61801),N=i(60306),D=i(88306),S=i(50441),M=i(45781),R=i(15968),x=i(69748),I=i(30600),T=i(56764),E=i(36333),W=i(11989),A=i(80315),O=i(10202),P=i(82877),H=i(63937),V=i(7792),F=i(45405),k=i(72285),B=i(58231),z=i(43074),U=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},G=function(e,t){return function(i,n){t(i,n,e)}};let Z=(0,z.pU)("diff-review-insert",D.W.add,(0,F.kg)("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),j=(0,z.pU)("diff-review-remove",D.W.remove,(0,F.kg)("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),$=(0,z.pU)("diff-review-close",D.W.close,(0,F.kg)("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer.")),Q=class extends c.jG{constructor(e,t,i,n,o,s,r,a,d){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=n,this._width=o,this._height=s,this._diffs=r,this._models=a,this._instantiationService=d,this._state=(0,m.rm)(this,(e,t)=>{let i=this._visible.read(e);if(this._parentNode.style.visibility=i?"visible":"hidden",!i)return null;let n=t.add(this._instantiationService.createInstance(q,this._diffs,this._models,this._setVisible,this._canClose)),o=t.add(this._instantiationService.createInstance(et,this._parentNode,n,this._width,this._height,this._models));return{model:n,view:o}}).recomputeInitiallyAndOnChange(this._store)}next(){(0,m.Rn)(e=>{let t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){(0,m.Rn)(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){(0,m.Rn)(e=>{this._setVisible(!1,e)})}};Q._ttPolicy=(0,b.H)("diffReview",{createHTML:e=>e}),Q=U([G(8,B._Y)],Q);let q=class extends c.jG{constructor(e,t,i,n,o){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=n,this._accessibilitySignalService=o,this._groups=(0,m.FY)(this,[]),this._currentGroupIdx=(0,m.FY)(this,0),this._currentElementIdx=(0,m.FY)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((e,t)=>this._groups.read(t)[e]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((e,t)=>{var i;return null==(i=this.currentGroup.read(t))?void 0:i.lines[e]}),this._register((0,m.fm)(e=>{let t=this._diffs.read(e);if(!t)return void this._groups.set([],void 0);let i=function(e,t,i){let n=[];for(let o of(0,N.n)(e,(e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<6)){let e=[];e.push(new Y);let s=new I.M(Math.max(1,o[0].original.startLineNumber-3),Math.min(o[o.length-1].original.endLineNumberExclusive+3,t+1)),r=new I.M(Math.max(1,o[0].modified.startLineNumber-3),Math.min(o[o.length-1].modified.endLineNumberExclusive+3,i+1));(0,N.pN)(o,(t,i)=>{let n=new I.M(t?t.original.endLineNumberExclusive:s.startLineNumber,i?i.original.startLineNumber:s.endLineNumberExclusive),o=new I.M(t?t.modified.endLineNumberExclusive:r.startLineNumber,i?i.modified.startLineNumber:r.endLineNumberExclusive);
1n.forEach(t=>{e.push(new ee(t,o.startLineNumber+(t-n.startLineNumber)))}),i&&(i.original.forEach(t=>{e.push(new X(i,t))}),i.modified.forEach(t=>{e.push(new J(i,t))}))});let a=o[0].modified.join(o[o.length-1].modified),d=o[0].original.join(o[o.length-1].original);n.push(new K(new A.WL(a,d),e))}return n}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,m.Rn)(e=>{let t=this._models.getModifiedPosition();if(t){let n=i.findIndex(e=>(null==t?void 0:t.lineNumber)<e.range.modified.endLineNumberExclusive);-1!==n&&this._currentGroupIdx.set(n,e)}this._groups.set(i,e)})})),this._register((0,m.fm)(e=>{let t=this.currentElement.read(e);(null==t?void 0:t.type)===r.Deleted?this._accessibilitySignalService.playSignal(k.Rh.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(null==t?void 0:t.type)===r.Added&&this._accessibilitySignalService.playSignal(k.Rh.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register((0,m.fm)(e=>{var t;let i=this.currentElement.read(e);if(i&&i.type!==r.Header){let e=null!=(t=i.modifiedLineNumber)?t:i.diff.modified.startLineNumber;this._models.modifiedSetSelection(W.Q.fromPositions(new E.y(e,1)))}}))}_goToGroupDelta(e,t){let i=this.groups.get();i&&!(i.length<=1)&&(0,m.PO)(t,t=>{this._currentGroupIdx.set(T.L.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){let t=this.currentGroup.get();t&&!(t.lines.length<=1)&&(0,m.Rn)(i=>{this._currentElementIdx.set(T.L.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){let t=this.currentGroup.get();if(!t)return;let i=t.lines.indexOf(e);-1!==i&&(0,m.Rn)(e=>{this._currentElementIdx.set(i,e)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);let e=this.currentElement.get();e&&(e.type===r.Deleted?this._models.originalReveal(W.Q.fromPositions(new E.y(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==r.Header?W.Q.fromPositions(new E.y(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};q=U([G(4,k.Nt)],q),(n=r||(r={}))[n.Header=0]="Header",n[n.Unchanged=1]="Unchanged",n[n.Deleted=2]="Deleted",n[n.Added=3]="Added";class K{constructor(e,t){this.range=e,this.lines=t}}class Y{constructor(){this.type=r.Header}}class X{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=r.Deleted,this.modifiedLineNumber=void 0}}class J{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=r.Added,this.originalLineNumber=void 0}}class ee{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=r.Unchanged}}let et=class extends c.jG{constructor(e,t,i,n,o,s){super(),this._element=e,this._model=t,this._width=i,this._height=n,this._models=o,this._languageService=s,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new w.E(r)),this._register((0,m.fm)(e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new y.rc("diffreview.close",(0,F.kg)("label.close","Close"),"close-diff-review "+S.L.asClassName($),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new L.MU(this._content,{})),(0,l.Ln)(this.domNode,this._scrollbar.getDomNode(),r),this._register((0,m.fm)(e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()})),this._register((0,c.s)(()=>{(0,l.Ln)(this.domNode)})),this._register((0,R.AV)(this.domNode,{width:this._width,height:this._height})),this._register((0,R.AV)(this._content,{width:this._width,height:this._height})),this._register((0,m.yC)((e,t)=>{this._model.currentGroup.read(e),this._render(t)})),this._register((0,l.b2)(this.domNode,"keydown",e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()
1),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){let t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),n=document.createElement("div");n.className="diff-review-table",n.setAttribute("role","list"),n.setAttribute("aria-label",(0,F.kg)("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),(0,M.M)(n,i.get(50)),(0,l.Ln)(this._content,n);let o=this._models.getOriginalModel(),s=this._models.getModifiedModel();if(!o||!s)return;let a=o.getOptions(),d=s.getOptions(),h=i.get(67),u=this._model.currentGroup.get();for(let g of(null==u?void 0:u.lines)||[]){let c;if(!u)break;if(g.type===r.Header){let e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");let t=u.range,i=this._model.currentGroupIndex.get(),n=this._model.groups.get().length,o=e=>0===e?(0,F.kg)("no_lines_changed","no lines changed"):1===e?(0,F.kg)("one_line_changed","1 line changed"):(0,F.kg)("more_lines_changed","{0} lines changed",e),s=o(t.original.length),r=o(t.modified.length);e.setAttribute("aria-label",(0,F.kg)({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}",i+1,n,t.original.startLineNumber,s,t.modified.startLineNumber,r));let a=document.createElement("div");a.className="diff-review-cell diff-review-summary",a.appendChild(document.createTextNode(`${i+1}/${n}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(a),c=e}else c=this._createRow(g,h,this._width.get(),t,o,a,i,s,d);n.appendChild(c);let _=(0,m.un)(e=>this._model.currentElement.read(e)===g);e.add((0,m.fm)(e=>{let t=_.read(e);c.tabIndex=t?0:-1,t&&c.focus()})),e.add((0,l.ko)(c,"focus",()=>{this._model.goToLine(g)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,n,o,s,a,d,l){let h,u=n.get(145),g=u.glyphMarginWidth+u.lineNumbersWidth,c=a.get(145),m=10+c.glyphMarginWidth+c.lineNumbersWidth,_="diff-review-row",p="",f=null;switch(e.type){case r.Added:_="diff-review-row line-insert",p=" char-insert",f=Z;break;case r.Deleted:_="diff-review-row line-delete",p=" char-delete",f=j}
1let v=document.createElement("div");v.style.minWidth=i+"px",v.className=_,v.setAttribute("role","listitem"),v.ariaLevel="";let C=document.createElement("div");C.className="diff-review-cell",C.style.height=`${t}px`,v.appendChild(C);let b=document.createElement("span");b.style.width=g+"px",b.style.minWidth=g+"px",b.className="diff-review-line-number"+p,void 0!==e.originalLineNumber?b.appendChild(document.createTextNode(String(e.originalLineNumber))):b.innerText="\xa0",C.appendChild(b);let w=document.createElement("span");w.style.width=m+"px",w.style.minWidth=m+"px",w.style.paddingRight="10px",w.className="diff-review-line-number"+p,void 0!==e.modifiedLineNumber?w.appendChild(document.createTextNode(String(e.modifiedLineNumber))):w.innerText="\xa0",C.appendChild(w);let L=document.createElement("span");if(L.className="diff-review-spacer",f){let e=document.createElement("span");e.className=S.L.asClassName(f),e.innerText="\xa0\xa0",L.appendChild(e)}else L.innerText="\xa0\xa0";if(C.appendChild(L),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(d,a,l.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);Q._ttPolicy&&(t=Q._ttPolicy.createHTML(t)),C.insertAdjacentHTML("beforeend",t),h=d.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(o,n,s.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);Q._ttPolicy&&(t=Q._ttPolicy.createHTML(t)),C.insertAdjacentHTML("beforeend",t),h=o.getLineContent(e.originalLineNumber)}0===h.length&&(h=(0,F.kg)("blankLine","blank"));let y="";switch(e.type){case r.Unchanged:y=e.originalLineNumber===e.modifiedLineNumber?(0,F.kg)({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",h,e.originalLineNumber):(0,F.kg)("equalLine","{0} original line {1} modified line {2}",h,e.originalLineNumber,e.modifiedLineNumber);break;case r.Added:y=(0,F.kg)("insertLine","+ {0} modified line {1}",h,e.modifiedLineNumber);break;case r.Deleted:y=(0,F.kg)("deleteLine","- {0} original line {1}",h,e.originalLineNumber)}return v.setAttribute("aria-label",y),v}_getLineHtml(e,t,i,n,o){let s=e.getLineContent(n),r=t.get(50),a=P.f.createEmpty(s,o),d=V.qL.isBasicASCII(s,e.mightContainNonBasicASCII()),l=V.qL.containsRTL(s,d,e.mightContainRTL());return(0,H.Md)(new H.zL(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,s,!1,d,l,0,a,[],i,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(117),t.get(99),t.get(94),t.get(51)!==x.Bc.OFF,null)).html}};et=U([G(5,O.L)],et);class ei{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return null!=(e=this.editors.modified.getPosition())?e:void 0}}class en extends c.jG{constructor(e,t,i,n,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=n,this._editors=o,this._originalScrollTop=(0,m.y0)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,m.y0)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,m.yQ)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,m.FY)(this,0),this._modifiedViewZonesChangedSignal=(0,m.yQ)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,m.yQ)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,m.rm)(this,(e,t)=>{var i;this._element.replaceChildren();let n=this._diffModel.read(e),o=null==(i=null==n?void 0:n.diff.read(e))?void 0:i.movedTexts;if(!o||0===o.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(e);let s=this._originalEditorLayoutInfo.read(e),r=this._modifiedEditorLayoutInfo.read(e);if(!s||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);let a=o.map(t=>{function i(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}let n=i(t.lineRangeMapping.original,this._editors.original),o=this._originalScrollTop.read(e),s=i(t.lineRangeMapping.modified,this._editors.modified),r=this._modifiedScrollTop.read(e),a=n-o,d=s-r,l=Math.min(n,s),h=Math.max(n,s);
1return{range:new T.L(l,h),from:a,to:d,fromWithoutScroll:n,toWithoutScroll:s,move:t}});a.sort((0,N.nH)((0,N.VE)(e=>e.fromWithoutScroll>e.toWithoutScroll,N.TS),(0,N.VE)(e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll,N.U9)));let d=eo.compute(a.map(e=>e.range)),l=s.verticalScrollbarWidth,h=(d.getTrackCount()-1)*10+20,u=l+h+(r.contentLeft-en.movedCodeBlockPadding),g=0;for(let e of a){let i=l+10+10*d.getTrack(g),o=r.glyphMarginWidth+r.lineNumbersWidth,s=document.createElementNS("http://www.w3.org/2000/svg","rect");s.classList.add("arrow-rectangle"),s.setAttribute("x",`${u-o}`),s.setAttribute("y",`${e.to-9}`),s.setAttribute("width",`${o}`),s.setAttribute("height","18"),this._element.appendChild(s);let a=document.createElementNS("http://www.w3.org/2000/svg","g"),h=document.createElementNS("http://www.w3.org/2000/svg","path");h.setAttribute("d",`M 0 ${e.from} L ${i} ${e.from} L ${i} ${e.to} L ${u-15} ${e.to}`),h.setAttribute("fill","none"),a.appendChild(h);let c=document.createElementNS("http://www.w3.org/2000/svg","polygon");c.classList.add("arrow"),t.add((0,m.fm)(t=>{h.classList.toggle("currentMove",e.move===n.activeMovedText.read(t)),c.classList.toggle("currentMove",e.move===n.activeMovedText.read(t))})),c.setAttribute("points",`${u-15},${e.to-7.5} ${u},${e.to} ${u-15},${e.to+7.5}`),a.appendChild(c),this._element.appendChild(a),g++}this.width.set(h,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register((0,c.s)(()=>this._element.remove())),this._register((0,m.fm)(e=>{let t=this._originalEditorLayoutInfo.read(e),i=this._modifiedEditorLayoutInfo.read(e);t&&i&&(this._element.style.left=`${t.width-t.verticalScrollbarWidth}px`,this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-en.movedCodeBlockPadding+this.width.read(e)}px`)})),this._register((0,m.OI)(this._state));const s=(0,m.un)(e=>{let t=this._diffModel.read(e),i=null==t?void 0:t.diff.read(e);return i?i.movedTexts.map(e=>({move:e,original:new R.D1((0,m.lk)(e.lineRangeMapping.original.startLineNumber-1),18),modified:new R.D1((0,m.lk)(e.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register((0,R.Vs)(this._editors.original,s.map(e=>e.map(e=>e.original)))),this._register((0,R.Vs)(this._editors.modified,s.map(e=>e.map(e=>e.modified)))),this._register((0,m.yC)((e,t)=>{for(let i of s.read(e))t.add(new es(this._editors.original,i.original,i.move,"original",this._diffModel.get())),t.add(new es(this._editors.modified,i.modified,i.move,"modified",this._diffModel.get()))}));const r=(0,m.yQ)("original.onDidFocusEditorWidget",e=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),a=(0,m.yQ)("modified.onDidFocusEditorWidget",e=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0)));let d="modified";this._register((0,m.Y)({createEmptyChangeSummary:()=>void 0,handleChange:(e,t)=>
1(e.didChange(r)&&(d="original"),e.didChange(a)&&(d="modified"),!0)},e=>{let t;r.read(e),a.read(e);let i=this._diffModel.read(e);if(!i)return;let n=i.diff.read(e);if(n&&"original"===d){let i=this._editors.originalCursor.read(e);i&&(t=n.movedTexts.find(e=>e.lineRangeMapping.original.contains(i.lineNumber)))}if(n&&"modified"===d){let i=this._editors.modifiedCursor.read(e);i&&(t=n.movedTexts.find(e=>e.lineRangeMapping.modified.contains(i.lineNumber)))}t!==i.movedTextToCompare.get()&&i.movedTextToCompare.set(void 0,void 0),i.setActiveMovedText(t)}))}}en.movedCodeBlockPadding=4;class eo{static compute(e){let t=[],i=[];for(let n of e){let e=t.findIndex(e=>!e.intersectsStrict(n));-1===e&&(t.length>=6?e=(0,h.TM)(t,(0,N.VE)(e=>e.intersectWithRangeLength(n),N.U9)):(e=t.length,t.push(new T.h))),t[e].addRange(n),i.push(e)}return new eo(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class es extends R.uN{constructor(e,t,i,n,o){let s;const r=(0,l.h)("div.diff-hidden-lines-widget");super(e,t,r.root),this._editor=e,this._move=i,this._kind=n,this._diffModel=o,this._nodes=(0,l.h)("div.diff-moved-code-block",{style:{marginRight:"4px"}},[(0,l.h)("div.text-content@textContent"),(0,l.h)("div.action-bar@actionBar")]),r.root.appendChild(this._nodes.root);const a=(0,m.y0)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register((0,R.AV)(this._nodes.root,{paddingRight:a.map(e=>e.verticalScrollbarWidth)})),s=i.changes.length>0?"original"===this._kind?(0,F.kg)("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,F.kg)("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?(0,F.kg)("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,F.kg)("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const d=this._register(new w.E(this._nodes.actionBar,{highlightToggledItems:!0})),h=new y.rc("",s,"",!1);d.push(h,{icon:!1,label:!0});const u=new y.rc("","Compare",S.L.asClassName(D.W.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register((0,m.fm)(e=>{u.checked=this._diffModel.movedTextToCompare.read(e)===i})),d.push(u,{icon:!1,label:!0})}}var er=i(58419);class ea extends c.jG{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=(0,m.un)(this,e=>{var t;let i=null==(t=this._diffModel.read(e))?void 0:t.diff.read(e);if(!i)return null;let n=this._diffModel.read(e).movedTextToCompare.read(e),o=this._options.renderIndicators.read(e),s=this._options.showEmptyDecorations.read(e),r=[],a=[];if(!n)for(let e of i.mappings)if(e.lineRangeMapping.original.isEmpty||r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:o?er.Ob:er.XT}),e.lineRangeMapping.modified.isEmpty||a.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:o?er.Kl:er.Zw}),e.lineRangeMapping.modified.isEmpty||e.lineRangeMapping.original.isEmpty)e.lineRangeMapping.original.isEmpty||r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:er.KL}),e.lineRangeMapping.modified.isEmpty||a.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:er.Ou});else for(let t of e.lineRangeMapping.innerChanges||[])e.lineRangeMapping.original.contains(t.originalRange.startLineNumber)&&r.push({range:t.originalRange,options:t.originalRange.isEmpty()&&s?er.wp:er.Zb}),e.lineRangeMapping.modified.contains(t.modifiedRange.startLineNumber)&&a.push({range:t.modifiedRange,options:t.modifiedRange.isEmpty()&&s?er.GM:er.bk});if(n)for(let e of n.changes){let t=e.original.toInclusiveRange();t&&r.push({range:t,options:o?er.Ob:er.XT});let i=e.modified.toInclusiveRange();for(let t of(i&&a.push({range:i,options:o?er.Kl:er.Zw}),e.innerChanges||[]))r.push({range:t.originalRange,options:er.Zb}),a.push({range:t.modifiedRange,options:er.bk})}let d=this._diffModel.read(e).activeMovedText.read(e);for(let e of i.movedTexts)r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(e===d?" currentMove":""),blockPadding:[en.movedCodeBlockPadding,0,en.movedCodeBlockPadding,en.movedCodeBlockPadding]}}),a.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(e===d?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:a}}),this._register((0,R.pY)(this._editors.original,this._decorations.map(e=>(null==e?void 0:e.originalDecorations)||[]))),this._register((0,R.pY)(this._editors.modified,this._decorations.map(e=>(null==e?void 0:e.modifiedDecorations)||[])))}}var ed=i(1252);class el{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=(0,_.dQ)(this,e=>{var t;let i=null!=(t=this._sashRatio.read(e))?t:this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(i,e)},(e,t)=>{let i=this.dimensions.width.get();this._sashRatio.set(e/i,t)}),this._sashRatio=(0,m.FY)(this,void 0)}_computeSashLeft(e,t){let i=this.dimensions.width.read(t),n=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):n;return i<=200?n:o<100?100:o>i-100?i-100:o}}class eh extends c.jG{constructor(e,t,i,n,o,s){super(),this._domNo
1de=e,this._dimensions=t,this._enabled=i,this._boundarySashes=n,this.sashLeft=o,this._resetSash=s,this._sash=this._register(new ed.m(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,m.fm)(e=>{let t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)})),this._register((0,m.fm)(e=>{let t=this._enabled.read(e);this._sash.state=3*!!t,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()}))}}var eu=i(4798),eg=i(43143),ec=i(78559),em=i(84718),e_=i(10141),ep=i(32216),ef=i(26571),ev=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},eC=function(e,t){return function(i,n){t(i,n,e)}};let eb=(0,B.u1)("diffProviderFactoryService"),ew=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(eL,e)}};ew=ev([eC(0,B._Y)],ew),(0,em.v)(eb,ew,1);let eL=a=class{constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new g.vl,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;null==(e=this.diffAlgorithmOnDidChangeSubscription)||e.dispose()}async computeDiff(e,t,i,n){var o,s;if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,i,n);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new A.wm(new I.M(1,2),new I.M(1,t.getLineCount()+1),[new A.q6(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};let r=JSON.stringify([e.uri.toString(),t.uri.toString()]),d=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),l=a.diffCache.get(r);if(l&&l.context===d)return l.result;let h=e_.W.create(),u=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),g=h.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:g,timedOut:null==(o=null==u?void 0:u.quitEarly)||o,detectedMoves:i.computeMoves?null!=(s=null==u?void 0:u.moves.length)?s:0:-1}),n.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!u)throw Error("no diff result available");return a.diffCache.size>10&&a.diffCache.delete(a.diffCache.keys().next().value),a.diffCache.set(r,{result:u,context:d}),u}setOptions(e){var t;let i=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(null==(t=this.diffAlgorithmOnDidChangeSubscription)||t.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>
1this.onDidChangeEventEmitter.fire())),i=!0),i&&this.onDidChangeEventEmitter.fire()}};eL.diffCache=new Map,eL=a=ev([eC(1,ep.w),eC(2,ef.k)],eL);var ey=i(14787),eN=i(3242),eD=i(31748),eS=i(134),eM=i(13390);let eR=class extends c.jG{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=(0,m.FY)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,m.FY)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,m.FY)(this,void 0),this.unchangedRegions=(0,m.un)(this,e=>{var t,i;return this._options.hideUnchangedRegions.read(e)?null!=(i=null==(t=this._unchangedRegions.read(e))?void 0:t.regions)?i:[]:((0,m.Rn)(e=>{var t;for(let i of(null==(t=this._unchangedRegions.get())?void 0:t.regions)||[])i.collapseAll(e)}),[])}),this.movedTextToCompare=(0,m.FY)(this,void 0),this._activeMovedText=(0,m.FY)(this,void 0),this._hoveredMovedText=(0,m.FY)(this,void 0),this.activeMovedText=(0,m.un)(this,e=>{var t,i;return null!=(i=null!=(t=this.movedTextToCompare.read(e))?t:this._hoveredMovedText.read(e))?i:this._activeMovedText.read(e)}),this._cancellationTokenSource=new ec.Qi,this._diffProvider=(0,m.un)(this,e=>{let t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)}),i=(0,m.yQ)("onDidChange",t.onDidChange);return{diffProvider:t,onChangeSignal:i}}),this._register((0,c.s)(()=>this._cancellationTokenSource.cancel()));const n=(0,m.Yd)("contentChangedSignal"),o=this._register(new eu.uC(()=>n.trigger(void 0),200));this._register((0,m.fm)(t=>{let i=this._unchangedRegions.read(t);if(!i||i.regions.some(e=>e.isDragged.read(t)))return;let n=i.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?I.M.fromRangeInclusive(e):void 0),o=i.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?I.M.fromRangeInclusive(e):void 0),s=i.regions.map((e,i)=>n[i]&&o[i]?new eT(n[i].startLineNumber,o[i].startLineNumber,n[i].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0).filter(eg.O9),r=[],a=!1;for(let e of(0,N.n)(s,(e,i)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===i.getHiddenModifiedRange(t).startLineNumber))if(e.length>1){a=!0;let t=e.reduce((e,t)=>e+t.lineCount,0),i=new eT(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(i)}else r.push(e[0]);if(a){let t=e.original.deltaDecorations(i.originalDecorationIds,r.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),n=e.modified.deltaDecorations(i.modifiedDecorationIds,r.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,m.Rn)(e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:n},e)})}}));const s=(t,i,n)=>{let o,s=eT.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnch
1angedRegionsMinimumLineCount.read(n),this._options.hideUnchangedRegionsContextLineCount.read(n)),r=this._unchangedRegions.get();if(r){let t=r.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?I.M.fromRangeInclusive(e):void 0),i=r.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?I.M.fromRangeInclusive(e):void 0),s=(0,R.EK)(r.regions.map((e,n)=>{if(!t[n]||!i[n])return;let o=t[n].length;return new eT(t[n].startLineNumber,i[n].startLineNumber,o,Math.min(e.visibleLineCountTop.get(),o),Math.min(e.visibleLineCountBottom.get(),o-e.visibleLineCountTop.get()))}).filter(eg.O9),(e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount).map(e=>new A.WL(e.getHiddenOriginalRange(n),e.getHiddenModifiedRange(n)));s=A.WL.clip(s,I.M.ofLength(1,e.original.getLineCount()),I.M.ofLength(1,e.modified.getLineCount())),o=A.WL.inverse(s,e.original.getLineCount(),e.modified.getLineCount())}let a=[];if(o)for(let e of s){let t=o.filter(t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange));a.push(...e.setVisibleRanges(t,i))}else a.push(...s);let d=e.original.deltaDecorations((null==r?void 0:r.originalDecorationIds)||[],a.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),l=e.modified.deltaDecorations((null==r?void 0:r.modifiedDecorationIds)||[],a.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:a,originalDecorationIds:d,modifiedDecorationIds:l},i)};this._register(e.modified.onDidChangeContent(t=>{if(this._diff.get()){let i=eN.c.fromModelContentChanges(t.changes),n=eW(this._lastDiff,i,e.original,e.modified);n&&(this._lastDiff=n,(0,m.Rn)(e=>{this._diff.set(ex.fromDiffResult(this._lastDiff),e),s(n,e);let t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified)):void 0,e)}))}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(e.original.onDidChangeContent(t=>{if(this._diff.get()){let i=eN.c.fromModelContentChanges(t.changes),n=eE(this._lastDiff,i,e.original,e.modified);n&&(this._lastDiff=n,(0,m.Rn)(e=>{this._diff.set(ex.fromDiffResult(this._lastDiff),e),s(n,e);let t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified)):void 0,e)}))}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register((0,m.yC)(async(t,i)=>{var r,a,d,l,h;
1this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),o.cancel(),n.read(t);let u=this._diffProvider.read(t);u.onChangeSignal.read(t),(0,R.b6)(ey.D8,t),(0,R.b6)(eS.NC,t),this._isDiffUpToDate.set(!1,void 0);let g=[];i.add(e.original.onDidChangeContent(e=>{let t=eN.c.fromModelContentChanges(e.changes);g=(0,eD.M)(g,t)}));let c=[];i.add(e.modified.onDidChangeContent(e=>{let t=eN.c.fromModelContentChanges(e.changes);c=(0,eD.M)(c,t)}));let _=await u.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(_=null!=(a=eW(_=null!=(r=eE((d=_,l=e.original,h=e.modified,_={changes:d.changes.map(e=>new A.wm(e.original,e.modified,e.innerChanges?e.innerChanges.map(e=>{var t,i,n;let o,s;return t=e,i=l,n=h,o=t.originalRange,s=t.modifiedRange,(1!==o.endColumn||1!==s.endColumn)&&o.endColumn===i.getLineMaxColumn(o.endLineNumber)&&s.endColumn===n.getLineMaxColumn(s.endLineNumber)&&o.endLineNumber<i.getLineCount()&&s.endLineNumber<n.getLineCount()&&(o=o.setEndPosition(o.endLineNumber+1,1),s=s.setEndPosition(s.endLineNumber+1,1)),new A.q6(o,s)}):void 0)),moves:d.moves,identical:d.identical,quitEarly:d.quitEarly}),g,e.original,e.modified))?r:_,c,e.original,e.modified))?a:_,(0,m.Rn)(e=>{s(_,e),this._lastDiff=_;let t=ex.fromDiffResult(_);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);let i=this.movedTextToCompare.get();this.movedTextToCompare.set(i?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(i.lineRangeMapping.modified)):void 0,e)}))}))}ensureModifiedLineIsVisible(e,t,i){var n,o;if((null==(n=this.diff.get())?void 0:n.mappings.length)!==0){for(let n of(null==(o=this._unchangedRegions.get())?void 0:o.regions)||[])if(n.getHiddenModifiedRange(void 0).contains(e))return void n.showModifiedLine(e,t,i)}}ensureOriginalLineIsVisible(e,t,i){var n,o;if((null==(n=this.diff.get())?void 0:n.mappings.length)!==0){for(let n of(null==(o=this._unchangedRegions.get())?void 0:o.regions)||[])if(n.getHiddenOriginalRange(void 0).contains(e))return void n.showOriginalLine(e,t,i)}}async waitForDiff(){await (0,m.oJ)(this.isDiffUpToDate,e=>e)}serializeState(){let e=this._unchangedRegions.get();return{collapsedRegions:null==e?void 0:e.regions.map(e=>({range:e.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){var t;let i=null==(t=e.collapsedRegions)?void 0:t.map(e=>I.M.deserialize(e.range)),n=this._unchangedRegions.get();n&&i&&(0,m.Rn)(e=>{for(let t of n.regions)for(let n of i)if(t.modifiedUnchangedRange.intersect(n)){t.setHiddenModifiedRange(n,e);break}})}};eR=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){eb(e,t,2)}],eR);class ex{static fromDiffResult(e){return new ex(e.changes.map(e=>new eI(e)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,n){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=n}}class eI{constructor(e){this.lineRangeMapping=e}}class eT{static fromDiffs(e,t,i,n,o){let s=A.wm.inverse(e,t,i),r=[];for(let e of s){let s=e.original.startLineNumber,a=e.modified.startLineNumber,d=e.original.length,l=1===s&&1===a,h=s+d===t+1&&a+d===i+1;(l||h)&&d>=o+n?(l&&!h&&(d-=o),h&&!l&&(s+=o,a+=o,d-=o),r.push(new eT(s,a,d,0,0))):d>=2*o+n&&(s+=o,a+=o,d-=2*o,r.push(new eT(s,a,d,0,0)))}return r}get originalUnchangedRange(){return I.M.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return I.M.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,n,o){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=(0,m.FY)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,m.FY)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,m.un)(this,e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e)),this.isDragged=(0,m.FY)(this,void 0);const s=Math.max(Math.min(n,this.lineCount),0),r=Math.max(Math.min(o,this.lineCount-n),0);(0,eM.V7)(n===s),(0,eM.V7)(o===r),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){let i=[],n=new I.S(e.map(e=>e.modified)).subtractFrom(this.modifiedUnchangedRange),o=this.originalLineNumber,s=this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount;if(0===n.ranges.length)this.showAll(t),i.push(this);else{let e=0;for(let a of n.ranges){let d=e===n.ranges.length-1;e++;
1let l=(d?r:a.endLineNumberExclusive)-s,h=new eT(o,s,l,0,0);h.setHiddenModifiedRange(a,t),i.push(h),o=h.originalUnchangedRange.endLineNumberExclusive,s=h.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return I.M.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return I.M.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){let i=e.startLineNumber-this.modifiedLineNumber,n=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,n,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){let i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){let i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){let n=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),o=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&n<o||1===t?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+n,i):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+o,i)}showOriginalLine(e,t,i){let n=e-this.originalLineNumber,o=this.originalLineNumber+this.lineCount-e;0===t&&n<o||1===t?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+o-n,this.getMaxVisibleLineCountTop()),i):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+n-o,this.getMaxVisibleLineCountBottom()),i)}collapseAll(e){this._visibleLineCountTop.set(0,e),this._visibleLineCountBottom.set(0,e)}setState(e,t,i){e=Math.max(Math.min(e,this.lineCount),0),t=Math.max(Math.min(t,this.lineCount-e),0),this._visibleLineCountTop.set(e,i),this._visibleLineCountBottom.set(t,i)}}function eE(e,t,i,n){}function eW(e,t,i,n){}var eA=i(56387);class eO extends c.jG{get visibility(){return this._visibility}set visibility(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")}constructor(e,t,i,n,o,s,r,a,d){super(),this._getViewZoneId=e,this._marginDomNode=t,this._modifiedEditor=i,this._diff=n,this._editor=o,this._viewLineCounts=s,this._originalTextModel=r,this._contextMenuService=a,this._clipboardService=d,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=S.L.asClassName(D.W.lightBulb)+" lightbulb-glyph",this._diffActions.style.position="absolute";const h=this._modifiedEditor.getOption(67);this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${h}px`,this._diffActions.style.lineHeight=`${h}px`,this._marginDomNode.appendChild(this._diffActions);let u=0;const g=i.getOption(127)&&!eA.un,c=(e,t)=>{var o;this._contextMenuService.showContextMenu({domForShadowRoot:g&&null!=(o=i.getDomNode())?o:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{let e=[],t=n.modified.isEmpty;return e.push(new y.rc("diff.clipboard.copyDeletedContent",t?n.original.length>1?(0,F.kg)("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):(0,F.kg)("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):n.original.length>1?(0,F.kg)("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):(0,F.kg)("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{let e=this._originalTextModel.getValueInRange(n.original.toExclusiveRange());await this._clipboardService.writeText(e)})),n.original.length>1&&e.push(new y.rc("diff.clipboard.copyDeletedLineContent",t?(0,F.kg)("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",n.original.startLineNumber+u):(0,F.kg)("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",n.original.startLineNumber+u),void 0,!0,async()=>{let e=this._originalTextModel.getLineContent(n.original.startLineNumber+u);""===e&&(e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(e)}
1)),i.getOption(91)||e.push(new y.rc("diff.inline.revertChange",(0,F.kg)("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),e},autoSelectFirstItem:!0})};this._register((0,l.b2)(this._diffActions,"mousedown",e=>{if(!e.leftButton)return;let{top:t,height:i}=(0,l.BK)(this._diffActions),n=Math.floor(h/3);e.preventDefault(),c(e.posx,t+i+n)})),this._register(i.onMouseMove(e=>{(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,h),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(e=>{e.event.leftButton&&(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,h),c(e.event.posx,e.event.posy+h))}))}_updateLightBulbPosition(e,t,i){let{top:n}=(0,l.BK)(e),o=Math.floor((t-n)/i);if(this._diffActions.style.top=`${o*i}px`,this._viewLineCounts){let e=0;for(let t=0;t<this._viewLineCounts.length;t++)if(o<(e+=this._viewLineCounts[t]))return t}return o}}var eP=i(13532),eH=i(52097);let eV=(0,b.H)("diffEditorWidget",{createHTML:e=>e});class eF{constructor(e,t,i,n){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=i,this.mightContainRTL=n}}class ek{static fromEditor(e){var t;let i=e.getOptions(),n=i.get(50),o=i.get(145);return new ek((null==(t=e.getModel())?void 0:t.getOptions().tabSize)||0,n,i.get(33),n.typicalHalfwidthCharacterWidth,i.get(104),i.get(67),o.decorationsWidth,i.get(117),i.get(99),i.get(94),i.get(51))}constructor(e,t,i,n,o,s,r,a,d,l,h){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=i,this.typicalHalfwidthCharacterWidth=n,this.scrollBeyondLastColumn=o,this.lineHeight=s,this.lineDecorationsWidth=r,this.stopRenderingLineAfter=a,this.renderWhitespace=d,this.renderControlCharacters=l,this.fontLigatures=h}}
1function eB(e,t,i,n,o,s,r,a){a.appendString('<div class="view-line'),n||a.appendString(" char-delete"),a.appendString('" style="top:'),a.appendString(String(e*r.lineHeight)),a.appendString('px;width:1000000px;">');let d=t.getLineContent(),l=V.qL.isBasicASCII(d,o),h=V.qL.containsRTL(d,l,s),u=(0,H.UW)(new H.zL(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,d,!1,l,h,0,t,i,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==x.Bc.OFF,null),a);return a.appendString("</div>"),u.characterMapping.getHorizontalOffset(u.characterMapping.length)}var ez=i(65826),eU=i(89284),eG=function(e,t){return function(i,n){t(i,n,e)}};let eZ=class extends c.jG{constructor(e,t,i,n,o,s,r,a,d,h){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=n,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=s,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=a,this._clipboardService=d,this._contextMenuService=h,this._originalTopPadding=(0,m.FY)(this,0),this._originalScrollOffset=(0,m.FY)(this,0),this._originalScrollOffsetAnimated=(0,R.Nu)(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,m.FY)(this,0),this._modifiedScrollOffset=(0,m.FY)(this,0),this._modifiedScrollOffsetAnimated=(0,R.Nu)(this._targetWindow,this._modifiedScrollOffset,this._store);const u=(0,m.FY)("invalidateAlignmentsState",0),g=this._register(new eu.uC(()=>{u.set(u.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||g.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||g.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(e=>{(e.hasChanged(146)||e.hasChanged(67))&&g.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(e=>{(e.hasChanged(146)||e.hasChanged(67))&&g.schedule()}));const _=this._diffModel.map(e=>e?(0,m.y0)(e.model.original.onDidChangeTokens,()=>2===e.model.original.tokenization.backgroundTokenizationState):void 0).map((e,t)=>null==e?void 0:e.read(t)),p=(0,m.un)(e=>{let t=this._diffModel.read(e),i=null==t?void 0:t.diff.read(e);if(!t||!i)return null;u.read(e);let n=this._options.renderSideBySide.read(e);return ej(this._editors.original,this._editors.modified,i.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,n)}),f=(0,m.un)(e=>{var t;let i=null==(t=this._diffModel.read(e))?void 0:t.movedTextToCompare.read(e);if(!i)return null;u.read(e);let n=i.changes.map(e=>new eI(e));return ej(this._editors.original,this._editors.modified,n,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function v(){let e=document.createElement("div");return e.className="diagonal-fill",e}const C=this._register(new c.Cm);this.viewZones=(0,m.rm)(this,(e,t)=>{var i,n,s,r,a,d,h,u;C.clear();let g=p.read(e)||[],c=[],m=[],b=this._modifiedTopPadding.read(e);b>0&&m.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:b,showInHiddenAreas:!0,suppressMouseDown:!0});let w=this._originalTopPadding.read(e);w>0&&c.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:w,showInHiddenAreas:!0,suppressMouseDown:!0});let L=this._options.renderSideBySide.read(e),y=L||null==(i=this._editors.modified._getViewModel())?void 0:i.createLineBreaksComputer();if(y){let e=this._editors.original.getModel();for(let t of g)if(t.diff)for(let i=t.originalRange.startLineNumber;i<t.originalRange.endLineNumberExclusive;i++){if(i>e.getLineCount())return{orig:c,mod:m};null==y||y.addRequest(e.getLineContent(i),null,null)}}let N=null!=(n=null==y?void 0:y.finalize())?n:[],R=0,x=this._editors.modified.getOption(67),I=null==(s=this._diffModel.read(e))?void 0:s.movedTextToCompare.read(e),T=null!=(a=null==(r=this._editors.original.getModel())?void 0:r.mightContainNonBasicASCII())&&a,E=null!=(h=null==(d=this._editors.original.getModel())?void 0:d.mightContainRTL())&&h,W=ek.fromEditor(this._editors.modified);for(let i of g)if(i.diff&&!L){if(!i.originalRange.isEmpty){let t;_.read(e);let n=document.createElement("div");n.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");let o=this._editors.original.getModel();if(i.originalRange.endLineNumberExclusive-1>o.getLineCount())return{orig:c,mod:m};let s=new eF(i.originalRange.mapToLineArray(e=>o.tokenization.getLineTokens(e)),i.originalRange.mapToLineArray(e=>N[R++]),T,E),r=[];for(let e of i.diff.innerChanges||[])r.push(new V.kI(e.originalRange.delta(-(i.diff.original.startLineNumber-1)),er.Zb.className,0)
1);let a=function(e,t,i,n){(0,M.M)(n,t.fontInfo);let o=i.length>0,s=new eP.fe(1e4),r=0,a=0,d=[];for(let n=0;n<e.lineTokens.length;n++){let l=n+1,h=e.lineTokens[n],u=e.lineBreakData[n],g=eH.d.filter(i,l,1,Number.MAX_SAFE_INTEGER);if(u){let i=0;for(let n of u.breakOffsets)r=Math.max(r,eB(a,h.sliceAndInflate(i,n,0),eH.d.extractWrapped(g,i,n),o,e.mightContainNonBasicASCII,e.mightContainRTL,t,s)),a++,i=n;d.push(u.breakOffsets.length)}else d.push(1),r=Math.max(r,eB(a,h,g,o,e.mightContainNonBasicASCII,e.mightContainRTL,t,s)),a++}r+=t.scrollBeyondLastColumn;let l=s.build();return n.innerHTML=eV?eV.createHTML(l):l,{heightInLines:a,minWidthInPx:r*t.typicalHalfwidthCharacterWidth,viewLineCounts:d}}(s,W,r,n),d=document.createElement("div");if(d.className="inline-deleted-margin-view-zone",(0,M.M)(d,W.fontInfo),this._options.renderIndicators.read(e))for(let e=0;e<a.heightInLines;e++){let t=document.createElement("div");t.className=`delete-sign ${S.L.asClassName(er.dv)}`,t.setAttribute("style",`position:absolute;top:${e*x}px;width:${W.lineDecorationsWidth}px;height:${x}px;right:0;`),d.appendChild(t)}C.add(new eO(()=>(0,eg.eU)(t),d,this._editors.modified,i.diff,this._diffEditorWidget,a.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let e=0;e<a.viewLineCounts.length;e++){let t=a.viewLineCounts[e];t>1&&c.push({afterLineNumber:i.originalRange.startLineNumber+e,domNode:v(),heightInPx:(t-1)*x,showInHiddenAreas:!0,suppressMouseDown:!0})}m.push({afterLineNumber:i.modifiedRange.startLineNumber-1,domNode:n,heightInPx:a.heightInLines*x,minWidthInPx:a.minWidthInPx,marginDomNode:d,setZoneId(e){t=e},showInHiddenAreas:!0,suppressMouseDown:!0})}let t=document.createElement("div");t.className="gutter-delete",c.push({afterLineNumber:i.originalRange.endLineNumberExclusive-1,domNode:v(),heightInPx:i.modifiedHeightInPx,marginDomNode:t,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let n=i.modifiedHeightInPx-i.originalHeightInPx;if(n>0){if(null==I?void 0:I.lineRangeMapping.original.delta(-1).deltaLength(2).contains(i.originalRange.endLineNumberExclusive-1))continue;c.push({afterLineNumber:i.originalRange.endLineNumberExclusive-1,domNode:v(),heightInPx:n,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let s;if(null==I?void 0:I.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(i.modifiedRange.endLineNumberExclusive-1))continue;i.diff&&i.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(s=function(){let e=document.createElement("div");return e.className="arrow-revert-change "+S.L.asClassName(D.W.arrowRight),t.add((0,l.ko)(e,"mousedown",e=>e.stopPropagation())),t.add((0,l.ko)(e,"click",e=>{e.stopPropagation(),o.revert(i.diff)})),(0,l.$)("div",{},e)}()),m.push({afterLineNumber:i.modifiedRange.endLineNumberExclusive-1,domNode:v(),heightInPx:-n,marginDomNode:s,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(let t of null!=(u=f.read(e))?u:[]){if(!(null==I?void 0:I.lineRangeMapping.original.intersect(t.originalRange))||!(null==I?void 0:I.lineRangeMapping.modified.intersect(t.modifiedRange)))continue;let e=t.modifiedHeightInPx-t.originalHeightInPx;e>0?c.push({afterLineNumber:t.originalRange.endLineNumberExclusive-1,domNode:v(),heightInPx:e,showInHiddenAreas:!0,suppressMouseDown:!0}):m.push({afterLineNumber:t.modifiedRange.endLineNumberExclusive-1,domNode:v(),heightInPx:-e,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:c,mod:m}});let b=!1;this._register(this._editors.original.onDidScrollChange(e=>{e.scrollLeftChanged&&!b&&(b=!0,this._editors.modified.setScrollLeft(e.scrollLeft),b=!1)})),this._register(this._editors.modified.onDidScrollChange(e=>{e.scrollLeftChanged&&!b&&(b=!0,this._editors.original.setScrollLeft(e.scrollLeft),b=!1)})),this._originalScrollTop=(0,m.y0)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,m.y0)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register((0,m.fm)(e=>{let t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)})),this._register((0,m.fm)(e=>{let t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)})),this._register((0,m.fm)(e=>{var t;let i=null==(t=this._diffModel.read(e))?void 0:t.movedTextToCompare.read(e),n=0;if(i){let e=this._editors.original.getTopForLineNumber(i.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();n=this._editors.modified.getTopForLineNumber(i.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}n>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(n,void 0)):n<0?(this._modifiedTopPadding.set(-n,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-n,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+n,void 0,!0)}))}};function ej(e,t,i,n,o,s){let r=new N.j3(e$(e,n)),a=new N.j3(e$(t,o)),d=e.getOption(67),l=t.getOption(67),h=[],u=0,g=0;function c(e,t){for(;;){let i=r.peek(),n=a.peek();if(i&&i.lineNumber>=e&&(i=void 0),n&&n.lineNumber>=t&&(n=void 0),!i&&!n)break;let o=i?i.lineNumber-u:Number.MAX_VALUE,s=n?n.lineNumber-g:Number.MAX_VALUE;o<s?(r.dequeue(),n={lineNumber:i.lineNumber-u+g,heightInPx:0}):o>s?(a.dequeue(),i={lineNumber:n.lineNumber-g+u,heightInPx:0}):(r.dequeue(),a.dequeue()),h.push({originalRange:I.M.ofLength(i.lineNumber,1),modifiedRange:I.M.ofLength(n.lineNumber,1),originalHeightInPx:d+i.heightInPx,modifiedHeightInPx:l+n.heightInPx,diff:void 0})}}for(let t of i){let i=t.lineRangeMapping;c(i.original.startLineNumber,i.modified.startLineNumber);let n=!0,o=i.modified.startLineNumber,_=i.original.startLineNumber;function m(e,i){var s,u,g,c;if(e<_||i<o)return;if(n)n=!1;else if(e===_||i===o)return;let m=new I.M(_,e),p=new I.M(o,i);if(m.isEmpty&&p.isEmpty)return;let f=null!=(u=null==(s=r.takeWhile(t=>t.lineNumber<e))?void 0:s.reduce((e,t)=>
1e+t.heightInPx,0))?u:0,v=null!=(c=null==(g=a.takeWhile(e=>e.lineNumber<i))?void 0:g.reduce((e,t)=>e+t.heightInPx,0))?c:0;h.push({originalRange:m,modifiedRange:p,originalHeightInPx:m.length*d+f,modifiedHeightInPx:p.length*l+v,diff:t.lineRangeMapping}),_=e,o=i}if(s)for(let t of i.innerChanges||[]){t.originalRange.startColumn>1&&t.modifiedRange.startColumn>1&&m(t.originalRange.startLineNumber,t.modifiedRange.startLineNumber);let i=e.getModel(),n=t.originalRange.endLineNumber<=i.getLineCount()?i.getLineMaxColumn(t.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;t.originalRange.endColumn<n&&m(t.originalRange.endLineNumber,t.modifiedRange.endLineNumber)}m(i.original.endLineNumberExclusive,i.modified.endLineNumberExclusive),u=i.original.endLineNumberExclusive,g=i.modified.endLineNumberExclusive}return c(Number.MAX_VALUE,Number.MAX_VALUE),h}function e$(e,t){let i=[],n=[],o=-1!==e.getOption(146).wrappingColumn,s=e._getViewModel().coordinatesConverter,r=e.getOption(67);if(o)for(let t=1;t<=e.getModel().getLineCount();t++){let e=s.getModelLineViewLineCount(t);e>1&&n.push({lineNumber:t,heightInPx:r*(e-1)})}for(let n of e.getWhitespaces()){if(t.has(n.id))continue;let e=0===n.afterLineNumber?0:s.convertViewPositionToModelPosition(new E.y(n.afterLineNumber,1)).lineNumber;i.push({lineNumber:e,heightInPx:n.height})}return(0,R.Am)(i,n,e=>e.lineNumber,(e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx}))}eZ=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([eG(8,ez.h),eG(9,eU.Z)],eZ);class eQ extends c.jG{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=(0,m.y0)(this._editor.onDidScrollChange,e=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(e=>0===e),this.modelAttached=(0,m.y0)(this._editor.onDidChangeModel,e=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,m.yQ)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,m.yQ)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,m.Yd)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";
1const n=this._domNode.appendChild((0,l.h)("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver(()=>{(0,m.Rn)(e=>{this.domNodeSizeChanged.trigger(e)})});o.observe(this._domNode),this._register((0,c.s)(()=>o.disconnect())),this._register((0,m.fm)(e=>{n.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"})),this._register((0,m.fm)(e=>this.render(e)))}dispose(){super.dispose(),(0,l.Ln)(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);let t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),n=new Set(this.views.keys()),o=T.L.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(let s of i){let i=new I.M(s.startLineNumber,s.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(i,e);(0,m.Rn)(e=>{for(let s of r){if(!s.range.intersect(i))continue;n.delete(s.id);let r=this.views.get(s.id);if(r)r.item.set(s,e);else{let e=document.createElement("div");this._domNode.appendChild(e);let t=(0,m.FY)("item",s),i=this.itemProvider.createView(t,e);r=new eq(t,i,e),this.views.set(s.id,r)}let a=s.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(s.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(s.range.startLineNumber-1,!1)-t,d=(s.range.isEmpty?a:this._editor.getBottomForLineNumber(s.range.endLineNumberExclusive-1,!0)-t)-a;r.domNode.style.top=`${a}px`,r.domNode.style.height=`${d}px`,r.gutterItemView.layout(T.L.ofStartAndLength(a,d),o)}})}for(let e of n){let t=this.views.get(e);t.gutterItemView.dispose(),this._domNode.removeChild(t.domNode),this.views.delete(e)}}}class eq{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}var eK=i(69679),eY=i(10528),eX=i(42555),eJ=i(93612),e0=i(77259),e1=i(31505),e3=i(79204),e2=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},e5=function(e,t){return function(i,n){t(i,n,e)}};let e6=[],e4=class extends c.jG{constructor(e,t,i,n,o,s,r,a,d){super(),this._diffModel=t,this._editors=i,this._options=n,this._sashLayout=o,this._boundarySashes=s,this._instantiationService=r,this._contextKeyService=a,this._menuService=d,this._menu=this._register(this._menuService.createMenu(e0.D8.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,m.y0)(this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(e=>e.length>0),this._showSash=(0,m.un)(this,e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e)),this.width=(0,m.un)(this,e=>35*!!this._hasActions.read(e)),this.elements=(0,l.h)("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=(0,m.un)(this,e=>{var t;let i=this._diffModel.read(e);if(!i)return;let n=null==(t=i.diff.read(e))?void 0:t.mappings,o=this._editors.modifiedCursor.read(e);if(o)return null==n?void 0:n.find(e=>e.lineRangeMapping.modified.contains(o.lineNumber))}),this._selectedDiffs=(0,m.un)(this,e=>{let t=this._diffModel.read(e),i=null==t?void 0:t.diff.read(e);if(!i)return e6;let n=this._editors.modifiedSelections.read(e);if(n.every(e=>e.isEmpty()))return e6;let o=new I.S(n.map(e=>I.M.fromRangeInclusive(e))),s=i.mappings.filter(e=>e.lineRangeMapping.innerChanges&&o.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>n.some(t=>W.Q.areIntersecting(e.modifiedRange,t)))}));return 0===s.length||s.every(e=>0===e.rangeMappings.length)?e6:s}),this._register((0,R.$y)(e,this.elements.root)),this._register((0,l.ko)(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register((0,R.AV)(this.elements.root,{display:this._hasActions.map(e=>e?"block":"none")})),(0,_.a0)(this,t=>this._showSash.read(t)?new eh(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,_.dQ)(this,e=>this._sashLayout.sashLeft.read(e)-35,(e,t)=>this._sashLayout.sashLeft.set(e+35,t)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new eQ(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{let i=this._diffModel.read(t);if(!i)return[];let n=i.diff.read(t);if(!n)return[];let o=this._selectedDiffs.read(t);if(o.length>0)return[new e9(A.wm.fromRangeMappings(o.flatMap(e=>
1e.rangeMappings)),!0,e0.D8.DiffEditorSelectionToolbar,void 0,i.model.original.uri,i.model.modified.uri)];let s=this._currentDiff.read(t);return n.mappings.map(e=>new e9(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===(null==s?void 0:s.lineRangeMapping),e0.D8.DiffEditorHunkToolbar,void 0,i.model.original.uri,i.model.modified.uri))},createView:(e,t)=>this._instantiationService.createInstance(e7,e,t,this)})),this._register((0,l.ko)(this.elements.gutter,l.Bx.MOUSE_WHEEL,e=>{this._editors.modified.getOption(103).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1}))}computeStagedValue(e){var t;let i=null!=(t=e.innerChanges)?t:[],n=new eX.m(this._editors.modifiedModel.get()),o=new eX.m(this._editors.original.getModel());return new eY.mF(i.map(e=>e.toTextEdit(n))).apply(o)}layout(e){this.elements.gutter.style.left=e+"px"}};e4=e2([e5(6,B._Y),e5(7,e1.fN),e5(8,e0.ez)],e4);class e9{constructor(e,t,i,n,o,s){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=n,this.originalUri=o,this.modifiedUri=s}get id(){return this.mapping.modified.toString()}get range(){var e;return null!=(e=this.rangeOverride)?e:this.mapping.modified}}let e7=class extends c.jG{constructor(e,t,i,n){super(),this._item=e,this._elements=(0,l.h)("div.gutterItem",{style:{height:"20px",width:"34px"}},[(0,l.h)("div.background@background",{},[]),(0,l.h)("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,e=>e.showAlways),this._menuId=this._item.map(this,e=>e.menuId),this._isSmall=(0,m.FY)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(n.createInstance(e3.fO,"element",!0,{position:{hoverPosition:1}}));this._register((0,R.rX)(t,this._elements.root)),this._register((0,m.fm)(e=>{let t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register((0,m.yC)((e,t)=>{this._elements.buttons.replaceChildren();let s=t.add(n.createInstance(eJ.m,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new eK.I(()=>{let e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:i.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));t.add(s.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),i=this._elements.buttons.clientHeight;let n=e.length/2-i/2,o=i,s=e.start+n,r=T.L.tryCreate(o,t.endExclusive-o-i),a=T.L.tryCreate(e.start+o,e.endExclusive-i-o);a&&r&&a.start<a.endExclusive&&(s=r.clip(s),s=a.clip(s)),this._elements.buttons.style.top=`${s-e.start}px`}};e7=e2([e5(3,B._Y)],e7);var e8=i(76693),te=i(71931),tt=i(26962),ti=i(74619),tn=i(99071),to=i(23436);let ts=d=class extends c.jG{constructor(e,t,i,n,o,s,r){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=n,this._rootHeight=o,this._modifiedEditorLayoutInfo=s,this._themeService=r,this.width=d.ENTIRE_DIFF_OVERVIEW_WIDTH;const a=(0,m.y0)(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),h=(0,m.un)(e=>{let t=a.read(e);return{insertColor:t.getColor(tn.ld8)||(t.getColor(tn.Gj6)||tn.EY1).transparent(2),removeColor:t.getColor(tn.$BZ)||(t.getColor(tn.GNm)||tn.ZEf).transparent(2)}}),u=(0,te.Z)(document.createElement("div"));u.setClassName("diffViewport"),u.setPosition("absolute");const g=(0,l.h)("div.diffOverview",{style:{position:"absolute",top:"0px",width:d.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register((0,R.rX)(g,u.domNode)),this._register((0,l.b2)(g,l.Bx.POINTER_DOWN,e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})),this._register((0,l.ko)(g,l.Bx.MOUSE_WHEEL,e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1})),this._register((0,R.rX)(this._rootElement,g)),this._register((0,m.yC)((e,t)=>{let i=this._diffModel.read(e),n=this._editors.original.createOverviewRuler("original diffOverviewRuler");n&&(t.add(n),t.add((0,R.rX)(g,n.getDomNode())));let o=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(o&&(t.add(o),t.add((0,R.rX)(g,o.getDomNode()))),!n||!o)return;let s=(0,m.yQ)("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=(0,m.yQ)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),a=(0,m.yQ)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),l=(0,m.yQ)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add((0,m.fm)(e=>{var t;s.read(e),r.read(e),a.read(e),l.read(e);let d=h.read(e),u=null==(t=null==i?void 0:i.diff.read(e))?void 0:t.mappings;function g(e,t,i){let n=i._getViewModel();return n?e.filter(e=>e.length>0).map(e=>{let i=n.coordinatesConverter.convertModelPositionToViewPosition(new E.y(e.startLineNumber,1)),o=n.coordinatesConverter.convertModelPositionToViewPosition(new E.y(e.endLineNumberExclusive,1)),s=o.lineNumber-i.lineNumber;return new ti.iE(i.lineNumber,o.lineNumber,s,t.toString())}):[]}let c=g((u||[]).map(e=>e.lineRangeMapping.original),d.removeColor,this._editors.original),m=g((u||[]).map(e=>e.lineRangeMapping.modified),d.insertColor,this._editors.modified);null==n||n.setZones(c),null==o||o.setZones(m)})),t.add((0,m.fm)(e=>{let t=this._rootHeight.read(e),i=this._rootWidth.read(e),s=this._modifiedEditorLayoutInfo.read(e);if(s){let i=d.ENTIRE_DIFF_OVERVIEW_WIDTH-2*d.ONE_OVERVIEW_WIDTH;n.setLayout({top:0,height:t,right:i+d.ONE_OVERVIEW_WIDTH,width:d.ONE_OVERVIEW_WIDTH}),o.setLayout({top:0,height:t,right:0,width:d.ONE_OVERVIEW_WIDTH});let r=this._editors.modifiedScrollTop.read(e),a=this._editors.modifiedScrollHeight.read(e),l=this._editors.modified.getOption(103),h=new tt.m(l.verticalHasArrows?l.arrowSize:0,l.verticalScrollbarSize,0,s.height,a,r);u.setTop(h.getSliderPosition()),u.setHeight(h.getSliderSize())}else u.setTop(0),u.setHeight(0);g.style.height=t+"px",g.style.left=i-d.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",u.setWidth(d.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};ts.ONE_OVERVIEW_WIDTH=15,ts.ENTIRE_DIFF_OVERVIEW_WIDTH=2*d.ONE_OVERVIEW_WIDTH,ts=d=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([(o=to.Gy,function(e,t){o(e,t,6)})],ts);var tr=i(49186),ta=i(97679);let td=[];class tl extends c.jG{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=n,this._selectedDiffs=(0,m.un)(this,e=>{let t=this._diffModel.read(e),i=null==t?void 0:t.diff.read(e);if(!i)return td;let n=this._editors.modifiedSelections.read(e);if(n.every(e=>e.isEmpty()))return td;let o=new I.S(n.map(e=>I.M.fromRangeInclusive(e))),s=i.mappings.filter(e=>e.lineRangeMapping.innerChanges&&o.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>n.some(t=>W.Q.areIntersecting(e.modifiedRange,t)))}));return 0===s.length||s.every(e=>0===e.rangeMappings.length)?td:s}),this._register((0,m.yC)((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;let i=this._diffModel.read(e),n=null==i?void 0:i.diff.read(e);if(!i||!n||i.movedTextToCompare.read(e))return;let o=[],s=this._selectedDiffs.read(e),r=new Set(s.map(e=>e.mapping));if(s.length>0){let i=this._editors.modifiedSelections.read(e),n=t.add(new th(i[i.length-1].positionLineNumber,this._widget,s.flatMap(e=>e.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(n),o.push(n)}for(let e of n.mappings)if(!r.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){let i=t.add(new th(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(i),o.push(i)}t.add((0,c.s)(()=>{for(let e of o)this._editors.modified.removeGlyphMarginWidget(e)}))}))}}class th extends c.jG{getId(){return this._id}constructor(e,t,i,n){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=n,this._id=`revertButton${th.counter++}
1`,this._domNode=(0,l.h)("div.revertButton",{title:this._revertSelection?(0,F.kg)("revertSelectedChanges","Revert Selected Changes"):(0,F.kg)("revertChange","Revert Change")},[(0,tr.s)(D.W.arrowRight)]).root,this._register((0,l.ko)(this._domNode,l.Bx.MOUSE_DOWN,e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())})),this._register((0,l.ko)(this._domNode,l.Bx.MOUSE_UP,e=>{e.stopPropagation(),e.preventDefault()})),this._register((0,l.ko)(this._domNode,l.Bx.CLICK,e=>{this._diffs instanceof A.WL?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:ta.ZS.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}th.counter=0;var tu=i(14791),tg=i(86764),tc=i(36786),tm=i(83577),t_=i(70447),tp=i(77090),tf=i(51103),tv=function(e,t){return function(i,n){t(i,n,e)}};let tC=class extends c.jG{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,n,o,s,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=n,this._createInnerEditor=o,this._instantiationService=s,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new g.vl),this.modifiedScrollTop=(0,m.y0)(this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=(0,m.y0)(this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedModel=(0,tp.H)(this.modified).model,this.modifiedSelections=(0,m.y0)(this.modified.onDidChangeCursorSelection,()=>{var e;return null!=(e=this.modified.getSelections())?e:[]}),this.modifiedCursor=(0,m.C)({owner:this,equalsFn:E.y.equals},e=>{var t,i;return null!=(i=null==(t=this.modifiedSelections.read(e)[0])?void 0:t.getPosition())?i:new E.y(1,1)}),this.originalCursor=(0,m.y0)(this.original.onDidChangeCursorPosition,()=>{var e;return null!=(e=this.original.getPosition())?e:new E.y(1,1)}),this._argCodeEditorWidgetOptions=null,this._register((0,m.Y)({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>
1(e.didChange(i.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},(e,t)=>{i.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))}))}_createLeftHandSideEditor(e,t){let i=this._adjustOptionsForLeftHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return n.setContextValue("isInDiffLeftEditor",!0),n}_createRightHandSideEditor(e,t){let i=this._adjustOptionsForRightHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return n.setContextValue("isInDiffRightEditor",!0),n}_constructInnerEditor(e,t,i,n){let o=this._createInnerEditor(e,t,i,n);return this._register(o.onDidContentSizeChange(e=>{let t=this.original.getContentWidth()+this.modified.getContentWidth()+ts.ENTIRE_DIFF_OVERVIEW_WIDTH,i=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:i,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})),o}_adjustOptionsForLeftHandSide(e,t){let i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){let i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=x.qB.revealHorizontalRightPadding.defaultValue+ts.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){let t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}}
1,t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var t;e||(e="");let i=(0,F.kg)("diff-aria-navigation-tip"," use {0} to open the accessibility help.",null==(t=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))?void 0:t.getAriaLabel());return this._options.accessibilityVerbose.get()?e+i:e?e.replaceAll(i,""):""}};tC=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([tv(5,B._Y),tv(6,tf.b)],tC);class tb extends c.jG{constructor(){super(...arguments),this._id=++tb.idCounter,this._onDidDispose=this._register(new g.vl),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._targetEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}tb.idCounter=0;var tw=i(83059),tL=i(93165);let ty=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=(0,m.FY)(this,0),this._screenReaderMode=(0,m.y0)(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=(0,m.un)(this,e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=(0,m.un)(this,e=>this._options.read(e).renderOverviewRuler),this.renderSideBySide=(0,m.un)(this,e=>this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))),this.readOnly=(0,m.un)(this,e=>this._options.read(e).readOnly),this.shouldRenderOldRevertArrows=(0,m.un)(this,e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e))),this.shouldRenderGutterMenu=(0,m.un)(this,e=>this._options.read(e).renderGutterMenu),this.renderIndicators=(0,m.un)(this,e=>this._options.read(e).renderIndicators),this.enableSplitViewResizing=(0,m.un)(this,e=>this._options.read(e).enableSplitViewResizing),this.splitViewDefaultRatio=(0,m.un)(this,e=>this._options.read(e).splitViewDefaultRatio),this.ignoreTrimWhitespace=(0,m.un)(this,e=>this._options.read(e).ignoreTrimWhitespace),this.maxComputationTimeMs=(0,m.un)(this,e=>this._options.read(e).maxComputationTime),this.showMoves=(0,m.un)(this,e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e)),this.isInEmbeddedEditor=(0,m.un)(this,e=>this._options.read(e).isInEmbeddedEditor),this.diffWordWrap=(0,m.un)(this,e=>this._options.read(e).diffWordWrap),this.originalEditable=(0,m.un)(this,e=>this._options.read(e).originalEditable),this.diffCodeLens=(0,m.un)(this,e=>this._options.read(e).diffCodeLens),this.accessibilityVerbose=(0,m.un)(this,e=>this._options.read(e).accessibilityVerbose),this.diffAlgorithm=(0,m.un)(this,e=>this._options.read(e).diffAlgorithm),this.showEmptyDecorations=(0,m.un)(this,e=>this._options.read(e).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=(0,m.un)(this,e=>this._options.read(e).onlyShowAccessibleDiffViewer),this.hideUnch
1angedRegions=(0,m.un)(this,e=>this._options.read(e).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=(0,m.un)(this,e=>this._options.read(e).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=(0,m.un)(this,e=>this._options.read(e).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=(0,m.un)(this,e=>this._options.read(e).hideUnchangedRegions.minimumLineCount);const i={...e,...tN(e,tw.q)};this._options=(0,m.FY)(this,i)}updateOptions(e){let t=tN(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}};function tN(e,t){var i,n,o,s,r,a,d,l;return{enableSplitViewResizing:(0,x.zM)(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:(0,x.ls)(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:(0,x.zM)(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:(0,x.zM)(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:(0,x.wA)(e.maxComputationTime,t.maxComputationTime,0,0x40000000),maxFileSize:(0,x.wA)(e.maxFileSize,t.maxFileSize,0,0x40000000),ignoreTrimWhitespace:(0,x.zM)(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:(0,x.zM)(e.renderIndicators,t.renderIndicators),originalEditable:(0,x.zM)(e.originalEditable,t.originalEditable),diffCodeLens:(0,x.zM)(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:(0,x.zM)(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:(0,x.O4)(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:(0,x.O4)(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:(0,x.zM)(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:(0,x.zM)(null==(i=e.experimental)?void 0:i.showMoves,t.experimental.showMoves),showEmptyDecorations:(0,x.zM)(null==(n=e.experimental)?void 0:n.showEmptyDecorations,t.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:(0,x.zM)(null!=(s=null==(o=e.hideUnchangedRegions)?void 0:o.enabled)?s:null==(r=e.experimental)?void 0:r.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:(0,x.wA)(null==(a=e.hideUnchangedRegions)?void 0:a.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,0x40000000),minimumLineCount:(0,x.wA)(null==(d=e.hideUnchangedRegions)?void 0:d.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,0x40000000),revealLineCount:(0,x.wA)(null==(l=e.hideUnchangedRegions)?void 0:l.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,0x40000000)},isInEmbeddedEditor:(0,x.zM)(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:(0,x.zM)(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:(0,x.wA)(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,0x40000000),useInlineViewWhenSpaceIsLimited:(0,x.zM)(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:(0,x.zM)(e.renderGutterMenu,t.renderGutterMenu)}}ty=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([(s=tL.j,function(e,t){s(e,t,1)})],ty);var tD=function(e,t){return function(i,n){t(i,n,e)}};let tS=class extends tb{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,n,o,s,r,a){var d;let h;super(),this._domElement=e,this._parentContextKeyService=n,this._parentInstantiationService=o,this._accessibilitySignalService=r,this._editorProgressService=a,this.elements=(0,l.h)("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[(0,l.h)("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),(0,l.h)("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),(0,l.h)("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=(0,m.FY)(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=g.Jh.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new tm.a([e1.fN,this._contextKeyService]))),this._boundarySashes=(0,m.FY)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,m.FY)(this,!1),this._accessibleDiffViewerVisible=(0,m.un)(this,e=>!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e)),this._movedBlocksLinesPart=(0,m.FY)(this,void 0),this._layoutInfo=(0,m.un)(this,e=>{var t,i,n,o,s;let r,a,d,l,h,u=this._rootSizeObserver.width.read(e),g=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=g+"px";let c=this._sash.read(e),m=this._gutter.read(e),_=null!=(t=null==m?void 0:m.width.read(e))?t:0,p=null!=(n=null==(i=this._overviewRulerPart.read(e))?void 0:i.width)?n:0;if(c){let t=c.sashLeft.read(e);r=0,a=t-_-(null!=(s=null==(o=this._movedBlocksLinesPart.read(e))?void 0:o.width.read(e))?s:0),h=t-_,l=u-(d=t)-p}else h=0,r=_,l=u-(d=_+(a=Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft)))-p;return this.elements.original.style.left=r+"px",this.elements.original.style.width=a+"px",this._editors.original.layout({width:a,height:g},!0),null==m||m.layout(h),this.elements.modified.style.left=d+"px",this.elements.modified.style.width=l+"px",this._editors.modified.layout({width:l,height:g},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((e,t)=>null==e?void 0:e.diff.read(t)),this.onDidUpdateDiff=g.Jh.fromObservableLight(this._diffValue),s.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,c.s)(()=>this._domElement.removeChild(this.elements.root))),this._rootSizeObserver=this._register(new R.pN(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(null!=(d=t.automaticLayout)&&d),this._options=this._instantiationService.createInstance(ty,t),this._register((0,m.fm)(e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))})),this._contextKeyService.createKey(tc.R.isEmbeddedDiffEditor.key,!1),this._register((0,tu.w)(tc.R.isEmbeddedDiffEditor,this._contextKeyService,e=>this._options.isInEmbeddedEditor.read(e))),this._register((0,tu.w)(tc.R.comparingMovedCode,this._contextKeyService,e=>{var t;return!!(null==(t=this._diffModel.read(e))?void 0:t.movedTextToCompare.read(e))})),this._register((0,tu.w)(tc.R.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,e=>this._options.couldShowInlineViewBecauseOfSize.read(e))),this._register((0,tu.w)(tc.R.diffEditorInlineMode,this._contextKeyService,e=>!this._options.renderSideBySide.read(e))),this._register((0,tu.w)(tc.R.hasChanges,this._contextKeyService,e=>{var t,i,n;return(null!=(n=null==(i=null==(t=this._diffModel.read(e))?void 0:t.diff.read(e))?void 0:i.mappings.length)?n:0)>0})),this._editors=this._register(this._instantiationService.createInstance(tC,this.elements.original,this.elements.modified,this._options,i,(e,t,i,n)=>this._createInnerEditor(e,t,i,n))),this._register((0,tu.w)(tc.R.diffEditorOriginalWritable,this._contextKeyService,e=>this._options.originalEditable.read(e))),this._register((0,tu.w)(tc.R.diffEditorModifiedWritable,this._contextKeyService,e=>!this._options.readOnly.read(e))),this._register((0,tu.w)(tc.R.diffEditorOriginalUri,this._contextKeyService,e=>{var t,i;return null!=(i=null==(t=this._diffModel.read(e))?void 0:t.model.original.uri.toString())?i:""})),this._register((0,tu.w)(tc.R.diffEditorModifiedUri,this._contextKeyService,e=>{var t,i;return null!=(i=null==(t=this._diffModel.read(e))?void 0:t.model.modified.uri.toString())?i:""})),this._overviewRulerPart=(0,_.a0)(this,e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance((0,R.b6)(ts,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(e=>e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const u={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((e,t)=>{var i,n;return e-(null!=(n=null==(i=this._overviewRulerPart.read(t))?void 0:i.width)?n:0)})};this._sashLayout=new el(this._options,u),this._sash=(0,_.a0)(this,e=>{let t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new eh(this.elements.root,u,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const p=(0,_.a0)(this,e=>this._instantiationService.createInstance((0,R.b6)(e8.N,e),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);(0,_.a0)(this,e=>this._instantiationService.createInstance((0,R.b6)(ea,e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const f=new Set,C=new Set;let b=!1;const w=(0,_.a0)(this,e=>this._instantiationService.createInstance((0,R.b6)(eZ,e),(0,l.zk)(this._domElement),this._editors,this._diffModel,this._options,this,()=>b||p.get().isUpdatingHiddenAreas,f,C)).recomputeInitiallyAndOnChange(this._store),L=(0,m.un)(this,e=>{let t=w.read(e).viewZones.read(e).orig,i=p.read(e).viewZones.read(e).origViewZones;return t.concat(i)}),y=(0,m.un)(this,e=>{let t=w.read(e).viewZones.read(e).mod,i=p.read(e).viewZones.read(e).modViewZones;return t.concat(i)});this._register((0,R.Vs)(this._editors.original,L,e=>{b=e},f)),this._register((0,R.Vs)(this._editors.modified,y,e=>{(b=e)?h=v.D.capture(this._editors.modified):(null==h||h.restore(this._editors.modified),h=void 0)},C)),this._accessibleDiffViewer=(0,_.a0)(this,e=>this._instantiationService.createInstance((0,R.b6)(Q,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t),this._options.onlyShowAccessibleDiffViewer.map(e=>!e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((e,t)=>{var i;return null==(i=null==e?void 0:e.diff.read(t))?void 0:i.mappings.map(e=>e.lineRangeMapping)}),new ei(this._editors))).recomputeInitiallyAndOnChange(this._store);const N=this._accessibleDiffViewerVisible.map(e=>e?"hidden":"visible");this._register((0,R.AV)(this.elements.modified,{visibility:N})),this._register((0,R.AV)(this.elements.original,{visibility:N})),this._createDiffEditorContributions(),s.addDiffEditor(this),this._gutter=(0,_.a0)(this,e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance((0,R.b6)(e4,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register((0,m.OI)(this._layoutInfo)),(0,_.a0)(this,e=>
1new((0,R.b6)(en,e))(this.elements.root,this._diffModel,this._layoutInfo.map(e=>e.originalEditor),this._layoutInfo.map(e=>e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,e=>{this._movedBlocksLinesPart.set(e,void 0)}),this._register(g.Jh.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!0))),this._register(g.Jh.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!1)));const D=this._diffModel.map(this,(e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)});this._register((0,m.yC)((e,t)=>{if(!0===D.read(e)){let e=this._editorProgressService.show(!0,1e3);t.add((0,c.s)(()=>e.done()))}})),this._register((0,c.s)(()=>{var e;this._shouldDisposeDiffModel&&(null==(e=this._diffModel.get())||e.dispose())})),this._register((0,m.yC)((e,t)=>{t.add(new((0,R.b6)(tl,e))(this._editors,this._diffModel,this._options,this))}))}_createInnerEditor(e,t,i,n){return e.createInstance(C.x,t,i,n)}_createDiffEditorContributions(){for(let e of p.dS.getDiffEditorContributions())try{this._register(this._instantiationService.createInstance(e.ctor,this))}catch(e){(0,u.dz)(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return tg._.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var e;return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:null==(e=this._diffModel.get())?void 0:e.serializeState()}}restoreViewState(e){var t;e&&e.original&&e.modified&&(this._editors.original.restoreViewState(e.original),this._editors.modified.restoreViewState(e.modified),e.modelState&&(null==(t=this._diffModel.get())||t.restoreSerializedState(e.modelState)))}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(eR,e,this._options)}getModel(){var e,t;return null!=(t=null==(e=this._diffModel.get())?void 0:e.model)?t:null}setModel(e,t){!e&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();let i=e?"model"in e?{model:e,shouldDispose:!1}:{model:this.createViewModel(e),shouldDispose:!0}:void 0;this._diffModel.get()!==(null==i?void 0:i.model)&&(0,m.PO)(t,e=>{var t;m.y0.batchEventsGlobally(e,()=>{this._editors.original.setModel(i?i.model.model.original:null),this._editors.modified.setModel(i?i.model.model.modified:null)});let n=this._diffModel.get(),o=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=null!=(t=null==i?void 0:i.shouldDispose)&&t,this._diffModel.set(null==i?void 0:i.model,e),o&&(null==n||n.dispose())})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var e;let t=null==(e=this._diffModel.get())?void 0:e.diff.get();return t?t.mappings.map(e=>{let t,i,n,o,s=e.lineRangeMapping,r=s.innerChanges;return s.original.isEmpty?(t=s.original.startLineNumber-1,i=0,r=void 0):(t=s.original.startLineNumber,i=s.original.endLineNumberExclusive-1),s.modified.isEmpty?(n=s.modified.startLineNumber-1,o=0,r=void 0):(n=s.modified.startLineNumber,o=s.modified.endLineNumberExclusive-1),{originalStartLineNumber:t,originalEndLineNumber:i,modifiedStartLineNumber:n,modifiedEndLineNumber:o,charChanges:null==r?void 0:r.map(e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn}))}}):null}revert(e){let t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){let t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;let i=e.map(e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new E.y(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var t,i,n,o;let s,r=null==(i=null==(t=this._diffModel.get())?void 0:t.diff.get())?void 0:i.mappings;if(!r||0===r.length)return;let a=this._editors.modified.getPosition().lineNumber;s="next"===e?null!=(n=r.find(e=>e.lineRangeMapping.modified.startLineNumber>a))?n:r[0]:null!=(o=(0,h.Uk)(r,e=>e.lineRangeMapping.modified.startLineNumber<a))?o:r[r.length-1],this._goTo(s),s.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(k.Rh.diffLineDeleted,{source:"diffEditor.goToDiff"}):s.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(k.Rh.diffLineInserted,{source:"diffEditor.goToDiff"}):s&&this._accessibilitySignalService.playSignal(k.Rh.diffLineModified,{source:"diffEditor.goToDiff"})}revealFirstDiff(){let e=this._diffModel.get();e&&this.waitForDiff().then(()=>{var t;let i=null==(t=e.diff.get())?void 0:t.mappings;i&&0!==i.length&&this._goTo(i[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){let e=this._diffModel.get();
1e&&await e.waitForDiff()}mapToOtherSide(){var e,t;let i,n=this._editors.modified.hasWidgetFocus(),o=n?this._editors.modified:this._editors.original,s=n?this._editors.original:this._editors.modified,r=o.getSelection();if(r){let o=null==(t=null==(e=this._diffModel.get())?void 0:e.diff.get())?void 0:t.mappings.map(e=>n?e.lineRangeMapping.flip():e.lineRangeMapping);if(o){let e=(0,R.Mu)(r.getStartPosition(),o),t=(0,R.Mu)(r.getEndPosition(),o);i=W.Q.plusRange(e,t)}}return{destination:s,destinationSelection:i}}switchSide(){let{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){let e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var e;let t=null==(e=this._diffModel.get())?void 0:e.unchangedRegions.get();t&&(0,m.Rn)(e=>{for(let i of t)i.collapseAll(e)})}showAllUnchangedRegions(){var e;let t=null==(e=this._diffModel.get())?void 0:e.unchangedRegions.get();t&&(0,m.Rn)(e=>{for(let i of t)i.showAll(e)})}_handleCursorPositionChange(e,t){var i,n;if((null==e?void 0:e.reason)===3){let o=null==(n=null==(i=this._diffModel.get())?void 0:i.diff.get())?void 0:n.mappings.find(i=>t?i.lineRangeMapping.modified.contains(e.position.lineNumber):i.lineRangeMapping.original.contains(e.position.lineNumber));(null==o?void 0:o.lineRangeMapping.modified.isEmpty)?this._accessibilitySignalService.playSignal(k.Rh.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):(null==o?void 0:o.lineRangeMapping.original.isEmpty)?this._accessibilitySignalService.playSignal(k.Rh.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):o&&this._accessibilitySignalService.playSignal(k.Rh.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};tS=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([tD(3,e1.fN),tD(4,B._Y),tD(5,f.T),tD(6,k.Nt),tD(7,t_.N8)],tS)},76693(e,t,i){i.d(t,{N:()=>w});var n,o,s=i(88549),r=i(49186),a=i(88306),d=i(78084),l=i(12430),h=i(17043),u=i(95078),g=i(50441),c=i(43143),m=i(15968),_=i(30600),p=i(36333),f=i(11989),v=i(94906),C=i(45405),b=i(58231);let w=o=class extends l.jG{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=n,this._modifiedOutlineSource=(0,u.a0)(this,e=>{let t=this._editors.modifiedModel.read(e),i=o._breadcrumbsSourceFactory.read(e);return t&&i?i(t,this._instantiationService):void 0}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(e=>{if(1===e.reason)return;let t=this._diffModel.get();(0,h.Rn)(e=>{for(let i of this._editors.original.getSelections()||[])null==t||t.ensureOriginalLineIsVisible(i.getStartPosition().lineNumber,0,e),null==t||t.ensureOriginalLineIsVisible(i.getEndPosition().lineNumber,0,e)})})),this._register(this._editors.modified.onDidChangeCursorPosition(e=>{if(1===e.reason)return;let t=this._diffModel.get();(0,h.Rn)(e=>{for(let i of this._editors.modified.getSelections()||[])null==t||t.ensureModifiedLineIsVisible(i.getStartPosition().lineNumber,0,e),null==t||t.ensureModifiedLineIsVisible(i.getEndPosition().lineNumber,0,e)})}));const s=this._diffModel.map((e,t)=>{var i,n;let o=null!=(i=null==e?void 0:e.unchangedRegions.read(t))?i:[];return 1===o.length&&1===o[0].modifiedLineNumber&&o[0].lineCount===(null==(n=this._editors.modifiedModel.read(t))?void 0:n.getLineCount())?[]:o});this.viewZones=(0,h.rm)(this,(e,t)=>{let i=this._modifiedOutlineSource.read(e);if(!i)return{origViewZones:[],modViewZones:[]};let n=[],o=[],r=this._options.renderSideBySide.read(e);for(let a of s.read(e))if(!a.shouldHideControls(e)){{let e=(0,h.un)(this,e=>a.getHiddenOriginalRange(e).startLineNumber-1),o=new m.D1(e,24);n.push(o),t.add(new L(this._editors.original,o,a,a.originalUnchangedRange,!r,i,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}{let e=(0,h.un)(this,e=>a.getHiddenModifiedRange(e).startLineNumber-1),n=new m.D1(e,24);o.push(n),t.add(new L(this._editors.modified,n,a,a.modifiedUnchangedRange,!1,i,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}}return{origViewZones:n,modViewZones:o}});const r={description:"unchanged lines",className:"diff-unchanged-lines",
1isWholeLine:!0},l={description:"Fold Unchanged",glyphMarginHoverMessage:new d.Bc(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,C.kg)("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+g.L.asClassName(a.W.fold),zIndex:10001};this._register((0,m.pY)(this._editors.original,(0,h.un)(this,e=>{let t=s.read(e),i=t.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:r}));for(let n of t)n.shouldHideControls(e)&&i.push({range:f.Q.fromPositions(new p.y(n.originalLineNumber,1)),options:l});return i}))),this._register((0,m.pY)(this._editors.modified,(0,h.un)(this,e=>{let t=s.read(e),i=t.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:r}));for(let n of t)n.shouldHideControls(e)&&i.push({range:_.M.ofLength(n.modifiedLineNumber,1).toInclusiveRange(),options:l});return i}))),this._register((0,h.fm)(e=>{let t=s.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map(t=>t.getHiddenOriginalRange(e).toInclusiveRange()).filter(c.O9)),this._editors.modified.setHiddenAreas(t.map(t=>t.getHiddenModifiedRange(e).toInclusiveRange()).filter(c.O9))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(e=>{var t;if(!e.event.rightButton&&e.target.position&&(null==(t=e.target.element)?void 0:t.className.includes("fold-unchanged"))){let t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;let n=i.unchangedRegions.get().find(e=>e.modifiedUnchangedRange.includes(t));if(!n)return;n.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(e=>{var t;if(!e.event.rightButton&&e.target.position&&(null==(t=e.target.element)?void 0:t.className.includes("fold-unchanged"))){let t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;let n=i.unchangedRegions.get().find(e=>e.originalUnchangedRange.includes(t));if(!n)return;n.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))}};w._breadcrumbsSourceFactory=(0,h.FY)("breadcrumbsSourceFactory",void 0),w=o=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([(n=b._Y,function(e,t){n(e,t,3)})],w);class L extends m.uN{constructor(e,t,i,n,o,d,l,u){const g=(0,s.h)("div.diff-hidden-lines-widget");super(e,t,g.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=n,this._hide=o,this._modifiedOutlineSource=d,this._revealModifiedHiddenLine=l,this._options=u,this._nodes=(0,s.h)("div.diff-hidden-lines",[(0,s.h)("div.top@top",{title:(0,C.kg)("diff.hiddenLines.top","Click or drag to show more above")}),(0,s.h)("div.center@content",{style:{display:"flex"}},[(0,s.h)("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[(0,s.$)("a",{title:(0,C.kg)("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...(0,r.n)("$(unfold)"))]),(0,s.h)("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),(0,s.h)("div.bottom@bottom",{title:(0,C.kg)("diff.bottom","Click or drag to show more below"),role:"button"})]),g.root.appendChild(this._nodes.root);const c=(0,h.y0)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._hide?(0,s.Ln)(this._nodes.first):this._register((0,m.AV)(this._nodes.first,{width:c.map(e=>e.contentLeft)})),this._register((0,h.fm)(e=>{let t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);let i=this._unchangedRegion.isDragged.read(e),n=this._editor.getDomNode();n&&(n.classList.toggle("draggingUnchangedRegion",!!i),"top"===i?(n.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),n.classList.toggle("canMoveBottom",!t)):"bottom"===i?(n.classList.toggle("canMoveTop",!t),n.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(n.classList.toggle("canMoveTop",!1),n.classList.toggle("canMoveBottom",!1)))}));const _=this._editor;this._register((0,s.ko)(this._nodes.top,"mousedown",e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();let t=e.clientY,i=!1,n=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);let o=(0,s.zk)(this._nodes.top),r=(0,s.ko)(o,"mousemove",e=>{let o=e.clientY-t;i=i||Math.abs(o)>2;let s=Math.max(0,Math.min(n+Math.round(o/_.getOption(67)),this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(s,void 0)}),a=(0,s.ko)(o,"mouseup",e=>
1{i||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),r.dispose(),a.dispose()})})),this._register((0,s.ko)(this._nodes.bottom,"mousedown",e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();let t=e.clientY,i=!1,n=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);let o=(0,s.zk)(this._nodes.bottom),r=(0,s.ko)(o,"mousemove",e=>{let o=e.clientY-t;i=i||Math.abs(o)>2;let s=Math.max(0,Math.min(n-Math.round(o/_.getOption(67)),this._unchangedRegion.getMaxVisibleLineCountBottom())),r=this._unchangedRegionRange.endLineNumberExclusive>_.getModel().getLineCount()?_.getContentHeight():_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(s,void 0);let a=this._unchangedRegionRange.endLineNumberExclusive>_.getModel().getLineCount()?_.getContentHeight():_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);_.setScrollTop(_.getScrollTop()+(a-r))}),a=(0,s.ko)(o,"mouseup",e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!i){let e=_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);
1this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let t=_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);_.setScrollTop(_.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),r.dispose(),a.dispose()})})),this._register((0,h.fm)(e=>{let t=[];if(!this._hide){let n=i.getHiddenModifiedRange(e).length,o=(0,C.kg)("hiddenLines","{0} hidden lines",n),d=(0,s.$)("span",{title:(0,C.kg)("diff.hiddenLines.expandAll","Double click to unfold")},o);d.addEventListener("dblclick",e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))}),t.push(d);let l=this._unchangedRegion.getHiddenModifiedRange(e),h=this._modifiedOutlineSource.getBreadcrumbItems(l,e);if(h.length>0){t.push((0,s.$)("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let e=0;e<h.length;e++){let i=h[e],n=v.gP.toIcon(i.kind),o=(0,s.h)("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[(0,r.s)(n),"\xa0",i.name,...e===h.length-1?[]:[(0,r.s)(a.W.chevronRight)]]).root;t.push(o),o.onclick=()=>{this._revealModifiedHiddenLine(i.startLineNumber)}}}}(0,s.Ln)(this._nodes.others,...t)}))}}},58419(e,t,i){i.d(t,{GM:()=>f,KL:()=>C,Kl:()=>u,Ob:()=>g,Ou:()=>p,XT:()=>m,Zb:()=>v,Zw:()=>c,bk:()=>_,dv:()=>h,wp:()=>b});var n=i(88306),o=i(50441),s=i(37679),r=i(45405),a=i(99071),d=i(43074);(0,a.x1A)("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},(0,r.kg)("diffEditor.move.border","The border color for text that got moved in the diff editor.")),(0,a.x1A)("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},(0,r.kg)("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),(0,a.x1A)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},(0,r.kg)("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged regi
1on widgets."));let l=(0,d.pU)("diff-insert",n.W.add,(0,r.kg)("diffInsertIcon","Line decoration for inserts in the diff editor.")),h=(0,d.pU)("diff-remove",n.W.remove,(0,r.kg)("diffRemoveIcon","Line decoration for removals in the diff editor.")),u=s.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+o.L.asClassName(l),marginClassName:"gutter-insert"}),g=s.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+o.L.asClassName(h),marginClassName:"gutter-delete"}),c=s.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),m=s.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),_=s.kI.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),p=s.kI.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),f=s.kI.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),v=s.kI.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),C=s.kI.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),b=s.kI.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"})},15968(e,t,i){i.d(t,{$y:()=>_,AV:()=>w,Am:()=>g,D1:()=>C,EK:()=>S,MZ:()=>N,Mu:()=>D,Nu:()=>f,Vs:()=>y,b6:()=>L,pN:()=>p,pY:()=>c,rX:()=>m,uN:()=>v});var n=i(44777),o=i(78559),s=i(5644),r=i(12430),a=i(17043),d=i(23111),l=i(36333),h=i(11989),u=i(78509);function g(e,t,i,n){if(0===e.length)return t;if(0===t.length)return e;let o=[],s=0,r=0;for(;s<e.length&&r<t.length;){let a=e[s],d=t[r],l=i(a),h=i(d);l<h?(o.push(a),s++):(l>h?o.push(d):(o.push(n(a,d)),s++),r++)}for(;s<e.length;)o.push(e[s]),s++;for(;r<t.length;)o.push(t[r]),r++;return o}function c(e,t){let i=new r.Cm,n=e.createDecorationsCollection();return i.add((0,a.zL)({debugName:()=>`Apply decorations from ${t.debugName}`},e=>{let i=t.read(e);n.set(i)})),i.add({dispose:()=>{n.clear()}}),i}function m(e,t){return e.appendChild(t),(0,r.s)(()=>{e.removeChild(t)})}
1function _(e,t){return e.prepend(t),(0,r.s)(()=>{e.removeChild(t)})}class p extends r.jG{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new d.u(e,t)),this._width=(0,a.FY)(this,this.elementSizeObserver.getWidth()),this._height=(0,a.FY)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(e=>(0,a.Rn)(e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function f(e,t,i){let n,o=t.get(),s=o,r=o,d=(0,a.FY)("animatedValue",o),l=-1;return i.add((0,a.Y)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,i)=>(e.didChange(t)&&(i.animate=i.animate||e.change),!0)},(i,a)=>{void 0!==n&&(e.cancelAnimationFrame(n),n=void 0),s=r,o=t.read(i),l=Date.now()-300*!a.animate,function t(){var i,a,h;let u=Date.now()-l;r=Math.floor((i=u,a=s,h=o-s,300===i?a+h:h*(-Math.pow(2,-10*i/300)+1)+a)),u<300?n=e.requestAnimationFrame(t):r=o,d.set(r,void 0)}()})),d}class v extends r.jG{constructor(e,t,i){super(),this._register(new b(e,i)),this._register(w(i,{height:t.actualHeight,top:t.actualTop}))}}class C{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=(0,a.FY)(this,void 0),this._actualHeight=(0,a.FY)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class b{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId=`managedOverlayWidget-${b._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function w(e,t){return(0,a.fm)(i=>{for(let[n,o]of Object.entries(t))o&&"object"==typeof o&&"read"in o&&(o=o.read(i)),"number"==typeof o&&(o=`${o}px`),n=n.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),e.style[n]=o})}function L(e,t){var i,n;return i=[e],n=t,(0,s.e)()&&(0,a.yQ)("reload",e=>(0,s.O)(({oldExports:t})=>{if([...Object.values(t)].some(e=>i.includes(e)))return t=>(e(void 0),!0)})).read(n),e}function y(e,t,i,n){let o=new r.Cm,s=[];return o.add((0,a.yC)((o,r)=>{let d=t.read(o),l=new Map,h=new Map;i&&i(!0),e.changeViewZones(e=>{for(let t of s)e.removeZone(t),null==n||n.delete(t);for(let t of(s.length=0,d)){let i=e.addZone(t);t.setZoneId&&t.setZoneId(i),s.push(i),null==n||n.add(i),l.set(t,i)}}),i&&i(!1),r.add((0,a.Y)({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){let i=h.get(e.changedObservable);return void 0!==i&&t.zoneIds.push(i),!0}},(t,n)=>{for(let e of d)e.onChange&&(h.set(e.onChange,l.get(e)),e.onChange.read(t));i&&i(!0),e.changeViewZones(e=>{for(let t of n.zoneIds)e.layoutZone(t)}),i&&i(!1)}))})),o.add({dispose(){i&&i(!0),e.changeViewZones(e=>{for(let t of s)e.removeZone(t)}),null==n||n.clear(),i&&i(!1)}}),o}b._counter=0;class N extends o.Qi{dispose(){super.dispose(!0)}}function D(e,t){let i=(0,n.Uk)(t,t=>t.original.startLineNumber<=e.lineNumber);if(!i)return h.Q.fromPositions(e);if(i.original.endLineNumberExclusive<=e.lineNumber){let t=e.lineNumber-i.original.endLineNumberExclusive+i.modified.endLineNumberExclusive;return h.Q.fromPositions(new l.y(t,e.column))}if(!i.innerChanges)return h.Q.fromPositions(new l.y(i.modified.startLineNumber,1));let o=(0,n.Uk)(i.innerChanges,t=>t.originalRange.getStartPosition().isBeforeOrEqual(e));if(!o){let t=e.lineNumber-i.original.startLineNumber+i.modified.startLineNumber;return h.Q.fromPositions(new l.y(t,e.column))}if(o.originalRange.containsPosition(e))return o.modifiedRange;{var s,r;let t=(s=o.originalRange.getEndPosition(),r=e,s.lineNumber===r.lineNumber?new u.W(0,r.column-s.column):new u.W(r.lineNumber-s.lineNumber,r.column-1));return h.Q.fromPositions(t.addToPosition(o.modifiedRange.getEndPosition()))}}function S(e,t){let i;return e.filter(e=>{let n=t(e,i);return i=e,n})}},40402(e,t,i){i.d(t,{i:()=>p,T:()=>_});var n,o=i(67075),s=i(97829),r=i(38031),a=i(12034),d=i(12430),l=i(45781),h=i(10202),u=i(22229),g=i(31578),c=i(11739),m=function(e,t){return function(i,n){t(i,n,e)}};let _=n=class{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new a.vl,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};let n=new d.Cm,s=n.add((0,o.Gc)(e,{...this._getRenderOptions(e,n),...t},i));return s.element.classList.add("rendered-markdown"),{element:s.element,dispose:()=>n.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(e,t)=>{var i,o,s;let r;e?r=this._languageService.getLanguageIdByLanguageName(e):this._options.editor&&(r=null==(i=this._options.editor.getModel())?void 0:i.getLanguageId()),r||(r=u.vH);let a=await (0,g.Yj)(this._languageService,t,r),d=document.createElement("span");if(d.innerHTML=null!=(s=null==(o=n._ttpTokenizer)?void 0:o.createHTML(a))?s:a,this._options.editor){let e=this._options.editor.getOption(50);(0,l.M)(d,e)}
1else this._options.codeBlockFontFamily&&(d.style.fontFamily=this._options.codeBlockFontFamily);return void 0!==this._options.codeBlockFontSize&&(d.style.fontSize=this._options.codeBlockFontSize),d},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:t=>p(this._openerService,t,e.isTrusted),disposables:t}}}};async function p(e,t,i){try{var n;return await e.open(t,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:(n=i,!0===n||!!(n&&Array.isArray(n.enabledCommands))&&n.enabledCommands)})}catch(e){return(0,r.dz)(e),!1}}_._ttpTokenizer=(0,s.H)("tokenizeToString",{createHTML:e=>e}),_=n=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([m(1,h.L),m(2,c.C)],_)},63729(e,t,i){i.d(t,{c:()=>H});var n,o,s=i(12430),r=i(17043),a=i(15968),d=i(88549),l=i(68397),h=i(60306),u=i(44777),g=i(38031),c=i(58610),m=i(1369),_=i(56764),p=i(87182),f=i(36786),v=i(31505),C=i(58231),b=i(83577),w=i(16618),L=i(88306),y=i(92970),N=i(93612),D=i(77259),S=i(69679),M=i(12519);class R{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let x=class extends s.jG{constructor(e,t,i,n){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=(0,c.FY)(this,void 0),this._collapsed=(0,r.un)(this,e=>{var t;return null==(t=this._viewModel.read(e))?void 0:t.collapsed.read(e)}),this._editorContentHeight=(0,c.FY)(this,500),this.contentHeight=(0,r.un)(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=(0,c.FY)(this,0),this._modifiedWidth=(0,c.FY)(this,0),this._originalContentWidth=(0,c.FY)(this,0),this._originalWidth=(0,c.FY)(this,0),this.maxScroll=(0,r.un)(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),i=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>i?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:i,width:this._originalWidth.read(e)}}),this._elements=(0,d.h)("div.multiDiffEntry",[(0,d.h)("div.header@header",[(0,d.h)("div.header-content",[(0,d.h)("div.collapse-button@collapseButton"),(0,d.h)("div.file-path",[(0,d.h)("div.title.modified.show-file-icons@primaryPath",[]),(0,d.h)("div.status.deleted@status",["R"]),(0,d.h)("div.title.original.show-file-icons@secondaryPath",[])]),(0,d.h)("div.actions@actions")])]),(0,d.h)("div.editorParent",[(0,d.h)("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(y.T,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=I(this.editor.getModifiedEditor()),this.isOriginalFocused=I(this.editor.getOriginalEditor()),this.isFocused=(0,r.un)(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=new s.Cm,this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new w.$(this._elements.collapseButton,{});this._register((0,r.fm)(e=>{o.element.className="",o.icon=this._collapsed.read(e)?L.W.chevronRight:L.W.chevronDown})),this._register(o.onDidClick(()=>{var e;null==(e=this._viewModel.get())||e.collapsed.set(!this._collapsed.get(),void 0)})),this._register((0,r.fm)(e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>
1{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{(0,c.YY)(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop||!e.scrollTopChanged||!this._data)return;let t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register((0,r.fm)(e=>{var t;let i=null==(t=this._viewModel.read(e))?void 0:t.isActive.read(e);this._elements.root.classList.toggle("active",i)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._register(this._instantiationService.createInstance(N.m,this._elements.actions,D.D8.MultiDiffEditorFileToolbar,{actionRunner:this._register(new S.I(()=>{var e;return null==(e=this._viewModel.get())?void 0:e.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>(0,M.rN)(n,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnch
1angedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}this._data=e;let i=e.viewModel.entry.value;i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{var e;this.editor.updateOptions(t(null!=(e=i.options)?e:{}))})),(0,c.YY)(n=>{var o,s,r,a;null==(o=this._resourceLabel)||o.setUri(null!=(s=e.viewModel.modifiedUri)?s:e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let d=!1,l=!1,h=!1,u="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(u="R",d=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(u="A",h=!0):(u="D",l=!0),this._elements.status.classList.toggle("renamed",d),this._elements.status.classList.toggle("deleted",l),this._elements.status.classList.toggle("added",h),this._elements.status.innerText=u,null==(r=this._resourceLabel2)||r.setUri(d?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,n),this.editor.setModel(e.viewModel.diffEditorViewModel,n),this.editor.updateOptions(t(null!=(a=i.options)?a:{}))})}render(e,t,i,n){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";let o=e.length-this._headerHeight,s=Math.max(0,Math.min(n.start-e.start,o));this._elements.header.style.transform=`translateY(${s}px)`,(0,c.YY)(i=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",s>0||i>0),this._elements.header.classList.toggle("collapsed",s===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};function I(e){return(0,r.y0)(t=>{let i=new s.Cm;return i.add(e.onDidFocusEditorWidget(()=>t(!0))),i.add(e.onDidBlurEditorWidget(()=>t(!1))),i},()=>e.hasTextFocus())}x=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([(n=C._Y,function(e,t){n(e,t,3)})],x);class T{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var t;let i;if(0===this._unused.size)i=this._create(e),this._itemData.set(i,e);else{let n=[...this._unused.values()];i=null!=(t=n.find(t=>this._itemData.get(t).getId()===e.getId()))?t:n[0],this._unused.delete(i),this._itemData.set(i,e),i.setData(e)}return this._used.add(i),{object:i,dispose:()=>{this._used.delete(i),this._unused.size>5?i.dispose():this._unused.add(i)}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var E=i(45405),W=function(e,t){return function(i,n){t(i,n,e)}};let A=class extends s.jG{constructor(e,t,i,n,o,_){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=n,this._parentContextKeyService=o,this._parentInstantiationService=_,this._scrollableElements=(0,d.h)("div.scrollContent",[(0,d.h)("div@content",{style:{overflow:"hidden"}}),(0,d.h)("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new m.yE({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>(0,d.PG)((0,d.zk)(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new l.oO(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=(0,d.h)("div.monaco-component.multiDiffEditor",{},[(0,d.h)("div",{},[this._scrollableElement.getDomNode()]),(0,d.h)("div.placeholder@placeholder",{},[(0,d.h)("div",[(0,E.kg)("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new a.pN(this._element,void 0)),this._objectPool=this._register(new T(e=>{let t=this._instantiationService.createInstance(x,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=(0,r.y0)(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=(0,r.y0)(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=(0,r.rm)(this,(e,t)=>{let i=this._viewModel.read(e);if(!i)return{items:[],getItem:e=>{throw new g.D7}};let n=i.items.read(e),o=new Map;return{items:n.map(e=>{var i;let n=t.add(new O(e,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),s=null==(i=this._lastDocStates)?void 0:i[n.getKey()];return s&&(0,c.Rn)(e=>
1{n.setViewState(s,e)}),o.set(e,n),n}),getItem:e=>o.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,i)=>e+i.contentHeight.read(t)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new b.a([v.fN,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(f.R.inMultiDiffEditor.key,!0),this._register((0,r.yC)((e,t)=>{let i=this._viewModel.read(e);if(i&&i.contextKeys)for(let[e,n]of Object.entries(i.contextKeys)){let i=this._contextKeyService.createKey(e,void 0);i.set(n),t.add((0,s.s)(()=>i.reset()))}}));const p=this._parentContextKeyService.createKey(f.R.multiDiffEditorAllCollapsed.key,!1);this._register((0,r.fm)(e=>{let t=this._viewModel.read(e);if(t){let i=t.items.read(e).every(t=>t.collapsed.read(e));p.set(i)}})),this._register((0,r.fm)(e=>{let t=this._dimension.read(e);this._sizeObserver.observe(t)})),this._register((0,r.fm)(e=>{let t=this._viewItems.read(e);this._elements.placeholder.classList.toggle("visible",0===t.length)})),this._scrollableElements.content.style.position="relative",this._register((0,r.fm)(e=>{let t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;let i=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${i}px`;let n=this._sizeObserver.width.read(e),o=n,s=this._viewItems.read(e),r=(0,u.Cn)(s,(0,h.VE)(t=>t.maxScroll.read(e).maxScroll,h.U9));r&&(o=n+r.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:n,height:t,scrollHeight:i,scrollWidth:o})})),e.replaceChildren(this._elements.root),this._register((0,s.s)(()=>{e.replaceChildren()})),this._register(this._register((0,r.fm)(e=>{(0,c.YY)(t=>{this.render(e)})})))}render(e){let t=this.scrollTop.read(e),i=0,n=0,o=0,s=this._sizeObserver.height.read(e),r=_.L.ofStartAndLength(t,s),a=this._sizeObserver.width.read(e);for(let d of this._viewItems.read(e)){let l=d.contentHeight.read(e),h=Math.min(l,s),u=_.L.ofStartAndLength(n,h),g=_.L.ofStartAndLength(o,l);if(g.isBefore(r))i-=l-h,d.hide();else if(g.isAfter(r))d.hide();else{let e=Math.max(0,Math.min(r.start-g.start,l-h));i-=e;let n=_.L.ofStartAndLength(t+i,s);d.render(u,e,a,n)}n+=h+this._spaceBetweenPx,o+=l+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};A=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([W(4,v.fN),W(5,C._Y)],A);class O extends s.jG{constructor(e,t,i,n){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=n,this._templateRef=this._register((0,c.X2)(this,void 0)),this.contentHeight=(0,r.un)(this,e=>{var t,i,n;return null!=(n=null==(i=null==(t=this._templateRef.read(e))?void 0:t.object.contentHeight)?void 0:i.read(e))?n:this.viewModel.lastTemplateData.read(e).contentHeight}),this.maxScroll=(0,r.un)(this,e=>{var t,i;return null!=(i=null==(t=this._templateRef.read(e))?void 0:t.object.maxScroll.read(e))?i:{maxScroll:0,scrollWidth:0}}),this.template=(0,r.un)(this,e=>{var t;return null==(t=this._templateRef.read(e))?void 0:t.object}),this._isHidden=(0,r.FY)(this,!1),this._isFocused=(0,r.un)(this,e=>{var t,i;return null!=(i=null==(t=this.template.read(e))?void 0:t.isFocused.read(e))&&i}),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,r.fm)(e=>{var t;let i=this._scrollLeft.read(e);null==(t=this._templateRef.read(e))||t.object.setScrollLeft(i)})),this._register((0,r.fm)(e=>{let t=this._templateRef.read(e);t&&this._isHidden.read(e)&&(t.object.isFocused.read(e)||this._clear())}))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${null==(e=this.viewModel.entry.value.modified)?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var i;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let n=this.viewModel.lastTemplateData.get(),o=null==(i=e.selections)?void 0:i.map(p.L.liftSelection);this.viewModel.lastTemplateData.set({...n,selections:o},t);let s=this._templateRef.get();s&&o&&s.object.editor.setSelections(o)}_updateTemplateData(e){var t;let i=this._templateRef.get();i&&this.viewModel.lastTemplateData.set({contentHeight:i.object.contentHeight.get(),selections:null!=(t=i.object.editor.getSelections())?t:void 0},e)}_clear(){let e=this._templateRef.get();e&&(0,c.Rn)(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,n){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new R(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);let e=this.viewModel.lastTemplateData.get().selections;e&&o.object.editor.setSelections(e)}o.object.render(e,i,t,n)}}var P=i(99071);
1(0,P.x1A)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,E.kg)("multiDiffEditor.headerBackground","The background color of the diff editor's header")),(0,P.x1A)("multiDiffEditor.background",{dark:"editorBackground",light:"editorBackground",hcDark:"editorBackground",hcLight:"editorBackground"},(0,E.kg)("multiDiffEditor.background","The background color of the multi file diff editor")),(0,P.x1A)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,E.kg)("multiDiffEditor.border","The border color of the multi file diff editor"));let H=class extends s.jG{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=(0,r.FY)(this,void 0),this._viewModel=(0,r.FY)(this,void 0),this._widgetImpl=(0,r.rm)(this,(e,t)=>((0,a.b6)(x,e),t.add(this._instantiationService.createInstance((0,a.b6)(A,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register((0,r.OI)(this._widgetImpl))}};H=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([(o=C._Y,function(e,t){o(e,t,2)})],H)},69679(e,t,i){i.d(t,{I:()=>o});var n=i(61801);class o extends n.LN{constructor(e){super(),this._getContext=e}runAction(e,t){let i=this._getContext();return super.runAction(e,i)}}}}]);
2//# sourceMappingURL=1724.75d7bf4a.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.