@inkeep/agents-manage-ui 0.0.0-dev-20251015020741 → 0.0.0-dev-20251015054033
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
- package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +160 -160
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +7 -7
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +13 -13
- package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +6 -6
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +7 -7
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{3070.js → 1821.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3687.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/462.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6045.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6212.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7457.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7504.js +4 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{23113.e6360a0c0f4c8c63.js → 23113.149c9e966efdd975.js} +12 -12
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2786-efbcb9bf437d8b5a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{33733.2863d249fd9e361d.js → 33733.4784572467856ed6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{71558-9aa53f881816dca7.js → 71558-6ae8c2f7d8aa8e69.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7190-692eb119e1a84151.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-21eddae3f1b5ec1f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-4677ef65ccd6a733.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-e232d9b72e22c7a4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-f7cd515dff1aaa07.js → page-51a34f716c23800a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-f7cd515dff1aaa07.js → page-51a34f716c23800a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-32c6f25e1fee1ef3.js → page-e4186f2885ec80e6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-9da9660f1a8660ac.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-9da9660f1a8660ac.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-6532ad18e4419321.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-0a0d623641b53e85.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-3b274aaf1d90f05d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8fc98be27b6ae266.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-ac9546b0dcc64bb1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-68288029a88c7b1e.js → page-946983acfc460fb5.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-55d0e24cce7f50ee.js → page-bc09ebf2b7c41bc4.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-82f2db14cd889a2d.js → page-c84bd9bbaff25508.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/{page-0f7db9d6790798c7.js → page-a96b820f2ba3a069.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-2bd23d0b4a9ed4ba.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-b9e4f333af3b9a52.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-eac97a6e1c9c9ceb.js → webpack-2b33a9fe2cfaef72.js} +1 -1
- package/.next/standalone/agents-manage-ui/package.json +1 -1
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +4 -4
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +6 -2
- package/src/app/api/signoz/route.ts +3 -3
- package/src/app/layout.tsx +5 -2
- package/src/lib/api/api-config.ts +8 -2
- package/src/lib/mcp-tools/nango.ts +6 -3
- package/src/lib/runtime-config/defaults.ts +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1042.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4210.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5457.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/39458-9850026977a6222e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7190-166a0afe031959ea.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-a58a44669962b471.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-567d327c94346a48.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-b461d8c6b7899a17.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-d1fbf1671a332fdc.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-d1fbf1671a332fdc.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-48098553a6cf83e9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-ef9cc8ded8fac242.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-306f8354e5615494.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-78597eb4ba3043ee.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-40f4b71257ce6171.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-6d3c09cc8923652d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-62ded143c5b753d9.js +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{oxHYEPMJBCfVo3N7QRfcz → WovLeYGjlihgyG5AGMLkL}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{oxHYEPMJBCfVo3N7QRfcz → WovLeYGjlihgyG5AGMLkL}/_ssgManifest.js +0 -0
|
@@ -26,7 +26,7 @@ Efficiency: ${(c/(c+d)*100).toPrecision(2)}%`}}var l=c(32677);class m{constructo
|
|
|
26
26
|
Wasted: ${f}px (${(f/h*100).toFixed(2)}%)
|
|
27
27
|
Restricted: ${g}px (${(g/h*100).toFixed(2)}%) (hard to allocate)
|
|
28
28
|
Efficiency: ${1===j?"100":(100*j).toFixed(2)}%
|
|
29
|
-
Slabs: ${this._slabs.length} of ${Math.floor(this._canvas.width/i)*Math.floor(this._canvas.height/i)}`}}function n(a,b,c){let d=a.get(b);d||(d=[],a.set(b,d)),d.push(c)}var o=function(a,b){return function(c,d){b(c,d,a)}};let p=class extends e.jG{static{d=this}get version(){return this._version}static{this.maximumGlyphCount=5e3}get usedArea(){return this._usedArea}get source(){return this._canvas}get glyphs(){return this._glyphInOrderSet.values()}constructor(a,b,c,d,g){switch(super(),this._logService=d,this._version=0,this._usedArea={left:0,top:0,right:0,bottom:0},this._glyphMap=new f.QO,this._glyphInOrderSet=new Set,this._canvas=new OffscreenCanvas(b,b),this._colorMap=g.getColorTheme().tokenColorMap,c){case"shelf":this._allocator=new k(this._canvas,a);break;case"slab":this._allocator=new m(this._canvas,a);break;default:this._allocator=c(this._canvas,a)}this._register((0,e.s)(()=>{this._canvas.width=1,this._canvas.height=1}))}getGlyph(a,b,c,d){return this._glyphMap.get(b,c,d,a.cacheKey)??this._createGlyph(a,b,c,d)}_createGlyph(a,b,c,e){if(this._glyphInOrderSet.size>=d.maximumGlyphCount)return;let f=a.rasterizeGlyph(b,c,e,this._colorMap),h=this._allocator.allocate(f);if(void 0!==h)return this._glyphMap.set(h,b,c,e,a.cacheKey),this._glyphInOrderSet.add(h),this._version++,this._usedArea.right=Math.max(this._usedArea.right,h.x+h.w-1),this._usedArea.bottom=Math.max(this._usedArea.bottom,h.y+h.h-1),this._logService.getLevel()===g.$b.Trace&&this._logService.trace("New glyph",{chars:b,tokenMetadata:c,decorationStyleSetId:e,rasterizedGlyph:f,glyph:h}),h}getUsagePreview(){return this._allocator.getUsagePreview()}getStats(){return this._allocator.getStats()}};p=d=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([o(3,g.rr),o(4,h.Gy)],p)},11053:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=(0,c(29715).u1)("codeEditorService")},11314:(a,b,c)=>{"use strict";c.d(b,{$w:()=>s,AS:()=>j,Ay:()=>e,BO:()=>r,Cm:()=>n,HE:()=>p,VD:()=>f,Xm:()=>i,jG:()=>o,lC:()=>h,mp:()=>q,qE:()=>k,s:()=>m});var d=c(16374);function e(a){return a}function f(a){}function g(a,b){}function h(a){return a}function i(a){return"object"==typeof a&&null!==a&&"function"==typeof a.dispose&&0===a.dispose.length}function j(a){if(d.f.is(a)){let b=[];for(let c of a)if(c)try{c.dispose()}catch(a){b.push(a)}if(1===b.length)throw b[0];if(b.length>1)throw AggregateError(b,"Encountered errors while disposing of store");return Array.isArray(a)?[]:a}if(a)return a.dispose(),a}function k(...a){let b=m(()=>j(a));!1;return b}class l{constructor(a){this._isDisposed=!1,this._fn=a,e(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,f(this),this._fn()}}}function m(a){return new l(a)}class n{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,e(this)}dispose(){this._isDisposed||(f(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{j(this._toDispose)}finally{this._toDispose.clear()}}add(a){if(!a||a===o.None)return a;if(a===this)throw Error("Cannot register a disposable on itself!");return g(a,this),this._isDisposed?n.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(a),a}delete(a){if(a){if(a===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(a),a.dispose()}}}class o{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new n,e(this),g(this._store,this)}dispose(){f(this),this._store.dispose()}_register(a){if(a===this)throw Error("Cannot register a disposable on itself!");return this._store.add(a)}}class p{constructor(){this._isDisposed=!1,e(this)}get value(){return this._isDisposed?void 0:this._value}set value(a){this._isDisposed||a===this._value||(this._value?.dispose(),a&&g(a,this),this._value=a)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,f(this),this._value?.dispose(),this._value=void 0}}class q{constructor(a){this._disposable=a,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class r{constructor(a){this.object=a}dispose(){}}class s{constructor(){this._store=new Map,this._isDisposed=!1,e(this)}dispose(){f(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{j(this._store.values())}finally{this._store.clear()}}get(a){return this._store.get(a)}set(a,b,c=!1){this._isDisposed&&console.warn(Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),c||this._store.get(a)?.dispose(),this._store.set(a,b),g(b,this)}deleteAndDispose(a){this._store.get(a)?.dispose(),this._store.delete(a)}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},11583:(a,b,c)=>{"use strict";c.d(b,{B6:()=>d,Fd:()=>t,LC:()=>q,P8:()=>p,Pi:()=>o,er:()=>m,iZ:()=>u,n4:()=>n,o1:()=>v,pD:()=>r,su:()=>k,uJ:()=>s});var d,e=c(31122),f=c(18920),g=c(76687),h=c(56167),i=c(98447),j=c(45640);function k(a){return(0,j.I)(a,!0)}class l{constructor(a){this._ignorePathCasing=a}compare(a,b,c=!1){return a===b?0:(0,i.UD)(this.getComparisonKey(a,c),this.getComparisonKey(b,c))}isEqual(a,b,c=!1){return a===b||!!a&&!!b&&this.getComparisonKey(a,c)===this.getComparisonKey(b,c)}getComparisonKey(a,b=!1){return a.with({path:this._ignorePathCasing(a)?a.path.toLowerCase():void 0,fragment:b?null:void 0}).toString()}isEqualOrParent(a,b,c=!1){if(a.scheme===b.scheme){if(a.scheme===f.ny.file)return e._1(k(a),k(b),this._ignorePathCasing(a))&&a.query===b.query&&(c||a.fragment===b.fragment);if(w(a.authority,b.authority))return e._1(a.path,b.path,this._ignorePathCasing(a),"/")&&a.query===b.query&&(c||a.fragment===b.fragment)}return!1}joinPath(a,...b){return j.r.joinPath(a,...b)}basenameOrAuthority(a){return p(a)||a.authority}basename(a){return g.SA.basename(a.path)}extname(a){return g.SA.extname(a.path)}dirname(a){let b;return 0===a.path.length?a:(a.scheme===f.ny.file?b=j.r.file(g.pD(k(a))).path:(b=g.SA.dirname(a.path),a.authority&&b.length&&47!==b.charCodeAt(0)&&(console.error(`dirname("${a.toString})) resulted in a relative path`),b="/")),a.with({path:b}))}normalizePath(a){let b;return a.path.length?(b=a.scheme===f.ny.file?j.r.file(g.S8(k(a))).path:g.SA.normalize(a.path),a.with({path:b})):a}relativePath(a,b){if(a.scheme!==b.scheme||!w(a.authority,b.authority))return;if(a.scheme===f.ny.file){let c=g.V8(k(a),k(b));return h.uF?e.TH(c):c}let c=a.path||"/",d=b.path||"/";if(this._ignorePathCasing(a)){let a=0;for(let b=Math.min(c.length,d.length);a<b&&(c.charCodeAt(a)===d.charCodeAt(a)||c.charAt(a).toLowerCase()===d.charAt(a).toLowerCase());a++);c=d.substr(0,a)+c.substr(a)}return g.SA.relative(c,d)}resolvePath(a,b){if(a.scheme===f.ny.file){let c=j.r.file(g.hd(k(a),b));return a.with({authority:c.authority,path:c.path})}return b=e.kb(b),a.with({path:g.SA.resolve(a.path,b)})}isAbsolutePath(a){return!!a.path&&"/"===a.path[0]}isEqualAuthority(a,b){return a===b||void 0!==a&&void 0!==b&&(0,i.Q_)(a,b)}hasTrailingPathSeparator(a,b=g.Vn){if(a.scheme===f.ny.file){let c=k(a);return c.length>e.Zn(c).length&&c[c.length-1]===b}{let b=a.path;return b.length>1&&47===b.charCodeAt(b.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(a.fsPath)}}removeTrailingPathSeparator(a,b=g.Vn){return x(a,b)?a.with({path:a.path.substr(0,a.path.length-1)}):a}addTrailingPathSeparator(a,b=g.Vn){let c=!1;if(a.scheme===f.ny.file){let d=k(a);c=void 0!==d&&d.length===e.Zn(d).length&&d[d.length-1]===b}else{b="/";let d=a.path;c=1===d.length&&47===d.charCodeAt(d.length-1)}return c||x(a,b)?a:a.with({path:a.path+"/"})}}let m=new l(()=>!1);new l(a=>a.scheme!==f.ny.file||!h.j9),new l(a=>!0);let n=m.isEqual.bind(m);m.isEqualOrParent.bind(m),m.getComparisonKey.bind(m);let o=m.basenameOrAuthority.bind(m),p=m.basename.bind(m),q=m.extname.bind(m),r=m.dirname.bind(m),s=m.joinPath.bind(m),t=m.normalizePath.bind(m),u=m.relativePath.bind(m),v=m.resolvePath.bind(m);m.isAbsolutePath.bind(m);let w=m.isEqualAuthority.bind(m),x=m.hasTrailingPathSeparator.bind(m);m.removeTrailingPathSeparator.bind(m),m.addTrailingPathSeparator.bind(m),function(a){a.META_DATA_LABEL="label",a.META_DATA_DESCRIPTION="description",a.META_DATA_SIZE="size",a.META_DATA_MIME="mime",a.parseMetaData=function(b){let c=new Map;b.path.substring(b.path.indexOf(";")+1,b.path.lastIndexOf(";")).split(";").forEach(a=>{let[b,d]=a.split(":");b&&d&&c.set(b,d)});let d=b.path.substring(0,b.path.indexOf(";"));return d&&c.set(a.META_DATA_MIME,d),c}}(d||(d={}))},11628:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(49982),e=c(56167);let f={DateTimeFormat:(a,b)=>new d.d(()=>{try{return new Intl.DateTimeFormat(a,b)}catch{return new Intl.DateTimeFormat(void 0,b)}}),Collator:(a,b)=>new d.d(()=>{try{return new Intl.Collator(a,b)}catch{return new Intl.Collator(void 0,b)}}),Segmenter:(a,b)=>new d.d(()=>{try{return new Intl.Segmenter(a,b)}catch{return new Intl.Segmenter(void 0,b)}}),Locale:(a,b)=>new d.d(()=>{try{return new Intl.Locale(a,b)}catch{return new Intl.Locale(e.ti,b)}}),NumberFormat:(a,b)=>new d.d(()=>{try{return new Intl.NumberFormat(a,b)}catch{return new Intl.NumberFormat(void 0,b)}})}},11866:(a,b,c)=>{"use strict";c.d(b,{Np:()=>f,jA:()=>g,z9:()=>e});var d=c(15380);function e(a){return!!a&&"function"==typeof a.getEditorType&&a.getEditorType()===d._.ICodeEditor}function f(a){return!!a&&"function"==typeof a.getEditorType&&a.getEditorType()===d._.IDiffEditor}function g(a){return e(a)?a:f(a)?a.getModifiedEditor():a&&"object"==typeof a&&"function"==typeof a.onDidChangeActiveEditor&&e(a.activeCodeEditor)?a.activeCodeEditor:null}},12650:()=>{},12783:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});class d{constructor(a,b,c,d,e,f,g){this.id=a,this.label=b,this.alias=c,this.metadata=d,this._precondition=e,this._run=f,this._contextKeyService=g}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(a){return this.isSupported()?this._run(a):Promise.resolve(void 0)}}},13516:()=>{},13655:(a,b,c)=>{"use strict";c.d(b,{G$:()=>i,Of:()=>f,r0:()=>g,rr:()=>h});var d=c(25536);class e{constructor(a,b,c=b){this.modifierLabels=[null],this.modifierLabels[2]=a,this.modifierLabels[1]=b,this.modifierLabels[3]=c}toLabel(a,b,c){if(0===b.length)return null;let d=[];for(let e=0,f=b.length;e<f;e++){let f=b[e],g=c(f);if(null===g)return null;d[e]=function(a,b,c){if(null===b)return"";let d=[];return a.ctrlKey&&d.push(c.ctrlKey),a.shiftKey&&d.push(c.shiftKey),a.altKey&&d.push(c.altKey),a.metaKey&&d.push(c.metaKey),""!==b&&d.push(b),d.join(c.separator)}(f,g,this.modifierLabels[a])}return d.join(" ")}}let f=new e({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:d.kg(35,"Ctrl"),shiftKey:d.kg(36,"Shift"),altKey:d.kg(37,"Alt"),metaKey:d.kg(38,"Windows"),separator:"+"},{ctrlKey:d.kg(39,"Ctrl"),shiftKey:d.kg(40,"Shift"),altKey:d.kg(41,"Alt"),metaKey:d.kg(42,"Super"),separator:"+"}),g=new e({ctrlKey:d.kg(43,"Control"),shiftKey:d.kg(44,"Shift"),altKey:d.kg(45,"Option"),metaKey:d.kg(46,"Command"),separator:"+"},{ctrlKey:d.kg(47,"Control"),shiftKey:d.kg(48,"Shift"),altKey:d.kg(49,"Alt"),metaKey:d.kg(50,"Windows"),separator:"+"},{ctrlKey:d.kg(51,"Control"),shiftKey:d.kg(52,"Shift"),altKey:d.kg(53,"Alt"),metaKey:d.kg(54,"Super"),separator:"+"}),h=new e({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"}),i=new e({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"})},13816:(a,b,c)=>{"use strict";c.d(b,{J:()=>f,U:()=>e});var d=c(29715);let e=(0,d.u1)("textResourceConfigurationService"),f=(0,d.u1)("textResourcePropertiesService")},14088:(a,b,c)=>{"use strict";c.d(b,{Ho:()=>b4,kI:()=>b5,Bz:()=>bW,oL:()=>bX});var d,e,f,g=c(54734),h=c(23949),i=c(88347),j=c(60734),k=c(11314),l=c(98447),m=c(45640),n=c(6657),o=c(25146),p=c(79677),q=c(59317),r=c(32146),s=c(93835),t=c(81190),u=c(59298),v=c(34747),w=c(65576),x=c(61004);class y{constructor(a,b,c,d){this.range=a,this.nestingLevel=b,this.nestingLevelOfEqualBracketType=c,this.isInvalid=d}}class z{constructor(a,b,c,d,e,f){this.range=a,this.openingBracketRange=b,this.closingBracketRange=c,this.nestingLevel=d,this.nestingLevelOfEqualBracketType=e,this.bracketPairNode=f}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class A extends z{constructor(a,b,c,d,e,f,g){super(a,b,c,d,e,f),this.minVisibleColumnIndentation=g}}var B=c(88662),C=c(63506),D=c(25247),E=c(41502),F=c(23316),G=c(38066),H=c(41500);class I extends k.jG{didLanguageChange(a){return this.brackets.didLanguageChange(a)}constructor(a,b){if(super(),this.textModel=a,this.getLanguageConfiguration=b,this.didChangeEmitter=new j.vl,this.denseKeyProvider=new F.Mg,this.brackets=new C.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],a.tokenization.hasTokens)2===a.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{let a=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),b=new G._(this.textModel.getValue(),a);this.initialAstWithoutTokens=(0,E.T)(b,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){let a=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,a||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:a}){let b=a.map(a=>new B.c((0,D.qe)(a.fromLineNumber-1,0),(0,D.qe)(a.toLineNumber,0),(0,D.qe)(a.toLineNumber-a.fromLineNumber+1,0)));this.handleEdits(b,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(a){let b=B.c.fromModelContentChanges(a.changes);this.handleEdits(b,!1)}handleEdits(a,b){let c=(0,H.M)(this.queuedTextEdits,a);this.queuedTextEdits=c,this.initialAstWithoutTokens&&!b&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,H.M)(this.queuedTextEditsForInitialAstWithoutTokens,a))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(a,b,c){let d=new G.tk(this.textModel,this.brackets);return(0,E.T)(d,a,b,c)}getBracketsInRange(a,b){this.flushQueue();let c=(0,D.qe)(a.startLineNumber-1,a.startColumn-1),d=(0,D.qe)(a.endLineNumber-1,a.endColumn-1);return new g.c1(a=>{let e=this.initialAstWithoutTokens||this.astWithTokens;!function a(b,c,d,e,f,g,h,i,j,k,l=!1){if(h>200)return!0;b:for(;;)switch(b.kind){case 4:{let i=b.childrenLength;for(let l=0;l<i;l++){let i=b.getChild(l);if(i){if(d=(0,D.QB)(c,i.length),(0,D.vr)(c,f)&&(0,D.o0)(d,e)){if((0,D.o0)(d,f)){b=i;continue b}if(!a(i,c,d,e,f,g,h,0,j,k))return!1}c=d}}return!0}case 2:{let l=!k||!b.closingBracket||b.closingBracket.bracketInfo.closesColorized(b.openingBracket.bracketInfo),m=0;if(j){let a=j.get(b.openingBracket.text);void 0===a&&(a=0),m=a,l&&(a++,j.set(b.openingBracket.text,a))}let n=b.childrenLength;for(let o=0;o<n;o++){let n=b.getChild(o);if(n){if(d=(0,D.QB)(c,n.length),(0,D.vr)(c,f)&&(0,D.o0)(d,e)){if((0,D.o0)(d,f)&&1!==n.kind){b=n,l?(h++,i=m+1):i=m;continue b}if((l||1!==n.kind||!b.closingBracket)&&!a(n,c,d,e,f,g,l?h+1:h,l?m+1:m,j,k,!b.closingBracket))return!1}c=d}}return j?.set(b.openingBracket.text,m),!0}case 3:return g(new y((0,D.Qx)(c,d),h-1,0,!0));case 1:return g(new y((0,D.Qx)(c,d),h-1,i-1,l));case 0:return!0}}(e,D.Vp,e.length,c,d,a,0,0,new Map,b)})}getBracketPairsInRange(a,b){this.flushQueue();let c=(0,D.VL)(a.getStartPosition()),d=(0,D.VL)(a.getEndPosition());return new g.c1(a=>{let e=this.initialAstWithoutTokens||this.astWithTokens,f=new J(a,b,this.textModel);!function a(b,c,d,e,f,g,h,i){if(h>200)return!0;let j=!0;if(2===b.kind){let k=0;if(i){let a=i.get(b.openingBracket.text);void 0===a&&(a=0),k=a,a++,i.set(b.openingBracket.text,a)}let l=(0,D.QB)(c,b.openingBracket.length),m=-1;if(g.includeMinIndentation&&(m=b.computeMinIndentation(c,g.textModel)),j=g.push(new A((0,D.Qx)(c,d),(0,D.Qx)(c,l),b.closingBracket?(0,D.Qx)((0,D.QB)(l,b.child?.length||D.Vp),d):void 0,h,k,b,m)),c=l,j&&b.child){let k=b.child;if(d=(0,D.QB)(c,k.length),(0,D.vr)(c,f)&&(0,D.o0)(d,e)&&!(j=a(k,c,d,e,f,g,h+1,i)))return!1}i?.set(b.openingBracket.text,k)}else{let d=c;for(let c of b.children){let b=d;if(d=(0,D.QB)(d,c.length),(0,D.vr)(b,f)&&(0,D.vr)(e,d)&&!(j=a(c,b,d,e,f,g,h,i)))return!1}}return j}(e,D.Vp,e.length,c,d,f,0,new Map)})}getFirstBracketAfter(a){this.flushQueue();let b=this.initialAstWithoutTokens||this.astWithTokens;return function a(b,c,d,e){if(4===b.kind||2===b.kind)for(let f of b.children){if(d=(0,D.QB)(c,f.length),(0,D.zG)(e,d)){let b=a(f,c,d,e);if(b)return b}c=d}else if(3===b.kind);else if(1===b.kind){let a=(0,D.Qx)(c,d);return{bracketInfo:b.bracketInfo,range:a}}return null}(b,D.Vp,b.length,(0,D.VL)(a))}getFirstBracketBefore(a){this.flushQueue();let b=this.initialAstWithoutTokens||this.astWithTokens;return function a(b,c,d,e){if(4===b.kind||2===b.kind){let f=[];for(let a of b.children)d=(0,D.QB)(c,a.length),f.push({nodeOffsetStart:c,nodeOffsetEnd:d}),c=d;for(let c=f.length-1;c>=0;c--){let{nodeOffsetStart:d,nodeOffsetEnd:g}=f[c];if((0,D.zG)(d,e)){let f=a(b.children[c],d,g,e);if(f)return f}}}else if(3===b.kind);else if(1===b.kind){let a=(0,D.Qx)(c,d);return{bracketInfo:b.bracketInfo,range:a}}return null}(b,D.Vp,b.length,(0,D.VL)(a))}}class J{constructor(a,b,c){this.push=a,this.includeMinIndentation=b,this.textModel=c}}class K extends k.jG{get canBuildAST(){return 5e6>=this.textModel.getValueLength()}constructor(a,b){super(),this.textModel=a,this.languageConfigurationService=b,this.bracketPairsTree=this._register(new k.HE),this.onDidChangeEmitter=new j.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(a){(!a.languageId||this.bracketPairsTree.value?.object.didLanguageChange(a.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(a){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(a){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(a){this.bracketPairsTree.value?.object.handleContentChanged(a)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(a){this.bracketPairsTree.value?.object.handleDidChangeTokens(a)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){var a,b;let c=new k.Cm;this.bracketPairsTree.value=(a=c.add(new I(this.textModel,a=>this.languageConfigurationService.getLanguageConfiguration(a))),b=c,{object:a,dispose:()=>b?.dispose()}),c.add(this.bracketPairsTree.value.object.onDidChange(a=>this.onDidChangeEmitter.fire(a))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(a){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(a,!1)||g.c1.empty}getBracketPairsInRangeWithMinIndentation(a){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(a,!0)||g.c1.empty}getBracketsInRange(a,b=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(a,b)||g.c1.empty}findMatchingBracketUp(a,b,c){let d=this.textModel.validatePosition(b),e=this.textModel.getLanguageIdAtPosition(d.lineNumber,d.column);if(this.canBuildAST){let c=this.languageConfigurationService.getLanguageConfiguration(e).bracketsNew.getClosingBracketInfo(a);if(!c)return null;let d=this.getBracketPairsInRange(q.Q.fromPositions(b,b)).findLast(a=>c.closes(a.openingBracketInfo));return d?d.openingBracketRange:null}{let b=a.toLowerCase(),f=this.languageConfigurationService.getLanguageConfiguration(e).brackets;if(!f)return null;let g=f.textIsBracket[b];return g?N(this._findMatchingBracketUp(g,d,L(c))):null}}matchBracket(a,b){if(this.canBuildAST){let b=this.getBracketPairsInRange(q.Q.fromPositions(a,a)).filter(b=>void 0!==b.closingBracketRange&&(b.openingBracketRange.containsPosition(a)||b.closingBracketRange.containsPosition(a))).findLastMaxBy((0,g.VE)(b=>b.openingBracketRange.containsPosition(a)?b.openingBracketRange:b.closingBracketRange,q.Q.compareRangesUsingStarts));return b?[b.openingBracketRange,b.closingBracketRange]:null}{let c=L(b);return this._matchBracket(this.textModel.validatePosition(a),c)}}_establishBracketSearchOffsets(a,b,c,d){let e=b.getCount(),f=b.getLanguageId(d),g=Math.max(0,a.column-1-c.maxBracketLength);for(let a=d-1;a>=0;a--){let c=b.getEndOffset(a);if(c<=g)break;if((0,w.Yo)(b.getStandardTokenType(a))||b.getLanguageId(a)!==f){g=c;break}}let h=Math.min(b.getLineContent().length,a.column-1+c.maxBracketLength);for(let a=d+1;a<e;a++){let c=b.getStartOffset(a);if(c>=h)break;if((0,w.Yo)(b.getStandardTokenType(a))||b.getLanguageId(a)!==f){h=c;break}}return{searchStartOffset:g,searchEndOffset:h}}_matchBracket(a,b){let c=a.lineNumber,d=this.textModel.tokenization.getLineTokens(c),e=this.textModel.getLineContent(c),f=d.findTokenIndexAtOffset(a.column-1);if(f<0)return null;let g=this.languageConfigurationService.getLanguageConfiguration(d.getLanguageId(f)).brackets;if(g&&!(0,w.Yo)(d.getStandardTokenType(f))){let{searchStartOffset:h,searchEndOffset:i}=this._establishBracketSearchOffsets(a,d,g,f),j=null;for(;;){let d=x.Fu.findNextBracketInRange(g.forwardRegex,c,e,h,i);if(!d)break;if(d.startColumn<=a.column&&a.column<=d.endColumn){let a=e.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),c=this._matchFoundBracket(d,g.textIsBracket[a],g.textIsOpenBracket[a],b);if(c){if(c instanceof M)return null;j=c}}h=d.endColumn-1}if(j)return j}if(f>0&&d.getStartOffset(f)===a.column-1){let g=f-1,h=this.languageConfigurationService.getLanguageConfiguration(d.getLanguageId(g)).brackets;if(h&&!(0,w.Yo)(d.getStandardTokenType(g))){let{searchStartOffset:f,searchEndOffset:i}=this._establishBracketSearchOffsets(a,d,h,g),j=x.Fu.findPrevBracketInRange(h.reversedRegex,c,e,f,i);if(j&&j.startColumn<=a.column&&a.column<=j.endColumn){let a=e.substring(j.startColumn-1,j.endColumn-1).toLowerCase(),c=this._matchFoundBracket(j,h.textIsBracket[a],h.textIsOpenBracket[a],b);if(c)return c instanceof M?null:c}}}return null}_matchFoundBracket(a,b,c,d){if(!b)return null;let e=c?this._findMatchingBracketDown(b,a.getEndPosition(),d):this._findMatchingBracketUp(b,a.getStartPosition(),d);return e?e instanceof M?e:[a,e]:null}_findMatchingBracketUp(a,b,c){let d=a.languageId,e=a.reversedRegex,f=-1,g=0,h=(b,d,h,i)=>{for(;;){if(c&&++g%100==0&&!c())return M.INSTANCE;let j=x.Fu.findPrevBracketInRange(e,b,d,h,i);if(!j)break;let k=d.substring(j.startColumn-1,j.endColumn-1).toLowerCase();if(a.isOpen(k)?f++:a.isClose(k)&&f--,0===f)return j;i=j.startColumn-1}return null};for(let a=b.lineNumber;a>=1;a--){let c=this.textModel.tokenization.getLineTokens(a),e=c.getCount(),f=this.textModel.getLineContent(a),g=e-1,i=f.length,j=f.length;a===b.lineNumber&&(g=c.findTokenIndexAtOffset(b.column-1),i=b.column-1,j=b.column-1);let k=!0;for(;g>=0;g--){let b=c.getLanguageId(g)===d&&!(0,w.Yo)(c.getStandardTokenType(g));if(b)k?i=c.getStartOffset(g):(i=c.getStartOffset(g),j=c.getEndOffset(g));else if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}k=b}if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}}return null}_findMatchingBracketDown(a,b,c){let d=a.languageId,e=a.forwardRegex,f=1,g=0,h=(b,d,h,i)=>{for(;;){if(c&&++g%100==0&&!c())return M.INSTANCE;let j=x.Fu.findNextBracketInRange(e,b,d,h,i);if(!j)break;let k=d.substring(j.startColumn-1,j.endColumn-1).toLowerCase();if(a.isOpen(k)?f++:a.isClose(k)&&f--,0===f)return j;h=j.endColumn-1}return null},i=this.textModel.getLineCount();for(let a=b.lineNumber;a<=i;a++){let c=this.textModel.tokenization.getLineTokens(a),e=c.getCount(),f=this.textModel.getLineContent(a),g=0,i=0,j=0;a===b.lineNumber&&(g=c.findTokenIndexAtOffset(b.column-1),i=b.column-1,j=b.column-1);let k=!0;for(;g<e;g++){let b=c.getLanguageId(g)===d&&!(0,w.Yo)(c.getStandardTokenType(g));if(b)k||(i=c.getStartOffset(g)),j=c.getEndOffset(g);else if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}k=b}if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}}return null}findPrevBracket(a){let b=this.textModel.validatePosition(a);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(b)||null;let c=null,d=null,e=null;for(let a=b.lineNumber;a>=1;a--){let f=this.textModel.tokenization.getLineTokens(a),g=f.getCount(),h=this.textModel.getLineContent(a),i=g-1,j=h.length,k=h.length;if(a===b.lineNumber){i=f.findTokenIndexAtOffset(b.column-1),j=b.column-1,k=b.column-1;let a=f.getLanguageId(i);c!==a&&(c=a,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets,e=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew)}let l=!0;for(;i>=0;i--){let b=f.getLanguageId(i);if(c!==b){if(d&&e&&l&&j!==k){let b=x.Fu.findPrevBracketInRange(d.reversedRegex,a,h,j,k);if(b)return this._toFoundBracket(e,b);l=!1}c=b,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets,e=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew}let g=!!d&&!(0,w.Yo)(f.getStandardTokenType(i));if(g)l?j=f.getStartOffset(i):(j=f.getStartOffset(i),k=f.getEndOffset(i));else if(e&&d&&l&&j!==k){let b=x.Fu.findPrevBracketInRange(d.reversedRegex,a,h,j,k);if(b)return this._toFoundBracket(e,b)}l=g}if(e&&d&&l&&j!==k){let b=x.Fu.findPrevBracketInRange(d.reversedRegex,a,h,j,k);if(b)return this._toFoundBracket(e,b)}}return null}findNextBracket(a){let b=this.textModel.validatePosition(a);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(b)||null;let c=this.textModel.getLineCount(),d=null,e=null,f=null;for(let a=b.lineNumber;a<=c;a++){let c=this.textModel.tokenization.getLineTokens(a),g=c.getCount(),h=this.textModel.getLineContent(a),i=0,j=0,k=0;if(a===b.lineNumber){i=c.findTokenIndexAtOffset(b.column-1),j=b.column-1,k=b.column-1;let a=c.getLanguageId(i);d!==a&&(d=a,e=this.languageConfigurationService.getLanguageConfiguration(d).brackets,f=this.languageConfigurationService.getLanguageConfiguration(d).bracketsNew)}let l=!0;for(;i<g;i++){let b=c.getLanguageId(i);if(d!==b){if(f&&e&&l&&j!==k){let b=x.Fu.findNextBracketInRange(e.forwardRegex,a,h,j,k);if(b)return this._toFoundBracket(f,b);l=!1}d=b,e=this.languageConfigurationService.getLanguageConfiguration(d).brackets,f=this.languageConfigurationService.getLanguageConfiguration(d).bracketsNew}let g=!!e&&!(0,w.Yo)(c.getStandardTokenType(i));if(g)l||(j=c.getStartOffset(i)),k=c.getEndOffset(i);else if(f&&e&&l&&j!==k){let b=x.Fu.findNextBracketInRange(e.forwardRegex,a,h,j,k);if(b)return this._toFoundBracket(f,b)}l=g}if(f&&e&&l&&j!==k){let b=x.Fu.findNextBracketInRange(e.forwardRegex,a,h,j,k);if(b)return this._toFoundBracket(f,b)}}return null}findEnclosingBrackets(a,b){let c=this.textModel.validatePosition(a);if(this.canBuildAST){let a=q.Q.fromPositions(c),b=this.getBracketPairsInRange(q.Q.fromPositions(c,c)).findLast(b=>void 0!==b.closingBracketRange&&b.range.strictContainsRange(a));return b?[b.openingBracketRange,b.closingBracketRange]:null}let d=L(b),e=this.textModel.getLineCount(),f=new Map,g=[],h=(a,b)=>{if(!f.has(a)){let c=[];for(let a=0,d=b?b.brackets.length:0;a<d;a++)c[a]=0;f.set(a,c)}g=f.get(a)},i=0,j=(a,b,c,e,f)=>{for(;;){if(d&&++i%100==0&&!d())return M.INSTANCE;let h=x.Fu.findNextBracketInRange(a.forwardRegex,b,c,e,f);if(!h)break;let j=c.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),k=a.textIsBracket[j];if(k&&(k.isOpen(j)?g[k.index]++:k.isClose(j)&&g[k.index]--,-1===g[k.index]))return this._matchFoundBracket(h,k,!1,d);e=h.endColumn-1}return null},k=null,l=null;for(let a=c.lineNumber;a<=e;a++){let b=this.textModel.tokenization.getLineTokens(a),d=b.getCount(),e=this.textModel.getLineContent(a),f=0,g=0,i=0;if(a===c.lineNumber){f=b.findTokenIndexAtOffset(c.column-1),g=c.column-1,i=c.column-1;let a=b.getLanguageId(f);k!==a&&(k=a,l=this.languageConfigurationService.getLanguageConfiguration(k).brackets,h(k,l))}let m=!0;for(;f<d;f++){let c=b.getLanguageId(f);if(k!==c){if(l&&m&&g!==i){let b=j(l,a,e,g,i);if(b)return N(b);m=!1}k=c,l=this.languageConfigurationService.getLanguageConfiguration(k).brackets,h(k,l)}let d=!!l&&!(0,w.Yo)(b.getStandardTokenType(f));if(d)m||(g=b.getStartOffset(f)),i=b.getEndOffset(f);else if(l&&m&&g!==i){let b=j(l,a,e,g,i);if(b)return N(b)}m=d}if(l&&m&&g!==i){let b=j(l,a,e,g,i);if(b)return N(b)}}return null}_toFoundBracket(a,b){if(!b)return null;let c=this.textModel.getValueInRange(b);c=c.toLowerCase();let d=a.getBracketInfo(c);return d?{range:b,bracketInfo:d}:null}}function L(a){if(void 0===a)return()=>!0;{let b=Date.now();return()=>Date.now()-b<=a}}class M{static{this.INSTANCE=new M}constructor(){this._searchCanceledBrand=void 0}}function N(a){return a instanceof M?null:a}var O=c(27499),P=c(42484);class Q extends k.jG{constructor(a){super(),this.textModel=a,this.colorProvider=new R,this.onDidChangeEmitter=new j.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=a.getOptions().bracketPairColorizationOptions,this._register(a.bracketPairs.onDidChange(a=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(a){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(a,b,c,d){return d||void 0===b||!this.colorizationOptions.enabled?[]:this.textModel.bracketPairs.getBracketsInRange(a,!0).map(a=>({id:`bracket${a.range.toString()}-${a.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(a,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:a.range})).toArray()}getAllDecorations(a,b){return void 0!==a&&this.colorizationOptions.enabled?this.getDecorationsInRange(new q.Q(1,1,this.textModel.getLineCount(),1),a,b):[]}}class R{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(a,b){return a.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(b?a.nestingLevelOfEqualBracketType:a.nestingLevel)}getInlineClassNameOfLevel(a){return`bracket-highlighting-${a%30}`}}(0,P.zy)((a,b)=>{let c=[O.sN,O.lQ,O.ss,O.l5,O.sH,O.zp],d=new R;b.addRule(`.monaco-editor .${d.unexpectedClosingBracketClassName} { color: ${a.getColor(O.s7)}; }`);let e=c.map(b=>a.getColor(b)).filter(a=>!!a).filter(a=>!a.isTransparent());for(let a=0;a<30;a++){let c=e[a%e.length];b.addRule(`.monaco-editor .${d.getInlineClassNameOfLevel(a)} { color: ${c}; }`)}});var S=c(33840),T=c(72070);class U{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function V(a,b,c){let d=Math.min(a.getLineCount(),1e4),e=0,f=0,g="",h=0,i=[0,0,0,0,0,0,0,0,0],j=new U;for(let k=1;k<=d;k++){let d=a.getLineLength(k),l=a.getLineContent(k),m=d<=65536,n=!1,o=0,p=0,q=0;for(let b=0;b<d;b++){let c=m?l.charCodeAt(b):a.getLineCharCode(k,b);if(9===c)q++;else if(32===c)p++;else{n=!0,o=b;break}}if(!n||(q>0?e++:p>1&&f++,!function(a,b,c,d,e){let f;for(f=0,e.spacesDiff=0,e.looksLikeAlignment=!1;f<b&&f<d&&a.charCodeAt(f)===c.charCodeAt(f);f++);let g=0,h=0;for(let c=f;c<b;c++)32===a.charCodeAt(c)?g++:h++;let i=0,j=0;for(let a=f;a<d;a++)32===c.charCodeAt(a)?i++:j++;if(g>0&&h>0||i>0&&j>0)return;let k=Math.abs(h-j),l=Math.abs(g-i);if(0===k){e.spacesDiff=l,l>0&&0<=i-1&&i-1<a.length&&i<c.length&&32!==c.charCodeAt(i)&&32===a.charCodeAt(i-1)&&44===a.charCodeAt(a.length-1)&&(e.looksLikeAlignment=!0);return}l%k==0&&(e.spacesDiff=l/k)}(g,h,l,o,j),j.looksLikeAlignment&&!(c&&b===j.spacesDiff)))continue;let r=j.spacesDiff;r<=8&&i[r]++,g=l,h=o}let k=c;e!==f&&(k=e<f);let l=b;if(k){let a=k?0:.1*d;[2,4,6,8,3,5,7].forEach(b=>{let c=i[b];c>a&&(a=c,l=b)}),4===l&&i[4]>0&&i[2]>0&&i[2]>=i[4]/2&&(l=2)}return{insertSpaces:k,tabSize:l}}function W(a){return(1&a.metadata)>>>0}function X(a,b){a.metadata=254&a.metadata|(0|b)}function Y(a){return(2&a.metadata)>>>1==1}function Z(a,b){a.metadata=253&a.metadata|!!b<<1}function $(a){return(4&a.metadata)>>>2==1}function _(a,b){a.metadata=251&a.metadata|!!b<<2}function aa(a){return(64&a.metadata)>>>6==1}function ab(a,b){a.metadata=191&a.metadata|!!b<<6}function ac(a){return(128&a.metadata)>>>7==1}function ad(a,b){a.metadata=127&a.metadata|!!b<<7}function ae(a,b){a.metadata=231&a.metadata|b<<3}function af(a,b){a.metadata=223&a.metadata|!!b<<5}class ag{constructor(a,b,c){this.metadata=0,this.parent=this,this.left=this,this.right=this,X(this,1),this.start=b,this.end=c,this.delta=0,this.maxEnd=c,this.id=a,this.ownerId=0,this.options=null,_(this,!1),ab(this,!1),ae(this,1),af(this,!1),ad(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=b,this.cachedAbsoluteEnd=c,this.range=null,Z(this,!1)}reset(a,b,c,d){this.start=b,this.end=c,this.maxEnd=c,this.cachedVersionId=a,this.cachedAbsoluteStart=b,this.cachedAbsoluteEnd=c,this.range=d}setOptions(a){this.options=a;let b=this.options.className;_(this,"squiggly-error"===b||"squiggly-warning"===b||"squiggly-info"===b),ab(this,null!==this.options.glyphMarginClassName),ae(this,this.options.stickiness),af(this,this.options.collapseOnReplaceEdit),ad(this,this.options.affectsFont??!1)}setCachedOffsets(a,b,c){this.cachedVersionId!==c&&(this.range=null),this.cachedVersionId=c,this.cachedAbsoluteStart=a,this.cachedAbsoluteEnd=b}detach(){this.parent=null,this.left=null,this.right=null}}let ah=new ag(null,0,0);ah.parent=ah,ah.left=ah,ah.right=ah,X(ah,0);class ai{constructor(){this.root=ah,this.requestNormalizeDelta=!1}intervalSearch(a,b,c,d,e,f,g){return this.root===ah?[]:function(a,b,c,d,e,f,g,h){let i=a.root,j=0,k=0,l=0,m=[],n=0;for(;i!==ah;){if(Y(i)){Z(i.left,!1),Z(i.right,!1),i===i.parent.right&&(j-=i.parent.delta),i=i.parent;continue}if(!Y(i.left)){if(j+i.maxEnd<b){Z(i,!0);continue}if(i.left!==ah){i=i.left;continue}}if((k=j+i.start)>c){Z(i,!0);continue}if((l=j+i.end)>=b){i.setCachedOffsets(k,l,g);let a=!0;d&&i.ownerId&&i.ownerId!==d&&(a=!1),e&&$(i)&&(a=!1),f&&ac(i)&&(a=!1),h&&!aa(i)&&(a=!1),a&&(m[n++]=i)}if(Z(i,!0),i.right!==ah&&!Y(i.right)){j+=i.delta,i=i.right;continue}}return Z(a.root,!1),m}(this,a,b,c,d,e,f,g)}search(a,b,c,d,e){return this.root===ah?[]:function(a,b,c,d,e,f){let g=a.root,h=0,i=0,j=0,k=[],l=0;for(;g!==ah;){if(Y(g)){Z(g.left,!1),Z(g.right,!1),g===g.parent.right&&(h-=g.parent.delta),g=g.parent;continue}if(g.left!==ah&&!Y(g.left)){g=g.left;continue}i=h+g.start,j=h+g.end,g.setCachedOffsets(i,j,e);let a=!0;if(b&&g.ownerId&&g.ownerId!==b&&(a=!1),c&&$(g)&&(a=!1),d&&ac(g)&&(a=!1),f&&!aa(g)&&(a=!1),a&&(k[l++]=g),Z(g,!0),g.right!==ah&&!Y(g.right)){h+=g.delta,g=g.right;continue}}return Z(a.root,!1),k}(this,a,b,c,d,e)}collectNodesFromOwner(a){return function(a,b){let c=a.root,d=[],e=0;for(;c!==ah;){if(Y(c)){Z(c.left,!1),Z(c.right,!1),c=c.parent;continue}if(c.left!==ah&&!Y(c.left)){c=c.left;continue}if(c.ownerId===b&&(d[e++]=c),Z(c,!0),c.right!==ah&&!Y(c.right)){c=c.right;continue}}return Z(a.root,!1),d}(this,a)}collectNodesPostOrder(){return function(a){let b=a.root,c=[],d=0;for(;b!==ah;){if(Y(b)){Z(b.left,!1),Z(b.right,!1),b=b.parent;continue}if(b.left!==ah&&!Y(b.left)){b=b.left;continue}if(b.right!==ah&&!Y(b.right)){b=b.right;continue}c[d++]=b,Z(b,!0)}return Z(a.root,!1),c}(this)}insert(a){ak(this,a),this._normalizeDeltaIfNecessary()}delete(a){al(this,a),this._normalizeDeltaIfNecessary()}resolveNode(a,b){let c=a,d=0;for(;a!==this.root;)a===a.parent.right&&(d+=a.parent.delta),a=a.parent;let e=c.start+d,f=c.end+d;c.setCachedOffsets(e,f,b)}acceptReplace(a,b,c,d){let e=function(a,b,c){let d=a.root,e=0,f=0,g=0,h=[],i=0;for(;d!==ah;){if(Y(d)){Z(d.left,!1),Z(d.right,!1),d===d.parent.right&&(e-=d.parent.delta),d=d.parent;continue}if(!Y(d.left)){if(e+d.maxEnd<b){Z(d,!0);continue}if(d.left!==ah){d=d.left;continue}}if((f=e+d.start)>c){Z(d,!0);continue}if((g=e+d.end)>=b&&(d.setCachedOffsets(f,g,0),h[i++]=d),Z(d,!0),d.right!==ah&&!Y(d.right)){e+=d.delta,d=d.right;continue}}return Z(a.root,!1),h}(this,a,a+b);for(let a=0,b=e.length;a<b;a++)al(this,e[a]);this._normalizeDeltaIfNecessary(),function(a,b,c,d){let e=a.root,f=0,g=d-(c-b);for(;e!==ah;){if(Y(e)){Z(e.left,!1),Z(e.right,!1),e===e.parent.right&&(f-=e.parent.delta),aq(e),e=e.parent;continue}if(!Y(e.left)){if(f+e.maxEnd<b){Z(e,!0);continue}if(e.left!==ah){e=e.left;continue}}if(f+e.start>c){e.start+=g,e.end+=g,e.delta+=g,(e.delta<-0x40000000||e.delta>0x40000000)&&(a.requestNormalizeDelta=!0),Z(e,!0);continue}if(Z(e,!0),e.right!==ah&&!Y(e.right)){f+=e.delta,e=e.right;continue}}Z(a.root,!1)}(this,a,a+b,c),this._normalizeDeltaIfNecessary();for(let f=0,g=e.length;f<g;f++){let g=e[f];g.start=g.cachedAbsoluteStart,g.end=g.cachedAbsoluteEnd,function(a,b,c,d,e){let f=(24&a.metadata)>>>3,g=0===f||2===f,h=1===f||2===f,i=c-b,j=Math.min(i,d),k=a.start,l=!1,m=a.end,n=!1;b<=k&&m<=c&&(32&a.metadata)>>>5==1&&(a.start=b,l=!0,a.end=b,n=!0);{let a=e?1:2*(i>0);!l&&aj(k,g,b,a)&&(l=!0),!n&&aj(m,h,b,a)&&(n=!0)}if(j>0&&!e){let a=2*(i>d);!l&&aj(k,g,b+j,a)&&(l=!0),!n&&aj(m,h,b+j,a)&&(n=!0)}{let f=+!!e;!l&&aj(k,g,c,f)&&(a.start=b+d,l=!0),!n&&aj(m,h,c,f)&&(a.end=b+d,n=!0)}let o=d-i;l||(a.start=Math.max(0,k+o)),n||(a.end=Math.max(0,m+o)),a.start>a.end&&(a.end=a.start)}(g,a,a+b,c,d),g.maxEnd=g.end,ak(this,g)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(a){let b=a.root,c=0;for(;b!==ah;){if(b.left!==ah&&!Y(b.left)){b=b.left;continue}if(b.right!==ah&&!Y(b.right)){c+=b.delta,b=b.right;continue}b.start=c+b.start,b.end=c+b.end,b.delta=0,aq(b),Z(b,!0),Z(b.left,!1),Z(b.right,!1),b===b.parent.right&&(c-=b.parent.delta),b=b.parent}Z(a.root,!1)}(this))}}function aj(a,b,c,d){return a<c||!(a>c)&&1!==d&&(2===d||b)}function ak(a,b){if(a.root===ah)return b.parent=ah,b.left=ah,b.right=ah,X(b,0),a.root=b,a.root;(function(a,b){let c=0,d=a.root,e=b.start,f=b.end;for(;;){var g,h,i,j;if(0>(g=e,h=f,i=d.start+c,j=d.end+c,g===i?h-j:g-i))if(d.left===ah){b.start-=c,b.end-=c,b.maxEnd-=c,d.left=b;break}else d=d.left;else if(d.right===ah){b.start-=c+d.delta,b.end-=c+d.delta,b.maxEnd-=c+d.delta,d.right=b;break}else c+=d.delta,d=d.right}b.parent=d,b.left=ah,b.right=ah,X(b,1)})(a,b),ar(b.parent);let c=b;for(;c!==a.root&&1===W(c.parent);)if(c.parent===c.parent.parent.left){let b=c.parent.parent.right;1===W(b)?(X(c.parent,0),X(b,0),X(c.parent.parent,1),c=c.parent.parent):(c===c.parent.right&&an(a,c=c.parent),X(c.parent,0),X(c.parent.parent,1),ao(a,c.parent.parent))}else{let b=c.parent.parent.left;1===W(b)?(X(c.parent,0),X(b,0),X(c.parent.parent,1),c=c.parent.parent):(c===c.parent.left&&ao(a,c=c.parent),X(c.parent,0),X(c.parent.parent,1),an(a,c.parent.parent))}return X(a.root,0),b}function al(a,b){let c,d,e;if(b.left===ah?(c=b.right,d=b,c.delta+=b.delta,(c.delta<-0x40000000||c.delta>0x40000000)&&(a.requestNormalizeDelta=!0),c.start+=b.delta,c.end+=b.delta):b.right===ah?(c=b.left,d=b):(c=(d=function(a){for(;a.left!==ah;)a=a.left;return a}(b.right)).right,c.start+=d.delta,c.end+=d.delta,c.delta+=d.delta,(c.delta<-0x40000000||c.delta>0x40000000)&&(a.requestNormalizeDelta=!0),d.start+=b.delta,d.end+=b.delta,d.delta=b.delta,(d.delta<-0x40000000||d.delta>0x40000000)&&(a.requestNormalizeDelta=!0)),d===a.root){a.root=c,X(c,0),b.detach(),am(),aq(c),a.root.parent=ah;return}let f=1===W(d);if(d===d.parent.left?d.parent.left=c:d.parent.right=c,d===b?c.parent=d.parent:(d.parent===b?c.parent=d:c.parent=d.parent,d.left=b.left,d.right=b.right,d.parent=b.parent,X(d,W(b)),b===a.root?a.root=d:b===b.parent.left?b.parent.left=d:b.parent.right=d,d.left!==ah&&(d.left.parent=d),d.right!==ah&&(d.right.parent=d)),b.detach(),f){ar(c.parent),d!==b&&(ar(d),ar(d.parent)),am();return}for(ar(c),ar(c.parent),d!==b&&(ar(d),ar(d.parent));c!==a.root&&0===W(c);)c===c.parent.left?(1===W(e=c.parent.right)&&(X(e,0),X(c.parent,1),an(a,c.parent),e=c.parent.right),0===W(e.left)&&0===W(e.right)?(X(e,1),c=c.parent):(0===W(e.right)&&(X(e.left,0),X(e,1),ao(a,e),e=c.parent.right),X(e,W(c.parent)),X(c.parent,0),X(e.right,0),an(a,c.parent),c=a.root)):(1===W(e=c.parent.left)&&(X(e,0),X(c.parent,1),ao(a,c.parent),e=c.parent.left),0===W(e.left)&&0===W(e.right)?(X(e,1),c=c.parent):(0===W(e.left)&&(X(e.right,0),X(e,1),an(a,e),e=c.parent.left),X(e,W(c.parent)),X(c.parent,0),X(e.left,0),ao(a,c.parent),c=a.root));X(c,0),am()}function am(){ah.parent=ah,ah.delta=0,ah.start=0,ah.end=0}function an(a,b){let c=b.right;c.delta+=b.delta,(c.delta<-0x40000000||c.delta>0x40000000)&&(a.requestNormalizeDelta=!0),c.start+=b.delta,c.end+=b.delta,b.right=c.left,c.left!==ah&&(c.left.parent=b),c.parent=b.parent,b.parent===ah?a.root=c:b===b.parent.left?b.parent.left=c:b.parent.right=c,c.left=b,b.parent=c,aq(b),aq(c)}function ao(a,b){let c=b.left;b.delta-=c.delta,(b.delta<-0x40000000||b.delta>0x40000000)&&(a.requestNormalizeDelta=!0),b.start-=c.delta,b.end-=c.delta,b.left=c.right,c.right!==ah&&(c.right.parent=b),c.parent=b.parent,b.parent===ah?a.root=c:b===b.parent.right?b.parent.right=c:b.parent.left=c,c.right=b,b.parent=c,aq(b),aq(c)}function ap(a){let b=a.end;if(a.left!==ah){let c=a.left.maxEnd;c>b&&(b=c)}if(a.right!==ah){let c=a.right.maxEnd+a.delta;c>b&&(b=c)}return b}function aq(a){a.maxEnd=ap(a)}function ar(a){for(;a!==ah;){let b=ap(a);if(a.maxEnd===b)return;a.maxEnd=b,a=a.parent}}class as{constructor(a,b){this.piece=a,this.color=b,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==at)return au(this.right);let a=this;for(;a.parent!==at&&a.parent.left!==a;)a=a.parent;return a.parent===at?at:a.parent}prev(){if(this.left!==at)return av(this.left);let a=this;for(;a.parent!==at&&a.parent.right!==a;)a=a.parent;return a.parent===at?at:a.parent}detach(){this.parent=null,this.left=null,this.right=null}}let at=new as(null,0);function au(a){for(;a.left!==at;)a=a.left;return a}function av(a){for(;a.right!==at;)a=a.right;return a}function aw(a){return a===at?0:a.size_left+a.piece.length+aw(a.right)}function ax(a){return a===at?0:a.lf_left+a.piece.lineFeedCnt+ax(a.right)}function ay(){at.parent=at}function az(a,b){let c=b.right;c.size_left+=b.size_left+(b.piece?b.piece.length:0),c.lf_left+=b.lf_left+(b.piece?b.piece.lineFeedCnt:0),b.right=c.left,c.left!==at&&(c.left.parent=b),c.parent=b.parent,b.parent===at?a.root=c:b.parent.left===b?b.parent.left=c:b.parent.right=c,c.left=b,b.parent=c}function aA(a,b){let c=b.left;b.left=c.right,c.right!==at&&(c.right.parent=b),c.parent=b.parent,b.size_left-=c.size_left+(c.piece?c.piece.length:0),b.lf_left-=c.lf_left+(c.piece?c.piece.lineFeedCnt:0),b.parent===at?a.root=c:b===b.parent.right?b.parent.right=c:b.parent.left=c,c.right=b,b.parent=c}function aB(a,b){let c,d,e;if(c=b.left===at?(d=b).right:b.right===at?(d=b).left:(d=au(b.right)).right,d===a.root){a.root=c,c.color=0,b.detach(),ay(),a.root.parent=at;return}let f=1===d.color;if(d===d.parent.left?d.parent.left=c:d.parent.right=c,d===b?(c.parent=d.parent,aE(a,c)):(d.parent===b?c.parent=d:c.parent=d.parent,aE(a,c),d.left=b.left,d.right=b.right,d.parent=b.parent,d.color=b.color,b===a.root?a.root=d:b===b.parent.left?b.parent.left=d:b.parent.right=d,d.left!==at&&(d.left.parent=d),d.right!==at&&(d.right.parent=d),d.size_left=b.size_left,d.lf_left=b.lf_left,aE(a,d)),b.detach(),c.parent.left===c){let b=aw(c),d=ax(c);if(b!==c.parent.size_left||d!==c.parent.lf_left){let e=b-c.parent.size_left,f=d-c.parent.lf_left;c.parent.size_left=b,c.parent.lf_left=d,aD(a,c.parent,e,f)}}if(aE(a,c.parent),f)return void ay();for(;c!==a.root&&0===c.color;)c===c.parent.left?(1===(e=c.parent.right).color&&(e.color=0,c.parent.color=1,az(a,c.parent),e=c.parent.right),0===e.left.color&&0===e.right.color?(e.color=1,c=c.parent):(0===e.right.color&&(e.left.color=0,e.color=1,aA(a,e),e=c.parent.right),e.color=c.parent.color,c.parent.color=0,e.right.color=0,az(a,c.parent),c=a.root)):(1===(e=c.parent.left).color&&(e.color=0,c.parent.color=1,aA(a,c.parent),e=c.parent.left),0===e.left.color&&0===e.right.color?(e.color=1,c=c.parent):(0===e.left.color&&(e.right.color=0,e.color=1,az(a,e),e=c.parent.left),e.color=c.parent.color,c.parent.color=0,e.left.color=0,aA(a,c.parent),c=a.root));c.color=0,ay()}function aC(a,b){for(aE(a,b);b!==a.root&&1===b.parent.color;)if(b.parent===b.parent.parent.left){let c=b.parent.parent.right;1===c.color?(b.parent.color=0,c.color=0,b.parent.parent.color=1,b=b.parent.parent):(b===b.parent.right&&az(a,b=b.parent),b.parent.color=0,b.parent.parent.color=1,aA(a,b.parent.parent))}else{let c=b.parent.parent.left;1===c.color?(b.parent.color=0,c.color=0,b.parent.parent.color=1,b=b.parent.parent):(b===b.parent.left&&aA(a,b=b.parent),b.parent.color=0,b.parent.parent.color=1,az(a,b.parent.parent))}a.root.color=0}function aD(a,b,c,d){for(;b!==a.root&&b!==at;)b.parent.left===b&&(b.parent.size_left+=c,b.parent.lf_left+=d),b=b.parent}function aE(a,b){let c=0,d=0;if(b!==a.root){for(;b!==a.root&&b===b.parent.right;)b=b.parent;if(b!==a.root)for(c=aw((b=b.parent).left)-b.size_left,d=ax(b.left)-b.lf_left,b.size_left+=c,b.lf_left+=d;b!==a.root&&(0!==c||0!==d);)b.parent.left===b&&(b.parent.size_left+=c,b.parent.lf_left+=d),b=b.parent}}at.parent=at,at.left=at,at.right=at,at.color=0;var aF=c(70544);function aG(a){let b;return(b=a[a.length-1]<65536?new Uint16Array(a.length):new Uint32Array(a.length)).set(a,0),b}class aH{constructor(a,b,c,d,e){this.lineStarts=a,this.cr=b,this.lf=c,this.crlf=d,this.isBasicASCII=e}}function aI(a,b=!0){let c=[0],d=1;for(let b=0,e=a.length;b<e;b++){let f=a.charCodeAt(b);13===f?b+1<e&&10===a.charCodeAt(b+1)?(c[d++]=b+2,b++):c[d++]=b+1:10===f&&(c[d++]=b+1)}return b?aG(c):c}class aJ{constructor(a,b,c,d,e){this.bufferIndex=a,this.start=b,this.end=c,this.lineFeedCnt=d,this.length=e}}class aK{constructor(a,b){this.buffer=a,this.lineStarts=b}}class aL{constructor(a,b){this._pieces=[],this._tree=a,this._BOM=b,this._index=0,a.root!==at&&a.iterate(a.root,a=>(a!==at&&this._pieces.push(a.piece),!0))}read(){if(0===this._pieces.length)if(0===this._index)return this._index++,this._BOM;else return null;return this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class aM{constructor(a){this._limit=a,this._cache=[]}get(a){for(let b=this._cache.length-1;b>=0;b--){let c=this._cache[b];if(c.nodeStartOffset<=a&&c.nodeStartOffset+c.node.piece.length>=a)return c}return null}get2(a){for(let b=this._cache.length-1;b>=0;b--){let c=this._cache[b];if(c.nodeStartLineNumber&&c.nodeStartLineNumber<a&&c.nodeStartLineNumber+c.node.piece.lineFeedCnt>=a)return c}return null}set(a){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(a)}validate(a){let b=!1,c=this._cache;for(let d=0;d<c.length;d++){let e=c[d];if(null===e.node.parent||e.nodeStartOffset>=a){c[d]=null,b=!0;continue}}if(b){let a=[];for(let b of c)null!==b&&a.push(b);this._cache=a}}}class aN{constructor(a,b,c){this.create(a,b,c)}create(a,b,c){this._buffers=[new aK("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=at,this._lineCnt=1,this._length=0,this._EOL=b,this._EOLLength=b.length,this._EOLNormalized=c;let d=null;for(let b=0,c=a.length;b<c;b++)if(a[b].buffer.length>0){a[b].lineStarts||(a[b].lineStarts=aI(a[b].buffer));let c=new aJ(b+1,{line:0,column:0},{line:a[b].lineStarts.length-1,column:a[b].buffer.length-a[b].lineStarts[a[b].lineStarts.length-1]},a[b].lineStarts.length-1,a[b].buffer.length);this._buffers.push(a[b]),d=this.rbInsertRight(d,c)}this._searchCache=new aM(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(a){let b=65535-Math.floor(21845),c=2*b,d="",e=0,f=[];if(this.iterate(this.root,g=>{let h=this.getNodeContent(g),i=h.length;if(e<=b||e+i<c)return d+=h,e+=i,!0;let j=d.replace(/\r\n|\r|\n/g,a);return f.push(new aK(j,aI(j))),d=h,e=i,!0}),e>0){let b=d.replace(/\r\n|\r|\n/g,a);f.push(new aK(b,aI(b)))}this.create(f,a,!0)}getEOL(){return this._EOL}setEOL(a){this._EOL=a,this._EOLLength=this._EOL.length,this.normalizeEOL(a)}createSnapshot(a){return new aL(this,a)}getOffsetAt(a,b){let c=0,d=this.root;for(;d!==at;)if(d.left!==at&&d.lf_left+1>=a)d=d.left;else{if(d.lf_left+d.piece.lineFeedCnt+1>=a)return(c+=d.size_left)+(this.getAccumulatedValue(d,a-d.lf_left-2)+b-1);a-=d.lf_left+d.piece.lineFeedCnt,c+=d.size_left+d.piece.length,d=d.right}return c}getPositionAt(a){a=Math.max(0,a=Math.floor(a));let b=this.root,c=0,d=a;for(;b!==at;)if(0!==b.size_left&&b.size_left>=a)b=b.left;else if(b.size_left+b.piece.length>=a){let e=this.getIndexOf(b,a-b.size_left);if(c+=b.lf_left+e.index,0===e.index){let a=d-this.getOffsetAt(c+1,1);return new p.y(c+1,a+1)}return new p.y(c+1,e.remainder+1)}else{if(a-=b.size_left+b.piece.length,c+=b.lf_left+b.piece.lineFeedCnt,b.right===at){let b=this.getOffsetAt(c+1,1),e=d-a-b;return new p.y(c+1,e+1)}b=b.right}return new p.y(1,1)}getValueInRange(a,b){if(a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn)return"";let c=this.nodeAt2(a.startLineNumber,a.startColumn),d=this.nodeAt2(a.endLineNumber,a.endColumn),e=this.getValueInRange2(c,d);return b?b===this._EOL&&this._EOLNormalized&&b===this.getEOL()&&this._EOLNormalized?e:e.replace(/\r\n|\r|\n/g,b):e}getValueInRange2(a,b){if(a.node===b.node){let c=a.node,d=this._buffers[c.piece.bufferIndex].buffer,e=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);return d.substring(e+a.remainder,e+b.remainder)}let c=a.node,d=this._buffers[c.piece.bufferIndex].buffer,e=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start),f=d.substring(e+a.remainder,e+c.piece.length);for(c=c.next();c!==at;){let a=this._buffers[c.piece.bufferIndex].buffer,d=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);if(c===b.node){f+=a.substring(d,d+b.remainder);break}f+=a.substr(d,c.piece.length),c=c.next()}return f}getLinesContent(){let a=[],b=0,c="",d=!1;return this.iterate(this.root,e=>{if(e===at)return!0;let f=e.piece,g=f.length;if(0===g)return!0;let h=this._buffers[f.bufferIndex].buffer,i=this._buffers[f.bufferIndex].lineStarts,j=f.start.line,k=f.end.line,l=i[j]+f.start.column;if(d&&(10===h.charCodeAt(l)&&(l++,g--),a[b++]=c,c="",d=!1,0===g))return!0;if(j===k)return this._EOLNormalized||13!==h.charCodeAt(l+g-1)?c+=h.substr(l,g):(d=!0,c+=h.substr(l,g-1)),!0;c+=this._EOLNormalized?h.substring(l,Math.max(l,i[j+1]-this._EOLLength)):h.substring(l,i[j+1]).replace(/(\r\n|\r|\n)$/,""),a[b++]=c;for(let d=j+1;d<k;d++)c=this._EOLNormalized?h.substring(i[d],i[d+1]-this._EOLLength):h.substring(i[d],i[d+1]).replace(/(\r\n|\r|\n)$/,""),a[b++]=c;return this._EOLNormalized||13!==h.charCodeAt(i[k]+f.end.column-1)?c=h.substr(i[k],f.end.column):(d=!0,0===f.end.column?b--:c=h.substr(i[k],f.end.column-1)),!0}),d&&(a[b++]=c,c=""),a[b++]=c,a}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(a){return this._lastVisitedLine.lineNumber===a||(this._lastVisitedLine.lineNumber=a,a===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(a):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(a,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(a).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(a){if(a.remainder===a.node.piece.length){let b=a.node.next();if(!b)return 0;let c=this._buffers[b.piece.bufferIndex],d=this.offsetInBuffer(b.piece.bufferIndex,b.piece.start);return c.buffer.charCodeAt(d)}{let b=this._buffers[a.node.piece.bufferIndex],c=this.offsetInBuffer(a.node.piece.bufferIndex,a.node.piece.start)+a.remainder;return b.buffer.charCodeAt(c)}}getLineCharCode(a,b){let c=this.nodeAt2(a,b+1);return this._getCharCode(c)}getLineLength(a){if(a===this.getLineCount()){let b=this.getOffsetAt(a,1);return this.getLength()-b}return this.getOffsetAt(a+1,1)-this.getOffsetAt(a,1)-this._EOLLength}getNearestChunk(a){let b=this.nodeAt(a);if(b.remainder===b.node.piece.length){let a=b.node.next();if(!a||a===at)return"";let c=this._buffers[a.piece.bufferIndex],d=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return c.buffer.substring(d,d+a.piece.length)}{let a=this._buffers[b.node.piece.bufferIndex],c=this.offsetInBuffer(b.node.piece.bufferIndex,b.node.piece.start),d=c+b.remainder,e=c+b.node.piece.length;return a.buffer.substring(d,e)}}findMatchesInNode(a,b,c,d,e,f,g,h,i,j,k){let l,m,n,o=this._buffers[a.piece.bufferIndex],p=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start),r=this.offsetInBuffer(a.piece.bufferIndex,e),s=this.offsetInBuffer(a.piece.bufferIndex,f),t={line:0,column:0};b._wordSeparators?(m=o.buffer.substring(r,s),n=a=>a+r,b.reset(0)):(m=o.buffer,n=a=>a,b.reset(r));do if(l=b.next(m)){if(n(l.index)>=s)return j;this.positionInBuffer(a,n(l.index)-p,t);let b=this.getLineFeedCnt(a.piece.bufferIndex,e,t),f=t.line===e.line?t.column-e.column+d:t.column+1,g=f+l[0].length;if(k[j++]=(0,aF.dr)(new q.Q(c+b,f,c+b,g),l,h),n(l.index)+l[0].length>=s)return j;if(j>=i)break}while(l);return j}findMatchesLineByLine(a,b,c,d){let e=[],f=0,g=new aF.W5(b.wordSeparators,b.regex),h=this.nodeAt2(a.startLineNumber,a.startColumn);if(null===h)return[];let i=this.nodeAt2(a.endLineNumber,a.endColumn);if(null===i)return[];let j=this.positionInBuffer(h.node,h.remainder),k=this.positionInBuffer(i.node,i.remainder);if(h.node===i.node)return this.findMatchesInNode(h.node,g,a.startLineNumber,a.startColumn,j,k,b,c,d,f,e),e;let l=a.startLineNumber,m=h.node;for(;m!==i.node;){let i=this.getLineFeedCnt(m.piece.bufferIndex,j,m.piece.end);if(i>=1){let h=this._buffers[m.piece.bufferIndex].lineStarts,k=this.offsetInBuffer(m.piece.bufferIndex,m.piece.start),n=h[j.line+i],o=l===a.startLineNumber?a.startColumn:1;if((f=this.findMatchesInNode(m,g,l,o,j,this.positionInBuffer(m,n-k),b,c,d,f,e))>=d)return e;l+=i}let k=l===a.startLineNumber?a.startColumn-1:0;if(l===a.endLineNumber){let h=this.getLineContent(l).substring(k,a.endColumn-1);return f=this._findMatchesInLine(b,g,h,a.endLineNumber,k,f,e,c,d),e}if((f=this._findMatchesInLine(b,g,this.getLineContent(l).substr(k),l,k,f,e,c,d))>=d)return e;l++,m=(h=this.nodeAt2(l,1)).node,j=this.positionInBuffer(h.node,h.remainder)}if(l===a.endLineNumber){let h=l===a.startLineNumber?a.startColumn-1:0,i=this.getLineContent(l).substring(h,a.endColumn-1);return f=this._findMatchesInLine(b,g,i,a.endLineNumber,h,f,e,c,d),e}let n=l===a.startLineNumber?a.startColumn:1;return f=this.findMatchesInNode(i.node,g,l,n,j,k,b,c,d,f,e),e}_findMatchesInLine(a,b,c,d,e,f,g,h,i){let j,k=a.wordSeparators;if(!h&&a.simpleSearch){let b=a.simpleSearch,h=b.length,j=c.length,l=-h;for(;-1!==(l=c.indexOf(b,l+h))&&(!(!k||(0,aF.wC)(k,c,j,l,h))||(g[f++]=new v.Dg(new q.Q(d,l+1+e,d,l+1+h+e),null),!(f>=i))););return f}b.reset(0);do if((j=b.next(c))&&(g[f++]=(0,aF.dr)(new q.Q(d,j.index+1+e,d,j.index+1+j[0].length+e),j,h),f>=i))break;while(j);return f}insert(a,b,c=!1){if(this._EOLNormalized=this._EOLNormalized&&c,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==at){let{node:c,remainder:d,nodeStartOffset:e}=this.nodeAt(a),f=c.piece,g=f.bufferIndex,h=this.positionInBuffer(c,d);if(0===c.piece.bufferIndex&&f.end.line===this._lastChangeBufferPos.line&&f.end.column===this._lastChangeBufferPos.column&&e+f.length===a&&b.length<65535){this.appendToNode(c,b),this.computeBufferMetadata();return}if(e===a)this.insertContentToNodeLeft(b,c),this._searchCache.validate(a);else if(e+c.piece.length>a){let a=[],e=new aJ(f.bufferIndex,h,f.end,this.getLineFeedCnt(f.bufferIndex,h,f.end),this.offsetInBuffer(g,f.end)-this.offsetInBuffer(g,h));if(this.shouldCheckCRLF()&&this.endWithCR(b)&&10===this.nodeCharCodeAt(c,d)){let a={line:e.start.line+1,column:0};e=new aJ(e.bufferIndex,a,e.end,this.getLineFeedCnt(e.bufferIndex,a,e.end),e.length-1),b+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(b))if(13===this.nodeCharCodeAt(c,d-1)){let e=this.positionInBuffer(c,d-1);this.deleteNodeTail(c,e),b="\r"+b,0===c.piece.length&&a.push(c)}else this.deleteNodeTail(c,h);else this.deleteNodeTail(c,h);let i=this.createNewPieces(b);e.length>0&&this.rbInsertRight(c,e);let j=c;for(let a=0;a<i.length;a++)j=this.rbInsertRight(j,i[a]);this.deleteNodes(a)}else this.insertContentToNodeRight(b,c)}else{let a=this.createNewPieces(b),c=this.rbInsertLeft(null,a[0]);for(let b=1;b<a.length;b++)c=this.rbInsertRight(c,a[b])}this.computeBufferMetadata()}delete(a,b){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",b<=0||this.root===at)return;let c=this.nodeAt(a),d=this.nodeAt(a+b),e=c.node,f=d.node;if(e===f){let f=this.positionInBuffer(e,c.remainder),g=this.positionInBuffer(e,d.remainder);if(c.nodeStartOffset===a){if(b===e.piece.length){let a=e.next();aB(this,e),this.validateCRLFWithPrevNode(a),this.computeBufferMetadata();return}this.deleteNodeHead(e,g),this._searchCache.validate(a),this.validateCRLFWithPrevNode(e),this.computeBufferMetadata();return}if(c.nodeStartOffset+e.piece.length===a+b){this.deleteNodeTail(e,f),this.validateCRLFWithNextNode(e),this.computeBufferMetadata();return}this.shrinkNode(e,f,g),this.computeBufferMetadata();return}let g=[],h=this.positionInBuffer(e,c.remainder);this.deleteNodeTail(e,h),this._searchCache.validate(a),0===e.piece.length&&g.push(e);let i=this.positionInBuffer(f,d.remainder);this.deleteNodeHead(f,i),0===f.piece.length&&g.push(f);let j=e.next();for(let a=j;a!==at&&a!==f;a=a.next())g.push(a);let k=0===e.piece.length?e.prev():e;this.deleteNodes(g),this.validateCRLFWithNextNode(k),this.computeBufferMetadata()}insertContentToNodeLeft(a,b){let c=[];if(this.shouldCheckCRLF()&&this.endWithCR(a)&&this.startWithLF(b)){let d=b.piece,e={line:d.start.line+1,column:0};b.piece=new aJ(d.bufferIndex,e,d.end,this.getLineFeedCnt(d.bufferIndex,e,d.end),d.length-1),a+="\n",aD(this,b,-1,-1),0===b.piece.length&&c.push(b)}let d=this.createNewPieces(a),e=this.rbInsertLeft(b,d[d.length-1]);for(let a=d.length-2;a>=0;a--)e=this.rbInsertLeft(e,d[a]);this.validateCRLFWithPrevNode(e),this.deleteNodes(c)}insertContentToNodeRight(a,b){this.adjustCarriageReturnFromNext(a,b)&&(a+="\n");let c=this.createNewPieces(a),d=this.rbInsertRight(b,c[0]),e=d;for(let a=1;a<c.length;a++)e=this.rbInsertRight(e,c[a]);this.validateCRLFWithPrevNode(d)}positionInBuffer(a,b,c){let d=a.piece,e=a.piece.bufferIndex,f=this._buffers[e].lineStarts,g=f[d.start.line]+d.start.column+b,h=d.start.line,i=d.end.line,j=0,k=0,l=0;for(;h<=i&&(l=f[j=h+(i-h)/2|0],j!==i);)if(k=f[j+1],g<l)i=j-1;else if(g>=k)h=j+1;else break;return c?(c.line=j,c.column=g-l,null):{line:j,column:g-l}}getLineFeedCnt(a,b,c){if(0===c.column)return c.line-b.line;let d=this._buffers[a].lineStarts;if(c.line===d.length-1)return c.line-b.line;let e=d[c.line+1],f=d[c.line]+c.column;return e>f+1?c.line-b.line:13===this._buffers[a].buffer.charCodeAt(f-1)?c.line-b.line+1:c.line-b.line}offsetInBuffer(a,b){return this._buffers[a].lineStarts[b.line]+b.column}deleteNodes(a){for(let b=0;b<a.length;b++)aB(this,a[b])}createNewPieces(a){if(a.length>65535){let b=[];for(;a.length>65535;){let c,d=a.charCodeAt(65534);13===d||d>=55296&&d<=56319?(c=a.substring(0,65534),a=a.substring(65534)):(c=a.substring(0,65535),a=a.substring(65535));let e=aI(c);b.push(new aJ(this._buffers.length,{line:0,column:0},{line:e.length-1,column:c.length-e[e.length-1]},e.length-1,c.length)),this._buffers.push(new aK(c,e))}let c=aI(a);return b.push(new aJ(this._buffers.length,{line:0,column:0},{line:c.length-1,column:a.length-c[c.length-1]},c.length-1,a.length)),this._buffers.push(new aK(a,c)),b}let b=this._buffers[0].buffer.length,c=aI(a,!1),d=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===b&&0!==b&&this.startWithLF(a)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},d=this._lastChangeBufferPos;for(let a=0;a<c.length;a++)c[a]+=b+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(c.slice(1)),this._buffers[0].buffer+="_"+a,b+=1}else{if(0!==b)for(let a=0;a<c.length;a++)c[a]+=b;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(c.slice(1)),this._buffers[0].buffer+=a}let e=this._buffers[0].buffer.length,f=this._buffers[0].lineStarts.length-1,g=e-this._buffers[0].lineStarts[f],h={line:f,column:g},i=new aJ(0,d,h,this.getLineFeedCnt(0,d,h),e-b);return this._lastChangeBufferPos=h,[i]}getLineRawContent(a,b=0){let c=this.root,d="",e=this._searchCache.get2(a);if(e){c=e.node;let f=this.getAccumulatedValue(c,a-e.nodeStartLineNumber-1),g=this._buffers[c.piece.bufferIndex].buffer,h=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);if(e.nodeStartLineNumber+c.piece.lineFeedCnt===a)d=g.substring(h+f,h+c.piece.length);else{let d=this.getAccumulatedValue(c,a-e.nodeStartLineNumber);return g.substring(h+f,h+d-b)}}else{let e=0,f=a;for(;c!==at;)if(c.left!==at&&c.lf_left>=a-1)c=c.left;else if(c.lf_left+c.piece.lineFeedCnt>a-1){let d=this.getAccumulatedValue(c,a-c.lf_left-2),g=this.getAccumulatedValue(c,a-c.lf_left-1),h=this._buffers[c.piece.bufferIndex].buffer,i=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);return e+=c.size_left,this._searchCache.set({node:c,nodeStartOffset:e,nodeStartLineNumber:f-(a-1-c.lf_left)}),h.substring(i+d,i+g-b)}else if(c.lf_left+c.piece.lineFeedCnt===a-1){let b=this.getAccumulatedValue(c,a-c.lf_left-2),e=this._buffers[c.piece.bufferIndex].buffer,f=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);d=e.substring(f+b,f+c.piece.length);break}else a-=c.lf_left+c.piece.lineFeedCnt,e+=c.size_left+c.piece.length,c=c.right}for(c=c.next();c!==at;){let a=this._buffers[c.piece.bufferIndex].buffer;if(c.piece.lineFeedCnt>0){let e=this.getAccumulatedValue(c,0),f=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);d+=a.substring(f,f+e-b);break}{let b=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);d+=a.substr(b,c.piece.length)}c=c.next()}return d}computeBufferMetadata(){let a=this.root,b=1,c=0;for(;a!==at;)b+=a.lf_left+a.piece.lineFeedCnt,c+=a.size_left+a.piece.length,a=a.right;this._lineCnt=b,this._length=c,this._searchCache.validate(this._length)}getIndexOf(a,b){let c=a.piece,d=this.positionInBuffer(a,b),e=d.line-c.start.line;if(this.offsetInBuffer(c.bufferIndex,c.end)-this.offsetInBuffer(c.bufferIndex,c.start)===b){let b=this.getLineFeedCnt(a.piece.bufferIndex,c.start,d);if(b!==e)return{index:b,remainder:0}}return{index:e,remainder:d.column}}getAccumulatedValue(a,b){if(b<0)return 0;let c=a.piece,d=this._buffers[c.bufferIndex].lineStarts,e=c.start.line+b+1;return e>c.end.line?d[c.end.line]+c.end.column-d[c.start.line]-c.start.column:d[e]-d[c.start.line]-c.start.column}deleteNodeTail(a,b){let c=a.piece,d=c.lineFeedCnt,e=this.offsetInBuffer(c.bufferIndex,c.end),f=this.offsetInBuffer(c.bufferIndex,b),g=this.getLineFeedCnt(c.bufferIndex,c.start,b),h=g-d,i=f-e,j=c.length+i;a.piece=new aJ(c.bufferIndex,c.start,b,g,j),aD(this,a,i,h)}deleteNodeHead(a,b){let c=a.piece,d=c.lineFeedCnt,e=this.offsetInBuffer(c.bufferIndex,c.start),f=this.getLineFeedCnt(c.bufferIndex,b,c.end),g=this.offsetInBuffer(c.bufferIndex,b),h=f-d,i=e-g,j=c.length+i;a.piece=new aJ(c.bufferIndex,b,c.end,f,j),aD(this,a,i,h)}shrinkNode(a,b,c){let d=a.piece,e=d.start,f=d.end,g=d.length,h=d.lineFeedCnt,i=this.getLineFeedCnt(d.bufferIndex,d.start,b),j=this.offsetInBuffer(d.bufferIndex,b)-this.offsetInBuffer(d.bufferIndex,e);a.piece=new aJ(d.bufferIndex,d.start,b,i,j),aD(this,a,j-g,i-h);let k=new aJ(d.bufferIndex,c,f,this.getLineFeedCnt(d.bufferIndex,c,f),this.offsetInBuffer(d.bufferIndex,f)-this.offsetInBuffer(d.bufferIndex,c)),l=this.rbInsertRight(a,k);this.validateCRLFWithPrevNode(l)}appendToNode(a,b){this.adjustCarriageReturnFromNext(b,a)&&(b+="\n");let c=this.shouldCheckCRLF()&&this.startWithLF(b)&&this.endWithCR(a),d=this._buffers[0].buffer.length;this._buffers[0].buffer+=b;let e=aI(b,!1);for(let a=0;a<e.length;a++)e[a]+=d;if(c){let a=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:d-a}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(e.slice(1));let f=this._buffers[0].lineStarts.length-1,g=this._buffers[0].buffer.length-this._buffers[0].lineStarts[f],h={line:f,column:g},i=a.piece.length+b.length,j=a.piece.lineFeedCnt,k=this.getLineFeedCnt(0,a.piece.start,h),l=k-j;a.piece=new aJ(a.piece.bufferIndex,a.piece.start,h,k,i),this._lastChangeBufferPos=h,aD(this,a,b.length,l)}nodeAt(a){let b=this.root,c=this._searchCache.get(a);if(c)return{node:c.node,nodeStartOffset:c.nodeStartOffset,remainder:a-c.nodeStartOffset};let d=0;for(;b!==at;)if(b.size_left>a)b=b.left;else if(b.size_left+b.piece.length>=a){d+=b.size_left;let c={node:b,remainder:a-b.size_left,nodeStartOffset:d};return this._searchCache.set(c),c}else a-=b.size_left+b.piece.length,d+=b.size_left+b.piece.length,b=b.right;return null}nodeAt2(a,b){let c=this.root,d=0;for(;c!==at;)if(c.left!==at&&c.lf_left>=a-1)c=c.left;else if(c.lf_left+c.piece.lineFeedCnt>a-1){let e=this.getAccumulatedValue(c,a-c.lf_left-2),f=this.getAccumulatedValue(c,a-c.lf_left-1);return d+=c.size_left,{node:c,remainder:Math.min(e+b-1,f),nodeStartOffset:d}}else if(c.lf_left+c.piece.lineFeedCnt===a-1){let e=this.getAccumulatedValue(c,a-c.lf_left-2);if(e+b-1<=c.piece.length)return{node:c,remainder:e+b-1,nodeStartOffset:d};b-=c.piece.length-e;break}else a-=c.lf_left+c.piece.lineFeedCnt,d+=c.size_left+c.piece.length,c=c.right;for(c=c.next();c!==at;){if(c.piece.lineFeedCnt>0){let a=this.getAccumulatedValue(c,0),d=this.offsetOfNode(c);return{node:c,remainder:Math.min(b-1,a),nodeStartOffset:d}}if(c.piece.length>=b-1){let a=this.offsetOfNode(c);return{node:c,remainder:b-1,nodeStartOffset:a}}b-=c.piece.length;c=c.next()}return null}nodeCharCodeAt(a,b){if(a.piece.lineFeedCnt<1)return -1;let c=this._buffers[a.piece.bufferIndex],d=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start)+b;return c.buffer.charCodeAt(d)}offsetOfNode(a){if(!a)return 0;let b=a.size_left;for(;a!==this.root;)a.parent.right===a&&(b+=a.parent.size_left+a.parent.piece.length),a=a.parent;return b}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(a){if("string"==typeof a)return 10===a.charCodeAt(0);if(a===at||0===a.piece.lineFeedCnt)return!1;let b=a.piece,c=this._buffers[b.bufferIndex].lineStarts,d=b.start.line,e=c[d]+b.start.column;return d!==c.length-1&&!(c[d+1]>e+1)&&10===this._buffers[b.bufferIndex].buffer.charCodeAt(e)}endWithCR(a){return"string"==typeof a?13===a.charCodeAt(a.length-1):a!==at&&0!==a.piece.lineFeedCnt&&13===this.nodeCharCodeAt(a,a.piece.length-1)}validateCRLFWithPrevNode(a){if(this.shouldCheckCRLF()&&this.startWithLF(a)){let b=a.prev();this.endWithCR(b)&&this.fixCRLF(b,a)}}validateCRLFWithNextNode(a){if(this.shouldCheckCRLF()&&this.endWithCR(a)){let b=a.next();this.startWithLF(b)&&this.fixCRLF(a,b)}}fixCRLF(a,b){let c,d=[],e=this._buffers[a.piece.bufferIndex].lineStarts;c=0===a.piece.end.column?{line:a.piece.end.line-1,column:e[a.piece.end.line]-e[a.piece.end.line-1]-1}:{line:a.piece.end.line,column:a.piece.end.column-1};let f=a.piece.length-1,g=a.piece.lineFeedCnt-1;a.piece=new aJ(a.piece.bufferIndex,a.piece.start,c,g,f),aD(this,a,-1,-1),0===a.piece.length&&d.push(a);let h={line:b.piece.start.line+1,column:0},i=b.piece.length-1,j=this.getLineFeedCnt(b.piece.bufferIndex,h,b.piece.end);b.piece=new aJ(b.piece.bufferIndex,h,b.piece.end,j,i),aD(this,b,-1,-1),0===b.piece.length&&d.push(b);let k=this.createNewPieces("\r\n");this.rbInsertRight(a,k[0]);for(let a=0;a<d.length;a++)aB(this,d[a])}adjustCarriageReturnFromNext(a,b){if(this.shouldCheckCRLF()&&this.endWithCR(a)){let c=b.next();if(this.startWithLF(c)){if(a+="\n",1===c.piece.length)aB(this,c);else{let a=c.piece,b={line:a.start.line+1,column:0},d=a.length-1,e=this.getLineFeedCnt(a.bufferIndex,b,a.end);c.piece=new aJ(a.bufferIndex,b,a.end,e,d),aD(this,c,-1,-1)}return!0}}return!1}iterate(a,b){if(a===at)return b(at);let c=this.iterate(a.left,b);return c?b(a)&&this.iterate(a.right,b):c}getNodeContent(a){if(a===at)return"";let b=this._buffers[a.piece.bufferIndex],c=a.piece,d=this.offsetInBuffer(c.bufferIndex,c.start),e=this.offsetInBuffer(c.bufferIndex,c.end);return b.buffer.substring(d,e)}getPieceContent(a){let b=this._buffers[a.bufferIndex],c=this.offsetInBuffer(a.bufferIndex,a.start),d=this.offsetInBuffer(a.bufferIndex,a.end);return b.buffer.substring(c,d)}rbInsertRight(a,b){let c=new as(b,1);if(c.left=at,c.right=at,c.parent=at,c.size_left=0,c.lf_left=0,this.root===at)this.root=c,c.color=0;else if(a.right===at)a.right=c,c.parent=a;else{let b=au(a.right);b.left=c,c.parent=b}return aC(this,c),c}rbInsertLeft(a,b){let c=new as(b,1);if(c.left=at,c.right=at,c.parent=at,c.size_left=0,c.lf_left=0,this.root===at)this.root=c,c.color=0;else if(a.left===at)a.left=c,c.parent=a;else{let b=av(a.left);b.right=c,c.parent=b}return aC(this,c),c}}var aO=c(43613);class aP extends k.jG{constructor(a,b,c,d,e,f,g){super(),this._onDidChangeContent=this._register(new j.vl),this._BOM=b,this._mightContainNonBasicASCII=!f,this._mightContainRTL=d,this._mightContainUnusualLineTerminators=e,this._pieceTree=new aN(a,c,g)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(a){return this._pieceTree.createSnapshot(a?this._BOM:"")}getOffsetAt(a,b){return this._pieceTree.getOffsetAt(a,b)}getPositionAt(a){return this._pieceTree.getPositionAt(a)}getRangeAt(a,b){let c=this.getPositionAt(a),d=this.getPositionAt(a+b);return new q.Q(c.lineNumber,c.column,d.lineNumber,d.column)}getValueInRange(a,b=0){if(a.isEmpty())return"";let c=this._getEndOfLine(b);return this._pieceTree.getValueInRange(a,c)}getValueLengthInRange(a,b=0){if(a.isEmpty())return 0;if(a.startLineNumber===a.endLineNumber)return a.endColumn-a.startColumn;let c=this.getOffsetAt(a.startLineNumber,a.startColumn),d=this.getOffsetAt(a.endLineNumber,a.endColumn),e=0,f=this._getEndOfLine(b),g=this.getEOL();return f.length!==g.length&&(e=(f.length-g.length)*(a.endLineNumber-a.startLineNumber)),d-c+e}getCharacterCountInRange(a,b=0){if(this._mightContainNonBasicASCII){let c=0,d=a.startLineNumber,e=a.endLineNumber;for(let b=d;b<=e;b++){let f=this.getLineContent(b),g=b===d?a.startColumn-1:0,h=b===e?a.endColumn-1:f.length;for(let a=g;a<h;a++)l.pc(f.charCodeAt(a))?(c+=1,a+=1):c+=1}return c+this._getEndOfLine(b).length*(e-d)}return this.getValueLengthInRange(a,b)}getNearestChunk(a){return this._pieceTree.getNearestChunk(a)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(a){return this._pieceTree.getLineContent(a)}getLineCharCode(a,b){return this._pieceTree.getLineCharCode(a,b)}getLineLength(a){return this._pieceTree.getLineLength(a)}getLineFirstNonWhitespaceColumn(a){let b=l.HG(this.getLineContent(a));return -1===b?0:b+1}getLineLastNonWhitespaceColumn(a){let b=l.lT(this.getLineContent(a));return -1===b?0:b+2}_getEndOfLine(a){switch(a){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw Error("Unknown EOL preference")}}setEOL(a){this._pieceTree.setEOL(a)}applyEdits(a,b,c){let d=this._mightContainRTL,e=this._mightContainUnusualLineTerminators,f=this._mightContainNonBasicASCII,g=!0,h=[];for(let b=0;b<a.length;b++){let c=a[b];g&&c._isTracked&&(g=!1);let i=c.range;if(c.text){let a=!0;f||(f=a=!l.aC(c.text)),!d&&a&&(d=l.E_(c.text)),!e&&a&&(e=l.$X(c.text))}let j="",k=0,m=0,o=0;if(c.text){let a;[k,m,o,a]=(0,n.W)(c.text);let b=this.getEOL(),d="\r\n"===b?2:1;j=0===a||a===d?c.text:c.text.replace(/\r\n|\r|\n/g,b)}h[b]={sortIndex:b,identifier:c.identifier||null,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i),text:j,eolCount:k,firstLineLength:m,lastLineLength:o,forceMoveMarkers:!!c.forceMoveMarkers,isAutoWhitespaceEdit:c.isAutoWhitespaceEdit||!1}}h.sort(aP._sortOpsAscending);let i=!1;for(let a=0,b=h.length-1;a<b;a++){let b=h[a].range.getEndPosition(),c=h[a+1].range.getStartPosition();if(c.isBeforeOrEqual(b)){if(c.isBefore(b))throw Error("Overlapping ranges are not allowed!");i=!0}}g&&(h=this._reduceOperations(h));let j=c||b?aP._getInverseEditRanges(h):[],k=[];if(b)for(let a=0;a<h.length;a++){let b=h[a],c=j[a];if(b.isAutoWhitespaceEdit&&b.range.isEmpty())for(let a=c.startLineNumber;a<=c.endLineNumber;a++){let d="";(a!==c.startLineNumber||(d=this.getLineContent(b.range.startLineNumber),-1===l.HG(d)))&&k.push({lineNumber:a,oldContent:d})}}let m=null;if(c){let a=0;m=[];for(let b=0;b<h.length;b++){let c=h[b],d=j[b],e=this.getValueInRange(c.range),f=c.rangeOffset+a;a+=c.text.length-e.length,m[b]={sortIndex:c.sortIndex,identifier:c.identifier,range:d,text:e,textChange:new aO.k(c.rangeOffset,e,f,c.text)}}i||m.sort((a,b)=>a.sortIndex-b.sortIndex)}this._mightContainRTL=d,this._mightContainUnusualLineTerminators=e,this._mightContainNonBasicASCII=f;let o=this._doApplyEdits(h),p=null;if(b&&k.length>0){k.sort((a,b)=>b.lineNumber-a.lineNumber),p=[];for(let a=0,b=k.length;a<b;a++){let b=k[a].lineNumber;if(a>0&&k[a-1].lineNumber===b)continue;let c=k[a].oldContent,d=this.getLineContent(b);0!==d.length&&d!==c&&-1===l.HG(d)&&p.push(b)}}return this._onDidChangeContent.fire(),new v.F4(m,o,p)}_reduceOperations(a){return a.length<1e3?a:[this._toSingleEditOperation(a)]}_toSingleEditOperation(a){let b=!1,c=a[0].range,d=a[a.length-1].range,e=new q.Q(c.startLineNumber,c.startColumn,d.endLineNumber,d.endColumn),f=c.startLineNumber,g=c.startColumn,h=[];for(let c=0,d=a.length;c<d;c++){let d=a[c],e=d.range;b=b||d.forceMoveMarkers,h.push(this.getValueInRange(new q.Q(f,g,e.startLineNumber,e.startColumn))),d.text.length>0&&h.push(d.text),f=e.endLineNumber,g=e.endColumn}let i=h.join(""),[j,k,l]=(0,n.W)(i);return{sortIndex:0,identifier:a[0].identifier,range:e,rangeOffset:this.getOffsetAt(e.startLineNumber,e.startColumn),rangeLength:this.getValueLengthInRange(e,0),text:i,eolCount:j,firstLineLength:k,lastLineLength:l,forceMoveMarkers:b,isAutoWhitespaceEdit:!1}}_doApplyEdits(a){a.sort(aP._sortOpsDescending);let b=[];for(let c=0;c<a.length;c++){let d=a[c],e=d.range.startLineNumber,f=d.range.startColumn,g=d.range.endLineNumber,h=d.range.endColumn;if(e===g&&f===h&&0===d.text.length)continue;d.text?(this._pieceTree.delete(d.rangeOffset,d.rangeLength),this._pieceTree.insert(d.rangeOffset,d.text,!0)):this._pieceTree.delete(d.rangeOffset,d.rangeLength);let i=new q.Q(e,f,g,h);b.push({range:i,rangeLength:d.rangeLength,text:d.text,rangeOffset:d.rangeOffset,forceMoveMarkers:d.forceMoveMarkers})}return b}findMatchesLineByLine(a,b,c,d){return this._pieceTree.findMatchesLineByLine(a,b,c,d)}static _getInverseEditRanges(a){let b=[],c=0,d=0,e=null;for(let f=0,g=a.length;f<g;f++){let g,h,i,j=a[f];if(e?e.range.endLineNumber===j.range.startLineNumber?(g=c,h=d+(j.range.startColumn-e.range.endColumn)):(g=c+(j.range.startLineNumber-e.range.endLineNumber),h=j.range.startColumn):(g=j.range.startLineNumber,h=j.range.startColumn),j.text.length>0){let a=j.eolCount+1;i=1===a?new q.Q(g,h,g,h+j.firstLineLength):new q.Q(g,h,g+a-1,j.lastLineLength+1)}else i=new q.Q(g,h,g,h);c=i.endLineNumber,d=i.endColumn,b.push(i),e=j}return b}static _sortOpsAscending(a,b){let c=q.Q.compareRangesUsingEnds(a.range,b.range);return 0===c?a.sortIndex-b.sortIndex:c}static _sortOpsDescending(a,b){let c=q.Q.compareRangesUsingEnds(a.range,b.range);return 0===c?b.sortIndex-a.sortIndex:-c}}class aQ{constructor(a,b,c,d,e,f,g,h,i){this._chunks=a,this._bom=b,this._cr=c,this._lf=d,this._crlf=e,this._containsRTL=f,this._containsUnusualLineTerminators=g,this._isBasicASCII=h,this._normalizeEOL=i}_getEOL(a){let b=this._cr+this._lf+this._crlf,c=this._cr+this._crlf;return 0===b?1===a?"\n":"\r\n":c>b/2?"\r\n":"\n"}create(a){let b=this._getEOL(a),c=this._chunks;if(this._normalizeEOL&&("\r\n"===b&&(this._cr>0||this._lf>0)||"\n"===b&&(this._cr>0||this._crlf>0)))for(let a=0,d=c.length;a<d;a++){let d=c[a].buffer.replace(/\r\n|\r|\n/g,b),e=aI(d);c[a]=new aK(d,e)}let d=new aP(c,this._bom,b,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:d,disposable:d}}}class aR{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(a){if(0===a.length)return;0===this.chunks.length&&l.LU(a)&&(this.BOM=l.r_,a=a.substr(1));let b=a.charCodeAt(a.length-1);13===b||b>=55296&&b<=56319?(this._acceptChunk1(a.substr(0,a.length-1),!1),this._hasPreviousChar=!0):(this._acceptChunk1(a,!1),this._hasPreviousChar=!1),this._previousChar=b}_acceptChunk1(a,b){(b||0!==a.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+a):this._acceptChunk2(a))}_acceptChunk2(a){let b=function(a,b){a.length=0,a[0]=0;let c=1,d=0,e=0,f=0,g=!0;for(let h=0,i=b.length;h<i;h++){let j=b.charCodeAt(h);13===j?h+1<i&&10===b.charCodeAt(h+1)?(f++,a[c++]=h+2,h++):(d++,a[c++]=h+1):10===j?(e++,a[c++]=h+1):g&&9!==j&&(j<32||j>126)&&(g=!1)}let h=new aH(aG(a),d,e,f,g);return a.length=0,h}(this._tmpLineStarts,a);this.chunks.push(new aK(a,b.lineStarts)),this.cr+=b.cr,this.lf+=b.lf,this.crlf+=b.crlf,!b.isBasicASCII&&(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=l.E_(a)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=l.$X(a)))}finish(a=!0){return this._finish(),new aQ(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,a)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;let a=this.chunks[this.chunks.length-1];a.buffer+=String.fromCharCode(this._previousChar);let b=aI(a.buffer);a.lineStarts=b,13===this._previousChar&&this.cr++}}}var aS=c(55866),aT=c(28161),aU=c(21005),aV=c(40565),aW=c(31512),aX=c(43589),aY=c(37457);class aZ{constructor(){this._onDidChangeVisibleRanges=new j.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set,this._viewsChanged=(0,aX.Yd)(this),this.visibleLineRanges=(0,aX.C)({owner:this,equalsFn:(0,aY.S3)((0,aY.r)())},a=>(this._viewsChanged.read(a),aW.M.joinMany([...this._views].map(b=>b.state.read(a)?.visibleLineRanges??[]))))}attachView(){let a=new a_(b=>{this._onDidChangeVisibleRanges.fire({view:a,state:b})});return this._views.add(a),this._viewsChanged.trigger(void 0),a}detachView(a){this._views.delete(a),this._onDidChangeVisibleRanges.fire({view:a,state:void 0}),this._viewsChanged.trigger(void 0)}}class a${constructor(a,b){this.visibleLineRanges=a,this.stabilized=b}equals(a){return this===a||!!(0,g.aI)(this.visibleLineRanges,a.visibleLineRanges,(a,b)=>a.equals(b))&&this.stabilized===a.stabilized}}class a_{get state(){return this._state}constructor(a){this.handleStateChange=a,this._state=(0,aX.Zh)({owner:this,equalsFn:(0,aY.KC)((a,b)=>a.equals(b))},void 0)}setVisibleLines(a,b){let c=new a$(a.map(a=>new aW.M(a.startLineNumber,a.endLineNumber+1)),b);this._state.set(c,void 0,void 0),this.handleStateChange(c)}}class a0 extends k.jG{get lineRanges(){return this._lineRanges}constructor(a){super(),this._refreshTokens=a,this.runner=this._register(new aV.uC(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,g.aI)(this._computedLineRanges,this._lineRanges,(a,b)=>a.equals(b))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(a){this._lineRanges=a.visibleLineRanges,a.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class a1 extends k.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(a,b){super(),this._languageIdCodec=a,this._textModel=b,this._onDidChangeTokens=this._register(new j.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(a){this.isCheapToTokenize(a)&&this.forceTokenization(a)}}var a2=c(56167),a3=c(66153),a4=c(91295),a5=c(48363);function a6(a,b){let c=a.gotoParent(),d=b.gotoParent();if(c!==d)throw Error("Trees are out of sync");return c&&d}function a7(a,b){do{if(a.currentNode.nextSibling){let c=a.gotoNextSibling(),d=b.gotoNextSibling();if(c!==d)throw Error("Trees are out of sync");return c&&d}a.currentNode.parent&&a6(a,b)}while(a.currentNode.nextSibling||a.currentNode.parent);return!1}var a8=function(a,b){return function(c,d){b(c,d,a)}};let a9=class extends k.jG{constructor(a,b,c,d,e,f,g){super(),this.languageId=a,this._ranges=b,this._parser=c,this._parserClass=d,this.textModel=e,this._logService=f,this._telemetryService=g,this._tree=(0,aX.FY)(this,void 0),this.tree=this._tree,this._treeLastParsedVersion=(0,aX.FY)(this,-1),this.treeLastParsedVersion=this._treeLastParsedVersion,this._onDidChangeContentQueue=new aV.Pq,this._tree=(0,aX.FY)(this,void 0),this.tree=this._tree,this._register((0,k.s)(()=>{this._tree.get()?.delete(),this._lastFullyParsed?.delete(),this._lastFullyParsedWithEdits?.delete(),this._parser.delete()})),this.handleContentChange(void 0,this._ranges)}handleContentChange(a,b){let c=this.textModel.getVersionId(),d=[];b&&(d=this._setRanges(b)),a&&this._applyEdits(a.changes),this._onDidChangeContentQueue.clearPending(),this._onDidChangeContentQueue.schedule(async()=>{let a;if(this._store.isDisposed)return;let b=this._lastFullyParsed;this._lastFullyParsedWithEdits&&this._lastFullyParsed&&(a=this._findChangedNodes(this._lastFullyParsedWithEdits,this._lastFullyParsed));let e=await this._parseAndUpdateTree(c);if(e){let f;a?b&&a&&(f=this._findTreeChanges(e,a,d)):this._ranges&&(f=this._ranges.map(a=>({newRange:new q.Q(a.startPosition.row+1,a.startPosition.column+1,a.endPosition.row+1,a.endPosition.column+1),oldRangeLength:a.endIndex-a.startIndex,newRangeStartOffset:a.startIndex,newRangeEndOffset:a.endIndex}))),f||(f=[{newRange:this.textModel.getFullModelRange(),newRangeStartOffset:0,newRangeEndOffset:this.textModel.getValueLength()}]);let g=this._tree.get();(0,aX.Rn)(a=>{this._tree.set(e,a,{ranges:f,versionId:c}),this._treeLastParsedVersion.set(c,a)}),g?.delete()}})}_applyEdits(a){for(let b of a){let a=a5.W.ofRange(q.Q.lift(b.range)),c=a5.W.ofText(b.text),d=0===b.text.length?c:a.add(c),e={startIndex:b.rangeOffset,oldEndIndex:b.rangeOffset+b.rangeLength,newEndIndex:b.rangeOffset+b.text.length,startPosition:{row:b.range.startLineNumber-1,column:b.range.startColumn-1},oldEndPosition:{row:b.range.endLineNumber-1,column:b.range.endColumn-1},newEndPosition:{row:b.range.startLineNumber+d.lineCount-1,column:d.lineCount?d.columnCount:b.range.endColumn+d.columnCount}};this._tree.get()?.edit(e),this._lastFullyParsedWithEdits?.edit(e)}}_findChangedNodes(a,b){if(this._ranges&&this._ranges.every(b=>b.startPosition.row!==a.rootNode.startPosition.row)||0!==a.rootNode.startPosition.row)return[];let c=a.walk(),d=b.walk(),e=[],f=!0;do if(c.currentNode.hasChanges){let b=c.currentNode.children,g=[],h=b.filter((a,b)=>(!!a?.hasChanges||d.currentNode.children.length<=b)&&(g.push(b),!0));if(0===h.length||c.currentNode.hasError!==d.currentNode.hasError){for(;c.currentNode.parent&&f&&!c.currentNode.isNamed;)f=a6(c,d);let b=c.currentNode,g=function(a,b){let c=b.walk();c.resetTo(a);let d=a.currentNode;do if(c.currentNode.previousSibling&&c.currentNode.endIndex-c.currentNode.startIndex!=0)c.gotoPreviousSibling();else{for(;!c.currentNode.previousSibling&&c.currentNode.parent;)c.gotoParent();c.gotoPreviousSibling()}while(c.currentNode.endIndex>d.startIndex&&(c.currentNode.parent||c.currentNode.previousSibling)&&c.currentNode.id!==d.id);return c.currentNode.id!==d.id&&c.currentNode.endIndex<=d.startIndex?c.currentNode:void 0}(c,a)??b;e.push({startIndex:g.startIndex,endIndex:b.endIndex,startPosition:g.startPosition,endPosition:b.endPosition}),f=a7(c,d)}else h.length>=1&&(f=function(a,b,c){let d=a.gotoFirstChild(),e=b.gotoFirstChild();if(d!==e)throw Error("Trees are out of sync");if(0===c)return d&&e;for(let d=1;d<=c;d++){let c=a.gotoNextSibling(),d=b.gotoNextSibling();if(c!==d)throw Error("Trees are out of sync");if(!c||!d)return!1}return d&&e}(c,d,g[0]))}else f=a7(c,d);while(f);return c.delete(),d.delete(),e}_findTreeChanges(a,b,c){let d=0,e=[];for(let f=0;f<b.length;f++){let g=b[f];if(e.length>0&&g.startIndex>=e[e.length-1].newRangeStartOffset&&g.endIndex<=e[e.length-1].newRangeEndOffset)continue;let h=a.walk(),i=()=>h.startIndex<g.startIndex&&h.endIndex>g.endIndex;for(;i();){let a=h.gotoFirstChild(),b=!1;for(;a;)if(i()&&h.currentNode.isNamed){b=!0;break}else a=h.gotoNextSibling();if(!b){h.gotoParent();break}if(0===h.currentNode.childCount)break}let j=h.currentNode.startPosition,k=h.currentNode.endPosition,l=h.currentNode.startIndex,m=h.currentNode.endIndex,n={newRange:new q.Q(j.row+1,j.column+1,k.row+1,k.column+1),newRangeStartOffset:l,newRangeEndOffset:m};d<c.length&&ba(c[d],{startIndex:l,endIndex:m,startPosition:j,endPosition:k})?(c[d].startIndex<n.newRangeStartOffset&&(n.newRange=n.newRange.setStartPosition(c[d].startPosition.row+1,c[d].startPosition.column+1),n.newRangeStartOffset=c[d].startIndex),c[d].endIndex>n.newRangeEndOffset&&(n.newRange=n.newRange.setEndPosition(c[d].endPosition.row+1,c[d].endPosition.column+1),n.newRangeEndOffset=c[d].endIndex),d++):d<c.length&&c[d].endIndex<n.newRangeStartOffset&&e.push({newRange:new q.Q(c[d].startPosition.row+1,c[d].startPosition.column+1,c[d].endPosition.row+1,c[d].endPosition.column+1),newRangeStartOffset:c[d].startIndex,newRangeEndOffset:c[d].endIndex}),e.length>0&&e[e.length-1].newRangeEndOffset>=n.newRangeStartOffset?(e[e.length-1].newRange=q.Q.fromPositions(e[e.length-1].newRange.getStartPosition(),n.newRange.getEndPosition()),e[e.length-1].newRangeEndOffset=n.newRangeEndOffset):e.push(n)}return this._constrainRanges(e)}_constrainRanges(a){if(!this._ranges)return a;let b=[],c=0,d=0;for(;c<a.length&&d<this._ranges.length;){let e=a[c],f=this._ranges[d];if(e.newRangeEndOffset<f.startIndex)c++;else if(e.newRangeStartOffset>f.endIndex)d++;else{let a=Math.max(e.newRangeStartOffset,f.startIndex),d=Math.min(e.newRangeEndOffset,f.endIndex),g=e.newRange.intersectRanges(new q.Q(f.startPosition.row+1,f.startPosition.column+1,f.endPosition.row+1,f.endPosition.column+1));b.push({newRange:g,newRangeEndOffset:d,newRangeStartOffset:a}),d<e.newRangeEndOffset?(e.newRange=q.Q.fromPositions(g.getEndPosition(),e.newRange.getEndPosition()),e.newRangeStartOffset=d+1):c++}}return b}async _parseAndUpdateTree(a){let b=await this._parse();if(b)return this._lastFullyParsed?.delete(),this._lastFullyParsed=b.copy(),this._lastFullyParsedWithEdits?.delete(),this._lastFullyParsedWithEdits=b.copy(),b;this._tree.get()||this._parser.reset()}_parse(){let a="fullParse";return this._tree.get()&&(a="incrementalParse"),this._parseAndYield(a)}async _parseAndYield(a){let b,c,d=0,e=0,f=this.textModel.getVersionId(),g=(b=performance.now(),function(a){let c=performance.now();return c-b>50&&(b=c,!0)});do{let a=performance.now();c=this._parser.parse((a,b)=>this._parseCallback(a),this._tree.get(),{progressCallback:g,includedRanges:this._ranges}),d+=performance.now()-a,e++,await new Promise(a=>(0,a2._p)(a))}while(!this._store.isDisposed&&!c&&f===this.textModel.getVersionId());return this._sendParseTimeTelemetry(a,d,e),c&&f===this.textModel.getVersionId()?c:void 0}_parseCallback(a){try{return this.textModel.getTextBuffer().getNearestChunk(a)}catch(a){this._logService.debug("Error getting chunk for tree-sitter parsing",a)}}_setRanges(a){let b=[];if(this._ranges)for(let e of a){let a=!1;for(let b=0;b<this._ranges.length;b++){var c,d;let f=this._ranges[b];if(c=f,d=e,c.startPosition.row===d.startPosition.row&&c.startPosition.column===d.startPosition.column&&c.endPosition.row===d.endPosition.row&&c.endPosition.column===d.endPosition.column&&c.startIndex===d.startIndex&&c.endIndex===d.endIndex||ba(f,e)){a=!0;break}}a||b.push(e)}else b.push(...a);return this._ranges=a,b}_sendParseTimeTelemetry(a,b,c){this._logService.debug(`Tree parsing (${a}) took ${b} ms and ${c} passes.`),"fullParse"===a?this._telemetryService.publicLog2("treeSitter.fullParse",{languageId:this.languageId,time:b,passes:c}):this._telemetryService.publicLog2("treeSitter.incrementalParse",{languageId:this.languageId,time:b,passes:c})}createParsedTreeSync(a){let b=new this._parserClass;b.setLanguage(this._parser.language);let c=b.parse(a);return b.delete(),c??void 0}};function ba(a,b){return a.startIndex<=b.startIndex&&a.endIndex>=b.startIndex||b.startIndex<=a.startIndex&&b.endIndex>=a.startIndex}a9=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([a8(5,a3.rr),a8(6,a4.k)],a9);var bb=c(29715),bc=c(34509),bd=c(95967),be=c(4380);class bf{constructor(a){this._default=a,this._store=[]}get(a){return a<this._store.length?this._store[a]:this._default}set(a,b){for(;a>=this._store.length;)this._store[this._store.length]=this._default;this._store[a]=b}replace(a,b,c){if(a>=this._store.length)return;if(0===b)return void this.insert(a,c);if(0===c)return void this.delete(a,b);let d=this._store.slice(0,a),e=this._store.slice(a+b),f=function(a,b){let c=[];for(let d=0;d<a;d++)c[d]=b;return c}(c,this._default);this._store=d.concat(f,e)}delete(a,b){0===b||a>=this._store.length||this._store.splice(a,b)}insert(a,b){if(0===b||a>=this._store.length)return;let c=[];for(let a=0;a<b;a++)c[a]=this._default;this._store=(0,g.nK)(this._store,a,c)}}class bg{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(a,b){this._startLineNumber=a,this._tokens=b}getLineTokens(a){return this._tokens[a-this._startLineNumber]}appendLineTokens(a){this._tokens.push(a)}}class bh{constructor(){this._tokens=[]}add(a,b){if(this._tokens.length>0){let c=this._tokens[this._tokens.length-1];if(c.endLineNumber+1===a)return void c.appendLineTokens(b)}this._tokens.push(new bg(a,[b]))}finalize(){return this._tokens}}class bi{constructor(a,b){this.tokenizationSupport=b,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new bl(a)}getStartState(a){return this.store.getStartState(a,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class bj extends bi{constructor(a,b,c,d){super(a,b),this._textModel=c,this._languageIdCodec=d}updateTokensUntilLine(a,b){let c=this._textModel.getLanguageId();for(;;){let d=this.getFirstInvalidLine();if(!d||d.lineNumber>b)break;let e=this._textModel.getLineContent(d.lineNumber),f=bo(this._languageIdCodec,c,this.tokenizationSupport,e,!0,d.startState);a.add(d.lineNumber,f.tokens),this.store.setEndState(d.lineNumber,f.endState)}}getTokenTypeIfInsertingCharacter(a,b){let c=this.getStartState(a.lineNumber);if(!c)return 0;let d=this._textModel.getLanguageId(),e=this._textModel.getLineContent(a.lineNumber),f=e.substring(0,a.column-1)+b+e.substring(a.column-1),g=bo(this._languageIdCodec,d,this.tokenizationSupport,f,!0,c),h=new aU.f7(g.tokens,f,this._languageIdCodec);if(0===h.getCount())return 0;let i=h.findTokenIndexAtOffset(a.column-1);return h.getStandardTokenType(i)}tokenizeLinesAt(a,b){let c=this.getStartState(a);if(!c)return null;let d=this._textModel.getLanguageId(),e=[],f=c;for(let a of b){let b=bo(this._languageIdCodec,d,this.tokenizationSupport,a,!0,f);e.push(new aU.f7(b.tokens,a,this._languageIdCodec)),f=b.endState}return e}hasAccurateTokensForLine(a){return a<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(a){let b=this.store.getFirstInvalidEndStateLineNumberOrMax();return!!(a<b||a===b&&2048>this._textModel.getLineLength(a))}tokenizeHeuristically(a,b,c){if(c<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(b<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(a,c),{heuristicTokens:!1};let d=this.guessStartState(b),e=this._textModel.getLanguageId();for(let f=b;f<=c;f++){let b=this._textModel.getLineContent(f),c=bo(this._languageIdCodec,e,this.tokenizationSupport,b,!0,d);a.add(f,c.tokens),d=c.endState}return{heuristicTokens:!0}}guessStartState(a){let{likelyRelevantLines:b,initialState:c}=bk(this._textModel,a,this);c||(c=this.tokenizationSupport.getInitialState());let d=this._textModel.getLanguageId(),e=c;for(let a of b)e=bo(this._languageIdCodec,d,this.tokenizationSupport,a,!1,e).endState;return e}}function bk(a,b,c){let d=a.getLineFirstNonWhitespaceColumn(b),e=[],f=null;for(let g=b-1;d>1&&g>=1;g--){let b=a.getLineFirstNonWhitespaceColumn(g);if(0!==b&&b<d&&(e.push(a.getLineContent(g)),d=b,f=c?.getStartState(g)))break}return e.reverse(),{likelyRelevantLines:e,initialState:f??void 0}}class bl{constructor(a){this.lineCount=a,this._tokenizationStateStore=new bm,this._invalidEndStatesLineNumbers=new bn,this._invalidEndStatesLineNumbers.addRange(new bd.L(1,a+1))}getEndState(a){return this._tokenizationStateStore.getEndState(a)}setEndState(a,b){if(!b)throw new i.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(a);let c=this._tokenizationStateStore.setEndState(a,b);return c&&a<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new bd.L(a+1,a+2)),c}acceptChange(a,b){this.lineCount+=b-a.length,this._tokenizationStateStore.acceptChange(a,b),this._invalidEndStatesLineNumbers.addRangeAndResize(new bd.L(a.startLineNumber,a.endLineNumberExclusive),b)}acceptChanges(a){for(let b of a){let[a]=(0,n.W)(b.text);this.acceptChange(new aW.M(b.range.startLineNumber,b.range.endLineNumber+1),a+1)}}invalidateEndStateRange(a){this._invalidEndStatesLineNumbers.addRange(new bd.L(a.startLineNumber,a.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(a,b){return 1===a?b:this.getEndState(a-1)}getFirstInvalidLine(a){let b=this.getFirstInvalidEndStateLineNumber();if(null===b)return null;let c=this.getStartState(b,a);if(!c)throw new i.D7("Start state must be defined");return{lineNumber:b,startState:c}}}class bm{constructor(){this._lineEndStates=new bf(null)}getEndState(a){return this._lineEndStates.get(a)}setEndState(a,b){let c=this._lineEndStates.get(a);return!(c&&c.equals(b))&&(this._lineEndStates.set(a,b),!0)}acceptChange(a,b){let c=a.length;b>0&&c>0&&(c--,b--),this._lineEndStates.replace(a.startLineNumber,c,b)}}class bn{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(a){let b=this._ranges.findIndex(b=>b.contains(a));if(-1!==b){let c=this._ranges[b];c.start===a?c.endExclusive===a+1?this._ranges.splice(b,1):this._ranges[b]=new bd.L(a+1,c.endExclusive):c.endExclusive===a+1?this._ranges[b]=new bd.L(c.start,a):this._ranges.splice(b,1,new bd.L(c.start,a),new bd.L(a+1,c.endExclusive))}}addRange(a){bd.L.addRange(a,this._ranges)}addRangeAndResize(a,b){let c=0;for(;!(c>=this._ranges.length||a.start<=this._ranges[c].endExclusive);)c++;let d=c;for(;!(d>=this._ranges.length||a.endExclusive<this._ranges[d].start);)d++;let e=b-a.length;for(let a=d;a<this._ranges.length;a++)this._ranges[a]=this._ranges[a].delta(e);if(c===d){let d=new bd.L(a.start,a.start+b);d.isEmpty||this._ranges.splice(c,0,d)}else{let b=Math.min(a.start,this._ranges[c].start),f=Math.max(a.endExclusive,this._ranges[d-1].endExclusive),g=new bd.L(b,f+e);g.isEmpty?this._ranges.splice(c,d-c):this._ranges.splice(c,d-c,g)}}toString(){return this._ranges.map(a=>a.toString()).join(" + ")}}function bo(a,b,c,d,e,f){let g=null;if(c)try{g=c.tokenizeEncoded(d,e,f.clone())}catch(a){(0,i.dz)(a)}return g||(g=(0,be.Lh)(a.encodeLanguageId(b),f)),aU.f7.convertToEndOffset(g.tokens,d.length),g}class bp{constructor(a,b){this._tokenizerWithStateStore=a,this._backgroundTokenStore=b,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,aV.$6)(a=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(a)}))}_backgroundTokenizeWithDeadline(a){let b=Date.now()+a.timeRemaining(),c=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<b?(0,a2._p)(c):this._beginBackgroundTokenization())};c()}_backgroundTokenizeForAtLeast1ms(){let a=this._tokenizerWithStateStore._textModel.getLineCount(),b=new bh,c=bc.W.create(!1);do if(c.elapsed()>1||this._tokenizeOneInvalidLine(b)>=a)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(b.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(a){let b=this._tokenizerWithStateStore?.getFirstInvalidLine();return b?(this._tokenizerWithStateStore.updateTokensUntilLine(a,b.lineNumber),b.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){!this._isDisposed&&this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(a,b){this._tokenizerWithStateStore.store.invalidateEndStateRange(new aW.M(a,b))}}class bq{get children(){return this._children}get length(){return this._length}constructor(a){this.height=a,this._children=[],this._length=0}static create(a,b){let c=new bq(a.height+1);return c.appendChild(a),c.appendChild(b),c}canAppendChild(){return this._children.length<3}appendChild(a){if(!this.canAppendChild())throw Error("Cannot insert more than 3 children in a ListNode");this._children.push(a),this._length+=a.length,this._updateParentLength(a.length),br(a)||(a.parent=this)}_updateParentLength(a){let b=this.parent;for(;b;)b._length+=a,b=b.parent}unappendChild(){let a=this._children.pop();return this._length-=a.length,this._updateParentLength(-a.length),a}prependChild(a){if(this._children.length>=3)throw Error("Cannot prepend more than 3 children in a ListNode");this._children.unshift(a),this._length+=a.length,this._updateParentLength(a.length),br(a)||(a.parent=this)}unprependChild(){let a=this._children.shift();return this._length-=a.length,this._updateParentLength(-a.length),a}lastChild(){return this._children[this._children.length-1]}dispose(){this._children.splice(0,this._children.length)}}function br(a){return void 0!==a.token}function bs(a,b){let c,d=a,e=[];for(;;){if(b.height===d.height){c=b;break}if(br(d))throw Error("unexpected");e.push(d),d=d.lastChild()}for(let a=e.length-1;a>=0;a--){let b=e[a];c&&(b.children.length>=3?c=bq.create(b.unappendChild(),c):(b.appendChild(c),c=void 0))}if(!c)return a;{let b=new bq(c.height+1);return b.appendChild(a),b.appendChild(c),b}}!function(a){a[a.None=0]="None",a[a.ViewportGuess=1]="ViewportGuess",a[a.EditGuess=2]="EditGuess",a[a.Accurate=3]="Accurate"}(d||(d={}));class bt{constructor(a){this._textModel=a,this._root=this.createEmptyRoot()}createEmptyRoot(){return{length:this._textModel.getValueLength(),token:0,height:0,tokenQuality:d.None}}buildStore(a,b){this._root=this.createFromUpdates(a,b)}createFromUpdates(a,b){if(0===a.length)return this.createEmptyRoot();let c={length:a[0].length,token:a[0].token,height:0,tokenQuality:b};for(let d=1;d<a.length;d++)c=bs(c,{length:a[d].length,token:a[d].token,height:0,tokenQuality:b});return c}update(a,b,c){0!==b.length&&this.replace(a,b[0].startOffsetInclusive,b,c)}delete(a,b){this.replace(a,b,[],d.EditGuess)}replace(a,b,c,d){let e,f=b+a,g=[],h=[],i=[{node:this._root,offset:0}];for(;i.length>0;){let a=i.pop(),c=a.offset;if(c<b&&c+a.node.length<=b){br(a.node)||(a.node.parent=void 0),g.push(a.node);continue}if(br(a.node)&&c<b&&g.push({length:b-c,token:a.node.token,height:0,tokenQuality:a.node.tokenQuality}),!(b<=c)||!(c+a.node.length<=f)){if(c>=f){br(a.node)||(a.node.parent=void 0),h.push(a.node);continue}if(br(a.node)&&c+a.node.length>f){h.push({length:c+a.node.length-f,token:a.node.token,height:0,tokenQuality:a.node.tokenQuality});continue}if(!br(a.node)){let b=c+a.node.length;for(let c=a.node.children.length-1;c>=0;c--)b-=a.node.children[c].length,i.push({node:a.node.children[c],offset:b})}}}let j=(e=c.length>0?g.concat(this.createFromUpdates(c,d),h):g.concat(h))[0];for(let a=1;a<e.length;a++){var k,l;k=j,l=e[a],j=k.height===l.height?bq.create(k,l):k.height>l.height?bs(k,l):function(a,b){let c=a,d=[];for(;b.height!==c.height;){if(br(c))throw Error("unexpected");d.push(c),c=c.children[0]}let e=b;for(let a=d.length-1;a>=0;a--){let b=d[a];e&&(b.children.length>=3?e=bq.create(e,b.unprependChild()):(b.prependChild(e),e=void 0))}return e?bq.create(e,a):a}(l,k)}this._root=j??this.createEmptyRoot()}traverseInOrderInRange(a,b,c){let d=[{node:this._root,offset:0}];for(;d.length>0;){let{node:e,offset:f}=d.pop();if(!(f+e.length<=a)&&!(f>=b)){if(c(e,f))return;if(!br(e)){let a=f+e.length;for(let b=e.children.length-1;b>=0;b--)a-=e.children[b].length,d.push({node:e.children[b],offset:a})}}}}getTokenAt(a){let b;return this.traverseInOrderInRange(a,this._root.length,(a,c)=>!!br(a)&&(b={token:a.token,startOffsetInclusive:c,length:a.length},!0)),b}getTokensInRange(a,b){let c=[];return this.traverseInOrderInRange(a,b,(d,e)=>{if(br(d)){let f=d.length,g=e;e<a&&e+d.length>b?(g=a,f=b-a):e<a?(f-=a-e,g=a):e+d.length>b&&(f-=e+d.length-b),c.push({token:d.token,startOffsetInclusive:g,length:f})}return!1}),c}markForRefresh(a,b){this.traverseInOrderInRange(a,b,a=>(br(a)&&(a.tokenQuality=d.None),!1))}rangeHasTokens(a,b,c){let d=!0;return this.traverseInOrderInRange(a,b,a=>(br(a)&&a.tokenQuality<c&&(d=!1),!1)),d}rangeNeedsRefresh(a,b){let c=!1;return this.traverseInOrderInRange(a,b,a=>(br(a)&&a.tokenQuality!==d.Accurate&&(c=!0),!1)),c}getNeedsRefresh(){let a=[];return this.traverseInOrderInRange(0,this._textModel.getValueLength(),(b,c)=>(br(b)&&b.tokenQuality!==d.Accurate&&(a.length>0&&a[a.length-1].endOffset===c?a[a.length-1].endOffset+=b.length:a.push({startOffset:c,endOffset:c+b.length})),!1)),a}dispose(){let a=[[this._root,!1]];for(;a.length>0;){let[b,c]=a.pop();if(br(b));else if(c)b.dispose(),b.parent=void 0;else{a.push([b,!0]);for(let c=b.children.length-1;c>=0;c--)a.push([b.children[c],!1])}}this._root=void 0}}var bu=c(46339);let bv=(0,bb.u1)("treeSitterThemeService"),bw=class extends k.jG{get _textModel(){return this._tree.textModel}constructor(a,b,c,e,f){super(),this._tree=a,this._highlightingQueries=b,this._languageIdCodec=c,this._visibleLineRanges=e,this._treeSitterThemeService=f,this._onDidChangeTokens=this._register(new j.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidCompleteBackgroundTokenization=this._register(new j.vl),this.onDidChangeBackgroundTokenization=this._onDidCompleteBackgroundTokenization.event,this._encodedLanguageId=this._languageIdCodec.encodeLanguageId(this._tree.languageId),this._register((0,aX.lp)(this._treeSitterThemeService.onChange,()=>{this._updateTheme()})),this._tokenStore=this._register(new bt(this._textModel)),this._accurateVersion=this._textModel.getVersionId(),this._guessVersion=this._textModel.getVersionId(),this._tokenStore.buildStore(this._createEmptyTokens(),d.None),this._register((0,aX.fm)(a=>{let b=this._visibleLineRanges.read(a);this._parseAndTokenizeViewPort(b)})),this._register((0,aX.Y)({owner:this,changeTracker:(0,aX.jv)({tree:this._tree.tree})},(a,b)=>{let c=b.changes.at(0)?.change;if(b.changes.length>1)throw new i.D7("The tree changed twice in one transaction. This is currently not supported and should not happen.");if(c){if(this.hasTokens())for(let a of c.ranges)this._markForRefresh(a.newRange);this.hasTokens()?this._handleTreeUpdate(c.ranges,c.versionId):this._firstTreeUpdate(c.versionId)}else b.tree&&this._firstTreeUpdate(this._tree.treeLastParsedVersion.read(a))}))}handleContentChanged(a){for(let b of(this._guessVersion=a.versionId,a.changes))if(b.text.length>b.rangeLength){let a,c=b.rangeOffset>0?b.rangeOffset-1:b.rangeOffset,e=this._tokenStore.getTokenAt(c);e?(a={startOffsetInclusive:e.startOffsetInclusive,length:e.length+b.text.length-b.rangeLength,token:e.token},this._tokenStore.markForRefresh(c,b.rangeOffset+(b.text.length>b.rangeLength?b.text.length:b.rangeLength))):a={startOffsetInclusive:c,length:b.text.length,token:0},this._tokenStore.update(e?.length??0,[a],d.EditGuess)}else if(b.text.length<b.rangeLength){let a=b.rangeLength-b.text.length;this._tokenStore.delete(a,b.rangeOffset)}}getLineTokens(a){let b=this._textModel.getLineContent(a),c=this.getTokens(a);return new aU.f7(c,b,this._languageIdCodec)}_createEmptyTokens(){let a=this._emptyToken(),b=this._textModel.getValueLength();return[this._emptyTokensForOffsetAndLength(0,b,a)]}_emptyToken(){return this._treeSitterThemeService.findMetadata([],this._encodedLanguageId,!1,void 0)}_emptyTokensForOffsetAndLength(a,b,c){return{token:c,length:a+b,startOffsetInclusive:0}}hasAccurateTokensForLine(a){return this.hasTokens(new q.Q(a,1,a,this._textModel.getLineMaxColumn(a)))}tokenizeLinesAt(a,b){let c=this._guessTokensForLinesContent(a,b),d=[];if(!c)return null;for(let a=0;a<c.length;a++)d.push(new aU.f7(c[a],b[a],this._languageIdCodec));return d}_rangeHasTokens(a,b){return this._tokenStore.rangeHasTokens(this._textModel.getOffsetAt(a.getStartPosition()),this._textModel.getOffsetAt(a.getEndPosition()),b)}hasTokens(a){return!a||this._guessVersion===this._accurateVersion||!this._tokenStore.rangeNeedsRefresh(this._textModel.getOffsetAt(a.getStartPosition()),this._textModel.getOffsetAt(a.getEndPosition()))}getTokens(a){let b=this._textModel.getOffsetAt({lineNumber:a,column:1}),c=this._textModel.getOffsetAt({lineNumber:a,column:this._textModel.getLineLength(a)+1}),d=this._tokenStore.getTokensInRange(b,c),e=new Uint32Array(2*d.length);for(let a=0;a<d.length;a++)e[2*a]=d[a].startOffsetInclusive-b+d[a].length,e[2*a+1]=d[a].token;return e}getTokensInRange(a,b,c,d){let e=d?this._tokenizeCapturesWithMetadata(d,b,c):this._tokenize(a,b,c);if(e?.endOffsetsAndMetadata)return this._rangeTokensAsUpdates(b,e.endOffsetsAndMetadata)}_updateTokensInStore(a,b,c){for(let d of(this._accurateVersion=a,b)){let b,e=d.newTokens.length>0?d.newTokens[d.newTokens.length-1]:void 0;b=e&&this._guessVersion>=a?e.startOffsetInclusive+e.length-d.newTokens[0].startOffsetInclusive:d.oldRangeLength?d.oldRangeLength:0,this._tokenStore.update(b,d.newTokens,c)}}_markForRefresh(a){this._tokenStore.markForRefresh(this._textModel.getOffsetAt(a.getStartPosition()),this._textModel.getOffsetAt(a.getEndPosition()))}_getNeedsRefresh(){let a=this._tokenStore.getNeedsRefresh();return a?a.map(a=>({range:q.Q.fromPositions(this._textModel.getPositionAt(a.startOffset),this._textModel.getPositionAt(a.endOffset)),startOffset:a.startOffset,endOffset:a.endOffset})):[]}_parseAndTokenizeViewPort(a){for(let b of a.map(a=>a.toInclusiveRange()).filter(bu.O9)){let a=this._textModel.getOffsetAt(b.getStartPosition()),c=this._textModel.getOffsetAt(b.getEndPosition()),e=this._textModel.getVersionId();if(this._rangeHasTokens(b,d.ViewportGuess))continue;let f=this._textModel.getValueInRange(b),g=this._forceParseAndTokenizeContent(b,a,c,f,!0);if(!g||this._rangeHasTokens(b,d.ViewportGuess)||0===g.length)continue;let h=g[g.length-1],i=h.startOffsetInclusive+h.length-g[0].startOffsetInclusive;this._updateTokensInStore(e,[{newTokens:g,oldRangeLength:i}],d.ViewportGuess),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:b.startLineNumber,toLineNumber:b.endLineNumber}]}})}}_guessTokensForLinesContent(a,b){if(0===b.length)return;let c=b.join(this._textModel.getEOL()),d=new q.Q(1,1,a+b.length,b[b.length-1].length+1),e=this._textModel.getOffsetAt({lineNumber:a,column:1}),f=this._forceParseAndTokenizeContent(d,e,e+c.length,c,!1);if(!f)return;let g=Array(b.length),h=0,i=0,j=0;for(let a=0;a<b.length;a++){let c=[],d=!1;for(let e=h;!d&&e<f.length;e++){let g=f[e],k=g.endOffset-j,l=i-j;if(k<=b[a].length)c.push({endOffset:k,metadata:g.metadata}),h++;else if(l<b[a].length){let e={endOffset:b[a].length,metadata:g.metadata};c.push(e),d=!0}else d=!0;i=g.endOffset}g[a]=this._endOffsetTokensToUint32Array(c),j+=b[a].length+this._textModel.getEOL().length}return g}_forceParseAndTokenizeContent(a,b,c,d,e){let f=bk(this._textModel,a.startLineNumber).likelyRelevantLines,g=f.join(this._textModel.getEOL()),h=this._tree.createParsedTreeSync(`${g}${d}`);if(!h)return;let i=new q.Q(1,1,a.endLineNumber-a.startLineNumber+1+f.length,a.endColumn),j=this.captureAtRange(i),k=this._tokenizeCapturesWithMetadata(j,g.length,c-b+g.length);if(h.delete(),k)if(e)return this._rangeTokensAsUpdates(b,k.endOffsetsAndMetadata,g.length);else return k.endOffsetsAndMetadata}_firstTreeUpdate(a){return this._setViewPortTokens(a)}_setViewPortTokens(a){let b=this._visibleLineRanges.get().map(a=>{let b=a.toInclusiveRange();if(!b)return;let c=this._textModel.getOffsetAt(b.getStartPosition()),d=this._textModel.getOffsetAt(b.getEndPosition());return{newRange:b,newRangeEndOffset:d,newRangeStartOffset:c}}).filter(bu.O9);return this._handleTreeUpdate(b,a)}_handleTreeUpdate(a,b){let c=[];for(let b=0;b<a.length;b++)if(a[b].newRange.endLineNumber-a[b].newRange.startLineNumber>1e3){let d=a[b].newRange.endLineNumber,e=a[b].newRange.startLineNumber,f=a[b].newRange.startColumn,g=e+1e3;do{let h=new p.y(e,f),i=g===a[b].newRange.endLineNumber?a[b].newRange.endColumn:this._textModel.getLineMaxColumn(g),j=new p.y(g,i),k=q.Q.fromPositions(h,j);c.push({range:k,startOffset:this._textModel.getOffsetAt(k.getStartPosition()),endOffset:this._textModel.getOffsetAt(k.getEndPosition())}),e=g+1,f=1,g<d&&g+1e3>d?g=d:g+=1e3}while(g<=d)}else if(0===b||c[b-1].endOffset<a[b].newRangeStartOffset)c.push({range:a[b].newRange,startOffset:a[b].newRangeStartOffset,endOffset:a[b].newRangeEndOffset});else if(c[b-1].endOffset<a[b].newRangeEndOffset){let d=this._textModel.getPositionAt(c[b-1].endOffset+1),e=new q.Q(d.lineNumber,d.column,a[b].newRange.endLineNumber,a[b].newRange.endColumn);c.push({range:e,startOffset:c[b-1].endOffset+1,endOffset:a[b].newRangeEndOffset})}let d=c.map(a=>this._getCaptures(a.range));return this._updateTreeForRanges(c,b,d).then(()=>{this._textModel.isDisposed()||this._tree.treeLastParsedVersion.get()!==this._textModel.getVersionId()||this._refreshNeedsRefresh(b)})}async _updateTreeForRanges(a,b,c){let e;for(let f=0;f<a.length&&(this._textModel.isDisposed()||b===this._textModel.getVersionId());f++){let g=c[f],h=a[f],i=this.getTokensInRange(h.range,h.startOffset,h.endOffset,g);e=i?{newTokens:i}:{newTokens:[]},this._updateTokensInStore(b,[e],d.Accurate),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:h.range.getStartPosition().lineNumber,toLineNumber:h.range.getEndPosition().lineNumber}]}}),await new Promise(a=>(0,a2._p)(a))}this._onDidCompleteBackgroundTokenization.fire()}_refreshNeedsRefresh(a){let b=this._getNeedsRefresh();if(0===b.length)return;let c=Array(b.length);for(let a=0;a<b.length;a++){let d=b[a];c[a]={newRange:d.range,newRangeStartOffset:d.startOffset,newRangeEndOffset:d.endOffset}}this._handleTreeUpdate(c,a)}_rangeTokensAsUpdates(a,b,c){let d=[],e=0;for(let f of b){let b;f.endOffset<=e||c&&f.endOffset<c||(b=c&&e<c?{startOffsetInclusive:a+c,length:f.endOffset-c,token:f.metadata}:{startOffsetInclusive:a+e,length:f.endOffset-e,token:f.metadata},d.push(b),e=f.endOffset)}return d}_updateTheme(){let a=this._textModel.getFullModelRange();this._markForRefresh(a),this._parseAndTokenizeViewPort(this._visibleLineRanges.get())}captureAtRange(a){let b=this._tree.tree.get();return b?this._highlightingQueries.captures(b.rootNode,{startPosition:{row:a.startLineNumber-1,column:a.startColumn-1},endPosition:{row:a.endLineNumber-1,column:a.endColumn-1}}).map(a=>({name:a.name,text:a.node.text,node:{startIndex:a.node.startIndex,endIndex:a.node.endIndex,startPosition:{lineNumber:a.node.startPosition.row+1,column:a.node.startPosition.column+1},endPosition:{lineNumber:a.node.endPosition.row+1,column:a.node.endPosition.column+1}},encodedLanguageId:this._encodedLanguageId})):[]}captureAtRangeWithInjections(a){let b=this.captureAtRange(a);for(let c=0;c<b.length;c++){let d=b[c],e=d.node.startPosition.lineNumber,f=d.node.endPosition.lineNumber,g=d.node.startPosition.column,h=d.node.endPosition.column,i=e>a.startLineNumber&&e<a.endLineNumber?e:a.startLineNumber,j=f>a.startLineNumber&&f<a.endLineNumber?f:a.endLineNumber,k=e===a.startLineNumber?g<a.startColumn?a.startColumn:g:e<a.startLineNumber?a.startColumn:g,l=f===a.endLineNumber?h>a.endColumn?a.endColumn:h:f>a.endLineNumber?a.endColumn:h,m=new q.Q(i,k,j,l),n=this._getInjectionCaptures(d,m);n&&n.length>0&&(b.splice(c+1,0,...n),c+=n.length)}return b}tokenizeEncoded(a){let b=this._tokenizeEncoded(a);if(!b)return;let c=this._rangeTokensAsUpdates(this._textModel.getOffsetAt({lineNumber:a,column:1}),b.result);b.versionId===this._textModel.getVersionId()&&this._updateTokensInStore(b.versionId,[{newTokens:c,oldRangeLength:this._textModel.getLineLength(a)}],d.Accurate)}_getCaptures(a){return this.captureAtRangeWithInjections(a)}_tokenize(a,b,c){let d=this._getCaptures(a),e=this._tokenizeCapturesWithMetadata(d,b,c);if(e)return{...e,versionId:this._tree.treeLastParsedVersion.get()}}_createTokensFromCaptures(a,b,c){let d=this._tree.tree.get(),e=bc.W.create(),f=c-b,g=this._languageIdCodec.encodeLanguageId(this._tree.languageId),h=bx[this._tree.languageId]||"source";if(0===a.length)return d?(e.stop(),{endOffsets:[{endOffset:f,scopes:[],encodedLanguageId:g}],captureTime:e.elapsed()}):void 0;let i=Array(a.length);i.fill({endOffset:0,scopes:[h],encodedLanguageId:g});let j=0,k=()=>{i.push({endOffset:0,scopes:[h],encodedLanguageId:g})},l=(a,b)=>a.name.includes("punctuation")&&a.text?Array.from(a.text.matchAll(by)).map(a=>b+a.index):void 0,m=(a,b,c,d)=>{if(void 0!==d){let e=i[d].scopes,f=i[d].bracket;if((d>0?i[d-1].endOffset:0)!==b){let g;if(f&&f.length>0){g=[];let a=[];for(let d=0;d<f.length;d++){let e=f[d];e<b?g.push(e):e>c&&a.push(e)}0===g.length&&(g=void 0),f=0===a.length?void 0:a}i.splice(d,0,{endOffset:b,scopes:[...e],bracket:g,encodedLanguageId:a.encodedLanguageId}),d++,k(),j++}i.splice(d,0,{endOffset:c,scopes:[...e,a.name],bracket:l(a,b),encodedLanguageId:a.encodedLanguageId}),i[j].bracket=f}else i[j]={endOffset:c,scopes:[h,a.name],bracket:l(a,b),encodedLanguageId:a.encodedLanguageId};j++};for(let d=0;d<a.length;d++){let e,f=a[d],g=f.node.endIndex<c?f.node.endIndex<b?b:f.node.endIndex:c,n=f.node.startIndex<b?b:f.node.startIndex,o=g-b,p=g-n;e=d>0?i[j-1].endOffset:n-b-1;let q=o-p;if(e>=0&&e<q&&(i[j]={endOffset:q,scopes:[h],encodedLanguageId:this._encodedLanguageId},j++,k()),!(p<0))if(e>=o){let a=j-1,b=i[a].endOffset,c=a>=2?i[a-1].endOffset:0;do{if(c+p===b){if(c===q){i[a].scopes.push(f.name);let b=i[a].bracket;i[a].bracket=b&&b.length>0?b:l(f,q)}}else if(c<=q){m(f,q,o,a);break}c=--a>=1?i[a-1].endOffset:0,b=a>=0?i[a].endOffset:0}while(b>q)}else m(f,q,o)}i[j-1].endOffset<f&&f-i[j-1].endOffset>0&&(k(),i[j]={endOffset:f,scopes:i[j].scopes,encodedLanguageId:this._encodedLanguageId},j++);for(let a=0;a<i.length;a++)if(0===i[a].endOffset&&0!==a){i.splice(a,i.length-a);break}return{endOffsets:i,captureTime:e.elapsed()}}_getInjectionCaptures(a,b){return[]}_tokenizeCapturesWithMetadata(a,b,c){let d=bc.W.create(),e=this._createTokensFromCaptures(a,b,c);if(!e)return;let f=e.endOffsets;for(let a=0;a<f.length;a++){let b=f[a];b.metadata=this._treeSitterThemeService.findMetadata(b.scopes,b.encodedLanguageId,!!b.bracket&&b.bracket.length>0,void 0)}let g=d.elapsed();return{endOffsetsAndMetadata:f,captureTime:e.captureTime,metadataTime:g}}_tokenizeEncoded(a){let b=this._textModel.getOffsetAt({lineNumber:a,column:1}),c=a+1<=this._textModel.getLineCount()?this._textModel.getOffsetAt({lineNumber:a+1,column:1}):this._textModel.getValueLength(),d=c-b,e=this._tokenize(new q.Q(a,1,a,d+1),b,c);if(e)return{result:e.endOffsetsAndMetadata,captureTime:e.captureTime,metadataTime:e.metadataTime,versionId:e.versionId}}_endOffsetTokensToUint32Array(a){let b=new Uint32Array(2*a.length);for(let c=0;c<a.length;c++)b[2*c]=a[c].endOffset,b[2*c+1]=a[c].metadata;return b}};bw=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([function(a,b){bv(a,b,4)}],bw);let bx={css:"source.css",typescript:"source.ts",ini:"source.ini",regex:"source.regex"},by=/[\{\}\[\]\<\>\(\)]/g;var bz=c(30950),bA=function(a,b){return function(c,d){b(c,d,a)}};let bB=class extends a1{constructor(a,b,c,d,e,f){super(b,c),this._languageIdObs=a,this._treeSitterLibraryService=e,this._instantiationService=f,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new j.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event;let g=new aX.BK(this._treeSitterLibraryService.getParserClass()),h=(0,aX.un)(this,a=>g.promiseResult?.read(a)?.getDataOrThrow());this._tree=(0,aX.un)(this,a=>{let b=h.read(a);if(!b)return;let c=this._languageIdObs.read(a),d=this._treeSitterLibraryService.getLanguage(c,a);if(!d)return;let e=new b;if(a.store.add((0,k.s)(()=>{e.delete()})),e.setLanguage(d),void 0!==this._treeSitterLibraryService.getInjectionQueries(c,a))return a.store.add(this._instantiationService.createInstance(a9,c,void 0,e,b,this._textModel))}),this._tokenizationImpl=(0,aX.un)(this,a=>{let b=this._tree.read(a);if(!b)return;let c=this._treeSitterLibraryService.getHighlightingQueries(b.languageId,a);if(c)return a.store.add(this._instantiationService.createInstance(bw,b,c,this._languageIdCodec,d))}),this._register((0,aX.fm)(a=>{let b=this._tokenizationImpl.read(a);b&&(a.store.add(b.onDidChangeTokens(a=>{this._onDidChangeTokens.fire(a.changes)})),a.store.add(b.onDidChangeBackgroundTokenization(a=>{this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()})))}))}getLineTokens(a){let b=this._tokenizationImpl.get();if(!b){let b=this._textModel.getLineContent(a);return aU.f7.createEmpty(b,this._languageIdCodec)}return b.getLineTokens(a)}todo_resetTokenization(a=!0){a&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}handleDidChangeAttached(){}handleDidChangeContent(a){if(a.isFlush)this.todo_resetTokenization(!1);else{let b=this._tokenizationImpl.get();b?.handleContentChanged(a)}let b=this._tree.get();b?.handleContentChange(a)}forceTokenization(a){let b=this._tokenizationImpl.get();b&&(b.hasAccurateTokensForLine(a)||b.tokenizeEncoded(a))}hasAccurateTokensForLine(a){let b=this._tokenizationImpl.get();return!!b&&b.hasAccurateTokensForLine(a)}isCheapToTokenize(a){return!0}getTokenTypeIfInsertingCharacter(a,b,c){return 0}tokenizeLinesAt(a,b){let c=this._tokenizationImpl.get();return c?c.tokenizeLinesAt(a,b):null}get hasTokens(){let a=this._tokenizationImpl.get();return!!a&&a.hasTokens()}};bB=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([bA(4,bz.t),bA(5,bb._Y)],bB);class bC{constructor(a){this._pieces=[],this._isComplete=!1,this._languageIdCodec=a}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(a,b,c){if(this._pieces=a||[],this._isComplete=b,c)for(let a of this._pieces)a.reportIfInvalid(c)}setPartial(a,b){let c=a;if(b.length>0){let d=b[0].getRange(),e=b[b.length-1].getRange();if(!d||!e)return a;c=a.plusRange(d).plusRange(e)}let d=null;for(let a=0,b=this._pieces.length;a<b;a++){let e=this._pieces[a];if(e.endLineNumber<c.startLineNumber)continue;if(e.startLineNumber>c.endLineNumber){d=d||{index:a};break}if(e.removeTokens(c),e.isEmpty()){this._pieces.splice(a,1),a--,b--;continue}if(e.endLineNumber<c.startLineNumber)continue;if(e.startLineNumber>c.endLineNumber){d=d||{index:a};continue}let[f,g]=e.split(c);if(f.isEmpty()){d=d||{index:a};continue}g.isEmpty()||(this._pieces.splice(a,1,f,g),a++,b++,d=d||{index:a})}return d=d||{index:this._pieces.length},b.length>0&&(this._pieces=g.nK(this._pieces,d.index,b)),c}isComplete(){return this._isComplete}addSparseTokens(a,b){if(0===b.getTextLength())return b;let c=this._pieces;if(0===c.length)return b;let d=bC._findFirstPieceWithLine(c,a),e=c[d].getLineTokens(a);if(!e)return b;let f=b.getCount(),g=e.getCount(),h=0,i=[],j=0,k=0,l=(a,b)=>{a!==k&&(k=a,i[j++]=a,i[j++]=b)};for(let a=0;a<g;a++){let c=Math.min(e.getStartCharacter(a),b.getTextLength()),d=Math.min(e.getEndCharacter(a),b.getTextLength()),g=e.getMetadata(a),i=((1&g?2048:0)|(2&g?4096:0)|(4&g?8192:0)|(8&g?16384:0)|(16&g?0xff8000:0)|(32&g?0xff000000:0))>>>0,j=~i>>>0;for(;h<f&&b.getEndOffset(h)<=c;)l(b.getEndOffset(h),b.getMetadata(h)),h++;for(h<f&&b.getStartOffset(h)<c&&l(c,b.getMetadata(h));h<f&&b.getEndOffset(h)<d;)l(b.getEndOffset(h),b.getMetadata(h)&j|g&i),h++;if(h<f)l(d,b.getMetadata(h)&j|g&i),b.getEndOffset(h)===d&&h++;else{let a=Math.min(Math.max(0,h-1),f-1);l(d,b.getMetadata(a)&j|g&i)}}for(;h<f;)l(b.getEndOffset(h),b.getMetadata(h)),h++;return new aU.f7(new Uint32Array(i),b.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(a,b){let c=0,d=a.length-1;for(;c<d;){let e=c+Math.floor((d-c)/2);if(a[e].endLineNumber<b)c=e+1;else if(a[e].startLineNumber>b)d=e-1;else{for(;e>c&&a[e-1].startLineNumber<=b&&b<=a[e-1].endLineNumber;)e--;return e}}return c}acceptEdit(a,b,c,d,e){for(let f of this._pieces)f.acceptEdit(a,b,c,d,e)}}var bD=c(42350);let bE=new Uint32Array(0).buffer;class bF{static deleteBeginning(a,b){return null===a||a===bE?a:bF.delete(a,0,b)}static deleteEnding(a,b){if(null===a||a===bE)return a;let c=bG(a),d=c[c.length-2];return bF.delete(a,b,d)}static delete(a,b,c){let d,e;if(null===a||a===bE||b===c)return a;let f=bG(a),g=f.length>>>1;if(0===b&&f[f.length-2]===c)return bE;let h=aU.f7.findIndexInTokensArray(f,b),i=h>0?f[h-1<<1]:0;if(c<f[h<<1]){let d=c-b;for(let a=h;a<g;a++)f[a<<1]-=d;return a}i!==b?(f[h<<1]=b,d=h+1<<1,e=b):(d=h<<1,e=i);let j=c-b;for(let a=h+1;a<g;a++){let b=f[a<<1]-j;b>e&&(f[d++]=b,f[d++]=f[(a<<1)+1],e=b)}if(d===f.length)return a;let k=new Uint32Array(d);return k.set(f.subarray(0,d),0),k.buffer}static append(a,b){if(b===bE)return a;if(a===bE)return b;if(null===a)return a;if(null===b)return null;let c=bG(a),d=bG(b),e=d.length>>>1,f=new Uint32Array(c.length+d.length);f.set(c,0);let g=c.length,h=c[c.length-2];for(let a=0;a<e;a++)f[g++]=d[a<<1]+h,f[g++]=d[(a<<1)+1];return f.buffer}static insert(a,b,c){if(null===a||a===bE)return a;let d=bG(a),e=d.length>>>1,f=aU.f7.findIndexInTokensArray(d,b);f>0&&d[f-1<<1]===b&&f--;for(let a=f;a<e;a++)d[a<<1]+=c;return a}}function bG(a){return a instanceof Uint32Array?a:new Uint32Array(a)}var bH=c(48268);class bI{constructor(a){this._lineTokens=[],this._len=0,this._languageIdCodec=a}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(a,b,c){let d=null;if(b<this._len&&(d=this._lineTokens[b]),null!==d&&d!==bE)return new aU.f7(bG(d),c,this._languageIdCodec);let e=new Uint32Array(2);return e[0]=c.length,e[1]=bJ(this._languageIdCodec.encodeLanguageId(a)),new aU.f7(e,c,this._languageIdCodec)}static _massageTokens(a,b,c){let d=c?bG(c):null;if(0===b){let b=!1;if(d&&d.length>1&&(b=bH.x.getLanguageId(d[1])!==a),!b)return bE}if(!d||0===d.length){let c=new Uint32Array(2);return c[0]=b,c[1]=bJ(a),c.buffer}return(d[d.length-2]=b,0===d.byteOffset&&d.byteLength===d.buffer.byteLength)?d.buffer:d}_ensureLine(a){for(;a>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(a,b){0!==b&&(a+b>this._len&&(b=this._len-a),this._lineTokens.splice(a,b),this._len-=b)}_insertLines(a,b){if(0===b)return;let c=[];for(let a=0;a<b;a++)c[a]=null;this._lineTokens=g.nK(this._lineTokens,a,c),this._len+=b}setTokens(a,b,c,d,e){let f=bI._massageTokens(this._languageIdCodec.encodeLanguageId(a),c,d);this._ensureLine(b);let g=this._lineTokens[b];return this._lineTokens[b]=f,!!e&&!bI._equals(g,f)}static _equals(a,b){if(!a||!b)return!a&&!b;let c=bG(a),d=bG(b);if(c.length!==d.length)return!1;for(let a=0,b=c.length;a<b;a++)if(c[a]!==d[a])return!1;return!0}acceptEdit(a,b,c){this._acceptDeleteRange(a),this._acceptInsertText(new p.y(a.startLineNumber,a.startColumn),b,c)}_acceptDeleteRange(a){let b=a.startLineNumber-1;if(b>=this._len)return;if(a.startLineNumber===a.endLineNumber){if(a.startColumn===a.endColumn)return;this._lineTokens[b]=bF.delete(this._lineTokens[b],a.startColumn-1,a.endColumn-1);return}this._lineTokens[b]=bF.deleteEnding(this._lineTokens[b],a.startColumn-1);let c=a.endLineNumber-1,d=null;c<this._len&&(d=bF.deleteBeginning(this._lineTokens[c],a.endColumn-1)),this._lineTokens[b]=bF.append(this._lineTokens[b],d),this._deleteLines(a.startLineNumber,a.endLineNumber-a.startLineNumber)}_acceptInsertText(a,b,c){if(0===b&&0===c)return;let d=a.lineNumber-1;if(!(d>=this._len)){if(0===b){this._lineTokens[d]=bF.insert(this._lineTokens[d],a.column-1,c);return}this._lineTokens[d]=bF.deleteEnding(this._lineTokens[d],a.column-1),this._lineTokens[d]=bF.insert(this._lineTokens[d],a.column-1,c),this._insertLines(a.lineNumber,b)}}setMultilineTokens(a,b){if(0===a.length)return{changes:[]};let c=[];for(let d=0,e=a.length;d<e;d++){let e=a[d],f=0,g=0,h=!1;for(let a=e.startLineNumber;a<=e.endLineNumber;a++)h?(this.setTokens(b.getLanguageId(),a-1,b.getLineLength(a),e.getLineTokens(a),!1),g=a):this.setTokens(b.getLanguageId(),a-1,b.getLineLength(a),e.getLineTokens(a),!0)&&(h=!0,f=a,g=a);h&&c.push({fromLineNumber:f,toLineNumber:g})}return{changes:c}}}function bJ(a){return(0|a|0x2008400)>>>0}class bK extends a1{constructor(a,b,c,d){super(a,b),this.getLanguageId=c,this._tokenizer=null,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new j.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new k.HE),this._tokens=new bI(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new k.HE),this._attachedViewStates=this._register(new k.$w),this._register(bD.dG.onDidChange(a=>{let b=this.getLanguageId();-1!==a.changedLanguages.indexOf(b)&&this.todo_resetTokenization()})),this.todo_resetTokenization(),this._register(d.onDidChangeVisibleRanges(({view:a,state:b})=>{if(b){let c=this._attachedViewStates.get(a);c||(c=new a0(()=>this.refreshRanges(c.lineRanges)),this._attachedViewStates.set(a,c)),c.handleStateChange(b)}else this._attachedViewStates.deleteAndDispose(a)}))}todo_resetTokenization(a=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new bl(this._textModel.getLineCount())),a&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});let[b,c]=(()=>{let a;if(this._textModel.isTooLargeForTokenization())return[null,null];let b=bD.dG.get(this.getLanguageId());if(!b)return[null,null];try{a=b.getInitialState()}catch(a){return(0,i.dz)(a),[null,null]}return[b,a]})();if(b&&c?this._tokenizer=new bj(this._textModel.getLineCount(),b,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){let a={setTokens:a=>{this.setTokens(a)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(a,b)=>{if(!this._tokenizer)return;let c=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==c&&a>=c&&this._tokenizer?.store.setEndState(a,b)}};b&&b.createBackgroundTokenizer&&!b.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=b.createBackgroundTokenizer(this._textModel,a)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new bp(this._tokenizer,a),this._defaultBackgroundTokenizer.handleChanges()),b?.backgroundTokenizerShouldOnlyVerifyTokens&&b.createBackgroundTokenizer?(this._debugBackgroundTokens=new bI(this._languageIdCodec),this._debugBackgroundStates=new bl(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=b.createBackgroundTokenizer(this._textModel,{setTokens:a=>{this._debugBackgroundTokens?.setMultilineTokens(a,this._textModel)},backgroundTokenizationFinished(){},setEndState:(a,b)=>{this._debugBackgroundStates?.setEndState(a,b)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(a){if(a.isFlush)this.todo_resetTokenization(!1);else if(!a.isEolChange){for(let b of a.changes){let[a,c]=(0,n.W)(b.text);this._tokens.acceptEdit(b.range,a,c),this._debugBackgroundTokens?.acceptEdit(b.range,a,c)}this._debugBackgroundStates?.acceptChanges(a.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(a.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(a){let{changes:b}=this._tokens.setMultilineTokens(a,this._textModel);return b.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:b}),{changes:b}}refreshAllVisibleLineTokens(){let a=aW.M.joinMany([...this._attachedViewStates].map(([a,b])=>b.lineRanges));this.refreshRanges(a)}refreshRanges(a){for(let b of a)this.refreshRange(b.startLineNumber,b.endLineNumberExclusive-1)}refreshRange(a,b){if(!this._tokenizer)return;a=Math.max(1,Math.min(this._textModel.getLineCount(),a)),b=Math.min(this._textModel.getLineCount(),b);let c=new bh,{heuristicTokens:d}=this._tokenizer.tokenizeHeuristically(c,a,b),e=this.setTokens(c.finalize());if(d)for(let a of e.changes)this._backgroundTokenizer.value?.requestTokens(a.fromLineNumber,a.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(a){let b=new bh;this._tokenizer?.updateTokensUntilLine(b,a),this.setTokens(b.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(a){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(a)}isCheapToTokenize(a){return!this._tokenizer||this._tokenizer.isCheapToTokenize(a)}getLineTokens(a){let b=this._textModel.getLineContent(a),c=this._tokens.getTokens(this._textModel.getLanguageId(),a-1,b);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>a&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>a){let d=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),a-1,b);!c.equals(d)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(a)}return c}getTokenTypeIfInsertingCharacter(a,b,c){if(!this._tokenizer)return 0;let d=this._textModel.validatePosition(new p.y(a,b));return this.forceTokenization(d.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(d,c)}tokenizeLinesAt(a,b){return this._tokenizer?(this.forceTokenization(a),this._tokenizer.tokenizeLinesAt(a,b)):null}get hasTokens(){return this._tokens.hasTokens}}var bL=function(a,b){return function(c,d){b(c,d,a)}};let bM=e=class extends aT._{constructor(a,b,c,d,e,f,g,h){super(),this._textModel=a,this._bracketPairsTextModelPart=b,this._languageId=c,this._attachedViews=d,this._languageService=e,this._languageConfigurationService=f,this._instantiationService=g,this._treeSitterLibraryService=h,this._languageIdObs=(0,aX.FY)(this,this._languageId),this._useTreeSitter=(0,aX.un)(this,a=>{let b=this._languageIdObs.read(a);return this._treeSitterLibraryService.supportsLanguage(b,a)}),this.tokens=(0,aX.un)(this,a=>{let b;return b=this._useTreeSitter.read(a)?a.store.add(this._instantiationService.createInstance(bB,this._languageIdObs,this._languageService.languageIdCodec,this._textModel,this._attachedViews.visibleLineRanges)):a.store.add(new bK(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews)),a.store.add(b.onDidChangeTokens(a=>{this._emitModelTokensChangedEvent(a)})),a.store.add(b.onDidChangeBackgroundTokenizationState(a=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),b});let i=!1;this.tokens.recomputeInitiallyAndOnChange(this._store,a=>{i&&a.todo_resetTokenization(),i=!0}),this._semanticTokens=new bC(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new j.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new j.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new j.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}handleLanguageConfigurationServiceChange(a){a.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(a){if(a.isFlush)this._semanticTokens.flush();else if(!a.isEolChange)for(let b of a.changes){let[a,c,d]=(0,n.W)(b.text);this._semanticTokens.acceptEdit(b.range,a,c,d,b.text.length>0?b.text.charCodeAt(0):0)}this.tokens.get().handleDidChangeContent(a)}handleDidChangeAttached(){this.tokens.get().handleDidChangeAttached()}getLineTokens(a){this.validateLineNumber(a);let b=this.tokens.get().getLineTokens(a);return this._semanticTokens.addSparseTokens(a,b)}_emitModelTokensChangedEvent(a){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(a),this._onDidChangeTokens.fire(a))}validateLineNumber(a){if(a<1||a>this._textModel.getLineCount())throw new i.D7("Illegal value for lineNumber")}get hasTokens(){return this.tokens.get().hasTokens}resetTokenization(){this.tokens.get().todo_resetTokenization()}get backgroundTokenizationState(){return this.tokens.get().backgroundTokenizationState}forceTokenization(a){this.validateLineNumber(a),this.tokens.get().forceTokenization(a)}hasAccurateTokensForLine(a){return this.validateLineNumber(a),this.tokens.get().hasAccurateTokensForLine(a)}isCheapToTokenize(a){return this.validateLineNumber(a),this.tokens.get().isCheapToTokenize(a)}tokenizeIfCheap(a){this.validateLineNumber(a),this.tokens.get().tokenizeIfCheap(a)}getTokenTypeIfInsertingCharacter(a,b,c){return this.tokens.get().getTokenTypeIfInsertingCharacter(a,b,c)}tokenizeLinesAt(a,b){return this.tokens.get().tokenizeLinesAt(a,b)}setSemanticTokens(a,b){this._semanticTokens.set(a,b,this._textModel),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==a,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(a,b){if(this.hasCompleteSemanticTokens())return;let c=this._textModel.validateRange(this._semanticTokens.setPartial(a,b));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:c.startLineNumber,toLineNumber:c.endLineNumber}]})}getWordAtPosition(a){this.assertNotDisposed();let b=this._textModel.validatePosition(a),c=this._textModel.getLineContent(b.lineNumber),d=this.getLineTokens(b.lineNumber),f=d.findTokenIndexAtOffset(b.column-1),[g,h]=e._findLanguageBoundaries(d,f),i=(0,aS.Th)(b.column,this.getLanguageConfiguration(d.getLanguageId(f)).getWordDefinition(),c.substring(g,h),g);if(i&&i.startColumn<=a.column&&a.column<=i.endColumn)return i;if(f>0&&g===b.column-1){let[g,h]=e._findLanguageBoundaries(d,f-1),i=(0,aS.Th)(b.column,this.getLanguageConfiguration(d.getLanguageId(f-1)).getWordDefinition(),c.substring(g,h),g);if(i&&i.startColumn<=a.column&&a.column<=i.endColumn)return i}return null}getLanguageConfiguration(a){return this._languageConfigurationService.getLanguageConfiguration(a)}static _findLanguageBoundaries(a,b){let c=a.getLanguageId(b),d=0;for(let e=b;e>=0&&a.getLanguageId(e)===c;e--)d=a.getStartOffset(e);let e=a.getLineContent().length;for(let d=b,f=a.getCount();d<f&&a.getLanguageId(d)===c;d++)e=a.getEndOffset(d);return[d,e]}getWordUntilPosition(a){let b=this.getWordAtPosition(a);return b?{word:b.word.substr(0,a.column-b.startColumn),startColumn:b.startColumn,endColumn:a.column}:{word:"",startColumn:a.column,endColumn:a.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(a,b){let c=this._textModel.validatePosition(new p.y(a,b)),d=this.getLineTokens(c.lineNumber);return d.getLanguageId(d.findTokenIndexAtOffset(c.column-1))}setLanguageId(a,b="api"){if(this._languageId===a)return;let c={oldLanguage:this._languageId,newLanguage:a,source:b};this._languageId=a,this._languageIdObs.set(a,void 0),this._bracketPairsTextModelPart.handleDidChangeLanguage(c),this._onDidChangeLanguage.fire(c),this._onDidChangeLanguageConfiguration.fire({})}};bM=e=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([bL(4,t.L),bL(5,u.JZ),bL(6,bb._Y),bL(7,bz.t)],bM);var bN=c(71760),bO=c(89535),bP=c(20715),bQ=c(42715),bR=function(a,b){return function(c,d){b(c,d,a)}};function bS(a,b){return("string"==typeof a?function(a){let b=new aR;return b.acceptChunk(a),b.finish()}(a):v.nk(a)?function(a){let b,c=new aR;for(;"string"==typeof(b=a.read());)c.acceptChunk(b);return c.finish()}(a):a).create(b)}let bT=0;class bU{constructor(a){this._source=a,this._eos=!1}read(){if(this._eos)return null;let a=[],b=0,c=0;for(;;){let d=this._source.read();if(null===d){if(this._eos=!0,0===b)return null;return a.join("")}if(d.length>0&&(a[b++]=d,c+=d.length),c>=65536)return a.join("")}}}let bV=()=>{throw Error("Invalid change accessor")},bW=class extends k.jG{static{f=this}static{this._MODEL_SYNC_LIMIT=0x3200000}static{this.LARGE_FILE_SIZE_THRESHOLD=0x1400000}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=0x10000000}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:s.R.tabSize,indentSize:s.R.indentSize,insertSpaces:s.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:s.R.trimAutoWhitespace,largeFileOptimizations:s.R.largeFileOptimizations,bracketPairColorizationOptions:s.R.bracketPairColorizationOptions}}static resolveOptions(a,b){if(b.detectIndentation){let c=V(a,b.tabSize,b.insertSpaces);return new v.X2({tabSize:c.tabSize,indentSize:"tabSize",insertSpaces:c.insertSpaces,trimAutoWhitespace:b.trimAutoWhitespace,defaultEOL:b.defaultEOL,bracketPairColorizationOptions:b.bracketPairColorizationOptions})}return new v.X2(b)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}get onDidChangeOptions(){return this._onDidChangeOptions.event}get onDidChangeAttached(){return this._onDidChangeAttached.event}get onDidChangeLineHeight(){return this._onDidChangeLineHeight.event}get onDidChangeFont(){return this._onDidChangeFont.event}onDidChangeContent(a){return this._eventEmitter.slowEvent(b=>a(b.contentChangedEvent))}onDidChangeContentOrInjectedText(a){return(0,k.qE)(this._eventEmitter.fastEvent(b=>a(b)),this._onDidChangeInjectedText.event(b=>a(b)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(a,b,c,d=null,e,g,h,i){super(),this._undoRedoService=e,this._languageService=g,this._languageConfigurationService=h,this.instantiationService=i,this._onWillDispose=this._register(new j.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ca((a,b,c)=>this.handleBeforeFireDecorationsChangedEvent(a,b,c))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new j.vl),this._onDidChangeAttached=this._register(new j.vl),this._onDidChangeInjectedText=this._register(new j.vl),this._onDidChangeLineHeight=this._register(new j.vl),this._onDidChangeFont=this._register(new j.vl),this._eventEmitter=this._register(new cb),this._languageSelectionListener=this._register(new k.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new aZ,bT++,this.id="$model"+bT,this.isForSimpleWidget=c.isForSimpleWidget,null==d?this._associatedResource=m.r.parse("inmemory://model/"+bT):this._associatedResource=d,this._attachedEditorCount=0;let{textBuffer:n,disposable:o}=bS(a,c.defaultEOL);this._buffer=n,this._bufferDisposable=o;let p=this._buffer.getLineCount(),r=this._buffer.getValueLengthInRange(new q.Q(1,1,p,this._buffer.getLineLength(p)+1),0);c.largeFileOptimizations?(this._isTooLargeForTokenization=r>f.LARGE_FILE_SIZE_THRESHOLD||p>f.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=r>f.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._options=f.resolveOptions(this._buffer,c);let s="string"==typeof b?b:b.languageId;"string"!=typeof b&&(this._languageSelectionListener.value=b.onDidChange(()=>this._setLanguage(b.languageId))),this._bracketPairs=this._register(new K(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new T.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Q(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(bM,this,this._bracketPairs,s,this._attachedViews),this._isTooLargeForSyncing=r>f._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l.tk(bT),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new b$,this._commandManager=new S.z8(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(s),this._register(this._languageConfigurationService.onDidChange(a=>{this._bracketPairs.handleLanguageConfigurationServiceChange(a),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(a)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;let a=new aP([],"","\n",!1,!1,!0,!0);a.dispose(),this._buffer=a,this._bufferDisposable=k.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new i.D7("Model is disposed!")}getTextBuffer(){return this._assertNotDisposed(),this._buffer}_emitContentChangedEvent(a,b){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(b),this._bracketPairs.handleDidChangeContent(b),this._eventEmitter.fire(new bN.Ic(a,b)))}setValue(a,b=bQ.dg.setValue()){if(this._assertNotDisposed(),null==a)throw(0,i.Qg)();let{textBuffer:c,disposable:d}=bS(a,this._options.defaultEOL);this._setValueFromTextBuffer(c,d,b)}_createContentChanged2(a,b,c,d,e,f,g,h,i,j){return{changes:[{range:a,rangeOffset:b,rangeLength:c,text:e}],eol:this._buffer.getEOL(),isEolChange:i,versionId:this.getVersionId(),isUndoing:f,isRedoing:g,isFlush:h,detailedReasons:[j],detailedReasonsChangeLengths:[1]}}_setValueFromTextBuffer(a,b,c){this._assertNotDisposed();let d=this.getFullModelRange(),e=this.getValueLengthInRange(d),f=this.getLineCount(),g=this.getLineMaxColumn(f);this._buffer=a,this._bufferDisposable.dispose(),this._bufferDisposable=b,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new b$,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new bN.HP([new bN.Wn],this._versionId,!1,!1),this._createContentChanged2(new q.Q(1,1,f,g),0,e,new p.y(f,g),this.getValue(),!1,!1,!0,!1,c))}setEOL(a){this._assertNotDisposed();let b=1===a?"\r\n":"\n";if(this._buffer.getEOL()===b)return;let c=this.getFullModelRange(),d=this.getValueLengthInRange(c),e=this.getLineCount(),f=this.getLineMaxColumn(e);this._onBeforeEOLChange(),this._buffer.setEOL(b),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new bN.HP([new bN.mS],this._versionId,!1,!1),this._createContentChanged2(new q.Q(1,1,e,f),0,d,new p.y(e,f),this.getValue(),!1,!1,!1,!0,bQ.dg.eolChange()))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){let a=this.getVersionId(),b=this._decorationsTree.collectNodesPostOrder();for(let c=0,d=b.length;c<d;c++){let d=b[c],e=d.range,f=d.cachedAbsoluteStart-d.start,g=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),h=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);d.cachedAbsoluteStart=g,d.cachedAbsoluteEnd=h,d.cachedVersionId=a,d.start=g-f,d.end=h-f,aq(d)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(a){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(a)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let a=0,b=0,c=this._buffer.getLineCount();for(let d=1;d<=c;d++){let c=this._buffer.getLineLength(d);c>=1e4?b+=c:a+=c}return b>a}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(a){this._assertNotDisposed();let b=void 0!==a.tabSize?a.tabSize:this._options.tabSize,c=void 0!==a.indentSize?a.indentSize:this._options.originalIndentSize,d=void 0!==a.insertSpaces?a.insertSpaces:this._options.insertSpaces,e=void 0!==a.trimAutoWhitespace?a.trimAutoWhitespace:this._options.trimAutoWhitespace,f=void 0!==a.bracketColorizationOptions?a.bracketColorizationOptions:this._options.bracketPairColorizationOptions,g=new v.X2({tabSize:b,indentSize:c,insertSpaces:d,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:e,bracketPairColorizationOptions:f});if(this._options.equals(g))return;let h=this._options.createChangeEvent(g);this._options=g,this._bracketPairs.handleDidChangeOptions(h),this._decorationProvider.handleDidChangeOptions(h),this._onDidChangeOptions.fire(h)}detectIndentation(a,b){this._assertNotDisposed();let c=V(this._buffer,b,a);this.updateOptions({insertSpaces:c.insertSpaces,tabSize:c.tabSize,indentSize:c.tabSize})}normalizeIndentation(a){return this._assertNotDisposed(),(0,o.P)(a,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(a=null){let b=this.findMatches(l._J.source,!1,!0,!1,null,!1,0x40000000);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(a,b.map(a=>({range:a.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(a){this._assertNotDisposed();let b=this._validatePosition(a.lineNumber,a.column,0);return this._buffer.getOffsetAt(b.lineNumber,b.column)}getPositionAt(a){this._assertNotDisposed();let b=Math.min(this._buffer.getLength(),Math.max(0,a));return this._buffer.getPositionAt(b)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(a){this._versionId=a}_overwriteAlternativeVersionId(a){this._alternativeVersionId=a}_overwriteInitialUndoRedoSnapshot(a){this._initialUndoRedoSnapshot=a}getValue(a,b=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new i.D7("Operation would exceed heap memory limits");let c=this.getFullModelRange(),d=this.getValueInRange(c,a);return b?this._buffer.getBOM()+d:d}createSnapshot(a=!1){return new bU(this._buffer.createSnapshot(a))}getValueLength(a,b=!1){this._assertNotDisposed();let c=this.getFullModelRange(),d=this.getValueLengthInRange(c,a);return b?this._buffer.getBOM().length+d:d}getValueInRange(a,b=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(a),b)}getValueLengthInRange(a,b=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(a),b)}getCharacterCountInRange(a,b=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(a),b)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineContent(a)}getLineLength(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineLength(a)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new i.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),+("\n"!==this._buffer.getEOL())}getLineMinColumn(a){return this._assertNotDisposed(),1}getLineMaxColumn(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineLength(a)+1}getLineFirstNonWhitespaceColumn(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(a)}getLineLastNonWhitespaceColumn(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(a)}_validateRangeRelaxedNoAllocations(a){let b=this._buffer.getLineCount(),c=a.startLineNumber,d=a.startColumn,e=Math.floor("number"!=typeof c||isNaN(c)?1:c),f=Math.floor("number"!=typeof d||isNaN(d)?1:d);if(e<1)e=1,f=1;else if(e>b)e=b,f=this.getLineMaxColumn(e);else if(f<=1)f=1;else{let a=this.getLineMaxColumn(e);f>=a&&(f=a)}let g=a.endLineNumber,h=a.endColumn,i=Math.floor("number"!=typeof g||isNaN(g)?1:g),j=Math.floor("number"!=typeof h||isNaN(h)?1:h);if(i<1)i=1,j=1;else if(i>b)i=b,j=this.getLineMaxColumn(i);else if(j<=1)j=1;else{let a=this.getLineMaxColumn(i);j>=a&&(j=a)}return c===e&&d===f&&g===i&&h===j&&a instanceof q.Q&&!(a instanceof r.L)?a:new q.Q(e,f,i,j)}_isValidPosition(a,b,c){if("number"!=typeof a||"number"!=typeof b||isNaN(a)||isNaN(b)||a<1||b<1||(0|a)!==a||(0|b)!==b||a>this._buffer.getLineCount())return!1;if(1===b)return!0;if(b>this.getLineMaxColumn(a))return!1;if(1===c){let c=this._buffer.getLineCharCode(a,b-2);if(l.pc(c))return!1}return!0}_validatePosition(a,b,c){let d=Math.floor("number"!=typeof a||isNaN(a)?1:a),e=Math.floor("number"!=typeof b||isNaN(b)?1:b),f=this._buffer.getLineCount();if(d<1)return new p.y(1,1);if(d>f)return new p.y(f,this.getLineMaxColumn(f));if(e<=1)return new p.y(d,1);let g=this.getLineMaxColumn(d);if(e>=g)return new p.y(d,g);if(1===c){let a=this._buffer.getLineCharCode(d,e-2);if(l.pc(a))return new p.y(d,e-1)}return new p.y(d,e)}validatePosition(a){return(this._assertNotDisposed(),a instanceof p.y&&this._isValidPosition(a.lineNumber,a.column,1))?a:this._validatePosition(a.lineNumber,a.column,1)}isValidRange(a){return this._isValidRange(a,1)}_isValidRange(a,b){let c=a.startLineNumber,d=a.startColumn,e=a.endLineNumber,f=a.endColumn;if(!this._isValidPosition(c,d,0)||!this._isValidPosition(e,f,0))return!1;if(1===b){let a=d>1?this._buffer.getLineCharCode(c,d-2):0,b=f>1&&f<=this._buffer.getLineLength(e)?this._buffer.getLineCharCode(e,f-2):0,g=l.pc(a),h=l.pc(b);return!g&&!h}return!0}validateRange(a){if(this._assertNotDisposed(),a instanceof q.Q&&!(a instanceof r.L)&&this._isValidRange(a,1))return a;let b=this._validatePosition(a.startLineNumber,a.startColumn,0),c=this._validatePosition(a.endLineNumber,a.endColumn,0),d=b.lineNumber,e=b.column,f=c.lineNumber,g=c.column;{let a=e>1?this._buffer.getLineCharCode(d,e-2):0,b=g>1&&g<=this._buffer.getLineLength(f)?this._buffer.getLineCharCode(f,g-2):0,c=l.pc(a),h=l.pc(b);return c||h?d===f&&e===g?new q.Q(d,e-1,f,g-1):c&&h?new q.Q(d,e-1,f,g+1):c?new q.Q(d,e-1,f,g):new q.Q(d,e,f,g+1):new q.Q(d,e,f,g)}}modifyPosition(a,b){this._assertNotDisposed();let c=this.getOffsetAt(a)+b;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,c)))}getFullModelRange(){this._assertNotDisposed();let a=this.getLineCount();return new q.Q(1,1,a,this.getLineMaxColumn(a))}findMatchesLineByLine(a,b,c,d){return this._buffer.findMatchesLineByLine(a,b,c,d)}findMatches(a,b,c,d,e,f,g=999){let h;this._assertNotDisposed();let i=null;null!==b&&(Array.isArray(b)||(b=[b]),b.every(a=>q.Q.isIRange(a))&&(i=b.map(a=>this.validateRange(a)))),null===i&&(i=[this.getFullModelRange()]),i=i.sort((a,b)=>a.startLineNumber-b.startLineNumber||a.startColumn-b.startColumn);let j=[];if(j.push(i.reduce((a,b)=>q.Q.areIntersecting(a,b)?a.plusRange(b):(j.push(a),b))),!c&&0>a.indexOf("\n")){let b=new aF.lt(a,c,d,e).parseSearchRequest();if(!b)return[];h=a=>this.findMatchesLineByLine(a,b,f,g)}else h=b=>aF.hB.findMatches(this,new aF.lt(a,c,d,e),b,f,g);return j.map(h).reduce((a,b)=>a.concat(b),[])}findNextMatch(a,b,c,d,e,f){this._assertNotDisposed();let g=this.validatePosition(b);if(!c&&0>a.indexOf("\n")){let b=new aF.lt(a,c,d,e).parseSearchRequest();if(!b)return null;let h=this.getLineCount(),i=new q.Q(g.lineNumber,g.column,h,this.getLineMaxColumn(h)),j=this.findMatchesLineByLine(i,b,f,1);return(aF.hB.findNextMatch(this,new aF.lt(a,c,d,e),g,f),j.length>0||(i=new q.Q(1,1,g.lineNumber,this.getLineMaxColumn(g.lineNumber)),(j=this.findMatchesLineByLine(i,b,f,1)).length>0))?j[0]:null}return aF.hB.findNextMatch(this,new aF.lt(a,c,d,e),g,f)}findPreviousMatch(a,b,c,d,e,f){this._assertNotDisposed();let g=this.validatePosition(b);return aF.hB.findPreviousMatch(this,new aF.lt(a,c,d,e),g,f)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(a){if(+("\n"!==this.getEOL())!==a)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(a)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(a){return a instanceof v.Wo?a:new v.Wo(a.identifier||null,this.validateRange(a.range),a.text,a.forceMoveMarkers||!1,a.isAutoWhitespaceEdit||!1,a._isTracked||!1)}_validateEditOperations(a){let b=[];for(let c=0,d=a.length;c<d;c++)b[c]=this._validateEditOperation(a[c]);return b}pushEditOperations(a,b,c,d,e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(a,this._validateEditOperations(b),c,d,e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(a,b,c,d,e){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let c=b.map(a=>({range:this.validateRange(a.range),text:a.text})),d=!0;if(a)for(let b=0,e=a.length;b<e;b++){let e=a[b],f=!1;for(let a=0,b=c.length;a<b;a++){let b=c[a].range,d=b.startLineNumber>e.endLineNumber,g=e.startLineNumber>b.endLineNumber;if(!d&&!g){f=!0;break}}if(!f){d=!1;break}}if(d)for(let a=0,d=this._trimAutoWhitespaceLines.length;a<d;a++){let d=this._trimAutoWhitespaceLines[a],e=this.getLineMaxColumn(d),f=!0;for(let a=0,b=c.length;a<b;a++){let b=c[a].range,g=c[a].text;if(!(d<b.startLineNumber||d>b.endLineNumber||d===b.startLineNumber&&b.startColumn===e&&b.isEmpty()&&g&&g.length>0&&"\n"===g.charAt(0))&&(!(d===b.startLineNumber&&1===b.startColumn&&b.isEmpty())||!g||!(g.length>0)||"\n"!==g.charAt(g.length-1))){f=!1;break}}if(f){let a=new q.Q(d,1,d,e);b.push(new v.Wo(null,a,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(a,b,c,d,e)}_applyUndo(a,b,c,d){let e=a.map(a=>{let b=this.getPositionAt(a.newPosition),c=this.getPositionAt(a.newEnd);return{range:new q.Q(b.lineNumber,b.column,c.lineNumber,c.column),text:a.oldText}});this._applyUndoRedoEdits(e,b,!0,!1,c,d)}_applyRedo(a,b,c,d){let e=a.map(a=>{let b=this.getPositionAt(a.oldPosition),c=this.getPositionAt(a.oldEnd);return{range:new q.Q(b.lineNumber,b.column,c.lineNumber,c.column),text:a.newText}});this._applyUndoRedoEdits(e,b,!1,!0,c,d)}_applyUndoRedoEdits(a,b,c,d,e,f){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=c,this._isRedoing=d,this.applyEdits(a,!1),this.setEOL(b),this._overwriteAlternativeVersionId(e)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(f),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(a,b,c){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let d=this._validateEditOperations(a);return this._doApplyEdits(d,b??!1,c??bQ.dg.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(a,b,c){let d=this._buffer.getLineCount(),e=this._buffer.applyEdits(a,this._options.trimAutoWhitespace,b),f=this._buffer.getLineCount(),h=e.changes;if(this._trimAutoWhitespaceLines=e.trimAutoWhitespaceLineNumbers,0!==h.length){for(let a=0,b=h.length;a<b;a++){let b=h[a];this._decorationsTree.acceptReplace(b.rangeOffset,b.rangeLength,b.text.length,b.forceMoveMarkers)}let a=[];this._increaseVersionId();let b=d;for(let c=0,d=h.length;c<d;c++){let d=h[c],[e]=(0,n.W)(d.text);this._onDidChangeDecorations.fire();let i=d.range.startLineNumber,j=d.range.endLineNumber,k=j-i,l=Math.min(k,e),m=e-k,o=f-b-m+i,q=o+e,r=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new p.y(o,1)),this.getOffsetAt(new p.y(q,this.getLineMaxColumn(q))),0),s=bN.uK.fromDecorations(r),t=new g.j3(s);for(let b=l;b>=0;b--){let c=i+b,d=o+b;t.takeFromEndWhile(a=>a.lineNumber>d);let e=t.takeFromEndWhile(a=>a.lineNumber===d);a.push(new bN.U0(c,this.getLineContent(d),e))}if(l<k){let b=i+l;a.push(new bN.E$(b+1,j))}if(l<e){let c=new g.j3(s),d=i+l,h=e-l,j=f-b-h+d+1,k=[],m=[];for(let a=0;a<h;a++){let b=j+a;m[a]=this.getLineContent(b),c.takeWhile(a=>a.lineNumber<b),k[a]=c.takeWhile(a=>a.lineNumber===b)}a.push(new bN.bg(d+1,i+e,m,k))}b+=m}this._emitContentChangedEvent(new bN.HP(a,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:h,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[c],detailedReasonsChangeLengths:[h.length]})}return null===e.reverseEdits?void 0:e.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(a,b,c){if(a&&a.size>0){let b=Array.from(a).map(a=>new bN.U0(a,this.getLineContent(a),this._getInjectedTextInLine(a)));this._onDidChangeInjectedText.fire(new bN.vn(b))}if(b&&b.size>0){let a=Array.from(b).map(a=>new bN.Nw(a.ownerId,a.decorationId,a.lineNumber,a.lineHeight));this._onDidChangeLineHeight.fire(new bN.zq(a))}if(c&&c.size>0){let a=Array.from(c).map(a=>new bN.vD(a.ownerId,a.lineNumber));this._onDidChangeFont.fire(new bN.dT(a))}}changeDecorations(a,b=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(b,a)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(a,b){let c={addDecoration:(b,c)=>this._deltaDecorationsImpl(a,[],[{range:b,options:c}])[0],changeDecoration:(b,c)=>{this._changeDecorationImpl(a,b,c)},changeDecorationOptions:(b,c)=>{this._changeDecorationOptionsImpl(a,b,b7(c))},removeDecoration:b=>{this._deltaDecorationsImpl(a,[b],[])},deltaDecorations:(b,c)=>0===b.length&&0===c.length?[]:this._deltaDecorationsImpl(a,b,c)},d=null;try{d=b(c)}catch(a){(0,i.dz)(a)}return c.addDecoration=bV,c.changeDecoration=bV,c.changeDecorationOptions=bV,c.removeDecoration=bV,c.deltaDecorations=bV,d}deltaDecorations(a,b,c=0){if(this._assertNotDisposed(),a||(a=[]),0===a.length&&0===b.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,i.dz)(Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(c,a,b)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(a){return this.getDecorationRange(a)}_setTrackedRange(a,b,c){let d=a?this._decorations[a]:null;if(!d)return b?this._deltaDecorationsImpl(0,[],[{range:b,options:b6[c]}],!0)[0]:null;if(!b)return this._decorationsTree.delete(d),delete this._decorations[d.id],null;let e=this._validateRangeRelaxedNoAllocations(b),f=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),g=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.delete(d),d.reset(this.getVersionId(),f,g,e),d.setOptions(b6[c]),this._decorationsTree.insert(d),d.id}removeAllDecorationsWithOwnerId(a){if(this._isDisposed)return;let b=this._decorationsTree.collectNodesFromOwner(a);for(let a=0,c=b.length;a<c;a++){let c=b[a];this._decorationsTree.delete(c),delete this._decorations[c.id]}}getDecorationOptions(a){let b=this._decorations[a];return b?b.options:null}getDecorationRange(a){let b=this._decorations[a];return b?this._decorationsTree.getNodeRange(this,b):null}getLineDecorations(a,b=0,c=!1,d=!1){return a<1||a>this.getLineCount()?[]:this.getLinesDecorations(a,a,b,c,d)}getLinesDecorations(a,b,c=0,d=!1,e=!1,f=!1){let h=this.getLineCount(),i=Math.min(h,Math.max(1,a)),j=Math.min(h,Math.max(1,b)),k=this.getLineMaxColumn(j),l=new q.Q(i,1,j,k),m=this._getDecorationsInRange(l,c,d,e,f);return(0,g.E4)(m,this._decorationProvider.getDecorationsInRange(l,c,d)),m}getDecorationsInRange(a,b=0,c=!1,d=!1,e=!1,f=!1){let h=this.validateRange(a),i=this._getDecorationsInRange(h,b,c,d,f);return(0,g.E4)(i,this._decorationProvider.getDecorationsInRange(h,b,c,e)),i}getOverviewRulerDecorations(a=0,b=!1,c=!1){return this._decorationsTree.getAll(this,a,b,c,!0,!1)}getInjectedTextDecorations(a=0){return this._decorationsTree.getAllInjectedText(this,a)}getCustomLineHeightsDecorations(a=0){return this._decorationsTree.getAllCustomLineHeights(this,a)}_getInjectedTextInLine(a){let b=this._buffer.getOffsetAt(a,1),c=b+this._buffer.getLineLength(a),d=this._decorationsTree.getInjectedTextInInterval(this,b,c,0);return bN.uK.fromDecorations(d).filter(b=>b.lineNumber===a)}getFontDecorationsInRange(a,b=0){let c=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),d=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,c,d,b)}getAllDecorations(a=0,b=!1,c=!1){let d=this._decorationsTree.getAll(this,a,b,c,!1,!1);return d.concat(this._decorationProvider.getAllDecorations(a,b))}getAllMarginDecorations(a=0){return this._decorationsTree.getAll(this,a,!1,!1,!1,!0)}_getDecorationsInRange(a,b,c,d,e){let f=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),g=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);return this._decorationsTree.getAllInInterval(this,f,g,b,c,d,e)}getRangeAt(a,b){return this._buffer.getRangeAt(a,b-a)}_changeDecorationImpl(a,b,c){let d=this._decorations[b];if(!d)return;if(d.options.after){let a=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(d.options.before){let a=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}if(null!==d.options.lineHeight){let c=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,b,c.startLineNumber,null)}if(d.options.affectsFont){let c=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByFontChange(a,d.id,c.startLineNumber)}let e=this._validateRangeRelaxedNoAllocations(c),f=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),g=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);this._decorationsTree.delete(d),d.reset(this.getVersionId(),f,g,e),this._decorationsTree.insert(d),this._onDidChangeDecorations.checkAffectedAndFire(d.options),d.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber),d.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber),null!==d.options.lineHeight&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,b,e.startLineNumber,d.options.lineHeight),d.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(a,d.id,e.startLineNumber)}_changeDecorationOptionsImpl(a,b,c){var d;let e=this._decorations[b];if(!e)return;let f=!!e.options.overviewRuler&&!!e.options.overviewRuler.color,g=!!c.overviewRuler&&!!c.overviewRuler.color;if(this._onDidChangeDecorations.checkAffectedAndFire(e.options),this._onDidChangeDecorations.checkAffectedAndFire(c),e.options.after||c.after){let a=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(e.options.before||c.before){let a=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}if(null!==e.options.lineHeight||null!==c.lineHeight){let d=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,b,d.startLineNumber,c.lineHeight)}if(e.options.affectsFont||c.affectsFont){let c=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByFontChange(a,b,c.startLineNumber)}let h=(!!(d=c).after||!!d.before)!==bZ(e);f!==g||h?(this._decorationsTree.delete(e),e.setOptions(c),this._decorationsTree.insert(e)):e.setOptions(c)}_deltaDecorationsImpl(a,b,c,d=!1){let e=this.getVersionId(),f=b.length,g=0,h=c.length,i=0;this._onDidChangeDecorations.beginDeferredEmit();try{let j=Array(h);for(;g<f||i<h;){let k=null;if(g<f){let c;do c=b[g++],k=this._decorations[c];while(!k&&g<f);if(k){if(k.options.after){let a=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(k.options.before){let a=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}if(null!==k.options.lineHeight){let b=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,c,b.startLineNumber,null)}if(k.options.affectsFont){let b=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByFontChange(a,c,b.startLineNumber)}this._decorationsTree.delete(k),d||this._onDidChangeDecorations.checkAffectedAndFire(k.options)}}if(i<h){if(!k){let a=++this._lastDecorationId,b=`${this._instanceId};${a}`;k=new ag(b,0,0),this._decorations[b]=k}let b=c[i],f=this._validateRangeRelaxedNoAllocations(b.range),g=b7(b.options),h=this._buffer.getOffsetAt(f.startLineNumber,f.startColumn),l=this._buffer.getOffsetAt(f.endLineNumber,f.endColumn);k.ownerId=a,k.reset(e,h,l,f),k.setOptions(g),k.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(f.endLineNumber),k.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(f.startLineNumber),null!==k.options.lineHeight&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,k.id,f.startLineNumber,k.options.lineHeight),k.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(a,k.id,f.startLineNumber),d||this._onDidChangeDecorations.checkAffectedAndFire(g),this._decorationsTree.insert(k),j[i]=k.id,i++}else k&&delete this._decorations[k.id]}return j}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(a,b){"string"==typeof a?(this._languageSelectionListener.clear(),this._setLanguage(a,b)):(this._languageSelectionListener.value=a.onDidChange(()=>this._setLanguage(a.languageId,b)),this._setLanguage(a.languageId,b))}_setLanguage(a,b){this.tokenization.setLanguageId(a,b),this._languageService.requestRichLanguageFeatures(a)}getLanguageIdAtPosition(a,b){return this.tokenization.getLanguageIdAtPosition(a,b)}getWordAtPosition(a){return this._tokenizationTextModelPart.getWordAtPosition(a)}getWordUntilPosition(a){return this._tokenizationTextModelPart.getWordUntilPosition(a)}normalizePosition(a,b){return a}getLineIndentColumn(a){return bX(this.getLineContent(a))+1}toString(){return`TextModel(${this.uri.toString()})`}};function bX(a){let b=0;for(let c of a)if(" "===c||" "===c)b++;else break;return b}function bY(a){return!!a.options.overviewRuler&&!!a.options.overviewRuler.color}function bZ(a){return!!a.options.after||!!a.options.before}bW=f=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([bR(4,bO.$D),bR(5,t.L),bR(6,u.JZ),bR(7,bb._Y)],bW);class b${constructor(){this._decorationsTree0=new ai,this._decorationsTree1=new ai,this._injectedTextDecorationsTree=new ai}ensureAllNodesHaveRanges(a){this.getAll(a,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(a,b){for(let c of b)null===c.range&&(c.range=a.getRangeAt(c.cachedAbsoluteStart,c.cachedAbsoluteEnd));return b}getAllInInterval(a,b,c,d,e,f,g){let h=a.getVersionId(),i=this._intervalSearch(b,c,d,e,f,h,g);return this._ensureNodesHaveRanges(a,i)}_intervalSearch(a,b,c,d,e,f,g){let h=this._decorationsTree0.intervalSearch(a,b,c,d,e,f,g),i=this._decorationsTree1.intervalSearch(a,b,c,d,e,f,g),j=this._injectedTextDecorationsTree.intervalSearch(a,b,c,d,e,f,g);return h.concat(i).concat(j)}getInjectedTextInInterval(a,b,c,d){let e=a.getVersionId(),f=this._injectedTextDecorationsTree.intervalSearch(b,c,d,!1,!1,e,!1);return this._ensureNodesHaveRanges(a,f).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getFontDecorationsInInterval(a,b,c,d){let e=a.getVersionId(),f=this._decorationsTree0.intervalSearch(b,c,d,!1,!1,e,!1);return this._ensureNodesHaveRanges(a,f).filter(a=>a.options.affectsFont)}getAllInjectedText(a,b){let c=a.getVersionId(),d=this._injectedTextDecorationsTree.search(b,!1,!1,c,!1);return this._ensureNodesHaveRanges(a,d).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getAllCustomLineHeights(a,b){let c=a.getVersionId(),d=this._search(b,!1,!1,!1,c,!1);return this._ensureNodesHaveRanges(a,d).filter(a=>"number"==typeof a.options.lineHeight)}getAll(a,b,c,d,e,f){let g=a.getVersionId(),h=this._search(b,c,d,e,g,f);return this._ensureNodesHaveRanges(a,h)}_search(a,b,c,d,e,f){if(d)return this._decorationsTree1.search(a,b,c,e,f);{let d=this._decorationsTree0.search(a,b,c,e,f),g=this._decorationsTree1.search(a,b,c,e,f),h=this._injectedTextDecorationsTree.search(a,b,c,e,f);return d.concat(g).concat(h)}}collectNodesFromOwner(a){let b=this._decorationsTree0.collectNodesFromOwner(a),c=this._decorationsTree1.collectNodesFromOwner(a),d=this._injectedTextDecorationsTree.collectNodesFromOwner(a);return b.concat(c).concat(d)}collectNodesPostOrder(){let a=this._decorationsTree0.collectNodesPostOrder(),b=this._decorationsTree1.collectNodesPostOrder(),c=this._injectedTextDecorationsTree.collectNodesPostOrder();return a.concat(b).concat(c)}insert(a){bZ(a)?this._injectedTextDecorationsTree.insert(a):bY(a)?this._decorationsTree1.insert(a):this._decorationsTree0.insert(a)}delete(a){bZ(a)?this._injectedTextDecorationsTree.delete(a):bY(a)?this._decorationsTree1.delete(a):this._decorationsTree0.delete(a)}getNodeRange(a,b){let c=a.getVersionId();return b.cachedVersionId!==c&&this._resolveNode(b,c),null===b.range&&(b.range=a.getRangeAt(b.cachedAbsoluteStart,b.cachedAbsoluteEnd)),b.range}_resolveNode(a,b){bZ(a)?this._injectedTextDecorationsTree.resolveNode(a,b):bY(a)?this._decorationsTree1.resolveNode(a,b):this._decorationsTree0.resolveNode(a,b)}acceptReplace(a,b,c,d){this._decorationsTree0.acceptReplace(a,b,c,d),this._decorationsTree1.acceptReplace(a,b,c,d),this._injectedTextDecorationsTree.acceptReplace(a,b,c,d)}}function b_(a){return a.replace(/[^a-z0-9\-_]/gi," ")}class b0{constructor(a){this.color=a.color||"",this.darkColor=a.darkColor||""}}class b1 extends b0{constructor(a){super(a),this._resolvedColor=null,this.position="number"==typeof a.position?a.position:v.A5.Center}getColor(a){return this._resolvedColor||("light"!==a.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,a):this._resolvedColor=this._resolveColor(this.color,a)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(a,b){if("string"==typeof a)return a;let c=a?b.getColor(a.id):null;return c?c.toString():""}}class b2{constructor(a){this.position=a?.position??v.ZS.Center,this.persistLane=a?.persistLane}}class b3 extends b0{constructor(a){super(a),this.position=a.position,this.sectionHeaderStyle=a.sectionHeaderStyle??null,this.sectionHeaderText=a.sectionHeaderText??null}getColor(a){return this._resolvedColor||("light"!==a.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,a):this._resolvedColor=this._resolveColor(this.color,a)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(a,b){return"string"==typeof a?h.Q1.fromHex(a):b.getColor(a.id)}}class b4{static from(a){return a instanceof b4?a:new b4(a)}constructor(a){this.content=a.content||"",this.tokens=a.tokens??null,this.inlineClassName=a.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=a.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=a.attachedData||null,this.cursorStops=a.cursorStops||null}}class b5{static register(a){return new b5(a)}static createDynamic(a){return new b5(a)}constructor(a){this.description=a.description,this.blockClassName=a.blockClassName?b_(a.blockClassName):null,this.blockDoesNotCollapse=a.blockDoesNotCollapse??null,this.blockIsAfterEnd=a.blockIsAfterEnd??null,this.blockPadding=a.blockPadding??null,this.stickiness=a.stickiness||0,this.zIndex=a.zIndex||0,this.className=a.className?b_(a.className):null,this.shouldFillLineOnLineBreak=a.shouldFillLineOnLineBreak??null,this.hoverMessage=a.hoverMessage||null,this.glyphMarginHoverMessage=a.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=a.lineNumberHoverMessage||null,this.isWholeLine=a.isWholeLine||!1,this.lineHeight=a.lineHeight?Math.min(a.lineHeight,300):null,this.fontSize=a.fontSize||null,this.affectsFont=!!a.fontSize||!!a.fontFamily||!!a.fontWeight||!!a.fontStyle,this.showIfCollapsed=a.showIfCollapsed||!1,this.collapseOnReplaceEdit=a.collapseOnReplaceEdit||!1,this.overviewRuler=a.overviewRuler?new b1(a.overviewRuler):null,this.minimap=a.minimap?new b3(a.minimap):null,this.glyphMargin=a.glyphMarginClassName?new b2(a.glyphMargin):null,this.glyphMarginClassName=a.glyphMarginClassName?b_(a.glyphMarginClassName):null,this.linesDecorationsClassName=a.linesDecorationsClassName?b_(a.linesDecorationsClassName):null,this.lineNumberClassName=a.lineNumberClassName?b_(a.lineNumberClassName):null,this.linesDecorationsTooltip=a.linesDecorationsTooltip?l.jy(a.linesDecorationsTooltip):null,this.firstLineDecorationClassName=a.firstLineDecorationClassName?b_(a.firstLineDecorationClassName):null,this.marginClassName=a.marginClassName?b_(a.marginClassName):null,this.inlineClassName=a.inlineClassName?b_(a.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=a.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=a.beforeContentClassName?b_(a.beforeContentClassName):null,this.afterContentClassName=a.afterContentClassName?b_(a.afterContentClassName):null,this.after=a.after?b4.from(a.after):null,this.before=a.before?b4.from(a.before):null,this.hideInCommentTokens=a.hideInCommentTokens??!1,this.hideInStringTokens=a.hideInStringTokens??!1,this.textDirection=a.textDirection??null}}b5.EMPTY=b5.register({description:"empty"});let b6=[b5.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),b5.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),b5.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),b5.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function b7(a){return a instanceof b5?a:b5.createDynamic(a)}class b8{static toKey(a){return`${a.ownerId};${a.decorationId};${a.lineNumber}`}constructor(a,b,c,d){this.ownerId=a,this.decorationId=b,this.lineNumber=c,this.lineHeight=d}}class b9{static toKey(a){return`${a.ownerId};${a.decorationId};${a.lineNumber}`}constructor(a,b,c){this.ownerId=a,this.decorationId=b,this.lineNumber=c}}class ca extends k.jG{constructor(a){super(),this.handleBeforeFire=a,this._actual=this._register(new j.vl),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(a){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(a)}recordLineAffectedByLineHeightChange(a,b,c,d){this._affectedLineHeights||(this._affectedLineHeights=new bP.iD([],b8.toKey)),this._affectedLineHeights.add(new b8(a,b,c,d))}recordLineAffectedByFontChange(a,b,c){this._affectedFontLines||(this._affectedFontLines=new bP.iD([],b9.toKey)),this._affectedFontLines.add(new b9(a,b,c))}checkAffectedAndFire(a){this._affectsMinimap||=!!a.minimap?.position,this._affectsOverviewRuler||=!!a.overviewRuler?.color,this._affectsGlyphMargin||=!!a.glyphMarginClassName,this._affectsLineNumber||=!!a.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let a={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(a)}}class cb extends k.jG{constructor(){super(),this._fastEmitter=this._register(new j.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new j.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(a=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=a;let b=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(b),this._slowEmitter.fire(b)}}fire(a){if(this._deferredCnt>0)return void(this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(a):this._deferredEvent=a);this._fastEmitter.fire(a),this._slowEmitter.fire(a)}}},14418:()=>{},14635:(a,b,c)=>{"use strict";c.d(b,{Qi:()=>h,XO:()=>d,bs:()=>i});var d,e=c(60734);let f=Object.freeze(function(a,b){let c=setTimeout(a.bind(b),0);return{dispose(){clearTimeout(c)}}});!function(a){a.isCancellationToken=function(b){return b===a.None||b===a.Cancelled||b instanceof g||!!b&&"object"==typeof b&&"boolean"==typeof b.isCancellationRequested&&"function"==typeof b.onCancellationRequested},a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:e.Jh.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:f})}(d||(d={}));class g{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?f:(this._emitter||(this._emitter=new e.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class h{constructor(a){this._token=void 0,this._parentListener=void 0,this._parentListener=a&&a.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new g),this._token}cancel(){this._token?this._token instanceof g&&this._token.cancel():this._token=d.Cancelled}dispose(a=!1){a&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof g&&this._token.dispose():this._token=d.None}}function i(a){let b=new h;return a.add({dispose(){b.cancel()}}),b.token}},15267:()=>{},15380:(a,b,c)=>{"use strict";c.d(b,{_:()=>d});let d={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}},16282:()=>{},16342:(a,b,c)=>{"use strict";c.d(b,{Pj:()=>A,jX:()=>B,vg:()=>D,_V:()=>H});var d=c(54734),e=c(14635),f=c(88347),g=c(16374),h=c(71373),i=c(46339),j=c(45640),k=c(46319),l=c(11866),m=c(79677),n=c(59317),o=c(32146),p=c(65320),q=c(55830),r=c(40778),s=c(70511);class t{constructor(a){this.value=a,this._lower=a.toLowerCase()}static toKey(a){return"string"==typeof a?a.toLowerCase():a._lower}}class u{constructor(a){if(this._set=new Set,a)for(let b of a)this.add(b)}add(a){this._set.add(t.toKey(a))}has(a){return this._set.has(t.toKey(a))}}var v=c(29715),w=c(88482),x=c(66153),y=c(3341);function z(a,b,c){let d=[],e=new u;for(let b of a.ordered(c))d.push(b),b.extensionId&&e.add(b.extensionId);for(let a of b.ordered(c)){if(a.extensionId){if(e.has(a.extensionId))continue;e.add(a.extensionId)}d.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits:(b,c,d)=>a.provideDocumentRangeFormattingEdits(b,b.getFullModelRange(),c,d)})}return d}class A{static{this._selectors=new h.w}static setFormatterSelector(a){return{dispose:A._selectors.unshift(a)}}static async select(a,b,c,d){if(0===a.length)return;let e=g.f.first(A._selectors);if(e)return await e(a,b,c,d)}}async function B(a,b,c,d,e,f,g){let h=a.get(v._Y),{documentRangeFormattingEditProvider:i}=a.get(w.u),j=(0,l.z9)(b)?b.getModel():b,k=i.ordered(j),m=await A.select(k,j,d,2);m&&(e.report(m),await h.invokeFunction(C,m,b,c,f,g))}async function C(a,b,c,e,f,g){let h,i,j=a.get(p.w),m=a.get(x.rr),q=a.get(y.Nt);(0,l.z9)(c)?(h=c.getModel(),i=new k.gI(c,5,void 0,f)):(h=c,i=new k.ER(c,f));let s=[],t=0;for(let a of(0,d._j)(e).sort(n.Q.compareRangesUsingStarts))t>0&&n.Q.areIntersectingOrTouching(s[t-1],a)?s[t-1]=n.Q.fromPositions(s[t-1].getStartPosition(),a.getEndPosition()):t=s.push(a);let u=async a=>{m.trace("[format][provideDocumentRangeFormattingEdits] (request)",b.extensionId?.value,a);let c=await b.provideDocumentRangeFormattingEdits(h,a,h.getFormattingOptions(),i.token)||[];return m.trace("[format][provideDocumentRangeFormattingEdits] (response)",b.extensionId?.value,c),c},v=(a,b)=>{if(!a.length||!b.length)return!1;let c=a.reduce((a,b)=>n.Q.plusRange(a,b.range),a[0].range);if(!b.some(a=>n.Q.intersectRanges(c,a.range)))return!1;for(let c of a)for(let a of b)if(n.Q.intersectRanges(c.range,a.range))return!0;return!1},w=[],z=[];try{if("function"==typeof b.provideDocumentRangesFormattingEdits){m.trace("[format][provideDocumentRangeFormattingEdits] (request)",b.extensionId?.value,s);let a=await b.provideDocumentRangesFormattingEdits(h,s,h.getFormattingOptions(),i.token)||[];m.trace("[format][provideDocumentRangeFormattingEdits] (response)",b.extensionId?.value,a),z.push(a)}else{for(let a of s){if(i.token.isCancellationRequested)return!0;z.push(await u(a))}for(let a=0;a<s.length;++a)for(let b=a+1;b<s.length;++b){if(i.token.isCancellationRequested)return!0;if(v(z[a],z[b])){let c=n.Q.plusRange(s[a],s[b]),d=await u(c);s.splice(b,1),s.splice(a,1),s.push(c),z.splice(b,1),z.splice(a,1),z.push(d),a=0,b=0}}}for(let a of z){if(i.token.isCancellationRequested)return!0;let b=await j.computeMoreMinimalEdits(h.uri,a);b&&w.push(...b)}if(i.token.isCancellationRequested)return!0}finally{i.dispose()}if(0===w.length)return!1;if((0,l.z9)(c))r.c.execute(c,w,!0),c.revealPositionInCenterIfOutsideViewport(c.getPosition(),1);else{let[{range:a}]=w,b=new o.L(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn);h.pushEditOperations([b],w.map(a=>({text:a.text,range:n.Q.lift(a.range),forceMoveMarkers:!0})),a=>{for(let{range:c}of a)if(n.Q.areIntersectingOrTouching(c,b))return[new o.L(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)];return null})}return q.playSignal(y.Rh.format,{userGesture:g}),!0}async function D(a,b,c,d,e,f){let g=a.get(v._Y),h=a.get(w.u),i=(0,l.z9)(b)?b.getModel():b,j=z(h.documentFormattingEditProvider,h.documentRangeFormattingEditProvider,i),k=await A.select(j,i,c,1);k&&(d.report(k),await g.invokeFunction(E,k,b,c,e,f))}async function E(a,b,c,d,e,f){let g,h,i,j=a.get(p.w),m=a.get(y.Nt);(0,l.z9)(c)?(g=c.getModel(),h=new k.gI(c,5,void 0,e)):(g=c,h=new k.ER(c,e));try{let a=await b.provideDocumentFormattingEdits(g,g.getFormattingOptions(),h.token);if(i=await j.computeMoreMinimalEdits(g.uri,a),h.token.isCancellationRequested)return!0}finally{h.dispose()}if(!i||0===i.length)return!1;if((0,l.z9)(c))r.c.execute(c,i,2!==d),2!==d&&c.revealPositionInCenterIfOutsideViewport(c.getPosition(),1);else{let[{range:a}]=i,b=new o.L(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn);g.pushEditOperations([b],i.map(a=>({text:a.text,range:n.Q.lift(a.range),forceMoveMarkers:!0})),a=>{for(let{range:c}of a)if(n.Q.areIntersectingOrTouching(c,b))return[new o.L(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)];return null})}return m.playSignal(y.Rh.format,{userGesture:f}),!0}async function F(a,b,c,e,g,h){for(let i of b.documentRangeFormattingEditProvider.ordered(c)){let b=await Promise.resolve(i.provideDocumentRangeFormattingEdits(c,e,g,h)).catch(f.M_);if((0,d.EI)(b))return await a.computeMoreMinimalEdits(c.uri,b)}}async function G(a,b,c,e,g){for(let h of z(b.documentFormattingEditProvider,b.documentRangeFormattingEditProvider,c)){let b=await Promise.resolve(h.provideDocumentFormattingEdits(c,e,g)).catch(f.M_);if((0,d.EI)(b))return await a.computeMoreMinimalEdits(c.uri,b)}}function H(a,b,c,d,e,g,h){let i=b.onTypeFormattingEditProvider.ordered(c);return 0===i.length||0>i[0].autoFormatTriggerCharacters.indexOf(e)?Promise.resolve(void 0):Promise.resolve(i[0].provideOnTypeFormattingEdits(c,d,e,g,h)).catch(f.M_).then(b=>a.computeMoreMinimalEdits(c.uri,b))}s.w.registerCommand("_executeFormatRangeProvider",async function(a,...b){let[c,d,f]=b;(0,i.j)(j.r.isUri(c)),(0,i.j)(n.Q.isIRange(d));let g=a.get(q.b),h=a.get(p.w),k=a.get(w.u),l=await g.createModelReference(c);try{return F(h,k,l.object.textEditorModel,n.Q.lift(d),f,e.XO.None)}finally{l.dispose()}}),s.w.registerCommand("_executeFormatDocumentProvider",async function(a,...b){let[c,d]=b;(0,i.j)(j.r.isUri(c));let f=a.get(q.b),g=a.get(p.w),h=a.get(w.u),k=await f.createModelReference(c);try{return G(g,h,k.object.textEditorModel,d,e.XO.None)}finally{k.dispose()}}),s.w.registerCommand("_executeFormatOnTypeProvider",async function(a,...b){let[c,d,f,g]=b;(0,i.j)(j.r.isUri(c)),(0,i.j)(m.y.isIPosition(d)),(0,i.j)("string"==typeof f);let h=a.get(q.b),k=a.get(p.w),l=a.get(w.u),n=await h.createModelReference(c);try{return H(k,l,n.object.textEditorModel,m.y.lift(d),f,g,e.XO.None)}finally{n.dispose()}})},16374:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});var d,e=c(46339);!function(a){function b(a){return!!a&&"object"==typeof a&&"function"==typeof a[Symbol.iterator]}a.is=b;let c=Object.freeze([]);function*d(a){yield a}a.empty=function(){return c},a.single=d,a.wrap=function(a){return b(a)?a:d(a)},a.from=function(a){return a||c},a.reverse=function*(a){for(let b=a.length-1;b>=0;b--)yield a[b]},a.isEmpty=function(a){return!a||!0===a[Symbol.iterator]().next().done},a.first=function(a){return a[Symbol.iterator]().next().value},a.some=function(a,b){let c=0;for(let d of a)if(b(d,c++))return!0;return!1},a.every=function(a,b){let c=0;for(let d of a)if(!b(d,c++))return!1;return!0},a.find=function(a,b){for(let c of a)if(b(c))return c},a.filter=function*(a,b){for(let c of a)b(c)&&(yield c)},a.map=function*(a,b){let c=0;for(let d of a)yield b(d,c++)},a.flatMap=function*(a,b){let c=0;for(let d of a)yield*b(d,c++)},a.concat=function*(...a){for(let b of a)(0,e.xZ)(b)?yield*b:yield b},a.reduce=function(a,b,c){let d=c;for(let c of a)d=b(d,c);return d},a.length=function(a){let b=0;for(let c of a)b++;return b},a.slice=function*(a,b,c=a.length){for(b<-a.length&&(b=0),b<0&&(b+=a.length),c<0?c+=a.length:c>a.length&&(c=a.length);b<c;b++)yield a[b]},a.consume=function(b,c=1/0){let d=[];if(0===c)return[d,b];let e=b[Symbol.iterator]();for(let b=0;b<c;b++){let b=e.next();if(b.done)return[d,a.empty()];d.push(b.value)}return[d,{[Symbol.iterator]:()=>e}]},a.asyncToArray=async function(a){let b=[];for await(let c of a)b.push(c);return b},a.asyncToArrayFlat=async function(a){let b=[];for await(let c of a)b=b.concat(c);return b}}(d||(d={}))},16749:(a,b,c)=>{"use strict";c.d(b,{wZ:()=>k,zL:()=>j,UW:()=>n,Md:()=>p});var d=c(25536),e=c(98447),f=c(29892),g=c(22889);class h{constructor(a,b,c,d){this.endIndex=a,this.type=b,this.metadata=c,this.containsRTL=d,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}var i=c(34747);class j{get isLTR(){return!this.containsRTL&&this.textDirection!==i.z4.RTL}constructor(a,b,c,d,e,f,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w=!1){this.useMonospaceOptimizations=a,this.canUseHalfwidthRightwardsArrow=b,this.lineContent=c,this.continuesWithWrappedLine=d,this.isBasicASCII=e,this.containsRTL=f,this.fauxIndentLength=h,this.lineTokens=i,this.lineDecorations=j.sort(g.d.compare),this.tabSize=k,this.startVisibleColumn=l,this.spaceWidth=m,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===q?4:"boundary"===q?1:"selection"===q?2:3*("trailing"===q),this.renderControlCharacters=r,this.fontLigatures=s,this.selectionsOnLine=t&&t.sort((a,b)=>a.start<b.start?-1:1),this.renderNewLineWhenEmpty=w,this.textDirection=u,this.verticalScrollbarSize=v,Math.abs(o-m)<Math.abs(n-m)?(this.renderSpaceWidth=o,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=n,this.renderSpaceCharCode=183)}sameSelection(a){if(null===this.selectionsOnLine)return null===a;if(null===a||a.length!==this.selectionsOnLine.length)return!1;for(let b=0;b<this.selectionsOnLine.length;b++)if(!this.selectionsOnLine[b].equals(a[b]))return!1;return!0}equals(a){return this.useMonospaceOptimizations===a.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===a.canUseHalfwidthRightwardsArrow&&this.lineContent===a.lineContent&&this.continuesWithWrappedLine===a.continuesWithWrappedLine&&this.isBasicASCII===a.isBasicASCII&&this.containsRTL===a.containsRTL&&this.fauxIndentLength===a.fauxIndentLength&&this.tabSize===a.tabSize&&this.startVisibleColumn===a.startVisibleColumn&&this.spaceWidth===a.spaceWidth&&this.renderSpaceWidth===a.renderSpaceWidth&&this.renderSpaceCharCode===a.renderSpaceCharCode&&this.stopRenderingLineAfter===a.stopRenderingLineAfter&&this.renderWhitespace===a.renderWhitespace&&this.renderControlCharacters===a.renderControlCharacters&&this.fontLigatures===a.fontLigatures&&g.d.equalsArr(this.lineDecorations,a.lineDecorations)&&this.lineTokens.equals(a.lineTokens)&&this.sameSelection(a.selectionsOnLine)&&this.textDirection===a.textDirection&&this.verticalScrollbarSize===a.verticalScrollbarSize&&this.renderNewLineWhenEmpty===a.renderNewLineWhenEmpty}}class k{constructor(a,b){this.partIndex=a,this.charIndex=b}}class l{static getPartIndex(a){return(0xffff0000&a)>>>16}static getCharIndex(a){return(65535&a)>>>0}constructor(a,b){this.length=a,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(a,b,c,d){this._data[a-1]=(0|c|b<<16)>>>0,this._horizontalOffset[a-1]=d}getHorizontalOffset(a){return 0===this._horizontalOffset.length?0:this._horizontalOffset[a-1]}charOffsetToPartData(a){return 0===this.length?0:a<0?this._data[0]:a>=this.length?this._data[this.length-1]:this._data[a]}getDomPosition(a){let b=this.charOffsetToPartData(a-1);return new k(l.getPartIndex(b),l.getCharIndex(b))}getColumn(a,b){return this.partDataToCharOffset(a.partIndex,b,a.charIndex)+1}partDataToCharOffset(a,b,c){let d;if(0===this.length)return 0;let e=(0|c|a<<16)>>>0,f=0,g=this.length-1;for(;f+1<g;){let a=f+g>>>1,b=this._data[a];if(b===e)return a;b>e?g=a:f=a}if(f===g)return f;let h=this._data[f],i=this._data[g];if(h===e)return f;if(i===e)return g;let j=l.getPartIndex(h),k=l.getCharIndex(h);return d=j!==l.getPartIndex(i)?b:l.getCharIndex(i),c-k<=d-c?f:g}}class m{constructor(a,b){this._renderLineOutputBrand=void 0,this.characterMapping=a,this.containsForeignElements=b}}function n(a,b){if(0===a.lineContent.length){if(a.lineDecorations.length>0){b.appendString("<span>");let c=0,d=0,e=0;for(let f of a.lineDecorations)(1===f.type||2===f.type)&&(b.appendString('<span class="'),b.appendString(f.className),b.appendString('"></span>'),1===f.type&&(e|=1,c++),2===f.type&&(e|=2,d++));b.appendString("</span>");let f=new l(1,c+d);return f.setColumnInfo(1,c,0,0),new m(f,e)}return a.renderNewLineWhenEmpty?b.appendString("<span><span>\n</span></span>"):b.appendString("<span><span></span></span>"),new m(new l(0,0),0)}return function(a,b){var c;let f=a.fontIsMonospace,g=a.canUseHalfwidthRightwardsArrow,h=a.containsForeignElements,i=a.lineContent,j=a.len,k=a.isOverflowing,n=a.overflowingCharCount,o=a.parts,p=a.fauxIndentLength,q=a.tabSize,s=a.startVisibleColumn,t=a.spaceWidth,u=a.renderSpaceCharCode,v=a.renderWhitespace,w=a.renderControlCharacters,x=new l(j+1,o.length),y=!1,z=0,A=s,B=0,C=0,D=0;b.appendString("<span>");for(let a=0,c=o.length;a<c;a++){let c=o[a],d=c.endIndex,k=c.type,l=c.containsRTL,m=0!==v&&c.isWhitespace(),n=m&&!f&&("mtkw"===k||!h),s=z===d&&c.isPseudoAfter();if(B=0,b.appendString("<span "),l&&b.appendString('style="unicode-bidi:isolate" '),b.appendString('class="'),b.appendString(n?"mtkz":k),b.appendASCIICharCode(34),m){let c=0;{let a=z,b=A;for(;a<d;a++){let d=(9===i.charCodeAt(a)?q-b%q:1)|0;c+=d,a>=p&&(b+=d)}}for(n&&(b.appendString(' style="width:'),b.appendString(String(t*c)),b.appendString('px"')),b.appendASCIICharCode(62);z<d;z++){let c,d;if(x.setColumnInfo(z+1,a-D,B,C),D=0,9===i.charCodeAt(z)){d=c=q-A%q|0,!g||d>1?b.appendCharCode(8594):b.appendCharCode(65515);for(let a=2;a<=d;a++)b.appendCharCode(160)}else c=2,d=1,b.appendCharCode(u),b.appendCharCode(8204);B+=c,C+=d,z>=p&&(A+=d)}}else for(b.appendASCIICharCode(62);z<d;z++){x.setColumnInfo(z+1,a-D,B,C),D=0;let c=i.charCodeAt(z),d=1,f=1;switch(c){case 9:f=d=q-A%q;for(let a=1;a<=d;a++)b.appendCharCode(160);break;case 32:b.appendCharCode(160);break;case 60:b.appendString("<");break;case 62:b.appendString(">");break;case 38:b.appendString("&");break;case 0:w?b.appendCharCode(9216):b.appendString("�");break;case 65279:case 8232:case 8233:case 133:b.appendCharCode(65533);break;default:e.ne(c)&&f++,w&&c<32?b.appendCharCode(9216+c):w&&127===c?b.appendCharCode(9249):w&&r(c)?(b.appendString("[U+"),b.appendString(c.toString(16).toUpperCase().padStart(4,"0")),b.appendString("]"),f=d=8):b.appendCharCode(c)}B+=d,C+=f,z>=p&&(A+=f)}s?D++:D=0,z>=j&&!y&&c.isPseudoAfter()&&(y=!0,x.setColumnInfo(z+1,a,B,C)),b.appendString("</span>")}return y||x.setColumnInfo(j+1,o.length-1,B,C),k&&(b.appendString('<span class="mtkoverflow">'),b.appendString(d.kg(792,"Show more ({0})",(c=n)<1024?d.kg(793,"{0} chars",c):c<1048576?`${(c/1024).toFixed(1)} KB`:`${(c/1024/1024).toFixed(1)} MB`)),b.appendString("</span>")),b.appendString("</span>"),new m(x,h)}(function(a){let b,c,d,f=a.lineContent;-1!==a.stopRenderingLineAfter&&a.stopRenderingLineAfter<f.length?(b=!0,c=f.length-a.stopRenderingLineAfter,d=a.stopRenderingLineAfter):(b=!1,c=0,d=f.length);let i=function(a,b,c,d,f){let g=[],i=0;d>0&&(g[i++]=new h(d,"",0,!1));let j=d;for(let k=0,l=c.getCount();k<l;k++){let l=c.getEndOffset(k);if(l<=d)continue;let m=c.getClassName(k);if(l>=f){let c=!!b&&e.E_(a.substring(j,f));g[i++]=new h(f,m,0,c);break}let n=!!b&&e.E_(a.substring(j,l));g[i++]=new h(l,m,0,n),j=l}return g}(f,a.containsRTL,a.lineTokens,a.fauxIndentLength,d);a.renderControlCharacters&&!a.isBasicASCII&&(i=function(a,b){let c=[],d=new h(0,"",0,!1),e=0;for(let f of b){let b=f.endIndex;for(;e<b;e++)r(a.charCodeAt(e))&&(e>d.endIndex&&(d=new h(e,f.type,f.metadata,f.containsRTL),c.push(d)),d=new h(e+1,"mtkcontrol",f.metadata,!1),c.push(d));e>d.endIndex&&(d=new h(b,f.type,f.metadata,f.containsRTL),c.push(d))}return c}(f,i)),(4===a.renderWhitespace||1===a.renderWhitespace||2===a.renderWhitespace&&a.selectionsOnLine||3===a.renderWhitespace&&!a.continuesWithWrappedLine)&&(i=function(a,b,c,d){let f,g=a.continuesWithWrappedLine,i=a.fauxIndentLength,j=a.tabSize,k=a.startVisibleColumn,l=a.useMonospaceOptimizations,m=a.selectionsOnLine,n=1===a.renderWhitespace,o=3===a.renderWhitespace,p=a.renderSpaceWidth!==a.spaceWidth,q=[],r=0,s=0,t=d[0].type,u=d[s].containsRTL,v=d[s].endIndex,w=d.length,x=!1,y=e.HG(b);-1===y?(x=!0,y=c,f=c):f=e.lT(b);let z=!1,A=0,B=m&&m[A],C=k%j;for(let a=i;a<c;a++){let g,k=b.charCodeAt(a);if(B&&B.endExclusive<=a&&(A++,B=m&&m[A]),a<y||a>f)g=!0;else if(9===k)g=!0;else if(32===k)if(n)if(z)g=!0;else{let d=a+1<c?b.charCodeAt(a+1):0;g=32===d||9===d}else g=!0;else g=!1;if(g&&m&&(g=!!B&&B.start<=a&&a<B.endExclusive),g&&o&&(g=x||a>f),g&&u&&a>=y&&a<=f&&(g=!1),z){if(!g||!l&&C>=j){if(p){let b=r>0?q[r-1].endIndex:i;for(let c=b+1;c<=a;c++)q[r++]=new h(c,"mtkw",1,!1)}else q[r++]=new h(a,"mtkw",1,!1);C%=j}}else(a===v||g&&a>i)&&(q[r++]=new h(a,t,0,u),C%=j);for(9===k?C=j:e.ne(k)?C+=2:C++,z=g;a===v;)if(++s<w)t=d[s].type,u=d[s].containsRTL,v=d[s].endIndex;else break}let D=!1;if(z)if(g&&n){let a=c>0?b.charCodeAt(c-1):0,d=c>1?b.charCodeAt(c-2):0;(32!==a||32===d||9===d)&&(D=!0)}else D=!0;if(D)if(p){let a=r>0?q[r-1].endIndex:i;for(let b=a+1;b<=c;b++)q[r++]=new h(b,"mtkw",1,!1)}else q[r++]=new h(c,"mtkw",1,!1);else q[r++]=new h(c,t,0,u);return q}(a,f,d,i));let j=0;if(a.lineDecorations.length>0){for(let b=0,c=a.lineDecorations.length;b<c;b++){let c=a.lineDecorations[b];3===c.type||1===c.type?j|=1:2===c.type&&(j|=2)}i=function(a,b,c,d){d.sort(g.d.compare);let e=g.Bs.normalize(a,d),f=e.length,i=0,j=[],k=0,l=0;for(let a=0,b=c.length;a<b;a++){let b=c[a],d=b.endIndex,g=b.type,m=b.metadata,n=b.containsRTL;for(;i<f&&e[i].startOffset<d;){let a=e[i];if(a.startOffset>l&&(l=a.startOffset,j[k++]=new h(l,g,m,n)),a.endOffset+1<=d)l=a.endOffset+1,j[k++]=new h(l,g+" "+a.className,m|a.metadata,n),i++;else{l=d,j[k++]=new h(l,g+" "+a.className,m|a.metadata,n);break}}d>l&&(l=d,j[k++]=new h(l,g,m,n))}let m=c[c.length-1].endIndex;if(i<f&&e[i].startOffset===m)for(;i<f&&e[i].startOffset===m;){let a=e[i];j[k++]=new h(l,a.className,a.metadata,!1),i++}return j}(f,0,i,a.lineDecorations)}return a.containsRTL||(i=function(a,b,c){let d=0,e=[],f=0;if(c)for(let c=0,g=b.length;c<g;c++){let g=b[c],i=g.endIndex;if(d+50<i){let b=g.type,c=g.metadata,j=g.containsRTL,k=-1,l=d;for(let g=d;g<i;g++)32===a.charCodeAt(g)&&(k=g),-1!==k&&g-l>=50&&(e[f++]=new h(k+1,b,c,j),l=k+1,k=-1);l!==i&&(e[f++]=new h(i,b,c,j))}else e[f++]=g;d=i}else for(let a=0,c=b.length;a<c;a++){let c=b[a],g=c.endIndex,i=g-d;if(i>50){let a=c.type,b=c.metadata,j=c.containsRTL,k=Math.ceil(i/50);for(let c=1;c<k;c++){let g=d+50*c;e[f++]=new h(g,a,b,j)}e[f++]=new h(g,a,b,j)}else e[f++]=c;d=g}return e}(f,i,!a.isBasicASCII||a.fontLigatures)),new q(a.useMonospaceOptimizations,a.canUseHalfwidthRightwardsArrow,f,d,b,c,i,j,a.fauxIndentLength,a.tabSize,a.startVisibleColumn,a.spaceWidth,a.renderSpaceCharCode,a.renderWhitespace,a.renderControlCharacters)}(a),b)}class o{constructor(a,b,c){this.characterMapping=a,this.html=b,this.containsForeignElements=c}}function p(a){let b=new f.fe(1e4),c=n(a,b);return new o(c.characterMapping,b.build(),c.containsForeignElements)}class q{constructor(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){this.fontIsMonospace=a,this.canUseHalfwidthRightwardsArrow=b,this.lineContent=c,this.len=d,this.isOverflowing=e,this.overflowingCharCount=f,this.parts=g,this.containsForeignElements=h,this.fauxIndentLength=i,this.tabSize=j,this.startVisibleColumn=k,this.spaceWidth=l,this.renderSpaceCharCode=m,this.renderWhitespace=n,this.renderControlCharacters=o}}function r(a){return a<32?9!==a:127===a||!!(a>=8234)&&!!(a<=8238)||!!(a>=8294)&&!!(a<=8297)||!!(a>=8206)&&!!(a<=8207)||1564===a}},16817:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(29949);class e{static whitespaceVisibleColumn(a,b,c){let e=a.length,f=0,g=-1,h=-1;for(let i=0;i<e;i++){if(i===b)return[g,h,f];switch(f%c==0&&(g=i,h=f),a.charCodeAt(i)){case 32:f+=1;break;case 9:f=d.A.nextRenderTabStop(f,c);break;default:return[-1,-1,-1]}}return b===e?[g,h,f]:[-1,-1,-1]}static atomicPosition(a,b,c,f){let g,h=a.length,[i,j,k]=e.whitespaceVisibleColumn(a,b,c);if(-1===k)return -1;switch(f){case 0:g=!0;break;case 1:g=!1;break;case 2:if(k%c==0)return b;g=k%c<=c/2}if(g){if(-1===i)return -1;let b=j;for(let e=i;e<h;++e){if(b===j+c)return i;switch(a.charCodeAt(e)){case 32:b+=1;break;case 9:b=d.A.nextRenderTabStop(b,c);break;default:return -1}}return b===j+c?i:-1}let l=d.A.nextRenderTabStop(k,c),m=k;for(let e=b;e<h;e++){if(m===l)return e;switch(a.charCodeAt(e)){case 32:m+=1;break;case 9:m=d.A.nextRenderTabStop(m,c);break;default:return -1}}return m===l?h:-1}}},17520:()=>{},18155:(a,b,c)=>{"use strict";c.d(b,{b:()=>d,t:()=>e});let d=function(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let a=new Uint8Array(16),b=[];for(let a=0;a<256;a++)b.push(a.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(a),a[6]=15&a[6]|64,a[8]=63&a[8]|128;let c=0,d="";return d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]]}}();function e(a){return`${a}-${d()}`}},18401:(a,b,c)=>{"use strict";c.d(b,{HJ:()=>k,LN:()=>h,YH:()=>j,ih:()=>l,rc:()=>g,wv:()=>i});var d=c(60734),e=c(11314),f=c(25536);class g extends e.jG{get onDidChange(){return this._onDidChange.event}constructor(a,b="",c="",e=!0,f){super(),this._onDidChange=this._register(new d.vl),this._enabled=!0,this._id=a,this._label=b,this._cssClass=c,this._enabled=e,this._actionCallback=f}get id(){return this._id}get label(){return this._label}set label(a){this._setLabel(a)}_setLabel(a){this._label!==a&&(this._label=a,this._onDidChange.fire({label:a}))}get tooltip(){return this._tooltip||""}set tooltip(a){this._setTooltip(a)}_setTooltip(a){this._tooltip!==a&&(this._tooltip=a,this._onDidChange.fire({tooltip:a}))}get class(){return this._cssClass}set class(a){this._setClass(a)}_setClass(a){this._cssClass!==a&&(this._cssClass=a,this._onDidChange.fire({class:a}))}get enabled(){return this._enabled}set enabled(a){this._setEnabled(a)}_setEnabled(a){this._enabled!==a&&(this._enabled=a,this._onDidChange.fire({enabled:a}))}get checked(){return this._checked}set checked(a){this._setChecked(a)}_setChecked(a){this._checked!==a&&(this._checked=a,this._onDidChange.fire({checked:a}))}async run(a,b){this._actionCallback&&await this._actionCallback(a)}}class h extends e.jG{constructor(){super(...arguments),this._onWillRun=this._register(new d.vl),this._onDidRun=this._register(new d.vl)}get onWillRun(){return this._onWillRun.event}get onDidRun(){return this._onDidRun.event}async run(a,b){let c;if(a.enabled){this._onWillRun.fire({action:a});try{await this.runAction(a,b)}catch(a){c=a}this._onDidRun.fire({action:a,error:c})}}async runAction(a,b){await a.run(b)}}class i{constructor(){this.id=i.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...a){let b=[];for(let c of a)c.length&&(b=b.length?[...b,new i,...c]:c);return b}static{this.ID="vs.actions.separator"}async run(){}}class j{get actions(){return this._actions}constructor(a,b,c,d){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=a,this.label=b,this.class=d,this._actions=c}async run(){}}class k extends g{static{this.ID="vs.actions.empty"}constructor(){super(k.ID,f.kg(28,"(empty)"),void 0,!1)}}function l(a){return{id:a.id,label:a.label,tooltip:a.tooltip??a.label,class:a.class,enabled:a.enabled??!0,checked:a.checked,run:async(...b)=>a.run(...b)}}},18732:(a,b,c)=>{"use strict";c.d(b,{B8:()=>aa,MH:()=>T,_C:()=>d,W0:()=>J,Bm:()=>function a(b){return!!("A"===b.tagName&&b.classList.contains("monaco-button")||"DIV"===b.tagName&&b.classList.contains("monaco-button-dropdown"))||!b.classList.contains("monaco-list")&&!!b.parentElement&&a(b.parentElement)},b$:()=>I,bm:()=>H,mh:()=>R,tX:()=>Q,Es:()=>L,xu:()=>K,bG:()=>V});var d,e,f=c(32677),g=c(76136),h=c(88077),i=c(67397),j=c(31662),k=c(98350),l=c(98867);class m{constructor(a){this.spliceables=a}splice(a,b,c){this.spliceables.forEach(d=>d.splice(a,b,c))}}var n=c(54734),o=c(40565),p=c(23949),q=c(53578),r=c(60734),s=c(58557),t=c(11314),u=c(61496),v=c(56167),w=c(46339);c(45669);class x extends Error{constructor(a,b){super(`ListError [${a}] ${b}`)}}var y=c(85157),z=c(21280),A=c(43589),B=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g};class C{constructor(a){this.trait=a,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(a){return a}renderElement(a,b,c){let d=this.renderedElements.findIndex(a=>a.templateData===c);if(d>=0){let a=this.renderedElements[d];this.trait.unrender(c),a.index=b}else this.renderedElements.push({index:b,templateData:c});this.trait.renderIndex(b,c)}splice(a,b,c){let d=[];for(let e of this.renderedElements)e.index<a?d.push(e):e.index>=a+b&&d.push({index:e.index+c-b,templateData:e.templateData});this.renderedElements=d}renderIndexes(a){for(let{index:b,templateData:c}of this.renderedElements)a.indexOf(b)>-1&&this.trait.renderIndex(b,c)}disposeTemplate(a){let b=this.renderedElements.findIndex(b=>b.templateData===a);b<0||this.renderedElements.splice(b,1)}}class D{get onChange(){return this._onChange.event}get name(){return this._trait}get renderer(){return new C(this)}constructor(a){this._trait=a,this.indexes=[],this.sortedIndexes=[],this._onChange=new r.vl}splice(a,b,c){let d=c.length-b,e=a+b,f=[],g=0;for(;g<this.sortedIndexes.length&&this.sortedIndexes[g]<a;)f.push(this.sortedIndexes[g++]);for(let b=0;b<c.length;b++)c[b]&&f.push(b+a);for(;g<this.sortedIndexes.length&&this.sortedIndexes[g]>=e;)f.push(this.sortedIndexes[g++]+d);this.renderer.splice(a,b,c.length),this._set(f,f)}renderIndex(a,b){b.classList.toggle(this._trait,this.contains(a))}unrender(a){a.classList.remove(this._trait)}set(a,b){return this._set(a,[...a].sort(Y),b)}_set(a,b,c){let d=this.indexes,e=this.sortedIndexes;this.indexes=a,this.sortedIndexes=b;let f=X(e,a);return this.renderer.renderIndexes(f),this._onChange.fire({indexes:a,browserEvent:c}),d}get(){return this.indexes}contains(a){return(0,n.El)(this.sortedIndexes,a,Y)>=0}dispose(){(0,t.AS)(this._onChange)}}B([q.B],D.prototype,"renderer",null);class E extends D{constructor(a){super("selected"),this.setAriaSelected=a}renderIndex(a,b){super.renderIndex(a,b),this.setAriaSelected&&(this.contains(a)?b.setAttribute("aria-selected","true"):b.setAttribute("aria-selected","false"))}}class F{constructor(a,b,c){this.trait=a,this.view=b,this.identityProvider=c}splice(a,b,c){if(!this.identityProvider)return this.trait.splice(a,b,Array(c.length).fill(!1));let d=this.trait.get().map(a=>this.identityProvider.getId(this.view.element(a)).toString());if(0===d.length)return this.trait.splice(a,b,Array(c.length).fill(!1));let e=new Set(d),f=c.map(a=>e.has(this.identityProvider.getId(a).toString()));this.trait.splice(a,b,f)}}function G(a,b){return!!a.classList.contains(b)||!a.classList.contains("monaco-list")&&!!a.parentElement&&G(a.parentElement,b)}function H(a){return G(a,"monaco-editor")}function I(a){return G(a,"monaco-custom-toggle")}function J(a){return G(a,"action-item")}function K(a){return G(a,"monaco-tree-sticky-row")}function L(a){return a.classList.contains("monaco-tree-sticky-container")}class M{get onKeyDown(){return r.Jh.chain(this.disposables.add(new i.f(this.view.domNode,"keydown")).event,a=>a.filter(a=>!(0,f.yD)(a.target)).map(a=>new j.Z(a)))}constructor(a,b,c){this.list=a,this.view=b,this.disposables=new t.Cm,this.multipleSelectionDisposables=new t.Cm,this.multipleSelectionSupport=c.multipleSelectionSupport,this.disposables.add(this.onKeyDown(a=>{switch(a.keyCode){case 3:return this.onEnter(a);case 16:return this.onUpArrow(a);case 18:return this.onDownArrow(a);case 11:return this.onPageUpArrow(a);case 12:return this.onPageDownArrow(a);case 9:return this.onEscape(a);case 31:this.multipleSelectionSupport&&(v.zx?a.metaKey:a.ctrlKey)&&this.onCtrlA(a)}}))}updateOptions(a){void 0!==a.multipleSelectionSupport&&(this.multipleSelectionSupport=a.multipleSelectionSupport)}onEnter(a){a.preventDefault(),a.stopPropagation(),this.list.setSelection(this.list.getFocus(),a.browserEvent)}onUpArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusPrevious(1,!1,a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onDownArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusNext(1,!1,a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onPageUpArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusPreviousPage(a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onPageDownArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusNextPage(a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onCtrlA(a){a.preventDefault(),a.stopPropagation(),this.list.setSelection((0,n.y1)(this.list.length),a.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(a){this.list.getSelection().length&&(a.preventDefault(),a.stopPropagation(),this.list.setSelection([],a.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}B([q.B],M.prototype,"onKeyDown",null),function(a){a[a.Automatic=0]="Automatic",a[a.Trigger=1]="Trigger"}(d||(d={})),function(a){a[a.Idle=0]="Idle",a[a.Typing=1]="Typing"}(e||(e={}));let N=new class{mightProducePrintableCharacter(a){return!a.ctrlKey&&!a.metaKey&&!a.altKey&&(a.keyCode>=31&&a.keyCode<=56||a.keyCode>=21&&a.keyCode<=30||a.keyCode>=98&&a.keyCode<=107||a.keyCode>=85&&a.keyCode<=95)}};class O{constructor(a,b,c,f,g){this.list=a,this.view=b,this.keyboardNavigationLabelProvider=c,this.keyboardNavigationEventFilter=f,this.delegate=g,this.enabled=!1,this.state=e.Idle,this.mode=d.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new t.Cm,this.disposables=new t.Cm,this.updateOptions(a.options)}updateOptions(a){a.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=a.typeNavigationMode??d.Automatic}enable(){if(this.enabled)return;let a=!1,b=r.Jh.chain(this.enabledDisposables.add(new i.f(this.view.domNode,"keydown")).event,b=>b.filter(a=>!(0,f.yD)(a.target)).filter(()=>this.mode===d.Automatic||this.triggered).map(a=>new j.Z(a)).filter(b=>a||this.keyboardNavigationEventFilter(b)).filter(a=>this.delegate.mightProducePrintableCharacter(a)).forEach(a=>f.fs.stop(a,!0)).map(a=>a.browserEvent.key)),c=r.Jh.debounce(b,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);r.Jh.reduce(r.Jh.any(b,c),(a,b)=>null===b?null:(a||"")+b,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),c(this.onClear,this,this.enabledDisposables),b(()=>a=!0,void 0,this.enabledDisposables),c(()=>a=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){let a=this.list.getFocus();if(a.length>0&&a[0]===this.previouslyFocused){let b=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(a[0]));"string"==typeof b?(0,l.xE)(b):b&&(0,l.xE)(b.get())}this.previouslyFocused=-1}onInput(a){if(!a){this.state=e.Idle,this.triggered=!1;return}let b=this.list.getFocus(),c=b.length>0?b[0]:0,d=+(this.state===e.Idle);this.state=e.Typing;for(let b=0;b<this.list.length;b++){let e=(c+b+d)%this.list.length,f=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(e)),g=f&&f.toString();if(this.list.options.typeNavigationEnabled){if(void 0!==g){if((0,s.WP)(a,g)){this.previouslyFocused=c,this.list.setFocus([e]),this.list.reveal(e);return}let b=(0,s.O)(a,g);if(b&&b[0].end-b[0].start>1&&1===b.length){this.previouslyFocused=c,this.list.setFocus([e]),this.list.reveal(e);return}}}else if(void 0===g||(0,s.WP)(a,g)){this.previouslyFocused=c,this.list.setFocus([e]),this.list.reveal(e);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class P{constructor(a,b){this.list=a,this.view=b,this.disposables=new t.Cm;let c=r.Jh.chain(this.disposables.add(new i.f(b.domNode,"keydown")).event,a=>a.filter(a=>!(0,f.yD)(a.target)).map(a=>new j.Z(a)));r.Jh.chain(c,a=>a.filter(a=>2===a.keyCode&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&!a.altKey))(this.onTab,this,this.disposables)}onTab(a){if(a.target!==this.view.domNode)return;let b=this.list.getFocus();if(0===b.length)return;let c=this.view.domElement(b[0]);if(!c)return;let d=c.querySelector("[tabIndex]");if(!d||!(0,f.sb)(d)||-1===d.tabIndex)return;let e=(0,f.zk)(d).getComputedStyle(d);"hidden"!==e.visibility&&"none"!==e.display&&(a.preventDefault(),a.stopPropagation(),d.focus())}dispose(){this.disposables.dispose()}}function Q(a){return v.zx?a.browserEvent.metaKey:a.browserEvent.ctrlKey}function R(a){return a.browserEvent.shiftKey}let S={isSelectionSingleChangeEvent:Q,isSelectionRangeChangeEvent:R};class T{get onPointer(){return this._onPointer.event}constructor(a){this.list=a,this.disposables=new t.Cm,this._onPointer=this.disposables.add(new r.vl),!1!==a.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||S),this.mouseSupport=void 0===a.options.mouseSupport||!!a.options.mouseSupport,this.mouseSupport&&(a.onMouseDown(this.onMouseDown,this,this.disposables),a.onContextMenu(this.onContextMenu,this,this.disposables),a.onMouseDblClick(this.onDoubleClick,this,this.disposables),a.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(k.q.addTarget(a.getHTMLElement()))),r.Jh.any(a.onMouseClick,a.onMouseMiddleClick,a.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(a){void 0!==a.multipleSelectionSupport&&(this.multipleSelectionController=void 0,a.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||S))}isSelectionSingleChangeEvent(a){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(a)}isSelectionRangeChangeEvent(a){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(a)}isSelectionChangeEvent(a){return this.isSelectionSingleChangeEvent(a)||this.isSelectionRangeChangeEvent(a)}onMouseDown(a){H(a.browserEvent.target)||(0,f.bq)()!==a.browserEvent.target&&this.list.domFocus()}onContextMenu(a){if((0,f.yD)(a.browserEvent.target)||H(a.browserEvent.target))return;let b=void 0===a.index?[]:[a.index];this.list.setFocus(b,a.browserEvent)}onViewPointer(a){var b;if(!this.mouseSupport||(0,f.yD)(a.browserEvent.target)||H(a.browserEvent.target)||a.browserEvent.isHandledByList)return;a.browserEvent.isHandledByList=!0;let c=a.index;if(void 0===c){this.list.setFocus([],a.browserEvent),this.list.setSelection([],a.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(a))return this.changeSelection(a);this.list.setFocus([c],a.browserEvent),this.list.setAnchor(c),b=a.browserEvent,(0,f.Er)(b)&&2===b.button||this.list.setSelection([c],a.browserEvent),this._onPointer.fire(a)}onDoubleClick(a){if((0,f.yD)(a.browserEvent.target)||H(a.browserEvent.target)||this.isSelectionChangeEvent(a)||a.browserEvent.isHandledByList)return;a.browserEvent.isHandledByList=!0;let b=this.list.getFocus();this.list.setSelection(b,a.browserEvent)}changeSelection(a){let b=a.index,c=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(a)){void 0===c&&(c=this.list.getFocus()[0]??b,this.list.setAnchor(c));let d=Math.min(c,b),e=Math.max(c,b),f=(0,n.y1)(d,e+1),g=this.list.getSelection(),h=function(a,b){let c=a.indexOf(b);if(-1===c)return[];let d=[],e=c-1;for(;e>=0&&a[e]===b-(c-e);)d.push(a[e--]);for(d.reverse(),e=c;e<a.length&&a[e]===b+(e-c);)d.push(a[e++]);return d}(X(g,[c]),c);if(0===h.length)return;let i=X(f,function(a,b){let c=[],d=0,e=0;for(;d<a.length||e<b.length;)if(d>=a.length)c.push(b[e++]);else if(e>=b.length)c.push(a[d++]);else if(a[d]===b[e]){d++,e++;continue}else a[d]<b[e]?c.push(a[d++]):e++;return c}(g,h));this.list.setSelection(i,a.browserEvent),this.list.setFocus([b],a.browserEvent)}else if(this.isSelectionSingleChangeEvent(a)){let c=this.list.getSelection(),d=c.filter(a=>a!==b);this.list.setFocus([b]),this.list.setAnchor(b),c.length===d.length?this.list.setSelection([...d,b],a.browserEvent):this.list.setSelection(d,a.browserEvent)}}dispose(){this.disposables.dispose()}}class U{constructor(a,b){this.styleElement=a,this.selectorSuffix=b}style(a){let b=this.selectorSuffix&&`.${this.selectorSuffix}`,c=[];a.listBackground&&c.push(`.monaco-list${b} .monaco-list-rows { background: ${a.listBackground}; }`),a.listFocusBackground&&(c.push(`.monaco-list${b}:focus .monaco-list-row.focused { background-color: ${a.listFocusBackground}; }`),c.push(`.monaco-list${b}:focus .monaco-list-row.focused:hover { background-color: ${a.listFocusBackground}; }`)),a.listFocusForeground&&c.push(`.monaco-list${b}:focus .monaco-list-row.focused { color: ${a.listFocusForeground}; }`),a.listActiveSelectionBackground&&(c.push(`.monaco-list${b}:focus .monaco-list-row.selected { background-color: ${a.listActiveSelectionBackground}; }`),c.push(`.monaco-list${b}:focus .monaco-list-row.selected:hover { background-color: ${a.listActiveSelectionBackground}; }`)),a.listActiveSelectionForeground&&c.push(`.monaco-list${b}:focus .monaco-list-row.selected { color: ${a.listActiveSelectionForeground}; }`),a.listActiveSelectionIconForeground&&c.push(`.monaco-list${b}:focus .monaco-list-row.selected .codicon { color: ${a.listActiveSelectionIconForeground}; }`),a.listFocusAndSelectionBackground&&c.push(`
|
|
29
|
+
Slabs: ${this._slabs.length} of ${Math.floor(this._canvas.width/i)*Math.floor(this._canvas.height/i)}`}}function n(a,b,c){let d=a.get(b);d||(d=[],a.set(b,d)),d.push(c)}var o=function(a,b){return function(c,d){b(c,d,a)}};let p=class extends e.jG{static{d=this}get version(){return this._version}static{this.maximumGlyphCount=5e3}get usedArea(){return this._usedArea}get source(){return this._canvas}get glyphs(){return this._glyphInOrderSet.values()}constructor(a,b,c,d,g){switch(super(),this._logService=d,this._version=0,this._usedArea={left:0,top:0,right:0,bottom:0},this._glyphMap=new f.QO,this._glyphInOrderSet=new Set,this._canvas=new OffscreenCanvas(b,b),this._colorMap=g.getColorTheme().tokenColorMap,c){case"shelf":this._allocator=new k(this._canvas,a);break;case"slab":this._allocator=new m(this._canvas,a);break;default:this._allocator=c(this._canvas,a)}this._register((0,e.s)(()=>{this._canvas.width=1,this._canvas.height=1}))}getGlyph(a,b,c,d){return this._glyphMap.get(b,c,d,a.cacheKey)??this._createGlyph(a,b,c,d)}_createGlyph(a,b,c,e){if(this._glyphInOrderSet.size>=d.maximumGlyphCount)return;let f=a.rasterizeGlyph(b,c,e,this._colorMap),h=this._allocator.allocate(f);if(void 0!==h)return this._glyphMap.set(h,b,c,e,a.cacheKey),this._glyphInOrderSet.add(h),this._version++,this._usedArea.right=Math.max(this._usedArea.right,h.x+h.w-1),this._usedArea.bottom=Math.max(this._usedArea.bottom,h.y+h.h-1),this._logService.getLevel()===g.$b.Trace&&this._logService.trace("New glyph",{chars:b,tokenMetadata:c,decorationStyleSetId:e,rasterizedGlyph:f,glyph:h}),h}getUsagePreview(){return this._allocator.getUsagePreview()}getStats(){return this._allocator.getStats()}};p=d=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([o(3,g.rr),o(4,h.Gy)],p)},11053:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=(0,c(29715).u1)("codeEditorService")},11314:(a,b,c)=>{"use strict";c.d(b,{$w:()=>s,AS:()=>j,Ay:()=>e,BO:()=>r,Cm:()=>n,HE:()=>p,VD:()=>f,Xm:()=>i,jG:()=>o,lC:()=>h,mp:()=>q,qE:()=>k,s:()=>m});var d=c(16374);function e(a){return a}function f(a){}function g(a,b){}function h(a){return a}function i(a){return"object"==typeof a&&null!==a&&"function"==typeof a.dispose&&0===a.dispose.length}function j(a){if(d.f.is(a)){let b=[];for(let c of a)if(c)try{c.dispose()}catch(a){b.push(a)}if(1===b.length)throw b[0];if(b.length>1)throw AggregateError(b,"Encountered errors while disposing of store");return Array.isArray(a)?[]:a}if(a)return a.dispose(),a}function k(...a){let b=m(()=>j(a));!1;return b}class l{constructor(a){this._isDisposed=!1,this._fn=a,e(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,f(this),this._fn()}}}function m(a){return new l(a)}class n{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,e(this)}dispose(){this._isDisposed||(f(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{j(this._toDispose)}finally{this._toDispose.clear()}}add(a){if(!a||a===o.None)return a;if(a===this)throw Error("Cannot register a disposable on itself!");return g(a,this),this._isDisposed?n.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(a),a}delete(a){if(a){if(a===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(a),a.dispose()}}}class o{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new n,e(this),g(this._store,this)}dispose(){f(this),this._store.dispose()}_register(a){if(a===this)throw Error("Cannot register a disposable on itself!");return this._store.add(a)}}class p{constructor(){this._isDisposed=!1,e(this)}get value(){return this._isDisposed?void 0:this._value}set value(a){this._isDisposed||a===this._value||(this._value?.dispose(),a&&g(a,this),this._value=a)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,f(this),this._value?.dispose(),this._value=void 0}}class q{constructor(a){this._disposable=a,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class r{constructor(a){this.object=a}dispose(){}}class s{constructor(){this._store=new Map,this._isDisposed=!1,e(this)}dispose(){f(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{j(this._store.values())}finally{this._store.clear()}}get(a){return this._store.get(a)}set(a,b,c=!1){this._isDisposed&&console.warn(Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),c||this._store.get(a)?.dispose(),this._store.set(a,b),g(b,this)}deleteAndDispose(a){this._store.get(a)?.dispose(),this._store.delete(a)}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},11487:()=>{},11583:(a,b,c)=>{"use strict";c.d(b,{B6:()=>d,Fd:()=>t,LC:()=>q,P8:()=>p,Pi:()=>o,er:()=>m,iZ:()=>u,n4:()=>n,o1:()=>v,pD:()=>r,su:()=>k,uJ:()=>s});var d,e=c(31122),f=c(18920),g=c(76687),h=c(56167),i=c(98447),j=c(45640);function k(a){return(0,j.I)(a,!0)}class l{constructor(a){this._ignorePathCasing=a}compare(a,b,c=!1){return a===b?0:(0,i.UD)(this.getComparisonKey(a,c),this.getComparisonKey(b,c))}isEqual(a,b,c=!1){return a===b||!!a&&!!b&&this.getComparisonKey(a,c)===this.getComparisonKey(b,c)}getComparisonKey(a,b=!1){return a.with({path:this._ignorePathCasing(a)?a.path.toLowerCase():void 0,fragment:b?null:void 0}).toString()}isEqualOrParent(a,b,c=!1){if(a.scheme===b.scheme){if(a.scheme===f.ny.file)return e._1(k(a),k(b),this._ignorePathCasing(a))&&a.query===b.query&&(c||a.fragment===b.fragment);if(w(a.authority,b.authority))return e._1(a.path,b.path,this._ignorePathCasing(a),"/")&&a.query===b.query&&(c||a.fragment===b.fragment)}return!1}joinPath(a,...b){return j.r.joinPath(a,...b)}basenameOrAuthority(a){return p(a)||a.authority}basename(a){return g.SA.basename(a.path)}extname(a){return g.SA.extname(a.path)}dirname(a){let b;return 0===a.path.length?a:(a.scheme===f.ny.file?b=j.r.file(g.pD(k(a))).path:(b=g.SA.dirname(a.path),a.authority&&b.length&&47!==b.charCodeAt(0)&&(console.error(`dirname("${a.toString})) resulted in a relative path`),b="/")),a.with({path:b}))}normalizePath(a){let b;return a.path.length?(b=a.scheme===f.ny.file?j.r.file(g.S8(k(a))).path:g.SA.normalize(a.path),a.with({path:b})):a}relativePath(a,b){if(a.scheme!==b.scheme||!w(a.authority,b.authority))return;if(a.scheme===f.ny.file){let c=g.V8(k(a),k(b));return h.uF?e.TH(c):c}let c=a.path||"/",d=b.path||"/";if(this._ignorePathCasing(a)){let a=0;for(let b=Math.min(c.length,d.length);a<b&&(c.charCodeAt(a)===d.charCodeAt(a)||c.charAt(a).toLowerCase()===d.charAt(a).toLowerCase());a++);c=d.substr(0,a)+c.substr(a)}return g.SA.relative(c,d)}resolvePath(a,b){if(a.scheme===f.ny.file){let c=j.r.file(g.hd(k(a),b));return a.with({authority:c.authority,path:c.path})}return b=e.kb(b),a.with({path:g.SA.resolve(a.path,b)})}isAbsolutePath(a){return!!a.path&&"/"===a.path[0]}isEqualAuthority(a,b){return a===b||void 0!==a&&void 0!==b&&(0,i.Q_)(a,b)}hasTrailingPathSeparator(a,b=g.Vn){if(a.scheme===f.ny.file){let c=k(a);return c.length>e.Zn(c).length&&c[c.length-1]===b}{let b=a.path;return b.length>1&&47===b.charCodeAt(b.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(a.fsPath)}}removeTrailingPathSeparator(a,b=g.Vn){return x(a,b)?a.with({path:a.path.substr(0,a.path.length-1)}):a}addTrailingPathSeparator(a,b=g.Vn){let c=!1;if(a.scheme===f.ny.file){let d=k(a);c=void 0!==d&&d.length===e.Zn(d).length&&d[d.length-1]===b}else{b="/";let d=a.path;c=1===d.length&&47===d.charCodeAt(d.length-1)}return c||x(a,b)?a:a.with({path:a.path+"/"})}}let m=new l(()=>!1);new l(a=>a.scheme!==f.ny.file||!h.j9),new l(a=>!0);let n=m.isEqual.bind(m);m.isEqualOrParent.bind(m),m.getComparisonKey.bind(m);let o=m.basenameOrAuthority.bind(m),p=m.basename.bind(m),q=m.extname.bind(m),r=m.dirname.bind(m),s=m.joinPath.bind(m),t=m.normalizePath.bind(m),u=m.relativePath.bind(m),v=m.resolvePath.bind(m);m.isAbsolutePath.bind(m);let w=m.isEqualAuthority.bind(m),x=m.hasTrailingPathSeparator.bind(m);m.removeTrailingPathSeparator.bind(m),m.addTrailingPathSeparator.bind(m),function(a){a.META_DATA_LABEL="label",a.META_DATA_DESCRIPTION="description",a.META_DATA_SIZE="size",a.META_DATA_MIME="mime",a.parseMetaData=function(b){let c=new Map;b.path.substring(b.path.indexOf(";")+1,b.path.lastIndexOf(";")).split(";").forEach(a=>{let[b,d]=a.split(":");b&&d&&c.set(b,d)});let d=b.path.substring(0,b.path.indexOf(";"));return d&&c.set(a.META_DATA_MIME,d),c}}(d||(d={}))},11628:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(49982),e=c(56167);let f={DateTimeFormat:(a,b)=>new d.d(()=>{try{return new Intl.DateTimeFormat(a,b)}catch{return new Intl.DateTimeFormat(void 0,b)}}),Collator:(a,b)=>new d.d(()=>{try{return new Intl.Collator(a,b)}catch{return new Intl.Collator(void 0,b)}}),Segmenter:(a,b)=>new d.d(()=>{try{return new Intl.Segmenter(a,b)}catch{return new Intl.Segmenter(void 0,b)}}),Locale:(a,b)=>new d.d(()=>{try{return new Intl.Locale(a,b)}catch{return new Intl.Locale(e.ti,b)}}),NumberFormat:(a,b)=>new d.d(()=>{try{return new Intl.NumberFormat(a,b)}catch{return new Intl.NumberFormat(void 0,b)}})}},11866:(a,b,c)=>{"use strict";c.d(b,{Np:()=>f,jA:()=>g,z9:()=>e});var d=c(15380);function e(a){return!!a&&"function"==typeof a.getEditorType&&a.getEditorType()===d._.ICodeEditor}function f(a){return!!a&&"function"==typeof a.getEditorType&&a.getEditorType()===d._.IDiffEditor}function g(a){return e(a)?a:f(a)?a.getModifiedEditor():a&&"object"==typeof a&&"function"==typeof a.onDidChangeActiveEditor&&e(a.activeCodeEditor)?a.activeCodeEditor:null}},12650:()=>{},12783:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});class d{constructor(a,b,c,d,e,f,g){this.id=a,this.label=b,this.alias=c,this.metadata=d,this._precondition=e,this._run=f,this._contextKeyService=g}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(a){return this.isSupported()?this._run(a):Promise.resolve(void 0)}}},13516:()=>{},13655:(a,b,c)=>{"use strict";c.d(b,{G$:()=>i,Of:()=>f,r0:()=>g,rr:()=>h});var d=c(25536);class e{constructor(a,b,c=b){this.modifierLabels=[null],this.modifierLabels[2]=a,this.modifierLabels[1]=b,this.modifierLabels[3]=c}toLabel(a,b,c){if(0===b.length)return null;let d=[];for(let e=0,f=b.length;e<f;e++){let f=b[e],g=c(f);if(null===g)return null;d[e]=function(a,b,c){if(null===b)return"";let d=[];return a.ctrlKey&&d.push(c.ctrlKey),a.shiftKey&&d.push(c.shiftKey),a.altKey&&d.push(c.altKey),a.metaKey&&d.push(c.metaKey),""!==b&&d.push(b),d.join(c.separator)}(f,g,this.modifierLabels[a])}return d.join(" ")}}let f=new e({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:d.kg(35,"Ctrl"),shiftKey:d.kg(36,"Shift"),altKey:d.kg(37,"Alt"),metaKey:d.kg(38,"Windows"),separator:"+"},{ctrlKey:d.kg(39,"Ctrl"),shiftKey:d.kg(40,"Shift"),altKey:d.kg(41,"Alt"),metaKey:d.kg(42,"Super"),separator:"+"}),g=new e({ctrlKey:d.kg(43,"Control"),shiftKey:d.kg(44,"Shift"),altKey:d.kg(45,"Option"),metaKey:d.kg(46,"Command"),separator:"+"},{ctrlKey:d.kg(47,"Control"),shiftKey:d.kg(48,"Shift"),altKey:d.kg(49,"Alt"),metaKey:d.kg(50,"Windows"),separator:"+"},{ctrlKey:d.kg(51,"Control"),shiftKey:d.kg(52,"Shift"),altKey:d.kg(53,"Alt"),metaKey:d.kg(54,"Super"),separator:"+"}),h=new e({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"}),i=new e({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"})},13816:(a,b,c)=>{"use strict";c.d(b,{J:()=>f,U:()=>e});var d=c(29715);let e=(0,d.u1)("textResourceConfigurationService"),f=(0,d.u1)("textResourcePropertiesService")},14088:(a,b,c)=>{"use strict";c.d(b,{Ho:()=>b4,kI:()=>b5,Bz:()=>bW,oL:()=>bX});var d,e,f,g=c(54734),h=c(23949),i=c(88347),j=c(60734),k=c(11314),l=c(98447),m=c(45640),n=c(6657),o=c(25146),p=c(79677),q=c(59317),r=c(32146),s=c(93835),t=c(81190),u=c(59298),v=c(34747),w=c(65576),x=c(61004);class y{constructor(a,b,c,d){this.range=a,this.nestingLevel=b,this.nestingLevelOfEqualBracketType=c,this.isInvalid=d}}class z{constructor(a,b,c,d,e,f){this.range=a,this.openingBracketRange=b,this.closingBracketRange=c,this.nestingLevel=d,this.nestingLevelOfEqualBracketType=e,this.bracketPairNode=f}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class A extends z{constructor(a,b,c,d,e,f,g){super(a,b,c,d,e,f),this.minVisibleColumnIndentation=g}}var B=c(88662),C=c(63506),D=c(25247),E=c(41502),F=c(23316),G=c(38066),H=c(41500);class I extends k.jG{didLanguageChange(a){return this.brackets.didLanguageChange(a)}constructor(a,b){if(super(),this.textModel=a,this.getLanguageConfiguration=b,this.didChangeEmitter=new j.vl,this.denseKeyProvider=new F.Mg,this.brackets=new C.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],a.tokenization.hasTokens)2===a.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{let a=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),b=new G._(this.textModel.getValue(),a);this.initialAstWithoutTokens=(0,E.T)(b,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){let a=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,a||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:a}){let b=a.map(a=>new B.c((0,D.qe)(a.fromLineNumber-1,0),(0,D.qe)(a.toLineNumber,0),(0,D.qe)(a.toLineNumber-a.fromLineNumber+1,0)));this.handleEdits(b,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(a){let b=B.c.fromModelContentChanges(a.changes);this.handleEdits(b,!1)}handleEdits(a,b){let c=(0,H.M)(this.queuedTextEdits,a);this.queuedTextEdits=c,this.initialAstWithoutTokens&&!b&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,H.M)(this.queuedTextEditsForInitialAstWithoutTokens,a))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(a,b,c){let d=new G.tk(this.textModel,this.brackets);return(0,E.T)(d,a,b,c)}getBracketsInRange(a,b){this.flushQueue();let c=(0,D.qe)(a.startLineNumber-1,a.startColumn-1),d=(0,D.qe)(a.endLineNumber-1,a.endColumn-1);return new g.c1(a=>{let e=this.initialAstWithoutTokens||this.astWithTokens;!function a(b,c,d,e,f,g,h,i,j,k,l=!1){if(h>200)return!0;b:for(;;)switch(b.kind){case 4:{let i=b.childrenLength;for(let l=0;l<i;l++){let i=b.getChild(l);if(i){if(d=(0,D.QB)(c,i.length),(0,D.vr)(c,f)&&(0,D.o0)(d,e)){if((0,D.o0)(d,f)){b=i;continue b}if(!a(i,c,d,e,f,g,h,0,j,k))return!1}c=d}}return!0}case 2:{let l=!k||!b.closingBracket||b.closingBracket.bracketInfo.closesColorized(b.openingBracket.bracketInfo),m=0;if(j){let a=j.get(b.openingBracket.text);void 0===a&&(a=0),m=a,l&&(a++,j.set(b.openingBracket.text,a))}let n=b.childrenLength;for(let o=0;o<n;o++){let n=b.getChild(o);if(n){if(d=(0,D.QB)(c,n.length),(0,D.vr)(c,f)&&(0,D.o0)(d,e)){if((0,D.o0)(d,f)&&1!==n.kind){b=n,l?(h++,i=m+1):i=m;continue b}if((l||1!==n.kind||!b.closingBracket)&&!a(n,c,d,e,f,g,l?h+1:h,l?m+1:m,j,k,!b.closingBracket))return!1}c=d}}return j?.set(b.openingBracket.text,m),!0}case 3:return g(new y((0,D.Qx)(c,d),h-1,0,!0));case 1:return g(new y((0,D.Qx)(c,d),h-1,i-1,l));case 0:return!0}}(e,D.Vp,e.length,c,d,a,0,0,new Map,b)})}getBracketPairsInRange(a,b){this.flushQueue();let c=(0,D.VL)(a.getStartPosition()),d=(0,D.VL)(a.getEndPosition());return new g.c1(a=>{let e=this.initialAstWithoutTokens||this.astWithTokens,f=new J(a,b,this.textModel);!function a(b,c,d,e,f,g,h,i){if(h>200)return!0;let j=!0;if(2===b.kind){let k=0;if(i){let a=i.get(b.openingBracket.text);void 0===a&&(a=0),k=a,a++,i.set(b.openingBracket.text,a)}let l=(0,D.QB)(c,b.openingBracket.length),m=-1;if(g.includeMinIndentation&&(m=b.computeMinIndentation(c,g.textModel)),j=g.push(new A((0,D.Qx)(c,d),(0,D.Qx)(c,l),b.closingBracket?(0,D.Qx)((0,D.QB)(l,b.child?.length||D.Vp),d):void 0,h,k,b,m)),c=l,j&&b.child){let k=b.child;if(d=(0,D.QB)(c,k.length),(0,D.vr)(c,f)&&(0,D.o0)(d,e)&&!(j=a(k,c,d,e,f,g,h+1,i)))return!1}i?.set(b.openingBracket.text,k)}else{let d=c;for(let c of b.children){let b=d;if(d=(0,D.QB)(d,c.length),(0,D.vr)(b,f)&&(0,D.vr)(e,d)&&!(j=a(c,b,d,e,f,g,h,i)))return!1}}return j}(e,D.Vp,e.length,c,d,f,0,new Map)})}getFirstBracketAfter(a){this.flushQueue();let b=this.initialAstWithoutTokens||this.astWithTokens;return function a(b,c,d,e){if(4===b.kind||2===b.kind)for(let f of b.children){if(d=(0,D.QB)(c,f.length),(0,D.zG)(e,d)){let b=a(f,c,d,e);if(b)return b}c=d}else if(3===b.kind);else if(1===b.kind){let a=(0,D.Qx)(c,d);return{bracketInfo:b.bracketInfo,range:a}}return null}(b,D.Vp,b.length,(0,D.VL)(a))}getFirstBracketBefore(a){this.flushQueue();let b=this.initialAstWithoutTokens||this.astWithTokens;return function a(b,c,d,e){if(4===b.kind||2===b.kind){let f=[];for(let a of b.children)d=(0,D.QB)(c,a.length),f.push({nodeOffsetStart:c,nodeOffsetEnd:d}),c=d;for(let c=f.length-1;c>=0;c--){let{nodeOffsetStart:d,nodeOffsetEnd:g}=f[c];if((0,D.zG)(d,e)){let f=a(b.children[c],d,g,e);if(f)return f}}}else if(3===b.kind);else if(1===b.kind){let a=(0,D.Qx)(c,d);return{bracketInfo:b.bracketInfo,range:a}}return null}(b,D.Vp,b.length,(0,D.VL)(a))}}class J{constructor(a,b,c){this.push=a,this.includeMinIndentation=b,this.textModel=c}}class K extends k.jG{get canBuildAST(){return 5e6>=this.textModel.getValueLength()}constructor(a,b){super(),this.textModel=a,this.languageConfigurationService=b,this.bracketPairsTree=this._register(new k.HE),this.onDidChangeEmitter=new j.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(a){(!a.languageId||this.bracketPairsTree.value?.object.didLanguageChange(a.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(a){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(a){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(a){this.bracketPairsTree.value?.object.handleContentChanged(a)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(a){this.bracketPairsTree.value?.object.handleDidChangeTokens(a)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){var a,b;let c=new k.Cm;this.bracketPairsTree.value=(a=c.add(new I(this.textModel,a=>this.languageConfigurationService.getLanguageConfiguration(a))),b=c,{object:a,dispose:()=>b?.dispose()}),c.add(this.bracketPairsTree.value.object.onDidChange(a=>this.onDidChangeEmitter.fire(a))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(a){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(a,!1)||g.c1.empty}getBracketPairsInRangeWithMinIndentation(a){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(a,!0)||g.c1.empty}getBracketsInRange(a,b=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(a,b)||g.c1.empty}findMatchingBracketUp(a,b,c){let d=this.textModel.validatePosition(b),e=this.textModel.getLanguageIdAtPosition(d.lineNumber,d.column);if(this.canBuildAST){let c=this.languageConfigurationService.getLanguageConfiguration(e).bracketsNew.getClosingBracketInfo(a);if(!c)return null;let d=this.getBracketPairsInRange(q.Q.fromPositions(b,b)).findLast(a=>c.closes(a.openingBracketInfo));return d?d.openingBracketRange:null}{let b=a.toLowerCase(),f=this.languageConfigurationService.getLanguageConfiguration(e).brackets;if(!f)return null;let g=f.textIsBracket[b];return g?N(this._findMatchingBracketUp(g,d,L(c))):null}}matchBracket(a,b){if(this.canBuildAST){let b=this.getBracketPairsInRange(q.Q.fromPositions(a,a)).filter(b=>void 0!==b.closingBracketRange&&(b.openingBracketRange.containsPosition(a)||b.closingBracketRange.containsPosition(a))).findLastMaxBy((0,g.VE)(b=>b.openingBracketRange.containsPosition(a)?b.openingBracketRange:b.closingBracketRange,q.Q.compareRangesUsingStarts));return b?[b.openingBracketRange,b.closingBracketRange]:null}{let c=L(b);return this._matchBracket(this.textModel.validatePosition(a),c)}}_establishBracketSearchOffsets(a,b,c,d){let e=b.getCount(),f=b.getLanguageId(d),g=Math.max(0,a.column-1-c.maxBracketLength);for(let a=d-1;a>=0;a--){let c=b.getEndOffset(a);if(c<=g)break;if((0,w.Yo)(b.getStandardTokenType(a))||b.getLanguageId(a)!==f){g=c;break}}let h=Math.min(b.getLineContent().length,a.column-1+c.maxBracketLength);for(let a=d+1;a<e;a++){let c=b.getStartOffset(a);if(c>=h)break;if((0,w.Yo)(b.getStandardTokenType(a))||b.getLanguageId(a)!==f){h=c;break}}return{searchStartOffset:g,searchEndOffset:h}}_matchBracket(a,b){let c=a.lineNumber,d=this.textModel.tokenization.getLineTokens(c),e=this.textModel.getLineContent(c),f=d.findTokenIndexAtOffset(a.column-1);if(f<0)return null;let g=this.languageConfigurationService.getLanguageConfiguration(d.getLanguageId(f)).brackets;if(g&&!(0,w.Yo)(d.getStandardTokenType(f))){let{searchStartOffset:h,searchEndOffset:i}=this._establishBracketSearchOffsets(a,d,g,f),j=null;for(;;){let d=x.Fu.findNextBracketInRange(g.forwardRegex,c,e,h,i);if(!d)break;if(d.startColumn<=a.column&&a.column<=d.endColumn){let a=e.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),c=this._matchFoundBracket(d,g.textIsBracket[a],g.textIsOpenBracket[a],b);if(c){if(c instanceof M)return null;j=c}}h=d.endColumn-1}if(j)return j}if(f>0&&d.getStartOffset(f)===a.column-1){let g=f-1,h=this.languageConfigurationService.getLanguageConfiguration(d.getLanguageId(g)).brackets;if(h&&!(0,w.Yo)(d.getStandardTokenType(g))){let{searchStartOffset:f,searchEndOffset:i}=this._establishBracketSearchOffsets(a,d,h,g),j=x.Fu.findPrevBracketInRange(h.reversedRegex,c,e,f,i);if(j&&j.startColumn<=a.column&&a.column<=j.endColumn){let a=e.substring(j.startColumn-1,j.endColumn-1).toLowerCase(),c=this._matchFoundBracket(j,h.textIsBracket[a],h.textIsOpenBracket[a],b);if(c)return c instanceof M?null:c}}}return null}_matchFoundBracket(a,b,c,d){if(!b)return null;let e=c?this._findMatchingBracketDown(b,a.getEndPosition(),d):this._findMatchingBracketUp(b,a.getStartPosition(),d);return e?e instanceof M?e:[a,e]:null}_findMatchingBracketUp(a,b,c){let d=a.languageId,e=a.reversedRegex,f=-1,g=0,h=(b,d,h,i)=>{for(;;){if(c&&++g%100==0&&!c())return M.INSTANCE;let j=x.Fu.findPrevBracketInRange(e,b,d,h,i);if(!j)break;let k=d.substring(j.startColumn-1,j.endColumn-1).toLowerCase();if(a.isOpen(k)?f++:a.isClose(k)&&f--,0===f)return j;i=j.startColumn-1}return null};for(let a=b.lineNumber;a>=1;a--){let c=this.textModel.tokenization.getLineTokens(a),e=c.getCount(),f=this.textModel.getLineContent(a),g=e-1,i=f.length,j=f.length;a===b.lineNumber&&(g=c.findTokenIndexAtOffset(b.column-1),i=b.column-1,j=b.column-1);let k=!0;for(;g>=0;g--){let b=c.getLanguageId(g)===d&&!(0,w.Yo)(c.getStandardTokenType(g));if(b)k?i=c.getStartOffset(g):(i=c.getStartOffset(g),j=c.getEndOffset(g));else if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}k=b}if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}}return null}_findMatchingBracketDown(a,b,c){let d=a.languageId,e=a.forwardRegex,f=1,g=0,h=(b,d,h,i)=>{for(;;){if(c&&++g%100==0&&!c())return M.INSTANCE;let j=x.Fu.findNextBracketInRange(e,b,d,h,i);if(!j)break;let k=d.substring(j.startColumn-1,j.endColumn-1).toLowerCase();if(a.isOpen(k)?f++:a.isClose(k)&&f--,0===f)return j;h=j.endColumn-1}return null},i=this.textModel.getLineCount();for(let a=b.lineNumber;a<=i;a++){let c=this.textModel.tokenization.getLineTokens(a),e=c.getCount(),f=this.textModel.getLineContent(a),g=0,i=0,j=0;a===b.lineNumber&&(g=c.findTokenIndexAtOffset(b.column-1),i=b.column-1,j=b.column-1);let k=!0;for(;g<e;g++){let b=c.getLanguageId(g)===d&&!(0,w.Yo)(c.getStandardTokenType(g));if(b)k||(i=c.getStartOffset(g)),j=c.getEndOffset(g);else if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}k=b}if(k&&i!==j){let b=h(a,f,i,j);if(b)return b}}return null}findPrevBracket(a){let b=this.textModel.validatePosition(a);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(b)||null;let c=null,d=null,e=null;for(let a=b.lineNumber;a>=1;a--){let f=this.textModel.tokenization.getLineTokens(a),g=f.getCount(),h=this.textModel.getLineContent(a),i=g-1,j=h.length,k=h.length;if(a===b.lineNumber){i=f.findTokenIndexAtOffset(b.column-1),j=b.column-1,k=b.column-1;let a=f.getLanguageId(i);c!==a&&(c=a,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets,e=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew)}let l=!0;for(;i>=0;i--){let b=f.getLanguageId(i);if(c!==b){if(d&&e&&l&&j!==k){let b=x.Fu.findPrevBracketInRange(d.reversedRegex,a,h,j,k);if(b)return this._toFoundBracket(e,b);l=!1}c=b,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets,e=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew}let g=!!d&&!(0,w.Yo)(f.getStandardTokenType(i));if(g)l?j=f.getStartOffset(i):(j=f.getStartOffset(i),k=f.getEndOffset(i));else if(e&&d&&l&&j!==k){let b=x.Fu.findPrevBracketInRange(d.reversedRegex,a,h,j,k);if(b)return this._toFoundBracket(e,b)}l=g}if(e&&d&&l&&j!==k){let b=x.Fu.findPrevBracketInRange(d.reversedRegex,a,h,j,k);if(b)return this._toFoundBracket(e,b)}}return null}findNextBracket(a){let b=this.textModel.validatePosition(a);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(b)||null;let c=this.textModel.getLineCount(),d=null,e=null,f=null;for(let a=b.lineNumber;a<=c;a++){let c=this.textModel.tokenization.getLineTokens(a),g=c.getCount(),h=this.textModel.getLineContent(a),i=0,j=0,k=0;if(a===b.lineNumber){i=c.findTokenIndexAtOffset(b.column-1),j=b.column-1,k=b.column-1;let a=c.getLanguageId(i);d!==a&&(d=a,e=this.languageConfigurationService.getLanguageConfiguration(d).brackets,f=this.languageConfigurationService.getLanguageConfiguration(d).bracketsNew)}let l=!0;for(;i<g;i++){let b=c.getLanguageId(i);if(d!==b){if(f&&e&&l&&j!==k){let b=x.Fu.findNextBracketInRange(e.forwardRegex,a,h,j,k);if(b)return this._toFoundBracket(f,b);l=!1}d=b,e=this.languageConfigurationService.getLanguageConfiguration(d).brackets,f=this.languageConfigurationService.getLanguageConfiguration(d).bracketsNew}let g=!!e&&!(0,w.Yo)(c.getStandardTokenType(i));if(g)l||(j=c.getStartOffset(i)),k=c.getEndOffset(i);else if(f&&e&&l&&j!==k){let b=x.Fu.findNextBracketInRange(e.forwardRegex,a,h,j,k);if(b)return this._toFoundBracket(f,b)}l=g}if(f&&e&&l&&j!==k){let b=x.Fu.findNextBracketInRange(e.forwardRegex,a,h,j,k);if(b)return this._toFoundBracket(f,b)}}return null}findEnclosingBrackets(a,b){let c=this.textModel.validatePosition(a);if(this.canBuildAST){let a=q.Q.fromPositions(c),b=this.getBracketPairsInRange(q.Q.fromPositions(c,c)).findLast(b=>void 0!==b.closingBracketRange&&b.range.strictContainsRange(a));return b?[b.openingBracketRange,b.closingBracketRange]:null}let d=L(b),e=this.textModel.getLineCount(),f=new Map,g=[],h=(a,b)=>{if(!f.has(a)){let c=[];for(let a=0,d=b?b.brackets.length:0;a<d;a++)c[a]=0;f.set(a,c)}g=f.get(a)},i=0,j=(a,b,c,e,f)=>{for(;;){if(d&&++i%100==0&&!d())return M.INSTANCE;let h=x.Fu.findNextBracketInRange(a.forwardRegex,b,c,e,f);if(!h)break;let j=c.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),k=a.textIsBracket[j];if(k&&(k.isOpen(j)?g[k.index]++:k.isClose(j)&&g[k.index]--,-1===g[k.index]))return this._matchFoundBracket(h,k,!1,d);e=h.endColumn-1}return null},k=null,l=null;for(let a=c.lineNumber;a<=e;a++){let b=this.textModel.tokenization.getLineTokens(a),d=b.getCount(),e=this.textModel.getLineContent(a),f=0,g=0,i=0;if(a===c.lineNumber){f=b.findTokenIndexAtOffset(c.column-1),g=c.column-1,i=c.column-1;let a=b.getLanguageId(f);k!==a&&(k=a,l=this.languageConfigurationService.getLanguageConfiguration(k).brackets,h(k,l))}let m=!0;for(;f<d;f++){let c=b.getLanguageId(f);if(k!==c){if(l&&m&&g!==i){let b=j(l,a,e,g,i);if(b)return N(b);m=!1}k=c,l=this.languageConfigurationService.getLanguageConfiguration(k).brackets,h(k,l)}let d=!!l&&!(0,w.Yo)(b.getStandardTokenType(f));if(d)m||(g=b.getStartOffset(f)),i=b.getEndOffset(f);else if(l&&m&&g!==i){let b=j(l,a,e,g,i);if(b)return N(b)}m=d}if(l&&m&&g!==i){let b=j(l,a,e,g,i);if(b)return N(b)}}return null}_toFoundBracket(a,b){if(!b)return null;let c=this.textModel.getValueInRange(b);c=c.toLowerCase();let d=a.getBracketInfo(c);return d?{range:b,bracketInfo:d}:null}}function L(a){if(void 0===a)return()=>!0;{let b=Date.now();return()=>Date.now()-b<=a}}class M{static{this.INSTANCE=new M}constructor(){this._searchCanceledBrand=void 0}}function N(a){return a instanceof M?null:a}var O=c(27499),P=c(42484);class Q extends k.jG{constructor(a){super(),this.textModel=a,this.colorProvider=new R,this.onDidChangeEmitter=new j.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=a.getOptions().bracketPairColorizationOptions,this._register(a.bracketPairs.onDidChange(a=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(a){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(a,b,c,d){return d||void 0===b||!this.colorizationOptions.enabled?[]:this.textModel.bracketPairs.getBracketsInRange(a,!0).map(a=>({id:`bracket${a.range.toString()}-${a.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(a,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:a.range})).toArray()}getAllDecorations(a,b){return void 0!==a&&this.colorizationOptions.enabled?this.getDecorationsInRange(new q.Q(1,1,this.textModel.getLineCount(),1),a,b):[]}}class R{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(a,b){return a.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(b?a.nestingLevelOfEqualBracketType:a.nestingLevel)}getInlineClassNameOfLevel(a){return`bracket-highlighting-${a%30}`}}(0,P.zy)((a,b)=>{let c=[O.sN,O.lQ,O.ss,O.l5,O.sH,O.zp],d=new R;b.addRule(`.monaco-editor .${d.unexpectedClosingBracketClassName} { color: ${a.getColor(O.s7)}; }`);let e=c.map(b=>a.getColor(b)).filter(a=>!!a).filter(a=>!a.isTransparent());for(let a=0;a<30;a++){let c=e[a%e.length];b.addRule(`.monaco-editor .${d.getInlineClassNameOfLevel(a)} { color: ${c}; }`)}});var S=c(33840),T=c(72070);class U{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function V(a,b,c){let d=Math.min(a.getLineCount(),1e4),e=0,f=0,g="",h=0,i=[0,0,0,0,0,0,0,0,0],j=new U;for(let k=1;k<=d;k++){let d=a.getLineLength(k),l=a.getLineContent(k),m=d<=65536,n=!1,o=0,p=0,q=0;for(let b=0;b<d;b++){let c=m?l.charCodeAt(b):a.getLineCharCode(k,b);if(9===c)q++;else if(32===c)p++;else{n=!0,o=b;break}}if(!n||(q>0?e++:p>1&&f++,!function(a,b,c,d,e){let f;for(f=0,e.spacesDiff=0,e.looksLikeAlignment=!1;f<b&&f<d&&a.charCodeAt(f)===c.charCodeAt(f);f++);let g=0,h=0;for(let c=f;c<b;c++)32===a.charCodeAt(c)?g++:h++;let i=0,j=0;for(let a=f;a<d;a++)32===c.charCodeAt(a)?i++:j++;if(g>0&&h>0||i>0&&j>0)return;let k=Math.abs(h-j),l=Math.abs(g-i);if(0===k){e.spacesDiff=l,l>0&&0<=i-1&&i-1<a.length&&i<c.length&&32!==c.charCodeAt(i)&&32===a.charCodeAt(i-1)&&44===a.charCodeAt(a.length-1)&&(e.looksLikeAlignment=!0);return}l%k==0&&(e.spacesDiff=l/k)}(g,h,l,o,j),j.looksLikeAlignment&&!(c&&b===j.spacesDiff)))continue;let r=j.spacesDiff;r<=8&&i[r]++,g=l,h=o}let k=c;e!==f&&(k=e<f);let l=b;if(k){let a=k?0:.1*d;[2,4,6,8,3,5,7].forEach(b=>{let c=i[b];c>a&&(a=c,l=b)}),4===l&&i[4]>0&&i[2]>0&&i[2]>=i[4]/2&&(l=2)}return{insertSpaces:k,tabSize:l}}function W(a){return(1&a.metadata)>>>0}function X(a,b){a.metadata=254&a.metadata|(0|b)}function Y(a){return(2&a.metadata)>>>1==1}function Z(a,b){a.metadata=253&a.metadata|!!b<<1}function $(a){return(4&a.metadata)>>>2==1}function _(a,b){a.metadata=251&a.metadata|!!b<<2}function aa(a){return(64&a.metadata)>>>6==1}function ab(a,b){a.metadata=191&a.metadata|!!b<<6}function ac(a){return(128&a.metadata)>>>7==1}function ad(a,b){a.metadata=127&a.metadata|!!b<<7}function ae(a,b){a.metadata=231&a.metadata|b<<3}function af(a,b){a.metadata=223&a.metadata|!!b<<5}class ag{constructor(a,b,c){this.metadata=0,this.parent=this,this.left=this,this.right=this,X(this,1),this.start=b,this.end=c,this.delta=0,this.maxEnd=c,this.id=a,this.ownerId=0,this.options=null,_(this,!1),ab(this,!1),ae(this,1),af(this,!1),ad(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=b,this.cachedAbsoluteEnd=c,this.range=null,Z(this,!1)}reset(a,b,c,d){this.start=b,this.end=c,this.maxEnd=c,this.cachedVersionId=a,this.cachedAbsoluteStart=b,this.cachedAbsoluteEnd=c,this.range=d}setOptions(a){this.options=a;let b=this.options.className;_(this,"squiggly-error"===b||"squiggly-warning"===b||"squiggly-info"===b),ab(this,null!==this.options.glyphMarginClassName),ae(this,this.options.stickiness),af(this,this.options.collapseOnReplaceEdit),ad(this,this.options.affectsFont??!1)}setCachedOffsets(a,b,c){this.cachedVersionId!==c&&(this.range=null),this.cachedVersionId=c,this.cachedAbsoluteStart=a,this.cachedAbsoluteEnd=b}detach(){this.parent=null,this.left=null,this.right=null}}let ah=new ag(null,0,0);ah.parent=ah,ah.left=ah,ah.right=ah,X(ah,0);class ai{constructor(){this.root=ah,this.requestNormalizeDelta=!1}intervalSearch(a,b,c,d,e,f,g){return this.root===ah?[]:function(a,b,c,d,e,f,g,h){let i=a.root,j=0,k=0,l=0,m=[],n=0;for(;i!==ah;){if(Y(i)){Z(i.left,!1),Z(i.right,!1),i===i.parent.right&&(j-=i.parent.delta),i=i.parent;continue}if(!Y(i.left)){if(j+i.maxEnd<b){Z(i,!0);continue}if(i.left!==ah){i=i.left;continue}}if((k=j+i.start)>c){Z(i,!0);continue}if((l=j+i.end)>=b){i.setCachedOffsets(k,l,g);let a=!0;d&&i.ownerId&&i.ownerId!==d&&(a=!1),e&&$(i)&&(a=!1),f&&ac(i)&&(a=!1),h&&!aa(i)&&(a=!1),a&&(m[n++]=i)}if(Z(i,!0),i.right!==ah&&!Y(i.right)){j+=i.delta,i=i.right;continue}}return Z(a.root,!1),m}(this,a,b,c,d,e,f,g)}search(a,b,c,d,e){return this.root===ah?[]:function(a,b,c,d,e,f){let g=a.root,h=0,i=0,j=0,k=[],l=0;for(;g!==ah;){if(Y(g)){Z(g.left,!1),Z(g.right,!1),g===g.parent.right&&(h-=g.parent.delta),g=g.parent;continue}if(g.left!==ah&&!Y(g.left)){g=g.left;continue}i=h+g.start,j=h+g.end,g.setCachedOffsets(i,j,e);let a=!0;if(b&&g.ownerId&&g.ownerId!==b&&(a=!1),c&&$(g)&&(a=!1),d&&ac(g)&&(a=!1),f&&!aa(g)&&(a=!1),a&&(k[l++]=g),Z(g,!0),g.right!==ah&&!Y(g.right)){h+=g.delta,g=g.right;continue}}return Z(a.root,!1),k}(this,a,b,c,d,e)}collectNodesFromOwner(a){return function(a,b){let c=a.root,d=[],e=0;for(;c!==ah;){if(Y(c)){Z(c.left,!1),Z(c.right,!1),c=c.parent;continue}if(c.left!==ah&&!Y(c.left)){c=c.left;continue}if(c.ownerId===b&&(d[e++]=c),Z(c,!0),c.right!==ah&&!Y(c.right)){c=c.right;continue}}return Z(a.root,!1),d}(this,a)}collectNodesPostOrder(){return function(a){let b=a.root,c=[],d=0;for(;b!==ah;){if(Y(b)){Z(b.left,!1),Z(b.right,!1),b=b.parent;continue}if(b.left!==ah&&!Y(b.left)){b=b.left;continue}if(b.right!==ah&&!Y(b.right)){b=b.right;continue}c[d++]=b,Z(b,!0)}return Z(a.root,!1),c}(this)}insert(a){ak(this,a),this._normalizeDeltaIfNecessary()}delete(a){al(this,a),this._normalizeDeltaIfNecessary()}resolveNode(a,b){let c=a,d=0;for(;a!==this.root;)a===a.parent.right&&(d+=a.parent.delta),a=a.parent;let e=c.start+d,f=c.end+d;c.setCachedOffsets(e,f,b)}acceptReplace(a,b,c,d){let e=function(a,b,c){let d=a.root,e=0,f=0,g=0,h=[],i=0;for(;d!==ah;){if(Y(d)){Z(d.left,!1),Z(d.right,!1),d===d.parent.right&&(e-=d.parent.delta),d=d.parent;continue}if(!Y(d.left)){if(e+d.maxEnd<b){Z(d,!0);continue}if(d.left!==ah){d=d.left;continue}}if((f=e+d.start)>c){Z(d,!0);continue}if((g=e+d.end)>=b&&(d.setCachedOffsets(f,g,0),h[i++]=d),Z(d,!0),d.right!==ah&&!Y(d.right)){e+=d.delta,d=d.right;continue}}return Z(a.root,!1),h}(this,a,a+b);for(let a=0,b=e.length;a<b;a++)al(this,e[a]);this._normalizeDeltaIfNecessary(),function(a,b,c,d){let e=a.root,f=0,g=d-(c-b);for(;e!==ah;){if(Y(e)){Z(e.left,!1),Z(e.right,!1),e===e.parent.right&&(f-=e.parent.delta),aq(e),e=e.parent;continue}if(!Y(e.left)){if(f+e.maxEnd<b){Z(e,!0);continue}if(e.left!==ah){e=e.left;continue}}if(f+e.start>c){e.start+=g,e.end+=g,e.delta+=g,(e.delta<-0x40000000||e.delta>0x40000000)&&(a.requestNormalizeDelta=!0),Z(e,!0);continue}if(Z(e,!0),e.right!==ah&&!Y(e.right)){f+=e.delta,e=e.right;continue}}Z(a.root,!1)}(this,a,a+b,c),this._normalizeDeltaIfNecessary();for(let f=0,g=e.length;f<g;f++){let g=e[f];g.start=g.cachedAbsoluteStart,g.end=g.cachedAbsoluteEnd,function(a,b,c,d,e){let f=(24&a.metadata)>>>3,g=0===f||2===f,h=1===f||2===f,i=c-b,j=Math.min(i,d),k=a.start,l=!1,m=a.end,n=!1;b<=k&&m<=c&&(32&a.metadata)>>>5==1&&(a.start=b,l=!0,a.end=b,n=!0);{let a=e?1:2*(i>0);!l&&aj(k,g,b,a)&&(l=!0),!n&&aj(m,h,b,a)&&(n=!0)}if(j>0&&!e){let a=2*(i>d);!l&&aj(k,g,b+j,a)&&(l=!0),!n&&aj(m,h,b+j,a)&&(n=!0)}{let f=+!!e;!l&&aj(k,g,c,f)&&(a.start=b+d,l=!0),!n&&aj(m,h,c,f)&&(a.end=b+d,n=!0)}let o=d-i;l||(a.start=Math.max(0,k+o)),n||(a.end=Math.max(0,m+o)),a.start>a.end&&(a.end=a.start)}(g,a,a+b,c,d),g.maxEnd=g.end,ak(this,g)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(a){let b=a.root,c=0;for(;b!==ah;){if(b.left!==ah&&!Y(b.left)){b=b.left;continue}if(b.right!==ah&&!Y(b.right)){c+=b.delta,b=b.right;continue}b.start=c+b.start,b.end=c+b.end,b.delta=0,aq(b),Z(b,!0),Z(b.left,!1),Z(b.right,!1),b===b.parent.right&&(c-=b.parent.delta),b=b.parent}Z(a.root,!1)}(this))}}function aj(a,b,c,d){return a<c||!(a>c)&&1!==d&&(2===d||b)}function ak(a,b){if(a.root===ah)return b.parent=ah,b.left=ah,b.right=ah,X(b,0),a.root=b,a.root;(function(a,b){let c=0,d=a.root,e=b.start,f=b.end;for(;;){var g,h,i,j;if(0>(g=e,h=f,i=d.start+c,j=d.end+c,g===i?h-j:g-i))if(d.left===ah){b.start-=c,b.end-=c,b.maxEnd-=c,d.left=b;break}else d=d.left;else if(d.right===ah){b.start-=c+d.delta,b.end-=c+d.delta,b.maxEnd-=c+d.delta,d.right=b;break}else c+=d.delta,d=d.right}b.parent=d,b.left=ah,b.right=ah,X(b,1)})(a,b),ar(b.parent);let c=b;for(;c!==a.root&&1===W(c.parent);)if(c.parent===c.parent.parent.left){let b=c.parent.parent.right;1===W(b)?(X(c.parent,0),X(b,0),X(c.parent.parent,1),c=c.parent.parent):(c===c.parent.right&&an(a,c=c.parent),X(c.parent,0),X(c.parent.parent,1),ao(a,c.parent.parent))}else{let b=c.parent.parent.left;1===W(b)?(X(c.parent,0),X(b,0),X(c.parent.parent,1),c=c.parent.parent):(c===c.parent.left&&ao(a,c=c.parent),X(c.parent,0),X(c.parent.parent,1),an(a,c.parent.parent))}return X(a.root,0),b}function al(a,b){let c,d,e;if(b.left===ah?(c=b.right,d=b,c.delta+=b.delta,(c.delta<-0x40000000||c.delta>0x40000000)&&(a.requestNormalizeDelta=!0),c.start+=b.delta,c.end+=b.delta):b.right===ah?(c=b.left,d=b):(c=(d=function(a){for(;a.left!==ah;)a=a.left;return a}(b.right)).right,c.start+=d.delta,c.end+=d.delta,c.delta+=d.delta,(c.delta<-0x40000000||c.delta>0x40000000)&&(a.requestNormalizeDelta=!0),d.start+=b.delta,d.end+=b.delta,d.delta=b.delta,(d.delta<-0x40000000||d.delta>0x40000000)&&(a.requestNormalizeDelta=!0)),d===a.root){a.root=c,X(c,0),b.detach(),am(),aq(c),a.root.parent=ah;return}let f=1===W(d);if(d===d.parent.left?d.parent.left=c:d.parent.right=c,d===b?c.parent=d.parent:(d.parent===b?c.parent=d:c.parent=d.parent,d.left=b.left,d.right=b.right,d.parent=b.parent,X(d,W(b)),b===a.root?a.root=d:b===b.parent.left?b.parent.left=d:b.parent.right=d,d.left!==ah&&(d.left.parent=d),d.right!==ah&&(d.right.parent=d)),b.detach(),f){ar(c.parent),d!==b&&(ar(d),ar(d.parent)),am();return}for(ar(c),ar(c.parent),d!==b&&(ar(d),ar(d.parent));c!==a.root&&0===W(c);)c===c.parent.left?(1===W(e=c.parent.right)&&(X(e,0),X(c.parent,1),an(a,c.parent),e=c.parent.right),0===W(e.left)&&0===W(e.right)?(X(e,1),c=c.parent):(0===W(e.right)&&(X(e.left,0),X(e,1),ao(a,e),e=c.parent.right),X(e,W(c.parent)),X(c.parent,0),X(e.right,0),an(a,c.parent),c=a.root)):(1===W(e=c.parent.left)&&(X(e,0),X(c.parent,1),ao(a,c.parent),e=c.parent.left),0===W(e.left)&&0===W(e.right)?(X(e,1),c=c.parent):(0===W(e.left)&&(X(e.right,0),X(e,1),an(a,e),e=c.parent.left),X(e,W(c.parent)),X(c.parent,0),X(e.left,0),ao(a,c.parent),c=a.root));X(c,0),am()}function am(){ah.parent=ah,ah.delta=0,ah.start=0,ah.end=0}function an(a,b){let c=b.right;c.delta+=b.delta,(c.delta<-0x40000000||c.delta>0x40000000)&&(a.requestNormalizeDelta=!0),c.start+=b.delta,c.end+=b.delta,b.right=c.left,c.left!==ah&&(c.left.parent=b),c.parent=b.parent,b.parent===ah?a.root=c:b===b.parent.left?b.parent.left=c:b.parent.right=c,c.left=b,b.parent=c,aq(b),aq(c)}function ao(a,b){let c=b.left;b.delta-=c.delta,(b.delta<-0x40000000||b.delta>0x40000000)&&(a.requestNormalizeDelta=!0),b.start-=c.delta,b.end-=c.delta,b.left=c.right,c.right!==ah&&(c.right.parent=b),c.parent=b.parent,b.parent===ah?a.root=c:b===b.parent.right?b.parent.right=c:b.parent.left=c,c.right=b,b.parent=c,aq(b),aq(c)}function ap(a){let b=a.end;if(a.left!==ah){let c=a.left.maxEnd;c>b&&(b=c)}if(a.right!==ah){let c=a.right.maxEnd+a.delta;c>b&&(b=c)}return b}function aq(a){a.maxEnd=ap(a)}function ar(a){for(;a!==ah;){let b=ap(a);if(a.maxEnd===b)return;a.maxEnd=b,a=a.parent}}class as{constructor(a,b){this.piece=a,this.color=b,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==at)return au(this.right);let a=this;for(;a.parent!==at&&a.parent.left!==a;)a=a.parent;return a.parent===at?at:a.parent}prev(){if(this.left!==at)return av(this.left);let a=this;for(;a.parent!==at&&a.parent.right!==a;)a=a.parent;return a.parent===at?at:a.parent}detach(){this.parent=null,this.left=null,this.right=null}}let at=new as(null,0);function au(a){for(;a.left!==at;)a=a.left;return a}function av(a){for(;a.right!==at;)a=a.right;return a}function aw(a){return a===at?0:a.size_left+a.piece.length+aw(a.right)}function ax(a){return a===at?0:a.lf_left+a.piece.lineFeedCnt+ax(a.right)}function ay(){at.parent=at}function az(a,b){let c=b.right;c.size_left+=b.size_left+(b.piece?b.piece.length:0),c.lf_left+=b.lf_left+(b.piece?b.piece.lineFeedCnt:0),b.right=c.left,c.left!==at&&(c.left.parent=b),c.parent=b.parent,b.parent===at?a.root=c:b.parent.left===b?b.parent.left=c:b.parent.right=c,c.left=b,b.parent=c}function aA(a,b){let c=b.left;b.left=c.right,c.right!==at&&(c.right.parent=b),c.parent=b.parent,b.size_left-=c.size_left+(c.piece?c.piece.length:0),b.lf_left-=c.lf_left+(c.piece?c.piece.lineFeedCnt:0),b.parent===at?a.root=c:b===b.parent.right?b.parent.right=c:b.parent.left=c,c.right=b,b.parent=c}function aB(a,b){let c,d,e;if(c=b.left===at?(d=b).right:b.right===at?(d=b).left:(d=au(b.right)).right,d===a.root){a.root=c,c.color=0,b.detach(),ay(),a.root.parent=at;return}let f=1===d.color;if(d===d.parent.left?d.parent.left=c:d.parent.right=c,d===b?(c.parent=d.parent,aE(a,c)):(d.parent===b?c.parent=d:c.parent=d.parent,aE(a,c),d.left=b.left,d.right=b.right,d.parent=b.parent,d.color=b.color,b===a.root?a.root=d:b===b.parent.left?b.parent.left=d:b.parent.right=d,d.left!==at&&(d.left.parent=d),d.right!==at&&(d.right.parent=d),d.size_left=b.size_left,d.lf_left=b.lf_left,aE(a,d)),b.detach(),c.parent.left===c){let b=aw(c),d=ax(c);if(b!==c.parent.size_left||d!==c.parent.lf_left){let e=b-c.parent.size_left,f=d-c.parent.lf_left;c.parent.size_left=b,c.parent.lf_left=d,aD(a,c.parent,e,f)}}if(aE(a,c.parent),f)return void ay();for(;c!==a.root&&0===c.color;)c===c.parent.left?(1===(e=c.parent.right).color&&(e.color=0,c.parent.color=1,az(a,c.parent),e=c.parent.right),0===e.left.color&&0===e.right.color?(e.color=1,c=c.parent):(0===e.right.color&&(e.left.color=0,e.color=1,aA(a,e),e=c.parent.right),e.color=c.parent.color,c.parent.color=0,e.right.color=0,az(a,c.parent),c=a.root)):(1===(e=c.parent.left).color&&(e.color=0,c.parent.color=1,aA(a,c.parent),e=c.parent.left),0===e.left.color&&0===e.right.color?(e.color=1,c=c.parent):(0===e.left.color&&(e.right.color=0,e.color=1,az(a,e),e=c.parent.left),e.color=c.parent.color,c.parent.color=0,e.left.color=0,aA(a,c.parent),c=a.root));c.color=0,ay()}function aC(a,b){for(aE(a,b);b!==a.root&&1===b.parent.color;)if(b.parent===b.parent.parent.left){let c=b.parent.parent.right;1===c.color?(b.parent.color=0,c.color=0,b.parent.parent.color=1,b=b.parent.parent):(b===b.parent.right&&az(a,b=b.parent),b.parent.color=0,b.parent.parent.color=1,aA(a,b.parent.parent))}else{let c=b.parent.parent.left;1===c.color?(b.parent.color=0,c.color=0,b.parent.parent.color=1,b=b.parent.parent):(b===b.parent.left&&aA(a,b=b.parent),b.parent.color=0,b.parent.parent.color=1,az(a,b.parent.parent))}a.root.color=0}function aD(a,b,c,d){for(;b!==a.root&&b!==at;)b.parent.left===b&&(b.parent.size_left+=c,b.parent.lf_left+=d),b=b.parent}function aE(a,b){let c=0,d=0;if(b!==a.root){for(;b!==a.root&&b===b.parent.right;)b=b.parent;if(b!==a.root)for(c=aw((b=b.parent).left)-b.size_left,d=ax(b.left)-b.lf_left,b.size_left+=c,b.lf_left+=d;b!==a.root&&(0!==c||0!==d);)b.parent.left===b&&(b.parent.size_left+=c,b.parent.lf_left+=d),b=b.parent}}at.parent=at,at.left=at,at.right=at,at.color=0;var aF=c(70544);function aG(a){let b;return(b=a[a.length-1]<65536?new Uint16Array(a.length):new Uint32Array(a.length)).set(a,0),b}class aH{constructor(a,b,c,d,e){this.lineStarts=a,this.cr=b,this.lf=c,this.crlf=d,this.isBasicASCII=e}}function aI(a,b=!0){let c=[0],d=1;for(let b=0,e=a.length;b<e;b++){let f=a.charCodeAt(b);13===f?b+1<e&&10===a.charCodeAt(b+1)?(c[d++]=b+2,b++):c[d++]=b+1:10===f&&(c[d++]=b+1)}return b?aG(c):c}class aJ{constructor(a,b,c,d,e){this.bufferIndex=a,this.start=b,this.end=c,this.lineFeedCnt=d,this.length=e}}class aK{constructor(a,b){this.buffer=a,this.lineStarts=b}}class aL{constructor(a,b){this._pieces=[],this._tree=a,this._BOM=b,this._index=0,a.root!==at&&a.iterate(a.root,a=>(a!==at&&this._pieces.push(a.piece),!0))}read(){if(0===this._pieces.length)if(0===this._index)return this._index++,this._BOM;else return null;return this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class aM{constructor(a){this._limit=a,this._cache=[]}get(a){for(let b=this._cache.length-1;b>=0;b--){let c=this._cache[b];if(c.nodeStartOffset<=a&&c.nodeStartOffset+c.node.piece.length>=a)return c}return null}get2(a){for(let b=this._cache.length-1;b>=0;b--){let c=this._cache[b];if(c.nodeStartLineNumber&&c.nodeStartLineNumber<a&&c.nodeStartLineNumber+c.node.piece.lineFeedCnt>=a)return c}return null}set(a){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(a)}validate(a){let b=!1,c=this._cache;for(let d=0;d<c.length;d++){let e=c[d];if(null===e.node.parent||e.nodeStartOffset>=a){c[d]=null,b=!0;continue}}if(b){let a=[];for(let b of c)null!==b&&a.push(b);this._cache=a}}}class aN{constructor(a,b,c){this.create(a,b,c)}create(a,b,c){this._buffers=[new aK("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=at,this._lineCnt=1,this._length=0,this._EOL=b,this._EOLLength=b.length,this._EOLNormalized=c;let d=null;for(let b=0,c=a.length;b<c;b++)if(a[b].buffer.length>0){a[b].lineStarts||(a[b].lineStarts=aI(a[b].buffer));let c=new aJ(b+1,{line:0,column:0},{line:a[b].lineStarts.length-1,column:a[b].buffer.length-a[b].lineStarts[a[b].lineStarts.length-1]},a[b].lineStarts.length-1,a[b].buffer.length);this._buffers.push(a[b]),d=this.rbInsertRight(d,c)}this._searchCache=new aM(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(a){let b=65535-Math.floor(21845),c=2*b,d="",e=0,f=[];if(this.iterate(this.root,g=>{let h=this.getNodeContent(g),i=h.length;if(e<=b||e+i<c)return d+=h,e+=i,!0;let j=d.replace(/\r\n|\r|\n/g,a);return f.push(new aK(j,aI(j))),d=h,e=i,!0}),e>0){let b=d.replace(/\r\n|\r|\n/g,a);f.push(new aK(b,aI(b)))}this.create(f,a,!0)}getEOL(){return this._EOL}setEOL(a){this._EOL=a,this._EOLLength=this._EOL.length,this.normalizeEOL(a)}createSnapshot(a){return new aL(this,a)}getOffsetAt(a,b){let c=0,d=this.root;for(;d!==at;)if(d.left!==at&&d.lf_left+1>=a)d=d.left;else{if(d.lf_left+d.piece.lineFeedCnt+1>=a)return(c+=d.size_left)+(this.getAccumulatedValue(d,a-d.lf_left-2)+b-1);a-=d.lf_left+d.piece.lineFeedCnt,c+=d.size_left+d.piece.length,d=d.right}return c}getPositionAt(a){a=Math.max(0,a=Math.floor(a));let b=this.root,c=0,d=a;for(;b!==at;)if(0!==b.size_left&&b.size_left>=a)b=b.left;else if(b.size_left+b.piece.length>=a){let e=this.getIndexOf(b,a-b.size_left);if(c+=b.lf_left+e.index,0===e.index){let a=d-this.getOffsetAt(c+1,1);return new p.y(c+1,a+1)}return new p.y(c+1,e.remainder+1)}else{if(a-=b.size_left+b.piece.length,c+=b.lf_left+b.piece.lineFeedCnt,b.right===at){let b=this.getOffsetAt(c+1,1),e=d-a-b;return new p.y(c+1,e+1)}b=b.right}return new p.y(1,1)}getValueInRange(a,b){if(a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn)return"";let c=this.nodeAt2(a.startLineNumber,a.startColumn),d=this.nodeAt2(a.endLineNumber,a.endColumn),e=this.getValueInRange2(c,d);return b?b===this._EOL&&this._EOLNormalized&&b===this.getEOL()&&this._EOLNormalized?e:e.replace(/\r\n|\r|\n/g,b):e}getValueInRange2(a,b){if(a.node===b.node){let c=a.node,d=this._buffers[c.piece.bufferIndex].buffer,e=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);return d.substring(e+a.remainder,e+b.remainder)}let c=a.node,d=this._buffers[c.piece.bufferIndex].buffer,e=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start),f=d.substring(e+a.remainder,e+c.piece.length);for(c=c.next();c!==at;){let a=this._buffers[c.piece.bufferIndex].buffer,d=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);if(c===b.node){f+=a.substring(d,d+b.remainder);break}f+=a.substr(d,c.piece.length),c=c.next()}return f}getLinesContent(){let a=[],b=0,c="",d=!1;return this.iterate(this.root,e=>{if(e===at)return!0;let f=e.piece,g=f.length;if(0===g)return!0;let h=this._buffers[f.bufferIndex].buffer,i=this._buffers[f.bufferIndex].lineStarts,j=f.start.line,k=f.end.line,l=i[j]+f.start.column;if(d&&(10===h.charCodeAt(l)&&(l++,g--),a[b++]=c,c="",d=!1,0===g))return!0;if(j===k)return this._EOLNormalized||13!==h.charCodeAt(l+g-1)?c+=h.substr(l,g):(d=!0,c+=h.substr(l,g-1)),!0;c+=this._EOLNormalized?h.substring(l,Math.max(l,i[j+1]-this._EOLLength)):h.substring(l,i[j+1]).replace(/(\r\n|\r|\n)$/,""),a[b++]=c;for(let d=j+1;d<k;d++)c=this._EOLNormalized?h.substring(i[d],i[d+1]-this._EOLLength):h.substring(i[d],i[d+1]).replace(/(\r\n|\r|\n)$/,""),a[b++]=c;return this._EOLNormalized||13!==h.charCodeAt(i[k]+f.end.column-1)?c=h.substr(i[k],f.end.column):(d=!0,0===f.end.column?b--:c=h.substr(i[k],f.end.column-1)),!0}),d&&(a[b++]=c,c=""),a[b++]=c,a}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(a){return this._lastVisitedLine.lineNumber===a||(this._lastVisitedLine.lineNumber=a,a===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(a):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(a,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(a).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(a){if(a.remainder===a.node.piece.length){let b=a.node.next();if(!b)return 0;let c=this._buffers[b.piece.bufferIndex],d=this.offsetInBuffer(b.piece.bufferIndex,b.piece.start);return c.buffer.charCodeAt(d)}{let b=this._buffers[a.node.piece.bufferIndex],c=this.offsetInBuffer(a.node.piece.bufferIndex,a.node.piece.start)+a.remainder;return b.buffer.charCodeAt(c)}}getLineCharCode(a,b){let c=this.nodeAt2(a,b+1);return this._getCharCode(c)}getLineLength(a){if(a===this.getLineCount()){let b=this.getOffsetAt(a,1);return this.getLength()-b}return this.getOffsetAt(a+1,1)-this.getOffsetAt(a,1)-this._EOLLength}getNearestChunk(a){let b=this.nodeAt(a);if(b.remainder===b.node.piece.length){let a=b.node.next();if(!a||a===at)return"";let c=this._buffers[a.piece.bufferIndex],d=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return c.buffer.substring(d,d+a.piece.length)}{let a=this._buffers[b.node.piece.bufferIndex],c=this.offsetInBuffer(b.node.piece.bufferIndex,b.node.piece.start),d=c+b.remainder,e=c+b.node.piece.length;return a.buffer.substring(d,e)}}findMatchesInNode(a,b,c,d,e,f,g,h,i,j,k){let l,m,n,o=this._buffers[a.piece.bufferIndex],p=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start),r=this.offsetInBuffer(a.piece.bufferIndex,e),s=this.offsetInBuffer(a.piece.bufferIndex,f),t={line:0,column:0};b._wordSeparators?(m=o.buffer.substring(r,s),n=a=>a+r,b.reset(0)):(m=o.buffer,n=a=>a,b.reset(r));do if(l=b.next(m)){if(n(l.index)>=s)return j;this.positionInBuffer(a,n(l.index)-p,t);let b=this.getLineFeedCnt(a.piece.bufferIndex,e,t),f=t.line===e.line?t.column-e.column+d:t.column+1,g=f+l[0].length;if(k[j++]=(0,aF.dr)(new q.Q(c+b,f,c+b,g),l,h),n(l.index)+l[0].length>=s)return j;if(j>=i)break}while(l);return j}findMatchesLineByLine(a,b,c,d){let e=[],f=0,g=new aF.W5(b.wordSeparators,b.regex),h=this.nodeAt2(a.startLineNumber,a.startColumn);if(null===h)return[];let i=this.nodeAt2(a.endLineNumber,a.endColumn);if(null===i)return[];let j=this.positionInBuffer(h.node,h.remainder),k=this.positionInBuffer(i.node,i.remainder);if(h.node===i.node)return this.findMatchesInNode(h.node,g,a.startLineNumber,a.startColumn,j,k,b,c,d,f,e),e;let l=a.startLineNumber,m=h.node;for(;m!==i.node;){let i=this.getLineFeedCnt(m.piece.bufferIndex,j,m.piece.end);if(i>=1){let h=this._buffers[m.piece.bufferIndex].lineStarts,k=this.offsetInBuffer(m.piece.bufferIndex,m.piece.start),n=h[j.line+i],o=l===a.startLineNumber?a.startColumn:1;if((f=this.findMatchesInNode(m,g,l,o,j,this.positionInBuffer(m,n-k),b,c,d,f,e))>=d)return e;l+=i}let k=l===a.startLineNumber?a.startColumn-1:0;if(l===a.endLineNumber){let h=this.getLineContent(l).substring(k,a.endColumn-1);return f=this._findMatchesInLine(b,g,h,a.endLineNumber,k,f,e,c,d),e}if((f=this._findMatchesInLine(b,g,this.getLineContent(l).substr(k),l,k,f,e,c,d))>=d)return e;l++,m=(h=this.nodeAt2(l,1)).node,j=this.positionInBuffer(h.node,h.remainder)}if(l===a.endLineNumber){let h=l===a.startLineNumber?a.startColumn-1:0,i=this.getLineContent(l).substring(h,a.endColumn-1);return f=this._findMatchesInLine(b,g,i,a.endLineNumber,h,f,e,c,d),e}let n=l===a.startLineNumber?a.startColumn:1;return f=this.findMatchesInNode(i.node,g,l,n,j,k,b,c,d,f,e),e}_findMatchesInLine(a,b,c,d,e,f,g,h,i){let j,k=a.wordSeparators;if(!h&&a.simpleSearch){let b=a.simpleSearch,h=b.length,j=c.length,l=-h;for(;-1!==(l=c.indexOf(b,l+h))&&(!(!k||(0,aF.wC)(k,c,j,l,h))||(g[f++]=new v.Dg(new q.Q(d,l+1+e,d,l+1+h+e),null),!(f>=i))););return f}b.reset(0);do if((j=b.next(c))&&(g[f++]=(0,aF.dr)(new q.Q(d,j.index+1+e,d,j.index+1+j[0].length+e),j,h),f>=i))break;while(j);return f}insert(a,b,c=!1){if(this._EOLNormalized=this._EOLNormalized&&c,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==at){let{node:c,remainder:d,nodeStartOffset:e}=this.nodeAt(a),f=c.piece,g=f.bufferIndex,h=this.positionInBuffer(c,d);if(0===c.piece.bufferIndex&&f.end.line===this._lastChangeBufferPos.line&&f.end.column===this._lastChangeBufferPos.column&&e+f.length===a&&b.length<65535){this.appendToNode(c,b),this.computeBufferMetadata();return}if(e===a)this.insertContentToNodeLeft(b,c),this._searchCache.validate(a);else if(e+c.piece.length>a){let a=[],e=new aJ(f.bufferIndex,h,f.end,this.getLineFeedCnt(f.bufferIndex,h,f.end),this.offsetInBuffer(g,f.end)-this.offsetInBuffer(g,h));if(this.shouldCheckCRLF()&&this.endWithCR(b)&&10===this.nodeCharCodeAt(c,d)){let a={line:e.start.line+1,column:0};e=new aJ(e.bufferIndex,a,e.end,this.getLineFeedCnt(e.bufferIndex,a,e.end),e.length-1),b+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(b))if(13===this.nodeCharCodeAt(c,d-1)){let e=this.positionInBuffer(c,d-1);this.deleteNodeTail(c,e),b="\r"+b,0===c.piece.length&&a.push(c)}else this.deleteNodeTail(c,h);else this.deleteNodeTail(c,h);let i=this.createNewPieces(b);e.length>0&&this.rbInsertRight(c,e);let j=c;for(let a=0;a<i.length;a++)j=this.rbInsertRight(j,i[a]);this.deleteNodes(a)}else this.insertContentToNodeRight(b,c)}else{let a=this.createNewPieces(b),c=this.rbInsertLeft(null,a[0]);for(let b=1;b<a.length;b++)c=this.rbInsertRight(c,a[b])}this.computeBufferMetadata()}delete(a,b){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",b<=0||this.root===at)return;let c=this.nodeAt(a),d=this.nodeAt(a+b),e=c.node,f=d.node;if(e===f){let f=this.positionInBuffer(e,c.remainder),g=this.positionInBuffer(e,d.remainder);if(c.nodeStartOffset===a){if(b===e.piece.length){let a=e.next();aB(this,e),this.validateCRLFWithPrevNode(a),this.computeBufferMetadata();return}this.deleteNodeHead(e,g),this._searchCache.validate(a),this.validateCRLFWithPrevNode(e),this.computeBufferMetadata();return}if(c.nodeStartOffset+e.piece.length===a+b){this.deleteNodeTail(e,f),this.validateCRLFWithNextNode(e),this.computeBufferMetadata();return}this.shrinkNode(e,f,g),this.computeBufferMetadata();return}let g=[],h=this.positionInBuffer(e,c.remainder);this.deleteNodeTail(e,h),this._searchCache.validate(a),0===e.piece.length&&g.push(e);let i=this.positionInBuffer(f,d.remainder);this.deleteNodeHead(f,i),0===f.piece.length&&g.push(f);let j=e.next();for(let a=j;a!==at&&a!==f;a=a.next())g.push(a);let k=0===e.piece.length?e.prev():e;this.deleteNodes(g),this.validateCRLFWithNextNode(k),this.computeBufferMetadata()}insertContentToNodeLeft(a,b){let c=[];if(this.shouldCheckCRLF()&&this.endWithCR(a)&&this.startWithLF(b)){let d=b.piece,e={line:d.start.line+1,column:0};b.piece=new aJ(d.bufferIndex,e,d.end,this.getLineFeedCnt(d.bufferIndex,e,d.end),d.length-1),a+="\n",aD(this,b,-1,-1),0===b.piece.length&&c.push(b)}let d=this.createNewPieces(a),e=this.rbInsertLeft(b,d[d.length-1]);for(let a=d.length-2;a>=0;a--)e=this.rbInsertLeft(e,d[a]);this.validateCRLFWithPrevNode(e),this.deleteNodes(c)}insertContentToNodeRight(a,b){this.adjustCarriageReturnFromNext(a,b)&&(a+="\n");let c=this.createNewPieces(a),d=this.rbInsertRight(b,c[0]),e=d;for(let a=1;a<c.length;a++)e=this.rbInsertRight(e,c[a]);this.validateCRLFWithPrevNode(d)}positionInBuffer(a,b,c){let d=a.piece,e=a.piece.bufferIndex,f=this._buffers[e].lineStarts,g=f[d.start.line]+d.start.column+b,h=d.start.line,i=d.end.line,j=0,k=0,l=0;for(;h<=i&&(l=f[j=h+(i-h)/2|0],j!==i);)if(k=f[j+1],g<l)i=j-1;else if(g>=k)h=j+1;else break;return c?(c.line=j,c.column=g-l,null):{line:j,column:g-l}}getLineFeedCnt(a,b,c){if(0===c.column)return c.line-b.line;let d=this._buffers[a].lineStarts;if(c.line===d.length-1)return c.line-b.line;let e=d[c.line+1],f=d[c.line]+c.column;return e>f+1?c.line-b.line:13===this._buffers[a].buffer.charCodeAt(f-1)?c.line-b.line+1:c.line-b.line}offsetInBuffer(a,b){return this._buffers[a].lineStarts[b.line]+b.column}deleteNodes(a){for(let b=0;b<a.length;b++)aB(this,a[b])}createNewPieces(a){if(a.length>65535){let b=[];for(;a.length>65535;){let c,d=a.charCodeAt(65534);13===d||d>=55296&&d<=56319?(c=a.substring(0,65534),a=a.substring(65534)):(c=a.substring(0,65535),a=a.substring(65535));let e=aI(c);b.push(new aJ(this._buffers.length,{line:0,column:0},{line:e.length-1,column:c.length-e[e.length-1]},e.length-1,c.length)),this._buffers.push(new aK(c,e))}let c=aI(a);return b.push(new aJ(this._buffers.length,{line:0,column:0},{line:c.length-1,column:a.length-c[c.length-1]},c.length-1,a.length)),this._buffers.push(new aK(a,c)),b}let b=this._buffers[0].buffer.length,c=aI(a,!1),d=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===b&&0!==b&&this.startWithLF(a)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},d=this._lastChangeBufferPos;for(let a=0;a<c.length;a++)c[a]+=b+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(c.slice(1)),this._buffers[0].buffer+="_"+a,b+=1}else{if(0!==b)for(let a=0;a<c.length;a++)c[a]+=b;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(c.slice(1)),this._buffers[0].buffer+=a}let e=this._buffers[0].buffer.length,f=this._buffers[0].lineStarts.length-1,g=e-this._buffers[0].lineStarts[f],h={line:f,column:g},i=new aJ(0,d,h,this.getLineFeedCnt(0,d,h),e-b);return this._lastChangeBufferPos=h,[i]}getLineRawContent(a,b=0){let c=this.root,d="",e=this._searchCache.get2(a);if(e){c=e.node;let f=this.getAccumulatedValue(c,a-e.nodeStartLineNumber-1),g=this._buffers[c.piece.bufferIndex].buffer,h=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);if(e.nodeStartLineNumber+c.piece.lineFeedCnt===a)d=g.substring(h+f,h+c.piece.length);else{let d=this.getAccumulatedValue(c,a-e.nodeStartLineNumber);return g.substring(h+f,h+d-b)}}else{let e=0,f=a;for(;c!==at;)if(c.left!==at&&c.lf_left>=a-1)c=c.left;else if(c.lf_left+c.piece.lineFeedCnt>a-1){let d=this.getAccumulatedValue(c,a-c.lf_left-2),g=this.getAccumulatedValue(c,a-c.lf_left-1),h=this._buffers[c.piece.bufferIndex].buffer,i=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);return e+=c.size_left,this._searchCache.set({node:c,nodeStartOffset:e,nodeStartLineNumber:f-(a-1-c.lf_left)}),h.substring(i+d,i+g-b)}else if(c.lf_left+c.piece.lineFeedCnt===a-1){let b=this.getAccumulatedValue(c,a-c.lf_left-2),e=this._buffers[c.piece.bufferIndex].buffer,f=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);d=e.substring(f+b,f+c.piece.length);break}else a-=c.lf_left+c.piece.lineFeedCnt,e+=c.size_left+c.piece.length,c=c.right}for(c=c.next();c!==at;){let a=this._buffers[c.piece.bufferIndex].buffer;if(c.piece.lineFeedCnt>0){let e=this.getAccumulatedValue(c,0),f=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);d+=a.substring(f,f+e-b);break}{let b=this.offsetInBuffer(c.piece.bufferIndex,c.piece.start);d+=a.substr(b,c.piece.length)}c=c.next()}return d}computeBufferMetadata(){let a=this.root,b=1,c=0;for(;a!==at;)b+=a.lf_left+a.piece.lineFeedCnt,c+=a.size_left+a.piece.length,a=a.right;this._lineCnt=b,this._length=c,this._searchCache.validate(this._length)}getIndexOf(a,b){let c=a.piece,d=this.positionInBuffer(a,b),e=d.line-c.start.line;if(this.offsetInBuffer(c.bufferIndex,c.end)-this.offsetInBuffer(c.bufferIndex,c.start)===b){let b=this.getLineFeedCnt(a.piece.bufferIndex,c.start,d);if(b!==e)return{index:b,remainder:0}}return{index:e,remainder:d.column}}getAccumulatedValue(a,b){if(b<0)return 0;let c=a.piece,d=this._buffers[c.bufferIndex].lineStarts,e=c.start.line+b+1;return e>c.end.line?d[c.end.line]+c.end.column-d[c.start.line]-c.start.column:d[e]-d[c.start.line]-c.start.column}deleteNodeTail(a,b){let c=a.piece,d=c.lineFeedCnt,e=this.offsetInBuffer(c.bufferIndex,c.end),f=this.offsetInBuffer(c.bufferIndex,b),g=this.getLineFeedCnt(c.bufferIndex,c.start,b),h=g-d,i=f-e,j=c.length+i;a.piece=new aJ(c.bufferIndex,c.start,b,g,j),aD(this,a,i,h)}deleteNodeHead(a,b){let c=a.piece,d=c.lineFeedCnt,e=this.offsetInBuffer(c.bufferIndex,c.start),f=this.getLineFeedCnt(c.bufferIndex,b,c.end),g=this.offsetInBuffer(c.bufferIndex,b),h=f-d,i=e-g,j=c.length+i;a.piece=new aJ(c.bufferIndex,b,c.end,f,j),aD(this,a,i,h)}shrinkNode(a,b,c){let d=a.piece,e=d.start,f=d.end,g=d.length,h=d.lineFeedCnt,i=this.getLineFeedCnt(d.bufferIndex,d.start,b),j=this.offsetInBuffer(d.bufferIndex,b)-this.offsetInBuffer(d.bufferIndex,e);a.piece=new aJ(d.bufferIndex,d.start,b,i,j),aD(this,a,j-g,i-h);let k=new aJ(d.bufferIndex,c,f,this.getLineFeedCnt(d.bufferIndex,c,f),this.offsetInBuffer(d.bufferIndex,f)-this.offsetInBuffer(d.bufferIndex,c)),l=this.rbInsertRight(a,k);this.validateCRLFWithPrevNode(l)}appendToNode(a,b){this.adjustCarriageReturnFromNext(b,a)&&(b+="\n");let c=this.shouldCheckCRLF()&&this.startWithLF(b)&&this.endWithCR(a),d=this._buffers[0].buffer.length;this._buffers[0].buffer+=b;let e=aI(b,!1);for(let a=0;a<e.length;a++)e[a]+=d;if(c){let a=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:d-a}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(e.slice(1));let f=this._buffers[0].lineStarts.length-1,g=this._buffers[0].buffer.length-this._buffers[0].lineStarts[f],h={line:f,column:g},i=a.piece.length+b.length,j=a.piece.lineFeedCnt,k=this.getLineFeedCnt(0,a.piece.start,h),l=k-j;a.piece=new aJ(a.piece.bufferIndex,a.piece.start,h,k,i),this._lastChangeBufferPos=h,aD(this,a,b.length,l)}nodeAt(a){let b=this.root,c=this._searchCache.get(a);if(c)return{node:c.node,nodeStartOffset:c.nodeStartOffset,remainder:a-c.nodeStartOffset};let d=0;for(;b!==at;)if(b.size_left>a)b=b.left;else if(b.size_left+b.piece.length>=a){d+=b.size_left;let c={node:b,remainder:a-b.size_left,nodeStartOffset:d};return this._searchCache.set(c),c}else a-=b.size_left+b.piece.length,d+=b.size_left+b.piece.length,b=b.right;return null}nodeAt2(a,b){let c=this.root,d=0;for(;c!==at;)if(c.left!==at&&c.lf_left>=a-1)c=c.left;else if(c.lf_left+c.piece.lineFeedCnt>a-1){let e=this.getAccumulatedValue(c,a-c.lf_left-2),f=this.getAccumulatedValue(c,a-c.lf_left-1);return d+=c.size_left,{node:c,remainder:Math.min(e+b-1,f),nodeStartOffset:d}}else if(c.lf_left+c.piece.lineFeedCnt===a-1){let e=this.getAccumulatedValue(c,a-c.lf_left-2);if(e+b-1<=c.piece.length)return{node:c,remainder:e+b-1,nodeStartOffset:d};b-=c.piece.length-e;break}else a-=c.lf_left+c.piece.lineFeedCnt,d+=c.size_left+c.piece.length,c=c.right;for(c=c.next();c!==at;){if(c.piece.lineFeedCnt>0){let a=this.getAccumulatedValue(c,0),d=this.offsetOfNode(c);return{node:c,remainder:Math.min(b-1,a),nodeStartOffset:d}}if(c.piece.length>=b-1){let a=this.offsetOfNode(c);return{node:c,remainder:b-1,nodeStartOffset:a}}b-=c.piece.length;c=c.next()}return null}nodeCharCodeAt(a,b){if(a.piece.lineFeedCnt<1)return -1;let c=this._buffers[a.piece.bufferIndex],d=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start)+b;return c.buffer.charCodeAt(d)}offsetOfNode(a){if(!a)return 0;let b=a.size_left;for(;a!==this.root;)a.parent.right===a&&(b+=a.parent.size_left+a.parent.piece.length),a=a.parent;return b}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(a){if("string"==typeof a)return 10===a.charCodeAt(0);if(a===at||0===a.piece.lineFeedCnt)return!1;let b=a.piece,c=this._buffers[b.bufferIndex].lineStarts,d=b.start.line,e=c[d]+b.start.column;return d!==c.length-1&&!(c[d+1]>e+1)&&10===this._buffers[b.bufferIndex].buffer.charCodeAt(e)}endWithCR(a){return"string"==typeof a?13===a.charCodeAt(a.length-1):a!==at&&0!==a.piece.lineFeedCnt&&13===this.nodeCharCodeAt(a,a.piece.length-1)}validateCRLFWithPrevNode(a){if(this.shouldCheckCRLF()&&this.startWithLF(a)){let b=a.prev();this.endWithCR(b)&&this.fixCRLF(b,a)}}validateCRLFWithNextNode(a){if(this.shouldCheckCRLF()&&this.endWithCR(a)){let b=a.next();this.startWithLF(b)&&this.fixCRLF(a,b)}}fixCRLF(a,b){let c,d=[],e=this._buffers[a.piece.bufferIndex].lineStarts;c=0===a.piece.end.column?{line:a.piece.end.line-1,column:e[a.piece.end.line]-e[a.piece.end.line-1]-1}:{line:a.piece.end.line,column:a.piece.end.column-1};let f=a.piece.length-1,g=a.piece.lineFeedCnt-1;a.piece=new aJ(a.piece.bufferIndex,a.piece.start,c,g,f),aD(this,a,-1,-1),0===a.piece.length&&d.push(a);let h={line:b.piece.start.line+1,column:0},i=b.piece.length-1,j=this.getLineFeedCnt(b.piece.bufferIndex,h,b.piece.end);b.piece=new aJ(b.piece.bufferIndex,h,b.piece.end,j,i),aD(this,b,-1,-1),0===b.piece.length&&d.push(b);let k=this.createNewPieces("\r\n");this.rbInsertRight(a,k[0]);for(let a=0;a<d.length;a++)aB(this,d[a])}adjustCarriageReturnFromNext(a,b){if(this.shouldCheckCRLF()&&this.endWithCR(a)){let c=b.next();if(this.startWithLF(c)){if(a+="\n",1===c.piece.length)aB(this,c);else{let a=c.piece,b={line:a.start.line+1,column:0},d=a.length-1,e=this.getLineFeedCnt(a.bufferIndex,b,a.end);c.piece=new aJ(a.bufferIndex,b,a.end,e,d),aD(this,c,-1,-1)}return!0}}return!1}iterate(a,b){if(a===at)return b(at);let c=this.iterate(a.left,b);return c?b(a)&&this.iterate(a.right,b):c}getNodeContent(a){if(a===at)return"";let b=this._buffers[a.piece.bufferIndex],c=a.piece,d=this.offsetInBuffer(c.bufferIndex,c.start),e=this.offsetInBuffer(c.bufferIndex,c.end);return b.buffer.substring(d,e)}getPieceContent(a){let b=this._buffers[a.bufferIndex],c=this.offsetInBuffer(a.bufferIndex,a.start),d=this.offsetInBuffer(a.bufferIndex,a.end);return b.buffer.substring(c,d)}rbInsertRight(a,b){let c=new as(b,1);if(c.left=at,c.right=at,c.parent=at,c.size_left=0,c.lf_left=0,this.root===at)this.root=c,c.color=0;else if(a.right===at)a.right=c,c.parent=a;else{let b=au(a.right);b.left=c,c.parent=b}return aC(this,c),c}rbInsertLeft(a,b){let c=new as(b,1);if(c.left=at,c.right=at,c.parent=at,c.size_left=0,c.lf_left=0,this.root===at)this.root=c,c.color=0;else if(a.left===at)a.left=c,c.parent=a;else{let b=av(a.left);b.right=c,c.parent=b}return aC(this,c),c}}var aO=c(43613);class aP extends k.jG{constructor(a,b,c,d,e,f,g){super(),this._onDidChangeContent=this._register(new j.vl),this._BOM=b,this._mightContainNonBasicASCII=!f,this._mightContainRTL=d,this._mightContainUnusualLineTerminators=e,this._pieceTree=new aN(a,c,g)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(a){return this._pieceTree.createSnapshot(a?this._BOM:"")}getOffsetAt(a,b){return this._pieceTree.getOffsetAt(a,b)}getPositionAt(a){return this._pieceTree.getPositionAt(a)}getRangeAt(a,b){let c=this.getPositionAt(a),d=this.getPositionAt(a+b);return new q.Q(c.lineNumber,c.column,d.lineNumber,d.column)}getValueInRange(a,b=0){if(a.isEmpty())return"";let c=this._getEndOfLine(b);return this._pieceTree.getValueInRange(a,c)}getValueLengthInRange(a,b=0){if(a.isEmpty())return 0;if(a.startLineNumber===a.endLineNumber)return a.endColumn-a.startColumn;let c=this.getOffsetAt(a.startLineNumber,a.startColumn),d=this.getOffsetAt(a.endLineNumber,a.endColumn),e=0,f=this._getEndOfLine(b),g=this.getEOL();return f.length!==g.length&&(e=(f.length-g.length)*(a.endLineNumber-a.startLineNumber)),d-c+e}getCharacterCountInRange(a,b=0){if(this._mightContainNonBasicASCII){let c=0,d=a.startLineNumber,e=a.endLineNumber;for(let b=d;b<=e;b++){let f=this.getLineContent(b),g=b===d?a.startColumn-1:0,h=b===e?a.endColumn-1:f.length;for(let a=g;a<h;a++)l.pc(f.charCodeAt(a))?(c+=1,a+=1):c+=1}return c+this._getEndOfLine(b).length*(e-d)}return this.getValueLengthInRange(a,b)}getNearestChunk(a){return this._pieceTree.getNearestChunk(a)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(a){return this._pieceTree.getLineContent(a)}getLineCharCode(a,b){return this._pieceTree.getLineCharCode(a,b)}getLineLength(a){return this._pieceTree.getLineLength(a)}getLineFirstNonWhitespaceColumn(a){let b=l.HG(this.getLineContent(a));return -1===b?0:b+1}getLineLastNonWhitespaceColumn(a){let b=l.lT(this.getLineContent(a));return -1===b?0:b+2}_getEndOfLine(a){switch(a){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw Error("Unknown EOL preference")}}setEOL(a){this._pieceTree.setEOL(a)}applyEdits(a,b,c){let d=this._mightContainRTL,e=this._mightContainUnusualLineTerminators,f=this._mightContainNonBasicASCII,g=!0,h=[];for(let b=0;b<a.length;b++){let c=a[b];g&&c._isTracked&&(g=!1);let i=c.range;if(c.text){let a=!0;f||(f=a=!l.aC(c.text)),!d&&a&&(d=l.E_(c.text)),!e&&a&&(e=l.$X(c.text))}let j="",k=0,m=0,o=0;if(c.text){let a;[k,m,o,a]=(0,n.W)(c.text);let b=this.getEOL(),d="\r\n"===b?2:1;j=0===a||a===d?c.text:c.text.replace(/\r\n|\r|\n/g,b)}h[b]={sortIndex:b,identifier:c.identifier||null,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i),text:j,eolCount:k,firstLineLength:m,lastLineLength:o,forceMoveMarkers:!!c.forceMoveMarkers,isAutoWhitespaceEdit:c.isAutoWhitespaceEdit||!1}}h.sort(aP._sortOpsAscending);let i=!1;for(let a=0,b=h.length-1;a<b;a++){let b=h[a].range.getEndPosition(),c=h[a+1].range.getStartPosition();if(c.isBeforeOrEqual(b)){if(c.isBefore(b))throw Error("Overlapping ranges are not allowed!");i=!0}}g&&(h=this._reduceOperations(h));let j=c||b?aP._getInverseEditRanges(h):[],k=[];if(b)for(let a=0;a<h.length;a++){let b=h[a],c=j[a];if(b.isAutoWhitespaceEdit&&b.range.isEmpty())for(let a=c.startLineNumber;a<=c.endLineNumber;a++){let d="";(a!==c.startLineNumber||(d=this.getLineContent(b.range.startLineNumber),-1===l.HG(d)))&&k.push({lineNumber:a,oldContent:d})}}let m=null;if(c){let a=0;m=[];for(let b=0;b<h.length;b++){let c=h[b],d=j[b],e=this.getValueInRange(c.range),f=c.rangeOffset+a;a+=c.text.length-e.length,m[b]={sortIndex:c.sortIndex,identifier:c.identifier,range:d,text:e,textChange:new aO.k(c.rangeOffset,e,f,c.text)}}i||m.sort((a,b)=>a.sortIndex-b.sortIndex)}this._mightContainRTL=d,this._mightContainUnusualLineTerminators=e,this._mightContainNonBasicASCII=f;let o=this._doApplyEdits(h),p=null;if(b&&k.length>0){k.sort((a,b)=>b.lineNumber-a.lineNumber),p=[];for(let a=0,b=k.length;a<b;a++){let b=k[a].lineNumber;if(a>0&&k[a-1].lineNumber===b)continue;let c=k[a].oldContent,d=this.getLineContent(b);0!==d.length&&d!==c&&-1===l.HG(d)&&p.push(b)}}return this._onDidChangeContent.fire(),new v.F4(m,o,p)}_reduceOperations(a){return a.length<1e3?a:[this._toSingleEditOperation(a)]}_toSingleEditOperation(a){let b=!1,c=a[0].range,d=a[a.length-1].range,e=new q.Q(c.startLineNumber,c.startColumn,d.endLineNumber,d.endColumn),f=c.startLineNumber,g=c.startColumn,h=[];for(let c=0,d=a.length;c<d;c++){let d=a[c],e=d.range;b=b||d.forceMoveMarkers,h.push(this.getValueInRange(new q.Q(f,g,e.startLineNumber,e.startColumn))),d.text.length>0&&h.push(d.text),f=e.endLineNumber,g=e.endColumn}let i=h.join(""),[j,k,l]=(0,n.W)(i);return{sortIndex:0,identifier:a[0].identifier,range:e,rangeOffset:this.getOffsetAt(e.startLineNumber,e.startColumn),rangeLength:this.getValueLengthInRange(e,0),text:i,eolCount:j,firstLineLength:k,lastLineLength:l,forceMoveMarkers:b,isAutoWhitespaceEdit:!1}}_doApplyEdits(a){a.sort(aP._sortOpsDescending);let b=[];for(let c=0;c<a.length;c++){let d=a[c],e=d.range.startLineNumber,f=d.range.startColumn,g=d.range.endLineNumber,h=d.range.endColumn;if(e===g&&f===h&&0===d.text.length)continue;d.text?(this._pieceTree.delete(d.rangeOffset,d.rangeLength),this._pieceTree.insert(d.rangeOffset,d.text,!0)):this._pieceTree.delete(d.rangeOffset,d.rangeLength);let i=new q.Q(e,f,g,h);b.push({range:i,rangeLength:d.rangeLength,text:d.text,rangeOffset:d.rangeOffset,forceMoveMarkers:d.forceMoveMarkers})}return b}findMatchesLineByLine(a,b,c,d){return this._pieceTree.findMatchesLineByLine(a,b,c,d)}static _getInverseEditRanges(a){let b=[],c=0,d=0,e=null;for(let f=0,g=a.length;f<g;f++){let g,h,i,j=a[f];if(e?e.range.endLineNumber===j.range.startLineNumber?(g=c,h=d+(j.range.startColumn-e.range.endColumn)):(g=c+(j.range.startLineNumber-e.range.endLineNumber),h=j.range.startColumn):(g=j.range.startLineNumber,h=j.range.startColumn),j.text.length>0){let a=j.eolCount+1;i=1===a?new q.Q(g,h,g,h+j.firstLineLength):new q.Q(g,h,g+a-1,j.lastLineLength+1)}else i=new q.Q(g,h,g,h);c=i.endLineNumber,d=i.endColumn,b.push(i),e=j}return b}static _sortOpsAscending(a,b){let c=q.Q.compareRangesUsingEnds(a.range,b.range);return 0===c?a.sortIndex-b.sortIndex:c}static _sortOpsDescending(a,b){let c=q.Q.compareRangesUsingEnds(a.range,b.range);return 0===c?b.sortIndex-a.sortIndex:-c}}class aQ{constructor(a,b,c,d,e,f,g,h,i){this._chunks=a,this._bom=b,this._cr=c,this._lf=d,this._crlf=e,this._containsRTL=f,this._containsUnusualLineTerminators=g,this._isBasicASCII=h,this._normalizeEOL=i}_getEOL(a){let b=this._cr+this._lf+this._crlf,c=this._cr+this._crlf;return 0===b?1===a?"\n":"\r\n":c>b/2?"\r\n":"\n"}create(a){let b=this._getEOL(a),c=this._chunks;if(this._normalizeEOL&&("\r\n"===b&&(this._cr>0||this._lf>0)||"\n"===b&&(this._cr>0||this._crlf>0)))for(let a=0,d=c.length;a<d;a++){let d=c[a].buffer.replace(/\r\n|\r|\n/g,b),e=aI(d);c[a]=new aK(d,e)}let d=new aP(c,this._bom,b,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:d,disposable:d}}}class aR{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(a){if(0===a.length)return;0===this.chunks.length&&l.LU(a)&&(this.BOM=l.r_,a=a.substr(1));let b=a.charCodeAt(a.length-1);13===b||b>=55296&&b<=56319?(this._acceptChunk1(a.substr(0,a.length-1),!1),this._hasPreviousChar=!0):(this._acceptChunk1(a,!1),this._hasPreviousChar=!1),this._previousChar=b}_acceptChunk1(a,b){(b||0!==a.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+a):this._acceptChunk2(a))}_acceptChunk2(a){let b=function(a,b){a.length=0,a[0]=0;let c=1,d=0,e=0,f=0,g=!0;for(let h=0,i=b.length;h<i;h++){let j=b.charCodeAt(h);13===j?h+1<i&&10===b.charCodeAt(h+1)?(f++,a[c++]=h+2,h++):(d++,a[c++]=h+1):10===j?(e++,a[c++]=h+1):g&&9!==j&&(j<32||j>126)&&(g=!1)}let h=new aH(aG(a),d,e,f,g);return a.length=0,h}(this._tmpLineStarts,a);this.chunks.push(new aK(a,b.lineStarts)),this.cr+=b.cr,this.lf+=b.lf,this.crlf+=b.crlf,!b.isBasicASCII&&(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=l.E_(a)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=l.$X(a)))}finish(a=!0){return this._finish(),new aQ(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,a)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;let a=this.chunks[this.chunks.length-1];a.buffer+=String.fromCharCode(this._previousChar);let b=aI(a.buffer);a.lineStarts=b,13===this._previousChar&&this.cr++}}}var aS=c(55866),aT=c(28161),aU=c(21005),aV=c(40565),aW=c(31512),aX=c(43589),aY=c(37457);class aZ{constructor(){this._onDidChangeVisibleRanges=new j.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set,this._viewsChanged=(0,aX.Yd)(this),this.visibleLineRanges=(0,aX.C)({owner:this,equalsFn:(0,aY.S3)((0,aY.r)())},a=>(this._viewsChanged.read(a),aW.M.joinMany([...this._views].map(b=>b.state.read(a)?.visibleLineRanges??[]))))}attachView(){let a=new a_(b=>{this._onDidChangeVisibleRanges.fire({view:a,state:b})});return this._views.add(a),this._viewsChanged.trigger(void 0),a}detachView(a){this._views.delete(a),this._onDidChangeVisibleRanges.fire({view:a,state:void 0}),this._viewsChanged.trigger(void 0)}}class a${constructor(a,b){this.visibleLineRanges=a,this.stabilized=b}equals(a){return this===a||!!(0,g.aI)(this.visibleLineRanges,a.visibleLineRanges,(a,b)=>a.equals(b))&&this.stabilized===a.stabilized}}class a_{get state(){return this._state}constructor(a){this.handleStateChange=a,this._state=(0,aX.Zh)({owner:this,equalsFn:(0,aY.KC)((a,b)=>a.equals(b))},void 0)}setVisibleLines(a,b){let c=new a$(a.map(a=>new aW.M(a.startLineNumber,a.endLineNumber+1)),b);this._state.set(c,void 0,void 0),this.handleStateChange(c)}}class a0 extends k.jG{get lineRanges(){return this._lineRanges}constructor(a){super(),this._refreshTokens=a,this.runner=this._register(new aV.uC(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,g.aI)(this._computedLineRanges,this._lineRanges,(a,b)=>a.equals(b))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(a){this._lineRanges=a.visibleLineRanges,a.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class a1 extends k.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(a,b){super(),this._languageIdCodec=a,this._textModel=b,this._onDidChangeTokens=this._register(new j.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(a){this.isCheapToTokenize(a)&&this.forceTokenization(a)}}var a2=c(56167),a3=c(66153),a4=c(91295),a5=c(48363);function a6(a,b){let c=a.gotoParent(),d=b.gotoParent();if(c!==d)throw Error("Trees are out of sync");return c&&d}function a7(a,b){do{if(a.currentNode.nextSibling){let c=a.gotoNextSibling(),d=b.gotoNextSibling();if(c!==d)throw Error("Trees are out of sync");return c&&d}a.currentNode.parent&&a6(a,b)}while(a.currentNode.nextSibling||a.currentNode.parent);return!1}var a8=function(a,b){return function(c,d){b(c,d,a)}};let a9=class extends k.jG{constructor(a,b,c,d,e,f,g){super(),this.languageId=a,this._ranges=b,this._parser=c,this._parserClass=d,this.textModel=e,this._logService=f,this._telemetryService=g,this._tree=(0,aX.FY)(this,void 0),this.tree=this._tree,this._treeLastParsedVersion=(0,aX.FY)(this,-1),this.treeLastParsedVersion=this._treeLastParsedVersion,this._onDidChangeContentQueue=new aV.Pq,this._tree=(0,aX.FY)(this,void 0),this.tree=this._tree,this._register((0,k.s)(()=>{this._tree.get()?.delete(),this._lastFullyParsed?.delete(),this._lastFullyParsedWithEdits?.delete(),this._parser.delete()})),this.handleContentChange(void 0,this._ranges)}handleContentChange(a,b){let c=this.textModel.getVersionId(),d=[];b&&(d=this._setRanges(b)),a&&this._applyEdits(a.changes),this._onDidChangeContentQueue.clearPending(),this._onDidChangeContentQueue.schedule(async()=>{let a;if(this._store.isDisposed)return;let b=this._lastFullyParsed;this._lastFullyParsedWithEdits&&this._lastFullyParsed&&(a=this._findChangedNodes(this._lastFullyParsedWithEdits,this._lastFullyParsed));let e=await this._parseAndUpdateTree(c);if(e){let f;a?b&&a&&(f=this._findTreeChanges(e,a,d)):this._ranges&&(f=this._ranges.map(a=>({newRange:new q.Q(a.startPosition.row+1,a.startPosition.column+1,a.endPosition.row+1,a.endPosition.column+1),oldRangeLength:a.endIndex-a.startIndex,newRangeStartOffset:a.startIndex,newRangeEndOffset:a.endIndex}))),f||(f=[{newRange:this.textModel.getFullModelRange(),newRangeStartOffset:0,newRangeEndOffset:this.textModel.getValueLength()}]);let g=this._tree.get();(0,aX.Rn)(a=>{this._tree.set(e,a,{ranges:f,versionId:c}),this._treeLastParsedVersion.set(c,a)}),g?.delete()}})}_applyEdits(a){for(let b of a){let a=a5.W.ofRange(q.Q.lift(b.range)),c=a5.W.ofText(b.text),d=0===b.text.length?c:a.add(c),e={startIndex:b.rangeOffset,oldEndIndex:b.rangeOffset+b.rangeLength,newEndIndex:b.rangeOffset+b.text.length,startPosition:{row:b.range.startLineNumber-1,column:b.range.startColumn-1},oldEndPosition:{row:b.range.endLineNumber-1,column:b.range.endColumn-1},newEndPosition:{row:b.range.startLineNumber+d.lineCount-1,column:d.lineCount?d.columnCount:b.range.endColumn+d.columnCount}};this._tree.get()?.edit(e),this._lastFullyParsedWithEdits?.edit(e)}}_findChangedNodes(a,b){if(this._ranges&&this._ranges.every(b=>b.startPosition.row!==a.rootNode.startPosition.row)||0!==a.rootNode.startPosition.row)return[];let c=a.walk(),d=b.walk(),e=[],f=!0;do if(c.currentNode.hasChanges){let b=c.currentNode.children,g=[],h=b.filter((a,b)=>(!!a?.hasChanges||d.currentNode.children.length<=b)&&(g.push(b),!0));if(0===h.length||c.currentNode.hasError!==d.currentNode.hasError){for(;c.currentNode.parent&&f&&!c.currentNode.isNamed;)f=a6(c,d);let b=c.currentNode,g=function(a,b){let c=b.walk();c.resetTo(a);let d=a.currentNode;do if(c.currentNode.previousSibling&&c.currentNode.endIndex-c.currentNode.startIndex!=0)c.gotoPreviousSibling();else{for(;!c.currentNode.previousSibling&&c.currentNode.parent;)c.gotoParent();c.gotoPreviousSibling()}while(c.currentNode.endIndex>d.startIndex&&(c.currentNode.parent||c.currentNode.previousSibling)&&c.currentNode.id!==d.id);return c.currentNode.id!==d.id&&c.currentNode.endIndex<=d.startIndex?c.currentNode:void 0}(c,a)??b;e.push({startIndex:g.startIndex,endIndex:b.endIndex,startPosition:g.startPosition,endPosition:b.endPosition}),f=a7(c,d)}else h.length>=1&&(f=function(a,b,c){let d=a.gotoFirstChild(),e=b.gotoFirstChild();if(d!==e)throw Error("Trees are out of sync");if(0===c)return d&&e;for(let d=1;d<=c;d++){let c=a.gotoNextSibling(),d=b.gotoNextSibling();if(c!==d)throw Error("Trees are out of sync");if(!c||!d)return!1}return d&&e}(c,d,g[0]))}else f=a7(c,d);while(f);return c.delete(),d.delete(),e}_findTreeChanges(a,b,c){let d=0,e=[];for(let f=0;f<b.length;f++){let g=b[f];if(e.length>0&&g.startIndex>=e[e.length-1].newRangeStartOffset&&g.endIndex<=e[e.length-1].newRangeEndOffset)continue;let h=a.walk(),i=()=>h.startIndex<g.startIndex&&h.endIndex>g.endIndex;for(;i();){let a=h.gotoFirstChild(),b=!1;for(;a;)if(i()&&h.currentNode.isNamed){b=!0;break}else a=h.gotoNextSibling();if(!b){h.gotoParent();break}if(0===h.currentNode.childCount)break}let j=h.currentNode.startPosition,k=h.currentNode.endPosition,l=h.currentNode.startIndex,m=h.currentNode.endIndex,n={newRange:new q.Q(j.row+1,j.column+1,k.row+1,k.column+1),newRangeStartOffset:l,newRangeEndOffset:m};d<c.length&&ba(c[d],{startIndex:l,endIndex:m,startPosition:j,endPosition:k})?(c[d].startIndex<n.newRangeStartOffset&&(n.newRange=n.newRange.setStartPosition(c[d].startPosition.row+1,c[d].startPosition.column+1),n.newRangeStartOffset=c[d].startIndex),c[d].endIndex>n.newRangeEndOffset&&(n.newRange=n.newRange.setEndPosition(c[d].endPosition.row+1,c[d].endPosition.column+1),n.newRangeEndOffset=c[d].endIndex),d++):d<c.length&&c[d].endIndex<n.newRangeStartOffset&&e.push({newRange:new q.Q(c[d].startPosition.row+1,c[d].startPosition.column+1,c[d].endPosition.row+1,c[d].endPosition.column+1),newRangeStartOffset:c[d].startIndex,newRangeEndOffset:c[d].endIndex}),e.length>0&&e[e.length-1].newRangeEndOffset>=n.newRangeStartOffset?(e[e.length-1].newRange=q.Q.fromPositions(e[e.length-1].newRange.getStartPosition(),n.newRange.getEndPosition()),e[e.length-1].newRangeEndOffset=n.newRangeEndOffset):e.push(n)}return this._constrainRanges(e)}_constrainRanges(a){if(!this._ranges)return a;let b=[],c=0,d=0;for(;c<a.length&&d<this._ranges.length;){let e=a[c],f=this._ranges[d];if(e.newRangeEndOffset<f.startIndex)c++;else if(e.newRangeStartOffset>f.endIndex)d++;else{let a=Math.max(e.newRangeStartOffset,f.startIndex),d=Math.min(e.newRangeEndOffset,f.endIndex),g=e.newRange.intersectRanges(new q.Q(f.startPosition.row+1,f.startPosition.column+1,f.endPosition.row+1,f.endPosition.column+1));b.push({newRange:g,newRangeEndOffset:d,newRangeStartOffset:a}),d<e.newRangeEndOffset?(e.newRange=q.Q.fromPositions(g.getEndPosition(),e.newRange.getEndPosition()),e.newRangeStartOffset=d+1):c++}}return b}async _parseAndUpdateTree(a){let b=await this._parse();if(b)return this._lastFullyParsed?.delete(),this._lastFullyParsed=b.copy(),this._lastFullyParsedWithEdits?.delete(),this._lastFullyParsedWithEdits=b.copy(),b;this._tree.get()||this._parser.reset()}_parse(){let a="fullParse";return this._tree.get()&&(a="incrementalParse"),this._parseAndYield(a)}async _parseAndYield(a){let b,c,d=0,e=0,f=this.textModel.getVersionId(),g=(b=performance.now(),function(a){let c=performance.now();return c-b>50&&(b=c,!0)});do{let a=performance.now();c=this._parser.parse((a,b)=>this._parseCallback(a),this._tree.get(),{progressCallback:g,includedRanges:this._ranges}),d+=performance.now()-a,e++,await new Promise(a=>(0,a2._p)(a))}while(!this._store.isDisposed&&!c&&f===this.textModel.getVersionId());return this._sendParseTimeTelemetry(a,d,e),c&&f===this.textModel.getVersionId()?c:void 0}_parseCallback(a){try{return this.textModel.getTextBuffer().getNearestChunk(a)}catch(a){this._logService.debug("Error getting chunk for tree-sitter parsing",a)}}_setRanges(a){let b=[];if(this._ranges)for(let e of a){let a=!1;for(let b=0;b<this._ranges.length;b++){var c,d;let f=this._ranges[b];if(c=f,d=e,c.startPosition.row===d.startPosition.row&&c.startPosition.column===d.startPosition.column&&c.endPosition.row===d.endPosition.row&&c.endPosition.column===d.endPosition.column&&c.startIndex===d.startIndex&&c.endIndex===d.endIndex||ba(f,e)){a=!0;break}}a||b.push(e)}else b.push(...a);return this._ranges=a,b}_sendParseTimeTelemetry(a,b,c){this._logService.debug(`Tree parsing (${a}) took ${b} ms and ${c} passes.`),"fullParse"===a?this._telemetryService.publicLog2("treeSitter.fullParse",{languageId:this.languageId,time:b,passes:c}):this._telemetryService.publicLog2("treeSitter.incrementalParse",{languageId:this.languageId,time:b,passes:c})}createParsedTreeSync(a){let b=new this._parserClass;b.setLanguage(this._parser.language);let c=b.parse(a);return b.delete(),c??void 0}};function ba(a,b){return a.startIndex<=b.startIndex&&a.endIndex>=b.startIndex||b.startIndex<=a.startIndex&&b.endIndex>=a.startIndex}a9=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([a8(5,a3.rr),a8(6,a4.k)],a9);var bb=c(29715),bc=c(34509),bd=c(95967),be=c(4380);class bf{constructor(a){this._default=a,this._store=[]}get(a){return a<this._store.length?this._store[a]:this._default}set(a,b){for(;a>=this._store.length;)this._store[this._store.length]=this._default;this._store[a]=b}replace(a,b,c){if(a>=this._store.length)return;if(0===b)return void this.insert(a,c);if(0===c)return void this.delete(a,b);let d=this._store.slice(0,a),e=this._store.slice(a+b),f=function(a,b){let c=[];for(let d=0;d<a;d++)c[d]=b;return c}(c,this._default);this._store=d.concat(f,e)}delete(a,b){0===b||a>=this._store.length||this._store.splice(a,b)}insert(a,b){if(0===b||a>=this._store.length)return;let c=[];for(let a=0;a<b;a++)c[a]=this._default;this._store=(0,g.nK)(this._store,a,c)}}class bg{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(a,b){this._startLineNumber=a,this._tokens=b}getLineTokens(a){return this._tokens[a-this._startLineNumber]}appendLineTokens(a){this._tokens.push(a)}}class bh{constructor(){this._tokens=[]}add(a,b){if(this._tokens.length>0){let c=this._tokens[this._tokens.length-1];if(c.endLineNumber+1===a)return void c.appendLineTokens(b)}this._tokens.push(new bg(a,[b]))}finalize(){return this._tokens}}class bi{constructor(a,b){this.tokenizationSupport=b,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new bl(a)}getStartState(a){return this.store.getStartState(a,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class bj extends bi{constructor(a,b,c,d){super(a,b),this._textModel=c,this._languageIdCodec=d}updateTokensUntilLine(a,b){let c=this._textModel.getLanguageId();for(;;){let d=this.getFirstInvalidLine();if(!d||d.lineNumber>b)break;let e=this._textModel.getLineContent(d.lineNumber),f=bo(this._languageIdCodec,c,this.tokenizationSupport,e,!0,d.startState);a.add(d.lineNumber,f.tokens),this.store.setEndState(d.lineNumber,f.endState)}}getTokenTypeIfInsertingCharacter(a,b){let c=this.getStartState(a.lineNumber);if(!c)return 0;let d=this._textModel.getLanguageId(),e=this._textModel.getLineContent(a.lineNumber),f=e.substring(0,a.column-1)+b+e.substring(a.column-1),g=bo(this._languageIdCodec,d,this.tokenizationSupport,f,!0,c),h=new aU.f7(g.tokens,f,this._languageIdCodec);if(0===h.getCount())return 0;let i=h.findTokenIndexAtOffset(a.column-1);return h.getStandardTokenType(i)}tokenizeLinesAt(a,b){let c=this.getStartState(a);if(!c)return null;let d=this._textModel.getLanguageId(),e=[],f=c;for(let a of b){let b=bo(this._languageIdCodec,d,this.tokenizationSupport,a,!0,f);e.push(new aU.f7(b.tokens,a,this._languageIdCodec)),f=b.endState}return e}hasAccurateTokensForLine(a){return a<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(a){let b=this.store.getFirstInvalidEndStateLineNumberOrMax();return!!(a<b||a===b&&2048>this._textModel.getLineLength(a))}tokenizeHeuristically(a,b,c){if(c<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(b<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(a,c),{heuristicTokens:!1};let d=this.guessStartState(b),e=this._textModel.getLanguageId();for(let f=b;f<=c;f++){let b=this._textModel.getLineContent(f),c=bo(this._languageIdCodec,e,this.tokenizationSupport,b,!0,d);a.add(f,c.tokens),d=c.endState}return{heuristicTokens:!0}}guessStartState(a){let{likelyRelevantLines:b,initialState:c}=bk(this._textModel,a,this);c||(c=this.tokenizationSupport.getInitialState());let d=this._textModel.getLanguageId(),e=c;for(let a of b)e=bo(this._languageIdCodec,d,this.tokenizationSupport,a,!1,e).endState;return e}}function bk(a,b,c){let d=a.getLineFirstNonWhitespaceColumn(b),e=[],f=null;for(let g=b-1;d>1&&g>=1;g--){let b=a.getLineFirstNonWhitespaceColumn(g);if(0!==b&&b<d&&(e.push(a.getLineContent(g)),d=b,f=c?.getStartState(g)))break}return e.reverse(),{likelyRelevantLines:e,initialState:f??void 0}}class bl{constructor(a){this.lineCount=a,this._tokenizationStateStore=new bm,this._invalidEndStatesLineNumbers=new bn,this._invalidEndStatesLineNumbers.addRange(new bd.L(1,a+1))}getEndState(a){return this._tokenizationStateStore.getEndState(a)}setEndState(a,b){if(!b)throw new i.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(a);let c=this._tokenizationStateStore.setEndState(a,b);return c&&a<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new bd.L(a+1,a+2)),c}acceptChange(a,b){this.lineCount+=b-a.length,this._tokenizationStateStore.acceptChange(a,b),this._invalidEndStatesLineNumbers.addRangeAndResize(new bd.L(a.startLineNumber,a.endLineNumberExclusive),b)}acceptChanges(a){for(let b of a){let[a]=(0,n.W)(b.text);this.acceptChange(new aW.M(b.range.startLineNumber,b.range.endLineNumber+1),a+1)}}invalidateEndStateRange(a){this._invalidEndStatesLineNumbers.addRange(new bd.L(a.startLineNumber,a.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(a,b){return 1===a?b:this.getEndState(a-1)}getFirstInvalidLine(a){let b=this.getFirstInvalidEndStateLineNumber();if(null===b)return null;let c=this.getStartState(b,a);if(!c)throw new i.D7("Start state must be defined");return{lineNumber:b,startState:c}}}class bm{constructor(){this._lineEndStates=new bf(null)}getEndState(a){return this._lineEndStates.get(a)}setEndState(a,b){let c=this._lineEndStates.get(a);return!(c&&c.equals(b))&&(this._lineEndStates.set(a,b),!0)}acceptChange(a,b){let c=a.length;b>0&&c>0&&(c--,b--),this._lineEndStates.replace(a.startLineNumber,c,b)}}class bn{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(a){let b=this._ranges.findIndex(b=>b.contains(a));if(-1!==b){let c=this._ranges[b];c.start===a?c.endExclusive===a+1?this._ranges.splice(b,1):this._ranges[b]=new bd.L(a+1,c.endExclusive):c.endExclusive===a+1?this._ranges[b]=new bd.L(c.start,a):this._ranges.splice(b,1,new bd.L(c.start,a),new bd.L(a+1,c.endExclusive))}}addRange(a){bd.L.addRange(a,this._ranges)}addRangeAndResize(a,b){let c=0;for(;!(c>=this._ranges.length||a.start<=this._ranges[c].endExclusive);)c++;let d=c;for(;!(d>=this._ranges.length||a.endExclusive<this._ranges[d].start);)d++;let e=b-a.length;for(let a=d;a<this._ranges.length;a++)this._ranges[a]=this._ranges[a].delta(e);if(c===d){let d=new bd.L(a.start,a.start+b);d.isEmpty||this._ranges.splice(c,0,d)}else{let b=Math.min(a.start,this._ranges[c].start),f=Math.max(a.endExclusive,this._ranges[d-1].endExclusive),g=new bd.L(b,f+e);g.isEmpty?this._ranges.splice(c,d-c):this._ranges.splice(c,d-c,g)}}toString(){return this._ranges.map(a=>a.toString()).join(" + ")}}function bo(a,b,c,d,e,f){let g=null;if(c)try{g=c.tokenizeEncoded(d,e,f.clone())}catch(a){(0,i.dz)(a)}return g||(g=(0,be.Lh)(a.encodeLanguageId(b),f)),aU.f7.convertToEndOffset(g.tokens,d.length),g}class bp{constructor(a,b){this._tokenizerWithStateStore=a,this._backgroundTokenStore=b,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,aV.$6)(a=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(a)}))}_backgroundTokenizeWithDeadline(a){let b=Date.now()+a.timeRemaining(),c=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<b?(0,a2._p)(c):this._beginBackgroundTokenization())};c()}_backgroundTokenizeForAtLeast1ms(){let a=this._tokenizerWithStateStore._textModel.getLineCount(),b=new bh,c=bc.W.create(!1);do if(c.elapsed()>1||this._tokenizeOneInvalidLine(b)>=a)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(b.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(a){let b=this._tokenizerWithStateStore?.getFirstInvalidLine();return b?(this._tokenizerWithStateStore.updateTokensUntilLine(a,b.lineNumber),b.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){!this._isDisposed&&this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(a,b){this._tokenizerWithStateStore.store.invalidateEndStateRange(new aW.M(a,b))}}class bq{get children(){return this._children}get length(){return this._length}constructor(a){this.height=a,this._children=[],this._length=0}static create(a,b){let c=new bq(a.height+1);return c.appendChild(a),c.appendChild(b),c}canAppendChild(){return this._children.length<3}appendChild(a){if(!this.canAppendChild())throw Error("Cannot insert more than 3 children in a ListNode");this._children.push(a),this._length+=a.length,this._updateParentLength(a.length),br(a)||(a.parent=this)}_updateParentLength(a){let b=this.parent;for(;b;)b._length+=a,b=b.parent}unappendChild(){let a=this._children.pop();return this._length-=a.length,this._updateParentLength(-a.length),a}prependChild(a){if(this._children.length>=3)throw Error("Cannot prepend more than 3 children in a ListNode");this._children.unshift(a),this._length+=a.length,this._updateParentLength(a.length),br(a)||(a.parent=this)}unprependChild(){let a=this._children.shift();return this._length-=a.length,this._updateParentLength(-a.length),a}lastChild(){return this._children[this._children.length-1]}dispose(){this._children.splice(0,this._children.length)}}function br(a){return void 0!==a.token}function bs(a,b){let c,d=a,e=[];for(;;){if(b.height===d.height){c=b;break}if(br(d))throw Error("unexpected");e.push(d),d=d.lastChild()}for(let a=e.length-1;a>=0;a--){let b=e[a];c&&(b.children.length>=3?c=bq.create(b.unappendChild(),c):(b.appendChild(c),c=void 0))}if(!c)return a;{let b=new bq(c.height+1);return b.appendChild(a),b.appendChild(c),b}}!function(a){a[a.None=0]="None",a[a.ViewportGuess=1]="ViewportGuess",a[a.EditGuess=2]="EditGuess",a[a.Accurate=3]="Accurate"}(d||(d={}));class bt{constructor(a){this._textModel=a,this._root=this.createEmptyRoot()}createEmptyRoot(){return{length:this._textModel.getValueLength(),token:0,height:0,tokenQuality:d.None}}buildStore(a,b){this._root=this.createFromUpdates(a,b)}createFromUpdates(a,b){if(0===a.length)return this.createEmptyRoot();let c={length:a[0].length,token:a[0].token,height:0,tokenQuality:b};for(let d=1;d<a.length;d++)c=bs(c,{length:a[d].length,token:a[d].token,height:0,tokenQuality:b});return c}update(a,b,c){0!==b.length&&this.replace(a,b[0].startOffsetInclusive,b,c)}delete(a,b){this.replace(a,b,[],d.EditGuess)}replace(a,b,c,d){let e,f=b+a,g=[],h=[],i=[{node:this._root,offset:0}];for(;i.length>0;){let a=i.pop(),c=a.offset;if(c<b&&c+a.node.length<=b){br(a.node)||(a.node.parent=void 0),g.push(a.node);continue}if(br(a.node)&&c<b&&g.push({length:b-c,token:a.node.token,height:0,tokenQuality:a.node.tokenQuality}),!(b<=c)||!(c+a.node.length<=f)){if(c>=f){br(a.node)||(a.node.parent=void 0),h.push(a.node);continue}if(br(a.node)&&c+a.node.length>f){h.push({length:c+a.node.length-f,token:a.node.token,height:0,tokenQuality:a.node.tokenQuality});continue}if(!br(a.node)){let b=c+a.node.length;for(let c=a.node.children.length-1;c>=0;c--)b-=a.node.children[c].length,i.push({node:a.node.children[c],offset:b})}}}let j=(e=c.length>0?g.concat(this.createFromUpdates(c,d),h):g.concat(h))[0];for(let a=1;a<e.length;a++){var k,l;k=j,l=e[a],j=k.height===l.height?bq.create(k,l):k.height>l.height?bs(k,l):function(a,b){let c=a,d=[];for(;b.height!==c.height;){if(br(c))throw Error("unexpected");d.push(c),c=c.children[0]}let e=b;for(let a=d.length-1;a>=0;a--){let b=d[a];e&&(b.children.length>=3?e=bq.create(e,b.unprependChild()):(b.prependChild(e),e=void 0))}return e?bq.create(e,a):a}(l,k)}this._root=j??this.createEmptyRoot()}traverseInOrderInRange(a,b,c){let d=[{node:this._root,offset:0}];for(;d.length>0;){let{node:e,offset:f}=d.pop();if(!(f+e.length<=a)&&!(f>=b)){if(c(e,f))return;if(!br(e)){let a=f+e.length;for(let b=e.children.length-1;b>=0;b--)a-=e.children[b].length,d.push({node:e.children[b],offset:a})}}}}getTokenAt(a){let b;return this.traverseInOrderInRange(a,this._root.length,(a,c)=>!!br(a)&&(b={token:a.token,startOffsetInclusive:c,length:a.length},!0)),b}getTokensInRange(a,b){let c=[];return this.traverseInOrderInRange(a,b,(d,e)=>{if(br(d)){let f=d.length,g=e;e<a&&e+d.length>b?(g=a,f=b-a):e<a?(f-=a-e,g=a):e+d.length>b&&(f-=e+d.length-b),c.push({token:d.token,startOffsetInclusive:g,length:f})}return!1}),c}markForRefresh(a,b){this.traverseInOrderInRange(a,b,a=>(br(a)&&(a.tokenQuality=d.None),!1))}rangeHasTokens(a,b,c){let d=!0;return this.traverseInOrderInRange(a,b,a=>(br(a)&&a.tokenQuality<c&&(d=!1),!1)),d}rangeNeedsRefresh(a,b){let c=!1;return this.traverseInOrderInRange(a,b,a=>(br(a)&&a.tokenQuality!==d.Accurate&&(c=!0),!1)),c}getNeedsRefresh(){let a=[];return this.traverseInOrderInRange(0,this._textModel.getValueLength(),(b,c)=>(br(b)&&b.tokenQuality!==d.Accurate&&(a.length>0&&a[a.length-1].endOffset===c?a[a.length-1].endOffset+=b.length:a.push({startOffset:c,endOffset:c+b.length})),!1)),a}dispose(){let a=[[this._root,!1]];for(;a.length>0;){let[b,c]=a.pop();if(br(b));else if(c)b.dispose(),b.parent=void 0;else{a.push([b,!0]);for(let c=b.children.length-1;c>=0;c--)a.push([b.children[c],!1])}}this._root=void 0}}var bu=c(46339);let bv=(0,bb.u1)("treeSitterThemeService"),bw=class extends k.jG{get _textModel(){return this._tree.textModel}constructor(a,b,c,e,f){super(),this._tree=a,this._highlightingQueries=b,this._languageIdCodec=c,this._visibleLineRanges=e,this._treeSitterThemeService=f,this._onDidChangeTokens=this._register(new j.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidCompleteBackgroundTokenization=this._register(new j.vl),this.onDidChangeBackgroundTokenization=this._onDidCompleteBackgroundTokenization.event,this._encodedLanguageId=this._languageIdCodec.encodeLanguageId(this._tree.languageId),this._register((0,aX.lp)(this._treeSitterThemeService.onChange,()=>{this._updateTheme()})),this._tokenStore=this._register(new bt(this._textModel)),this._accurateVersion=this._textModel.getVersionId(),this._guessVersion=this._textModel.getVersionId(),this._tokenStore.buildStore(this._createEmptyTokens(),d.None),this._register((0,aX.fm)(a=>{let b=this._visibleLineRanges.read(a);this._parseAndTokenizeViewPort(b)})),this._register((0,aX.Y)({owner:this,changeTracker:(0,aX.jv)({tree:this._tree.tree})},(a,b)=>{let c=b.changes.at(0)?.change;if(b.changes.length>1)throw new i.D7("The tree changed twice in one transaction. This is currently not supported and should not happen.");if(c){if(this.hasTokens())for(let a of c.ranges)this._markForRefresh(a.newRange);this.hasTokens()?this._handleTreeUpdate(c.ranges,c.versionId):this._firstTreeUpdate(c.versionId)}else b.tree&&this._firstTreeUpdate(this._tree.treeLastParsedVersion.read(a))}))}handleContentChanged(a){for(let b of(this._guessVersion=a.versionId,a.changes))if(b.text.length>b.rangeLength){let a,c=b.rangeOffset>0?b.rangeOffset-1:b.rangeOffset,e=this._tokenStore.getTokenAt(c);e?(a={startOffsetInclusive:e.startOffsetInclusive,length:e.length+b.text.length-b.rangeLength,token:e.token},this._tokenStore.markForRefresh(c,b.rangeOffset+(b.text.length>b.rangeLength?b.text.length:b.rangeLength))):a={startOffsetInclusive:c,length:b.text.length,token:0},this._tokenStore.update(e?.length??0,[a],d.EditGuess)}else if(b.text.length<b.rangeLength){let a=b.rangeLength-b.text.length;this._tokenStore.delete(a,b.rangeOffset)}}getLineTokens(a){let b=this._textModel.getLineContent(a),c=this.getTokens(a);return new aU.f7(c,b,this._languageIdCodec)}_createEmptyTokens(){let a=this._emptyToken(),b=this._textModel.getValueLength();return[this._emptyTokensForOffsetAndLength(0,b,a)]}_emptyToken(){return this._treeSitterThemeService.findMetadata([],this._encodedLanguageId,!1,void 0)}_emptyTokensForOffsetAndLength(a,b,c){return{token:c,length:a+b,startOffsetInclusive:0}}hasAccurateTokensForLine(a){return this.hasTokens(new q.Q(a,1,a,this._textModel.getLineMaxColumn(a)))}tokenizeLinesAt(a,b){let c=this._guessTokensForLinesContent(a,b),d=[];if(!c)return null;for(let a=0;a<c.length;a++)d.push(new aU.f7(c[a],b[a],this._languageIdCodec));return d}_rangeHasTokens(a,b){return this._tokenStore.rangeHasTokens(this._textModel.getOffsetAt(a.getStartPosition()),this._textModel.getOffsetAt(a.getEndPosition()),b)}hasTokens(a){return!a||this._guessVersion===this._accurateVersion||!this._tokenStore.rangeNeedsRefresh(this._textModel.getOffsetAt(a.getStartPosition()),this._textModel.getOffsetAt(a.getEndPosition()))}getTokens(a){let b=this._textModel.getOffsetAt({lineNumber:a,column:1}),c=this._textModel.getOffsetAt({lineNumber:a,column:this._textModel.getLineLength(a)+1}),d=this._tokenStore.getTokensInRange(b,c),e=new Uint32Array(2*d.length);for(let a=0;a<d.length;a++)e[2*a]=d[a].startOffsetInclusive-b+d[a].length,e[2*a+1]=d[a].token;return e}getTokensInRange(a,b,c,d){let e=d?this._tokenizeCapturesWithMetadata(d,b,c):this._tokenize(a,b,c);if(e?.endOffsetsAndMetadata)return this._rangeTokensAsUpdates(b,e.endOffsetsAndMetadata)}_updateTokensInStore(a,b,c){for(let d of(this._accurateVersion=a,b)){let b,e=d.newTokens.length>0?d.newTokens[d.newTokens.length-1]:void 0;b=e&&this._guessVersion>=a?e.startOffsetInclusive+e.length-d.newTokens[0].startOffsetInclusive:d.oldRangeLength?d.oldRangeLength:0,this._tokenStore.update(b,d.newTokens,c)}}_markForRefresh(a){this._tokenStore.markForRefresh(this._textModel.getOffsetAt(a.getStartPosition()),this._textModel.getOffsetAt(a.getEndPosition()))}_getNeedsRefresh(){let a=this._tokenStore.getNeedsRefresh();return a?a.map(a=>({range:q.Q.fromPositions(this._textModel.getPositionAt(a.startOffset),this._textModel.getPositionAt(a.endOffset)),startOffset:a.startOffset,endOffset:a.endOffset})):[]}_parseAndTokenizeViewPort(a){for(let b of a.map(a=>a.toInclusiveRange()).filter(bu.O9)){let a=this._textModel.getOffsetAt(b.getStartPosition()),c=this._textModel.getOffsetAt(b.getEndPosition()),e=this._textModel.getVersionId();if(this._rangeHasTokens(b,d.ViewportGuess))continue;let f=this._textModel.getValueInRange(b),g=this._forceParseAndTokenizeContent(b,a,c,f,!0);if(!g||this._rangeHasTokens(b,d.ViewportGuess)||0===g.length)continue;let h=g[g.length-1],i=h.startOffsetInclusive+h.length-g[0].startOffsetInclusive;this._updateTokensInStore(e,[{newTokens:g,oldRangeLength:i}],d.ViewportGuess),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:b.startLineNumber,toLineNumber:b.endLineNumber}]}})}}_guessTokensForLinesContent(a,b){if(0===b.length)return;let c=b.join(this._textModel.getEOL()),d=new q.Q(1,1,a+b.length,b[b.length-1].length+1),e=this._textModel.getOffsetAt({lineNumber:a,column:1}),f=this._forceParseAndTokenizeContent(d,e,e+c.length,c,!1);if(!f)return;let g=Array(b.length),h=0,i=0,j=0;for(let a=0;a<b.length;a++){let c=[],d=!1;for(let e=h;!d&&e<f.length;e++){let g=f[e],k=g.endOffset-j,l=i-j;if(k<=b[a].length)c.push({endOffset:k,metadata:g.metadata}),h++;else if(l<b[a].length){let e={endOffset:b[a].length,metadata:g.metadata};c.push(e),d=!0}else d=!0;i=g.endOffset}g[a]=this._endOffsetTokensToUint32Array(c),j+=b[a].length+this._textModel.getEOL().length}return g}_forceParseAndTokenizeContent(a,b,c,d,e){let f=bk(this._textModel,a.startLineNumber).likelyRelevantLines,g=f.join(this._textModel.getEOL()),h=this._tree.createParsedTreeSync(`${g}${d}`);if(!h)return;let i=new q.Q(1,1,a.endLineNumber-a.startLineNumber+1+f.length,a.endColumn),j=this.captureAtRange(i),k=this._tokenizeCapturesWithMetadata(j,g.length,c-b+g.length);if(h.delete(),k)if(e)return this._rangeTokensAsUpdates(b,k.endOffsetsAndMetadata,g.length);else return k.endOffsetsAndMetadata}_firstTreeUpdate(a){return this._setViewPortTokens(a)}_setViewPortTokens(a){let b=this._visibleLineRanges.get().map(a=>{let b=a.toInclusiveRange();if(!b)return;let c=this._textModel.getOffsetAt(b.getStartPosition()),d=this._textModel.getOffsetAt(b.getEndPosition());return{newRange:b,newRangeEndOffset:d,newRangeStartOffset:c}}).filter(bu.O9);return this._handleTreeUpdate(b,a)}_handleTreeUpdate(a,b){let c=[];for(let b=0;b<a.length;b++)if(a[b].newRange.endLineNumber-a[b].newRange.startLineNumber>1e3){let d=a[b].newRange.endLineNumber,e=a[b].newRange.startLineNumber,f=a[b].newRange.startColumn,g=e+1e3;do{let h=new p.y(e,f),i=g===a[b].newRange.endLineNumber?a[b].newRange.endColumn:this._textModel.getLineMaxColumn(g),j=new p.y(g,i),k=q.Q.fromPositions(h,j);c.push({range:k,startOffset:this._textModel.getOffsetAt(k.getStartPosition()),endOffset:this._textModel.getOffsetAt(k.getEndPosition())}),e=g+1,f=1,g<d&&g+1e3>d?g=d:g+=1e3}while(g<=d)}else if(0===b||c[b-1].endOffset<a[b].newRangeStartOffset)c.push({range:a[b].newRange,startOffset:a[b].newRangeStartOffset,endOffset:a[b].newRangeEndOffset});else if(c[b-1].endOffset<a[b].newRangeEndOffset){let d=this._textModel.getPositionAt(c[b-1].endOffset+1),e=new q.Q(d.lineNumber,d.column,a[b].newRange.endLineNumber,a[b].newRange.endColumn);c.push({range:e,startOffset:c[b-1].endOffset+1,endOffset:a[b].newRangeEndOffset})}let d=c.map(a=>this._getCaptures(a.range));return this._updateTreeForRanges(c,b,d).then(()=>{this._textModel.isDisposed()||this._tree.treeLastParsedVersion.get()!==this._textModel.getVersionId()||this._refreshNeedsRefresh(b)})}async _updateTreeForRanges(a,b,c){let e;for(let f=0;f<a.length&&(this._textModel.isDisposed()||b===this._textModel.getVersionId());f++){let g=c[f],h=a[f],i=this.getTokensInRange(h.range,h.startOffset,h.endOffset,g);e=i?{newTokens:i}:{newTokens:[]},this._updateTokensInStore(b,[e],d.Accurate),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:h.range.getStartPosition().lineNumber,toLineNumber:h.range.getEndPosition().lineNumber}]}}),await new Promise(a=>(0,a2._p)(a))}this._onDidCompleteBackgroundTokenization.fire()}_refreshNeedsRefresh(a){let b=this._getNeedsRefresh();if(0===b.length)return;let c=Array(b.length);for(let a=0;a<b.length;a++){let d=b[a];c[a]={newRange:d.range,newRangeStartOffset:d.startOffset,newRangeEndOffset:d.endOffset}}this._handleTreeUpdate(c,a)}_rangeTokensAsUpdates(a,b,c){let d=[],e=0;for(let f of b){let b;f.endOffset<=e||c&&f.endOffset<c||(b=c&&e<c?{startOffsetInclusive:a+c,length:f.endOffset-c,token:f.metadata}:{startOffsetInclusive:a+e,length:f.endOffset-e,token:f.metadata},d.push(b),e=f.endOffset)}return d}_updateTheme(){let a=this._textModel.getFullModelRange();this._markForRefresh(a),this._parseAndTokenizeViewPort(this._visibleLineRanges.get())}captureAtRange(a){let b=this._tree.tree.get();return b?this._highlightingQueries.captures(b.rootNode,{startPosition:{row:a.startLineNumber-1,column:a.startColumn-1},endPosition:{row:a.endLineNumber-1,column:a.endColumn-1}}).map(a=>({name:a.name,text:a.node.text,node:{startIndex:a.node.startIndex,endIndex:a.node.endIndex,startPosition:{lineNumber:a.node.startPosition.row+1,column:a.node.startPosition.column+1},endPosition:{lineNumber:a.node.endPosition.row+1,column:a.node.endPosition.column+1}},encodedLanguageId:this._encodedLanguageId})):[]}captureAtRangeWithInjections(a){let b=this.captureAtRange(a);for(let c=0;c<b.length;c++){let d=b[c],e=d.node.startPosition.lineNumber,f=d.node.endPosition.lineNumber,g=d.node.startPosition.column,h=d.node.endPosition.column,i=e>a.startLineNumber&&e<a.endLineNumber?e:a.startLineNumber,j=f>a.startLineNumber&&f<a.endLineNumber?f:a.endLineNumber,k=e===a.startLineNumber?g<a.startColumn?a.startColumn:g:e<a.startLineNumber?a.startColumn:g,l=f===a.endLineNumber?h>a.endColumn?a.endColumn:h:f>a.endLineNumber?a.endColumn:h,m=new q.Q(i,k,j,l),n=this._getInjectionCaptures(d,m);n&&n.length>0&&(b.splice(c+1,0,...n),c+=n.length)}return b}tokenizeEncoded(a){let b=this._tokenizeEncoded(a);if(!b)return;let c=this._rangeTokensAsUpdates(this._textModel.getOffsetAt({lineNumber:a,column:1}),b.result);b.versionId===this._textModel.getVersionId()&&this._updateTokensInStore(b.versionId,[{newTokens:c,oldRangeLength:this._textModel.getLineLength(a)}],d.Accurate)}_getCaptures(a){return this.captureAtRangeWithInjections(a)}_tokenize(a,b,c){let d=this._getCaptures(a),e=this._tokenizeCapturesWithMetadata(d,b,c);if(e)return{...e,versionId:this._tree.treeLastParsedVersion.get()}}_createTokensFromCaptures(a,b,c){let d=this._tree.tree.get(),e=bc.W.create(),f=c-b,g=this._languageIdCodec.encodeLanguageId(this._tree.languageId),h=bx[this._tree.languageId]||"source";if(0===a.length)return d?(e.stop(),{endOffsets:[{endOffset:f,scopes:[],encodedLanguageId:g}],captureTime:e.elapsed()}):void 0;let i=Array(a.length);i.fill({endOffset:0,scopes:[h],encodedLanguageId:g});let j=0,k=()=>{i.push({endOffset:0,scopes:[h],encodedLanguageId:g})},l=(a,b)=>a.name.includes("punctuation")&&a.text?Array.from(a.text.matchAll(by)).map(a=>b+a.index):void 0,m=(a,b,c,d)=>{if(void 0!==d){let e=i[d].scopes,f=i[d].bracket;if((d>0?i[d-1].endOffset:0)!==b){let g;if(f&&f.length>0){g=[];let a=[];for(let d=0;d<f.length;d++){let e=f[d];e<b?g.push(e):e>c&&a.push(e)}0===g.length&&(g=void 0),f=0===a.length?void 0:a}i.splice(d,0,{endOffset:b,scopes:[...e],bracket:g,encodedLanguageId:a.encodedLanguageId}),d++,k(),j++}i.splice(d,0,{endOffset:c,scopes:[...e,a.name],bracket:l(a,b),encodedLanguageId:a.encodedLanguageId}),i[j].bracket=f}else i[j]={endOffset:c,scopes:[h,a.name],bracket:l(a,b),encodedLanguageId:a.encodedLanguageId};j++};for(let d=0;d<a.length;d++){let e,f=a[d],g=f.node.endIndex<c?f.node.endIndex<b?b:f.node.endIndex:c,n=f.node.startIndex<b?b:f.node.startIndex,o=g-b,p=g-n;e=d>0?i[j-1].endOffset:n-b-1;let q=o-p;if(e>=0&&e<q&&(i[j]={endOffset:q,scopes:[h],encodedLanguageId:this._encodedLanguageId},j++,k()),!(p<0))if(e>=o){let a=j-1,b=i[a].endOffset,c=a>=2?i[a-1].endOffset:0;do{if(c+p===b){if(c===q){i[a].scopes.push(f.name);let b=i[a].bracket;i[a].bracket=b&&b.length>0?b:l(f,q)}}else if(c<=q){m(f,q,o,a);break}c=--a>=1?i[a-1].endOffset:0,b=a>=0?i[a].endOffset:0}while(b>q)}else m(f,q,o)}i[j-1].endOffset<f&&f-i[j-1].endOffset>0&&(k(),i[j]={endOffset:f,scopes:i[j].scopes,encodedLanguageId:this._encodedLanguageId},j++);for(let a=0;a<i.length;a++)if(0===i[a].endOffset&&0!==a){i.splice(a,i.length-a);break}return{endOffsets:i,captureTime:e.elapsed()}}_getInjectionCaptures(a,b){return[]}_tokenizeCapturesWithMetadata(a,b,c){let d=bc.W.create(),e=this._createTokensFromCaptures(a,b,c);if(!e)return;let f=e.endOffsets;for(let a=0;a<f.length;a++){let b=f[a];b.metadata=this._treeSitterThemeService.findMetadata(b.scopes,b.encodedLanguageId,!!b.bracket&&b.bracket.length>0,void 0)}let g=d.elapsed();return{endOffsetsAndMetadata:f,captureTime:e.captureTime,metadataTime:g}}_tokenizeEncoded(a){let b=this._textModel.getOffsetAt({lineNumber:a,column:1}),c=a+1<=this._textModel.getLineCount()?this._textModel.getOffsetAt({lineNumber:a+1,column:1}):this._textModel.getValueLength(),d=c-b,e=this._tokenize(new q.Q(a,1,a,d+1),b,c);if(e)return{result:e.endOffsetsAndMetadata,captureTime:e.captureTime,metadataTime:e.metadataTime,versionId:e.versionId}}_endOffsetTokensToUint32Array(a){let b=new Uint32Array(2*a.length);for(let c=0;c<a.length;c++)b[2*c]=a[c].endOffset,b[2*c+1]=a[c].metadata;return b}};bw=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([function(a,b){bv(a,b,4)}],bw);let bx={css:"source.css",typescript:"source.ts",ini:"source.ini",regex:"source.regex"},by=/[\{\}\[\]\<\>\(\)]/g;var bz=c(30950),bA=function(a,b){return function(c,d){b(c,d,a)}};let bB=class extends a1{constructor(a,b,c,d,e,f){super(b,c),this._languageIdObs=a,this._treeSitterLibraryService=e,this._instantiationService=f,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new j.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event;let g=new aX.BK(this._treeSitterLibraryService.getParserClass()),h=(0,aX.un)(this,a=>g.promiseResult?.read(a)?.getDataOrThrow());this._tree=(0,aX.un)(this,a=>{let b=h.read(a);if(!b)return;let c=this._languageIdObs.read(a),d=this._treeSitterLibraryService.getLanguage(c,a);if(!d)return;let e=new b;if(a.store.add((0,k.s)(()=>{e.delete()})),e.setLanguage(d),void 0!==this._treeSitterLibraryService.getInjectionQueries(c,a))return a.store.add(this._instantiationService.createInstance(a9,c,void 0,e,b,this._textModel))}),this._tokenizationImpl=(0,aX.un)(this,a=>{let b=this._tree.read(a);if(!b)return;let c=this._treeSitterLibraryService.getHighlightingQueries(b.languageId,a);if(c)return a.store.add(this._instantiationService.createInstance(bw,b,c,this._languageIdCodec,d))}),this._register((0,aX.fm)(a=>{let b=this._tokenizationImpl.read(a);b&&(a.store.add(b.onDidChangeTokens(a=>{this._onDidChangeTokens.fire(a.changes)})),a.store.add(b.onDidChangeBackgroundTokenization(a=>{this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()})))}))}getLineTokens(a){let b=this._tokenizationImpl.get();if(!b){let b=this._textModel.getLineContent(a);return aU.f7.createEmpty(b,this._languageIdCodec)}return b.getLineTokens(a)}todo_resetTokenization(a=!0){a&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}handleDidChangeAttached(){}handleDidChangeContent(a){if(a.isFlush)this.todo_resetTokenization(!1);else{let b=this._tokenizationImpl.get();b?.handleContentChanged(a)}let b=this._tree.get();b?.handleContentChange(a)}forceTokenization(a){let b=this._tokenizationImpl.get();b&&(b.hasAccurateTokensForLine(a)||b.tokenizeEncoded(a))}hasAccurateTokensForLine(a){let b=this._tokenizationImpl.get();return!!b&&b.hasAccurateTokensForLine(a)}isCheapToTokenize(a){return!0}getTokenTypeIfInsertingCharacter(a,b,c){return 0}tokenizeLinesAt(a,b){let c=this._tokenizationImpl.get();return c?c.tokenizeLinesAt(a,b):null}get hasTokens(){let a=this._tokenizationImpl.get();return!!a&&a.hasTokens()}};bB=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([bA(4,bz.t),bA(5,bb._Y)],bB);class bC{constructor(a){this._pieces=[],this._isComplete=!1,this._languageIdCodec=a}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(a,b,c){if(this._pieces=a||[],this._isComplete=b,c)for(let a of this._pieces)a.reportIfInvalid(c)}setPartial(a,b){let c=a;if(b.length>0){let d=b[0].getRange(),e=b[b.length-1].getRange();if(!d||!e)return a;c=a.plusRange(d).plusRange(e)}let d=null;for(let a=0,b=this._pieces.length;a<b;a++){let e=this._pieces[a];if(e.endLineNumber<c.startLineNumber)continue;if(e.startLineNumber>c.endLineNumber){d=d||{index:a};break}if(e.removeTokens(c),e.isEmpty()){this._pieces.splice(a,1),a--,b--;continue}if(e.endLineNumber<c.startLineNumber)continue;if(e.startLineNumber>c.endLineNumber){d=d||{index:a};continue}let[f,g]=e.split(c);if(f.isEmpty()){d=d||{index:a};continue}g.isEmpty()||(this._pieces.splice(a,1,f,g),a++,b++,d=d||{index:a})}return d=d||{index:this._pieces.length},b.length>0&&(this._pieces=g.nK(this._pieces,d.index,b)),c}isComplete(){return this._isComplete}addSparseTokens(a,b){if(0===b.getTextLength())return b;let c=this._pieces;if(0===c.length)return b;let d=bC._findFirstPieceWithLine(c,a),e=c[d].getLineTokens(a);if(!e)return b;let f=b.getCount(),g=e.getCount(),h=0,i=[],j=0,k=0,l=(a,b)=>{a!==k&&(k=a,i[j++]=a,i[j++]=b)};for(let a=0;a<g;a++){let c=Math.min(e.getStartCharacter(a),b.getTextLength()),d=Math.min(e.getEndCharacter(a),b.getTextLength()),g=e.getMetadata(a),i=((1&g?2048:0)|(2&g?4096:0)|(4&g?8192:0)|(8&g?16384:0)|(16&g?0xff8000:0)|(32&g?0xff000000:0))>>>0,j=~i>>>0;for(;h<f&&b.getEndOffset(h)<=c;)l(b.getEndOffset(h),b.getMetadata(h)),h++;for(h<f&&b.getStartOffset(h)<c&&l(c,b.getMetadata(h));h<f&&b.getEndOffset(h)<d;)l(b.getEndOffset(h),b.getMetadata(h)&j|g&i),h++;if(h<f)l(d,b.getMetadata(h)&j|g&i),b.getEndOffset(h)===d&&h++;else{let a=Math.min(Math.max(0,h-1),f-1);l(d,b.getMetadata(a)&j|g&i)}}for(;h<f;)l(b.getEndOffset(h),b.getMetadata(h)),h++;return new aU.f7(new Uint32Array(i),b.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(a,b){let c=0,d=a.length-1;for(;c<d;){let e=c+Math.floor((d-c)/2);if(a[e].endLineNumber<b)c=e+1;else if(a[e].startLineNumber>b)d=e-1;else{for(;e>c&&a[e-1].startLineNumber<=b&&b<=a[e-1].endLineNumber;)e--;return e}}return c}acceptEdit(a,b,c,d,e){for(let f of this._pieces)f.acceptEdit(a,b,c,d,e)}}var bD=c(42350);let bE=new Uint32Array(0).buffer;class bF{static deleteBeginning(a,b){return null===a||a===bE?a:bF.delete(a,0,b)}static deleteEnding(a,b){if(null===a||a===bE)return a;let c=bG(a),d=c[c.length-2];return bF.delete(a,b,d)}static delete(a,b,c){let d,e;if(null===a||a===bE||b===c)return a;let f=bG(a),g=f.length>>>1;if(0===b&&f[f.length-2]===c)return bE;let h=aU.f7.findIndexInTokensArray(f,b),i=h>0?f[h-1<<1]:0;if(c<f[h<<1]){let d=c-b;for(let a=h;a<g;a++)f[a<<1]-=d;return a}i!==b?(f[h<<1]=b,d=h+1<<1,e=b):(d=h<<1,e=i);let j=c-b;for(let a=h+1;a<g;a++){let b=f[a<<1]-j;b>e&&(f[d++]=b,f[d++]=f[(a<<1)+1],e=b)}if(d===f.length)return a;let k=new Uint32Array(d);return k.set(f.subarray(0,d),0),k.buffer}static append(a,b){if(b===bE)return a;if(a===bE)return b;if(null===a)return a;if(null===b)return null;let c=bG(a),d=bG(b),e=d.length>>>1,f=new Uint32Array(c.length+d.length);f.set(c,0);let g=c.length,h=c[c.length-2];for(let a=0;a<e;a++)f[g++]=d[a<<1]+h,f[g++]=d[(a<<1)+1];return f.buffer}static insert(a,b,c){if(null===a||a===bE)return a;let d=bG(a),e=d.length>>>1,f=aU.f7.findIndexInTokensArray(d,b);f>0&&d[f-1<<1]===b&&f--;for(let a=f;a<e;a++)d[a<<1]+=c;return a}}function bG(a){return a instanceof Uint32Array?a:new Uint32Array(a)}var bH=c(48268);class bI{constructor(a){this._lineTokens=[],this._len=0,this._languageIdCodec=a}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(a,b,c){let d=null;if(b<this._len&&(d=this._lineTokens[b]),null!==d&&d!==bE)return new aU.f7(bG(d),c,this._languageIdCodec);let e=new Uint32Array(2);return e[0]=c.length,e[1]=bJ(this._languageIdCodec.encodeLanguageId(a)),new aU.f7(e,c,this._languageIdCodec)}static _massageTokens(a,b,c){let d=c?bG(c):null;if(0===b){let b=!1;if(d&&d.length>1&&(b=bH.x.getLanguageId(d[1])!==a),!b)return bE}if(!d||0===d.length){let c=new Uint32Array(2);return c[0]=b,c[1]=bJ(a),c.buffer}return(d[d.length-2]=b,0===d.byteOffset&&d.byteLength===d.buffer.byteLength)?d.buffer:d}_ensureLine(a){for(;a>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(a,b){0!==b&&(a+b>this._len&&(b=this._len-a),this._lineTokens.splice(a,b),this._len-=b)}_insertLines(a,b){if(0===b)return;let c=[];for(let a=0;a<b;a++)c[a]=null;this._lineTokens=g.nK(this._lineTokens,a,c),this._len+=b}setTokens(a,b,c,d,e){let f=bI._massageTokens(this._languageIdCodec.encodeLanguageId(a),c,d);this._ensureLine(b);let g=this._lineTokens[b];return this._lineTokens[b]=f,!!e&&!bI._equals(g,f)}static _equals(a,b){if(!a||!b)return!a&&!b;let c=bG(a),d=bG(b);if(c.length!==d.length)return!1;for(let a=0,b=c.length;a<b;a++)if(c[a]!==d[a])return!1;return!0}acceptEdit(a,b,c){this._acceptDeleteRange(a),this._acceptInsertText(new p.y(a.startLineNumber,a.startColumn),b,c)}_acceptDeleteRange(a){let b=a.startLineNumber-1;if(b>=this._len)return;if(a.startLineNumber===a.endLineNumber){if(a.startColumn===a.endColumn)return;this._lineTokens[b]=bF.delete(this._lineTokens[b],a.startColumn-1,a.endColumn-1);return}this._lineTokens[b]=bF.deleteEnding(this._lineTokens[b],a.startColumn-1);let c=a.endLineNumber-1,d=null;c<this._len&&(d=bF.deleteBeginning(this._lineTokens[c],a.endColumn-1)),this._lineTokens[b]=bF.append(this._lineTokens[b],d),this._deleteLines(a.startLineNumber,a.endLineNumber-a.startLineNumber)}_acceptInsertText(a,b,c){if(0===b&&0===c)return;let d=a.lineNumber-1;if(!(d>=this._len)){if(0===b){this._lineTokens[d]=bF.insert(this._lineTokens[d],a.column-1,c);return}this._lineTokens[d]=bF.deleteEnding(this._lineTokens[d],a.column-1),this._lineTokens[d]=bF.insert(this._lineTokens[d],a.column-1,c),this._insertLines(a.lineNumber,b)}}setMultilineTokens(a,b){if(0===a.length)return{changes:[]};let c=[];for(let d=0,e=a.length;d<e;d++){let e=a[d],f=0,g=0,h=!1;for(let a=e.startLineNumber;a<=e.endLineNumber;a++)h?(this.setTokens(b.getLanguageId(),a-1,b.getLineLength(a),e.getLineTokens(a),!1),g=a):this.setTokens(b.getLanguageId(),a-1,b.getLineLength(a),e.getLineTokens(a),!0)&&(h=!0,f=a,g=a);h&&c.push({fromLineNumber:f,toLineNumber:g})}return{changes:c}}}function bJ(a){return(0|a|0x2008400)>>>0}class bK extends a1{constructor(a,b,c,d){super(a,b),this.getLanguageId=c,this._tokenizer=null,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new j.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new k.HE),this._tokens=new bI(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new k.HE),this._attachedViewStates=this._register(new k.$w),this._register(bD.dG.onDidChange(a=>{let b=this.getLanguageId();-1!==a.changedLanguages.indexOf(b)&&this.todo_resetTokenization()})),this.todo_resetTokenization(),this._register(d.onDidChangeVisibleRanges(({view:a,state:b})=>{if(b){let c=this._attachedViewStates.get(a);c||(c=new a0(()=>this.refreshRanges(c.lineRanges)),this._attachedViewStates.set(a,c)),c.handleStateChange(b)}else this._attachedViewStates.deleteAndDispose(a)}))}todo_resetTokenization(a=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new bl(this._textModel.getLineCount())),a&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});let[b,c]=(()=>{let a;if(this._textModel.isTooLargeForTokenization())return[null,null];let b=bD.dG.get(this.getLanguageId());if(!b)return[null,null];try{a=b.getInitialState()}catch(a){return(0,i.dz)(a),[null,null]}return[b,a]})();if(b&&c?this._tokenizer=new bj(this._textModel.getLineCount(),b,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){let a={setTokens:a=>{this.setTokens(a)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(a,b)=>{if(!this._tokenizer)return;let c=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==c&&a>=c&&this._tokenizer?.store.setEndState(a,b)}};b&&b.createBackgroundTokenizer&&!b.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=b.createBackgroundTokenizer(this._textModel,a)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new bp(this._tokenizer,a),this._defaultBackgroundTokenizer.handleChanges()),b?.backgroundTokenizerShouldOnlyVerifyTokens&&b.createBackgroundTokenizer?(this._debugBackgroundTokens=new bI(this._languageIdCodec),this._debugBackgroundStates=new bl(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=b.createBackgroundTokenizer(this._textModel,{setTokens:a=>{this._debugBackgroundTokens?.setMultilineTokens(a,this._textModel)},backgroundTokenizationFinished(){},setEndState:(a,b)=>{this._debugBackgroundStates?.setEndState(a,b)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(a){if(a.isFlush)this.todo_resetTokenization(!1);else if(!a.isEolChange){for(let b of a.changes){let[a,c]=(0,n.W)(b.text);this._tokens.acceptEdit(b.range,a,c),this._debugBackgroundTokens?.acceptEdit(b.range,a,c)}this._debugBackgroundStates?.acceptChanges(a.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(a.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(a){let{changes:b}=this._tokens.setMultilineTokens(a,this._textModel);return b.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:b}),{changes:b}}refreshAllVisibleLineTokens(){let a=aW.M.joinMany([...this._attachedViewStates].map(([a,b])=>b.lineRanges));this.refreshRanges(a)}refreshRanges(a){for(let b of a)this.refreshRange(b.startLineNumber,b.endLineNumberExclusive-1)}refreshRange(a,b){if(!this._tokenizer)return;a=Math.max(1,Math.min(this._textModel.getLineCount(),a)),b=Math.min(this._textModel.getLineCount(),b);let c=new bh,{heuristicTokens:d}=this._tokenizer.tokenizeHeuristically(c,a,b),e=this.setTokens(c.finalize());if(d)for(let a of e.changes)this._backgroundTokenizer.value?.requestTokens(a.fromLineNumber,a.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(a){let b=new bh;this._tokenizer?.updateTokensUntilLine(b,a),this.setTokens(b.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(a){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(a)}isCheapToTokenize(a){return!this._tokenizer||this._tokenizer.isCheapToTokenize(a)}getLineTokens(a){let b=this._textModel.getLineContent(a),c=this._tokens.getTokens(this._textModel.getLanguageId(),a-1,b);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>a&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>a){let d=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),a-1,b);!c.equals(d)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(a)}return c}getTokenTypeIfInsertingCharacter(a,b,c){if(!this._tokenizer)return 0;let d=this._textModel.validatePosition(new p.y(a,b));return this.forceTokenization(d.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(d,c)}tokenizeLinesAt(a,b){return this._tokenizer?(this.forceTokenization(a),this._tokenizer.tokenizeLinesAt(a,b)):null}get hasTokens(){return this._tokens.hasTokens}}var bL=function(a,b){return function(c,d){b(c,d,a)}};let bM=e=class extends aT._{constructor(a,b,c,d,e,f,g,h){super(),this._textModel=a,this._bracketPairsTextModelPart=b,this._languageId=c,this._attachedViews=d,this._languageService=e,this._languageConfigurationService=f,this._instantiationService=g,this._treeSitterLibraryService=h,this._languageIdObs=(0,aX.FY)(this,this._languageId),this._useTreeSitter=(0,aX.un)(this,a=>{let b=this._languageIdObs.read(a);return this._treeSitterLibraryService.supportsLanguage(b,a)}),this.tokens=(0,aX.un)(this,a=>{let b;return b=this._useTreeSitter.read(a)?a.store.add(this._instantiationService.createInstance(bB,this._languageIdObs,this._languageService.languageIdCodec,this._textModel,this._attachedViews.visibleLineRanges)):a.store.add(new bK(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews)),a.store.add(b.onDidChangeTokens(a=>{this._emitModelTokensChangedEvent(a)})),a.store.add(b.onDidChangeBackgroundTokenizationState(a=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),b});let i=!1;this.tokens.recomputeInitiallyAndOnChange(this._store,a=>{i&&a.todo_resetTokenization(),i=!0}),this._semanticTokens=new bC(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new j.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new j.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new j.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}handleLanguageConfigurationServiceChange(a){a.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(a){if(a.isFlush)this._semanticTokens.flush();else if(!a.isEolChange)for(let b of a.changes){let[a,c,d]=(0,n.W)(b.text);this._semanticTokens.acceptEdit(b.range,a,c,d,b.text.length>0?b.text.charCodeAt(0):0)}this.tokens.get().handleDidChangeContent(a)}handleDidChangeAttached(){this.tokens.get().handleDidChangeAttached()}getLineTokens(a){this.validateLineNumber(a);let b=this.tokens.get().getLineTokens(a);return this._semanticTokens.addSparseTokens(a,b)}_emitModelTokensChangedEvent(a){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(a),this._onDidChangeTokens.fire(a))}validateLineNumber(a){if(a<1||a>this._textModel.getLineCount())throw new i.D7("Illegal value for lineNumber")}get hasTokens(){return this.tokens.get().hasTokens}resetTokenization(){this.tokens.get().todo_resetTokenization()}get backgroundTokenizationState(){return this.tokens.get().backgroundTokenizationState}forceTokenization(a){this.validateLineNumber(a),this.tokens.get().forceTokenization(a)}hasAccurateTokensForLine(a){return this.validateLineNumber(a),this.tokens.get().hasAccurateTokensForLine(a)}isCheapToTokenize(a){return this.validateLineNumber(a),this.tokens.get().isCheapToTokenize(a)}tokenizeIfCheap(a){this.validateLineNumber(a),this.tokens.get().tokenizeIfCheap(a)}getTokenTypeIfInsertingCharacter(a,b,c){return this.tokens.get().getTokenTypeIfInsertingCharacter(a,b,c)}tokenizeLinesAt(a,b){return this.tokens.get().tokenizeLinesAt(a,b)}setSemanticTokens(a,b){this._semanticTokens.set(a,b,this._textModel),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==a,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(a,b){if(this.hasCompleteSemanticTokens())return;let c=this._textModel.validateRange(this._semanticTokens.setPartial(a,b));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:c.startLineNumber,toLineNumber:c.endLineNumber}]})}getWordAtPosition(a){this.assertNotDisposed();let b=this._textModel.validatePosition(a),c=this._textModel.getLineContent(b.lineNumber),d=this.getLineTokens(b.lineNumber),f=d.findTokenIndexAtOffset(b.column-1),[g,h]=e._findLanguageBoundaries(d,f),i=(0,aS.Th)(b.column,this.getLanguageConfiguration(d.getLanguageId(f)).getWordDefinition(),c.substring(g,h),g);if(i&&i.startColumn<=a.column&&a.column<=i.endColumn)return i;if(f>0&&g===b.column-1){let[g,h]=e._findLanguageBoundaries(d,f-1),i=(0,aS.Th)(b.column,this.getLanguageConfiguration(d.getLanguageId(f-1)).getWordDefinition(),c.substring(g,h),g);if(i&&i.startColumn<=a.column&&a.column<=i.endColumn)return i}return null}getLanguageConfiguration(a){return this._languageConfigurationService.getLanguageConfiguration(a)}static _findLanguageBoundaries(a,b){let c=a.getLanguageId(b),d=0;for(let e=b;e>=0&&a.getLanguageId(e)===c;e--)d=a.getStartOffset(e);let e=a.getLineContent().length;for(let d=b,f=a.getCount();d<f&&a.getLanguageId(d)===c;d++)e=a.getEndOffset(d);return[d,e]}getWordUntilPosition(a){let b=this.getWordAtPosition(a);return b?{word:b.word.substr(0,a.column-b.startColumn),startColumn:b.startColumn,endColumn:a.column}:{word:"",startColumn:a.column,endColumn:a.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(a,b){let c=this._textModel.validatePosition(new p.y(a,b)),d=this.getLineTokens(c.lineNumber);return d.getLanguageId(d.findTokenIndexAtOffset(c.column-1))}setLanguageId(a,b="api"){if(this._languageId===a)return;let c={oldLanguage:this._languageId,newLanguage:a,source:b};this._languageId=a,this._languageIdObs.set(a,void 0),this._bracketPairsTextModelPart.handleDidChangeLanguage(c),this._onDidChangeLanguage.fire(c),this._onDidChangeLanguageConfiguration.fire({})}};bM=e=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([bL(4,t.L),bL(5,u.JZ),bL(6,bb._Y),bL(7,bz.t)],bM);var bN=c(71760),bO=c(89535),bP=c(20715),bQ=c(42715),bR=function(a,b){return function(c,d){b(c,d,a)}};function bS(a,b){return("string"==typeof a?function(a){let b=new aR;return b.acceptChunk(a),b.finish()}(a):v.nk(a)?function(a){let b,c=new aR;for(;"string"==typeof(b=a.read());)c.acceptChunk(b);return c.finish()}(a):a).create(b)}let bT=0;class bU{constructor(a){this._source=a,this._eos=!1}read(){if(this._eos)return null;let a=[],b=0,c=0;for(;;){let d=this._source.read();if(null===d){if(this._eos=!0,0===b)return null;return a.join("")}if(d.length>0&&(a[b++]=d,c+=d.length),c>=65536)return a.join("")}}}let bV=()=>{throw Error("Invalid change accessor")},bW=class extends k.jG{static{f=this}static{this._MODEL_SYNC_LIMIT=0x3200000}static{this.LARGE_FILE_SIZE_THRESHOLD=0x1400000}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=0x10000000}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:s.R.tabSize,indentSize:s.R.indentSize,insertSpaces:s.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:s.R.trimAutoWhitespace,largeFileOptimizations:s.R.largeFileOptimizations,bracketPairColorizationOptions:s.R.bracketPairColorizationOptions}}static resolveOptions(a,b){if(b.detectIndentation){let c=V(a,b.tabSize,b.insertSpaces);return new v.X2({tabSize:c.tabSize,indentSize:"tabSize",insertSpaces:c.insertSpaces,trimAutoWhitespace:b.trimAutoWhitespace,defaultEOL:b.defaultEOL,bracketPairColorizationOptions:b.bracketPairColorizationOptions})}return new v.X2(b)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}get onDidChangeOptions(){return this._onDidChangeOptions.event}get onDidChangeAttached(){return this._onDidChangeAttached.event}get onDidChangeLineHeight(){return this._onDidChangeLineHeight.event}get onDidChangeFont(){return this._onDidChangeFont.event}onDidChangeContent(a){return this._eventEmitter.slowEvent(b=>a(b.contentChangedEvent))}onDidChangeContentOrInjectedText(a){return(0,k.qE)(this._eventEmitter.fastEvent(b=>a(b)),this._onDidChangeInjectedText.event(b=>a(b)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(a,b,c,d=null,e,g,h,i){super(),this._undoRedoService=e,this._languageService=g,this._languageConfigurationService=h,this.instantiationService=i,this._onWillDispose=this._register(new j.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ca((a,b,c)=>this.handleBeforeFireDecorationsChangedEvent(a,b,c))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new j.vl),this._onDidChangeAttached=this._register(new j.vl),this._onDidChangeInjectedText=this._register(new j.vl),this._onDidChangeLineHeight=this._register(new j.vl),this._onDidChangeFont=this._register(new j.vl),this._eventEmitter=this._register(new cb),this._languageSelectionListener=this._register(new k.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new aZ,bT++,this.id="$model"+bT,this.isForSimpleWidget=c.isForSimpleWidget,null==d?this._associatedResource=m.r.parse("inmemory://model/"+bT):this._associatedResource=d,this._attachedEditorCount=0;let{textBuffer:n,disposable:o}=bS(a,c.defaultEOL);this._buffer=n,this._bufferDisposable=o;let p=this._buffer.getLineCount(),r=this._buffer.getValueLengthInRange(new q.Q(1,1,p,this._buffer.getLineLength(p)+1),0);c.largeFileOptimizations?(this._isTooLargeForTokenization=r>f.LARGE_FILE_SIZE_THRESHOLD||p>f.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=r>f.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._options=f.resolveOptions(this._buffer,c);let s="string"==typeof b?b:b.languageId;"string"!=typeof b&&(this._languageSelectionListener.value=b.onDidChange(()=>this._setLanguage(b.languageId))),this._bracketPairs=this._register(new K(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new T.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Q(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(bM,this,this._bracketPairs,s,this._attachedViews),this._isTooLargeForSyncing=r>f._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l.tk(bT),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new b$,this._commandManager=new S.z8(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(s),this._register(this._languageConfigurationService.onDidChange(a=>{this._bracketPairs.handleLanguageConfigurationServiceChange(a),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(a)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;let a=new aP([],"","\n",!1,!1,!0,!0);a.dispose(),this._buffer=a,this._bufferDisposable=k.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new i.D7("Model is disposed!")}getTextBuffer(){return this._assertNotDisposed(),this._buffer}_emitContentChangedEvent(a,b){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(b),this._bracketPairs.handleDidChangeContent(b),this._eventEmitter.fire(new bN.Ic(a,b)))}setValue(a,b=bQ.dg.setValue()){if(this._assertNotDisposed(),null==a)throw(0,i.Qg)();let{textBuffer:c,disposable:d}=bS(a,this._options.defaultEOL);this._setValueFromTextBuffer(c,d,b)}_createContentChanged2(a,b,c,d,e,f,g,h,i,j){return{changes:[{range:a,rangeOffset:b,rangeLength:c,text:e}],eol:this._buffer.getEOL(),isEolChange:i,versionId:this.getVersionId(),isUndoing:f,isRedoing:g,isFlush:h,detailedReasons:[j],detailedReasonsChangeLengths:[1]}}_setValueFromTextBuffer(a,b,c){this._assertNotDisposed();let d=this.getFullModelRange(),e=this.getValueLengthInRange(d),f=this.getLineCount(),g=this.getLineMaxColumn(f);this._buffer=a,this._bufferDisposable.dispose(),this._bufferDisposable=b,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new b$,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new bN.HP([new bN.Wn],this._versionId,!1,!1),this._createContentChanged2(new q.Q(1,1,f,g),0,e,new p.y(f,g),this.getValue(),!1,!1,!0,!1,c))}setEOL(a){this._assertNotDisposed();let b=1===a?"\r\n":"\n";if(this._buffer.getEOL()===b)return;let c=this.getFullModelRange(),d=this.getValueLengthInRange(c),e=this.getLineCount(),f=this.getLineMaxColumn(e);this._onBeforeEOLChange(),this._buffer.setEOL(b),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new bN.HP([new bN.mS],this._versionId,!1,!1),this._createContentChanged2(new q.Q(1,1,e,f),0,d,new p.y(e,f),this.getValue(),!1,!1,!1,!0,bQ.dg.eolChange()))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){let a=this.getVersionId(),b=this._decorationsTree.collectNodesPostOrder();for(let c=0,d=b.length;c<d;c++){let d=b[c],e=d.range,f=d.cachedAbsoluteStart-d.start,g=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),h=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);d.cachedAbsoluteStart=g,d.cachedAbsoluteEnd=h,d.cachedVersionId=a,d.start=g-f,d.end=h-f,aq(d)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(a){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(a)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let a=0,b=0,c=this._buffer.getLineCount();for(let d=1;d<=c;d++){let c=this._buffer.getLineLength(d);c>=1e4?b+=c:a+=c}return b>a}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(a){this._assertNotDisposed();let b=void 0!==a.tabSize?a.tabSize:this._options.tabSize,c=void 0!==a.indentSize?a.indentSize:this._options.originalIndentSize,d=void 0!==a.insertSpaces?a.insertSpaces:this._options.insertSpaces,e=void 0!==a.trimAutoWhitespace?a.trimAutoWhitespace:this._options.trimAutoWhitespace,f=void 0!==a.bracketColorizationOptions?a.bracketColorizationOptions:this._options.bracketPairColorizationOptions,g=new v.X2({tabSize:b,indentSize:c,insertSpaces:d,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:e,bracketPairColorizationOptions:f});if(this._options.equals(g))return;let h=this._options.createChangeEvent(g);this._options=g,this._bracketPairs.handleDidChangeOptions(h),this._decorationProvider.handleDidChangeOptions(h),this._onDidChangeOptions.fire(h)}detectIndentation(a,b){this._assertNotDisposed();let c=V(this._buffer,b,a);this.updateOptions({insertSpaces:c.insertSpaces,tabSize:c.tabSize,indentSize:c.tabSize})}normalizeIndentation(a){return this._assertNotDisposed(),(0,o.P)(a,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(a=null){let b=this.findMatches(l._J.source,!1,!0,!1,null,!1,0x40000000);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(a,b.map(a=>({range:a.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(a){this._assertNotDisposed();let b=this._validatePosition(a.lineNumber,a.column,0);return this._buffer.getOffsetAt(b.lineNumber,b.column)}getPositionAt(a){this._assertNotDisposed();let b=Math.min(this._buffer.getLength(),Math.max(0,a));return this._buffer.getPositionAt(b)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(a){this._versionId=a}_overwriteAlternativeVersionId(a){this._alternativeVersionId=a}_overwriteInitialUndoRedoSnapshot(a){this._initialUndoRedoSnapshot=a}getValue(a,b=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new i.D7("Operation would exceed heap memory limits");let c=this.getFullModelRange(),d=this.getValueInRange(c,a);return b?this._buffer.getBOM()+d:d}createSnapshot(a=!1){return new bU(this._buffer.createSnapshot(a))}getValueLength(a,b=!1){this._assertNotDisposed();let c=this.getFullModelRange(),d=this.getValueLengthInRange(c,a);return b?this._buffer.getBOM().length+d:d}getValueInRange(a,b=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(a),b)}getValueLengthInRange(a,b=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(a),b)}getCharacterCountInRange(a,b=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(a),b)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineContent(a)}getLineLength(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineLength(a)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new i.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),+("\n"!==this._buffer.getEOL())}getLineMinColumn(a){return this._assertNotDisposed(),1}getLineMaxColumn(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineLength(a)+1}getLineFirstNonWhitespaceColumn(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(a)}getLineLastNonWhitespaceColumn(a){if(this._assertNotDisposed(),a<1||a>this.getLineCount())throw new i.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(a)}_validateRangeRelaxedNoAllocations(a){let b=this._buffer.getLineCount(),c=a.startLineNumber,d=a.startColumn,e=Math.floor("number"!=typeof c||isNaN(c)?1:c),f=Math.floor("number"!=typeof d||isNaN(d)?1:d);if(e<1)e=1,f=1;else if(e>b)e=b,f=this.getLineMaxColumn(e);else if(f<=1)f=1;else{let a=this.getLineMaxColumn(e);f>=a&&(f=a)}let g=a.endLineNumber,h=a.endColumn,i=Math.floor("number"!=typeof g||isNaN(g)?1:g),j=Math.floor("number"!=typeof h||isNaN(h)?1:h);if(i<1)i=1,j=1;else if(i>b)i=b,j=this.getLineMaxColumn(i);else if(j<=1)j=1;else{let a=this.getLineMaxColumn(i);j>=a&&(j=a)}return c===e&&d===f&&g===i&&h===j&&a instanceof q.Q&&!(a instanceof r.L)?a:new q.Q(e,f,i,j)}_isValidPosition(a,b,c){if("number"!=typeof a||"number"!=typeof b||isNaN(a)||isNaN(b)||a<1||b<1||(0|a)!==a||(0|b)!==b||a>this._buffer.getLineCount())return!1;if(1===b)return!0;if(b>this.getLineMaxColumn(a))return!1;if(1===c){let c=this._buffer.getLineCharCode(a,b-2);if(l.pc(c))return!1}return!0}_validatePosition(a,b,c){let d=Math.floor("number"!=typeof a||isNaN(a)?1:a),e=Math.floor("number"!=typeof b||isNaN(b)?1:b),f=this._buffer.getLineCount();if(d<1)return new p.y(1,1);if(d>f)return new p.y(f,this.getLineMaxColumn(f));if(e<=1)return new p.y(d,1);let g=this.getLineMaxColumn(d);if(e>=g)return new p.y(d,g);if(1===c){let a=this._buffer.getLineCharCode(d,e-2);if(l.pc(a))return new p.y(d,e-1)}return new p.y(d,e)}validatePosition(a){return(this._assertNotDisposed(),a instanceof p.y&&this._isValidPosition(a.lineNumber,a.column,1))?a:this._validatePosition(a.lineNumber,a.column,1)}isValidRange(a){return this._isValidRange(a,1)}_isValidRange(a,b){let c=a.startLineNumber,d=a.startColumn,e=a.endLineNumber,f=a.endColumn;if(!this._isValidPosition(c,d,0)||!this._isValidPosition(e,f,0))return!1;if(1===b){let a=d>1?this._buffer.getLineCharCode(c,d-2):0,b=f>1&&f<=this._buffer.getLineLength(e)?this._buffer.getLineCharCode(e,f-2):0,g=l.pc(a),h=l.pc(b);return!g&&!h}return!0}validateRange(a){if(this._assertNotDisposed(),a instanceof q.Q&&!(a instanceof r.L)&&this._isValidRange(a,1))return a;let b=this._validatePosition(a.startLineNumber,a.startColumn,0),c=this._validatePosition(a.endLineNumber,a.endColumn,0),d=b.lineNumber,e=b.column,f=c.lineNumber,g=c.column;{let a=e>1?this._buffer.getLineCharCode(d,e-2):0,b=g>1&&g<=this._buffer.getLineLength(f)?this._buffer.getLineCharCode(f,g-2):0,c=l.pc(a),h=l.pc(b);return c||h?d===f&&e===g?new q.Q(d,e-1,f,g-1):c&&h?new q.Q(d,e-1,f,g+1):c?new q.Q(d,e-1,f,g):new q.Q(d,e,f,g+1):new q.Q(d,e,f,g)}}modifyPosition(a,b){this._assertNotDisposed();let c=this.getOffsetAt(a)+b;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,c)))}getFullModelRange(){this._assertNotDisposed();let a=this.getLineCount();return new q.Q(1,1,a,this.getLineMaxColumn(a))}findMatchesLineByLine(a,b,c,d){return this._buffer.findMatchesLineByLine(a,b,c,d)}findMatches(a,b,c,d,e,f,g=999){let h;this._assertNotDisposed();let i=null;null!==b&&(Array.isArray(b)||(b=[b]),b.every(a=>q.Q.isIRange(a))&&(i=b.map(a=>this.validateRange(a)))),null===i&&(i=[this.getFullModelRange()]),i=i.sort((a,b)=>a.startLineNumber-b.startLineNumber||a.startColumn-b.startColumn);let j=[];if(j.push(i.reduce((a,b)=>q.Q.areIntersecting(a,b)?a.plusRange(b):(j.push(a),b))),!c&&0>a.indexOf("\n")){let b=new aF.lt(a,c,d,e).parseSearchRequest();if(!b)return[];h=a=>this.findMatchesLineByLine(a,b,f,g)}else h=b=>aF.hB.findMatches(this,new aF.lt(a,c,d,e),b,f,g);return j.map(h).reduce((a,b)=>a.concat(b),[])}findNextMatch(a,b,c,d,e,f){this._assertNotDisposed();let g=this.validatePosition(b);if(!c&&0>a.indexOf("\n")){let b=new aF.lt(a,c,d,e).parseSearchRequest();if(!b)return null;let h=this.getLineCount(),i=new q.Q(g.lineNumber,g.column,h,this.getLineMaxColumn(h)),j=this.findMatchesLineByLine(i,b,f,1);return(aF.hB.findNextMatch(this,new aF.lt(a,c,d,e),g,f),j.length>0||(i=new q.Q(1,1,g.lineNumber,this.getLineMaxColumn(g.lineNumber)),(j=this.findMatchesLineByLine(i,b,f,1)).length>0))?j[0]:null}return aF.hB.findNextMatch(this,new aF.lt(a,c,d,e),g,f)}findPreviousMatch(a,b,c,d,e,f){this._assertNotDisposed();let g=this.validatePosition(b);return aF.hB.findPreviousMatch(this,new aF.lt(a,c,d,e),g,f)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(a){if(+("\n"!==this.getEOL())!==a)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(a)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(a){return a instanceof v.Wo?a:new v.Wo(a.identifier||null,this.validateRange(a.range),a.text,a.forceMoveMarkers||!1,a.isAutoWhitespaceEdit||!1,a._isTracked||!1)}_validateEditOperations(a){let b=[];for(let c=0,d=a.length;c<d;c++)b[c]=this._validateEditOperation(a[c]);return b}pushEditOperations(a,b,c,d,e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(a,this._validateEditOperations(b),c,d,e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(a,b,c,d,e){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let c=b.map(a=>({range:this.validateRange(a.range),text:a.text})),d=!0;if(a)for(let b=0,e=a.length;b<e;b++){let e=a[b],f=!1;for(let a=0,b=c.length;a<b;a++){let b=c[a].range,d=b.startLineNumber>e.endLineNumber,g=e.startLineNumber>b.endLineNumber;if(!d&&!g){f=!0;break}}if(!f){d=!1;break}}if(d)for(let a=0,d=this._trimAutoWhitespaceLines.length;a<d;a++){let d=this._trimAutoWhitespaceLines[a],e=this.getLineMaxColumn(d),f=!0;for(let a=0,b=c.length;a<b;a++){let b=c[a].range,g=c[a].text;if(!(d<b.startLineNumber||d>b.endLineNumber||d===b.startLineNumber&&b.startColumn===e&&b.isEmpty()&&g&&g.length>0&&"\n"===g.charAt(0))&&(!(d===b.startLineNumber&&1===b.startColumn&&b.isEmpty())||!g||!(g.length>0)||"\n"!==g.charAt(g.length-1))){f=!1;break}}if(f){let a=new q.Q(d,1,d,e);b.push(new v.Wo(null,a,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(a,b,c,d,e)}_applyUndo(a,b,c,d){let e=a.map(a=>{let b=this.getPositionAt(a.newPosition),c=this.getPositionAt(a.newEnd);return{range:new q.Q(b.lineNumber,b.column,c.lineNumber,c.column),text:a.oldText}});this._applyUndoRedoEdits(e,b,!0,!1,c,d)}_applyRedo(a,b,c,d){let e=a.map(a=>{let b=this.getPositionAt(a.oldPosition),c=this.getPositionAt(a.oldEnd);return{range:new q.Q(b.lineNumber,b.column,c.lineNumber,c.column),text:a.newText}});this._applyUndoRedoEdits(e,b,!1,!0,c,d)}_applyUndoRedoEdits(a,b,c,d,e,f){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=c,this._isRedoing=d,this.applyEdits(a,!1),this.setEOL(b),this._overwriteAlternativeVersionId(e)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(f),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(a,b,c){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let d=this._validateEditOperations(a);return this._doApplyEdits(d,b??!1,c??bQ.dg.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(a,b,c){let d=this._buffer.getLineCount(),e=this._buffer.applyEdits(a,this._options.trimAutoWhitespace,b),f=this._buffer.getLineCount(),h=e.changes;if(this._trimAutoWhitespaceLines=e.trimAutoWhitespaceLineNumbers,0!==h.length){for(let a=0,b=h.length;a<b;a++){let b=h[a];this._decorationsTree.acceptReplace(b.rangeOffset,b.rangeLength,b.text.length,b.forceMoveMarkers)}let a=[];this._increaseVersionId();let b=d;for(let c=0,d=h.length;c<d;c++){let d=h[c],[e]=(0,n.W)(d.text);this._onDidChangeDecorations.fire();let i=d.range.startLineNumber,j=d.range.endLineNumber,k=j-i,l=Math.min(k,e),m=e-k,o=f-b-m+i,q=o+e,r=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new p.y(o,1)),this.getOffsetAt(new p.y(q,this.getLineMaxColumn(q))),0),s=bN.uK.fromDecorations(r),t=new g.j3(s);for(let b=l;b>=0;b--){let c=i+b,d=o+b;t.takeFromEndWhile(a=>a.lineNumber>d);let e=t.takeFromEndWhile(a=>a.lineNumber===d);a.push(new bN.U0(c,this.getLineContent(d),e))}if(l<k){let b=i+l;a.push(new bN.E$(b+1,j))}if(l<e){let c=new g.j3(s),d=i+l,h=e-l,j=f-b-h+d+1,k=[],m=[];for(let a=0;a<h;a++){let b=j+a;m[a]=this.getLineContent(b),c.takeWhile(a=>a.lineNumber<b),k[a]=c.takeWhile(a=>a.lineNumber===b)}a.push(new bN.bg(d+1,i+e,m,k))}b+=m}this._emitContentChangedEvent(new bN.HP(a,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:h,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[c],detailedReasonsChangeLengths:[h.length]})}return null===e.reverseEdits?void 0:e.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(a,b,c){if(a&&a.size>0){let b=Array.from(a).map(a=>new bN.U0(a,this.getLineContent(a),this._getInjectedTextInLine(a)));this._onDidChangeInjectedText.fire(new bN.vn(b))}if(b&&b.size>0){let a=Array.from(b).map(a=>new bN.Nw(a.ownerId,a.decorationId,a.lineNumber,a.lineHeight));this._onDidChangeLineHeight.fire(new bN.zq(a))}if(c&&c.size>0){let a=Array.from(c).map(a=>new bN.vD(a.ownerId,a.lineNumber));this._onDidChangeFont.fire(new bN.dT(a))}}changeDecorations(a,b=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(b,a)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(a,b){let c={addDecoration:(b,c)=>this._deltaDecorationsImpl(a,[],[{range:b,options:c}])[0],changeDecoration:(b,c)=>{this._changeDecorationImpl(a,b,c)},changeDecorationOptions:(b,c)=>{this._changeDecorationOptionsImpl(a,b,b7(c))},removeDecoration:b=>{this._deltaDecorationsImpl(a,[b],[])},deltaDecorations:(b,c)=>0===b.length&&0===c.length?[]:this._deltaDecorationsImpl(a,b,c)},d=null;try{d=b(c)}catch(a){(0,i.dz)(a)}return c.addDecoration=bV,c.changeDecoration=bV,c.changeDecorationOptions=bV,c.removeDecoration=bV,c.deltaDecorations=bV,d}deltaDecorations(a,b,c=0){if(this._assertNotDisposed(),a||(a=[]),0===a.length&&0===b.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,i.dz)(Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(c,a,b)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(a){return this.getDecorationRange(a)}_setTrackedRange(a,b,c){let d=a?this._decorations[a]:null;if(!d)return b?this._deltaDecorationsImpl(0,[],[{range:b,options:b6[c]}],!0)[0]:null;if(!b)return this._decorationsTree.delete(d),delete this._decorations[d.id],null;let e=this._validateRangeRelaxedNoAllocations(b),f=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),g=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.delete(d),d.reset(this.getVersionId(),f,g,e),d.setOptions(b6[c]),this._decorationsTree.insert(d),d.id}removeAllDecorationsWithOwnerId(a){if(this._isDisposed)return;let b=this._decorationsTree.collectNodesFromOwner(a);for(let a=0,c=b.length;a<c;a++){let c=b[a];this._decorationsTree.delete(c),delete this._decorations[c.id]}}getDecorationOptions(a){let b=this._decorations[a];return b?b.options:null}getDecorationRange(a){let b=this._decorations[a];return b?this._decorationsTree.getNodeRange(this,b):null}getLineDecorations(a,b=0,c=!1,d=!1){return a<1||a>this.getLineCount()?[]:this.getLinesDecorations(a,a,b,c,d)}getLinesDecorations(a,b,c=0,d=!1,e=!1,f=!1){let h=this.getLineCount(),i=Math.min(h,Math.max(1,a)),j=Math.min(h,Math.max(1,b)),k=this.getLineMaxColumn(j),l=new q.Q(i,1,j,k),m=this._getDecorationsInRange(l,c,d,e,f);return(0,g.E4)(m,this._decorationProvider.getDecorationsInRange(l,c,d)),m}getDecorationsInRange(a,b=0,c=!1,d=!1,e=!1,f=!1){let h=this.validateRange(a),i=this._getDecorationsInRange(h,b,c,d,f);return(0,g.E4)(i,this._decorationProvider.getDecorationsInRange(h,b,c,e)),i}getOverviewRulerDecorations(a=0,b=!1,c=!1){return this._decorationsTree.getAll(this,a,b,c,!0,!1)}getInjectedTextDecorations(a=0){return this._decorationsTree.getAllInjectedText(this,a)}getCustomLineHeightsDecorations(a=0){return this._decorationsTree.getAllCustomLineHeights(this,a)}_getInjectedTextInLine(a){let b=this._buffer.getOffsetAt(a,1),c=b+this._buffer.getLineLength(a),d=this._decorationsTree.getInjectedTextInInterval(this,b,c,0);return bN.uK.fromDecorations(d).filter(b=>b.lineNumber===a)}getFontDecorationsInRange(a,b=0){let c=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),d=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,c,d,b)}getAllDecorations(a=0,b=!1,c=!1){let d=this._decorationsTree.getAll(this,a,b,c,!1,!1);return d.concat(this._decorationProvider.getAllDecorations(a,b))}getAllMarginDecorations(a=0){return this._decorationsTree.getAll(this,a,!1,!1,!1,!0)}_getDecorationsInRange(a,b,c,d,e){let f=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),g=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);return this._decorationsTree.getAllInInterval(this,f,g,b,c,d,e)}getRangeAt(a,b){return this._buffer.getRangeAt(a,b-a)}_changeDecorationImpl(a,b,c){let d=this._decorations[b];if(!d)return;if(d.options.after){let a=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(d.options.before){let a=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}if(null!==d.options.lineHeight){let c=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,b,c.startLineNumber,null)}if(d.options.affectsFont){let c=this.getDecorationRange(b);this._onDidChangeDecorations.recordLineAffectedByFontChange(a,d.id,c.startLineNumber)}let e=this._validateRangeRelaxedNoAllocations(c),f=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),g=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);this._decorationsTree.delete(d),d.reset(this.getVersionId(),f,g,e),this._decorationsTree.insert(d),this._onDidChangeDecorations.checkAffectedAndFire(d.options),d.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber),d.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber),null!==d.options.lineHeight&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,b,e.startLineNumber,d.options.lineHeight),d.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(a,d.id,e.startLineNumber)}_changeDecorationOptionsImpl(a,b,c){var d;let e=this._decorations[b];if(!e)return;let f=!!e.options.overviewRuler&&!!e.options.overviewRuler.color,g=!!c.overviewRuler&&!!c.overviewRuler.color;if(this._onDidChangeDecorations.checkAffectedAndFire(e.options),this._onDidChangeDecorations.checkAffectedAndFire(c),e.options.after||c.after){let a=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(e.options.before||c.before){let a=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}if(null!==e.options.lineHeight||null!==c.lineHeight){let d=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,b,d.startLineNumber,c.lineHeight)}if(e.options.affectsFont||c.affectsFont){let c=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByFontChange(a,b,c.startLineNumber)}let h=(!!(d=c).after||!!d.before)!==bZ(e);f!==g||h?(this._decorationsTree.delete(e),e.setOptions(c),this._decorationsTree.insert(e)):e.setOptions(c)}_deltaDecorationsImpl(a,b,c,d=!1){let e=this.getVersionId(),f=b.length,g=0,h=c.length,i=0;this._onDidChangeDecorations.beginDeferredEmit();try{let j=Array(h);for(;g<f||i<h;){let k=null;if(g<f){let c;do c=b[g++],k=this._decorations[c];while(!k&&g<f);if(k){if(k.options.after){let a=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(k.options.before){let a=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}if(null!==k.options.lineHeight){let b=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,c,b.startLineNumber,null)}if(k.options.affectsFont){let b=this._decorationsTree.getNodeRange(this,k);this._onDidChangeDecorations.recordLineAffectedByFontChange(a,c,b.startLineNumber)}this._decorationsTree.delete(k),d||this._onDidChangeDecorations.checkAffectedAndFire(k.options)}}if(i<h){if(!k){let a=++this._lastDecorationId,b=`${this._instanceId};${a}`;k=new ag(b,0,0),this._decorations[b]=k}let b=c[i],f=this._validateRangeRelaxedNoAllocations(b.range),g=b7(b.options),h=this._buffer.getOffsetAt(f.startLineNumber,f.startColumn),l=this._buffer.getOffsetAt(f.endLineNumber,f.endColumn);k.ownerId=a,k.reset(e,h,l,f),k.setOptions(g),k.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(f.endLineNumber),k.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(f.startLineNumber),null!==k.options.lineHeight&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(a,k.id,f.startLineNumber,k.options.lineHeight),k.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(a,k.id,f.startLineNumber),d||this._onDidChangeDecorations.checkAffectedAndFire(g),this._decorationsTree.insert(k),j[i]=k.id,i++}else k&&delete this._decorations[k.id]}return j}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(a,b){"string"==typeof a?(this._languageSelectionListener.clear(),this._setLanguage(a,b)):(this._languageSelectionListener.value=a.onDidChange(()=>this._setLanguage(a.languageId,b)),this._setLanguage(a.languageId,b))}_setLanguage(a,b){this.tokenization.setLanguageId(a,b),this._languageService.requestRichLanguageFeatures(a)}getLanguageIdAtPosition(a,b){return this.tokenization.getLanguageIdAtPosition(a,b)}getWordAtPosition(a){return this._tokenizationTextModelPart.getWordAtPosition(a)}getWordUntilPosition(a){return this._tokenizationTextModelPart.getWordUntilPosition(a)}normalizePosition(a,b){return a}getLineIndentColumn(a){return bX(this.getLineContent(a))+1}toString(){return`TextModel(${this.uri.toString()})`}};function bX(a){let b=0;for(let c of a)if(" "===c||" "===c)b++;else break;return b}function bY(a){return!!a.options.overviewRuler&&!!a.options.overviewRuler.color}function bZ(a){return!!a.options.after||!!a.options.before}bW=f=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([bR(4,bO.$D),bR(5,t.L),bR(6,u.JZ),bR(7,bb._Y)],bW);class b${constructor(){this._decorationsTree0=new ai,this._decorationsTree1=new ai,this._injectedTextDecorationsTree=new ai}ensureAllNodesHaveRanges(a){this.getAll(a,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(a,b){for(let c of b)null===c.range&&(c.range=a.getRangeAt(c.cachedAbsoluteStart,c.cachedAbsoluteEnd));return b}getAllInInterval(a,b,c,d,e,f,g){let h=a.getVersionId(),i=this._intervalSearch(b,c,d,e,f,h,g);return this._ensureNodesHaveRanges(a,i)}_intervalSearch(a,b,c,d,e,f,g){let h=this._decorationsTree0.intervalSearch(a,b,c,d,e,f,g),i=this._decorationsTree1.intervalSearch(a,b,c,d,e,f,g),j=this._injectedTextDecorationsTree.intervalSearch(a,b,c,d,e,f,g);return h.concat(i).concat(j)}getInjectedTextInInterval(a,b,c,d){let e=a.getVersionId(),f=this._injectedTextDecorationsTree.intervalSearch(b,c,d,!1,!1,e,!1);return this._ensureNodesHaveRanges(a,f).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getFontDecorationsInInterval(a,b,c,d){let e=a.getVersionId(),f=this._decorationsTree0.intervalSearch(b,c,d,!1,!1,e,!1);return this._ensureNodesHaveRanges(a,f).filter(a=>a.options.affectsFont)}getAllInjectedText(a,b){let c=a.getVersionId(),d=this._injectedTextDecorationsTree.search(b,!1,!1,c,!1);return this._ensureNodesHaveRanges(a,d).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getAllCustomLineHeights(a,b){let c=a.getVersionId(),d=this._search(b,!1,!1,!1,c,!1);return this._ensureNodesHaveRanges(a,d).filter(a=>"number"==typeof a.options.lineHeight)}getAll(a,b,c,d,e,f){let g=a.getVersionId(),h=this._search(b,c,d,e,g,f);return this._ensureNodesHaveRanges(a,h)}_search(a,b,c,d,e,f){if(d)return this._decorationsTree1.search(a,b,c,e,f);{let d=this._decorationsTree0.search(a,b,c,e,f),g=this._decorationsTree1.search(a,b,c,e,f),h=this._injectedTextDecorationsTree.search(a,b,c,e,f);return d.concat(g).concat(h)}}collectNodesFromOwner(a){let b=this._decorationsTree0.collectNodesFromOwner(a),c=this._decorationsTree1.collectNodesFromOwner(a),d=this._injectedTextDecorationsTree.collectNodesFromOwner(a);return b.concat(c).concat(d)}collectNodesPostOrder(){let a=this._decorationsTree0.collectNodesPostOrder(),b=this._decorationsTree1.collectNodesPostOrder(),c=this._injectedTextDecorationsTree.collectNodesPostOrder();return a.concat(b).concat(c)}insert(a){bZ(a)?this._injectedTextDecorationsTree.insert(a):bY(a)?this._decorationsTree1.insert(a):this._decorationsTree0.insert(a)}delete(a){bZ(a)?this._injectedTextDecorationsTree.delete(a):bY(a)?this._decorationsTree1.delete(a):this._decorationsTree0.delete(a)}getNodeRange(a,b){let c=a.getVersionId();return b.cachedVersionId!==c&&this._resolveNode(b,c),null===b.range&&(b.range=a.getRangeAt(b.cachedAbsoluteStart,b.cachedAbsoluteEnd)),b.range}_resolveNode(a,b){bZ(a)?this._injectedTextDecorationsTree.resolveNode(a,b):bY(a)?this._decorationsTree1.resolveNode(a,b):this._decorationsTree0.resolveNode(a,b)}acceptReplace(a,b,c,d){this._decorationsTree0.acceptReplace(a,b,c,d),this._decorationsTree1.acceptReplace(a,b,c,d),this._injectedTextDecorationsTree.acceptReplace(a,b,c,d)}}function b_(a){return a.replace(/[^a-z0-9\-_]/gi," ")}class b0{constructor(a){this.color=a.color||"",this.darkColor=a.darkColor||""}}class b1 extends b0{constructor(a){super(a),this._resolvedColor=null,this.position="number"==typeof a.position?a.position:v.A5.Center}getColor(a){return this._resolvedColor||("light"!==a.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,a):this._resolvedColor=this._resolveColor(this.color,a)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(a,b){if("string"==typeof a)return a;let c=a?b.getColor(a.id):null;return c?c.toString():""}}class b2{constructor(a){this.position=a?.position??v.ZS.Center,this.persistLane=a?.persistLane}}class b3 extends b0{constructor(a){super(a),this.position=a.position,this.sectionHeaderStyle=a.sectionHeaderStyle??null,this.sectionHeaderText=a.sectionHeaderText??null}getColor(a){return this._resolvedColor||("light"!==a.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,a):this._resolvedColor=this._resolveColor(this.color,a)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(a,b){return"string"==typeof a?h.Q1.fromHex(a):b.getColor(a.id)}}class b4{static from(a){return a instanceof b4?a:new b4(a)}constructor(a){this.content=a.content||"",this.tokens=a.tokens??null,this.inlineClassName=a.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=a.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=a.attachedData||null,this.cursorStops=a.cursorStops||null}}class b5{static register(a){return new b5(a)}static createDynamic(a){return new b5(a)}constructor(a){this.description=a.description,this.blockClassName=a.blockClassName?b_(a.blockClassName):null,this.blockDoesNotCollapse=a.blockDoesNotCollapse??null,this.blockIsAfterEnd=a.blockIsAfterEnd??null,this.blockPadding=a.blockPadding??null,this.stickiness=a.stickiness||0,this.zIndex=a.zIndex||0,this.className=a.className?b_(a.className):null,this.shouldFillLineOnLineBreak=a.shouldFillLineOnLineBreak??null,this.hoverMessage=a.hoverMessage||null,this.glyphMarginHoverMessage=a.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=a.lineNumberHoverMessage||null,this.isWholeLine=a.isWholeLine||!1,this.lineHeight=a.lineHeight?Math.min(a.lineHeight,300):null,this.fontSize=a.fontSize||null,this.affectsFont=!!a.fontSize||!!a.fontFamily||!!a.fontWeight||!!a.fontStyle,this.showIfCollapsed=a.showIfCollapsed||!1,this.collapseOnReplaceEdit=a.collapseOnReplaceEdit||!1,this.overviewRuler=a.overviewRuler?new b1(a.overviewRuler):null,this.minimap=a.minimap?new b3(a.minimap):null,this.glyphMargin=a.glyphMarginClassName?new b2(a.glyphMargin):null,this.glyphMarginClassName=a.glyphMarginClassName?b_(a.glyphMarginClassName):null,this.linesDecorationsClassName=a.linesDecorationsClassName?b_(a.linesDecorationsClassName):null,this.lineNumberClassName=a.lineNumberClassName?b_(a.lineNumberClassName):null,this.linesDecorationsTooltip=a.linesDecorationsTooltip?l.jy(a.linesDecorationsTooltip):null,this.firstLineDecorationClassName=a.firstLineDecorationClassName?b_(a.firstLineDecorationClassName):null,this.marginClassName=a.marginClassName?b_(a.marginClassName):null,this.inlineClassName=a.inlineClassName?b_(a.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=a.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=a.beforeContentClassName?b_(a.beforeContentClassName):null,this.afterContentClassName=a.afterContentClassName?b_(a.afterContentClassName):null,this.after=a.after?b4.from(a.after):null,this.before=a.before?b4.from(a.before):null,this.hideInCommentTokens=a.hideInCommentTokens??!1,this.hideInStringTokens=a.hideInStringTokens??!1,this.textDirection=a.textDirection??null}}b5.EMPTY=b5.register({description:"empty"});let b6=[b5.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),b5.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),b5.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),b5.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function b7(a){return a instanceof b5?a:b5.createDynamic(a)}class b8{static toKey(a){return`${a.ownerId};${a.decorationId};${a.lineNumber}`}constructor(a,b,c,d){this.ownerId=a,this.decorationId=b,this.lineNumber=c,this.lineHeight=d}}class b9{static toKey(a){return`${a.ownerId};${a.decorationId};${a.lineNumber}`}constructor(a,b,c){this.ownerId=a,this.decorationId=b,this.lineNumber=c}}class ca extends k.jG{constructor(a){super(),this.handleBeforeFire=a,this._actual=this._register(new j.vl),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(a){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(a)}recordLineAffectedByLineHeightChange(a,b,c,d){this._affectedLineHeights||(this._affectedLineHeights=new bP.iD([],b8.toKey)),this._affectedLineHeights.add(new b8(a,b,c,d))}recordLineAffectedByFontChange(a,b,c){this._affectedFontLines||(this._affectedFontLines=new bP.iD([],b9.toKey)),this._affectedFontLines.add(new b9(a,b,c))}checkAffectedAndFire(a){this._affectsMinimap||=!!a.minimap?.position,this._affectsOverviewRuler||=!!a.overviewRuler?.color,this._affectsGlyphMargin||=!!a.glyphMarginClassName,this._affectsLineNumber||=!!a.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let a={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(a)}}class cb extends k.jG{constructor(){super(),this._fastEmitter=this._register(new j.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new j.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(a=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=a;let b=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(b),this._slowEmitter.fire(b)}}fire(a){if(this._deferredCnt>0)return void(this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(a):this._deferredEvent=a);this._fastEmitter.fire(a),this._slowEmitter.fire(a)}}},14418:()=>{},14635:(a,b,c)=>{"use strict";c.d(b,{Qi:()=>h,XO:()=>d,bs:()=>i});var d,e=c(60734);let f=Object.freeze(function(a,b){let c=setTimeout(a.bind(b),0);return{dispose(){clearTimeout(c)}}});!function(a){a.isCancellationToken=function(b){return b===a.None||b===a.Cancelled||b instanceof g||!!b&&"object"==typeof b&&"boolean"==typeof b.isCancellationRequested&&"function"==typeof b.onCancellationRequested},a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:e.Jh.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:f})}(d||(d={}));class g{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?f:(this._emitter||(this._emitter=new e.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class h{constructor(a){this._token=void 0,this._parentListener=void 0,this._parentListener=a&&a.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new g),this._token}cancel(){this._token?this._token instanceof g&&this._token.cancel():this._token=d.Cancelled}dispose(a=!1){a&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof g&&this._token.dispose():this._token=d.None}}function i(a){let b=new h;return a.add({dispose(){b.cancel()}}),b.token}},15267:()=>{},15380:(a,b,c)=>{"use strict";c.d(b,{_:()=>d});let d={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}},16282:()=>{},16342:(a,b,c)=>{"use strict";c.d(b,{Pj:()=>A,jX:()=>B,vg:()=>D,_V:()=>H});var d=c(54734),e=c(14635),f=c(88347),g=c(16374),h=c(71373),i=c(46339),j=c(45640),k=c(46319),l=c(11866),m=c(79677),n=c(59317),o=c(32146),p=c(65320),q=c(55830),r=c(40778),s=c(70511);class t{constructor(a){this.value=a,this._lower=a.toLowerCase()}static toKey(a){return"string"==typeof a?a.toLowerCase():a._lower}}class u{constructor(a){if(this._set=new Set,a)for(let b of a)this.add(b)}add(a){this._set.add(t.toKey(a))}has(a){return this._set.has(t.toKey(a))}}var v=c(29715),w=c(88482),x=c(66153),y=c(3341);function z(a,b,c){let d=[],e=new u;for(let b of a.ordered(c))d.push(b),b.extensionId&&e.add(b.extensionId);for(let a of b.ordered(c)){if(a.extensionId){if(e.has(a.extensionId))continue;e.add(a.extensionId)}d.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits:(b,c,d)=>a.provideDocumentRangeFormattingEdits(b,b.getFullModelRange(),c,d)})}return d}class A{static{this._selectors=new h.w}static setFormatterSelector(a){return{dispose:A._selectors.unshift(a)}}static async select(a,b,c,d){if(0===a.length)return;let e=g.f.first(A._selectors);if(e)return await e(a,b,c,d)}}async function B(a,b,c,d,e,f,g){let h=a.get(v._Y),{documentRangeFormattingEditProvider:i}=a.get(w.u),j=(0,l.z9)(b)?b.getModel():b,k=i.ordered(j),m=await A.select(k,j,d,2);m&&(e.report(m),await h.invokeFunction(C,m,b,c,f,g))}async function C(a,b,c,e,f,g){let h,i,j=a.get(p.w),m=a.get(x.rr),q=a.get(y.Nt);(0,l.z9)(c)?(h=c.getModel(),i=new k.gI(c,5,void 0,f)):(h=c,i=new k.ER(c,f));let s=[],t=0;for(let a of(0,d._j)(e).sort(n.Q.compareRangesUsingStarts))t>0&&n.Q.areIntersectingOrTouching(s[t-1],a)?s[t-1]=n.Q.fromPositions(s[t-1].getStartPosition(),a.getEndPosition()):t=s.push(a);let u=async a=>{m.trace("[format][provideDocumentRangeFormattingEdits] (request)",b.extensionId?.value,a);let c=await b.provideDocumentRangeFormattingEdits(h,a,h.getFormattingOptions(),i.token)||[];return m.trace("[format][provideDocumentRangeFormattingEdits] (response)",b.extensionId?.value,c),c},v=(a,b)=>{if(!a.length||!b.length)return!1;let c=a.reduce((a,b)=>n.Q.plusRange(a,b.range),a[0].range);if(!b.some(a=>n.Q.intersectRanges(c,a.range)))return!1;for(let c of a)for(let a of b)if(n.Q.intersectRanges(c.range,a.range))return!0;return!1},w=[],z=[];try{if("function"==typeof b.provideDocumentRangesFormattingEdits){m.trace("[format][provideDocumentRangeFormattingEdits] (request)",b.extensionId?.value,s);let a=await b.provideDocumentRangesFormattingEdits(h,s,h.getFormattingOptions(),i.token)||[];m.trace("[format][provideDocumentRangeFormattingEdits] (response)",b.extensionId?.value,a),z.push(a)}else{for(let a of s){if(i.token.isCancellationRequested)return!0;z.push(await u(a))}for(let a=0;a<s.length;++a)for(let b=a+1;b<s.length;++b){if(i.token.isCancellationRequested)return!0;if(v(z[a],z[b])){let c=n.Q.plusRange(s[a],s[b]),d=await u(c);s.splice(b,1),s.splice(a,1),s.push(c),z.splice(b,1),z.splice(a,1),z.push(d),a=0,b=0}}}for(let a of z){if(i.token.isCancellationRequested)return!0;let b=await j.computeMoreMinimalEdits(h.uri,a);b&&w.push(...b)}if(i.token.isCancellationRequested)return!0}finally{i.dispose()}if(0===w.length)return!1;if((0,l.z9)(c))r.c.execute(c,w,!0),c.revealPositionInCenterIfOutsideViewport(c.getPosition(),1);else{let[{range:a}]=w,b=new o.L(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn);h.pushEditOperations([b],w.map(a=>({text:a.text,range:n.Q.lift(a.range),forceMoveMarkers:!0})),a=>{for(let{range:c}of a)if(n.Q.areIntersectingOrTouching(c,b))return[new o.L(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)];return null})}return q.playSignal(y.Rh.format,{userGesture:g}),!0}async function D(a,b,c,d,e,f){let g=a.get(v._Y),h=a.get(w.u),i=(0,l.z9)(b)?b.getModel():b,j=z(h.documentFormattingEditProvider,h.documentRangeFormattingEditProvider,i),k=await A.select(j,i,c,1);k&&(d.report(k),await g.invokeFunction(E,k,b,c,e,f))}async function E(a,b,c,d,e,f){let g,h,i,j=a.get(p.w),m=a.get(y.Nt);(0,l.z9)(c)?(g=c.getModel(),h=new k.gI(c,5,void 0,e)):(g=c,h=new k.ER(c,e));try{let a=await b.provideDocumentFormattingEdits(g,g.getFormattingOptions(),h.token);if(i=await j.computeMoreMinimalEdits(g.uri,a),h.token.isCancellationRequested)return!0}finally{h.dispose()}if(!i||0===i.length)return!1;if((0,l.z9)(c))r.c.execute(c,i,2!==d),2!==d&&c.revealPositionInCenterIfOutsideViewport(c.getPosition(),1);else{let[{range:a}]=i,b=new o.L(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn);g.pushEditOperations([b],i.map(a=>({text:a.text,range:n.Q.lift(a.range),forceMoveMarkers:!0})),a=>{for(let{range:c}of a)if(n.Q.areIntersectingOrTouching(c,b))return[new o.L(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)];return null})}return m.playSignal(y.Rh.format,{userGesture:f}),!0}async function F(a,b,c,e,g,h){for(let i of b.documentRangeFormattingEditProvider.ordered(c)){let b=await Promise.resolve(i.provideDocumentRangeFormattingEdits(c,e,g,h)).catch(f.M_);if((0,d.EI)(b))return await a.computeMoreMinimalEdits(c.uri,b)}}async function G(a,b,c,e,g){for(let h of z(b.documentFormattingEditProvider,b.documentRangeFormattingEditProvider,c)){let b=await Promise.resolve(h.provideDocumentFormattingEdits(c,e,g)).catch(f.M_);if((0,d.EI)(b))return await a.computeMoreMinimalEdits(c.uri,b)}}function H(a,b,c,d,e,g,h){let i=b.onTypeFormattingEditProvider.ordered(c);return 0===i.length||0>i[0].autoFormatTriggerCharacters.indexOf(e)?Promise.resolve(void 0):Promise.resolve(i[0].provideOnTypeFormattingEdits(c,d,e,g,h)).catch(f.M_).then(b=>a.computeMoreMinimalEdits(c.uri,b))}s.w.registerCommand("_executeFormatRangeProvider",async function(a,...b){let[c,d,f]=b;(0,i.j)(j.r.isUri(c)),(0,i.j)(n.Q.isIRange(d));let g=a.get(q.b),h=a.get(p.w),k=a.get(w.u),l=await g.createModelReference(c);try{return F(h,k,l.object.textEditorModel,n.Q.lift(d),f,e.XO.None)}finally{l.dispose()}}),s.w.registerCommand("_executeFormatDocumentProvider",async function(a,...b){let[c,d]=b;(0,i.j)(j.r.isUri(c));let f=a.get(q.b),g=a.get(p.w),h=a.get(w.u),k=await f.createModelReference(c);try{return G(g,h,k.object.textEditorModel,d,e.XO.None)}finally{k.dispose()}}),s.w.registerCommand("_executeFormatOnTypeProvider",async function(a,...b){let[c,d,f,g]=b;(0,i.j)(j.r.isUri(c)),(0,i.j)(m.y.isIPosition(d)),(0,i.j)("string"==typeof f);let h=a.get(q.b),k=a.get(p.w),l=a.get(w.u),n=await h.createModelReference(c);try{return H(k,l,n.object.textEditorModel,m.y.lift(d),f,g,e.XO.None)}finally{n.dispose()}})},16374:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});var d,e=c(46339);!function(a){function b(a){return!!a&&"object"==typeof a&&"function"==typeof a[Symbol.iterator]}a.is=b;let c=Object.freeze([]);function*d(a){yield a}a.empty=function(){return c},a.single=d,a.wrap=function(a){return b(a)?a:d(a)},a.from=function(a){return a||c},a.reverse=function*(a){for(let b=a.length-1;b>=0;b--)yield a[b]},a.isEmpty=function(a){return!a||!0===a[Symbol.iterator]().next().done},a.first=function(a){return a[Symbol.iterator]().next().value},a.some=function(a,b){let c=0;for(let d of a)if(b(d,c++))return!0;return!1},a.every=function(a,b){let c=0;for(let d of a)if(!b(d,c++))return!1;return!0},a.find=function(a,b){for(let c of a)if(b(c))return c},a.filter=function*(a,b){for(let c of a)b(c)&&(yield c)},a.map=function*(a,b){let c=0;for(let d of a)yield b(d,c++)},a.flatMap=function*(a,b){let c=0;for(let d of a)yield*b(d,c++)},a.concat=function*(...a){for(let b of a)(0,e.xZ)(b)?yield*b:yield b},a.reduce=function(a,b,c){let d=c;for(let c of a)d=b(d,c);return d},a.length=function(a){let b=0;for(let c of a)b++;return b},a.slice=function*(a,b,c=a.length){for(b<-a.length&&(b=0),b<0&&(b+=a.length),c<0?c+=a.length:c>a.length&&(c=a.length);b<c;b++)yield a[b]},a.consume=function(b,c=1/0){let d=[];if(0===c)return[d,b];let e=b[Symbol.iterator]();for(let b=0;b<c;b++){let b=e.next();if(b.done)return[d,a.empty()];d.push(b.value)}return[d,{[Symbol.iterator]:()=>e}]},a.asyncToArray=async function(a){let b=[];for await(let c of a)b.push(c);return b},a.asyncToArrayFlat=async function(a){let b=[];for await(let c of a)b=b.concat(c);return b}}(d||(d={}))},16749:(a,b,c)=>{"use strict";c.d(b,{wZ:()=>k,zL:()=>j,UW:()=>n,Md:()=>p});var d=c(25536),e=c(98447),f=c(29892),g=c(22889);class h{constructor(a,b,c,d){this.endIndex=a,this.type=b,this.metadata=c,this.containsRTL=d,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}var i=c(34747);class j{get isLTR(){return!this.containsRTL&&this.textDirection!==i.z4.RTL}constructor(a,b,c,d,e,f,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w=!1){this.useMonospaceOptimizations=a,this.canUseHalfwidthRightwardsArrow=b,this.lineContent=c,this.continuesWithWrappedLine=d,this.isBasicASCII=e,this.containsRTL=f,this.fauxIndentLength=h,this.lineTokens=i,this.lineDecorations=j.sort(g.d.compare),this.tabSize=k,this.startVisibleColumn=l,this.spaceWidth=m,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===q?4:"boundary"===q?1:"selection"===q?2:3*("trailing"===q),this.renderControlCharacters=r,this.fontLigatures=s,this.selectionsOnLine=t&&t.sort((a,b)=>a.start<b.start?-1:1),this.renderNewLineWhenEmpty=w,this.textDirection=u,this.verticalScrollbarSize=v,Math.abs(o-m)<Math.abs(n-m)?(this.renderSpaceWidth=o,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=n,this.renderSpaceCharCode=183)}sameSelection(a){if(null===this.selectionsOnLine)return null===a;if(null===a||a.length!==this.selectionsOnLine.length)return!1;for(let b=0;b<this.selectionsOnLine.length;b++)if(!this.selectionsOnLine[b].equals(a[b]))return!1;return!0}equals(a){return this.useMonospaceOptimizations===a.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===a.canUseHalfwidthRightwardsArrow&&this.lineContent===a.lineContent&&this.continuesWithWrappedLine===a.continuesWithWrappedLine&&this.isBasicASCII===a.isBasicASCII&&this.containsRTL===a.containsRTL&&this.fauxIndentLength===a.fauxIndentLength&&this.tabSize===a.tabSize&&this.startVisibleColumn===a.startVisibleColumn&&this.spaceWidth===a.spaceWidth&&this.renderSpaceWidth===a.renderSpaceWidth&&this.renderSpaceCharCode===a.renderSpaceCharCode&&this.stopRenderingLineAfter===a.stopRenderingLineAfter&&this.renderWhitespace===a.renderWhitespace&&this.renderControlCharacters===a.renderControlCharacters&&this.fontLigatures===a.fontLigatures&&g.d.equalsArr(this.lineDecorations,a.lineDecorations)&&this.lineTokens.equals(a.lineTokens)&&this.sameSelection(a.selectionsOnLine)&&this.textDirection===a.textDirection&&this.verticalScrollbarSize===a.verticalScrollbarSize&&this.renderNewLineWhenEmpty===a.renderNewLineWhenEmpty}}class k{constructor(a,b){this.partIndex=a,this.charIndex=b}}class l{static getPartIndex(a){return(0xffff0000&a)>>>16}static getCharIndex(a){return(65535&a)>>>0}constructor(a,b){this.length=a,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(a,b,c,d){this._data[a-1]=(0|c|b<<16)>>>0,this._horizontalOffset[a-1]=d}getHorizontalOffset(a){return 0===this._horizontalOffset.length?0:this._horizontalOffset[a-1]}charOffsetToPartData(a){return 0===this.length?0:a<0?this._data[0]:a>=this.length?this._data[this.length-1]:this._data[a]}getDomPosition(a){let b=this.charOffsetToPartData(a-1);return new k(l.getPartIndex(b),l.getCharIndex(b))}getColumn(a,b){return this.partDataToCharOffset(a.partIndex,b,a.charIndex)+1}partDataToCharOffset(a,b,c){let d;if(0===this.length)return 0;let e=(0|c|a<<16)>>>0,f=0,g=this.length-1;for(;f+1<g;){let a=f+g>>>1,b=this._data[a];if(b===e)return a;b>e?g=a:f=a}if(f===g)return f;let h=this._data[f],i=this._data[g];if(h===e)return f;if(i===e)return g;let j=l.getPartIndex(h),k=l.getCharIndex(h);return d=j!==l.getPartIndex(i)?b:l.getCharIndex(i),c-k<=d-c?f:g}}class m{constructor(a,b){this._renderLineOutputBrand=void 0,this.characterMapping=a,this.containsForeignElements=b}}function n(a,b){if(0===a.lineContent.length){if(a.lineDecorations.length>0){b.appendString("<span>");let c=0,d=0,e=0;for(let f of a.lineDecorations)(1===f.type||2===f.type)&&(b.appendString('<span class="'),b.appendString(f.className),b.appendString('"></span>'),1===f.type&&(e|=1,c++),2===f.type&&(e|=2,d++));b.appendString("</span>");let f=new l(1,c+d);return f.setColumnInfo(1,c,0,0),new m(f,e)}return a.renderNewLineWhenEmpty?b.appendString("<span><span>\n</span></span>"):b.appendString("<span><span></span></span>"),new m(new l(0,0),0)}return function(a,b){var c;let f=a.fontIsMonospace,g=a.canUseHalfwidthRightwardsArrow,h=a.containsForeignElements,i=a.lineContent,j=a.len,k=a.isOverflowing,n=a.overflowingCharCount,o=a.parts,p=a.fauxIndentLength,q=a.tabSize,s=a.startVisibleColumn,t=a.spaceWidth,u=a.renderSpaceCharCode,v=a.renderWhitespace,w=a.renderControlCharacters,x=new l(j+1,o.length),y=!1,z=0,A=s,B=0,C=0,D=0;b.appendString("<span>");for(let a=0,c=o.length;a<c;a++){let c=o[a],d=c.endIndex,k=c.type,l=c.containsRTL,m=0!==v&&c.isWhitespace(),n=m&&!f&&("mtkw"===k||!h),s=z===d&&c.isPseudoAfter();if(B=0,b.appendString("<span "),l&&b.appendString('style="unicode-bidi:isolate" '),b.appendString('class="'),b.appendString(n?"mtkz":k),b.appendASCIICharCode(34),m){let c=0;{let a=z,b=A;for(;a<d;a++){let d=(9===i.charCodeAt(a)?q-b%q:1)|0;c+=d,a>=p&&(b+=d)}}for(n&&(b.appendString(' style="width:'),b.appendString(String(t*c)),b.appendString('px"')),b.appendASCIICharCode(62);z<d;z++){let c,d;if(x.setColumnInfo(z+1,a-D,B,C),D=0,9===i.charCodeAt(z)){d=c=q-A%q|0,!g||d>1?b.appendCharCode(8594):b.appendCharCode(65515);for(let a=2;a<=d;a++)b.appendCharCode(160)}else c=2,d=1,b.appendCharCode(u),b.appendCharCode(8204);B+=c,C+=d,z>=p&&(A+=d)}}else for(b.appendASCIICharCode(62);z<d;z++){x.setColumnInfo(z+1,a-D,B,C),D=0;let c=i.charCodeAt(z),d=1,f=1;switch(c){case 9:f=d=q-A%q;for(let a=1;a<=d;a++)b.appendCharCode(160);break;case 32:b.appendCharCode(160);break;case 60:b.appendString("<");break;case 62:b.appendString(">");break;case 38:b.appendString("&");break;case 0:w?b.appendCharCode(9216):b.appendString("�");break;case 65279:case 8232:case 8233:case 133:b.appendCharCode(65533);break;default:e.ne(c)&&f++,w&&c<32?b.appendCharCode(9216+c):w&&127===c?b.appendCharCode(9249):w&&r(c)?(b.appendString("[U+"),b.appendString(c.toString(16).toUpperCase().padStart(4,"0")),b.appendString("]"),f=d=8):b.appendCharCode(c)}B+=d,C+=f,z>=p&&(A+=f)}s?D++:D=0,z>=j&&!y&&c.isPseudoAfter()&&(y=!0,x.setColumnInfo(z+1,a,B,C)),b.appendString("</span>")}return y||x.setColumnInfo(j+1,o.length-1,B,C),k&&(b.appendString('<span class="mtkoverflow">'),b.appendString(d.kg(792,"Show more ({0})",(c=n)<1024?d.kg(793,"{0} chars",c):c<1048576?`${(c/1024).toFixed(1)} KB`:`${(c/1024/1024).toFixed(1)} MB`)),b.appendString("</span>")),b.appendString("</span>"),new m(x,h)}(function(a){let b,c,d,f=a.lineContent;-1!==a.stopRenderingLineAfter&&a.stopRenderingLineAfter<f.length?(b=!0,c=f.length-a.stopRenderingLineAfter,d=a.stopRenderingLineAfter):(b=!1,c=0,d=f.length);let i=function(a,b,c,d,f){let g=[],i=0;d>0&&(g[i++]=new h(d,"",0,!1));let j=d;for(let k=0,l=c.getCount();k<l;k++){let l=c.getEndOffset(k);if(l<=d)continue;let m=c.getClassName(k);if(l>=f){let c=!!b&&e.E_(a.substring(j,f));g[i++]=new h(f,m,0,c);break}let n=!!b&&e.E_(a.substring(j,l));g[i++]=new h(l,m,0,n),j=l}return g}(f,a.containsRTL,a.lineTokens,a.fauxIndentLength,d);a.renderControlCharacters&&!a.isBasicASCII&&(i=function(a,b){let c=[],d=new h(0,"",0,!1),e=0;for(let f of b){let b=f.endIndex;for(;e<b;e++)r(a.charCodeAt(e))&&(e>d.endIndex&&(d=new h(e,f.type,f.metadata,f.containsRTL),c.push(d)),d=new h(e+1,"mtkcontrol",f.metadata,!1),c.push(d));e>d.endIndex&&(d=new h(b,f.type,f.metadata,f.containsRTL),c.push(d))}return c}(f,i)),(4===a.renderWhitespace||1===a.renderWhitespace||2===a.renderWhitespace&&a.selectionsOnLine||3===a.renderWhitespace&&!a.continuesWithWrappedLine)&&(i=function(a,b,c,d){let f,g=a.continuesWithWrappedLine,i=a.fauxIndentLength,j=a.tabSize,k=a.startVisibleColumn,l=a.useMonospaceOptimizations,m=a.selectionsOnLine,n=1===a.renderWhitespace,o=3===a.renderWhitespace,p=a.renderSpaceWidth!==a.spaceWidth,q=[],r=0,s=0,t=d[0].type,u=d[s].containsRTL,v=d[s].endIndex,w=d.length,x=!1,y=e.HG(b);-1===y?(x=!0,y=c,f=c):f=e.lT(b);let z=!1,A=0,B=m&&m[A],C=k%j;for(let a=i;a<c;a++){let g,k=b.charCodeAt(a);if(B&&B.endExclusive<=a&&(A++,B=m&&m[A]),a<y||a>f)g=!0;else if(9===k)g=!0;else if(32===k)if(n)if(z)g=!0;else{let d=a+1<c?b.charCodeAt(a+1):0;g=32===d||9===d}else g=!0;else g=!1;if(g&&m&&(g=!!B&&B.start<=a&&a<B.endExclusive),g&&o&&(g=x||a>f),g&&u&&a>=y&&a<=f&&(g=!1),z){if(!g||!l&&C>=j){if(p){let b=r>0?q[r-1].endIndex:i;for(let c=b+1;c<=a;c++)q[r++]=new h(c,"mtkw",1,!1)}else q[r++]=new h(a,"mtkw",1,!1);C%=j}}else(a===v||g&&a>i)&&(q[r++]=new h(a,t,0,u),C%=j);for(9===k?C=j:e.ne(k)?C+=2:C++,z=g;a===v;)if(++s<w)t=d[s].type,u=d[s].containsRTL,v=d[s].endIndex;else break}let D=!1;if(z)if(g&&n){let a=c>0?b.charCodeAt(c-1):0,d=c>1?b.charCodeAt(c-2):0;(32!==a||32===d||9===d)&&(D=!0)}else D=!0;if(D)if(p){let a=r>0?q[r-1].endIndex:i;for(let b=a+1;b<=c;b++)q[r++]=new h(b,"mtkw",1,!1)}else q[r++]=new h(c,"mtkw",1,!1);else q[r++]=new h(c,t,0,u);return q}(a,f,d,i));let j=0;if(a.lineDecorations.length>0){for(let b=0,c=a.lineDecorations.length;b<c;b++){let c=a.lineDecorations[b];3===c.type||1===c.type?j|=1:2===c.type&&(j|=2)}i=function(a,b,c,d){d.sort(g.d.compare);let e=g.Bs.normalize(a,d),f=e.length,i=0,j=[],k=0,l=0;for(let a=0,b=c.length;a<b;a++){let b=c[a],d=b.endIndex,g=b.type,m=b.metadata,n=b.containsRTL;for(;i<f&&e[i].startOffset<d;){let a=e[i];if(a.startOffset>l&&(l=a.startOffset,j[k++]=new h(l,g,m,n)),a.endOffset+1<=d)l=a.endOffset+1,j[k++]=new h(l,g+" "+a.className,m|a.metadata,n),i++;else{l=d,j[k++]=new h(l,g+" "+a.className,m|a.metadata,n);break}}d>l&&(l=d,j[k++]=new h(l,g,m,n))}let m=c[c.length-1].endIndex;if(i<f&&e[i].startOffset===m)for(;i<f&&e[i].startOffset===m;){let a=e[i];j[k++]=new h(l,a.className,a.metadata,!1),i++}return j}(f,0,i,a.lineDecorations)}return a.containsRTL||(i=function(a,b,c){let d=0,e=[],f=0;if(c)for(let c=0,g=b.length;c<g;c++){let g=b[c],i=g.endIndex;if(d+50<i){let b=g.type,c=g.metadata,j=g.containsRTL,k=-1,l=d;for(let g=d;g<i;g++)32===a.charCodeAt(g)&&(k=g),-1!==k&&g-l>=50&&(e[f++]=new h(k+1,b,c,j),l=k+1,k=-1);l!==i&&(e[f++]=new h(i,b,c,j))}else e[f++]=g;d=i}else for(let a=0,c=b.length;a<c;a++){let c=b[a],g=c.endIndex,i=g-d;if(i>50){let a=c.type,b=c.metadata,j=c.containsRTL,k=Math.ceil(i/50);for(let c=1;c<k;c++){let g=d+50*c;e[f++]=new h(g,a,b,j)}e[f++]=new h(g,a,b,j)}else e[f++]=c;d=g}return e}(f,i,!a.isBasicASCII||a.fontLigatures)),new q(a.useMonospaceOptimizations,a.canUseHalfwidthRightwardsArrow,f,d,b,c,i,j,a.fauxIndentLength,a.tabSize,a.startVisibleColumn,a.spaceWidth,a.renderSpaceCharCode,a.renderWhitespace,a.renderControlCharacters)}(a),b)}class o{constructor(a,b,c){this.characterMapping=a,this.html=b,this.containsForeignElements=c}}function p(a){let b=new f.fe(1e4),c=n(a,b);return new o(c.characterMapping,b.build(),c.containsForeignElements)}class q{constructor(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){this.fontIsMonospace=a,this.canUseHalfwidthRightwardsArrow=b,this.lineContent=c,this.len=d,this.isOverflowing=e,this.overflowingCharCount=f,this.parts=g,this.containsForeignElements=h,this.fauxIndentLength=i,this.tabSize=j,this.startVisibleColumn=k,this.spaceWidth=l,this.renderSpaceCharCode=m,this.renderWhitespace=n,this.renderControlCharacters=o}}function r(a){return a<32?9!==a:127===a||!!(a>=8234)&&!!(a<=8238)||!!(a>=8294)&&!!(a<=8297)||!!(a>=8206)&&!!(a<=8207)||1564===a}},16817:(a,b,c)=>{"use strict";c.d(b,{s:()=>e});var d=c(29949);class e{static whitespaceVisibleColumn(a,b,c){let e=a.length,f=0,g=-1,h=-1;for(let i=0;i<e;i++){if(i===b)return[g,h,f];switch(f%c==0&&(g=i,h=f),a.charCodeAt(i)){case 32:f+=1;break;case 9:f=d.A.nextRenderTabStop(f,c);break;default:return[-1,-1,-1]}}return b===e?[g,h,f]:[-1,-1,-1]}static atomicPosition(a,b,c,f){let g,h=a.length,[i,j,k]=e.whitespaceVisibleColumn(a,b,c);if(-1===k)return -1;switch(f){case 0:g=!0;break;case 1:g=!1;break;case 2:if(k%c==0)return b;g=k%c<=c/2}if(g){if(-1===i)return -1;let b=j;for(let e=i;e<h;++e){if(b===j+c)return i;switch(a.charCodeAt(e)){case 32:b+=1;break;case 9:b=d.A.nextRenderTabStop(b,c);break;default:return -1}}return b===j+c?i:-1}let l=d.A.nextRenderTabStop(k,c),m=k;for(let e=b;e<h;e++){if(m===l)return e;switch(a.charCodeAt(e)){case 32:m+=1;break;case 9:m=d.A.nextRenderTabStop(m,c);break;default:return -1}}return m===l?h:-1}}},17520:()=>{},18155:(a,b,c)=>{"use strict";c.d(b,{b:()=>d,t:()=>e});let d=function(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let a=new Uint8Array(16),b=[];for(let a=0;a<256;a++)b.push(a.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(a),a[6]=15&a[6]|64,a[8]=63&a[8]|128;let c=0,d="";return d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+="-",d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]],d+=b[a[c++]]}}();function e(a){return`${a}-${d()}`}},18401:(a,b,c)=>{"use strict";c.d(b,{HJ:()=>k,LN:()=>h,YH:()=>j,ih:()=>l,rc:()=>g,wv:()=>i});var d=c(60734),e=c(11314),f=c(25536);class g extends e.jG{get onDidChange(){return this._onDidChange.event}constructor(a,b="",c="",e=!0,f){super(),this._onDidChange=this._register(new d.vl),this._enabled=!0,this._id=a,this._label=b,this._cssClass=c,this._enabled=e,this._actionCallback=f}get id(){return this._id}get label(){return this._label}set label(a){this._setLabel(a)}_setLabel(a){this._label!==a&&(this._label=a,this._onDidChange.fire({label:a}))}get tooltip(){return this._tooltip||""}set tooltip(a){this._setTooltip(a)}_setTooltip(a){this._tooltip!==a&&(this._tooltip=a,this._onDidChange.fire({tooltip:a}))}get class(){return this._cssClass}set class(a){this._setClass(a)}_setClass(a){this._cssClass!==a&&(this._cssClass=a,this._onDidChange.fire({class:a}))}get enabled(){return this._enabled}set enabled(a){this._setEnabled(a)}_setEnabled(a){this._enabled!==a&&(this._enabled=a,this._onDidChange.fire({enabled:a}))}get checked(){return this._checked}set checked(a){this._setChecked(a)}_setChecked(a){this._checked!==a&&(this._checked=a,this._onDidChange.fire({checked:a}))}async run(a,b){this._actionCallback&&await this._actionCallback(a)}}class h extends e.jG{constructor(){super(...arguments),this._onWillRun=this._register(new d.vl),this._onDidRun=this._register(new d.vl)}get onWillRun(){return this._onWillRun.event}get onDidRun(){return this._onDidRun.event}async run(a,b){let c;if(a.enabled){this._onWillRun.fire({action:a});try{await this.runAction(a,b)}catch(a){c=a}this._onDidRun.fire({action:a,error:c})}}async runAction(a,b){await a.run(b)}}class i{constructor(){this.id=i.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...a){let b=[];for(let c of a)c.length&&(b=b.length?[...b,new i,...c]:c);return b}static{this.ID="vs.actions.separator"}async run(){}}class j{get actions(){return this._actions}constructor(a,b,c,d){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=a,this.label=b,this.class=d,this._actions=c}async run(){}}class k extends g{static{this.ID="vs.actions.empty"}constructor(){super(k.ID,f.kg(28,"(empty)"),void 0,!1)}}function l(a){return{id:a.id,label:a.label,tooltip:a.tooltip??a.label,class:a.class,enabled:a.enabled??!0,checked:a.checked,run:async(...b)=>a.run(...b)}}},18732:(a,b,c)=>{"use strict";c.d(b,{B8:()=>aa,MH:()=>T,_C:()=>d,W0:()=>J,Bm:()=>function a(b){return!!("A"===b.tagName&&b.classList.contains("monaco-button")||"DIV"===b.tagName&&b.classList.contains("monaco-button-dropdown"))||!b.classList.contains("monaco-list")&&!!b.parentElement&&a(b.parentElement)},b$:()=>I,bm:()=>H,mh:()=>R,tX:()=>Q,Es:()=>L,xu:()=>K,bG:()=>V});var d,e,f=c(32677),g=c(76136),h=c(88077),i=c(67397),j=c(31662),k=c(98350),l=c(98867);class m{constructor(a){this.spliceables=a}splice(a,b,c){this.spliceables.forEach(d=>d.splice(a,b,c))}}var n=c(54734),o=c(40565),p=c(23949),q=c(53578),r=c(60734),s=c(58557),t=c(11314),u=c(61496),v=c(56167),w=c(46339);c(45669);class x extends Error{constructor(a,b){super(`ListError [${a}] ${b}`)}}var y=c(85157),z=c(21280),A=c(43589),B=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g};class C{constructor(a){this.trait=a,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(a){return a}renderElement(a,b,c){let d=this.renderedElements.findIndex(a=>a.templateData===c);if(d>=0){let a=this.renderedElements[d];this.trait.unrender(c),a.index=b}else this.renderedElements.push({index:b,templateData:c});this.trait.renderIndex(b,c)}splice(a,b,c){let d=[];for(let e of this.renderedElements)e.index<a?d.push(e):e.index>=a+b&&d.push({index:e.index+c-b,templateData:e.templateData});this.renderedElements=d}renderIndexes(a){for(let{index:b,templateData:c}of this.renderedElements)a.indexOf(b)>-1&&this.trait.renderIndex(b,c)}disposeTemplate(a){let b=this.renderedElements.findIndex(b=>b.templateData===a);b<0||this.renderedElements.splice(b,1)}}class D{get onChange(){return this._onChange.event}get name(){return this._trait}get renderer(){return new C(this)}constructor(a){this._trait=a,this.indexes=[],this.sortedIndexes=[],this._onChange=new r.vl}splice(a,b,c){let d=c.length-b,e=a+b,f=[],g=0;for(;g<this.sortedIndexes.length&&this.sortedIndexes[g]<a;)f.push(this.sortedIndexes[g++]);for(let b=0;b<c.length;b++)c[b]&&f.push(b+a);for(;g<this.sortedIndexes.length&&this.sortedIndexes[g]>=e;)f.push(this.sortedIndexes[g++]+d);this.renderer.splice(a,b,c.length),this._set(f,f)}renderIndex(a,b){b.classList.toggle(this._trait,this.contains(a))}unrender(a){a.classList.remove(this._trait)}set(a,b){return this._set(a,[...a].sort(Y),b)}_set(a,b,c){let d=this.indexes,e=this.sortedIndexes;this.indexes=a,this.sortedIndexes=b;let f=X(e,a);return this.renderer.renderIndexes(f),this._onChange.fire({indexes:a,browserEvent:c}),d}get(){return this.indexes}contains(a){return(0,n.El)(this.sortedIndexes,a,Y)>=0}dispose(){(0,t.AS)(this._onChange)}}B([q.B],D.prototype,"renderer",null);class E extends D{constructor(a){super("selected"),this.setAriaSelected=a}renderIndex(a,b){super.renderIndex(a,b),this.setAriaSelected&&(this.contains(a)?b.setAttribute("aria-selected","true"):b.setAttribute("aria-selected","false"))}}class F{constructor(a,b,c){this.trait=a,this.view=b,this.identityProvider=c}splice(a,b,c){if(!this.identityProvider)return this.trait.splice(a,b,Array(c.length).fill(!1));let d=this.trait.get().map(a=>this.identityProvider.getId(this.view.element(a)).toString());if(0===d.length)return this.trait.splice(a,b,Array(c.length).fill(!1));let e=new Set(d),f=c.map(a=>e.has(this.identityProvider.getId(a).toString()));this.trait.splice(a,b,f)}}function G(a,b){return!!a.classList.contains(b)||!a.classList.contains("monaco-list")&&!!a.parentElement&&G(a.parentElement,b)}function H(a){return G(a,"monaco-editor")}function I(a){return G(a,"monaco-custom-toggle")}function J(a){return G(a,"action-item")}function K(a){return G(a,"monaco-tree-sticky-row")}function L(a){return a.classList.contains("monaco-tree-sticky-container")}class M{get onKeyDown(){return r.Jh.chain(this.disposables.add(new i.f(this.view.domNode,"keydown")).event,a=>a.filter(a=>!(0,f.yD)(a.target)).map(a=>new j.Z(a)))}constructor(a,b,c){this.list=a,this.view=b,this.disposables=new t.Cm,this.multipleSelectionDisposables=new t.Cm,this.multipleSelectionSupport=c.multipleSelectionSupport,this.disposables.add(this.onKeyDown(a=>{switch(a.keyCode){case 3:return this.onEnter(a);case 16:return this.onUpArrow(a);case 18:return this.onDownArrow(a);case 11:return this.onPageUpArrow(a);case 12:return this.onPageDownArrow(a);case 9:return this.onEscape(a);case 31:this.multipleSelectionSupport&&(v.zx?a.metaKey:a.ctrlKey)&&this.onCtrlA(a)}}))}updateOptions(a){void 0!==a.multipleSelectionSupport&&(this.multipleSelectionSupport=a.multipleSelectionSupport)}onEnter(a){a.preventDefault(),a.stopPropagation(),this.list.setSelection(this.list.getFocus(),a.browserEvent)}onUpArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusPrevious(1,!1,a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onDownArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusNext(1,!1,a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onPageUpArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusPreviousPage(a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onPageDownArrow(a){a.preventDefault(),a.stopPropagation(),this.list.focusNextPage(a.browserEvent);let b=this.list.getFocus()[0];this.list.setAnchor(b),this.list.reveal(b),this.view.domNode.focus()}onCtrlA(a){a.preventDefault(),a.stopPropagation(),this.list.setSelection((0,n.y1)(this.list.length),a.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(a){this.list.getSelection().length&&(a.preventDefault(),a.stopPropagation(),this.list.setSelection([],a.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}B([q.B],M.prototype,"onKeyDown",null),function(a){a[a.Automatic=0]="Automatic",a[a.Trigger=1]="Trigger"}(d||(d={})),function(a){a[a.Idle=0]="Idle",a[a.Typing=1]="Typing"}(e||(e={}));let N=new class{mightProducePrintableCharacter(a){return!a.ctrlKey&&!a.metaKey&&!a.altKey&&(a.keyCode>=31&&a.keyCode<=56||a.keyCode>=21&&a.keyCode<=30||a.keyCode>=98&&a.keyCode<=107||a.keyCode>=85&&a.keyCode<=95)}};class O{constructor(a,b,c,f,g){this.list=a,this.view=b,this.keyboardNavigationLabelProvider=c,this.keyboardNavigationEventFilter=f,this.delegate=g,this.enabled=!1,this.state=e.Idle,this.mode=d.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new t.Cm,this.disposables=new t.Cm,this.updateOptions(a.options)}updateOptions(a){a.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=a.typeNavigationMode??d.Automatic}enable(){if(this.enabled)return;let a=!1,b=r.Jh.chain(this.enabledDisposables.add(new i.f(this.view.domNode,"keydown")).event,b=>b.filter(a=>!(0,f.yD)(a.target)).filter(()=>this.mode===d.Automatic||this.triggered).map(a=>new j.Z(a)).filter(b=>a||this.keyboardNavigationEventFilter(b)).filter(a=>this.delegate.mightProducePrintableCharacter(a)).forEach(a=>f.fs.stop(a,!0)).map(a=>a.browserEvent.key)),c=r.Jh.debounce(b,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);r.Jh.reduce(r.Jh.any(b,c),(a,b)=>null===b?null:(a||"")+b,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),c(this.onClear,this,this.enabledDisposables),b(()=>a=!0,void 0,this.enabledDisposables),c(()=>a=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){let a=this.list.getFocus();if(a.length>0&&a[0]===this.previouslyFocused){let b=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(a[0]));"string"==typeof b?(0,l.xE)(b):b&&(0,l.xE)(b.get())}this.previouslyFocused=-1}onInput(a){if(!a){this.state=e.Idle,this.triggered=!1;return}let b=this.list.getFocus(),c=b.length>0?b[0]:0,d=+(this.state===e.Idle);this.state=e.Typing;for(let b=0;b<this.list.length;b++){let e=(c+b+d)%this.list.length,f=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(e)),g=f&&f.toString();if(this.list.options.typeNavigationEnabled){if(void 0!==g){if((0,s.WP)(a,g)){this.previouslyFocused=c,this.list.setFocus([e]),this.list.reveal(e);return}let b=(0,s.O)(a,g);if(b&&b[0].end-b[0].start>1&&1===b.length){this.previouslyFocused=c,this.list.setFocus([e]),this.list.reveal(e);return}}}else if(void 0===g||(0,s.WP)(a,g)){this.previouslyFocused=c,this.list.setFocus([e]),this.list.reveal(e);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class P{constructor(a,b){this.list=a,this.view=b,this.disposables=new t.Cm;let c=r.Jh.chain(this.disposables.add(new i.f(b.domNode,"keydown")).event,a=>a.filter(a=>!(0,f.yD)(a.target)).map(a=>new j.Z(a)));r.Jh.chain(c,a=>a.filter(a=>2===a.keyCode&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&!a.altKey))(this.onTab,this,this.disposables)}onTab(a){if(a.target!==this.view.domNode)return;let b=this.list.getFocus();if(0===b.length)return;let c=this.view.domElement(b[0]);if(!c)return;let d=c.querySelector("[tabIndex]");if(!d||!(0,f.sb)(d)||-1===d.tabIndex)return;let e=(0,f.zk)(d).getComputedStyle(d);"hidden"!==e.visibility&&"none"!==e.display&&(a.preventDefault(),a.stopPropagation(),d.focus())}dispose(){this.disposables.dispose()}}function Q(a){return v.zx?a.browserEvent.metaKey:a.browserEvent.ctrlKey}function R(a){return a.browserEvent.shiftKey}let S={isSelectionSingleChangeEvent:Q,isSelectionRangeChangeEvent:R};class T{get onPointer(){return this._onPointer.event}constructor(a){this.list=a,this.disposables=new t.Cm,this._onPointer=this.disposables.add(new r.vl),!1!==a.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||S),this.mouseSupport=void 0===a.options.mouseSupport||!!a.options.mouseSupport,this.mouseSupport&&(a.onMouseDown(this.onMouseDown,this,this.disposables),a.onContextMenu(this.onContextMenu,this,this.disposables),a.onMouseDblClick(this.onDoubleClick,this,this.disposables),a.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(k.q.addTarget(a.getHTMLElement()))),r.Jh.any(a.onMouseClick,a.onMouseMiddleClick,a.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(a){void 0!==a.multipleSelectionSupport&&(this.multipleSelectionController=void 0,a.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||S))}isSelectionSingleChangeEvent(a){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(a)}isSelectionRangeChangeEvent(a){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(a)}isSelectionChangeEvent(a){return this.isSelectionSingleChangeEvent(a)||this.isSelectionRangeChangeEvent(a)}onMouseDown(a){H(a.browserEvent.target)||(0,f.bq)()!==a.browserEvent.target&&this.list.domFocus()}onContextMenu(a){if((0,f.yD)(a.browserEvent.target)||H(a.browserEvent.target))return;let b=void 0===a.index?[]:[a.index];this.list.setFocus(b,a.browserEvent)}onViewPointer(a){var b;if(!this.mouseSupport||(0,f.yD)(a.browserEvent.target)||H(a.browserEvent.target)||a.browserEvent.isHandledByList)return;a.browserEvent.isHandledByList=!0;let c=a.index;if(void 0===c){this.list.setFocus([],a.browserEvent),this.list.setSelection([],a.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(a))return this.changeSelection(a);this.list.setFocus([c],a.browserEvent),this.list.setAnchor(c),b=a.browserEvent,(0,f.Er)(b)&&2===b.button||this.list.setSelection([c],a.browserEvent),this._onPointer.fire(a)}onDoubleClick(a){if((0,f.yD)(a.browserEvent.target)||H(a.browserEvent.target)||this.isSelectionChangeEvent(a)||a.browserEvent.isHandledByList)return;a.browserEvent.isHandledByList=!0;let b=this.list.getFocus();this.list.setSelection(b,a.browserEvent)}changeSelection(a){let b=a.index,c=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(a)){void 0===c&&(c=this.list.getFocus()[0]??b,this.list.setAnchor(c));let d=Math.min(c,b),e=Math.max(c,b),f=(0,n.y1)(d,e+1),g=this.list.getSelection(),h=function(a,b){let c=a.indexOf(b);if(-1===c)return[];let d=[],e=c-1;for(;e>=0&&a[e]===b-(c-e);)d.push(a[e--]);for(d.reverse(),e=c;e<a.length&&a[e]===b+(e-c);)d.push(a[e++]);return d}(X(g,[c]),c);if(0===h.length)return;let i=X(f,function(a,b){let c=[],d=0,e=0;for(;d<a.length||e<b.length;)if(d>=a.length)c.push(b[e++]);else if(e>=b.length)c.push(a[d++]);else if(a[d]===b[e]){d++,e++;continue}else a[d]<b[e]?c.push(a[d++]):e++;return c}(g,h));this.list.setSelection(i,a.browserEvent),this.list.setFocus([b],a.browserEvent)}else if(this.isSelectionSingleChangeEvent(a)){let c=this.list.getSelection(),d=c.filter(a=>a!==b);this.list.setFocus([b]),this.list.setAnchor(b),c.length===d.length?this.list.setSelection([...d,b],a.browserEvent):this.list.setSelection(d,a.browserEvent)}}dispose(){this.disposables.dispose()}}class U{constructor(a,b){this.styleElement=a,this.selectorSuffix=b}style(a){let b=this.selectorSuffix&&`.${this.selectorSuffix}`,c=[];a.listBackground&&c.push(`.monaco-list${b} .monaco-list-rows { background: ${a.listBackground}; }`),a.listFocusBackground&&(c.push(`.monaco-list${b}:focus .monaco-list-row.focused { background-color: ${a.listFocusBackground}; }`),c.push(`.monaco-list${b}:focus .monaco-list-row.focused:hover { background-color: ${a.listFocusBackground}; }`)),a.listFocusForeground&&c.push(`.monaco-list${b}:focus .monaco-list-row.focused { color: ${a.listFocusForeground}; }`),a.listActiveSelectionBackground&&(c.push(`.monaco-list${b}:focus .monaco-list-row.selected { background-color: ${a.listActiveSelectionBackground}; }`),c.push(`.monaco-list${b}:focus .monaco-list-row.selected:hover { background-color: ${a.listActiveSelectionBackground}; }`)),a.listActiveSelectionForeground&&c.push(`.monaco-list${b}:focus .monaco-list-row.selected { color: ${a.listActiveSelectionForeground}; }`),a.listActiveSelectionIconForeground&&c.push(`.monaco-list${b}:focus .monaco-list-row.selected .codicon { color: ${a.listActiveSelectionIconForeground}; }`),a.listFocusAndSelectionBackground&&c.push(`
|
|
30
30
|
.monaco-drag-image${b},
|
|
31
31
|
.monaco-list${b}:focus .monaco-list-row.selected.focused { background-color: ${a.listFocusAndSelectionBackground}; }
|
|
32
32
|
`),a.listFocusAndSelectionForeground&&c.push(`
|
|
@@ -85,7 +85,7 @@ Efficiency: ${1===j?"100":(100*j).toFixed(2)}%
|
|
|
85
85
|
\`\`\`
|
|
86
86
|
* 'value': Number of units to move. Default is '1'.
|
|
87
87
|
* 'select': If 'true' makes the selection. Default is 'false'.
|
|
88
|
-
`,constraint:function(a){return!!e.Gv(a)&&!!e.Kg(a.to)&&(!!e.b0(a.select)||!!e.Lm(a.select))&&(!!e.b0(a.by)||!!e.Kg(a.by))&&(!!e.b0(a.value)||!!e.Et(a.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},a.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},a.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},a.parse=function(b){let c;if(!b.to)return null;switch(b.to){case a.RawDirection.Left:c=0;break;case a.RawDirection.Right:c=1;break;case a.RawDirection.Up:c=2;break;case a.RawDirection.Down:c=3;break;case a.RawDirection.PrevBlankLine:c=4;break;case a.RawDirection.NextBlankLine:c=5;break;case a.RawDirection.WrappedLineStart:c=6;break;case a.RawDirection.WrappedLineFirstNonWhitespaceCharacter:c=7;break;case a.RawDirection.WrappedLineColumnCenter:c=8;break;case a.RawDirection.WrappedLineEnd:c=9;break;case a.RawDirection.WrappedLineLastNonWhitespaceCharacter:c=10;break;case a.RawDirection.ViewPortTop:c=11;break;case a.RawDirection.ViewPortBottom:c=13;break;case a.RawDirection.ViewPortCenter:c=12;break;case a.RawDirection.ViewPortIfOutside:c=14;break;default:return null}let d=0;switch(b.by){case a.RawUnit.Line:d=1;break;case a.RawUnit.WrappedLine:d=2;break;case a.RawUnit.Character:d=3;break;case a.RawUnit.HalfLine:d=4}return{direction:c,unit:d,select:!!b.select,value:b.value||1}}}(d||(d={}))},29214:(a,b,c)=>{"use strict";c.d(b,{h:()=>g});var d=c(83594),e=c(59298),f=c(72192);function g(a,b,c,g){b.tokenization.forceTokenization(c.startLineNumber);let h=b.getLanguageIdAtPosition(c.startLineNumber,c.startColumn),i=g.getLanguageConfiguration(h);if(!i)return null;let j=new f.V(b,g).getProcessedTokenContextAroundRange(c),k=j.previousLineProcessedTokens.getLineContent(),l=j.beforeRangeProcessedTokens.getLineContent(),m=j.afterRangeProcessedTokens.getLineContent(),n=i.onEnter(a,k,l,m);if(!n)return null;let o=n.indentAction,p=n.appendText,q=n.removeText||0;p?o===d.l.Indent&&(p=" "+p):p=o===d.l.Indent||o===d.l.IndentOutdent?" ":"";let r=(0,e.Cw)(b,c.startLineNumber,c.startColumn);return q&&(r=r.substring(0,r.length-q)),{indentAction:o,appendText:p,removeText:q,indentation:r}}},29688:()=>{},29715:(a,b,c)=>{"use strict";var d;c.d(b,{_$:()=>d,_Y:()=>e,u1:()=>f}),function(a){a.serviceIds=new Map,a.DI_TARGET="$di$target",a.DI_DEPENDENCIES="$di$dependencies",a.getServiceDependencies=function(b){return b[a.DI_DEPENDENCIES]||[]}}(d||(d={}));let e=f("instantiationService");function f(a){if(d.serviceIds.has(a))return d.serviceIds.get(a);let b=function(a,c,e){if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");a[d.DI_TARGET]===a?a[d.DI_DEPENDENCIES].push({id:b,index:e}):(a[d.DI_DEPENDENCIES]=[{id:b,index:e}],a[d.DI_TARGET]=a)};return b.toString=()=>a,d.serviceIds.set(a,b),b}},29734:(a,b,c)=>{"use strict";c.d(b,{g:()=>k});var d=c(98447),e=c(70588),f=c(69467),g=c(29949),h=c(78508),i=c(59317),j=c(79677);class k{static deleteRight(a,b,c,d){let f=[],g=3!==a;for(let a=0,h=d.length;a<h;a++){let h=d[a],i=this.getDeleteRightRange(h,c,b);if(i.isEmpty()){f[a]=null;continue}i.startLineNumber!==i.endLineNumber&&(g=!0),f[a]=new e.iu(i,"")}return[g,f]}static getDeleteRightRange(a,b,c){if(!a.isEmpty())return a;let d=a.getPosition(),e=h.I.right(c,b,d);if(c.trimWhitespaceOnDelete&&e.lineNumber!==d.lineNumber){let a=b.getLineFirstNonWhitespaceColumn(d.lineNumber)>0,c=b.getLineFirstNonWhitespaceColumn(e.lineNumber);if(a&&c>0)return new i.Q(e.lineNumber,c,d.lineNumber,d.column)}return new i.Q(e.lineNumber,e.column,d.lineNumber,d.column)}static isAutoClosingPairDelete(a,b,c,d,e,g,h){if("never"===b&&"never"===c||"never"===a)return!1;for(let i=0,j=g.length;i<j;i++){let j=g[i],k=j.getPosition();if(!j.isEmpty())return!1;let l=e.getLineContent(k.lineNumber);if(k.column<2||k.column>=l.length+1)return!1;let m=l.charAt(k.column-2),n=d.get(m);if(!n)return!1;if((0,f.vG)(m)){if("never"===c)return!1}else if("never"===b)return!1;let o=l.charAt(k.column-1),p=!1;for(let a of n)a.open===m&&a.close===o&&(p=!0);if(!p)return!1;if("auto"===a){let a=!1;for(let b=0,c=h.length;b<c;b++){let c=h[b];if(k.lineNumber===c.startLineNumber&&k.column===c.startColumn){a=!0;break}}if(!a)return!1}}return!0}static _runAutoClosingPairDelete(a,b,c){let d=[];for(let a=0,b=c.length;a<b;a++){let b=c[a].getPosition(),f=new i.Q(b.lineNumber,b.column-1,b.lineNumber,b.column+1);d[a]=new e.iu(f,"")}return[!0,d]}static deleteLeft(a,b,c,d,f){if(this.isAutoClosingPairDelete(b.autoClosingDelete,b.autoClosingBrackets,b.autoClosingQuotes,b.autoClosingPairs.autoClosingPairsOpenByEnd,c,d,f))return this._runAutoClosingPairDelete(b,c,d);let g=[],h=2!==a;for(let a=0,f=d.length;a<f;a++){let f=k.getDeleteLeftRange(d[a],c,b);if(f.isEmpty()){g[a]=null;continue}f.startLineNumber!==f.endLineNumber&&(h=!0),g[a]=new e.iu(f,"")}return[h,g]}static getDeleteLeftRange(a,b,c){if(!a.isEmpty())return a;let e=a.getPosition();if(c.useTabStops&&e.column>1){let a=b.getLineContent(e.lineNumber),f=d.HG(a),h=-1===f?a.length+1:f+1;if(e.column<=h){let a=c.visibleColumnFromColumn(b,e),d=g.A.prevIndentTabStop(a,c.indentSize),f=c.columnFromVisibleColumn(b,e.lineNumber,d);return new i.Q(e.lineNumber,f,e.lineNumber,e.column)}}return i.Q.fromPositions(k.getPositionAfterDeleteLeft(e,b),e)}static getPositionAfterDeleteLeft(a,b){if(a.column>1){let c=d.Wd(a.column-1,b.getLineContent(a.lineNumber));return a.with(void 0,c+1)}if(!(a.lineNumber>1))return a;{let c=a.lineNumber-1;return new j.y(c,b.getLineMaxColumn(c))}}static cut(a,b,c){let d=[],g=null;c.sort((a,b)=>j.y.compare(a.getStartPosition(),b.getEndPosition()));for(let f=0,h=c.length;f<h;f++){let h=c[f];if(h.isEmpty())if(a.emptySelectionClipboard){let a,c,j,k,l=h.getPosition();l.lineNumber<b.getLineCount()?(a=l.lineNumber,c=1,j=l.lineNumber+1,k=1):(l.lineNumber>1&&g?.endLineNumber!==l.lineNumber?(a=l.lineNumber-1,c=b.getLineMaxColumn(l.lineNumber-1)):(a=l.lineNumber,c=1),j=l.lineNumber,k=b.getLineMaxColumn(l.lineNumber));let m=new i.Q(a,c,j,k);g=m,m.isEmpty()?d[f]=null:d[f]=new e.iu(m,"")}else d[f]=null;else d[f]=new e.iu(h,"")}return new f.vY(0,d,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}},29813:(a,b,c)=>{"use strict";function d(a,b){"number"!=typeof a.vscodeWindowId&&Object.defineProperty(a,"vscodeWindowId",{get:()=>b})}c.d(b,{G:()=>e,y:()=>d});let e=window},29892:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{Su:()=>l,b7:()=>k,fe:()=>m});var g=c(98447),h=c(56167),i=c(5030);function j(){return d||(d=new TextDecoder("UTF-16LE")),d}function k(){return f||(f=h.cm()?j():(e||(e=new TextDecoder("UTF-16BE")),e)),f}function l(a,b,c){let d=new Uint16Array(a.buffer,b,c);return c>0&&(65279===d[0]||65534===d[0])?function(a,b,c){let d=[],e=0;for(let f=0;f<c;f++){let c=i.$l(a,b);b+=2,d[e++]=String.fromCharCode(c)}return d.join("")}(a,b,c):j().decode(d)}class m{constructor(a){this._capacity=0|a,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";let a=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return k().decode(a)}_flushBuffer(){let a=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[a]:this._completedStrings[this._completedStrings.length]=a}appendCharCode(a){let b=this._capacity-this._bufferLength;b<=1&&(0===b||g.pc(a))&&this._flushBuffer(),this._buffer[this._bufferLength++]=a}appendASCIICharCode(a){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=a}appendString(a){let b=a.length;if(this._bufferLength+b>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=a;return}for(let c=0;c<b;c++)this._buffer[this._bufferLength++]=a.charCodeAt(c)}}},29949:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(98447);class e{static _nextVisibleColumn(a,b,c){return 9===a?e.nextRenderTabStop(b,c):d.ne(a)||d.Ss(a)?b+2:b+1}static visibleColumnFromColumn(a,b,c){let e=Math.min(b-1,a.length),f=a.substring(0,e),g=new d.km(f),h=0;for(;!g.eol();){let a=d.Z5(f,e,g.offset);g.nextGraphemeLength(),h=this._nextVisibleColumn(a,h,c)}return h}static columnFromVisibleColumn(a,b,c){if(b<=0)return 1;let e=a.length,f=new d.km(a),g=0,h=1;for(;!f.eol();){let i=d.Z5(a,e,f.offset);f.nextGraphemeLength();let j=this._nextVisibleColumn(i,g,c),k=f.offset+1;if(j>=b){let a=b-g;if(j-b<a)return k;return h}g=j,h=k}return e+1}static nextRenderTabStop(a,b){return a+b-a%b}static nextIndentTabStop(a,b){return e.nextRenderTabStop(a,b)}static prevRenderTabStop(a,b){return Math.max(0,a-1-(a-1)%b)}static prevIndentTabStop(a,b){return e.prevRenderTabStop(a,b)}}},30810:()=>{},30834:(a,b,c)=>{"use strict";c.d(b,{$B:()=>j,Dk:()=>l,IN:()=>n,RE:()=>p,XS:()=>q,cv:()=>g,ho:()=>k,ir:()=>f,m$:()=>m,mk:()=>i,oJ:()=>h,t8:()=>o});var d=c(78323),e=c(23949);let f={keybindingLabelBackground:(0,d.GuP)(d.HDX),keybindingLabelForeground:(0,d.GuP)(d.eUu),keybindingLabelBorder:(0,d.GuP)(d.zUX),keybindingLabelBottomBorder:(0,d.GuP)(d.Qfh),keybindingLabelShadow:(0,d.GuP)(d.f9l)},g={buttonForeground:(0,d.GuP)(d.G_h),buttonSeparator:(0,d.GuP)(d.Q1$),buttonBackground:(0,d.GuP)(d.XJc),buttonHoverBackground:(0,d.GuP)(d.T9h),buttonSecondaryForeground:(0,d.GuP)(d.Inn),buttonSecondaryBackground:(0,d.GuP)(d.xOA),buttonSecondaryHoverBackground:(0,d.GuP)(d.nZG),buttonBorder:(0,d.GuP)(d.raQ)},h={progressBarBackground:(0,d.GuP)(d.BTi)},i={inputActiveOptionBorder:(0,d.GuP)(d.uNK),inputActiveOptionForeground:(0,d.GuP)(d.$$0),inputActiveOptionBackground:(0,d.GuP)(d.c1f)};(0,d.GuP)(d.jOE),(0,d.GuP)(d.Ukx),(0,d.GuP)(d.Ips),(0,d.GuP)(d.kPT),(0,d.GuP)(d.xWN),(0,d.GuP)(d.ZBU),(0,d.GuP)(d.jr9);let j={checkboxBackground:(0,d.GuP)(d.OcU),checkboxBorder:(0,d.GuP)(d.C5U),checkboxForeground:(0,d.GuP)(d.t0B),checkboxDisabledBackground:(0,d.GuP)(d.Uv),checkboxDisabledForeground:(0,d.GuP)(d.hsb)};(0,d.GuP)(d.CgL),(0,d.GuP)(d.FiB),(0,d.GuP)(d.f9l),(0,d.GuP)(d.DSL),(0,d.GuP)(d.tYX),(0,d.GuP)(d.JPj),(0,d.GuP)(d.bNw),(0,d.GuP)(d.vwp);let k={inputBackground:(0,d.GuP)(d.L4c),inputForeground:(0,d.GuP)(d.cws),inputBorder:(0,d.GuP)(d.Zgs),inputValidationInfoBorder:(0,d.GuP)(d.YSW),inputValidationInfoBackground:(0,d.GuP)(d.I$A),inputValidationInfoForeground:(0,d.GuP)(d.L9Z),inputValidationWarningBorder:(0,d.GuP)(d.C1n),inputValidationWarningBackground:(0,d.GuP)(d.ULt),inputValidationWarningForeground:(0,d.GuP)(d.T5N),inputValidationErrorBorder:(0,d.GuP)(d.eYZ),inputValidationErrorBackground:(0,d.GuP)(d._$n),inputValidationErrorForeground:(0,d.GuP)(d.h9z)},l={listFilterWidgetBackground:(0,d.GuP)(d.pnl),listFilterWidgetOutline:(0,d.GuP)(d.fiM),listFilterWidgetNoMatchesOutline:(0,d.GuP)(d.P9Z),listFilterWidgetShadow:(0,d.GuP)(d.H8q),inputBoxStyles:k,toggleStyles:i},m={badgeBackground:(0,d.GuP)(d.WMx),badgeForeground:(0,d.GuP)(d.zRE),badgeBorder:(0,d.GuP)(d.b1q)};(0,d.GuP)(d.vV$),(0,d.GuP)(d.mc0),(0,d.GuP)(d.etE),(0,d.GuP)(d.etE),(0,d.GuP)(d.sAS);let n={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:(0,d.GuP)(d.VFX),listFocusForeground:(0,d.GuP)(d.efJ),listFocusOutline:(0,d.GuP)(d.p7Y),listActiveSelectionBackground:(0,d.GuP)(d.Rjz),listActiveSelectionForeground:(0,d.GuP)(d.GVV),listActiveSelectionIconForeground:(0,d.GuP)(d.fED),listFocusAndSelectionOutline:(0,d.GuP)(d.gtq),listFocusAndSelectionBackground:(0,d.GuP)(d.Rjz),listFocusAndSelectionForeground:(0,d.GuP)(d.GVV),listInactiveSelectionBackground:(0,d.GuP)(d.uNx),listInactiveSelectionIconForeground:(0,d.GuP)(d.C9U),listInactiveSelectionForeground:(0,d.GuP)(d.f4y),listInactiveFocusBackground:(0,d.GuP)(d.CQ3),listInactiveFocusOutline:(0,d.GuP)(d.ijf),listHoverBackground:(0,d.GuP)(d.lO1),listHoverForeground:(0,d.GuP)(d.QRv),listDropOverBackground:(0,d.GuP)(d.Yoe),listDropBetweenBackground:(0,d.GuP)(d.yIp),listSelectionOutline:(0,d.GuP)(d.buw),listHoverOutline:(0,d.GuP)(d.buw),treeIndentGuidesStroke:(0,d.GuP)(d.U4U),treeInactiveIndentGuidesStroke:(0,d.GuP)(d.pft),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:(0,d.GuP)(d.bXl),tableColumnsBorder:(0,d.GuP)(d.k5u),tableOddRowsBackgroundColor:(0,d.GuP)(d.sbQ)};function o(a){let b={...n};for(let c in a){let e=a[c];b[c]=void 0!==e?(0,d.GuP)(e):void 0}return b}let p={selectBackground:(0,d.GuP)(d.rvE),selectListBackground:(0,d.GuP)(d.lWP),selectForeground:(0,d.GuP)(d.yqq),decoratorRightForeground:(0,d.GuP)(d.NBf),selectBorder:(0,d.GuP)(d.HcB),focusBorder:(0,d.GuP)(d.tAP),listFocusBackground:(0,d.GuP)(d.AlL),listInactiveSelectionIconForeground:(0,d.GuP)(d.c7i),listFocusForeground:(0,d.GuP)(d.nH),listFocusOutline:(0,d.HP_)(d.buw,e.Q1.transparent.toString()),listHoverBackground:(0,d.GuP)(d.lO1),listHoverForeground:(0,d.GuP)(d.QRv),listHoverOutline:(0,d.GuP)(d.buw),selectListBorder:(0,d.GuP)(d.sIe),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},q={shadowColor:(0,d.GuP)(d.f9l),borderColor:(0,d.GuP)(d.g$2),foregroundColor:(0,d.GuP)(d.dd_),backgroundColor:(0,d.GuP)(d.c6Y),selectionForegroundColor:(0,d.GuP)(d.pmr),selectionBackgroundColor:(0,d.GuP)(d.Ux$),selectionBorderColor:(0,d.GuP)(d.SNb),separatorColor:(0,d.GuP)(d.D7X),scrollbarShadow:(0,d.GuP)(d.bXl),scrollbarSliderBackground:(0,d.GuP)(d.gnV),scrollbarSliderHoverBackground:(0,d.GuP)(d.cI_),scrollbarSliderActiveBackground:(0,d.GuP)(d.mhZ)}},30906:()=>{},30919:(a,b,c)=>{"use strict";c.d(b,{i:()=>o,b:()=>p}),c(48268);var d=c(42484),e=c(66153),f=c(79677),g=c(59317),h=c(6657);class i{constructor(a=5){this.timesPerSecond=a,this._lastRun=0,this._minimumTimeBetweenRuns=1e3/a}runIfNotLimited(a){let b=Date.now();b-this._lastRun>=this._minimumTimeBetweenRuns&&(this._lastRun=b,a())}}class j{static create(a,b){return new j(a,new k(b))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(a,b){this._startLineNumber=a,this._tokens=b,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(a){return this._startLineNumber<=a&&a<=this._endLineNumber?this._tokens.getLineTokens(a-this._startLineNumber):null}getRange(){let a=this._tokens.getRange();return a?new g.Q(this._startLineNumber+a.startLineNumber,a.startColumn,this._startLineNumber+a.endLineNumber,a.endColumn):a}removeTokens(a){let b=a.startLineNumber-this._startLineNumber,c=a.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(b,a.startColumn-1,c,a.endColumn-1),this._updateEndLineNumber()}split(a){let b=a.startLineNumber-this._startLineNumber,c=a.endLineNumber-this._startLineNumber,[d,e,f]=this._tokens.split(b,a.startColumn-1,c,a.endColumn-1);return[new j(this._startLineNumber,d),new j(this._startLineNumber+f,e)]}applyEdit(a,b){let[c,d,e]=(0,h.W)(b);this.acceptEdit(a,c,d,e,b.length>0?b.charCodeAt(0):0)}acceptEdit(a,b,c,d,e){this._acceptDeleteRange(a),this._acceptInsertText(new f.y(a.startLineNumber,a.startColumn),b,c,d,e),this._updateEndLineNumber()}_acceptDeleteRange(a){if(a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn)return;let b=a.startLineNumber-this._startLineNumber,c=a.endLineNumber-this._startLineNumber;if(c<0){let a=c-b;this._startLineNumber-=a;return}let d=this._tokens.getMaxDeltaLine();if(!(b>=d+1)){if(b<0&&c>=d+1){this._startLineNumber=0,this._tokens.clear();return}if(b<0){let d=-b;this._startLineNumber-=d,this._tokens.acceptDeleteRange(a.startColumn-1,0,0,c,a.endColumn-1)}else this._tokens.acceptDeleteRange(0,b,a.startColumn-1,c,a.endColumn-1)}}_acceptInsertText(a,b,c,d,e){if(0===b&&0===c)return;let f=a.lineNumber-this._startLineNumber;if(f<0){this._startLineNumber+=b;return}f>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(f,a.column-1,b,c,d,e)}reportIfInvalid(a){this._tokens.reportIfInvalid(a,this._startLineNumber)}}class k{constructor(a){this._tokens=a,this._tokenCount=a.length/4}toString(a){let b=[];for(let c=0;c<this._tokenCount;c++)b.push(`(${this._getDeltaLine(c)+a},${this._getStartCharacter(c)}-${this._getEndCharacter(c)})`);return`[${b.join(",")}]`}getMaxDeltaLine(){let a=this._getTokenCount();return 0===a?-1:this._getDeltaLine(a-1)}getRange(){let a=this._getTokenCount();if(0===a)return null;let b=this._getStartCharacter(0),c=this._getDeltaLine(a-1),d=this._getEndCharacter(a-1);return new g.Q(0,b+1,c,d+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(a){return this._tokens[4*a]}_getStartCharacter(a){return this._tokens[4*a+1]}_getEndCharacter(a){return this._tokens[4*a+2]}isEmpty(){return 0===this._getTokenCount()}getLineTokens(a){let b=0,c=this._getTokenCount()-1;for(;b<c;){let d=b+Math.floor((c-b)/2),e=this._getDeltaLine(d);if(e<a)b=d+1;else if(e>a)c=d-1;else{let e=d;for(;e>b&&this._getDeltaLine(e-1)===a;)e--;let f=d;for(;f<c&&this._getDeltaLine(f+1)===a;)f++;return new l(this._tokens.subarray(4*e,4*f+4))}}return this._getDeltaLine(b)===a?new l(this._tokens.subarray(4*b,4*b+4)):null}clear(){this._tokenCount=0}removeTokens(a,b,c,d){let e=this._tokens,f=this._tokenCount,g=0,h=!1,i=0;for(let j=0;j<f;j++){let f=4*j,k=e[f],l=e[f+1],m=e[f+2],n=e[f+3];if((k>a||k===a&&m>=b)&&(k<c||k===c&&l<=d))h=!0;else{if(0===g&&(i=k),h){let a=4*g;e[a]=k-i,e[a+1]=l,e[a+2]=m,e[a+3]=n}g++}}return this._tokenCount=g,i}split(a,b,c,d){let e=this._tokens,f=this._tokenCount,g=[],h=[],i=g,j=0,l=0;for(let g=0;g<f;g++){let f=4*g,k=e[f],m=e[f+1],n=e[f+2],o=e[f+3];if(k>a||k===a&&n>=b)if(k<c||k===c&&m<=d)continue;else i!==h&&(i=h,j=0,l=k);i[j++]=k-l,i[j++]=m,i[j++]=n,i[j++]=o}return[new k(new Uint32Array(g)),new k(new Uint32Array(h)),l]}acceptDeleteRange(a,b,c,d,e){let f=this._tokens,g=this._tokenCount,h=d-b,i=0,j=!1;for(let k=0;k<g;k++){let l=4*k,m=f[l],n=f[l+1],o=f[l+2],p=f[l+3];if(m<b||m===b&&o<=c){i++;continue}if(m===b&&n<c)m===d&&o>e?o-=e-c:o=c;else if(m===b&&n===c)if(m===d&&o>e)o-=e-c;else{j=!0;continue}else if(m<d||m===d&&n<e)if(m===d&&o>e)m=b,o=(n=c)+(o-e);else{j=!0;continue}else if(m>d){if(0===h&&!j){i=g;break}m-=h}else if(m===d&&n>=e)a&&0===m&&(n+=a,o+=a),m-=h,n-=e-c,o-=e-c;else throw Error("Not possible!");let q=4*i;f[q]=m,f[q+1]=n,f[q+2]=o,f[q+3]=p,i++}this._tokenCount=i}acceptInsertText(a,b,c,d,e,f){let g=0===c&&1===d&&(f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122),h=this._tokens,i=this._tokenCount;for(let f=0;f<i;f++){let i=4*f,j=h[i],k=h[i+1],l=h[i+2];if(!(j<a)&&(j!==a||!(l<b))){if(j===a&&l===b)if(!g)continue;else l+=1;else if(j===a&&k<b&&b<l)0===c?l+=d:l=b;else{if(j===a&&k===b&&g)continue;if(j===a)if(j+=c,0===c)k+=d,l+=d;else{let a=l-k;l=(k=e+(k-b))+a}else j+=c}h[i]=j,h[i+1]=k,h[i+2]=l}}}static{this._rateLimiter=new i(10/60)}reportIfInvalid(a,b){for(let c=0;c<this._tokenCount;c++){let d=this._getDeltaLine(c)+b;d<1?k._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: lineNumber < 1")}):d>a.getLineCount()?k._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()")}):this._getEndCharacter(c)>a.getLineLength(d)&&k._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)")})}}}class l{constructor(a){this._tokens=a}getCount(){return this._tokens.length/4}getStartCharacter(a){return this._tokens[4*a+1]}getEndCharacter(a){return this._tokens[4*a+2]}getMetadata(a){return this._tokens[4*a+3]}}var m=c(81190),n=function(a,b){return function(c,d){b(c,d,a)}};let o=class{constructor(a,b,c,d){this._legend=a,this._themeService=b,this._languageService=c,this._logService=d,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new r}getMetadata(a,b,c){let d,e=this._languageService.languageIdCodec.encodeLanguageId(c),f=this._hashTable.get(a,b,e);if(f)d=f.metadata;else{let f=this._legend.tokenTypes[a],g=[];if(f){let a=b;for(let b=0;a>0&&b<this._legend.tokenModifiers.length;b++)1&a&&g.push(this._legend.tokenModifiers[b]),a>>=1;let e=this._themeService.getColorTheme().getTokenStyleMetadata(f,g,c);void 0===e?d=0x7fffffff:(d=0,void 0!==e.italic&&(d|=1|!!e.italic<<11),void 0!==e.bold&&(d|=2|2*!!e.bold<<11),void 0!==e.underline&&(d|=4|4*!!e.underline<<11),void 0!==e.strikethrough&&(d|=8|8*!!e.strikethrough<<11),e.foreground&&(d|=16|e.foreground<<15),0===d&&(d=0x7fffffff))}else d=0x7fffffff,f="not-in-legend";this._hashTable.add(a,b,e,d)}return d}warnOverlappingSemanticTokens(a,b){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${a}, column ${b}`))}warnInvalidLengthSemanticTokens(a,b){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${a}, column ${b}`))}warnInvalidEditStart(a,b,c,d,e){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${a}, resultId: ${b}) at edit #${c}: The provided start offset ${d} is outside the previous data (length ${e}).`))}};function p(a,b,c){let d=a.data,e=a.data.length/5|0,f=Math.max(Math.ceil(e/1024),400),g=[],h=0,i=1,k=0;for(;h<e;){let a=h,l=Math.min(a+f,e);if(l<e){let b=l;for(;b-1>a&&0===d[5*b];)b--;if(b-1===a){let a=l;for(;a+1<e&&0===d[5*a];)a++;l=a}else l=b}let m=new Uint32Array((l-a)*4),n=0,o=0,p=0,q=0;for(;h<l;){let a=5*h,e=d[a],f=d[a+1],g=i+e|0,j=0===e?k+f|0:f,l=j+d[a+2]|0,r=d[a+3],s=d[a+4];if(l<=j)b.warnInvalidLengthSemanticTokens(g,j+1);else if(p===g&&q>j)b.warnOverlappingSemanticTokens(g,j+1);else{let a=b.getMetadata(r,s,c);0x7fffffff!==a&&(0===o&&(o=g),m[n]=g-o,m[n+1]=j,m[n+2]=l,m[n+3]=a,n+=4,p=g,q=l)}i=g,k=j,h++}n!==m.length&&(m=m.subarray(0,n));let r=j.create(o,m);g.push(r)}return g}o=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([n(1,d.Gy),n(2,m.L),n(3,e.rr)],o);class q{constructor(a,b,c,d){this.tokenTypeIndex=a,this.tokenModifierSet=b,this.languageId=c,this.metadata=d,this.next=null}}class r{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=r._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<r._SIZES.length?2/3*this._currentLength:0),this._elements=[],r._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(a,b){for(let c=0;c<b;c++)a[c]=null}_hash2(a,b){return(a<<5)-a+b|0}_hashFunc(a,b,c){return this._hash2(this._hash2(a,b),c)%this._currentLength}get(a,b,c){let d=this._hashFunc(a,b,c),e=this._elements[d];for(;e;){if(e.tokenTypeIndex===a&&e.tokenModifierSet===b&&e.languageId===c)return e;e=e.next}return null}add(a,b,c,d){if(this._elementsCount++,0!==this._growCount&&this._elementsCount>=this._growCount){let a=this._elements;for(let b of(this._currentLengthIndex++,this._currentLength=r._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<r._SIZES.length?2/3*this._currentLength:0),this._elements=[],r._nullOutEntries(this._elements,this._currentLength),a)){let a=b;for(;a;){let b=a.next;a.next=null,this._add(a),a=b}}}this._add(new q(a,b,c,d))}_add(a){let b=this._hashFunc(a.tokenTypeIndex,a.tokenModifierSet,a.languageId);a.next=this._elements[b],this._elements[b]=a}}},30950:(a,b,c)=>{"use strict";c.d(b,{t:()=>d});let d=(0,c(29715).u1)("treeSitterLibraryService")},30967:()=>{},30976:(a,b,c)=>{"use strict";c.d(b,{m:()=>J,p:()=>I});var d=c(32677),e=c(21280),f=c(51043),g=c(45084),h=c(18401),i=c(90399),j=c(81633),k=c(60734),l=c(11314);c(96503);var m=c(25536),n=c(75096);class o extends l.jG{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(a,b,c={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new k._B),this.disposables=this._register(new l.Cm),c.hoverDelegate=c.hoverDelegate??this._register((0,n.bW)()),this.options=c,this.toggleMenuAction=this._register(new p(()=>this.toggleMenuActionViewItem?.show(),c.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",a.appendChild(this.element),this.actionBar=this._register(new f.E(this.element,{orientation:c.orientation,ariaLabel:c.ariaLabel,actionRunner:c.actionRunner,allowContextMenu:c.allowContextMenu,highlightToggledItems:c.highlightToggledItems,hoverDelegate:c.hoverDelegate,actionViewItemProvider:(a,d)=>{if(a.id===p.ID)return this.toggleMenuActionViewItem=new g.d(a,a.menuActions,b,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:j.L.asClassNameArray(c.moreIcon??i.W.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(c.actionViewItemProvider){let b=c.actionViewItemProvider(a,d);if(b)return b}if(a instanceof h.YH){let c=new g.d(a,a.actions,b,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:a.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return c.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(c),this.disposables.add(this._onDidChangeDropdownVisibility.add(c.onDidChangeVisibility)),c}}}))}set actionRunner(a){this.actionBar.actionRunner=a}get actionRunner(){return this.actionBar.actionRunner}set context(a){for(let b of(this.actionBar.context=a,this.toggleMenuActionViewItem?.setActionContext(a),this.submenuActionViewItems))b.setActionContext(a)}getElement(){return this.element}getItemAction(a){return this.actionBar.getAction(a)}setActions(a,b){this.clear();let c=a?a.slice(0):[];this.hasSecondaryActions=!!(b&&b.length>0),this.hasSecondaryActions&&b&&(this.toggleMenuAction.menuActions=b.slice(0),c.push(this.toggleMenuAction)),c.forEach(a=>{this.actionBar.push(a,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(a)})})}getKeybindingLabel(a){let b=this.options.getKeyBinding?.(a);return b?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class p extends h.rc{static{this.ID="toolbar.toggle.more"}constructor(a,b){super(p.ID,b=b||m.kg(17,"More Actions..."),void 0,!0),this._menuActions=[],this.toggleDropdownMenu=a}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(a){this._menuActions=a}}var q=c(54734),r=c(20715),s=c(88347),t=c(16374),u=c(20846),v=c(79487),w=c(74134),x=c(70511),y=c(45367),z=c(99964),A=c(79851),B=c(91295),C=c(63090),D=c(29715);let E=(0,D.u1)("IActionViewItemService");class F{constructor(){this._providers=new Map,this._onDidChange=new k.vl,this.onDidChange=this._onDidChange.event}dispose(){this._onDidChange.dispose()}lookUp(a,b){return this._providers.get(this._makeKey(a,b))}_makeKey(a,b){return`${a.id}/${b instanceof v.D8?b.id:b}`}}(0,C.v)(E,F,1);var G=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},H=function(a,b){return function(c,d){b(c,d,a)}};let I=class extends o{constructor(a,b,c,d,e,f,g,h){super(a,e,{getKeyBinding:a=>f.lookupKeybinding(a.id)??void 0,...b,allowContextMenu:!0,skipTelemetry:"string"==typeof b?.telemetrySource}),this._options=b,this._menuService=c,this._contextKeyService=d,this._contextMenuService=e,this._keybindingService=f,this._commandService=g,this._sessionDisposables=this._store.add(new l.Cm);let i=b?.telemetrySource;i&&this._store.add(this.actionBar.onDidRun(a=>h.publicLog2("workbenchActionExecuted",{id:a.action.id,from:i})))}setActions(a,b=[],c){this._sessionDisposables.clear();let f=a.slice(),g=b.slice(),i=[],j=0,k=[],l=!1;if(this._options?.hiddenItemStrategy!==-1)for(let a=0;a<f.length;a++){let b=f[a];(b instanceof v.Xe||b instanceof v.nI)&&b.hideActions&&(i.push(b.hideActions.toggle),b.hideActions.toggle.checked&&j++,b.hideActions.isHidden&&(l=!0,f[a]=void 0,this._options?.hiddenItemStrategy!==0&&(k[a]=b)))}if(this._options?.overflowBehavior!==void 0){let a=(0,r.E$)(new Set(this._options.overflowBehavior.exempted),t.f.map(f,a=>a?.id)),b=this._options.overflowBehavior.maxItems-a.size,c=0;for(let d=0;d<f.length;d++){let e=f[d];e&&(c++,!a.has(e.id)&&c>=b&&(f[d]=void 0,k[d]=e))}}(0,q.SK)(f),(0,q.SK)(k),super.setActions(f,h.wv.join(k,g)),(i.length>0||f.length>0)&&this._sessionDisposables.add((0,d.ko)(this.getElement(),"contextmenu",a=>{let b=new e.P((0,d.zk)(this.getElement()),a),f=this.getItemAction(b.target);if(!f)return;b.preventDefault(),b.stopPropagation();let g=[];if(f instanceof v.Xe&&f.menuKeybinding)g.push(f.menuKeybinding);else if(!(f instanceof v.nI||f instanceof p)){let a=!!this._keybindingService.lookupKeybinding(f.id);g.push((0,w.D)(this._commandService,this._keybindingService,f.id,void 0,a))}if(i.length>0){let a=!1;if(1===j&&this._options?.hiddenItemStrategy===0){a=!0;for(let a=0;a<i.length;a++)if(i[a].checked){i[a]=(0,h.ih)({id:f.id,label:f.label,checked:!0,enabled:!1,run(){}});break}}if(!a&&(f instanceof v.Xe||f instanceof v.nI)){if(!f.hideActions)return;g.push(f.hideActions.hide)}else g.push((0,h.ih)({id:"label",label:(0,m.kg)(1634,"Hide"),enabled:!1,run(){}}))}let k=h.wv.join(g,i);this._options?.resetMenu&&!c&&(c=[this._options.resetMenu]),l&&c&&(k.push(new h.wv),k.push((0,h.ih)({id:"resetThisMenu",label:(0,m.kg)(1635,"Reset Menu"),run:()=>this._menuService.resetHiddenStates(c)}))),0!==k.length&&this._contextMenuService.showContextMenu({getAnchor:()=>b,getActions:()=>k,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})}))}};I=G([H(2,v.ez),H(3,y.fN),H(4,z.Z),H(5,A.b),H(6,x.d),H(7,B.k)],I);let J=class extends I{get onDidChangeMenuItems(){return this._onDidChangeMenuItems.event}constructor(a,b,c,e,f,g,h,i,j,l,m){super(a,{resetMenu:b,...c,actionViewItemProvider:(e,f)=>{let g=l.lookUp(b,e instanceof v.nI?e.item.submenu.id:e.id);g||(g=c?.actionViewItemProvider);let h=g?.(e,f,m,(0,d.zk)(a).vscodeWindowId);return h||(0,u.rN)(m,e,f)}},e,f,g,h,i,j),this._onDidChangeMenuItems=this._store.add(new k.vl);let n=this._store.add(e.createMenu(b,f,{emitEventsForSubmenuChanges:!0,eventDebounceDelay:c?.eventDebounceDelay})),o=()=>{let{primary:b,secondary:d}=(0,u.R4)(n.getActions(c?.menuOptions),c?.toolbarOptions?.primaryGroup,c?.toolbarOptions?.shouldInlineSubmenu,c?.toolbarOptions?.useSeparatorsInPrimaryActions);a.classList.toggle("has-no-actions",0===b.length&&0===d.length),super.setActions(b,d)};this._store.add(n.onDidChange(()=>{o(),this._onDidChangeMenuItems.fire(this)})),this._store.add(l.onDidChange(a=>{a===b&&o()})),o()}setActions(){throw new s.D7("This toolbar is populated from a menu.")}};J=G([H(3,v.ez),H(4,y.fN),H(5,z.Z),H(6,A.b),H(7,x.d),H(8,B.k),H(9,E),H(10,D._Y)],J)},31122:(a,b,c)=>{"use strict";c.d(b,{No:()=>m,TH:()=>h,Zn:()=>j,_1:()=>k,kb:()=>i});var d=c(76687),e=c(56167),f=c(98447);function g(a){return 47===a||92===a}function h(a){return a.replace(/[\\/]/g,d.SA.sep)}function i(a){return -1===a.indexOf("/")&&(a=h(a)),/^[a-zA-Z]:(\/|$)/.test(a)&&(a="/"+a),a}function j(a,b=d.SA.sep){if(!a)return"";let c=a.length,e=a.charCodeAt(0);if(g(e)){if(g(a.charCodeAt(1))&&!g(a.charCodeAt(2))){let d=3;for(;d<c&&!g(a.charCodeAt(d));d++);if(3!==d&&!g(a.charCodeAt(d+1))){for(d+=1;d<c;d++)if(g(a.charCodeAt(d)))return a.slice(0,d+1).replace(/[\\/]/g,b)}}return b}if(l(e)&&58===a.charCodeAt(1))if(g(a.charCodeAt(2)))return a.slice(0,2)+b;else return a.slice(0,2);let f=a.indexOf("://");if(-1!==f){for(f+=3;f<c;f++)if(g(a.charCodeAt(f)))return a.slice(0,f+1)}return""}function k(a,b,c,e=d.Vn){if(a===b)return!0;if(!a||!b||b.length>a.length)return!1;if(c){if(!(0,f.ns)(a,b))return!1;if(b.length===a.length)return!0;let c=b.length;return b.charAt(b.length-1)===e&&c--,a.charAt(c)===e}return b.charAt(b.length-1)!==e&&(b+=e),0===a.indexOf(b)}function l(a){return a>=65&&a<=90||a>=97&&a<=122}function m(a,b=e.uF){return!!b&&l(a.charCodeAt(0))&&58===a.charCodeAt(1)}},31503:()=>{},31512:(a,b,c)=>{"use strict";c.d(b,{M:()=>i,S:()=>j});var d=c(88347),e=c(95967),f=c(59317),g=c(95265),h=c(54734);class i{static ofLength(a,b){return new i(a,a+b)}static fromRange(a){return new i(a.startLineNumber,a.endLineNumber)}static fromRangeInclusive(a){return new i(a.startLineNumber,a.endLineNumber+1)}static{this.compareByStart=(0,h.VE)(a=>a.startLineNumber,h.U9)}static joinMany(a){if(0===a.length)return[];let b=new j(a[0].slice());for(let c=1;c<a.length;c++)b=b.getUnion(new j(a[c].slice()));return b.ranges}static join(a){if(0===a.length)throw new d.D7("lineRanges cannot be empty");let b=a[0].startLineNumber,c=a[0].endLineNumberExclusive;for(let d=1;d<a.length;d++)b=Math.min(b,a[d].startLineNumber),c=Math.max(c,a[d].endLineNumberExclusive);return new i(b,c)}static deserialize(a){return new i(a[0],a[1])}constructor(a,b){if(a>b)throw new d.D7(`startLineNumber ${a} cannot be after endLineNumberExclusive ${b}`);this.startLineNumber=a,this.endLineNumberExclusive=b}contains(a){return this.startLineNumber<=a&&a<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(a){return new i(this.startLineNumber+a,this.endLineNumberExclusive+a)}deltaLength(a){return new i(this.startLineNumber,this.endLineNumberExclusive+a)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(a){return new i(Math.min(this.startLineNumber,a.startLineNumber),Math.max(this.endLineNumberExclusive,a.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(a){let b=Math.max(this.startLineNumber,a.startLineNumber),c=Math.min(this.endLineNumberExclusive,a.endLineNumberExclusive);if(b<=c)return new i(b,c)}intersectsStrict(a){return this.startLineNumber<a.endLineNumberExclusive&&a.startLineNumber<this.endLineNumberExclusive}intersectsOrTouches(a){return this.startLineNumber<=a.endLineNumberExclusive&&a.startLineNumber<=this.endLineNumberExclusive}equals(a){return this.startLineNumber===a.startLineNumber&&this.endLineNumberExclusive===a.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new f.Q(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new f.Q(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(a){let b=[];for(let c=this.startLineNumber;c<this.endLineNumberExclusive;c++)b.push(a(c));return b}forEach(a){for(let b=this.startLineNumber;b<this.endLineNumberExclusive;b++)a(b)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}toOffsetRange(){return new e.L(this.startLineNumber-1,this.endLineNumberExclusive-1)}addMargin(a,b){return new i(this.startLineNumber-a,this.endLineNumberExclusive+b)}}class j{constructor(a=[]){this._normalizedRanges=a}get ranges(){return this._normalizedRanges}addRange(a){if(0===a.length)return;let b=(0,g.hw)(this._normalizedRanges,b=>b.endLineNumberExclusive>=a.startLineNumber),c=(0,g.iM)(this._normalizedRanges,b=>b.startLineNumber<=a.endLineNumberExclusive)+1;if(b===c)this._normalizedRanges.splice(b,0,a);else if(b===c-1){let c=this._normalizedRanges[b];this._normalizedRanges[b]=c.join(a)}else{let d=this._normalizedRanges[b].join(this._normalizedRanges[c-1]).join(a);this._normalizedRanges.splice(b,c-b,d)}}contains(a){let b=(0,g.lx)(this._normalizedRanges,b=>b.startLineNumber<=a);return!!b&&b.endLineNumberExclusive>a}intersects(a){let b=(0,g.lx)(this._normalizedRanges,b=>b.startLineNumber<a.endLineNumberExclusive);return!!b&&b.endLineNumberExclusive>a.startLineNumber}getUnion(a){if(0===this._normalizedRanges.length)return a;if(0===a._normalizedRanges.length)return this;let b=[],c=0,d=0,e=null;for(;c<this._normalizedRanges.length||d<a._normalizedRanges.length;){let f=null;if(c<this._normalizedRanges.length&&d<a._normalizedRanges.length){let b=this._normalizedRanges[c],e=a._normalizedRanges[d];b.startLineNumber<e.startLineNumber?(f=b,c++):(f=e,d++)}else c<this._normalizedRanges.length?(f=this._normalizedRanges[c],c++):(f=a._normalizedRanges[d],d++);null===e?e=f:e.endLineNumberExclusive>=f.startLineNumber?e=new i(e.startLineNumber,Math.max(e.endLineNumberExclusive,f.endLineNumberExclusive)):(b.push(e),e=f)}return null!==e&&b.push(e),new j(b)}subtractFrom(a){let b=(0,g.hw)(this._normalizedRanges,b=>b.endLineNumberExclusive>=a.startLineNumber),c=(0,g.iM)(this._normalizedRanges,b=>b.startLineNumber<=a.endLineNumberExclusive)+1;if(b===c)return new j([a]);let d=[],e=a.startLineNumber;for(let a=b;a<c;a++){let b=this._normalizedRanges[a];b.startLineNumber>e&&d.push(new i(e,b.startLineNumber)),e=b.endLineNumberExclusive}return e<a.endLineNumberExclusive&&d.push(new i(e,a.endLineNumberExclusive)),new j(d)}toString(){return this._normalizedRanges.map(a=>a.toString()).join(", ")}getIntersection(a){let b=[],c=0,d=0;for(;c<this._normalizedRanges.length&&d<a._normalizedRanges.length;){let e=this._normalizedRanges[c],f=a._normalizedRanges[d],g=e.intersect(f);g&&!g.isEmpty&&b.push(g),e.endLineNumberExclusive<f.endLineNumberExclusive?c++:d++}return new j(b)}getWithDelta(a){return new j(this._normalizedRanges.map(b=>b.delta(a)))}}},31613:(a,b,c)=>{"use strict";c.d(b,{$f:()=>h,MU:()=>i,Yb:()=>k,_t:()=>j,vn:()=>g});var d=c(98447),e=c(83594),f=c(72192);function g(a,b,c,h=!0,i){if(a<4)return null;let j=i.getLanguageConfiguration(b.tokenization.getLanguageId()).indentRulesSupport;if(!j)return null;let k=new f.no(b,j,i);if(c<=1)return{indentation:"",action:null};for(let a=c-1;a>0&&""===b.getLineContent(a);a--)if(1===a)return{indentation:"",action:null};let l=function(a,b,c){let d=a.tokenization.getLanguageIdAtPosition(b,0);if(b>1){let e,f=-1;for(e=b-1;e>=1;e--){if(a.tokenization.getLanguageIdAtPosition(e,0)!==d)return f;let b=a.getLineContent(e);if(c.shouldIgnore(e)||/^\s+$/.test(b)||""===b){f=e;continue}return e}}return -1}(b,c,k);if(l<0)return null;if(l<1)return{indentation:"",action:null};if(k.shouldIncrease(l)||k.shouldIndentNextLine(l)){let a=b.getLineContent(l);return{indentation:d.UU(a),action:e.l.Indent,line:l}}if(k.shouldDecrease(l)){let a=b.getLineContent(l);return{indentation:d.UU(a),action:null,line:l}}{if(1===l)return{indentation:d.UU(b.getLineContent(l)),action:null,line:l};let a=l-1,c=j.getIndentMetadata(b.getLineContent(a));if(!(3&c)&&4&c){let c=0;for(let b=a-1;b>0;b--)if(!k.shouldIndentNextLine(b)){c=b;break}return{indentation:d.UU(b.getLineContent(c+1)),action:null,line:c+1}}if(h)return{indentation:d.UU(b.getLineContent(l)),action:null,line:l};for(let a=l;a>0;a--)if(k.shouldIncrease(a))return{indentation:d.UU(b.getLineContent(a)),action:e.l.Indent,line:a};else if(k.shouldIndentNextLine(a)){let c=0;for(let b=a-1;b>0;b--)if(!k.shouldIndentNextLine(a)){c=b;break}return{indentation:d.UU(b.getLineContent(c+1)),action:null,line:c+1}}else if(k.shouldDecrease(a))return{indentation:d.UU(b.getLineContent(a)),action:null,line:a};return{indentation:d.UU(b.getLineContent(1)),action:null,line:1}}}function h(a,b,c,h,i,j){if(a<4)return null;let k=j.getLanguageConfiguration(c);if(!k)return null;let l=j.getLanguageConfiguration(c).indentRulesSupport;if(!l)return null;let m=new f.no(b,l,j),n=g(a,b,h,void 0,j);if(n){let c=n.line;if(void 0!==c){let f=!0;for(let a=c;a<h-1;a++)if(!/^\s*$/.test(b.getLineContent(a))){f=!1;break}if(f){let f=k.onEnter(a,"",b.getLineContent(c),"");if(f){let a=d.UU(b.getLineContent(c));return f.removeText&&(a=a.substring(0,a.length-f.removeText)),f.indentAction===e.l.Indent||f.indentAction===e.l.IndentOutdent?a=i.shiftIndent(a):f.indentAction===e.l.Outdent&&(a=i.unshiftIndent(a)),m.shouldDecrease(h)&&(a=i.unshiftIndent(a)),f.appendText&&(a+=f.appendText),d.UU(a)}}}if(m.shouldDecrease(h))if(n.action===e.l.Indent)return n.indentation;else return i.unshiftIndent(n.indentation);return n.action===e.l.Indent?i.shiftIndent(n.indentation):n.indentation}return null}function i(a,b,c,h,i){var j,k,l;if(a<4)return null;let m=b.getLanguageIdAtPosition(c.startLineNumber,c.startColumn),n=i.getLanguageConfiguration(m).indentRulesSupport;if(!n)return null;b.tokenization.forceTokenization(c.startLineNumber);let o=new f.V(b,i).getProcessedTokenContextAroundRange(c),p=o.afterRangeProcessedTokens,q=o.beforeRangeProcessedTokens,r=d.UU(q.getLineContent()),s=(j=b,k=c.startLineNumber,l=q,{tokenization:{getLineTokens:a=>a===k?l:j.tokenization.getLineTokens(a),getLanguageId:()=>j.getLanguageId(),getLanguageIdAtPosition:(a,b)=>j.getLanguageIdAtPosition(a,b)},getLineContent:a=>a===k?l.getLineContent():j.getLineContent(a)}),t=(0,f.WR)(b,c.getStartPosition()),u=b.getLineContent(c.startLineNumber),v=d.UU(u),w=g(a,s,c.startLineNumber+1,void 0,i);if(!w){let a=t?v:r;return{beforeEnter:a,afterEnter:a}}let x=t?v:w.indentation;return w.action===e.l.Indent&&(x=h.shiftIndent(x)),n.shouldDecrease(p.getLineContent())&&(x=h.unshiftIndent(x)),{beforeEnter:t?v:r,afterEnter:x}}function j(a,b,c,h,i,j){let k=a.autoIndent;if(k<4||(0,f.WR)(b,c.getStartPosition()))return null;let l=b.getLanguageIdAtPosition(c.startLineNumber,c.startColumn),m=j.getLanguageConfiguration(l).indentRulesSupport;if(!m)return null;let n=new f.V(b,j).getProcessedTokenContextAroundRange(c),o=n.beforeRangeProcessedTokens.getLineContent(),p=n.afterRangeProcessedTokens.getLineContent(),q=o+p,r=o+h+p;if(!m.shouldDecrease(q)&&m.shouldDecrease(r)){let a=g(k,b,c.startLineNumber,!1,j);if(!a)return null;let d=a.indentation;return a.action!==e.l.Indent&&(d=i.unshiftIndent(d)),d}let s=c.startLineNumber-1;if(s>0){let e=b.getLineContent(s);if(m.shouldIndentNextLine(e)&&m.shouldIncrease(r)){let e=g(k,b,c.startLineNumber,!1,j),f=e?.indentation;if(void 0!==f){let e=b.getLineContent(c.startLineNumber),g=d.UU(e),j=i.shiftIndent(f),k=/^\s*$/.test(q),l=a.autoClosingPairs.autoClosingPairsOpenByEnd.get(h),m=l&&l.length>0;if(j===g&&m&&k)return f}}}return null}function k(a,b,c){let d=c.getLanguageConfiguration(a.getLanguageId()).indentRulesSupport;return!d||b<1||b>a.getLineCount()?null:d.getIndentMetadata(a.getLineContent(b))}},31662:(a,b,c)=>{"use strict";c.d(b,{Z:()=>j});var d=c(88637),e=c(61551),f=c(99695),g=c(56167);let h=g.zx?256:2048,i=g.zx?2048:256;class j{constructor(a){this._standardKeyboardEventBrand=!0,this.browserEvent=a,this.target=a.target,this.ctrlKey=a.ctrlKey,this.shiftKey=a.shiftKey,this.altKey=a.altKey,this.metaKey=a.metaKey,this.altGraphKey=a.getModifierState?.("AltGraph"),this.keyCode=function(a){if(a.charCode){let b=String.fromCharCode(a.charCode).toUpperCase();return e.YM.fromString(b)}let b=a.keyCode;if(3===b)return 7;if(d.gm)switch(b){case 59:return 85;case 60:if(g.j9)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(g.zx)return 57}else if(d.Tc){if(g.zx&&93===b)return 57;else if(!g.zx&&92===b)return 57}return e.uw[b]||0}(a),this.code=a.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(a){return this._asKeybinding===a}_computeKeybinding(){let a=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(a=this.keyCode);let b=0;return this.ctrlKey&&(b|=h),this.altKey&&(b|=512),this.shiftKey&&(b|=1024),this.metaKey&&(b|=i),b|=a}_computeKeyCodeChord(){let a=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(a=this.keyCode),new f.dG(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,a)}}},32146:(a,b,c)=>{"use strict";c.d(b,{L:()=>f});var d=c(79677),e=c(59317);class f extends e.Q{constructor(a,b,c,d){super(a,b,c,d),this.selectionStartLineNumber=a,this.selectionStartColumn=b,this.positionLineNumber=c,this.positionColumn=d}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(a){return f.selectionsEqual(this,a)}static selectionsEqual(a,b){return a.selectionStartLineNumber===b.selectionStartLineNumber&&a.selectionStartColumn===b.selectionStartColumn&&a.positionLineNumber===b.positionLineNumber&&a.positionColumn===b.positionColumn}getDirection(){return+(this.selectionStartLineNumber!==this.startLineNumber||this.selectionStartColumn!==this.startColumn)}setEndPosition(a,b){return 0===this.getDirection()?new f(this.startLineNumber,this.startColumn,a,b):new f(a,b,this.startLineNumber,this.startColumn)}getPosition(){return new d.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new d.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(a,b){return 0===this.getDirection()?new f(a,b,this.endLineNumber,this.endColumn):new f(this.endLineNumber,this.endColumn,a,b)}static fromPositions(a,b=a){return new f(a.lineNumber,a.column,b.lineNumber,b.column)}static fromRange(a,b){return 0===b?new f(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn):new f(a.endLineNumber,a.endColumn,a.startLineNumber,a.startColumn)}static liftSelection(a){return new f(a.selectionStartLineNumber,a.selectionStartColumn,a.positionLineNumber,a.positionColumn)}static selectionsArrEqual(a,b){if(a&&!b||!a&&b)return!1;if(!a&&!b)return!0;if(a.length!==b.length)return!1;for(let c=0,d=a.length;c<d;c++)if(!this.selectionsEqual(a[c],b[c]))return!1;return!0}static isISelection(a){return a&&"number"==typeof a.selectionStartLineNumber&&"number"==typeof a.selectionStartColumn&&"number"==typeof a.positionLineNumber&&"number"==typeof a.positionColumn}static createWithDirection(a,b,c,d,e){return 0===e?new f(a,b,c,d):new f(c,d,a,b)}}},32677:(a,b,c)=>{"use strict";let d,e;c.d(b,{$:()=>aE,BC:()=>az,BK:()=>X,Be:()=>Q,Bx:()=>ar,Cl:()=>ae,Di:()=>aL,Ej:()=>W,Er:()=>ap,FK:()=>al,Fv:()=>E,H4:()=>_,Hs:()=>aA,Ij:()=>P,Iv:()=>C,J$:()=>M,L9:()=>S,Ln:()=>aB,OK:()=>aa,Oq:()=>d,PG:()=>e,Pl:()=>ay,Q2:()=>z,QX:()=>ab,Tr:()=>Z,U3:()=>O,WU:()=>aG,X7:()=>ah,XD:()=>ac,Xc:()=>K,YE:()=>w,ZF:()=>A,_9:()=>L,a:()=>aj,bo:()=>aF,bq:()=>ag,cL:()=>V,fg:()=>U,fs:()=>at,fz:()=>ak,h:()=>aO,i0:()=>aK,jD:()=>aH,jG:()=>af,jh:()=>aJ,ko:()=>H,kx:()=>aq,mU:()=>Y,n:()=>g,nR:()=>ai,nY:()=>an,pN:()=>aM,q3:()=>D,sb:()=>am,sd:()=>as,sl:()=>x,tG:()=>function a(b,c,d){let e=v(b),f=e.document;if(b!==f.body)return new U(b.clientWidth,b.clientHeight);if(q.un&&e?.visualViewport)return new U(e.visualViewport.width,e.visualViewport.height);if(e?.innerWidth&&e.innerHeight)return new U(e.innerWidth,e.innerHeight);if(f.body&&f.body.clientWidth&&f.body.clientHeight)return new U(f.body.clientWidth,f.body.clientHeight);if(f.documentElement&&f.documentElement.clientWidth&&f.documentElement.clientHeight)return new U(f.documentElement.clientWidth,f.documentElement.clientHeight);if(d)return a(d,c);if(c)return c;throw Error("Unable to figure out browser width and height")},un:()=>J,vT:()=>aI,w5:()=>ax,w_:()=>F,wk:()=>av,xZ:()=>ao,xb:()=>N,y6:()=>$,yD:()=>aQ,zK:()=>au,zk:()=>v});var f,g,h=c(88637),i=c(93353),j=c(31662),k=c(21280),l=c(40565),m=c(88347),n=c(60734),o=c(11314),p=c(18920),q=c(56167),r=c(81040),s=c(29813),t=c(43589);let{registerWindow:u,getWindow:v,getDocument:w,getWindows:x,getWindowsCount:y,getWindowId:z,getWindowById:A,hasWindow:B,onDidRegisterWindow:C,onWillUnregisterWindow:D,onDidUnregisterWindow:E}=function(){let a=new Map;(0,s.y)(s.G,1);let b={window:s.G,disposables:new o.Cm};a.set(s.G.vscodeWindowId,b);let c=new n.vl,d=new n.vl,e=new n.vl;return{onDidRegisterWindow:c.event,onWillUnregisterWindow:e.event,onDidUnregisterWindow:d.event,registerWindow(b){if(a.has(b.vscodeWindowId))return o.jG.None;let f=new o.Cm,g={window:b,disposables:f.add(new o.Cm)};return a.set(b.vscodeWindowId,g),f.add((0,o.s)(()=>{a.delete(b.vscodeWindowId),d.fire(b)})),f.add(H(b,ar.BEFORE_UNLOAD,()=>{e.fire(b)})),c.fire(g),f},getWindows:()=>a.values(),getWindowsCount:()=>a.size,getWindowId:a=>a.vscodeWindowId,hasWindow:b=>a.has(b),getWindowById:function(c,d){return("number"==typeof c?a.get(c):void 0)??(d?b:void 0)},getWindow:a=>a?.ownerDocument?.defaultView?a.ownerDocument.defaultView.window:a?.view?a.view.window:s.G,getDocument:a=>v(a).document}}();function F(a){for(;a.firstChild;)a.firstChild.remove()}class G{constructor(a,b,c,d){this._node=a,this._type=b,this._handler=c,this._options=d||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function H(a,b,c,d){return new G(a,b,c,d)}function I(a,b){return function(c){return b(new k.P(a,c))}}let J=function(a,b,c,d){let e=c;if("click"===b||"mousedown"===b||"contextmenu"===b)e=I(v(a),c);else("keydown"===b||"keypress"===b||"keyup"===b)&&(e=function(a){return c(new j.Z(a))});return H(a,b,e,d)},K=function(a,b,c){let d=I(v(a),b);return L(a,d,c)};function L(a,b,c){return H(a,q.un&&i.e.pointerEvents?ar.POINTER_DOWN:ar.MOUSE_DOWN,b,c)}function M(a,b,c){return H(a,q.un&&i.e.pointerEvents?ar.POINTER_MOVE:ar.MOUSE_MOVE,b,c)}function N(a,b,c){return H(a,q.un&&i.e.pointerEvents?ar.POINTER_UP:ar.MOUSE_UP,b,c)}function O(a,b,c){return(0,l.b7)(a,b,c)}class P extends l.A0{constructor(a,b){super(a,b)}}class Q extends l.vb{constructor(a){super(),this.defaultTarget=a&&v(a)}cancelAndSet(a,b,c){return super.cancelAndSet(a,b,c??this.defaultTarget)}}class R{constructor(a,b=0){this._runner=a,this.priority=b,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(a){(0,m.dz)(a)}}static sort(a,b){return b.priority-a.priority}}function S(a){return v(a).getComputedStyle(a,null)}!function(){let a=new Map,b=new Map,c=new Map,f=new Map;e=(d,e,g=0)=>{let h=z(d),i=new R(e,g),j=a.get(h);return j||(j=[],a.set(h,j)),j.push(i),c.get(h)||(c.set(h,!0),d.requestAnimationFrame(()=>(d=>{c.set(d,!1);let e=a.get(d)??[];for(b.set(d,e),a.set(d,[]),f.set(d,!0);e.length>0;)e.sort(R.sort),e.shift().execute();f.set(d,!1)})(h))),i},d=(a,c,d)=>{let g=z(a);if(!f.get(g))return e(a,c,d);{let a=new R(c,d),e=b.get(g);return e||(e=[],b.set(g,e)),e.push(a),a}}}();class T{static convertToPixels(a,b){return parseFloat(b)||0}static getDimension(a,b){let c=S(a),d=c?c.getPropertyValue(b):"0";return T.convertToPixels(a,d)}static getBorderLeftWidth(a){return T.getDimension(a,"border-left-width")}static getBorderRightWidth(a){return T.getDimension(a,"border-right-width")}static getBorderTopWidth(a){return T.getDimension(a,"border-top-width")}static getBorderBottomWidth(a){return T.getDimension(a,"border-bottom-width")}static getPaddingLeft(a){return T.getDimension(a,"padding-left")}static getPaddingRight(a){return T.getDimension(a,"padding-right")}static getPaddingTop(a){return T.getDimension(a,"padding-top")}static getPaddingBottom(a){return T.getDimension(a,"padding-bottom")}static getMarginLeft(a){return T.getDimension(a,"margin-left")}static getMarginTop(a){return T.getDimension(a,"margin-top")}static getMarginRight(a){return T.getDimension(a,"margin-right")}static getMarginBottom(a){return T.getDimension(a,"margin-bottom")}}class U{static{this.None=new U(0,0)}constructor(a,b){this.width=a,this.height=b}with(a=this.width,b=this.height){return a!==this.width||b!==this.height?new U(a,b):this}static is(a){return"object"==typeof a&&"number"==typeof a.height&&"number"==typeof a.width}static lift(a){return a instanceof U?a:new U(a.width,a.height)}static equals(a,b){return a===b||!!a&&!!b&&a.width===b.width&&a.height===b.height}}function V(a){let b=a.offsetParent,c=a.offsetTop,d=a.offsetLeft;for(;null!==(a=a.parentNode)&&a!==a.ownerDocument.body&&a!==a.ownerDocument.documentElement;){c-=a.scrollTop;let e=ad(a)?null:S(a);e&&(d-="rtl"!==e.direction?a.scrollLeft:-a.scrollLeft),a===b&&(d+=T.getBorderLeftWidth(a),c+=T.getBorderTopWidth(a),c+=a.offsetTop,d+=a.offsetLeft,b=a.offsetParent)}return{left:d,top:c}}function W(a,b,c){"number"==typeof b&&(a.style.width=`${b}px`),"number"==typeof c&&(a.style.height=`${c}px`)}function X(a){let b=a.getBoundingClientRect(),c=v(a);return{left:b.left+c.scrollX,top:b.top+c.scrollY,width:b.width,height:b.height}}function Y(a){let b=a,c=1;do{let a=S(b).zoom;null!=a&&"1"!==a&&(c*=a),b=b.parentElement}while(null!==b&&b!==b.ownerDocument.documentElement);return c}function Z(a){let b=T.getMarginLeft(a)+T.getMarginRight(a);return a.offsetWidth+b}function $(a){let b=T.getBorderLeftWidth(a)+T.getBorderRightWidth(a),c=T.getPaddingLeft(a)+T.getPaddingRight(a);return a.offsetWidth-b-c}function _(a){let b=T.getBorderTopWidth(a)+T.getBorderBottomWidth(a),c=T.getPaddingTop(a)+T.getPaddingBottom(a);return a.offsetHeight-b-c}function aa(a){let b=T.getMarginTop(a)+T.getMarginBottom(a);return a.offsetHeight+b}function ab(a,b){return!!b?.contains(a)}function ac(a,b,c){return!!function(a,b,c){for(;a&&a.nodeType===a.ELEMENT_NODE;){if(a.classList.contains(b))return a;if(c){if("string"==typeof c){if(a.classList.contains(c))break}else if(a===c)break}a=a.parentNode}return null}(a,b,c)}function ad(a){return a&&!!a.host&&!!a.mode}function ae(a){return!!af(a)}function af(a){for(;a.parentNode;){if(a===a.ownerDocument?.body)return null;a=a.parentNode}return ad(a)?a:null}function ag(){let a=aj().activeElement;for(;a?.shadowRoot;)a=a.shadowRoot.activeElement;return a}function ah(a){return ag()===a}function ai(a){return ab(ag(),a)}function aj(){return 1>=y()?s.G.document:Array.from(x()).map(({window:a})=>a.document).find(a=>a.hasFocus())??s.G.document}function ak(){let a=aj();return a.defaultView?.window??s.G}let al=new class{constructor(){this.mutationObservers=new Map}observe(a,b,c){let d=this.mutationObservers.get(a);d||(d=new Map,this.mutationObservers.set(a,d));let e=(0,r.tW)(c),f=d.get(e);if(f)f.users+=1;else{let g=new n.vl,h=new MutationObserver(a=>g.fire(a));h.observe(a,c);let i=f={users:1,observer:h,onDidMutate:g.event};b.add((0,o.s)(()=>{i.users-=1,0===i.users&&(g.dispose(),h.disconnect(),d?.delete(e),d?.size===0&&this.mutationObservers.delete(a))})),d.set(e,f)}return f.onDidMutate}};function am(a){return a instanceof HTMLElement||a instanceof v(a).HTMLElement}function an(a){return a instanceof HTMLAnchorElement||a instanceof v(a).HTMLAnchorElement}function ao(a){return a instanceof SVGElement||a instanceof v(a).SVGElement}function ap(a){return a instanceof MouseEvent||a instanceof v(a).MouseEvent}function aq(a){return a instanceof KeyboardEvent||a instanceof v(a).KeyboardEvent}let ar={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:h.Tc?"webkitAnimationStart":"animationstart",ANIMATION_END:h.Tc?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:h.Tc?"webkitAnimationIteration":"animationiteration"};function as(a){return!!(a&&"function"==typeof a.preventDefault&&"function"==typeof a.stopPropagation)}let at={stop:(a,b)=>(a.preventDefault(),b&&a.stopPropagation(),a)};function au(a){let b=[];for(let c=0;a&&a.nodeType===a.ELEMENT_NODE;c++)b[c]=a.scrollTop,a=a.parentNode;return b}function av(a,b){for(let c=0;a&&a.nodeType===a.ELEMENT_NODE;c++)a.scrollTop!==b[c]&&(a.scrollTop=b[c]),a=a.parentNode}class aw extends o.jG{get onDidFocus(){return this._onDidFocus.event}get onDidBlur(){return this._onDidBlur.event}static hasFocusWithin(a){if(!am(a))return ab(a.document.activeElement,a.document);{let b=af(a);return ab(b?b.activeElement:a.ownerDocument.activeElement,a)}}constructor(a){super(),this._onDidFocus=this._register(new n.vl),this._onDidBlur=this._register(new n.vl);let b=aw.hasFocusWithin(a),c=!1,d=()=>{c=!1,b||(b=!0,this._onDidFocus.fire())},e=()=>{b&&(c=!0,(am(a)?v(a):a).setTimeout(()=>{c&&(c=!1,b=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{aw.hasFocusWithin(a)!==b&&(b?e():d())},this._register(H(a,ar.FOCUS,d,!0)),this._register(H(a,ar.BLUR,e,!0)),am(a)&&(this._register(H(a,ar.FOCUS_IN,()=>this._refreshStateHandler())),this._register(H(a,ar.FOCUS_OUT,()=>this._refreshStateHandler())))}}function ax(a){return new aw(a)}function ay(a,b){return a.after(b),b}function az(a,...b){if(a.append(...b),1===b.length&&"string"!=typeof b[0])return b[0]}function aA(a,b){return a.insertBefore(b,a.firstChild),b}function aB(a,...b){a.textContent="",az(a,...b)}let aC=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function aD(a,b,c,...d){let e,g=aC.exec(b);if(!g)throw Error("Bad use of emmet");let h=g[1]||"div";return e=a!==f.HTML?document.createElementNS(a,h):document.createElement(h),g[3]&&(e.id=g[3]),g[4]&&(e.className=g[4].replace(/\./g," ").trim()),c&&Object.entries(c).forEach(([a,b])=>{void 0!==b&&(/^on\w+$/.test(a)?e[a]=b:"selected"===a?b&&e.setAttribute(a,"true"):e.setAttribute(a,b))}),e.append(...d),e}function aE(a,b,...c){return aD(f.HTML,a,b,...c)}function aF(a,...b){a?aG(...b):aH(...b)}function aG(...a){for(let b of a)b.style.display="",b.removeAttribute("aria-hidden")}function aH(...a){for(let b of a)b.style.display="none",b.setAttribute("aria-hidden","true")}function aI(a,b){return Math.max(1,Math.floor(a.devicePixelRatio*b))/a.devicePixelRatio}function aJ(a){s.G.open(a,"_blank","noopener")}function aK(a,b){let c=()=>{b(),d=e(a,c)},d=e(a,c);return(0,o.s)(()=>d.dispose())}!function(a){a.HTML="http://www.w3.org/1999/xhtml",a.SVG="http://www.w3.org/2000/svg"}(f||(f={})),aE.SVG=function(a,b,...c){return aD(f.SVG,a,b,...c)},p.Ez.setPreferredWebSchema(/^https:/.test(s.G.location.href)?"https":"http");class aL extends n.vl{constructor(){super(),this._subscriptions=new o.Cm,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(n.Jh.runAndSubscribe(C,({window:a,disposables:b})=>this.registerListeners(a,b),{window:s.G,disposables:this._subscriptions}))}registerListeners(a,b){b.add(H(a,"keydown",a=>{if(a.defaultPrevented)return;let b=new j.Z(a);if(6!==b.keyCode||!a.repeat){if(a.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(a.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(a.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(a.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===b.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=a.altKey,this._keyStatus.ctrlKey=a.ctrlKey,this._keyStatus.metaKey=a.metaKey,this._keyStatus.shiftKey=a.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=a,this.fire(this._keyStatus))}},!0)),b.add(H(a,"keyup",a=>{!a.defaultPrevented&&(!a.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!a.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!a.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!a.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=a.altKey,this._keyStatus.ctrlKey=a.ctrlKey,this._keyStatus.metaKey=a.metaKey,this._keyStatus.shiftKey=a.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=a,this.fire(this._keyStatus)))},!0)),b.add(H(a.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),b.add(H(a.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),b.add(H(a.document.body,"mousemove",a=>{a.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),b.add(H(a,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return aL.instance||(aL.instance=new aL),aL.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class aM extends o.jG{constructor(a,b){super(),this.element=a,this.callbacks=b,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(H(this.element,ar.DRAG_START,a=>{this.callbacks.onDragStart?.(a)})),this.callbacks.onDrag&&this._register(H(this.element,ar.DRAG,a=>{this.callbacks.onDrag?.(a)})),this._register(H(this.element,ar.DRAG_ENTER,a=>{this.counter++,this.dragStartTime=a.timeStamp,this.callbacks.onDragEnter?.(a)})),this._register(H(this.element,ar.DRAG_OVER,a=>{a.preventDefault(),this.callbacks.onDragOver?.(a,a.timeStamp-this.dragStartTime)})),this._register(H(this.element,ar.DRAG_LEAVE,a=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(a))})),this._register(H(this.element,ar.DRAG_END,a=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(a)})),this._register(H(this.element,ar.DROP,a=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(a)}))}}let aN=/(?<tag>[\w\-]+)?(?:#(?<id>[\w\-]+))?(?<class>(?:\.(?:[\w\-]+))*)(?:@(?<name>(?:[\w\_])+))?/;function aO(a,...b){let c,d;Array.isArray(b[0])?(c={},d=b[0]):(c=b[0]||{},d=b[1]);let e=aN.exec(a);if(!e||!e.groups)throw Error("Bad use of h");let f=e.groups.tag||"div",g=document.createElement(f);e.groups.id&&(g.id=e.groups.id);let h=[];if(e.groups.class)for(let a of e.groups.class.split("."))""!==a&&h.push(a);if(void 0!==c.className)for(let a of c.className.split("."))""!==a&&h.push(a);h.length>0&&(g.className=h.join(" "));let i={};if(e.groups.name&&(i[e.groups.name]=g),d)for(let a of d)am(a)?g.appendChild(a):"string"==typeof a?g.append(a):"root"in a&&(Object.assign(i,a),g.appendChild(a.root));for(let[a,b]of Object.entries(c))if("className"===a)continue;else if("style"===a)for(let[a,c]of Object.entries(b))g.style.setProperty(aP(a),"number"==typeof c?c+"px":""+c);else"tabIndex"===a?g.tabIndex=b:g.setAttribute(aP(a),b.toString());return i.root=g,i}function aP(a){return a.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function aQ(a){return"input"===a.tagName.toLowerCase()||"textarea"===a.tagName.toLowerCase()||am(a)&&!!a.editContext}!function(a){function b(a){return(b,c,d)=>{let e=c.class;delete c.class;let f=c.ref;delete c.ref;let g=c.obsRef;return delete c.obsRef,new aW(b,f,g,a,e,c,d)}}function c(a,c){let d=b(c);return(b,c)=>d(a,b,c)}a.div=c("div"),a.elem=b(void 0),a.svg=c("svg","http://www.w3.org/2000/svg"),a.svgElem=b("http://www.w3.org/2000/svg"),a.ref=function(){let a,b=function(b){a=b};return Object.defineProperty(b,"element",{get(){if(!a)throw new m.D7("Make sure the ref is set before accessing the element. Maybe wrong initialization order?");return a}}),b}}(g||(g={}));class aR{constructor(a,b,c,d,e,f,g){for(let[g,h]of(this._deriveds=[],this._element=d?document.createElementNS(d,a):document.createElement(a),b&&b(this._element),c&&this._deriveds.push((0,t.un)(a=>{c(this),a.store.add({dispose:()=>{c(null)}})})),e&&(!function a(b){return!!aY(b)||!!Array.isArray(b)&&b.some(b=>a(b))}(e)?aS(this._element,aT(e,void 0)):this._deriveds.push((0,t.un)(this,a=>{aS(this._element,aT(e,a))}))),Object.entries(f)))if("style"===g)for(let[a,b]of Object.entries(h)){let c=aP(a);aY(b)?this._deriveds.push((0,t.C)({owner:this,debugName:()=>`set.style.${c}`},a=>{this._element.style.setProperty(c,aU(b.read(a)))})):this._element.style.setProperty(c,aU(b))}else"tabIndex"===g?aY(h)?this._deriveds.push((0,t.un)(this,a=>{this._element.tabIndex=h.read(a)})):this._element.tabIndex=h:g.startsWith("on")?this._element[g]=h:aY(h)?this._deriveds.push((0,t.C)({owner:this,debugName:()=>`set.${g}`},a=>{aX(this._element,g,h.read(a))})):aX(this._element,g,h);if(g){let a=(0,t.un)(this,a=>{this._element.replaceChildren(...function a(b,c){return aY(c)?a(b,c.read(b)):Array.isArray(c)?c.flatMap(c=>a(b,c)):c instanceof aR?(b&&c.readEffect(b),[c._element]):c?[c]:[]}(a,g))});this._deriveds.push(a),!function a(b){return!!aY(b)||!!Array.isArray(b)&&b.some(b=>a(b))}(g)&&a.get()}}readEffect(a){for(let b of this._deriveds)b.read(a)}keepUpdated(a){return(0,t.un)(a=>{this.readEffect(a)}).recomputeInitiallyAndOnChange(a),this}toDisposableLiveElement(){let a=new o.Cm;return this.keepUpdated(a),new aV(this._element,a)}}function aS(a,b){ao(a)?a.setAttribute("class",b):a.className=b}function aT(a,b){let c="";return!function a(b,c,d){if(aY(b))return void d(b.read(c));if(Array.isArray(b)){for(let e of b)a(e,c,d);return}d(b)}(a,b,a=>{a&&(0===c.length?c=a:c+=" "+a)}),c}function aU(a){return"number"==typeof a?a+"px":a}class aV{constructor(a,b){this.element=a,this._disposable=b}dispose(){this._disposable.dispose()}}class aW extends aR{constructor(){super(...arguments),this._isHovered=void 0,this._didMouseMoveDuringHover=void 0}get element(){return this._element}get isHovered(){if(!this._isHovered){let a=(0,t.FY)("hovered",!1);this._element.addEventListener("mouseenter",b=>a.set(!0,void 0)),this._element.addEventListener("mouseleave",b=>a.set(!1,void 0)),this._isHovered=a}return this._isHovered}get didMouseMoveDuringHover(){if(!this._didMouseMoveDuringHover){let a=!1,b=(0,t.FY)("didMouseMoveDuringHover",!1);this._element.addEventListener("mouseenter",b=>{a=!0}),this._element.addEventListener("mousemove",c=>{a&&b.set(!0,void 0)}),this._element.addEventListener("mouseleave",c=>{a=!1,b.set(!1,void 0)}),this._didMouseMoveDuringHover=b}return this._didMouseMoveDuringHover}}function aX(a,b,c){null==c?a.removeAttribute(aP(b)):a.setAttribute(aP(b),String(c))}function aY(a){return!!a&&void 0!==a.read&&void 0!==a.reportChanges}},32723:(a,b,c)=>{"use strict";c.d(b,{b6:()=>f,of:()=>h});var d=c(94548),e=c(43589);function f(a,b){var c,f;return c=[a],f=b,(0,d.e)()&&(0,e.yQ)("reload",a=>(0,d.O)(({oldExports:b})=>{if([...Object.values(b)].some(a=>c.includes(a)))return b=>(a(void 0),!0)})).read(f),a}let g=new Map;function h(a){if(!(0,d.e)())return(0,e.lk)(a);let b=a.name,c=g.get(b);return c?setTimeout(()=>{c.set(a,void 0)},0):(c=(0,e.FY)(b,a),g.set(b,c)),c}},32765:(a,b,c)=>{"use strict";c.d(b,{f:()=>k});var d=c(99695),e=c(56167),f=c(70511),g=c(61059),h=c(11314),i=c(71373);class j{constructor(){this._coreKeybindings=new i.w,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(a){if(1===e.OS){if(a&&a.win)return a.win}else if(2===e.OS){if(a&&a.mac)return a.mac}else if(a&&a.linux)return a.linux;return a}registerKeybindingRule(a){let b=j.bindToCurrentPlatform(a),c=new h.Cm;if(b&&b.primary){let f=(0,d.Zv)(b.primary,e.OS);f&&c.add(this._registerDefaultKeybinding(f,a.id,a.args,a.weight,0,a.when))}if(b&&Array.isArray(b.secondary))for(let f=0,g=b.secondary.length;f<g;f++){let g=b.secondary[f],h=(0,d.Zv)(g,e.OS);h&&c.add(this._registerDefaultKeybinding(h,a.id,a.args,a.weight,-f-1,a.when))}return c}registerCommandAndKeybindingRule(a){return(0,h.qE)(this.registerKeybindingRule(a),f.w.registerCommand(a))}_registerDefaultKeybinding(a,b,c,d,e,f){let g=this._coreKeybindings.push({keybinding:a,command:b,commandArgs:c,when:f,weight1:d,weight2:e,extensionId:null,isBuiltinExtension:!1});return this._cachedMergedKeybindings=null,(0,h.s)(()=>{g(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(l)),this._cachedMergedKeybindings.slice(0)}}let k=new j;function l(a,b){if(a.weight1!==b.weight1)return a.weight1-b.weight1;if(a.command&&b.command){if(a.command<b.command)return -1;if(a.command>b.command)return 1}return a.weight2-b.weight2}g.O.add("platform.keybindingsRegistry",k)},32793:(a,b,c)=>{"use strict";c.d(b,{L:()=>f.LN,a:()=>f.aG});var d=c(3773),e=c(95299),f=c(69871),g=c(48363);(0,f.uO)({StringEdit:d.c7,StringReplacement:d.aQ,TextReplacement:e.W,TextEdit:e.m,TextLength:g.W})},32901:(a,b,c)=>{"use strict";c.d(b,{r4:()=>E,Yl:()=>G});var d,e=c(40565),f=c(14635),g=c(11314),h=c(43589),i=c(63090),j=c(29715),k=c(60734),l=c(34509),m=c(31512),n=c(36463),o=c(65320),p=c(91295),q=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},r=function(a,b){return function(c,d){b(c,d,a)}};let s=(0,j.u1)("diffProviderFactoryService"),t=class{constructor(a){this.instantiationService=a}createDiffProvider(a){return this.instantiationService.createInstance(u,a)}};t=q([r(0,j._Y)],t),(0,i.v)(s,t,1);let u=class{static{d=this}static{this.diffCache=new Map}constructor(a,b,c){this.editorWorkerService=b,this.telemetryService=c,this.onDidChangeEventEmitter=new k.vl,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(a)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(a,b,c,e){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(a,b,c,e);if(a.isDisposed()||b.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===a.getLineCount()&&1===a.getLineMaxColumn(1))return 1===b.getLineCount()&&1===b.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new n.wm(new m.M(1,2),new m.M(1,b.getLineCount()+1),[new n.q6(a.getFullModelRange(),b.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};let f=JSON.stringify([a.uri.toString(),b.uri.toString()]),g=JSON.stringify([a.id,b.id,a.getAlternativeVersionId(),b.getAlternativeVersionId(),JSON.stringify(c)]),h=d.diffCache.get(f);if(h&&h.context===g)return h.result;let i=l.W.create(),j=await this.editorWorkerService.computeDiff(a.uri,b.uri,c,this.diffAlgorithm),k=i.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:k,timedOut:j?.quitEarly??!0,detectedMoves:c.computeMoves?j?.moves.length??0:-1}),e.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!j)throw Error("no diff result available");return d.diffCache.size>10&&d.diffCache.delete(d.diffCache.keys().next().value),d.diffCache.set(f,{result:j,context:g}),j}setOptions(a){let b=!1;a.diffAlgorithm&&this.diffAlgorithm!==a.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=a.diffAlgorithm,"string"!=typeof a.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=a.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),b=!0),b&&this.onDidChangeEventEmitter.fire()}};u=d=q([r(1,o.w),r(2,p.k)],u);var v=c(8992),w=c(32723),x=c(2884),y=c(88662),z=c(41500),A=c(27706),B=c(46339),C=c(54734),D=c(22450);let E=class extends g.jG{setActiveMovedText(a){this._activeMovedText.set(a,void 0)}constructor(a,b,c){super(),this.model=a,this._options=b,this._diffProviderFactoryService=c,this._isDiffUpToDate=(0,h.FY)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,h.FY)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,h.FY)(this,void 0),this.unchangedRegions=(0,h.un)(this,a=>this._options.hideUnchangedRegions.read(a)?this._unchangedRegions.read(a)?.regions??[]:((0,h.Rn)(a=>{for(let b of this._unchangedRegions.read(void 0)?.regions||[])b.collapseAll(a)}),[])),this.movedTextToCompare=(0,h.FY)(this,void 0),this._activeMovedText=(0,h.FY)(this,void 0),this._hoveredMovedText=(0,h.FY)(this,void 0),this.activeMovedText=(0,h.un)(this,a=>this.movedTextToCompare.read(a)??this._hoveredMovedText.read(a)??this._activeMovedText.read(a)),this._cancellationTokenSource=new f.Qi,this._diffProvider=(0,h.un)(this,a=>{let b=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(a)}),c=(0,h.yQ)("onDidChange",b.onDidChange);return{diffProvider:b,onChangeSignal:c}}),this._register((0,g.s)(()=>this._cancellationTokenSource.cancel()));let d=(0,h.Yd)("contentChangedSignal"),i=this._register(new e.uC(()=>d.trigger(void 0),200));this._register((0,h.fm)(b=>{let c=this._unchangedRegions.read(b);if(!c||c.regions.some(a=>a.isDragged.read(b)))return;let d=c.originalDecorationIds.map(b=>a.original.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),e=c.modifiedDecorationIds.map(b=>a.modified.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),f=c.regions.map((a,c)=>d[c]&&e[c]?new H(d[c].startLineNumber,e[c].startLineNumber,d[c].length,a.visibleLineCountTop.read(b),a.visibleLineCountBottom.read(b)):void 0).filter(B.O9),g=[],i=!1;for(let a of(0,C.n)(f,(a,c)=>a.getHiddenModifiedRange(b).endLineNumberExclusive===c.getHiddenModifiedRange(b).startLineNumber))if(a.length>1){i=!0;let b=a.reduce((a,b)=>a+b.lineCount,0),c=new H(a[0].originalLineNumber,a[0].modifiedLineNumber,b,a[0].visibleLineCountTop.read(void 0),a[a.length-1].visibleLineCountBottom.read(void 0));g.push(c)}else g.push(a[0]);if(i){let b=a.original.deltaDecorations(c.originalDecorationIds,g.map(a=>({range:a.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),d=a.modified.deltaDecorations(c.modifiedDecorationIds,g.map(a=>({range:a.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,h.Rn)(a=>{this._unchangedRegions.set({regions:g,originalDecorationIds:b,modifiedDecorationIds:d},a)})}}));let j=(b,c,d)=>{let e,f=H.fromDiffs(b.changes,a.original.getLineCount(),a.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(d),this._options.hideUnchangedRegionsContextLineCount.read(d)),g=this._unchangedRegions.get();if(g){let b=g.originalDecorationIds.map(b=>a.original.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),c=g.modifiedDecorationIds.map(b=>a.modified.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),f=(0,v.EK)(g.regions.map((a,d)=>{if(!b[d]||!c[d])return;let e=b[d].length;return new H(b[d].startLineNumber,c[d].startLineNumber,e,Math.min(a.visibleLineCountTop.get(),e),Math.min(a.visibleLineCountBottom.get(),e-a.visibleLineCountTop.get()))}).filter(B.O9),(a,b)=>!b||a.modifiedLineNumber>=b.modifiedLineNumber+b.lineCount&&a.originalLineNumber>=b.originalLineNumber+b.lineCount).map(a=>new n.WL(a.getHiddenOriginalRange(d),a.getHiddenModifiedRange(d)));f=n.WL.clip(f,m.M.ofLength(1,a.original.getLineCount()),m.M.ofLength(1,a.modified.getLineCount())),e=n.WL.inverse(f,a.original.getLineCount(),a.modified.getLineCount())}let h=[];if(e)for(let a of f){let b=e.filter(b=>b.original.intersectsStrict(a.originalUnchangedRange)&&b.modified.intersectsStrict(a.modifiedUnchangedRange));h.push(...a.setVisibleRanges(b,c))}else h.push(...f);let i=a.original.deltaDecorations(g?.originalDecorationIds||[],h.map(a=>({range:a.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),j=a.modified.deltaDecorations(g?.modifiedDecorationIds||[],h.map(a=>({range:a.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:h,originalDecorationIds:i,modifiedDecorationIds:j},c)};this._register(a.modified.onDidChangeContent(b=>{if(this._diff.get()){let c=y.c.fromModelContentChanges(b.changes),d=J(this._lastDiff,c,a.original,a.modified);d&&(this._lastDiff=d,(0,h.Rn)(a=>{this._diff.set(F.fromDiffResult(this._lastDiff),a),j(d,a);let b=this.movedTextToCompare.get();this.movedTextToCompare.set(b?this._lastDiff.moves.find(a=>a.lineRangeMapping.modified.intersect(b.lineRangeMapping.modified)):void 0,a)}))}this._isDiffUpToDate.set(!1,void 0),i.schedule()})),this._register(a.original.onDidChangeContent(b=>{if(this._diff.get()){let c=y.c.fromModelContentChanges(b.changes),d=I(this._lastDiff,c,a.original,a.modified);d&&(this._lastDiff=d,(0,h.Rn)(a=>{this._diff.set(F.fromDiffResult(this._lastDiff),a),j(d,a);let b=this.movedTextToCompare.get();this.movedTextToCompare.set(b?this._lastDiff.moves.find(a=>a.lineRangeMapping.modified.intersect(b.lineRangeMapping.modified)):void 0,a)}))}this._isDiffUpToDate.set(!1,void 0),i.schedule()})),this._register((0,h.yC)(async(b,c)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(b),this._options.hideUnchangedRegionsContextLineCount.read(b),i.cancel(),d.read(b);let e=this._diffProvider.read(b);e.onChangeSignal.read(b),(0,w.b6)(x.D,b),(0,w.b6)(A.NC,b),this._isDiffUpToDate.set(!1,void 0);let f=[];c.add(a.original.onDidChangeContent(a=>{let b=y.c.fromModelContentChanges(a.changes);f=(0,z.M)(f,b)}));let g=[];c.add(a.modified.onDidChangeContent(a=>{let b=y.c.fromModelContentChanges(a.changes);g=(0,z.M)(g,b)}));let k=await e.diffProvider.computeDiff(a.original,a.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(b),maxComputationTimeMs:this._options.maxComputationTimeMs.read(b),computeMoves:this._options.showMoves.read(b)},this._cancellationTokenSource.token);!this._cancellationTokenSource.token.isCancellationRequested&&(a.original.isDisposed()||a.modified.isDisposed()||(k=J(k=I(k=function(a,b,c){return{changes:a.changes.map(a=>new n.wm(a.original,a.modified,a.innerChanges?a.innerChanges.map(a=>{var d,e,f;let g,h;return d=a,e=b,f=c,g=d.originalRange,h=d.modifiedRange,1===g.startColumn&&1===h.startColumn&&(1!==g.endColumn||1!==h.endColumn)&&g.endColumn===e.getLineMaxColumn(g.endLineNumber)&&h.endColumn===f.getLineMaxColumn(h.endLineNumber)&&g.endLineNumber<e.getLineCount()&&h.endLineNumber<f.getLineCount()&&(g=g.setEndPosition(g.endLineNumber+1,1),h=h.setEndPosition(h.endLineNumber+1,1)),new n.q6(g,h)}):void 0)),moves:a.moves,identical:a.identical,quitEarly:a.quitEarly}}(k,a.original,a.modified),f,a.original,a.modified)??k,g,a.original,a.modified)??k,(0,h.Rn)(a=>{j(k,a),this._lastDiff=k;let b=F.fromDiffResult(k);this._diff.set(b,a),this._isDiffUpToDate.set(!0,a);let c=this.movedTextToCompare.read(void 0);this.movedTextToCompare.set(c?this._lastDiff.moves.find(a=>a.lineRangeMapping.modified.intersect(c.lineRangeMapping.modified)):void 0,a)})))}))}ensureModifiedLineIsVisible(a,b,c){if(this.diff.get()?.mappings.length!==0){for(let d of this._unchangedRegions.get()?.regions||[])if(d.getHiddenModifiedRange(void 0).contains(a))return void d.showModifiedLine(a,b,c)}}ensureOriginalLineIsVisible(a,b,c){if(this.diff.get()?.mappings.length!==0){for(let d of this._unchangedRegions.get()?.regions||[])if(d.getHiddenOriginalRange(void 0).contains(a))return void d.showOriginalLine(a,b,c)}}async waitForDiff(){await (0,h.oJ)(this.isDiffUpToDate,a=>a)}serializeState(){let a=this._unchangedRegions.get();return{collapsedRegions:a?.regions.map(a=>({range:a.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(a){let b=a.collapsedRegions?.map(a=>m.M.deserialize(a.range)),c=this._unchangedRegions.get();c&&b&&(0,h.Rn)(a=>{for(let d of c.regions)for(let c of b)if(d.modifiedUnchangedRange.intersect(c)){d.setHiddenModifiedRange(c,a);break}})}};E=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([function(a,b){s(a,b,2)}],E);class F{static fromDiffResult(a){return new F(a.changes.map(a=>new G(a)),a.moves||[],a.identical,a.quitEarly)}constructor(a,b,c,d){this.mappings=a,this.movedTexts=b,this.identical=c,this.quitEarly=d}}class G{constructor(a){this.lineRangeMapping=a}}class H{static fromDiffs(a,b,c,d,e){let f=n.wm.inverse(a,b,c),g=[];for(let a of f){let f=a.original.startLineNumber,h=a.modified.startLineNumber,i=a.original.length,j=1===f&&1===h,k=f+i===b+1&&h+i===c+1;(j||k)&&i>=e+d?(j&&!k&&(i-=e),k&&!j&&(f+=e,h+=e,i-=e),g.push(new H(f,h,i,0,0))):i>=2*e+d&&(f+=e,h+=e,i-=2*e,g.push(new H(f,h,i,0,0)))}return g}get originalUnchangedRange(){return m.M.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return m.M.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(a,b,c,d,e){this.originalLineNumber=a,this.modifiedLineNumber=b,this.lineCount=c,this._visibleLineCountTop=(0,h.FY)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,h.FY)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,h.un)(this,a=>this.visibleLineCountTop.read(a)+this.visibleLineCountBottom.read(a)===this.lineCount&&!this.isDragged.read(a)),this.isDragged=(0,h.FY)(this,void 0);let f=Math.max(Math.min(d,this.lineCount),0),g=Math.max(Math.min(e,this.lineCount-d),0);(0,D.V7)(d===f),(0,D.V7)(e===g),this._visibleLineCountTop.set(f,void 0),this._visibleLineCountBottom.set(g,void 0)}setVisibleRanges(a,b){let c=[],d=new m.S(a.map(a=>a.modified)).subtractFrom(this.modifiedUnchangedRange),e=this.originalLineNumber,f=this.modifiedLineNumber,g=this.modifiedLineNumber+this.lineCount;if(0===d.ranges.length)this.showAll(b),c.push(this);else{let a=0;for(let h of d.ranges){let i=a===d.ranges.length-1;a++;let j=(i?g:h.endLineNumberExclusive)-f,k=new H(e,f,j,0,0);k.setHiddenModifiedRange(h,b),c.push(k),e=k.originalUnchangedRange.endLineNumberExclusive,f=k.modifiedUnchangedRange.endLineNumberExclusive}}return c}shouldHideControls(a){return this._shouldHideControls.read(a)}getHiddenOriginalRange(a){return m.M.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(a),this.lineCount-this._visibleLineCountTop.read(a)-this._visibleLineCountBottom.read(a))}getHiddenModifiedRange(a){return m.M.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(a),this.lineCount-this._visibleLineCountTop.read(a)-this._visibleLineCountBottom.read(a))}setHiddenModifiedRange(a,b){let c=a.startLineNumber-this.modifiedLineNumber,d=this.modifiedLineNumber+this.lineCount-a.endLineNumberExclusive;this.setState(c,d,b)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(a=10,b){let c=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+a,c),b)}showMoreBelow(a=10,b){let c=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+a,c),b)}showAll(a){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),a)}showModifiedLine(a,b,c){let d=a+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),e=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-a;0===b&&d<e||1===b?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+d,c):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+e,c)}showOriginalLine(a,b,c){let d=a-this.originalLineNumber,e=this.originalLineNumber+this.lineCount-a;0===b&&d<e||1===b?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e-d,this.getMaxVisibleLineCountTop()),c):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+d-e,this.getMaxVisibleLineCountBottom()),c)}collapseAll(a){this._visibleLineCountTop.set(0,a),this._visibleLineCountBottom.set(0,a)}setState(a,b,c){a=Math.max(Math.min(a,this.lineCount),0),b=Math.max(Math.min(b,this.lineCount-a),0),this._visibleLineCountTop.set(a,c),this._visibleLineCountBottom.set(b,c)}}function I(a,b,c,d){}function J(a,b,c,d){}},32908:(a,b,c)=>{"use strict";c.d(b,{$C:()=>af,BE:()=>aA,Bc:()=>J,O4:()=>A,Of:()=>am,Vs:()=>ag,XR:()=>al,hZ:()=>p,jT:()=>e,jU:()=>az,ls:()=>x,lw:()=>m,m9:()=>d,n0:()=>n,qB:()=>aC,r_:()=>K,wA:()=>v,xZ:()=>T,xq:()=>l,zM:()=>t});var d,e,f=c(54734),g=c(43310),h=c(56167),i=c(93835),j=c(55866),k=c(25536);let l=8;class m{constructor(a){this._values=a}hasChanged(a){return this._values[a]}}class n{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class o{constructor(a,b,c,d){this.id=a,this.name=b,this.defaultValue=c,this.schema=d}applyUpdate(a,b){return q(a,b)}compute(a,b,c){return c}}class p{constructor(a,b){this.newValue=a,this.didChange=b}}function q(a,b){if("object"!=typeof a||"object"!=typeof b||!a||!b)return new p(b,a!==b);if(Array.isArray(a)||Array.isArray(b)){let c=Array.isArray(a)&&Array.isArray(b)&&f.aI(a,b);return new p(b,!c)}let c=!1;for(let d in b)if(b.hasOwnProperty(d)){let e=q(a[d],b[d]);e.didChange&&(a[d]=e.newValue,c=!0)}return new p(a,c)}class r{constructor(a){this.schema=void 0,this.id=a,this.name="_never_",this.defaultValue=void 0}applyUpdate(a,b){return q(a,b)}validate(a){return this.defaultValue}}class s{constructor(a,b,c,d){this.id=a,this.name=b,this.defaultValue=c,this.schema=d}applyUpdate(a,b){return q(a,b)}validate(a){return void 0===a?this.defaultValue:a}compute(a,b,c){return c}}function t(a,b){return void 0===a?b:"false"!==a&&!!a}class u extends s{constructor(a,b,c,d){void 0!==d&&(d.type="boolean",d.default=c),super(a,b,c,d)}validate(a){return t(a,this.defaultValue)}}function v(a,b,c,d){if(void 0===a)return b;let e=parseInt(a,10);return isNaN(e)?b:0|(e=Math.min(d,e=Math.max(c,e)))}class w extends s{static clampedInt(a,b,c,d){return v(a,b,c,d)}constructor(a,b,c,d,e,f){void 0!==f&&(f.type="integer",f.default=c,f.minimum=d,f.maximum=e),super(a,b,c,f),this.minimum=d,this.maximum=e}validate(a){return w.clampedInt(a,this.defaultValue,this.minimum,this.maximum)}}function x(a,b,c,d){if(void 0===a)return b;let e=y.float(a,b);return y.clamp(e,c,d)}class y extends s{static clamp(a,b,c){return a<b?b:a>c?c:a}static float(a,b){if("number"==typeof a)return a;if(void 0===a)return b;let c=parseFloat(a);return isNaN(c)?b:c}constructor(a,b,c,d,e,f,g){void 0!==e&&(e.type="number",e.default=c,e.minimum=f,e.maximum=g),super(a,b,c,e),this.validationFn=d,this.minimum=f,this.maximum=g}validate(a){return this.validationFn(y.float(a,this.defaultValue))}}class z extends s{static string(a,b){return"string"!=typeof a?b:a}constructor(a,b,c,d){void 0!==d&&(d.type="string",d.default=c),super(a,b,c,d)}validate(a){return z.string(a,this.defaultValue)}}function A(a,b,c,d){return"string"!=typeof a?b:d&&a in d?d[a]:-1===c.indexOf(a)?b:a}class B extends s{constructor(a,b,c,d,e){void 0!==e&&(e.type="string",e.enum=d,e.default=c),super(a,b,c,e),this._allowedValues=d}validate(a){return A(a,this.defaultValue,this._allowedValues)}}class C extends o{constructor(a,b,c,d,e,f,g){void 0!==g&&(g.type="string",g.enum=e,g.default=d),super(a,b,c,g),this._allowedValues=e,this._convert=f}validate(a){return"string"!=typeof a||-1===this._allowedValues.indexOf(a)?this.defaultValue:this._convert(a)}}class D extends o{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[k.kg(198,"Use platform APIs to detect when a Screen Reader is attached."),k.kg(199,"Optimize for usage with a Screen Reader."),k.kg(200,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:k.kg(201,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(a){switch(a){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(a,b,c){return 0===c?a.accessibilitySupport:c}}class E extends o{constructor(){let a={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",a,{"editor.comments.insertSpace":{type:"boolean",default:a.insertSpace,description:k.kg(202,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:a.ignoreEmptyLines,description:k.kg(203,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(a){return a&&"object"==typeof a?{insertSpace:t(a.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:t(a.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}:this.defaultValue}}function F(a){switch(a){case"line":return d.Line;case"block":return d.Block;case"underline":return d.Underline;case"line-thin":return d.LineThin;case"block-outline":return d.BlockOutline;case"underline-thin":return d.UnderlineThin}}!function(a){a[a.Line=1]="Line",a[a.Block=2]="Block",a[a.Underline=3]="Underline",a[a.LineThin=4]="LineThin",a[a.BlockOutline=5]="BlockOutline",a[a.UnderlineThin=6]="UnderlineThin"}(d||(d={}));class G extends r{constructor(){super(162)}compute(a,b,c){let d=["monaco-editor"];return b.get(48)&&d.push(b.get(48)),a.extraEditorClassName&&d.push(a.extraEditorClassName),"default"===b.get(82)?d.push("mouse-default"):"copy"===b.get(82)&&d.push("mouse-copy"),b.get(127)&&d.push("showUnused"),b.get(157)&&d.push("showDeprecated"),d.join(" ")}}class H extends u{constructor(){super(45,"emptySelectionClipboard",!0,{description:k.kg(204,"Controls whether copying without a selection copies the current line.")})}compute(a,b,c){return c&&a.emptySelectionClipboard}}class I extends o{constructor(){let a={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,history:"workspace",replaceHistory:"workspace"};super(50,"find",a,{"editor.find.cursorMoveOnType":{type:"boolean",default:a.cursorMoveOnType,description:k.kg(205,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:a.seedSearchStringFromSelection,enumDescriptions:[k.kg(206,"Never seed search string from the editor selection."),k.kg(207,"Always seed search string from the editor selection, including word at cursor position."),k.kg(208,"Only seed search string from the editor selection.")],description:k.kg(209,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:a.autoFindInSelection,enumDescriptions:[k.kg(210,"Never turn on Find in Selection automatically (default)."),k.kg(211,"Always turn on Find in Selection automatically."),k.kg(212,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:k.kg(213,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:a.globalFindClipboard,description:k.kg(214,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:h.zx},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:a.addExtraSpaceOnTop,description:k.kg(215,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:a.loop,description:k.kg(216,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[k.kg(217,"Do not store search history from the find widget."),k.kg(218,"Store search history across the active workspace")],description:k.kg(219,"Controls how the find widget history should be stored")},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[k.kg(220,"Do not store history from the replace widget."),k.kg(221,"Store replace history across the active workspace")],description:k.kg(222,"Controls how the replace widget history should be stored")},"editor.find.findOnType":{type:"boolean",default:a.findOnType,description:k.kg(223,"Controls whether the Find Widget should search as you type.")}})}validate(a){return a&&"object"==typeof a?{cursorMoveOnType:t(a.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:t(a.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:"boolean"==typeof a.seedSearchStringFromSelection?a.seedSearchStringFromSelection?"always":"never":A(a.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof a.autoFindInSelection?a.autoFindInSelection?"always":"never":A(a.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:t(a.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:t(a.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:t(a.loop,this.defaultValue.loop),history:A(a.history,this.defaultValue.history,["never","workspace"]),replaceHistory:A(a.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}:this.defaultValue}}class J extends o{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(60,"fontLigatures",J.OFF,{anyOf:[{type:"boolean",description:k.kg(224,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:k.kg(225,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:k.kg(226,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(a){return void 0===a?this.defaultValue:"string"==typeof a?"false"===a||0===a.length?J.OFF:"true"===a?J.ON:a:a?J.ON:J.OFF}}class K extends o{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(63,"fontVariations",K.OFF,{anyOf:[{type:"boolean",description:k.kg(227,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:k.kg(228,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:k.kg(229,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(a){return void 0===a?this.defaultValue:"string"==typeof a?"false"===a?K.OFF:"true"===a?K.TRANSLATE:a:a?K.TRANSLATE:K.OFF}compute(a,b,c){return a.fontInfo.fontVariationSettings}}class L extends r{constructor(){super(59)}compute(a,b,c){return a.fontInfo}}class M extends r{constructor(){super(161)}compute(a,b,c){return"overtype"===a.inputMode?b.get(92):b.get(34)}}class N extends r{constructor(){super(170)}compute(a,b){return a.editContextSupported&&b.get(44)}}class O extends r{constructor(){super(172)}compute(a,b){return 2===a.accessibilitySupport?b.get(7):b.get(6)}}class P extends s{constructor(){super(61,"fontSize",az.fontSize,{type:"number",minimum:6,maximum:100,default:az.fontSize,description:k.kg(230,"Controls the font size in pixels.")})}validate(a){let b=y.float(a,this.defaultValue);return 0===b?az.fontSize:y.clamp(b,6,100)}compute(a,b,c){return a.fontInfo.fontSize}}class Q extends o{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,"fontWeight",az.fontWeight,{anyOf:[{type:"number",minimum:Q.MINIMUM_VALUE,maximum:Q.MAXIMUM_VALUE,errorMessage:k.kg(231,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Q.SUGGESTION_VALUES}],default:az.fontWeight,description:k.kg(232,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(a){return"normal"===a||"bold"===a?a:String(w.clampedInt(a,az.fontWeight,Q.MINIMUM_VALUE,Q.MAXIMUM_VALUE))}}class R extends o{constructor(){let a={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},b={type:"string",enum:["peek","gotoAndPeek","goto"],default:a.multiple,enumDescriptions:[k.kg(233,"Show Peek view of the results (default)"),k.kg(234,"Go to the primary result and show a Peek view"),k.kg(235,"Go to the primary result and enable Peek-less navigation to others")]},c=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",a,{"editor.gotoLocation.multiple":{deprecationMessage:k.kg(236,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:k.kg(237,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleTypeDefinitions":{description:k.kg(238,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleDeclarations":{description:k.kg(239,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleImplementations":{description:k.kg(240,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleReferences":{description:k.kg(241,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...b},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:a.alternativeDefinitionCommand,enum:c,description:k.kg(242,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:a.alternativeTypeDefinitionCommand,enum:c,description:k.kg(243,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:a.alternativeDeclarationCommand,enum:c,description:k.kg(244,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:a.alternativeImplementationCommand,enum:c,description:k.kg(245,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:a.alternativeReferenceCommand,enum:c,description:k.kg(246,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(a){return a&&"object"==typeof a?{multiple:A(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:a.multipleDefinitions??A(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:a.multipleTypeDefinitions??A(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:a.multipleDeclarations??A(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:a.multipleImplementations??A(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:a.multipleReferences??A(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:a.multipleTests??A(a.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:z.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:z.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:z.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:z.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:z.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:z.string(a.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}:this.defaultValue}}class S extends o{constructor(){let a={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(69,"hover",a,{"editor.hover.enabled":{type:"boolean",default:a.enabled,description:k.kg(247,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:a.delay,minimum:0,maximum:1e4,description:k.kg(248,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:a.sticky,description:k.kg(249,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:a.hidingDelay,markdownDescription:k.kg(250,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:"boolean",default:a.above,description:k.kg(251,"Prefer showing hovers above the line, if there's space.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),delay:w.clampedInt(a.delay,this.defaultValue.delay,0,1e4),sticky:t(a.sticky,this.defaultValue.sticky),hidingDelay:w.clampedInt(a.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:t(a.above,this.defaultValue.above)}:this.defaultValue}}class T extends r{constructor(){super(165)}compute(a,b,c){return T.computeLayout(b,{memory:a.memory,outerWidth:a.outerWidth,outerHeight:a.outerHeight,isDominatedByLongLines:a.isDominatedByLongLines,lineHeight:a.fontInfo.lineHeight,viewLineCount:a.viewLineCount,lineNumbersDigitCount:a.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:a.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:a.fontInfo.maxDigitWidth,pixelRatio:a.pixelRatio,glyphMarginDecorationLaneCount:a.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(a){let b=a.height/a.lineHeight,c=Math.floor(a.paddingTop/a.lineHeight),d=Math.floor(a.paddingBottom/a.lineHeight);a.scrollBeyondLastLine&&(d=Math.max(d,b-1));let e=(c+a.viewLineCount+d)/(a.pixelRatio*a.height),f=Math.floor(a.viewLineCount/e);return{typicalViewportLineCount:b,extraLinesBeforeFirstLine:c,extraLinesBeyondLastLine:d,desiredRatio:e,minimapLineCount:f}}static _computeMinimapLayout(a,b){let c=a.outerWidth,d=a.outerHeight,e=a.pixelRatio;if(!a.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(e*d),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:d};let f=b.stableMinimapLayoutInput,g=f&&a.outerHeight===f.outerHeight&&a.lineHeight===f.lineHeight&&a.typicalHalfwidthCharacterWidth===f.typicalHalfwidthCharacterWidth&&a.pixelRatio===f.pixelRatio&&a.scrollBeyondLastLine===f.scrollBeyondLastLine&&a.paddingTop===f.paddingTop&&a.paddingBottom===f.paddingBottom&&a.minimap.enabled===f.minimap.enabled&&a.minimap.side===f.minimap.side&&a.minimap.size===f.minimap.size&&a.minimap.showSlider===f.minimap.showSlider&&a.minimap.renderCharacters===f.minimap.renderCharacters&&a.minimap.maxColumn===f.minimap.maxColumn&&a.minimap.scale===f.minimap.scale&&a.verticalScrollbarWidth===f.verticalScrollbarWidth&&a.isViewportWrapping===f.isViewportWrapping,h=a.lineHeight,i=a.typicalHalfwidthCharacterWidth,j=a.scrollBeyondLastLine,k=a.minimap.renderCharacters,m=e>=2?Math.round(2*a.minimap.scale):a.minimap.scale,n=a.minimap.maxColumn,o=a.minimap.size,p=a.minimap.side,q=a.verticalScrollbarWidth,r=a.viewLineCount,s=a.remainingWidth,t=a.isViewportWrapping,u=k?2:3,v=Math.floor(e*d),w=v/e,x=!1,y=!1,z=u*m,A=m/e,B=1;if("fill"===o||"fit"===o){let{typicalViewportLineCount:c,extraLinesBeforeFirstLine:f,extraLinesBeyondLastLine:i,desiredRatio:k,minimapLineCount:l}=T.computeContainedMinimapLineCount({viewLineCount:r,scrollBeyondLastLine:j,paddingTop:a.paddingTop,paddingBottom:a.paddingBottom,height:d,lineHeight:h,pixelRatio:e});if(r/l>1)x=!0,y=!0,z=1,A=(m=1)/e;else{let d=!1,j=m+1;if("fit"===o){let a=Math.ceil((f+r+i)*z);t&&g&&s<=b.stableFitRemainingWidth?(d=!0,j=b.stableFitMaxMinimapScale):d=a>v}if("fill"===o||d){x=!0;let d=m;z=Math.min(h*e,Math.max(1,Math.floor(1/k))),t&&g&&s<=b.stableFitRemainingWidth&&(j=b.stableFitMaxMinimapScale),(m=Math.min(j,Math.max(1,Math.floor(z/u))))>d&&(B=Math.min(2,m/d)),A=m/e/B,v=Math.ceil(Math.max(c,f+r+i)*z),t?(b.stableMinimapLayoutInput=a,b.stableFitRemainingWidth=s,b.stableFitMaxMinimapScale=m):(b.stableMinimapLayoutInput=null,b.stableFitRemainingWidth=0)}}}let C=Math.min(Math.floor(n*A),Math.max(0,Math.floor((s-q-2)*A/(i+A)))+l),D=Math.floor(e*C),E=D/e;return{renderMinimap:k?1:2,minimapLeft:"left"===p?0:c-C-q,minimapWidth:C,minimapHeightIsEditorHeight:x,minimapIsSampling:y,minimapScale:m,minimapLineHeight:z,minimapCanvasInnerWidth:D=Math.floor(D*B),minimapCanvasInnerHeight:v,minimapCanvasOuterWidth:E,minimapCanvasOuterHeight:w}}static computeLayout(a,b){let c=0|b.outerWidth,d=0|b.outerHeight,e=0|b.lineHeight,f=0|b.lineNumbersDigitCount,g=b.typicalHalfwidthCharacterWidth,h=b.maxDigitWidth,i=b.pixelRatio,j=b.viewLineCount,k=a.get(154),l="inherit"===k?a.get(153):k,m="inherit"===l?a.get(149):l,o=a.get(152),p=b.isDominatedByLongLines,q=a.get(66),r=0!==a.get(76).renderType,s=a.get(77),t=a.get(119),u=a.get(96),v=a.get(81),w=a.get(117),x=w.verticalScrollbarSize,y=w.verticalHasArrows,z=w.arrowSize,A=w.horizontalScrollbarSize,B=a.get(52),C="never"!==a.get(126),D=a.get(74);B&&C&&(D+=16);let E=0;r&&(E=Math.round(Math.max(f,s)*h));let F=0;q&&(F=e*b.glyphMarginDecorationLaneCount);let G=0,H=0+F,I=H+E,J=I+D,K=c-F-E-D,L=!1,M=!1,N=-1;2===a.get(2)&&"inherit"===l&&p?(L=!0,M=!0):"on"===m||"bounded"===m?M=!0:"wordWrapColumn"===m&&(N=o);let O=T._computeMinimapLayout({outerWidth:c,outerHeight:d,lineHeight:e,typicalHalfwidthCharacterWidth:g,pixelRatio:i,scrollBeyondLastLine:t,paddingTop:u.top,paddingBottom:u.bottom,minimap:v,verticalScrollbarWidth:x,viewLineCount:j,remainingWidth:K,isViewportWrapping:M},b.memory||new n);0!==O.renderMinimap&&0===O.minimapLeft&&(G+=O.minimapWidth,H+=O.minimapWidth,I+=O.minimapWidth,J+=O.minimapWidth);let P=K-O.minimapWidth,Q=Math.max(1,Math.floor((P-x-2)/g)),R=y?z:0;return M&&(N=Math.max(1,Q),"bounded"===m&&(N=Math.min(N,o))),{width:c,height:d,glyphMarginLeft:G,glyphMarginWidth:F,glyphMarginDecorationLaneCount:b.glyphMarginDecorationLaneCount,lineNumbersLeft:H,lineNumbersWidth:E,decorationsLeft:I,decorationsWidth:D,contentLeft:J,contentWidth:P,minimap:O,viewportColumn:Q,isWordWrapMinified:L,isViewportWrapping:M,wrappingColumn:N,verticalScrollbarWidth:x,horizontalScrollbarHeight:A,overviewRuler:{top:R,width:x,height:d-2*R,right:0}}}}class U extends o{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[k.kg(252,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),k.kg(253,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:k.kg(254,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(a){return A(a,"simple",["simple","advanced"])}compute(a,b,c){return 2===b.get(2)?"advanced":c}}!function(a){a.Off="off",a.OnCode="onCode",a.On="on"}(e||(e={}));class V extends o{constructor(){let a={enabled:e.OnCode};super(73,"lightbulb",a,{"editor.lightbulb.enabled":{type:"string",enum:[e.Off,e.OnCode,e.On],default:a.enabled,enumDescriptions:[k.kg(255,"Disable the code action menu."),k.kg(256,"Show the code action menu when the cursor is on lines with code."),k.kg(257,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:k.kg(258,"Enables the Code Action lightbulb in the editor.")}})}validate(a){return a&&"object"==typeof a?{enabled:A(a.enabled,this.defaultValue.enabled,[e.Off,e.OnCode,e.On])}:this.defaultValue}}class W extends o{constructor(){let a={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",a,{"editor.stickyScroll.enabled":{type:"boolean",default:a.enabled,description:k.kg(259,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:a.maxLineCount,minimum:1,maximum:20,description:k.kg(260,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:a.defaultModel,description:k.kg(261,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:a.scrollWithEditor,description:k.kg(262,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),maxLineCount:w.clampedInt(a.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:A(a.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:t(a.scrollWithEditor,this.defaultValue.scrollWithEditor)}:this.defaultValue}}class X extends o{constructor(){let a={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",a,{"editor.inlayHints.enabled":{type:"string",default:a.enabled,description:k.kg(263,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[k.kg(264,"Inlay hints are enabled"),k.kg(265,"Inlay hints are showing by default and hide when holding {0}",h.zx?"Ctrl+Option":"Ctrl+Alt"),k.kg(266,"Inlay hints are hidden by default and show when holding {0}",h.zx?"Ctrl+Option":"Ctrl+Alt"),k.kg(267,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:a.fontSize,markdownDescription:k.kg(268,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:a.fontFamily,markdownDescription:k.kg(269,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:a.padding,description:k.kg(270,"Enables the padding around the inlay hints in the editor.")},"editor.inlayHints.maximumLength":{type:"number",default:a.maximumLength,markdownDescription:k.kg(271,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(a){return a&&"object"==typeof a?("boolean"==typeof a.enabled&&(a.enabled=a.enabled?"on":"off"),{enabled:A(a.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:w.clampedInt(a.fontSize,this.defaultValue.fontSize,0,100),fontFamily:z.string(a.fontFamily,this.defaultValue.fontFamily),padding:t(a.padding,this.defaultValue.padding),maximumLength:w.clampedInt(a.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}):this.defaultValue}}class Y extends o{constructor(){super(74,"lineDecorationsWidth",10)}validate(a){return"string"==typeof a&&/^\d+(\.\d+)?ch$/.test(a)?-parseFloat(a.substring(0,a.length-2)):w.clampedInt(a,this.defaultValue,0,1e3)}compute(a,b,c){return c<0?w.clampedInt(-c*a.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):c}}class Z extends y{constructor(){super(75,"lineHeight",az.lineHeight,a=>y.clamp(a,0,150),{markdownDescription:k.kg(272,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")},0,150)}compute(a,b,c){return a.fontInfo.lineHeight}}class $ extends o{constructor(){let a={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",a,{"editor.minimap.enabled":{type:"boolean",default:a.enabled,description:k.kg(273,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[k.kg(274,"The minimap is always shown."),k.kg(275,"The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap."),k.kg(276,"The minimap is only shown when the editor is scrolled")],default:a.autohide,description:k.kg(277,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[k.kg(278,"The minimap has the same size as the editor contents (and might scroll)."),k.kg(279,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),k.kg(280,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:a.size,description:k.kg(281,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:a.side,description:k.kg(282,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:a.showSlider,description:k.kg(283,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:a.scale,minimum:1,maximum:3,enum:[1,2,3],description:k.kg(284,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:a.renderCharacters,description:k.kg(285,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:a.maxColumn,description:k.kg(286,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:a.showRegionSectionHeaders,description:k.kg(287,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:a.showMarkSectionHeaders,description:k.kg(288,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.markSectionHeaderRegex":{type:"string",default:a.markSectionHeaderRegex,description:k.kg(289,"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:a.sectionHeaderFontSize,description:k.kg(290,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:a.sectionHeaderLetterSpacing,description:k.kg(291,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(a){if(!a||"object"!=typeof a)return this.defaultValue;let b=this.defaultValue.markSectionHeaderRegex,c=a.markSectionHeaderRegex;if("string"==typeof c)try{RegExp(c,"d"),b=c}catch{}return{enabled:t(a.enabled,this.defaultValue.enabled),autohide:A(a.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:A(a.size,this.defaultValue.size,["proportional","fill","fit"]),side:A(a.side,this.defaultValue.side,["right","left"]),showSlider:A(a.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:t(a.renderCharacters,this.defaultValue.renderCharacters),scale:w.clampedInt(a.scale,1,1,3),maxColumn:w.clampedInt(a.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:t(a.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:t(a.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:b,sectionHeaderFontSize:y.clamp(a.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:y.clamp(a.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}class _ extends o{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:k.kg(292,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:k.kg(293,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(a){return a&&"object"==typeof a?{top:w.clampedInt(a.top,0,0,1e3),bottom:w.clampedInt(a.bottom,0,0,1e3)}:this.defaultValue}}class aa extends o{constructor(){let a={enabled:!0,cycle:!0};super(98,"parameterHints",a,{"editor.parameterHints.enabled":{type:"boolean",default:a.enabled,description:k.kg(294,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:a.cycle,description:k.kg(295,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),cycle:t(a.cycle,this.defaultValue.cycle)}:this.defaultValue}}class ab extends r{constructor(){super(163)}compute(a,b,c){return a.pixelRatio}}class ac extends o{constructor(){super(100,"placeholder",void 0)}validate(a){return void 0===a?this.defaultValue:"string"==typeof a?a:this.defaultValue}}class ad extends o{constructor(){let a={other:"on",comments:"off",strings:"off"},b=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[k.kg(296,"Quick suggestions show inside the suggest widget"),k.kg(297,"Quick suggestions show as ghost text"),k.kg(298,"Quick suggestions are disabled")]}];super(102,"quickSuggestions",a,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:b,default:a.strings,description:k.kg(299,"Enable quick suggestions inside strings.")},comments:{anyOf:b,default:a.comments,description:k.kg(300,"Enable quick suggestions inside comments.")},other:{anyOf:b,default:a.other,description:k.kg(301,"Enable quick suggestions outside of strings and comments.")}},default:a,markdownDescription:k.kg(302,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=a}validate(a){let b;if("boolean"==typeof a){let b=a?"on":"off";return{comments:b,strings:b,other:b}}if(!a||"object"!=typeof a)return this.defaultValue;let{other:c,comments:d,strings:e}=a,f=["on","inline","off"];return b="boolean"==typeof c?c?"on":"off":A(c,this.defaultValue.other,f),{other:b,comments:"boolean"==typeof d?d?"on":"off":A(d,this.defaultValue.comments,f),strings:"boolean"==typeof e?e?"on":"off":A(e,this.defaultValue.strings,f)}}}class ae extends o{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[k.kg(303,"Line numbers are not rendered."),k.kg(304,"Line numbers are rendered as absolute number."),k.kg(305,"Line numbers are rendered as distance in lines to cursor position."),k.kg(306,"Line numbers are rendered every 10 lines.")],default:"on",description:k.kg(307,"Controls the display of line numbers.")})}validate(a){let b=this.defaultValue.renderType,c=this.defaultValue.renderFn;return void 0!==a&&("function"==typeof a?(b=4,c=a):b="interval"===a?3:"relative"===a?2:+("on"===a)),{renderType:b,renderFn:c}}}function af(a){let b=a.get(112);return"editable"===b?a.get(104):"on"!==b}function ag(a){return!a.get(172)}class ah extends o{constructor(){let a=[],b={type:"number",description:k.kg(308,"Number of monospace characters at which this editor ruler will render.")};super(116,"rulers",a,{type:"array",items:{anyOf:[b,{type:["object"],properties:{column:b,color:{type:"string",description:k.kg(309,"Color of this editor ruler."),format:"color-hex"}}}]},default:a,description:k.kg(310,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(a){if(Array.isArray(a)){let b=[];for(let c of a)"number"==typeof c?b.push({column:w.clampedInt(c,0,0,1e4),color:null}):c&&"object"==typeof c&&b.push({column:w.clampedInt(c.column,0,0,1e4),color:c.color});return b.sort((a,b)=>a.column-b.column),b}return this.defaultValue}}class ai extends o{constructor(){super(105,"readOnlyMessage",void 0)}validate(a){return a&&"object"==typeof a?a:this.defaultValue}}function aj(a,b){if("string"!=typeof a)return b;switch(a){case"hidden":return 2;case"visible":return 3;default:return 1}}class ak extends o{constructor(){let a={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,"scrollbar",a,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[k.kg(311,"The vertical scrollbar will be visible only when necessary."),k.kg(312,"The vertical scrollbar will always be visible."),k.kg(313,"The vertical scrollbar will always be hidden.")],default:"auto",description:k.kg(314,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[k.kg(315,"The horizontal scrollbar will be visible only when necessary."),k.kg(316,"The horizontal scrollbar will always be visible."),k.kg(317,"The horizontal scrollbar will always be hidden.")],default:"auto",description:k.kg(318,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:a.verticalScrollbarSize,description:k.kg(319,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:a.horizontalScrollbarSize,description:k.kg(320,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:a.scrollByPage,description:k.kg(321,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:a.ignoreHorizontalScrollbarInContentHeight,description:k.kg(322,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(a){if(!a||"object"!=typeof a)return this.defaultValue;let b=w.clampedInt(a.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),c=w.clampedInt(a.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:w.clampedInt(a.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:aj(a.vertical,this.defaultValue.vertical),horizontal:aj(a.horizontal,this.defaultValue.horizontal),useShadows:t(a.useShadows,this.defaultValue.useShadows),verticalHasArrows:t(a.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:t(a.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:t(a.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:t(a.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:b,horizontalSliderSize:w.clampedInt(a.horizontalSliderSize,b,0,1e3),verticalScrollbarSize:c,verticalSliderSize:w.clampedInt(a.verticalSliderSize,c,0,1e3),scrollByPage:t(a.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:t(a.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}let al="inUntrustedWorkspace",am={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class an extends o{constructor(){let a={nonBasicASCII:al,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:al,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,"unicodeHighlight",a,{[am.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,al],default:a.nonBasicASCII,description:k.kg(323,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[am.invisibleCharacters]:{restricted:!0,type:"boolean",default:a.invisibleCharacters,description:k.kg(324,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[am.ambiguousCharacters]:{restricted:!0,type:"boolean",default:a.ambiguousCharacters,description:k.kg(325,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[am.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,al],default:a.includeComments,description:k.kg(326,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[am.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,al],default:a.includeStrings,description:k.kg(327,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[am.allowedCharacters]:{restricted:!0,type:"object",default:a.allowedCharacters,description:k.kg(328,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[am.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:a.allowedLocales,description:k.kg(329,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(a,b){let c=!1;b.allowedCharacters&&a&&!g.aI(a.allowedCharacters,b.allowedCharacters)&&(a={...a,allowedCharacters:b.allowedCharacters},c=!0),b.allowedLocales&&a&&!g.aI(a.allowedLocales,b.allowedLocales)&&(a={...a,allowedLocales:b.allowedLocales},c=!0);let d=super.applyUpdate(a,b);return c?new p(d.newValue,!0):d}validate(a){return a&&"object"==typeof a?{nonBasicASCII:ar(a.nonBasicASCII,al,[!0,!1,al]),invisibleCharacters:t(a.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:t(a.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ar(a.includeComments,al,[!0,!1,al]),includeStrings:ar(a.includeStrings,al,[!0,!1,al]),allowedCharacters:this.validateBooleanMap(a.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(a.allowedLocales,this.defaultValue.allowedLocales)}:this.defaultValue}validateBooleanMap(a,b){if("object"!=typeof a||!a)return b;let c={};for(let[b,d]of Object.entries(a))!0===d&&(c[b]=!0);return c}}class ao extends o{constructor(){let a={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!1,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:"auto",allowCodeShifting:"always"},triggerCommandOnProviderChange:!0,experimental:{suppressInlineSuggestions:"",showOnSuggestConflict:"never",emptyResponseInformation:!0}};super(71,"inlineSuggest",a,{"editor.inlineSuggest.enabled":{type:"boolean",default:a.enabled,description:k.kg(330,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:a.showToolbar,enum:["always","onHover","never"],enumDescriptions:[k.kg(331,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),k.kg(332,"Show the inline suggestion toolbar when hovering over an inline suggestion."),k.kg(333,"Never show the inline suggestion toolbar.")],description:k.kg(334,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:a.syntaxHighlightingEnabled,description:k.kg(335,"Controls whether to show syntax highlighting for inline suggestions in the editor.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:a.suppressSuggestions,description:k.kg(336,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:a.suppressInSnippetMode,description:k.kg(337,"Controls whether inline suggestions are suppressed when in snippet mode.")},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:k.kg(338,"Controls the minimal delay in milliseconds after which inline suggestions are shown after typing.")},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:a.experimental.suppressInlineSuggestions,tags:["experimental"],description:k.kg(339,"Suppresses inline completions for specified extension IDs -- comma separated."),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:a.experimental.emptyResponseInformation,tags:["experimental"],description:k.kg(340,"Controls whether to send request information from the inline suggestion provider."),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:a.triggerCommandOnProviderChange,tags:["experimental"],description:k.kg(341,"Controls whether to trigger a command when the inline suggestion provider changes."),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:a.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:k.kg(342,"Controls whether to show inline suggestions when there is a suggest conflict."),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:a.fontFamily,description:k.kg(343,"Controls the font family of the inline suggestions.")},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:a.edits.allowCodeShifting,description:k.kg(344,"Controls whether showing a suggestion will shift the code to make space for the suggestion inline."),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:a.edits.renderSideBySide,description:k.kg(345,"Controls whether larger suggestions can be shown side by side."),enum:["auto","never"],enumDescriptions:[k.kg(346,"Larger suggestions will show side by side if there is enough space, otherwise they will be shown below."),k.kg(347,"Larger suggestions are never shown side by side and will always be shown below.")],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:a.edits.showCollapsed,description:k.kg(348,"Controls whether the suggestion will show as collapsed until jumping to it."),tags:["nextEditSuggestions"]}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),mode:A(a.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:A(a.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:t(a.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:t(a.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:z.string(a.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:t(a.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:w.clampedInt(a.minShowDelay,0,0,1e4),suppressInSnippetMode:t(a.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:{enabled:t(a.edits?.enabled,this.defaultValue.edits.enabled),showCollapsed:t(a.edits?.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:A(a.edits?.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),renderSideBySide:A(a.edits?.renderSideBySide,this.defaultValue.edits.renderSideBySide,["never","auto"])},triggerCommandOnProviderChange:t(a.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:{suppressInlineSuggestions:z.string(a.experimental?.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:A(a.experimental?.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:t(a.experimental?.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}:this.defaultValue}}class ap extends o{constructor(){let a={enabled:i.R.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:i.R.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",a,{"editor.bracketPairColorization.enabled":{type:"boolean",default:a.enabled,markdownDescription:k.kg(349,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:a.independentColorPoolPerBracketType,description:k.kg(350,"Controls whether each bracket type has its own independent color pool.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:t(a.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}:this.defaultValue}}class aq extends o{constructor(){let a={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,"guides",a,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[k.kg(351,"Enables bracket pair guides."),k.kg(352,"Enables bracket pair guides only for the active bracket pair."),k.kg(353,"Disables bracket pair guides.")],default:a.bracketPairs,description:k.kg(354,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[k.kg(355,"Enables horizontal guides as addition to vertical bracket pair guides."),k.kg(356,"Enables horizontal guides only for the active bracket pair."),k.kg(357,"Disables horizontal bracket pair guides.")],default:a.bracketPairsHorizontal,description:k.kg(358,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:a.highlightActiveBracketPair,description:k.kg(359,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:a.indentation,description:k.kg(360,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[k.kg(361,"Highlights the active indent guide."),k.kg(362,"Highlights the active indent guide even if bracket guides are highlighted."),k.kg(363,"Do not highlight the active indent guide.")],default:a.highlightActiveIndentation,description:k.kg(364,"Controls whether the editor should highlight the active indent guide.")}})}validate(a){return a&&"object"==typeof a?{bracketPairs:ar(a.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:ar(a.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:t(a.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:t(a.indentation,this.defaultValue.indentation),highlightActiveIndentation:ar(a.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}:this.defaultValue}}function ar(a,b,c){let d=c.indexOf(a);return -1===d?b:c[d]}class as extends o{constructor(){let a={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(134,"suggest",a,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[k.kg(365,"Insert suggestion without overwriting text right of the cursor."),k.kg(366,"Insert suggestion and overwrite text right of the cursor.")],default:a.insertMode,description:k.kg(367,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:a.filterGraceful,description:k.kg(368,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:a.localityBonus,description:k.kg(369,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:a.shareSuggestSelections,markdownDescription:k.kg(370,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[k.kg(371,"Always select a suggestion when automatically triggering IntelliSense."),k.kg(372,"Never select a suggestion when automatically triggering IntelliSense."),k.kg(373,"Select a suggestion only when triggering IntelliSense from a trigger character."),k.kg(374,"Select a suggestion only when triggering IntelliSense as you type.")],default:a.selectionMode,markdownDescription:k.kg(375,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:a.snippetsPreventQuickSuggestions,description:k.kg(376,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:a.showIcons,description:k.kg(377,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:a.showStatusBar,description:k.kg(378,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:a.preview,description:k.kg(379,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:a.showInlineDetails,description:k.kg(380,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:k.kg(381,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:k.kg(382,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:k.kg(383,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:k.kg(384,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:k.kg(385,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:k.kg(386,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:k.kg(387,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:k.kg(388,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:k.kg(389,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:k.kg(390,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:k.kg(391,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:k.kg(392,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:k.kg(393,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:k.kg(394,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:k.kg(395,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:k.kg(396,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:k.kg(397,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:k.kg(398,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:k.kg(399,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:k.kg(400,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:k.kg(401,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:k.kg(402,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:k.kg(403,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:k.kg(404,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:k.kg(405,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:k.kg(406,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:k.kg(407,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:k.kg(408,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:k.kg(409,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:k.kg(410,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:k.kg(411,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:k.kg(412,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(a){return a&&"object"==typeof a?{insertMode:A(a.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:t(a.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:t(a.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:t(a.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:t(a.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:A(a.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:t(a.showIcons,this.defaultValue.showIcons),showStatusBar:t(a.showStatusBar,this.defaultValue.showStatusBar),preview:t(a.preview,this.defaultValue.preview),previewMode:A(a.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:t(a.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:t(a.showMethods,this.defaultValue.showMethods),showFunctions:t(a.showFunctions,this.defaultValue.showFunctions),showConstructors:t(a.showConstructors,this.defaultValue.showConstructors),showDeprecated:t(a.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:t(a.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:t(a.showFields,this.defaultValue.showFields),showVariables:t(a.showVariables,this.defaultValue.showVariables),showClasses:t(a.showClasses,this.defaultValue.showClasses),showStructs:t(a.showStructs,this.defaultValue.showStructs),showInterfaces:t(a.showInterfaces,this.defaultValue.showInterfaces),showModules:t(a.showModules,this.defaultValue.showModules),showProperties:t(a.showProperties,this.defaultValue.showProperties),showEvents:t(a.showEvents,this.defaultValue.showEvents),showOperators:t(a.showOperators,this.defaultValue.showOperators),showUnits:t(a.showUnits,this.defaultValue.showUnits),showValues:t(a.showValues,this.defaultValue.showValues),showConstants:t(a.showConstants,this.defaultValue.showConstants),showEnums:t(a.showEnums,this.defaultValue.showEnums),showEnumMembers:t(a.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:t(a.showKeywords,this.defaultValue.showKeywords),showWords:t(a.showWords,this.defaultValue.showWords),showColors:t(a.showColors,this.defaultValue.showColors),showFiles:t(a.showFiles,this.defaultValue.showFiles),showReferences:t(a.showReferences,this.defaultValue.showReferences),showFolders:t(a.showFolders,this.defaultValue.showFolders),showTypeParameters:t(a.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:t(a.showSnippets,this.defaultValue.showSnippets),showUsers:t(a.showUsers,this.defaultValue.showUsers),showIssues:t(a.showIssues,this.defaultValue.showIssues)}:this.defaultValue}}class at extends o{constructor(){super(129,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:k.kg(413,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:k.kg(414,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(a){return a&&"object"==typeof a?{selectLeadingAndTrailingWhitespace:t(a.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:t(a.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}class au extends o{constructor(){let a=[];super(147,"wordSegmenterLocales",a,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:k.kg(415,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"},default:a})}validate(a){if("string"==typeof a&&(a=[a]),Array.isArray(a)){let b=[];for(let c of a)if("string"==typeof c)try{Intl.Segmenter.supportedLocalesOf(c).length>0&&b.push(c)}catch{}return b}return this.defaultValue}}class av extends o{constructor(){super(155,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[k.kg(416,"No indentation. Wrapped lines begin at column 1."),k.kg(417,"Wrapped lines get the same indentation as the parent."),k.kg(418,"Wrapped lines get +1 indentation toward the parent."),k.kg(419,"Wrapped lines get +2 indentation toward the parent.")],description:k.kg(420,"Controls the indentation of wrapped lines."),default:"same"}})}validate(a){switch(a){case"none":return 0;case"same":break;case"indent":return 2;case"deepIndent":return 3}return 1}compute(a,b,c){return 2===b.get(2)?0:c}}class aw extends r{constructor(){super(166)}compute(a,b,c){let d=b.get(165);return{isDominatedByLongLines:a.isDominatedByLongLines,isWordWrapMinified:d.isWordWrapMinified,isViewportWrapping:d.isViewportWrapping,wrappingColumn:d.wrappingColumn}}}class ax extends o{constructor(){let a={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",a,{"editor.dropIntoEditor.enabled":{type:"boolean",default:a.enabled,markdownDescription:k.kg(421,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:k.kg(422,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[k.kg(423,"Show the drop selector widget after a file is dropped into the editor."),k.kg(424,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),showDropSelector:A(a.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}:this.defaultValue}}class ay extends o{constructor(){let a={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",a,{"editor.pasteAs.enabled":{type:"boolean",default:a.enabled,markdownDescription:k.kg(425,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:k.kg(426,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[k.kg(427,"Show the paste selector widget after content is pasted into the editor."),k.kg(428,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),showPasteSelector:A(a.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}:this.defaultValue}}let az={fontFamily:h.zx?"Menlo, Monaco, 'Courier New', monospace":h.uF?"Consolas, 'Courier New', monospace":"'Droid Sans Mono', 'monospace', monospace",fontWeight:"normal",fontSize:h.zx?12:14,lineHeight:0,letterSpacing:0},aA=[];function aB(a){return aA[a.id]=a,a}let aC={acceptSuggestionOnCommitCharacter:aB(new u(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:k.kg(429,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:aB(new B(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",k.kg(430,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:k.kg(431,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:aB(new D),accessibilityPageSize:aB(new w(3,"accessibilityPageSize",500,1,0x40000000,{description:k.kg(432,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),allowOverflow:aB(new u(4,"allowOverflow",!0)),allowVariableLineHeights:aB(new u(5,"allowVariableLineHeights",!0,{description:k.kg(433,"Controls whether to allow using variable line heights in the editor.")})),allowVariableFonts:aB(new u(6,"allowVariableFonts",!0,{description:k.kg(434,"Controls whether to allow using variable fonts in the editor.")})),allowVariableFontsInAccessibilityMode:aB(new u(7,"allowVariableFontsInAccessibilityMode",!1,{description:k.kg(435,"Controls whether to allow using variable fonts in the editor in the accessibility mode."),tags:["accessibility"]})),ariaLabel:aB(new z(8,"ariaLabel",k.kg(436,"Editor content"))),ariaRequired:aB(new u(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:aB(new u(12,"screenReaderAnnounceInlineSuggestion",!0,{description:k.kg(437,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:aB(new B(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.kg(438,"Use language configurations to determine when to autoclose brackets."),k.kg(439,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:k.kg(440,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:aB(new B(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.kg(441,"Use language configurations to determine when to autoclose comments."),k.kg(442,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:k.kg(443,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:aB(new B(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",k.kg(444,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:k.kg(445,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:aB(new B(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",k.kg(446,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:k.kg(447,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:aB(new B(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.kg(448,"Use language configurations to determine when to autoclose quotes."),k.kg(449,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:k.kg(450,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:aB(new C(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],function(a){switch(a){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}},{enumDescriptions:[k.kg(451,"The editor will not insert indentation automatically."),k.kg(452,"The editor will keep the current line's indentation."),k.kg(453,"The editor will keep the current line's indentation and honor language defined brackets."),k.kg(454,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),k.kg(455,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:k.kg(456,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),autoIndentOnPaste:aB(new u(17,"autoIndentOnPaste",!1,{description:k.kg(457,"Controls whether the editor should automatically auto-indent the pasted content.")})),autoIndentOnPasteWithinString:aB(new u(18,"autoIndentOnPasteWithinString",!0,{description:k.kg(458,"Controls whether the editor should automatically auto-indent the pasted content when pasted within a string. This takes effect when autoIndentOnPaste is true.")})),automaticLayout:aB(new u(19,"automaticLayout",!1)),autoSurround:aB(new B(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[k.kg(459,"Use language configurations to determine when to automatically surround selections."),k.kg(460,"Surround with quotes but not brackets."),k.kg(461,"Surround with brackets but not quotes."),""],description:k.kg(462,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:aB(new ap),bracketPairGuides:aB(new aq),stickyTabStops:aB(new u(132,"stickyTabStops",!1,{description:k.kg(463,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:aB(new u(23,"codeLens",!0,{description:k.kg(464,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:aB(new z(24,"codeLensFontFamily","",{description:k.kg(465,"Controls the font family for CodeLens.")})),codeLensFontSize:aB(new w(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:k.kg(466,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:aB(new u(26,"colorDecorators",!0,{description:k.kg(467,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:aB(new B(168,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[k.kg(468,"Make the color picker appear both on click and hover of the color decorator"),k.kg(469,"Make the color picker appear on hover of the color decorator"),k.kg(470,"Make the color picker appear on click of the color decorator")],description:k.kg(471,"Controls the condition to make a color picker appear from a color decorator.")})),colorDecoratorsLimit:aB(new w(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:k.kg(472,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:aB(new u(28,"columnSelection",!1,{description:k.kg(473,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:aB(new E),contextmenu:aB(new u(30,"contextmenu",!0)),copyWithSyntaxHighlighting:aB(new u(31,"copyWithSyntaxHighlighting",!0,{description:k.kg(474,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:aB(new C(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],function(a){switch(a){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}},{description:k.kg(475,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:aB(new B(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[k.kg(476,"Smooth caret animation is disabled."),k.kg(477,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),k.kg(478,"Smooth caret animation is always enabled.")],description:k.kg(479,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:aB(new C(34,"cursorStyle",d.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],F,{description:k.kg(480,"Controls the cursor style in insert input mode.")})),overtypeCursorStyle:aB(new C(92,"overtypeCursorStyle",d.Block,"block",["line","block","underline","line-thin","block-outline","underline-thin"],F,{description:k.kg(481,"Controls the cursor style in overtype input mode.")})),cursorSurroundingLines:aB(new w(35,"cursorSurroundingLines",0,0,0x40000000,{description:k.kg(482,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:aB(new B(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[k.kg(483,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),k.kg(484,"`cursorSurroundingLines` is enforced always.")],markdownDescription:k.kg(485,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:aB(new w(37,"cursorWidth",0,0,0x40000000,{markdownDescription:k.kg(486,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),cursorHeight:aB(new w(38,"cursorHeight",0,0,0x40000000,{markdownDescription:k.kg(487,"Controls the height of the cursor when `#editor.cursorStyle#` is set to `line`. Cursor's max height depends on line height.")})),disableLayerHinting:aB(new u(39,"disableLayerHinting",!1)),disableMonospaceOptimizations:aB(new u(40,"disableMonospaceOptimizations",!1)),domReadOnly:aB(new u(41,"domReadOnly",!1)),dragAndDrop:aB(new u(42,"dragAndDrop",!0,{description:k.kg(488,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:aB(new H),dropIntoEditor:aB(new ax),editContext:aB(new u(44,"editContext",!0,{description:k.kg(489,"Sets whether the EditContext API should be used instead of the text area to power input in the editor."),included:h.H8||h.UP||h.ib})),renderRichScreenReaderContent:aB(new u(107,"renderRichScreenReaderContent",!1,{markdownDescription:k.kg(490,"Whether to render rich screen reader content when the `#editor.editContext#` setting is enabled.")})),stickyScroll:aB(new W),experimentalGpuAcceleration:aB(new B(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[k.kg(491,"Use regular DOM-based rendering."),k.kg(492,"Use GPU acceleration.")],description:k.kg(493,"Controls whether to use the experimental GPU acceleration to render the editor.")})),experimentalWhitespaceRendering:aB(new B(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[k.kg(494,"Use a new rendering method with svgs."),k.kg(495,"Use a new rendering method with font characters."),k.kg(496,"Use the stable rendering method.")],description:k.kg(497,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:aB(new z(48,"extraEditorClassName","")),fastScrollSensitivity:aB(new y(49,"fastScrollSensitivity",5,a=>a<=0?5:a,{markdownDescription:k.kg(498,"Scrolling speed multiplier when pressing `Alt`.")})),find:aB(new I),fixedOverflowWidgets:aB(new u(51,"fixedOverflowWidgets",!1)),folding:aB(new u(52,"folding",!0,{description:k.kg(499,"Controls whether the editor has code folding enabled.")})),foldingStrategy:aB(new B(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[k.kg(500,"Use a language-specific folding strategy if available, else the indentation-based one."),k.kg(501,"Use the indentation-based folding strategy.")],description:k.kg(502,"Controls the strategy for computing folding ranges.")})),foldingHighlight:aB(new u(54,"foldingHighlight",!0,{description:k.kg(503,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:aB(new u(55,"foldingImportsByDefault",!1,{description:k.kg(504,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:aB(new w(56,"foldingMaximumRegions",5e3,10,65e3,{description:k.kg(505,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:aB(new u(57,"unfoldOnClickAfterEndOfLine",!1,{description:k.kg(506,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:aB(new z(58,"fontFamily",az.fontFamily,{description:k.kg(507,"Controls the font family.")})),fontInfo:aB(new L),fontLigatures2:aB(new J),fontSize:aB(new P),fontWeight:aB(new Q),fontVariations:aB(new K),formatOnPaste:aB(new u(64,"formatOnPaste",!1,{description:k.kg(508,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:aB(new u(65,"formatOnType",!1,{description:k.kg(509,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:aB(new u(66,"glyphMargin",!0,{description:k.kg(510,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:aB(new R),hideCursorInOverviewRuler:aB(new u(68,"hideCursorInOverviewRuler",!1,{description:k.kg(511,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:aB(new S),inDiffEditor:aB(new u(70,"inDiffEditor",!1)),inertialScroll:aB(new u(158,"inertialScroll",!1,{description:k.kg(512,"Make scrolling inertial - mostly useful with touchpad on linux.")})),letterSpacing:aB(new y(72,"letterSpacing",az.letterSpacing,a=>y.clamp(a,-5,20),{description:k.kg(513,"Controls the letter spacing in pixels.")})),lightbulb:aB(new V),lineDecorationsWidth:aB(new Y),lineHeight:aB(new Z),lineNumbers:aB(new ae),lineNumbersMinChars:aB(new w(77,"lineNumbersMinChars",5,1,300)),linkedEditing:aB(new u(78,"linkedEditing",!1,{description:k.kg(514,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:aB(new u(79,"links",!0,{description:k.kg(515,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:aB(new B(80,"matchBrackets","always",["always","near","never"],{description:k.kg(516,"Highlight matching brackets.")})),minimap:aB(new $),mouseStyle:aB(new B(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:aB(new y(83,"mouseWheelScrollSensitivity",1,a=>0===a?1:a,{markdownDescription:k.kg(517,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:aB(new u(84,"mouseWheelZoom",!1,{markdownDescription:h.zx?k.kg(518,"Zoom the font of the editor when using mouse wheel and holding `Cmd`."):k.kg(519,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:aB(new u(85,"multiCursorMergeOverlapping",!0,{description:k.kg(520,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:aB(new C(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],function(a){return"ctrlCmd"===a?h.zx?"metaKey":"ctrlKey":"altKey"},{markdownEnumDescriptions:[k.kg(521,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),k.kg(522,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:k.kg(523,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),mouseMiddleClickAction:aB(new B(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:k.kg(524,"Controls what happens when middle mouse button is clicked in the editor.")})),multiCursorPaste:aB(new B(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[k.kg(525,"Each cursor pastes a single line of the text."),k.kg(526,"Each cursor pastes the full text.")],markdownDescription:k.kg(527,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:aB(new w(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:k.kg(528,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:aB(new B(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[k.kg(529,"Does not highlight occurrences."),k.kg(530,"Highlights occurrences only in the current file."),k.kg(531,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:k.kg(532,"Controls whether occurrences should be highlighted across open files.")})),occurrencesHighlightDelay:aB(new w(91,"occurrencesHighlightDelay",0,0,2e3,{description:k.kg(533,"Controls the delay in milliseconds after which occurrences are highlighted."),tags:["preview"]})),overtypeOnPaste:aB(new u(93,"overtypeOnPaste",!0,{description:k.kg(534,"Controls whether pasting should overtype.")})),overviewRulerBorder:aB(new u(94,"overviewRulerBorder",!0,{description:k.kg(535,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:aB(new w(95,"overviewRulerLanes",3,0,3)),padding:aB(new _),pasteAs:aB(new ay),parameterHints:aB(new aa),peekWidgetDefaultFocus:aB(new B(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[k.kg(536,"Focus the tree when opening peek"),k.kg(537,"Focus the editor when opening peek")],description:k.kg(538,"Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:aB(new ac),definitionLinkOpensInPeek:aB(new u(101,"definitionLinkOpensInPeek",!1,{description:k.kg(539,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:aB(new ad),quickSuggestionsDelay:aB(new w(103,"quickSuggestionsDelay",10,0,0x40000000,{description:k.kg(540,"Controls the delay in milliseconds after which quick suggestions will show up."),experiment:{mode:"auto"}})),readOnly:aB(new u(104,"readOnly",!1)),readOnlyMessage:aB(new ai),renameOnType:aB(new u(106,"renameOnType",!1,{description:k.kg(541,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:k.kg(542,"Deprecated, use `#editor.linkedEditing#` instead.")})),renderControlCharacters:aB(new u(108,"renderControlCharacters",!0,{description:k.kg(543,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:aB(new B(109,"renderFinalNewline",h.j9?"dimmed":"on",["off","on","dimmed"],{description:k.kg(544,"Render last line number when the file ends with a newline.")})),renderLineHighlight:aB(new B(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",k.kg(545,"Highlights both the gutter and the current line.")],description:k.kg(546,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:aB(new u(111,"renderLineHighlightOnlyWhenFocus",!1,{description:k.kg(547,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:aB(new B(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:aB(new B(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",k.kg(548,"Render whitespace characters except for single spaces between words."),k.kg(549,"Render whitespace characters only on selected text."),k.kg(550,"Render only trailing whitespace characters."),""],description:k.kg(551,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:aB(new w(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:aB(new u(115,"roundedSelection",!0,{description:k.kg(552,"Controls whether selections should have rounded corners.")})),rulers:aB(new ah),scrollbar:aB(new ak),scrollBeyondLastColumn:aB(new w(118,"scrollBeyondLastColumn",4,0,0x40000000,{description:k.kg(553,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:aB(new u(119,"scrollBeyondLastLine",!0,{description:k.kg(554,"Controls whether the editor will scroll beyond the last line.")})),scrollOnMiddleClick:aB(new u(171,"scrollOnMiddleClick",!1,{description:k.kg(555,"Controls whether the editor will scroll when the middle button is pressed.")})),scrollPredominantAxis:aB(new u(120,"scrollPredominantAxis",!0,{description:k.kg(556,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:aB(new u(121,"selectionClipboard",!0,{description:k.kg(557,"Controls whether the Linux primary clipboard should be supported."),included:h.j9})),selectionHighlight:aB(new u(122,"selectionHighlight",!0,{description:k.kg(558,"Controls whether the editor should highlight matches similar to the selection.")})),selectionHighlightMaxLength:aB(new w(123,"selectionHighlightMaxLength",200,0,0x40000000,{description:k.kg(559,"Controls how many characters can be in the selection before similiar matches are not highlighted. Set to zero for unlimited.")})),selectionHighlightMultiline:aB(new u(124,"selectionHighlightMultiline",!1,{description:k.kg(560,"Controls whether the editor should highlight selection matches that span multiple lines.")})),selectOnLineNumbers:aB(new u(125,"selectOnLineNumbers",!0)),showFoldingControls:aB(new B(126,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[k.kg(561,"Always show the folding controls."),k.kg(562,"Never show the folding controls and reduce the gutter size."),k.kg(563,"Only show the folding controls when the mouse is over the gutter.")],description:k.kg(564,"Controls when the folding controls on the gutter are shown.")})),showUnused:aB(new u(127,"showUnused",!0,{description:k.kg(565,"Controls fading out of unused code.")})),showDeprecated:aB(new u(157,"showDeprecated",!0,{description:k.kg(566,"Controls strikethrough deprecated variables.")})),inlayHints:aB(new X),snippetSuggestions:aB(new B(128,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[k.kg(567,"Show snippet suggestions on top of other suggestions."),k.kg(568,"Show snippet suggestions below other suggestions."),k.kg(569,"Show snippets suggestions with other suggestions."),k.kg(570,"Do not show snippet suggestions.")],description:k.kg(571,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:aB(new at),smoothScrolling:aB(new u(130,"smoothScrolling",!1,{description:k.kg(572,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:aB(new w(133,"stopRenderingLineAfter",1e4,-1,0x40000000)),suggest:aB(new as),inlineSuggest:aB(new ao),inlineCompletionsAccessibilityVerbose:aB(new u(169,"inlineCompletionsAccessibilityVerbose",!1,{description:k.kg(573,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:aB(new w(135,"suggestFontSize",0,0,1e3,{markdownDescription:k.kg(574,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:aB(new w(136,"suggestLineHeight",0,0,1e3,{markdownDescription:k.kg(575,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:aB(new u(137,"suggestOnTriggerCharacters",!0,{description:k.kg(576,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:aB(new B(138,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[k.kg(577,"Always select the first suggestion."),k.kg(578,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),k.kg(579,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:k.kg(580,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:aB(new B(139,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[k.kg(581,"Tab complete will insert the best matching suggestion when pressing tab."),k.kg(582,"Disable tab completions."),k.kg(583,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:k.kg(584,"Enables tab completions.")})),tabIndex:aB(new w(140,"tabIndex",0,-1,0x40000000)),trimWhitespaceOnDelete:aB(new u(141,"trimWhitespaceOnDelete",!1,{description:k.kg(585,"Controls whether the editor will also delete the next line's indentation whitespace when deleting a newline.")})),unicodeHighlight:aB(new an),unusualLineTerminators:aB(new B(143,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[k.kg(586,"Unusual line terminators are automatically removed."),k.kg(587,"Unusual line terminators are ignored."),k.kg(588,"Unusual line terminators prompt to be removed.")],description:k.kg(589,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:aB(new u(144,"useShadowDOM",!0)),useTabStops:aB(new u(145,"useTabStops",!0,{description:k.kg(590,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:aB(new B(146,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[k.kg(591,"Use the default line break rule."),k.kg(592,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:k.kg(593,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:aB(new au),wordSeparators:aB(new z(148,"wordSeparators",j.J3,{description:k.kg(594,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:aB(new B(149,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[k.kg(595,"Lines will never wrap."),k.kg(596,"Lines will wrap at the viewport width."),k.kg(597,"Lines will wrap at `#editor.wordWrapColumn#`."),k.kg(598,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:k.kg(599,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:aB(new z(150,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xa2\xb0′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:aB(new z(151,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「\xa3\xa5$£¥++")),wordWrapColumn:aB(new w(152,"wordWrapColumn",80,1,0x40000000,{markdownDescription:k.kg(600,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:aB(new B(153,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:aB(new B(154,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:aB(new u(160,"wrapOnEscapedLineFeeds",!1,{markdownDescription:k.kg(601,'Controls whether literal `\\n` shall trigger a wordWrap when `#editor.wordWrap#` is enabled.\n\nFor example:\n```c\nchar* str="hello\\nworld"\n```\nwill be displayed as\n```c\nchar* str="hello\\n\n world"\n```')})),effectiveCursorStyle:aB(new M),editorClassName:aB(new G),defaultColorDecorators:aB(new B(167,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[k.kg(602,"Show default color decorators only when no extension provides colors decorators."),k.kg(603,"Always show default color decorators."),k.kg(604,"Never show default color decorators.")],description:k.kg(605,"Controls whether inline color decorations should be shown using the default document color provider.")})),pixelRatio:aB(new ab),tabFocusMode:aB(new u(164,"tabFocusMode",!1,{markdownDescription:k.kg(606,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:aB(new T),wrappingInfo:aB(new aw),wrappingIndent:aB(new av),wrappingStrategy:aB(new U),effectiveEditContextEnabled:aB(new N),effectiveAllowVariableFonts:aB(new O)}},33583:()=>{},33840:(a,b,c)=>{"use strict";c.d(b,{Th:()=>q,z8:()=>r});var d=c(25536),e=c(88347),f=c(32146),g=c(45640),h=c(43613),i=c(5030),j=c(11583),k=c(42715);function l(a){return a.toString()}class m{static create(a,b){let c=a.getAlternativeVersionId(),d=p(a);return new m(c,c,d,d,b,b,[])}constructor(a,b,c,d,e,f,g){this.beforeVersionId=a,this.afterVersionId=b,this.beforeEOL=c,this.afterEOL=d,this.beforeCursorState=e,this.afterCursorState=f,this.changes=g}append(a,b,c,d,e){b.length>0&&(this.changes=(0,h.x)(this.changes,b)),this.afterEOL=c,this.afterVersionId=d,this.afterCursorState=e}static _writeSelectionsSize(a){return 4+16*(a?a.length:0)}static _writeSelections(a,b,c){if(i.Sw(a,b?b.length:0,c),c+=4,b)for(let d of b)i.Sw(a,d.selectionStartLineNumber,c),c+=4,i.Sw(a,d.selectionStartColumn,c),c+=4,i.Sw(a,d.positionLineNumber,c),c+=4,i.Sw(a,d.positionColumn,c),c+=4;return c}static _readSelections(a,b,c){let d=i.bb(a,b);b+=4;for(let e=0;e<d;e++){let d=i.bb(a,b);b+=4;let e=i.bb(a,b);b+=4;let g=i.bb(a,b);b+=4;let h=i.bb(a,b);b+=4,c.push(new f.L(d,e,g,h))}return b}serialize(){let a=10+m._writeSelectionsSize(this.beforeCursorState)+m._writeSelectionsSize(this.afterCursorState)+4;for(let b of this.changes)a+=b.writeSize();let b=new Uint8Array(a),c=0;for(let a of(i.Sw(b,this.beforeVersionId,c),c+=4,i.Sw(b,this.afterVersionId,c),c+=4,i.Gs(b,this.beforeEOL,c),c+=1,i.Gs(b,this.afterEOL,c),c+=1,c=m._writeSelections(b,this.beforeCursorState,c),c=m._writeSelections(b,this.afterCursorState,c),i.Sw(b,this.changes.length,c),c+=4,this.changes))c=a.write(b,c);return b.buffer}static deserialize(a){let b=new Uint8Array(a),c=0,d=i.bb(b,c);c+=4;let e=i.bb(b,c);c+=4;let f=i.pJ(b,c);c+=1;let g=i.pJ(b,c);c+=1;let j=[];c=m._readSelections(b,c,j);let k=[];c=m._readSelections(b,c,k);let l=i.bb(b,c);c+=4;let n=[];for(let a=0;a<l;a++)c=h.k.read(b,c,n);return new m(d,e,f,g,j,k,n)}}class n{get type(){return 0}get resource(){return g.r.isUri(this.model)?this.model:this.model.uri}constructor(a,b,c,d){this.label=a,this.code=b,this.model=c,this._data=m.create(c,d)}toString(){return(this._data instanceof m?this._data:m.deserialize(this._data)).changes.map(a=>a.toString()).join(", ")}matchesResource(a){return(g.r.isUri(this.model)?this.model:this.model.uri).toString()===a.toString()}setModel(a){this.model=a}canAppend(a){return this.model===a&&this._data instanceof m}append(a,b,c,d,e){this._data instanceof m&&this._data.append(a,b,c,d,e)}close(){this._data instanceof m&&(this._data=this._data.serialize())}open(){this._data instanceof m||(this._data=m.deserialize(this._data))}undo(){if(g.r.isUri(this.model))throw Error("Invalid SingleModelEditStackElement");this._data instanceof m&&(this._data=this._data.serialize());let a=m.deserialize(this._data);this.model._applyUndo(a.changes,a.beforeEOL,a.beforeVersionId,a.beforeCursorState)}redo(){if(g.r.isUri(this.model))throw Error("Invalid SingleModelEditStackElement");this._data instanceof m&&(this._data=this._data.serialize());let a=m.deserialize(this._data);this.model._applyRedo(a.changes,a.afterEOL,a.afterVersionId,a.afterCursorState)}heapSize(){return this._data instanceof m&&(this._data=this._data.serialize()),this._data.byteLength+168}}class o{get resources(){return this._editStackElementsArr.map(a=>a.resource)}constructor(a,b,c){for(let d of(this.label=a,this.code=b,this.type=1,this._isOpen=!0,this._editStackElementsArr=c.slice(0),this._editStackElementsMap=new Map,this._editStackElementsArr)){let a=l(d.resource);this._editStackElementsMap.set(a,d)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(a){let b=l(a);return this._editStackElementsMap.has(b)}setModel(a){let b=l(g.r.isUri(a)?a:a.uri);this._editStackElementsMap.has(b)&&this._editStackElementsMap.get(b).setModel(a)}canAppend(a){if(!this._isOpen)return!1;let b=l(a.uri);return!!this._editStackElementsMap.has(b)&&this._editStackElementsMap.get(b).canAppend(a)}append(a,b,c,d,e){let f=l(a.uri);this._editStackElementsMap.get(f).append(a,b,c,d,e)}close(){this._isOpen=!1}open(){}undo(){for(let a of(this._isOpen=!1,this._editStackElementsArr))a.undo()}redo(){for(let a of this._editStackElementsArr)a.redo()}heapSize(a){let b=l(a);return this._editStackElementsMap.has(b)?this._editStackElementsMap.get(b).heapSize():0}split(){return this._editStackElementsArr}toString(){let a=[];for(let b of this._editStackElementsArr)a.push(`${(0,j.P8)(b.resource)}: ${b}`);return`{${a.join(", ")}}`}}function p(a){return+("\n"!==a.getEOL())}function q(a){return!!a&&(a instanceof n||a instanceof o)}class r{constructor(a,b){this._model=a,this._undoRedoService=b}pushStackElement(){let a=this._undoRedoService.getLastElement(this._model.uri);q(a)&&a.close()}popStackElement(){let a=this._undoRedoService.getLastElement(this._model.uri);q(a)&&a.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(a,b){let c=this._undoRedoService.getLastElement(this._model.uri);if(q(c)&&c.canAppend(this._model))return c;let e=new n(d.kg(781,"Typing"),"undoredo.textBufferEdit",this._model,a);return this._undoRedoService.pushElement(e,b),e}pushEOL(a){let b=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(a),b.append(this._model,[],p(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(a,b,c,d,e=k.dg.unknown({name:"pushEditOperation"})){let f=this._getOrCreateEditStackElement(a,d),g=this._model.applyEdits(b,!0,e),h=r._computeCursorState(c,g),i=g.map((a,b)=>({index:b,textChange:a.textChange}));return i.sort((a,b)=>a.textChange.oldPosition===b.textChange.oldPosition?a.index-b.index:a.textChange.oldPosition-b.textChange.oldPosition),f.append(this._model,i.map(a=>a.textChange),p(this._model),this._model.getAlternativeVersionId(),h),h}static _computeCursorState(a,b){try{return a?a(b):null}catch(a){return(0,e.dz)(a),null}}}},33868:()=>{},33903:(a,b,c)=>{"use strict";c.d(b,{A7:()=>i,Q_:()=>l,VR:()=>g,cn:()=>o,ct:()=>p,jB:()=>h,kF:()=>n,mX:()=>m});var d=c(25536),e=c(76687);c(82693);var f=c(45640);let g=(0,c(29715).u1)("contextService");function h(a){return"string"==typeof a?.id&&f.r.isUri(a.uri)}function i(a){var b;return"string"==typeof a?.id&&!h(a)&&(b=a,!("string"==typeof b?.id&&f.r.isUri(b.configPath)))}let j={id:"ext-dev"},k={id:"empty-window"};function l(a,b){return"string"==typeof a||void 0===a?"string"==typeof a?{id:(0,e.P8)(a)}:b?j:k:a.configuration?{id:a.id,configPath:a.configuration}:1===a.folders.length?{id:a.id,uri:a.folders[0].uri}:{id:a.id}}class m{constructor(a,b){this.raw=b,this.uri=a.uri,this.index=a.index,this.name=a.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}let n="code-workspace";(0,d.kg)(2032,"Code Workspace");let o="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function p(a){return a.id===o}},33973:(a,b,c)=>{"use strict";c.d(b,{N:()=>v});var d,e,f=c(32677),g=c(41022),h=c(90399),i=c(45756),j=c(11314),k=c(43589),l=c(81633),m=c(46339),n=c(25536),o=c(29715),p=c(31512),q=c(79677),r=c(59317),s=c(42350),t=c(5716),u=c(8992);let v=class extends j.jG{static{e=this}static{this._breadcrumbsSourceFactory=(0,k.FY)(e,()=>({dispose(){},getBreadcrumbItems:(a,b)=>[]}))}static setBreadcrumbsSourceFactory(a){this._breadcrumbsSourceFactory.set(a,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(a,b,c,d){super(),this._editors=a,this._diffModel=b,this._options=c,this._instantiationService=d,this._modifiedOutlineSource=(0,k.a0)(this,a=>{let b=this._editors.modifiedModel.read(a),c=e._breadcrumbsSourceFactory.read(a);return b&&c?c(b,this._instantiationService):void 0}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(a=>{if(1===a.reason)return;let b=this._diffModel.get();(0,k.Rn)(a=>{for(let c of this._editors.original.getSelections()||[])b?.ensureOriginalLineIsVisible(c.getStartPosition().lineNumber,0,a),b?.ensureOriginalLineIsVisible(c.getEndPosition().lineNumber,0,a)})})),this._register(this._editors.modified.onDidChangeCursorPosition(a=>{if(1===a.reason)return;let b=this._diffModel.get();(0,k.Rn)(a=>{for(let c of this._editors.modified.getSelections()||[])b?.ensureModifiedLineIsVisible(c.getStartPosition().lineNumber,0,a),b?.ensureModifiedLineIsVisible(c.getEndPosition().lineNumber,0,a)})}));let f=this._diffModel.map((a,b)=>{let c=a?.unchangedRegions.read(b)??[];return 1===c.length&&1===c[0].modifiedLineNumber&&c[0].lineCount===this._editors.modifiedModel.read(b)?.getLineCount()?[]:c});this.viewZones=(0,k.un)(this,a=>{let b=this._modifiedOutlineSource.read(a);if(!b)return{origViewZones:[],modViewZones:[]};let c=[],d=[],e=this._options.renderSideBySide.read(a),g=this._options.compactMode.read(a),h=f.read(a);for(let f=0;f<h.length;f++){let i=h[f];if(!i.shouldHideControls(a)&&(!g||0!==f&&f!==h.length-1))if(g){{let b=(0,k.un)(this,a=>i.getHiddenOriginalRange(a).startLineNumber-1),d=new u.D1(b,12);c.push(d),a.store.add(new w(this._editors.original,d,i,!e))}{let b=(0,k.un)(this,a=>i.getHiddenModifiedRange(a).startLineNumber-1),c=new u.D1(b,12);d.push(c),a.store.add(new w(this._editors.modified,c,i))}}else{{let d=(0,k.un)(this,a=>i.getHiddenOriginalRange(a).startLineNumber-1),f=new u.D1(d,24);c.push(f),a.store.add(new x(this._editors.original,f,i,i.originalUnchangedRange,!e,b,a=>this._diffModel.get().ensureModifiedLineIsVisible(a,2,void 0),this._options))}{let c=(0,k.un)(this,a=>i.getHiddenModifiedRange(a).startLineNumber-1),e=new u.D1(c,24);d.push(e),a.store.add(new x(this._editors.modified,e,i,i.modifiedUnchangedRange,!1,b,a=>this._diffModel.get().ensureModifiedLineIsVisible(a,2,void 0),this._options))}}}return{origViewZones:c,modViewZones:d}});let g={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},j={description:"Fold Unchanged",glyphMarginHoverMessage:new i.Bc(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,n.kg)(121,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+l.L.asClassName(h.W.fold),zIndex:10001};this._register((0,u.pY)(this._editors.original,(0,k.un)(this,a=>{let b=f.read(a),c=b.map(a=>({range:a.originalUnchangedRange.toInclusiveRange(),options:g}));for(let d of b)d.shouldHideControls(a)&&c.push({range:r.Q.fromPositions(new q.y(d.originalLineNumber,1)),options:j});return c}))),this._register((0,u.pY)(this._editors.modified,(0,k.un)(this,a=>{let b=f.read(a),c=b.map(a=>({range:a.modifiedUnchangedRange.toInclusiveRange(),options:g}));for(let d of b)d.shouldHideControls(a)&&c.push({range:p.M.ofLength(d.modifiedLineNumber,1).toInclusiveRange(),options:j});return c}))),this._register((0,k.fm)(a=>{let b=f.read(a);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(b.map(b=>b.getHiddenOriginalRange(a).toInclusiveRange()).filter(m.O9)),this._editors.modified.setHiddenAreas(b.map(b=>b.getHiddenModifiedRange(a).toInclusiveRange()).filter(m.O9))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(a=>{if(!a.event.rightButton&&a.target.position&&a.target.element?.className.includes("fold-unchanged")){let b=a.target.position.lineNumber,c=this._diffModel.get();if(!c)return;let d=c.unchangedRegions.get().find(a=>a.modifiedUnchangedRange.contains(b));d&&(d.collapseAll(void 0),a.event.stopPropagation(),a.event.preventDefault())}})),this._register(this._editors.original.onMouseUp(a=>{if(!a.event.rightButton&&a.target.position&&a.target.element?.className.includes("fold-unchanged")){let b=a.target.position.lineNumber,c=this._diffModel.get();if(!c)return;let d=c.unchangedRegions.get().find(a=>a.originalUnchangedRange.contains(b));d&&(d.collapseAll(void 0),a.event.stopPropagation(),a.event.preventDefault())}}))}};v=e=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(d=o._Y,function(a,b){d(a,b,3)})],v);class w extends u.uN{constructor(a,b,c,d=!1){let e=(0,f.h)("div.diff-hidden-lines-widget");super(a,b,e.root),this._unchangedRegion=c,this._hide=d,this._nodes=(0,f.h)("div.diff-hidden-lines-compact",[(0,f.h)("div.line-left",[]),(0,f.h)("div.text@text",[]),(0,f.h)("div.line-right",[])]),e.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,k.fm)(a=>{if(!this._hide){let b=this._unchangedRegion.getHiddenModifiedRange(a).length,c=(0,n.kg)(122,"{0} hidden lines",b);this._nodes.text.innerText=c}}))}}class x extends u.uN{constructor(a,b,c,d,e,i,j,l){let m=(0,f.h)("div.diff-hidden-lines-widget");super(a,b,m.root),this._editor=a,this._unchangedRegion=c,this._unchangedRegionRange=d,this._hide=e,this._modifiedOutlineSource=i,this._revealModifiedHiddenLine=j,this._options=l,this._nodes=(0,f.h)("div.diff-hidden-lines",[(0,f.h)("div.top@top",{title:(0,n.kg)(123,"Click or drag to show more above")}),(0,f.h)("div.center@content",{style:{display:"flex"}},[(0,f.h)("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[(0,f.$)("a",{title:(0,n.kg)(124,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...(0,g.n)("$(unfold)"))]),(0,f.h)("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),(0,f.h)("div.bottom@bottom",{title:(0,n.kg)(125,"Click or drag to show more below"),role:"button"})]),m.root.appendChild(this._nodes.root),this._hide?(0,f.Ln)(this._nodes.first):this._register((0,u.AV)(this._nodes.first,{width:(0,t.U)(this._editor).layoutInfoContentLeft})),this._register((0,k.fm)(a=>{let b=this._unchangedRegion.visibleLineCountTop.read(a)+this._unchangedRegion.visibleLineCountBottom.read(a)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!b),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(a)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(a)>0),this._nodes.top.classList.toggle("canMoveBottom",!b);let c=this._unchangedRegion.isDragged.read(a),d=this._editor.getDomNode();d&&(d.classList.toggle("draggingUnchangedRegion",!!c),"top"===c?(d.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(a)>0),d.classList.toggle("canMoveBottom",!b)):"bottom"===c?(d.classList.toggle("canMoveTop",!b),d.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(a)>0)):(d.classList.toggle("canMoveTop",!1),d.classList.toggle("canMoveBottom",!1)))}));let o=this._editor;this._register((0,f.ko)(this._nodes.top,"mousedown",a=>{if(0!==a.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),a.preventDefault();let b=a.clientY,c=!1,d=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);let e=(0,f.zk)(this._nodes.top),g=(0,f.ko)(e,"mousemove",a=>{let e=a.clientY-b;c=c||Math.abs(e)>2;let f=Math.max(0,Math.min(d+Math.round(e/o.getOption(75)),this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(f,void 0)}),h=(0,f.ko)(e,"mouseup",a=>{c||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),g.dispose(),h.dispose()})})),this._register((0,f.ko)(this._nodes.bottom,"mousedown",a=>{if(0!==a.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),a.preventDefault();let b=a.clientY,c=!1,d=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);let e=(0,f.zk)(this._nodes.bottom),g=(0,f.ko)(e,"mousemove",a=>{let e=a.clientY-b;c=c||Math.abs(e)>2;let f=Math.max(0,Math.min(d-Math.round(e/o.getOption(75)),this._unchangedRegion.getMaxVisibleLineCountBottom())),g=this._unchangedRegionRange.endLineNumberExclusive>o.getModel().getLineCount()?o.getContentHeight():o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(f,void 0);let h=this._unchangedRegionRange.endLineNumberExclusive>o.getModel().getLineCount()?o.getContentHeight():o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);o.setScrollTop(o.getScrollTop()+(h-g))}),h=(0,f.ko)(e,"mouseup",a=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!c){let a=o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let b=o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);o.setScrollTop(o.getScrollTop()+(b-a))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),g.dispose(),h.dispose()})})),this._register((0,k.fm)(a=>{let b=[];if(!this._hide){let d=c.getHiddenModifiedRange(a).length,e=(0,n.kg)(126,"{0} hidden lines",d),i=(0,f.$)("span",{title:(0,n.kg)(127,"Double click to unfold")},e);i.addEventListener("dblclick",a=>{0===a.button&&(a.preventDefault(),this._unchangedRegion.showAll(void 0))}),b.push(i);let j=this._unchangedRegion.getHiddenModifiedRange(a),k=this._modifiedOutlineSource.getBreadcrumbItems(j,a);if(k.length>0){b.push((0,f.$)("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let a=0;a<k.length;a++){let c=k[a],d=s.gP.toIcon(c.kind),e=(0,f.h)("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[(0,g.s)(d),"\xa0",c.name,...a===k.length-1?[]:[(0,g.s)(h.W.chevronRight)]]).root;b.push(e),e.onclick=()=>{this._revealModifiedHiddenLine(c.startLineNumber)}}}}(0,f.Ln)(this._nodes.others,...b)}))}}},34266:()=>{},34372:(a,b,c)=>{"use strict";c.d(b,{As:()=>f,qg:()=>g});var d=c(5030),e=c(45640);function f(a){return JSON.stringify(a,h)}function g(a){let b=JSON.parse(a);return function a(b,c=0){if(!b||c>200)return b;if("object"==typeof b){switch(b.$mid){case 1:return e.r.revive(b);case 2:return new RegExp(b.source,b.flags);case 17:return new Date(b.source)}if(b instanceof d.MB||b instanceof Uint8Array)return b;if(Array.isArray(b))for(let d=0;d<b.length;++d)b[d]=a(b[d],c+1);else for(let d in b)Object.hasOwnProperty.call(b,d)&&(b[d]=a(b[d],c+1))}return b}(b)}function h(a,b){return b instanceof RegExp?{$mid:2,source:b.source,flags:b.flags}:b}},34509:(a,b,c)=>{"use strict";c.d(b,{W:()=>e});let d=globalThis.performance.now.bind(globalThis.performance);class e{static create(a){return new e(a)}constructor(a){this._now=!1===a?Date.now:d,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return -1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},34634:(a,b,c)=>{"use strict";c.d(b,{$z:()=>r,BA:()=>t,DW:()=>s,Hh:()=>l,Qn:()=>u,dO:()=>q,i_:()=>p,nz:()=>k,wt:()=>o});var d=c(32677),e=c(76136),f=c(4120),g=c(21280),h=c(40565),i=c(11314),j=c(78323);class k{constructor(a,b){this.x=a,this.y=b,this._pageCoordinatesBrand=void 0}toClientCoordinates(a){return new l(this.x-a.scrollX,this.y-a.scrollY)}}class l{constructor(a,b){this.clientX=a,this.clientY=b,this._clientCoordinatesBrand=void 0}toPageCoordinates(a){return new k(this.clientX+a.scrollX,this.clientY+a.scrollY)}}class m{constructor(a,b,c,d){this.x=a,this.y=b,this.width=c,this.height=d,this._editorPagePositionBrand=void 0}}class n{constructor(a,b){this.x=a,this.y=b,this._positionRelativeToEditorBrand=void 0}}function o(a){let b=d.BK(a);return new m(b.left,b.top,b.width,b.height)}function p(a,b,c){let d=b.width/a.offsetWidth,e=b.height/a.offsetHeight;return new n((c.x-b.x)/d,(c.y-b.y)/e)}class q extends g.P{constructor(a,b,c){super(d.zk(c),a),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=b,this.pos=new k(this.posx,this.posy),this.editorPos=o(c),this.relativePos=p(c,this.editorPos,this.pos)}}class r{constructor(a){this._editorViewDomNode=a}_create(a){return new q(a,!1,this._editorViewDomNode)}onContextMenu(a,b){return d.ko(a,d.Bx.CONTEXT_MENU,a=>{b(this._create(a))})}onMouseUp(a,b){return d.ko(a,d.Bx.MOUSE_UP,a=>{b(this._create(a))})}onMouseDown(a,b){return d.ko(a,d.Bx.MOUSE_DOWN,a=>{b(this._create(a))})}onPointerDown(a,b){return d.ko(a,d.Bx.POINTER_DOWN,a=>{b(this._create(a),a.pointerId)})}onMouseLeave(a,b){return d.ko(a,d.Bx.MOUSE_LEAVE,a=>{b(this._create(a))})}onMouseMove(a,b){return d.ko(a,d.Bx.MOUSE_MOVE,a=>b(this._create(a)))}}class s{constructor(a){this._editorViewDomNode=a}_create(a){return new q(a,!1,this._editorViewDomNode)}onPointerUp(a,b){return d.ko(a,"pointerup",a=>{b(this._create(a))})}onPointerDown(a,b){return d.ko(a,d.Bx.POINTER_DOWN,a=>{b(this._create(a),a.pointerId)})}onPointerLeave(a,b){return d.ko(a,d.Bx.POINTER_LEAVE,a=>{b(this._create(a))})}onPointerMove(a,b){return d.ko(a,"pointermove",a=>b(this._create(a)))}}class t extends i.jG{constructor(a){super(),this._editorViewDomNode=a,this._globalPointerMoveMonitor=this._register(new f._),this._keydownListener=null}startMonitoring(a,b,c,e,f){this._keydownListener=d.un(a.ownerDocument,"keydown",a=>{a.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,a.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(a,b,c,a=>{e(new q(a,!0,this._editorViewDomNode))},a=>{this._keydownListener.dispose(),f(a)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class u{static{this._idPool=0}constructor(a){this._editor=a,this._instanceId=++u._idPool,this._counter=0,this._rules=new i.$w,this._garbageCollectionScheduler=new h.uC(()=>this.garbageCollect(),1e3)}dispose(){this._rules.dispose(),this._garbageCollectionScheduler.dispose()}createClassNameRef(a){let b=this.getOrCreateRule(a);return b.increaseRefCount(),{className:b.className,dispose:()=>{b.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(a){let b=this.computeUniqueKey(a),c=this._rules.get(b);if(!c){let e=this._counter++;c=new v(b,`dyn-rule-${this._instanceId}-${e}`,d.Cl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,a),this._rules.set(b,c)}return c}computeUniqueKey(a){return JSON.stringify(a)}garbageCollect(){for(let a of this._rules.values())a.hasReferences()||this._rules.deleteAndDispose(a.key)}}class v{constructor(a,b,c,d){this.key=a,this.className=b,this.properties=d,this._referenceCount=0,this._styleElementDisposables=new i.Cm,this._styleElement=e.li(c,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(a,b){let c=`.${a} {`;for(let a in b){let d,e=b[a];d="object"==typeof e?(0,j.GuP)(e.id):e;let f=a.replace(/(^[A-Z])/,([a])=>a.toLowerCase()).replace(/([A-Z])/g,([a])=>`-${a.toLowerCase()}`);c+=`
|
|
88
|
+
`,constraint:function(a){return!!e.Gv(a)&&!!e.Kg(a.to)&&(!!e.b0(a.select)||!!e.Lm(a.select))&&(!!e.b0(a.by)||!!e.Kg(a.by))&&(!!e.b0(a.value)||!!e.Et(a.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},a.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},a.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},a.parse=function(b){let c;if(!b.to)return null;switch(b.to){case a.RawDirection.Left:c=0;break;case a.RawDirection.Right:c=1;break;case a.RawDirection.Up:c=2;break;case a.RawDirection.Down:c=3;break;case a.RawDirection.PrevBlankLine:c=4;break;case a.RawDirection.NextBlankLine:c=5;break;case a.RawDirection.WrappedLineStart:c=6;break;case a.RawDirection.WrappedLineFirstNonWhitespaceCharacter:c=7;break;case a.RawDirection.WrappedLineColumnCenter:c=8;break;case a.RawDirection.WrappedLineEnd:c=9;break;case a.RawDirection.WrappedLineLastNonWhitespaceCharacter:c=10;break;case a.RawDirection.ViewPortTop:c=11;break;case a.RawDirection.ViewPortBottom:c=13;break;case a.RawDirection.ViewPortCenter:c=12;break;case a.RawDirection.ViewPortIfOutside:c=14;break;default:return null}let d=0;switch(b.by){case a.RawUnit.Line:d=1;break;case a.RawUnit.WrappedLine:d=2;break;case a.RawUnit.Character:d=3;break;case a.RawUnit.HalfLine:d=4}return{direction:c,unit:d,select:!!b.select,value:b.value||1}}}(d||(d={}))},29214:(a,b,c)=>{"use strict";c.d(b,{h:()=>g});var d=c(83594),e=c(59298),f=c(72192);function g(a,b,c,g){b.tokenization.forceTokenization(c.startLineNumber);let h=b.getLanguageIdAtPosition(c.startLineNumber,c.startColumn),i=g.getLanguageConfiguration(h);if(!i)return null;let j=new f.V(b,g).getProcessedTokenContextAroundRange(c),k=j.previousLineProcessedTokens.getLineContent(),l=j.beforeRangeProcessedTokens.getLineContent(),m=j.afterRangeProcessedTokens.getLineContent(),n=i.onEnter(a,k,l,m);if(!n)return null;let o=n.indentAction,p=n.appendText,q=n.removeText||0;p?o===d.l.Indent&&(p=" "+p):p=o===d.l.Indent||o===d.l.IndentOutdent?" ":"";let r=(0,e.Cw)(b,c.startLineNumber,c.startColumn);return q&&(r=r.substring(0,r.length-q)),{indentAction:o,appendText:p,removeText:q,indentation:r}}},29688:()=>{},29715:(a,b,c)=>{"use strict";var d;c.d(b,{_$:()=>d,_Y:()=>e,u1:()=>f}),function(a){a.serviceIds=new Map,a.DI_TARGET="$di$target",a.DI_DEPENDENCIES="$di$dependencies",a.getServiceDependencies=function(b){return b[a.DI_DEPENDENCIES]||[]}}(d||(d={}));let e=f("instantiationService");function f(a){if(d.serviceIds.has(a))return d.serviceIds.get(a);let b=function(a,c,e){if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");a[d.DI_TARGET]===a?a[d.DI_DEPENDENCIES].push({id:b,index:e}):(a[d.DI_DEPENDENCIES]=[{id:b,index:e}],a[d.DI_TARGET]=a)};return b.toString=()=>a,d.serviceIds.set(a,b),b}},29734:(a,b,c)=>{"use strict";c.d(b,{g:()=>k});var d=c(98447),e=c(70588),f=c(69467),g=c(29949),h=c(78508),i=c(59317),j=c(79677);class k{static deleteRight(a,b,c,d){let f=[],g=3!==a;for(let a=0,h=d.length;a<h;a++){let h=d[a],i=this.getDeleteRightRange(h,c,b);if(i.isEmpty()){f[a]=null;continue}i.startLineNumber!==i.endLineNumber&&(g=!0),f[a]=new e.iu(i,"")}return[g,f]}static getDeleteRightRange(a,b,c){if(!a.isEmpty())return a;let d=a.getPosition(),e=h.I.right(c,b,d);if(c.trimWhitespaceOnDelete&&e.lineNumber!==d.lineNumber){let a=b.getLineFirstNonWhitespaceColumn(d.lineNumber)>0,c=b.getLineFirstNonWhitespaceColumn(e.lineNumber);if(a&&c>0)return new i.Q(e.lineNumber,c,d.lineNumber,d.column)}return new i.Q(e.lineNumber,e.column,d.lineNumber,d.column)}static isAutoClosingPairDelete(a,b,c,d,e,g,h){if("never"===b&&"never"===c||"never"===a)return!1;for(let i=0,j=g.length;i<j;i++){let j=g[i],k=j.getPosition();if(!j.isEmpty())return!1;let l=e.getLineContent(k.lineNumber);if(k.column<2||k.column>=l.length+1)return!1;let m=l.charAt(k.column-2),n=d.get(m);if(!n)return!1;if((0,f.vG)(m)){if("never"===c)return!1}else if("never"===b)return!1;let o=l.charAt(k.column-1),p=!1;for(let a of n)a.open===m&&a.close===o&&(p=!0);if(!p)return!1;if("auto"===a){let a=!1;for(let b=0,c=h.length;b<c;b++){let c=h[b];if(k.lineNumber===c.startLineNumber&&k.column===c.startColumn){a=!0;break}}if(!a)return!1}}return!0}static _runAutoClosingPairDelete(a,b,c){let d=[];for(let a=0,b=c.length;a<b;a++){let b=c[a].getPosition(),f=new i.Q(b.lineNumber,b.column-1,b.lineNumber,b.column+1);d[a]=new e.iu(f,"")}return[!0,d]}static deleteLeft(a,b,c,d,f){if(this.isAutoClosingPairDelete(b.autoClosingDelete,b.autoClosingBrackets,b.autoClosingQuotes,b.autoClosingPairs.autoClosingPairsOpenByEnd,c,d,f))return this._runAutoClosingPairDelete(b,c,d);let g=[],h=2!==a;for(let a=0,f=d.length;a<f;a++){let f=k.getDeleteLeftRange(d[a],c,b);if(f.isEmpty()){g[a]=null;continue}f.startLineNumber!==f.endLineNumber&&(h=!0),g[a]=new e.iu(f,"")}return[h,g]}static getDeleteLeftRange(a,b,c){if(!a.isEmpty())return a;let e=a.getPosition();if(c.useTabStops&&e.column>1){let a=b.getLineContent(e.lineNumber),f=d.HG(a),h=-1===f?a.length+1:f+1;if(e.column<=h){let a=c.visibleColumnFromColumn(b,e),d=g.A.prevIndentTabStop(a,c.indentSize),f=c.columnFromVisibleColumn(b,e.lineNumber,d);return new i.Q(e.lineNumber,f,e.lineNumber,e.column)}}return i.Q.fromPositions(k.getPositionAfterDeleteLeft(e,b),e)}static getPositionAfterDeleteLeft(a,b){if(a.column>1){let c=d.Wd(a.column-1,b.getLineContent(a.lineNumber));return a.with(void 0,c+1)}if(!(a.lineNumber>1))return a;{let c=a.lineNumber-1;return new j.y(c,b.getLineMaxColumn(c))}}static cut(a,b,c){let d=[],g=null;c.sort((a,b)=>j.y.compare(a.getStartPosition(),b.getEndPosition()));for(let f=0,h=c.length;f<h;f++){let h=c[f];if(h.isEmpty())if(a.emptySelectionClipboard){let a,c,j,k,l=h.getPosition();l.lineNumber<b.getLineCount()?(a=l.lineNumber,c=1,j=l.lineNumber+1,k=1):(l.lineNumber>1&&g?.endLineNumber!==l.lineNumber?(a=l.lineNumber-1,c=b.getLineMaxColumn(l.lineNumber-1)):(a=l.lineNumber,c=1),j=l.lineNumber,k=b.getLineMaxColumn(l.lineNumber));let m=new i.Q(a,c,j,k);g=m,m.isEmpty()?d[f]=null:d[f]=new e.iu(m,"")}else d[f]=null;else d[f]=new e.iu(h,"")}return new f.vY(0,d,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}},29813:(a,b,c)=>{"use strict";function d(a,b){"number"!=typeof a.vscodeWindowId&&Object.defineProperty(a,"vscodeWindowId",{get:()=>b})}c.d(b,{G:()=>e,y:()=>d});let e=window},29892:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{Su:()=>l,b7:()=>k,fe:()=>m});var g=c(98447),h=c(56167),i=c(5030);function j(){return d||(d=new TextDecoder("UTF-16LE")),d}function k(){return f||(f=h.cm()?j():(e||(e=new TextDecoder("UTF-16BE")),e)),f}function l(a,b,c){let d=new Uint16Array(a.buffer,b,c);return c>0&&(65279===d[0]||65534===d[0])?function(a,b,c){let d=[],e=0;for(let f=0;f<c;f++){let c=i.$l(a,b);b+=2,d[e++]=String.fromCharCode(c)}return d.join("")}(a,b,c):j().decode(d)}class m{constructor(a){this._capacity=0|a,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";let a=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return k().decode(a)}_flushBuffer(){let a=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[a]:this._completedStrings[this._completedStrings.length]=a}appendCharCode(a){let b=this._capacity-this._bufferLength;b<=1&&(0===b||g.pc(a))&&this._flushBuffer(),this._buffer[this._bufferLength++]=a}appendASCIICharCode(a){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=a}appendString(a){let b=a.length;if(this._bufferLength+b>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=a;return}for(let c=0;c<b;c++)this._buffer[this._bufferLength++]=a.charCodeAt(c)}}},29949:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(98447);class e{static _nextVisibleColumn(a,b,c){return 9===a?e.nextRenderTabStop(b,c):d.ne(a)||d.Ss(a)?b+2:b+1}static visibleColumnFromColumn(a,b,c){let e=Math.min(b-1,a.length),f=a.substring(0,e),g=new d.km(f),h=0;for(;!g.eol();){let a=d.Z5(f,e,g.offset);g.nextGraphemeLength(),h=this._nextVisibleColumn(a,h,c)}return h}static columnFromVisibleColumn(a,b,c){if(b<=0)return 1;let e=a.length,f=new d.km(a),g=0,h=1;for(;!f.eol();){let i=d.Z5(a,e,f.offset);f.nextGraphemeLength();let j=this._nextVisibleColumn(i,g,c),k=f.offset+1;if(j>=b){let a=b-g;if(j-b<a)return k;return h}g=j,h=k}return e+1}static nextRenderTabStop(a,b){return a+b-a%b}static nextIndentTabStop(a,b){return e.nextRenderTabStop(a,b)}static prevRenderTabStop(a,b){return Math.max(0,a-1-(a-1)%b)}static prevIndentTabStop(a,b){return e.prevRenderTabStop(a,b)}}},30810:()=>{},30834:(a,b,c)=>{"use strict";c.d(b,{$B:()=>j,Dk:()=>l,IN:()=>n,RE:()=>p,XS:()=>q,cv:()=>g,ho:()=>k,ir:()=>f,m$:()=>m,mk:()=>i,oJ:()=>h,t8:()=>o});var d=c(78323),e=c(23949);let f={keybindingLabelBackground:(0,d.GuP)(d.HDX),keybindingLabelForeground:(0,d.GuP)(d.eUu),keybindingLabelBorder:(0,d.GuP)(d.zUX),keybindingLabelBottomBorder:(0,d.GuP)(d.Qfh),keybindingLabelShadow:(0,d.GuP)(d.f9l)},g={buttonForeground:(0,d.GuP)(d.G_h),buttonSeparator:(0,d.GuP)(d.Q1$),buttonBackground:(0,d.GuP)(d.XJc),buttonHoverBackground:(0,d.GuP)(d.T9h),buttonSecondaryForeground:(0,d.GuP)(d.Inn),buttonSecondaryBackground:(0,d.GuP)(d.xOA),buttonSecondaryHoverBackground:(0,d.GuP)(d.nZG),buttonBorder:(0,d.GuP)(d.raQ)},h={progressBarBackground:(0,d.GuP)(d.BTi)},i={inputActiveOptionBorder:(0,d.GuP)(d.uNK),inputActiveOptionForeground:(0,d.GuP)(d.$$0),inputActiveOptionBackground:(0,d.GuP)(d.c1f)};(0,d.GuP)(d.jOE),(0,d.GuP)(d.Ukx),(0,d.GuP)(d.Ips),(0,d.GuP)(d.kPT),(0,d.GuP)(d.xWN),(0,d.GuP)(d.ZBU),(0,d.GuP)(d.jr9);let j={checkboxBackground:(0,d.GuP)(d.OcU),checkboxBorder:(0,d.GuP)(d.C5U),checkboxForeground:(0,d.GuP)(d.t0B),checkboxDisabledBackground:(0,d.GuP)(d.Uv),checkboxDisabledForeground:(0,d.GuP)(d.hsb)};(0,d.GuP)(d.CgL),(0,d.GuP)(d.FiB),(0,d.GuP)(d.f9l),(0,d.GuP)(d.DSL),(0,d.GuP)(d.tYX),(0,d.GuP)(d.JPj),(0,d.GuP)(d.bNw),(0,d.GuP)(d.vwp);let k={inputBackground:(0,d.GuP)(d.L4c),inputForeground:(0,d.GuP)(d.cws),inputBorder:(0,d.GuP)(d.Zgs),inputValidationInfoBorder:(0,d.GuP)(d.YSW),inputValidationInfoBackground:(0,d.GuP)(d.I$A),inputValidationInfoForeground:(0,d.GuP)(d.L9Z),inputValidationWarningBorder:(0,d.GuP)(d.C1n),inputValidationWarningBackground:(0,d.GuP)(d.ULt),inputValidationWarningForeground:(0,d.GuP)(d.T5N),inputValidationErrorBorder:(0,d.GuP)(d.eYZ),inputValidationErrorBackground:(0,d.GuP)(d._$n),inputValidationErrorForeground:(0,d.GuP)(d.h9z)},l={listFilterWidgetBackground:(0,d.GuP)(d.pnl),listFilterWidgetOutline:(0,d.GuP)(d.fiM),listFilterWidgetNoMatchesOutline:(0,d.GuP)(d.P9Z),listFilterWidgetShadow:(0,d.GuP)(d.H8q),inputBoxStyles:k,toggleStyles:i},m={badgeBackground:(0,d.GuP)(d.WMx),badgeForeground:(0,d.GuP)(d.zRE),badgeBorder:(0,d.GuP)(d.b1q)};(0,d.GuP)(d.vV$),(0,d.GuP)(d.mc0),(0,d.GuP)(d.etE),(0,d.GuP)(d.etE),(0,d.GuP)(d.sAS);let n={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:(0,d.GuP)(d.VFX),listFocusForeground:(0,d.GuP)(d.efJ),listFocusOutline:(0,d.GuP)(d.p7Y),listActiveSelectionBackground:(0,d.GuP)(d.Rjz),listActiveSelectionForeground:(0,d.GuP)(d.GVV),listActiveSelectionIconForeground:(0,d.GuP)(d.fED),listFocusAndSelectionOutline:(0,d.GuP)(d.gtq),listFocusAndSelectionBackground:(0,d.GuP)(d.Rjz),listFocusAndSelectionForeground:(0,d.GuP)(d.GVV),listInactiveSelectionBackground:(0,d.GuP)(d.uNx),listInactiveSelectionIconForeground:(0,d.GuP)(d.C9U),listInactiveSelectionForeground:(0,d.GuP)(d.f4y),listInactiveFocusBackground:(0,d.GuP)(d.CQ3),listInactiveFocusOutline:(0,d.GuP)(d.ijf),listHoverBackground:(0,d.GuP)(d.lO1),listHoverForeground:(0,d.GuP)(d.QRv),listDropOverBackground:(0,d.GuP)(d.Yoe),listDropBetweenBackground:(0,d.GuP)(d.yIp),listSelectionOutline:(0,d.GuP)(d.buw),listHoverOutline:(0,d.GuP)(d.buw),treeIndentGuidesStroke:(0,d.GuP)(d.U4U),treeInactiveIndentGuidesStroke:(0,d.GuP)(d.pft),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:(0,d.GuP)(d.bXl),tableColumnsBorder:(0,d.GuP)(d.k5u),tableOddRowsBackgroundColor:(0,d.GuP)(d.sbQ)};function o(a){let b={...n};for(let c in a){let e=a[c];b[c]=void 0!==e?(0,d.GuP)(e):void 0}return b}let p={selectBackground:(0,d.GuP)(d.rvE),selectListBackground:(0,d.GuP)(d.lWP),selectForeground:(0,d.GuP)(d.yqq),decoratorRightForeground:(0,d.GuP)(d.NBf),selectBorder:(0,d.GuP)(d.HcB),focusBorder:(0,d.GuP)(d.tAP),listFocusBackground:(0,d.GuP)(d.AlL),listInactiveSelectionIconForeground:(0,d.GuP)(d.c7i),listFocusForeground:(0,d.GuP)(d.nH),listFocusOutline:(0,d.HP_)(d.buw,e.Q1.transparent.toString()),listHoverBackground:(0,d.GuP)(d.lO1),listHoverForeground:(0,d.GuP)(d.QRv),listHoverOutline:(0,d.GuP)(d.buw),selectListBorder:(0,d.GuP)(d.sIe),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},q={shadowColor:(0,d.GuP)(d.f9l),borderColor:(0,d.GuP)(d.g$2),foregroundColor:(0,d.GuP)(d.dd_),backgroundColor:(0,d.GuP)(d.c6Y),selectionForegroundColor:(0,d.GuP)(d.pmr),selectionBackgroundColor:(0,d.GuP)(d.Ux$),selectionBorderColor:(0,d.GuP)(d.SNb),separatorColor:(0,d.GuP)(d.D7X),scrollbarShadow:(0,d.GuP)(d.bXl),scrollbarSliderBackground:(0,d.GuP)(d.gnV),scrollbarSliderHoverBackground:(0,d.GuP)(d.cI_),scrollbarSliderActiveBackground:(0,d.GuP)(d.mhZ)}},30906:()=>{},30919:(a,b,c)=>{"use strict";c.d(b,{i:()=>o,b:()=>p}),c(48268);var d=c(42484),e=c(66153),f=c(79677),g=c(59317),h=c(6657);class i{constructor(a=5){this.timesPerSecond=a,this._lastRun=0,this._minimumTimeBetweenRuns=1e3/a}runIfNotLimited(a){let b=Date.now();b-this._lastRun>=this._minimumTimeBetweenRuns&&(this._lastRun=b,a())}}class j{static create(a,b){return new j(a,new k(b))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(a,b){this._startLineNumber=a,this._tokens=b,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(a){return this._startLineNumber<=a&&a<=this._endLineNumber?this._tokens.getLineTokens(a-this._startLineNumber):null}getRange(){let a=this._tokens.getRange();return a?new g.Q(this._startLineNumber+a.startLineNumber,a.startColumn,this._startLineNumber+a.endLineNumber,a.endColumn):a}removeTokens(a){let b=a.startLineNumber-this._startLineNumber,c=a.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(b,a.startColumn-1,c,a.endColumn-1),this._updateEndLineNumber()}split(a){let b=a.startLineNumber-this._startLineNumber,c=a.endLineNumber-this._startLineNumber,[d,e,f]=this._tokens.split(b,a.startColumn-1,c,a.endColumn-1);return[new j(this._startLineNumber,d),new j(this._startLineNumber+f,e)]}applyEdit(a,b){let[c,d,e]=(0,h.W)(b);this.acceptEdit(a,c,d,e,b.length>0?b.charCodeAt(0):0)}acceptEdit(a,b,c,d,e){this._acceptDeleteRange(a),this._acceptInsertText(new f.y(a.startLineNumber,a.startColumn),b,c,d,e),this._updateEndLineNumber()}_acceptDeleteRange(a){if(a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn)return;let b=a.startLineNumber-this._startLineNumber,c=a.endLineNumber-this._startLineNumber;if(c<0){let a=c-b;this._startLineNumber-=a;return}let d=this._tokens.getMaxDeltaLine();if(!(b>=d+1)){if(b<0&&c>=d+1){this._startLineNumber=0,this._tokens.clear();return}if(b<0){let d=-b;this._startLineNumber-=d,this._tokens.acceptDeleteRange(a.startColumn-1,0,0,c,a.endColumn-1)}else this._tokens.acceptDeleteRange(0,b,a.startColumn-1,c,a.endColumn-1)}}_acceptInsertText(a,b,c,d,e){if(0===b&&0===c)return;let f=a.lineNumber-this._startLineNumber;if(f<0){this._startLineNumber+=b;return}f>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(f,a.column-1,b,c,d,e)}reportIfInvalid(a){this._tokens.reportIfInvalid(a,this._startLineNumber)}}class k{constructor(a){this._tokens=a,this._tokenCount=a.length/4}toString(a){let b=[];for(let c=0;c<this._tokenCount;c++)b.push(`(${this._getDeltaLine(c)+a},${this._getStartCharacter(c)}-${this._getEndCharacter(c)})`);return`[${b.join(",")}]`}getMaxDeltaLine(){let a=this._getTokenCount();return 0===a?-1:this._getDeltaLine(a-1)}getRange(){let a=this._getTokenCount();if(0===a)return null;let b=this._getStartCharacter(0),c=this._getDeltaLine(a-1),d=this._getEndCharacter(a-1);return new g.Q(0,b+1,c,d+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(a){return this._tokens[4*a]}_getStartCharacter(a){return this._tokens[4*a+1]}_getEndCharacter(a){return this._tokens[4*a+2]}isEmpty(){return 0===this._getTokenCount()}getLineTokens(a){let b=0,c=this._getTokenCount()-1;for(;b<c;){let d=b+Math.floor((c-b)/2),e=this._getDeltaLine(d);if(e<a)b=d+1;else if(e>a)c=d-1;else{let e=d;for(;e>b&&this._getDeltaLine(e-1)===a;)e--;let f=d;for(;f<c&&this._getDeltaLine(f+1)===a;)f++;return new l(this._tokens.subarray(4*e,4*f+4))}}return this._getDeltaLine(b)===a?new l(this._tokens.subarray(4*b,4*b+4)):null}clear(){this._tokenCount=0}removeTokens(a,b,c,d){let e=this._tokens,f=this._tokenCount,g=0,h=!1,i=0;for(let j=0;j<f;j++){let f=4*j,k=e[f],l=e[f+1],m=e[f+2],n=e[f+3];if((k>a||k===a&&m>=b)&&(k<c||k===c&&l<=d))h=!0;else{if(0===g&&(i=k),h){let a=4*g;e[a]=k-i,e[a+1]=l,e[a+2]=m,e[a+3]=n}g++}}return this._tokenCount=g,i}split(a,b,c,d){let e=this._tokens,f=this._tokenCount,g=[],h=[],i=g,j=0,l=0;for(let g=0;g<f;g++){let f=4*g,k=e[f],m=e[f+1],n=e[f+2],o=e[f+3];if(k>a||k===a&&n>=b)if(k<c||k===c&&m<=d)continue;else i!==h&&(i=h,j=0,l=k);i[j++]=k-l,i[j++]=m,i[j++]=n,i[j++]=o}return[new k(new Uint32Array(g)),new k(new Uint32Array(h)),l]}acceptDeleteRange(a,b,c,d,e){let f=this._tokens,g=this._tokenCount,h=d-b,i=0,j=!1;for(let k=0;k<g;k++){let l=4*k,m=f[l],n=f[l+1],o=f[l+2],p=f[l+3];if(m<b||m===b&&o<=c){i++;continue}if(m===b&&n<c)m===d&&o>e?o-=e-c:o=c;else if(m===b&&n===c)if(m===d&&o>e)o-=e-c;else{j=!0;continue}else if(m<d||m===d&&n<e)if(m===d&&o>e)m=b,o=(n=c)+(o-e);else{j=!0;continue}else if(m>d){if(0===h&&!j){i=g;break}m-=h}else if(m===d&&n>=e)a&&0===m&&(n+=a,o+=a),m-=h,n-=e-c,o-=e-c;else throw Error("Not possible!");let q=4*i;f[q]=m,f[q+1]=n,f[q+2]=o,f[q+3]=p,i++}this._tokenCount=i}acceptInsertText(a,b,c,d,e,f){let g=0===c&&1===d&&(f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122),h=this._tokens,i=this._tokenCount;for(let f=0;f<i;f++){let i=4*f,j=h[i],k=h[i+1],l=h[i+2];if(!(j<a)&&(j!==a||!(l<b))){if(j===a&&l===b)if(!g)continue;else l+=1;else if(j===a&&k<b&&b<l)0===c?l+=d:l=b;else{if(j===a&&k===b&&g)continue;if(j===a)if(j+=c,0===c)k+=d,l+=d;else{let a=l-k;l=(k=e+(k-b))+a}else j+=c}h[i]=j,h[i+1]=k,h[i+2]=l}}}static{this._rateLimiter=new i(10/60)}reportIfInvalid(a,b){for(let c=0;c<this._tokenCount;c++){let d=this._getDeltaLine(c)+b;d<1?k._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: lineNumber < 1")}):d>a.getLineCount()?k._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()")}):this._getEndCharacter(c)>a.getLineLength(d)&&k._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)")})}}}class l{constructor(a){this._tokens=a}getCount(){return this._tokens.length/4}getStartCharacter(a){return this._tokens[4*a+1]}getEndCharacter(a){return this._tokens[4*a+2]}getMetadata(a){return this._tokens[4*a+3]}}var m=c(81190),n=function(a,b){return function(c,d){b(c,d,a)}};let o=class{constructor(a,b,c,d){this._legend=a,this._themeService=b,this._languageService=c,this._logService=d,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new r}getMetadata(a,b,c){let d,e=this._languageService.languageIdCodec.encodeLanguageId(c),f=this._hashTable.get(a,b,e);if(f)d=f.metadata;else{let f=this._legend.tokenTypes[a],g=[];if(f){let a=b;for(let b=0;a>0&&b<this._legend.tokenModifiers.length;b++)1&a&&g.push(this._legend.tokenModifiers[b]),a>>=1;let e=this._themeService.getColorTheme().getTokenStyleMetadata(f,g,c);void 0===e?d=0x7fffffff:(d=0,void 0!==e.italic&&(d|=1|!!e.italic<<11),void 0!==e.bold&&(d|=2|2*!!e.bold<<11),void 0!==e.underline&&(d|=4|4*!!e.underline<<11),void 0!==e.strikethrough&&(d|=8|8*!!e.strikethrough<<11),e.foreground&&(d|=16|e.foreground<<15),0===d&&(d=0x7fffffff))}else d=0x7fffffff,f="not-in-legend";this._hashTable.add(a,b,e,d)}return d}warnOverlappingSemanticTokens(a,b){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${a}, column ${b}`))}warnInvalidLengthSemanticTokens(a,b){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${a}, column ${b}`))}warnInvalidEditStart(a,b,c,d,e){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${a}, resultId: ${b}) at edit #${c}: The provided start offset ${d} is outside the previous data (length ${e}).`))}};function p(a,b,c){let d=a.data,e=a.data.length/5|0,f=Math.max(Math.ceil(e/1024),400),g=[],h=0,i=1,k=0;for(;h<e;){let a=h,l=Math.min(a+f,e);if(l<e){let b=l;for(;b-1>a&&0===d[5*b];)b--;if(b-1===a){let a=l;for(;a+1<e&&0===d[5*a];)a++;l=a}else l=b}let m=new Uint32Array((l-a)*4),n=0,o=0,p=0,q=0;for(;h<l;){let a=5*h,e=d[a],f=d[a+1],g=i+e|0,j=0===e?k+f|0:f,l=j+d[a+2]|0,r=d[a+3],s=d[a+4];if(l<=j)b.warnInvalidLengthSemanticTokens(g,j+1);else if(p===g&&q>j)b.warnOverlappingSemanticTokens(g,j+1);else{let a=b.getMetadata(r,s,c);0x7fffffff!==a&&(0===o&&(o=g),m[n]=g-o,m[n+1]=j,m[n+2]=l,m[n+3]=a,n+=4,p=g,q=l)}i=g,k=j,h++}n!==m.length&&(m=m.subarray(0,n));let r=j.create(o,m);g.push(r)}return g}o=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([n(1,d.Gy),n(2,m.L),n(3,e.rr)],o);class q{constructor(a,b,c,d){this.tokenTypeIndex=a,this.tokenModifierSet=b,this.languageId=c,this.metadata=d,this.next=null}}class r{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=r._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<r._SIZES.length?2/3*this._currentLength:0),this._elements=[],r._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(a,b){for(let c=0;c<b;c++)a[c]=null}_hash2(a,b){return(a<<5)-a+b|0}_hashFunc(a,b,c){return this._hash2(this._hash2(a,b),c)%this._currentLength}get(a,b,c){let d=this._hashFunc(a,b,c),e=this._elements[d];for(;e;){if(e.tokenTypeIndex===a&&e.tokenModifierSet===b&&e.languageId===c)return e;e=e.next}return null}add(a,b,c,d){if(this._elementsCount++,0!==this._growCount&&this._elementsCount>=this._growCount){let a=this._elements;for(let b of(this._currentLengthIndex++,this._currentLength=r._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<r._SIZES.length?2/3*this._currentLength:0),this._elements=[],r._nullOutEntries(this._elements,this._currentLength),a)){let a=b;for(;a;){let b=a.next;a.next=null,this._add(a),a=b}}}this._add(new q(a,b,c,d))}_add(a){let b=this._hashFunc(a.tokenTypeIndex,a.tokenModifierSet,a.languageId);a.next=this._elements[b],this._elements[b]=a}}},30950:(a,b,c)=>{"use strict";c.d(b,{t:()=>d});let d=(0,c(29715).u1)("treeSitterLibraryService")},30967:()=>{},30976:(a,b,c)=>{"use strict";c.d(b,{m:()=>J,p:()=>I});var d=c(32677),e=c(21280),f=c(51043),g=c(45084),h=c(18401),i=c(90399),j=c(81633),k=c(60734),l=c(11314);c(96503);var m=c(25536),n=c(75096);class o extends l.jG{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(a,b,c={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new k._B),this.disposables=this._register(new l.Cm),c.hoverDelegate=c.hoverDelegate??this._register((0,n.bW)()),this.options=c,this.toggleMenuAction=this._register(new p(()=>this.toggleMenuActionViewItem?.show(),c.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",a.appendChild(this.element),this.actionBar=this._register(new f.E(this.element,{orientation:c.orientation,ariaLabel:c.ariaLabel,actionRunner:c.actionRunner,allowContextMenu:c.allowContextMenu,highlightToggledItems:c.highlightToggledItems,hoverDelegate:c.hoverDelegate,actionViewItemProvider:(a,d)=>{if(a.id===p.ID)return this.toggleMenuActionViewItem=new g.d(a,a.menuActions,b,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:j.L.asClassNameArray(c.moreIcon??i.W.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(c.actionViewItemProvider){let b=c.actionViewItemProvider(a,d);if(b)return b}if(a instanceof h.YH){let c=new g.d(a,a.actions,b,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:a.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return c.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(c),this.disposables.add(this._onDidChangeDropdownVisibility.add(c.onDidChangeVisibility)),c}}}))}set actionRunner(a){this.actionBar.actionRunner=a}get actionRunner(){return this.actionBar.actionRunner}set context(a){for(let b of(this.actionBar.context=a,this.toggleMenuActionViewItem?.setActionContext(a),this.submenuActionViewItems))b.setActionContext(a)}getElement(){return this.element}getItemAction(a){return this.actionBar.getAction(a)}setActions(a,b){this.clear();let c=a?a.slice(0):[];this.hasSecondaryActions=!!(b&&b.length>0),this.hasSecondaryActions&&b&&(this.toggleMenuAction.menuActions=b.slice(0),c.push(this.toggleMenuAction)),c.forEach(a=>{this.actionBar.push(a,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(a)})})}getKeybindingLabel(a){let b=this.options.getKeyBinding?.(a);return b?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class p extends h.rc{static{this.ID="toolbar.toggle.more"}constructor(a,b){super(p.ID,b=b||m.kg(17,"More Actions..."),void 0,!0),this._menuActions=[],this.toggleDropdownMenu=a}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(a){this._menuActions=a}}var q=c(54734),r=c(20715),s=c(88347),t=c(16374),u=c(20846),v=c(79487),w=c(74134),x=c(70511),y=c(45367),z=c(99964),A=c(79851),B=c(91295),C=c(63090),D=c(29715);let E=(0,D.u1)("IActionViewItemService");class F{constructor(){this._providers=new Map,this._onDidChange=new k.vl,this.onDidChange=this._onDidChange.event}dispose(){this._onDidChange.dispose()}lookUp(a,b){return this._providers.get(this._makeKey(a,b))}_makeKey(a,b){return`${a.id}/${b instanceof v.D8?b.id:b}`}}(0,C.v)(E,F,1);var G=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},H=function(a,b){return function(c,d){b(c,d,a)}};let I=class extends o{constructor(a,b,c,d,e,f,g,h){super(a,e,{getKeyBinding:a=>f.lookupKeybinding(a.id)??void 0,...b,allowContextMenu:!0,skipTelemetry:"string"==typeof b?.telemetrySource}),this._options=b,this._menuService=c,this._contextKeyService=d,this._contextMenuService=e,this._keybindingService=f,this._commandService=g,this._sessionDisposables=this._store.add(new l.Cm);let i=b?.telemetrySource;i&&this._store.add(this.actionBar.onDidRun(a=>h.publicLog2("workbenchActionExecuted",{id:a.action.id,from:i})))}setActions(a,b=[],c){this._sessionDisposables.clear();let f=a.slice(),g=b.slice(),i=[],j=0,k=[],l=!1;if(this._options?.hiddenItemStrategy!==-1)for(let a=0;a<f.length;a++){let b=f[a];(b instanceof v.Xe||b instanceof v.nI)&&b.hideActions&&(i.push(b.hideActions.toggle),b.hideActions.toggle.checked&&j++,b.hideActions.isHidden&&(l=!0,f[a]=void 0,this._options?.hiddenItemStrategy!==0&&(k[a]=b)))}if(this._options?.overflowBehavior!==void 0){let a=(0,r.E$)(new Set(this._options.overflowBehavior.exempted),t.f.map(f,a=>a?.id)),b=this._options.overflowBehavior.maxItems-a.size,c=0;for(let d=0;d<f.length;d++){let e=f[d];e&&(c++,!a.has(e.id)&&c>=b&&(f[d]=void 0,k[d]=e))}}(0,q.SK)(f),(0,q.SK)(k),super.setActions(f,h.wv.join(k,g)),(i.length>0||f.length>0)&&this._sessionDisposables.add((0,d.ko)(this.getElement(),"contextmenu",a=>{let b=new e.P((0,d.zk)(this.getElement()),a),f=this.getItemAction(b.target);if(!f)return;b.preventDefault(),b.stopPropagation();let g=[];if(f instanceof v.Xe&&f.menuKeybinding)g.push(f.menuKeybinding);else if(!(f instanceof v.nI||f instanceof p)){let a=!!this._keybindingService.lookupKeybinding(f.id);g.push((0,w.D)(this._commandService,this._keybindingService,f.id,void 0,a))}if(i.length>0){let a=!1;if(1===j&&this._options?.hiddenItemStrategy===0){a=!0;for(let a=0;a<i.length;a++)if(i[a].checked){i[a]=(0,h.ih)({id:f.id,label:f.label,checked:!0,enabled:!1,run(){}});break}}if(!a&&(f instanceof v.Xe||f instanceof v.nI)){if(!f.hideActions)return;g.push(f.hideActions.hide)}else g.push((0,h.ih)({id:"label",label:(0,m.kg)(1634,"Hide"),enabled:!1,run(){}}))}let k=h.wv.join(g,i);this._options?.resetMenu&&!c&&(c=[this._options.resetMenu]),l&&c&&(k.push(new h.wv),k.push((0,h.ih)({id:"resetThisMenu",label:(0,m.kg)(1635,"Reset Menu"),run:()=>this._menuService.resetHiddenStates(c)}))),0!==k.length&&this._contextMenuService.showContextMenu({getAnchor:()=>b,getActions:()=>k,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})}))}};I=G([H(2,v.ez),H(3,y.fN),H(4,z.Z),H(5,A.b),H(6,x.d),H(7,B.k)],I);let J=class extends I{get onDidChangeMenuItems(){return this._onDidChangeMenuItems.event}constructor(a,b,c,e,f,g,h,i,j,l,m){super(a,{resetMenu:b,...c,actionViewItemProvider:(e,f)=>{let g=l.lookUp(b,e instanceof v.nI?e.item.submenu.id:e.id);g||(g=c?.actionViewItemProvider);let h=g?.(e,f,m,(0,d.zk)(a).vscodeWindowId);return h||(0,u.rN)(m,e,f)}},e,f,g,h,i,j),this._onDidChangeMenuItems=this._store.add(new k.vl);let n=this._store.add(e.createMenu(b,f,{emitEventsForSubmenuChanges:!0,eventDebounceDelay:c?.eventDebounceDelay})),o=()=>{let{primary:b,secondary:d}=(0,u.R4)(n.getActions(c?.menuOptions),c?.toolbarOptions?.primaryGroup,c?.toolbarOptions?.shouldInlineSubmenu,c?.toolbarOptions?.useSeparatorsInPrimaryActions);a.classList.toggle("has-no-actions",0===b.length&&0===d.length),super.setActions(b,d)};this._store.add(n.onDidChange(()=>{o(),this._onDidChangeMenuItems.fire(this)})),this._store.add(l.onDidChange(a=>{a===b&&o()})),o()}setActions(){throw new s.D7("This toolbar is populated from a menu.")}};J=G([H(3,v.ez),H(4,y.fN),H(5,z.Z),H(6,A.b),H(7,x.d),H(8,B.k),H(9,E),H(10,D._Y)],J)},31122:(a,b,c)=>{"use strict";c.d(b,{No:()=>m,TH:()=>h,Zn:()=>j,_1:()=>k,kb:()=>i});var d=c(76687),e=c(56167),f=c(98447);function g(a){return 47===a||92===a}function h(a){return a.replace(/[\\/]/g,d.SA.sep)}function i(a){return -1===a.indexOf("/")&&(a=h(a)),/^[a-zA-Z]:(\/|$)/.test(a)&&(a="/"+a),a}function j(a,b=d.SA.sep){if(!a)return"";let c=a.length,e=a.charCodeAt(0);if(g(e)){if(g(a.charCodeAt(1))&&!g(a.charCodeAt(2))){let d=3;for(;d<c&&!g(a.charCodeAt(d));d++);if(3!==d&&!g(a.charCodeAt(d+1))){for(d+=1;d<c;d++)if(g(a.charCodeAt(d)))return a.slice(0,d+1).replace(/[\\/]/g,b)}}return b}if(l(e)&&58===a.charCodeAt(1))if(g(a.charCodeAt(2)))return a.slice(0,2)+b;else return a.slice(0,2);let f=a.indexOf("://");if(-1!==f){for(f+=3;f<c;f++)if(g(a.charCodeAt(f)))return a.slice(0,f+1)}return""}function k(a,b,c,e=d.Vn){if(a===b)return!0;if(!a||!b||b.length>a.length)return!1;if(c){if(!(0,f.ns)(a,b))return!1;if(b.length===a.length)return!0;let c=b.length;return b.charAt(b.length-1)===e&&c--,a.charAt(c)===e}return b.charAt(b.length-1)!==e&&(b+=e),0===a.indexOf(b)}function l(a){return a>=65&&a<=90||a>=97&&a<=122}function m(a,b=e.uF){return!!b&&l(a.charCodeAt(0))&&58===a.charCodeAt(1)}},31503:()=>{},31512:(a,b,c)=>{"use strict";c.d(b,{M:()=>i,S:()=>j});var d=c(88347),e=c(95967),f=c(59317),g=c(95265),h=c(54734);class i{static ofLength(a,b){return new i(a,a+b)}static fromRange(a){return new i(a.startLineNumber,a.endLineNumber)}static fromRangeInclusive(a){return new i(a.startLineNumber,a.endLineNumber+1)}static{this.compareByStart=(0,h.VE)(a=>a.startLineNumber,h.U9)}static joinMany(a){if(0===a.length)return[];let b=new j(a[0].slice());for(let c=1;c<a.length;c++)b=b.getUnion(new j(a[c].slice()));return b.ranges}static join(a){if(0===a.length)throw new d.D7("lineRanges cannot be empty");let b=a[0].startLineNumber,c=a[0].endLineNumberExclusive;for(let d=1;d<a.length;d++)b=Math.min(b,a[d].startLineNumber),c=Math.max(c,a[d].endLineNumberExclusive);return new i(b,c)}static deserialize(a){return new i(a[0],a[1])}constructor(a,b){if(a>b)throw new d.D7(`startLineNumber ${a} cannot be after endLineNumberExclusive ${b}`);this.startLineNumber=a,this.endLineNumberExclusive=b}contains(a){return this.startLineNumber<=a&&a<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(a){return new i(this.startLineNumber+a,this.endLineNumberExclusive+a)}deltaLength(a){return new i(this.startLineNumber,this.endLineNumberExclusive+a)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(a){return new i(Math.min(this.startLineNumber,a.startLineNumber),Math.max(this.endLineNumberExclusive,a.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(a){let b=Math.max(this.startLineNumber,a.startLineNumber),c=Math.min(this.endLineNumberExclusive,a.endLineNumberExclusive);if(b<=c)return new i(b,c)}intersectsStrict(a){return this.startLineNumber<a.endLineNumberExclusive&&a.startLineNumber<this.endLineNumberExclusive}intersectsOrTouches(a){return this.startLineNumber<=a.endLineNumberExclusive&&a.startLineNumber<=this.endLineNumberExclusive}equals(a){return this.startLineNumber===a.startLineNumber&&this.endLineNumberExclusive===a.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new f.Q(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new f.Q(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(a){let b=[];for(let c=this.startLineNumber;c<this.endLineNumberExclusive;c++)b.push(a(c));return b}forEach(a){for(let b=this.startLineNumber;b<this.endLineNumberExclusive;b++)a(b)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}toOffsetRange(){return new e.L(this.startLineNumber-1,this.endLineNumberExclusive-1)}addMargin(a,b){return new i(this.startLineNumber-a,this.endLineNumberExclusive+b)}}class j{constructor(a=[]){this._normalizedRanges=a}get ranges(){return this._normalizedRanges}addRange(a){if(0===a.length)return;let b=(0,g.hw)(this._normalizedRanges,b=>b.endLineNumberExclusive>=a.startLineNumber),c=(0,g.iM)(this._normalizedRanges,b=>b.startLineNumber<=a.endLineNumberExclusive)+1;if(b===c)this._normalizedRanges.splice(b,0,a);else if(b===c-1){let c=this._normalizedRanges[b];this._normalizedRanges[b]=c.join(a)}else{let d=this._normalizedRanges[b].join(this._normalizedRanges[c-1]).join(a);this._normalizedRanges.splice(b,c-b,d)}}contains(a){let b=(0,g.lx)(this._normalizedRanges,b=>b.startLineNumber<=a);return!!b&&b.endLineNumberExclusive>a}intersects(a){let b=(0,g.lx)(this._normalizedRanges,b=>b.startLineNumber<a.endLineNumberExclusive);return!!b&&b.endLineNumberExclusive>a.startLineNumber}getUnion(a){if(0===this._normalizedRanges.length)return a;if(0===a._normalizedRanges.length)return this;let b=[],c=0,d=0,e=null;for(;c<this._normalizedRanges.length||d<a._normalizedRanges.length;){let f=null;if(c<this._normalizedRanges.length&&d<a._normalizedRanges.length){let b=this._normalizedRanges[c],e=a._normalizedRanges[d];b.startLineNumber<e.startLineNumber?(f=b,c++):(f=e,d++)}else c<this._normalizedRanges.length?(f=this._normalizedRanges[c],c++):(f=a._normalizedRanges[d],d++);null===e?e=f:e.endLineNumberExclusive>=f.startLineNumber?e=new i(e.startLineNumber,Math.max(e.endLineNumberExclusive,f.endLineNumberExclusive)):(b.push(e),e=f)}return null!==e&&b.push(e),new j(b)}subtractFrom(a){let b=(0,g.hw)(this._normalizedRanges,b=>b.endLineNumberExclusive>=a.startLineNumber),c=(0,g.iM)(this._normalizedRanges,b=>b.startLineNumber<=a.endLineNumberExclusive)+1;if(b===c)return new j([a]);let d=[],e=a.startLineNumber;for(let a=b;a<c;a++){let b=this._normalizedRanges[a];b.startLineNumber>e&&d.push(new i(e,b.startLineNumber)),e=b.endLineNumberExclusive}return e<a.endLineNumberExclusive&&d.push(new i(e,a.endLineNumberExclusive)),new j(d)}toString(){return this._normalizedRanges.map(a=>a.toString()).join(", ")}getIntersection(a){let b=[],c=0,d=0;for(;c<this._normalizedRanges.length&&d<a._normalizedRanges.length;){let e=this._normalizedRanges[c],f=a._normalizedRanges[d],g=e.intersect(f);g&&!g.isEmpty&&b.push(g),e.endLineNumberExclusive<f.endLineNumberExclusive?c++:d++}return new j(b)}getWithDelta(a){return new j(this._normalizedRanges.map(b=>b.delta(a)))}}},31613:(a,b,c)=>{"use strict";c.d(b,{$f:()=>h,MU:()=>i,Yb:()=>k,_t:()=>j,vn:()=>g});var d=c(98447),e=c(83594),f=c(72192);function g(a,b,c,h=!0,i){if(a<4)return null;let j=i.getLanguageConfiguration(b.tokenization.getLanguageId()).indentRulesSupport;if(!j)return null;let k=new f.no(b,j,i);if(c<=1)return{indentation:"",action:null};for(let a=c-1;a>0&&""===b.getLineContent(a);a--)if(1===a)return{indentation:"",action:null};let l=function(a,b,c){let d=a.tokenization.getLanguageIdAtPosition(b,0);if(b>1){let e,f=-1;for(e=b-1;e>=1;e--){if(a.tokenization.getLanguageIdAtPosition(e,0)!==d)return f;let b=a.getLineContent(e);if(c.shouldIgnore(e)||/^\s+$/.test(b)||""===b){f=e;continue}return e}}return -1}(b,c,k);if(l<0)return null;if(l<1)return{indentation:"",action:null};if(k.shouldIncrease(l)||k.shouldIndentNextLine(l)){let a=b.getLineContent(l);return{indentation:d.UU(a),action:e.l.Indent,line:l}}if(k.shouldDecrease(l)){let a=b.getLineContent(l);return{indentation:d.UU(a),action:null,line:l}}{if(1===l)return{indentation:d.UU(b.getLineContent(l)),action:null,line:l};let a=l-1,c=j.getIndentMetadata(b.getLineContent(a));if(!(3&c)&&4&c){let c=0;for(let b=a-1;b>0;b--)if(!k.shouldIndentNextLine(b)){c=b;break}return{indentation:d.UU(b.getLineContent(c+1)),action:null,line:c+1}}if(h)return{indentation:d.UU(b.getLineContent(l)),action:null,line:l};for(let a=l;a>0;a--)if(k.shouldIncrease(a))return{indentation:d.UU(b.getLineContent(a)),action:e.l.Indent,line:a};else if(k.shouldIndentNextLine(a)){let c=0;for(let b=a-1;b>0;b--)if(!k.shouldIndentNextLine(a)){c=b;break}return{indentation:d.UU(b.getLineContent(c+1)),action:null,line:c+1}}else if(k.shouldDecrease(a))return{indentation:d.UU(b.getLineContent(a)),action:null,line:a};return{indentation:d.UU(b.getLineContent(1)),action:null,line:1}}}function h(a,b,c,h,i,j){if(a<4)return null;let k=j.getLanguageConfiguration(c);if(!k)return null;let l=j.getLanguageConfiguration(c).indentRulesSupport;if(!l)return null;let m=new f.no(b,l,j),n=g(a,b,h,void 0,j);if(n){let c=n.line;if(void 0!==c){let f=!0;for(let a=c;a<h-1;a++)if(!/^\s*$/.test(b.getLineContent(a))){f=!1;break}if(f){let f=k.onEnter(a,"",b.getLineContent(c),"");if(f){let a=d.UU(b.getLineContent(c));return f.removeText&&(a=a.substring(0,a.length-f.removeText)),f.indentAction===e.l.Indent||f.indentAction===e.l.IndentOutdent?a=i.shiftIndent(a):f.indentAction===e.l.Outdent&&(a=i.unshiftIndent(a)),m.shouldDecrease(h)&&(a=i.unshiftIndent(a)),f.appendText&&(a+=f.appendText),d.UU(a)}}}if(m.shouldDecrease(h))if(n.action===e.l.Indent)return n.indentation;else return i.unshiftIndent(n.indentation);return n.action===e.l.Indent?i.shiftIndent(n.indentation):n.indentation}return null}function i(a,b,c,h,i){var j,k,l;if(a<4)return null;let m=b.getLanguageIdAtPosition(c.startLineNumber,c.startColumn),n=i.getLanguageConfiguration(m).indentRulesSupport;if(!n)return null;b.tokenization.forceTokenization(c.startLineNumber);let o=new f.V(b,i).getProcessedTokenContextAroundRange(c),p=o.afterRangeProcessedTokens,q=o.beforeRangeProcessedTokens,r=d.UU(q.getLineContent()),s=(j=b,k=c.startLineNumber,l=q,{tokenization:{getLineTokens:a=>a===k?l:j.tokenization.getLineTokens(a),getLanguageId:()=>j.getLanguageId(),getLanguageIdAtPosition:(a,b)=>j.getLanguageIdAtPosition(a,b)},getLineContent:a=>a===k?l.getLineContent():j.getLineContent(a)}),t=(0,f.WR)(b,c.getStartPosition()),u=b.getLineContent(c.startLineNumber),v=d.UU(u),w=g(a,s,c.startLineNumber+1,void 0,i);if(!w){let a=t?v:r;return{beforeEnter:a,afterEnter:a}}let x=t?v:w.indentation;return w.action===e.l.Indent&&(x=h.shiftIndent(x)),n.shouldDecrease(p.getLineContent())&&(x=h.unshiftIndent(x)),{beforeEnter:t?v:r,afterEnter:x}}function j(a,b,c,h,i,j){let k=a.autoIndent;if(k<4||(0,f.WR)(b,c.getStartPosition()))return null;let l=b.getLanguageIdAtPosition(c.startLineNumber,c.startColumn),m=j.getLanguageConfiguration(l).indentRulesSupport;if(!m)return null;let n=new f.V(b,j).getProcessedTokenContextAroundRange(c),o=n.beforeRangeProcessedTokens.getLineContent(),p=n.afterRangeProcessedTokens.getLineContent(),q=o+p,r=o+h+p;if(!m.shouldDecrease(q)&&m.shouldDecrease(r)){let a=g(k,b,c.startLineNumber,!1,j);if(!a)return null;let d=a.indentation;return a.action!==e.l.Indent&&(d=i.unshiftIndent(d)),d}let s=c.startLineNumber-1;if(s>0){let e=b.getLineContent(s);if(m.shouldIndentNextLine(e)&&m.shouldIncrease(r)){let e=g(k,b,c.startLineNumber,!1,j),f=e?.indentation;if(void 0!==f){let e=b.getLineContent(c.startLineNumber),g=d.UU(e),j=i.shiftIndent(f),k=/^\s*$/.test(q),l=a.autoClosingPairs.autoClosingPairsOpenByEnd.get(h),m=l&&l.length>0;if(j===g&&m&&k)return f}}}return null}function k(a,b,c){let d=c.getLanguageConfiguration(a.getLanguageId()).indentRulesSupport;return!d||b<1||b>a.getLineCount()?null:d.getIndentMetadata(a.getLineContent(b))}},31662:(a,b,c)=>{"use strict";c.d(b,{Z:()=>j});var d=c(88637),e=c(61551),f=c(99695),g=c(56167);let h=g.zx?256:2048,i=g.zx?2048:256;class j{constructor(a){this._standardKeyboardEventBrand=!0,this.browserEvent=a,this.target=a.target,this.ctrlKey=a.ctrlKey,this.shiftKey=a.shiftKey,this.altKey=a.altKey,this.metaKey=a.metaKey,this.altGraphKey=a.getModifierState?.("AltGraph"),this.keyCode=function(a){if(a.charCode){let b=String.fromCharCode(a.charCode).toUpperCase();return e.YM.fromString(b)}let b=a.keyCode;if(3===b)return 7;if(d.gm)switch(b){case 59:return 85;case 60:if(g.j9)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(g.zx)return 57}else if(d.Tc){if(g.zx&&93===b)return 57;else if(!g.zx&&92===b)return 57}return e.uw[b]||0}(a),this.code=a.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(a){return this._asKeybinding===a}_computeKeybinding(){let a=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(a=this.keyCode);let b=0;return this.ctrlKey&&(b|=h),this.altKey&&(b|=512),this.shiftKey&&(b|=1024),this.metaKey&&(b|=i),b|=a}_computeKeyCodeChord(){let a=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(a=this.keyCode),new f.dG(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,a)}}},32146:(a,b,c)=>{"use strict";c.d(b,{L:()=>f});var d=c(79677),e=c(59317);class f extends e.Q{constructor(a,b,c,d){super(a,b,c,d),this.selectionStartLineNumber=a,this.selectionStartColumn=b,this.positionLineNumber=c,this.positionColumn=d}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(a){return f.selectionsEqual(this,a)}static selectionsEqual(a,b){return a.selectionStartLineNumber===b.selectionStartLineNumber&&a.selectionStartColumn===b.selectionStartColumn&&a.positionLineNumber===b.positionLineNumber&&a.positionColumn===b.positionColumn}getDirection(){return+(this.selectionStartLineNumber!==this.startLineNumber||this.selectionStartColumn!==this.startColumn)}setEndPosition(a,b){return 0===this.getDirection()?new f(this.startLineNumber,this.startColumn,a,b):new f(a,b,this.startLineNumber,this.startColumn)}getPosition(){return new d.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new d.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(a,b){return 0===this.getDirection()?new f(a,b,this.endLineNumber,this.endColumn):new f(this.endLineNumber,this.endColumn,a,b)}static fromPositions(a,b=a){return new f(a.lineNumber,a.column,b.lineNumber,b.column)}static fromRange(a,b){return 0===b?new f(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn):new f(a.endLineNumber,a.endColumn,a.startLineNumber,a.startColumn)}static liftSelection(a){return new f(a.selectionStartLineNumber,a.selectionStartColumn,a.positionLineNumber,a.positionColumn)}static selectionsArrEqual(a,b){if(a&&!b||!a&&b)return!1;if(!a&&!b)return!0;if(a.length!==b.length)return!1;for(let c=0,d=a.length;c<d;c++)if(!this.selectionsEqual(a[c],b[c]))return!1;return!0}static isISelection(a){return a&&"number"==typeof a.selectionStartLineNumber&&"number"==typeof a.selectionStartColumn&&"number"==typeof a.positionLineNumber&&"number"==typeof a.positionColumn}static createWithDirection(a,b,c,d,e){return 0===e?new f(a,b,c,d):new f(c,d,a,b)}}},32677:(a,b,c)=>{"use strict";let d,e;c.d(b,{$:()=>aE,BC:()=>az,BK:()=>X,Be:()=>Q,Bx:()=>ar,Cl:()=>ae,Di:()=>aL,Ej:()=>W,Er:()=>ap,FK:()=>al,Fv:()=>E,H4:()=>_,Hs:()=>aA,Ij:()=>P,Iv:()=>C,J$:()=>M,L9:()=>S,Ln:()=>aB,OK:()=>aa,Oq:()=>d,PG:()=>e,Pl:()=>ay,Q2:()=>z,QX:()=>ab,Tr:()=>Z,U3:()=>O,WU:()=>aG,X7:()=>ah,XD:()=>ac,Xc:()=>K,YE:()=>w,ZF:()=>A,_9:()=>L,a:()=>aj,bo:()=>aF,bq:()=>ag,cL:()=>V,fg:()=>U,fs:()=>at,fz:()=>ak,h:()=>aO,i0:()=>aK,jD:()=>aH,jG:()=>af,jh:()=>aJ,ko:()=>H,kx:()=>aq,mU:()=>Y,n:()=>g,nR:()=>ai,nY:()=>an,pN:()=>aM,q3:()=>D,sb:()=>am,sd:()=>as,sl:()=>x,tG:()=>function a(b,c,d){let e=v(b),f=e.document;if(b!==f.body)return new U(b.clientWidth,b.clientHeight);if(q.un&&e?.visualViewport)return new U(e.visualViewport.width,e.visualViewport.height);if(e?.innerWidth&&e.innerHeight)return new U(e.innerWidth,e.innerHeight);if(f.body&&f.body.clientWidth&&f.body.clientHeight)return new U(f.body.clientWidth,f.body.clientHeight);if(f.documentElement&&f.documentElement.clientWidth&&f.documentElement.clientHeight)return new U(f.documentElement.clientWidth,f.documentElement.clientHeight);if(d)return a(d,c);if(c)return c;throw Error("Unable to figure out browser width and height")},un:()=>J,vT:()=>aI,w5:()=>ax,w_:()=>F,wk:()=>av,xZ:()=>ao,xb:()=>N,y6:()=>$,yD:()=>aQ,zK:()=>au,zk:()=>v});var f,g,h=c(88637),i=c(93353),j=c(31662),k=c(21280),l=c(40565),m=c(88347),n=c(60734),o=c(11314),p=c(18920),q=c(56167),r=c(81040),s=c(29813),t=c(43589);let{registerWindow:u,getWindow:v,getDocument:w,getWindows:x,getWindowsCount:y,getWindowId:z,getWindowById:A,hasWindow:B,onDidRegisterWindow:C,onWillUnregisterWindow:D,onDidUnregisterWindow:E}=function(){let a=new Map;(0,s.y)(s.G,1);let b={window:s.G,disposables:new o.Cm};a.set(s.G.vscodeWindowId,b);let c=new n.vl,d=new n.vl,e=new n.vl;return{onDidRegisterWindow:c.event,onWillUnregisterWindow:e.event,onDidUnregisterWindow:d.event,registerWindow(b){if(a.has(b.vscodeWindowId))return o.jG.None;let f=new o.Cm,g={window:b,disposables:f.add(new o.Cm)};return a.set(b.vscodeWindowId,g),f.add((0,o.s)(()=>{a.delete(b.vscodeWindowId),d.fire(b)})),f.add(H(b,ar.BEFORE_UNLOAD,()=>{e.fire(b)})),c.fire(g),f},getWindows:()=>a.values(),getWindowsCount:()=>a.size,getWindowId:a=>a.vscodeWindowId,hasWindow:b=>a.has(b),getWindowById:function(c,d){return("number"==typeof c?a.get(c):void 0)??(d?b:void 0)},getWindow:a=>a?.ownerDocument?.defaultView?a.ownerDocument.defaultView.window:a?.view?a.view.window:s.G,getDocument:a=>v(a).document}}();function F(a){for(;a.firstChild;)a.firstChild.remove()}class G{constructor(a,b,c,d){this._node=a,this._type=b,this._handler=c,this._options=d||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function H(a,b,c,d){return new G(a,b,c,d)}function I(a,b){return function(c){return b(new k.P(a,c))}}let J=function(a,b,c,d){let e=c;if("click"===b||"mousedown"===b||"contextmenu"===b)e=I(v(a),c);else("keydown"===b||"keypress"===b||"keyup"===b)&&(e=function(a){return c(new j.Z(a))});return H(a,b,e,d)},K=function(a,b,c){let d=I(v(a),b);return L(a,d,c)};function L(a,b,c){return H(a,q.un&&i.e.pointerEvents?ar.POINTER_DOWN:ar.MOUSE_DOWN,b,c)}function M(a,b,c){return H(a,q.un&&i.e.pointerEvents?ar.POINTER_MOVE:ar.MOUSE_MOVE,b,c)}function N(a,b,c){return H(a,q.un&&i.e.pointerEvents?ar.POINTER_UP:ar.MOUSE_UP,b,c)}function O(a,b,c){return(0,l.b7)(a,b,c)}class P extends l.A0{constructor(a,b){super(a,b)}}class Q extends l.vb{constructor(a){super(),this.defaultTarget=a&&v(a)}cancelAndSet(a,b,c){return super.cancelAndSet(a,b,c??this.defaultTarget)}}class R{constructor(a,b=0){this._runner=a,this.priority=b,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(a){(0,m.dz)(a)}}static sort(a,b){return b.priority-a.priority}}function S(a){return v(a).getComputedStyle(a,null)}!function(){let a=new Map,b=new Map,c=new Map,f=new Map;e=(d,e,g=0)=>{let h=z(d),i=new R(e,g),j=a.get(h);return j||(j=[],a.set(h,j)),j.push(i),c.get(h)||(c.set(h,!0),d.requestAnimationFrame(()=>(d=>{c.set(d,!1);let e=a.get(d)??[];for(b.set(d,e),a.set(d,[]),f.set(d,!0);e.length>0;)e.sort(R.sort),e.shift().execute();f.set(d,!1)})(h))),i},d=(a,c,d)=>{let g=z(a);if(!f.get(g))return e(a,c,d);{let a=new R(c,d),e=b.get(g);return e||(e=[],b.set(g,e)),e.push(a),a}}}();class T{static convertToPixels(a,b){return parseFloat(b)||0}static getDimension(a,b){let c=S(a),d=c?c.getPropertyValue(b):"0";return T.convertToPixels(a,d)}static getBorderLeftWidth(a){return T.getDimension(a,"border-left-width")}static getBorderRightWidth(a){return T.getDimension(a,"border-right-width")}static getBorderTopWidth(a){return T.getDimension(a,"border-top-width")}static getBorderBottomWidth(a){return T.getDimension(a,"border-bottom-width")}static getPaddingLeft(a){return T.getDimension(a,"padding-left")}static getPaddingRight(a){return T.getDimension(a,"padding-right")}static getPaddingTop(a){return T.getDimension(a,"padding-top")}static getPaddingBottom(a){return T.getDimension(a,"padding-bottom")}static getMarginLeft(a){return T.getDimension(a,"margin-left")}static getMarginTop(a){return T.getDimension(a,"margin-top")}static getMarginRight(a){return T.getDimension(a,"margin-right")}static getMarginBottom(a){return T.getDimension(a,"margin-bottom")}}class U{static{this.None=new U(0,0)}constructor(a,b){this.width=a,this.height=b}with(a=this.width,b=this.height){return a!==this.width||b!==this.height?new U(a,b):this}static is(a){return"object"==typeof a&&"number"==typeof a.height&&"number"==typeof a.width}static lift(a){return a instanceof U?a:new U(a.width,a.height)}static equals(a,b){return a===b||!!a&&!!b&&a.width===b.width&&a.height===b.height}}function V(a){let b=a.offsetParent,c=a.offsetTop,d=a.offsetLeft;for(;null!==(a=a.parentNode)&&a!==a.ownerDocument.body&&a!==a.ownerDocument.documentElement;){c-=a.scrollTop;let e=ad(a)?null:S(a);e&&(d-="rtl"!==e.direction?a.scrollLeft:-a.scrollLeft),a===b&&(d+=T.getBorderLeftWidth(a),c+=T.getBorderTopWidth(a),c+=a.offsetTop,d+=a.offsetLeft,b=a.offsetParent)}return{left:d,top:c}}function W(a,b,c){"number"==typeof b&&(a.style.width=`${b}px`),"number"==typeof c&&(a.style.height=`${c}px`)}function X(a){let b=a.getBoundingClientRect(),c=v(a);return{left:b.left+c.scrollX,top:b.top+c.scrollY,width:b.width,height:b.height}}function Y(a){let b=a,c=1;do{let a=S(b).zoom;null!=a&&"1"!==a&&(c*=a),b=b.parentElement}while(null!==b&&b!==b.ownerDocument.documentElement);return c}function Z(a){let b=T.getMarginLeft(a)+T.getMarginRight(a);return a.offsetWidth+b}function $(a){let b=T.getBorderLeftWidth(a)+T.getBorderRightWidth(a),c=T.getPaddingLeft(a)+T.getPaddingRight(a);return a.offsetWidth-b-c}function _(a){let b=T.getBorderTopWidth(a)+T.getBorderBottomWidth(a),c=T.getPaddingTop(a)+T.getPaddingBottom(a);return a.offsetHeight-b-c}function aa(a){let b=T.getMarginTop(a)+T.getMarginBottom(a);return a.offsetHeight+b}function ab(a,b){return!!b?.contains(a)}function ac(a,b,c){return!!function(a,b,c){for(;a&&a.nodeType===a.ELEMENT_NODE;){if(a.classList.contains(b))return a;if(c){if("string"==typeof c){if(a.classList.contains(c))break}else if(a===c)break}a=a.parentNode}return null}(a,b,c)}function ad(a){return a&&!!a.host&&!!a.mode}function ae(a){return!!af(a)}function af(a){for(;a.parentNode;){if(a===a.ownerDocument?.body)return null;a=a.parentNode}return ad(a)?a:null}function ag(){let a=aj().activeElement;for(;a?.shadowRoot;)a=a.shadowRoot.activeElement;return a}function ah(a){return ag()===a}function ai(a){return ab(ag(),a)}function aj(){return 1>=y()?s.G.document:Array.from(x()).map(({window:a})=>a.document).find(a=>a.hasFocus())??s.G.document}function ak(){let a=aj();return a.defaultView?.window??s.G}let al=new class{constructor(){this.mutationObservers=new Map}observe(a,b,c){let d=this.mutationObservers.get(a);d||(d=new Map,this.mutationObservers.set(a,d));let e=(0,r.tW)(c),f=d.get(e);if(f)f.users+=1;else{let g=new n.vl,h=new MutationObserver(a=>g.fire(a));h.observe(a,c);let i=f={users:1,observer:h,onDidMutate:g.event};b.add((0,o.s)(()=>{i.users-=1,0===i.users&&(g.dispose(),h.disconnect(),d?.delete(e),d?.size===0&&this.mutationObservers.delete(a))})),d.set(e,f)}return f.onDidMutate}};function am(a){return a instanceof HTMLElement||a instanceof v(a).HTMLElement}function an(a){return a instanceof HTMLAnchorElement||a instanceof v(a).HTMLAnchorElement}function ao(a){return a instanceof SVGElement||a instanceof v(a).SVGElement}function ap(a){return a instanceof MouseEvent||a instanceof v(a).MouseEvent}function aq(a){return a instanceof KeyboardEvent||a instanceof v(a).KeyboardEvent}let ar={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:h.Tc?"webkitAnimationStart":"animationstart",ANIMATION_END:h.Tc?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:h.Tc?"webkitAnimationIteration":"animationiteration"};function as(a){return!!(a&&"function"==typeof a.preventDefault&&"function"==typeof a.stopPropagation)}let at={stop:(a,b)=>(a.preventDefault(),b&&a.stopPropagation(),a)};function au(a){let b=[];for(let c=0;a&&a.nodeType===a.ELEMENT_NODE;c++)b[c]=a.scrollTop,a=a.parentNode;return b}function av(a,b){for(let c=0;a&&a.nodeType===a.ELEMENT_NODE;c++)a.scrollTop!==b[c]&&(a.scrollTop=b[c]),a=a.parentNode}class aw extends o.jG{get onDidFocus(){return this._onDidFocus.event}get onDidBlur(){return this._onDidBlur.event}static hasFocusWithin(a){if(!am(a))return ab(a.document.activeElement,a.document);{let b=af(a);return ab(b?b.activeElement:a.ownerDocument.activeElement,a)}}constructor(a){super(),this._onDidFocus=this._register(new n.vl),this._onDidBlur=this._register(new n.vl);let b=aw.hasFocusWithin(a),c=!1,d=()=>{c=!1,b||(b=!0,this._onDidFocus.fire())},e=()=>{b&&(c=!0,(am(a)?v(a):a).setTimeout(()=>{c&&(c=!1,b=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{aw.hasFocusWithin(a)!==b&&(b?e():d())},this._register(H(a,ar.FOCUS,d,!0)),this._register(H(a,ar.BLUR,e,!0)),am(a)&&(this._register(H(a,ar.FOCUS_IN,()=>this._refreshStateHandler())),this._register(H(a,ar.FOCUS_OUT,()=>this._refreshStateHandler())))}}function ax(a){return new aw(a)}function ay(a,b){return a.after(b),b}function az(a,...b){if(a.append(...b),1===b.length&&"string"!=typeof b[0])return b[0]}function aA(a,b){return a.insertBefore(b,a.firstChild),b}function aB(a,...b){a.textContent="",az(a,...b)}let aC=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function aD(a,b,c,...d){let e,g=aC.exec(b);if(!g)throw Error("Bad use of emmet");let h=g[1]||"div";return e=a!==f.HTML?document.createElementNS(a,h):document.createElement(h),g[3]&&(e.id=g[3]),g[4]&&(e.className=g[4].replace(/\./g," ").trim()),c&&Object.entries(c).forEach(([a,b])=>{void 0!==b&&(/^on\w+$/.test(a)?e[a]=b:"selected"===a?b&&e.setAttribute(a,"true"):e.setAttribute(a,b))}),e.append(...d),e}function aE(a,b,...c){return aD(f.HTML,a,b,...c)}function aF(a,...b){a?aG(...b):aH(...b)}function aG(...a){for(let b of a)b.style.display="",b.removeAttribute("aria-hidden")}function aH(...a){for(let b of a)b.style.display="none",b.setAttribute("aria-hidden","true")}function aI(a,b){return Math.max(1,Math.floor(a.devicePixelRatio*b))/a.devicePixelRatio}function aJ(a){s.G.open(a,"_blank","noopener")}function aK(a,b){let c=()=>{b(),d=e(a,c)},d=e(a,c);return(0,o.s)(()=>d.dispose())}!function(a){a.HTML="http://www.w3.org/1999/xhtml",a.SVG="http://www.w3.org/2000/svg"}(f||(f={})),aE.SVG=function(a,b,...c){return aD(f.SVG,a,b,...c)},p.Ez.setPreferredWebSchema(/^https:/.test(s.G.location.href)?"https":"http");class aL extends n.vl{constructor(){super(),this._subscriptions=new o.Cm,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(n.Jh.runAndSubscribe(C,({window:a,disposables:b})=>this.registerListeners(a,b),{window:s.G,disposables:this._subscriptions}))}registerListeners(a,b){b.add(H(a,"keydown",a=>{if(a.defaultPrevented)return;let b=new j.Z(a);if(6!==b.keyCode||!a.repeat){if(a.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(a.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(a.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(a.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===b.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=a.altKey,this._keyStatus.ctrlKey=a.ctrlKey,this._keyStatus.metaKey=a.metaKey,this._keyStatus.shiftKey=a.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=a,this.fire(this._keyStatus))}},!0)),b.add(H(a,"keyup",a=>{!a.defaultPrevented&&(!a.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!a.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!a.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!a.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=a.altKey,this._keyStatus.ctrlKey=a.ctrlKey,this._keyStatus.metaKey=a.metaKey,this._keyStatus.shiftKey=a.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=a,this.fire(this._keyStatus)))},!0)),b.add(H(a.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),b.add(H(a.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),b.add(H(a.document.body,"mousemove",a=>{a.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),b.add(H(a,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return aL.instance||(aL.instance=new aL),aL.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class aM extends o.jG{constructor(a,b){super(),this.element=a,this.callbacks=b,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(H(this.element,ar.DRAG_START,a=>{this.callbacks.onDragStart?.(a)})),this.callbacks.onDrag&&this._register(H(this.element,ar.DRAG,a=>{this.callbacks.onDrag?.(a)})),this._register(H(this.element,ar.DRAG_ENTER,a=>{this.counter++,this.dragStartTime=a.timeStamp,this.callbacks.onDragEnter?.(a)})),this._register(H(this.element,ar.DRAG_OVER,a=>{a.preventDefault(),this.callbacks.onDragOver?.(a,a.timeStamp-this.dragStartTime)})),this._register(H(this.element,ar.DRAG_LEAVE,a=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(a))})),this._register(H(this.element,ar.DRAG_END,a=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(a)})),this._register(H(this.element,ar.DROP,a=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(a)}))}}let aN=/(?<tag>[\w\-]+)?(?:#(?<id>[\w\-]+))?(?<class>(?:\.(?:[\w\-]+))*)(?:@(?<name>(?:[\w\_])+))?/;function aO(a,...b){let c,d;Array.isArray(b[0])?(c={},d=b[0]):(c=b[0]||{},d=b[1]);let e=aN.exec(a);if(!e||!e.groups)throw Error("Bad use of h");let f=e.groups.tag||"div",g=document.createElement(f);e.groups.id&&(g.id=e.groups.id);let h=[];if(e.groups.class)for(let a of e.groups.class.split("."))""!==a&&h.push(a);if(void 0!==c.className)for(let a of c.className.split("."))""!==a&&h.push(a);h.length>0&&(g.className=h.join(" "));let i={};if(e.groups.name&&(i[e.groups.name]=g),d)for(let a of d)am(a)?g.appendChild(a):"string"==typeof a?g.append(a):"root"in a&&(Object.assign(i,a),g.appendChild(a.root));for(let[a,b]of Object.entries(c))if("className"===a)continue;else if("style"===a)for(let[a,c]of Object.entries(b))g.style.setProperty(aP(a),"number"==typeof c?c+"px":""+c);else"tabIndex"===a?g.tabIndex=b:g.setAttribute(aP(a),b.toString());return i.root=g,i}function aP(a){return a.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function aQ(a){return"input"===a.tagName.toLowerCase()||"textarea"===a.tagName.toLowerCase()||am(a)&&!!a.editContext}!function(a){function b(a){return(b,c,d)=>{let e=c.class;delete c.class;let f=c.ref;delete c.ref;let g=c.obsRef;return delete c.obsRef,new aW(b,f,g,a,e,c,d)}}function c(a,c){let d=b(c);return(b,c)=>d(a,b,c)}a.div=c("div"),a.elem=b(void 0),a.svg=c("svg","http://www.w3.org/2000/svg"),a.svgElem=b("http://www.w3.org/2000/svg"),a.ref=function(){let a,b=function(b){a=b};return Object.defineProperty(b,"element",{get(){if(!a)throw new m.D7("Make sure the ref is set before accessing the element. Maybe wrong initialization order?");return a}}),b}}(g||(g={}));class aR{constructor(a,b,c,d,e,f,g){for(let[g,h]of(this._deriveds=[],this._element=d?document.createElementNS(d,a):document.createElement(a),b&&b(this._element),c&&this._deriveds.push((0,t.un)(a=>{c(this),a.store.add({dispose:()=>{c(null)}})})),e&&(!function a(b){return!!aY(b)||!!Array.isArray(b)&&b.some(b=>a(b))}(e)?aS(this._element,aT(e,void 0)):this._deriveds.push((0,t.un)(this,a=>{aS(this._element,aT(e,a))}))),Object.entries(f)))if("style"===g)for(let[a,b]of Object.entries(h)){let c=aP(a);aY(b)?this._deriveds.push((0,t.C)({owner:this,debugName:()=>`set.style.${c}`},a=>{this._element.style.setProperty(c,aU(b.read(a)))})):this._element.style.setProperty(c,aU(b))}else"tabIndex"===g?aY(h)?this._deriveds.push((0,t.un)(this,a=>{this._element.tabIndex=h.read(a)})):this._element.tabIndex=h:g.startsWith("on")?this._element[g]=h:aY(h)?this._deriveds.push((0,t.C)({owner:this,debugName:()=>`set.${g}`},a=>{aX(this._element,g,h.read(a))})):aX(this._element,g,h);if(g){let a=(0,t.un)(this,a=>{this._element.replaceChildren(...function a(b,c){return aY(c)?a(b,c.read(b)):Array.isArray(c)?c.flatMap(c=>a(b,c)):c instanceof aR?(b&&c.readEffect(b),[c._element]):c?[c]:[]}(a,g))});this._deriveds.push(a),!function a(b){return!!aY(b)||!!Array.isArray(b)&&b.some(b=>a(b))}(g)&&a.get()}}readEffect(a){for(let b of this._deriveds)b.read(a)}keepUpdated(a){return(0,t.un)(a=>{this.readEffect(a)}).recomputeInitiallyAndOnChange(a),this}toDisposableLiveElement(){let a=new o.Cm;return this.keepUpdated(a),new aV(this._element,a)}}function aS(a,b){ao(a)?a.setAttribute("class",b):a.className=b}function aT(a,b){let c="";return!function a(b,c,d){if(aY(b))return void d(b.read(c));if(Array.isArray(b)){for(let e of b)a(e,c,d);return}d(b)}(a,b,a=>{a&&(0===c.length?c=a:c+=" "+a)}),c}function aU(a){return"number"==typeof a?a+"px":a}class aV{constructor(a,b){this.element=a,this._disposable=b}dispose(){this._disposable.dispose()}}class aW extends aR{constructor(){super(...arguments),this._isHovered=void 0,this._didMouseMoveDuringHover=void 0}get element(){return this._element}get isHovered(){if(!this._isHovered){let a=(0,t.FY)("hovered",!1);this._element.addEventListener("mouseenter",b=>a.set(!0,void 0)),this._element.addEventListener("mouseleave",b=>a.set(!1,void 0)),this._isHovered=a}return this._isHovered}get didMouseMoveDuringHover(){if(!this._didMouseMoveDuringHover){let a=!1,b=(0,t.FY)("didMouseMoveDuringHover",!1);this._element.addEventListener("mouseenter",b=>{a=!0}),this._element.addEventListener("mousemove",c=>{a&&b.set(!0,void 0)}),this._element.addEventListener("mouseleave",c=>{a=!1,b.set(!1,void 0)}),this._didMouseMoveDuringHover=b}return this._didMouseMoveDuringHover}}function aX(a,b,c){null==c?a.removeAttribute(aP(b)):a.setAttribute(aP(b),String(c))}function aY(a){return!!a&&void 0!==a.read&&void 0!==a.reportChanges}},32723:(a,b,c)=>{"use strict";c.d(b,{b6:()=>f,of:()=>h});var d=c(94548),e=c(43589);function f(a,b){var c,f;return c=[a],f=b,(0,d.e)()&&(0,e.yQ)("reload",a=>(0,d.O)(({oldExports:b})=>{if([...Object.values(b)].some(a=>c.includes(a)))return b=>(a(void 0),!0)})).read(f),a}let g=new Map;function h(a){if(!(0,d.e)())return(0,e.lk)(a);let b=a.name,c=g.get(b);return c?setTimeout(()=>{c.set(a,void 0)},0):(c=(0,e.FY)(b,a),g.set(b,c)),c}},32765:(a,b,c)=>{"use strict";c.d(b,{f:()=>k});var d=c(99695),e=c(56167),f=c(70511),g=c(61059),h=c(11314),i=c(71373);class j{constructor(){this._coreKeybindings=new i.w,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(a){if(1===e.OS){if(a&&a.win)return a.win}else if(2===e.OS){if(a&&a.mac)return a.mac}else if(a&&a.linux)return a.linux;return a}registerKeybindingRule(a){let b=j.bindToCurrentPlatform(a),c=new h.Cm;if(b&&b.primary){let f=(0,d.Zv)(b.primary,e.OS);f&&c.add(this._registerDefaultKeybinding(f,a.id,a.args,a.weight,0,a.when))}if(b&&Array.isArray(b.secondary))for(let f=0,g=b.secondary.length;f<g;f++){let g=b.secondary[f],h=(0,d.Zv)(g,e.OS);h&&c.add(this._registerDefaultKeybinding(h,a.id,a.args,a.weight,-f-1,a.when))}return c}registerCommandAndKeybindingRule(a){return(0,h.qE)(this.registerKeybindingRule(a),f.w.registerCommand(a))}_registerDefaultKeybinding(a,b,c,d,e,f){let g=this._coreKeybindings.push({keybinding:a,command:b,commandArgs:c,when:f,weight1:d,weight2:e,extensionId:null,isBuiltinExtension:!1});return this._cachedMergedKeybindings=null,(0,h.s)(()=>{g(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(l)),this._cachedMergedKeybindings.slice(0)}}let k=new j;function l(a,b){if(a.weight1!==b.weight1)return a.weight1-b.weight1;if(a.command&&b.command){if(a.command<b.command)return -1;if(a.command>b.command)return 1}return a.weight2-b.weight2}g.O.add("platform.keybindingsRegistry",k)},32793:(a,b,c)=>{"use strict";c.d(b,{L:()=>f.LN,a:()=>f.aG});var d=c(3773),e=c(95299),f=c(69871),g=c(48363);(0,f.uO)({StringEdit:d.c7,StringReplacement:d.aQ,TextReplacement:e.W,TextEdit:e.m,TextLength:g.W})},32901:(a,b,c)=>{"use strict";c.d(b,{r4:()=>E,Yl:()=>G});var d,e=c(40565),f=c(14635),g=c(11314),h=c(43589),i=c(63090),j=c(29715),k=c(60734),l=c(34509),m=c(31512),n=c(36463),o=c(65320),p=c(91295),q=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},r=function(a,b){return function(c,d){b(c,d,a)}};let s=(0,j.u1)("diffProviderFactoryService"),t=class{constructor(a){this.instantiationService=a}createDiffProvider(a){return this.instantiationService.createInstance(u,a)}};t=q([r(0,j._Y)],t),(0,i.v)(s,t,1);let u=class{static{d=this}static{this.diffCache=new Map}constructor(a,b,c){this.editorWorkerService=b,this.telemetryService=c,this.onDidChangeEventEmitter=new k.vl,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(a)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(a,b,c,e){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(a,b,c,e);if(a.isDisposed()||b.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===a.getLineCount()&&1===a.getLineMaxColumn(1))return 1===b.getLineCount()&&1===b.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new n.wm(new m.M(1,2),new m.M(1,b.getLineCount()+1),[new n.q6(a.getFullModelRange(),b.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};let f=JSON.stringify([a.uri.toString(),b.uri.toString()]),g=JSON.stringify([a.id,b.id,a.getAlternativeVersionId(),b.getAlternativeVersionId(),JSON.stringify(c)]),h=d.diffCache.get(f);if(h&&h.context===g)return h.result;let i=l.W.create(),j=await this.editorWorkerService.computeDiff(a.uri,b.uri,c,this.diffAlgorithm),k=i.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:k,timedOut:j?.quitEarly??!0,detectedMoves:c.computeMoves?j?.moves.length??0:-1}),e.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!j)throw Error("no diff result available");return d.diffCache.size>10&&d.diffCache.delete(d.diffCache.keys().next().value),d.diffCache.set(f,{result:j,context:g}),j}setOptions(a){let b=!1;a.diffAlgorithm&&this.diffAlgorithm!==a.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=a.diffAlgorithm,"string"!=typeof a.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=a.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),b=!0),b&&this.onDidChangeEventEmitter.fire()}};u=d=q([r(1,o.w),r(2,p.k)],u);var v=c(8992),w=c(32723),x=c(2884),y=c(88662),z=c(41500),A=c(27706),B=c(46339),C=c(54734),D=c(22450);let E=class extends g.jG{setActiveMovedText(a){this._activeMovedText.set(a,void 0)}constructor(a,b,c){super(),this.model=a,this._options=b,this._diffProviderFactoryService=c,this._isDiffUpToDate=(0,h.FY)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,h.FY)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,h.FY)(this,void 0),this.unchangedRegions=(0,h.un)(this,a=>this._options.hideUnchangedRegions.read(a)?this._unchangedRegions.read(a)?.regions??[]:((0,h.Rn)(a=>{for(let b of this._unchangedRegions.read(void 0)?.regions||[])b.collapseAll(a)}),[])),this.movedTextToCompare=(0,h.FY)(this,void 0),this._activeMovedText=(0,h.FY)(this,void 0),this._hoveredMovedText=(0,h.FY)(this,void 0),this.activeMovedText=(0,h.un)(this,a=>this.movedTextToCompare.read(a)??this._hoveredMovedText.read(a)??this._activeMovedText.read(a)),this._cancellationTokenSource=new f.Qi,this._diffProvider=(0,h.un)(this,a=>{let b=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(a)}),c=(0,h.yQ)("onDidChange",b.onDidChange);return{diffProvider:b,onChangeSignal:c}}),this._register((0,g.s)(()=>this._cancellationTokenSource.cancel()));let d=(0,h.Yd)("contentChangedSignal"),i=this._register(new e.uC(()=>d.trigger(void 0),200));this._register((0,h.fm)(b=>{let c=this._unchangedRegions.read(b);if(!c||c.regions.some(a=>a.isDragged.read(b)))return;let d=c.originalDecorationIds.map(b=>a.original.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),e=c.modifiedDecorationIds.map(b=>a.modified.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),f=c.regions.map((a,c)=>d[c]&&e[c]?new H(d[c].startLineNumber,e[c].startLineNumber,d[c].length,a.visibleLineCountTop.read(b),a.visibleLineCountBottom.read(b)):void 0).filter(B.O9),g=[],i=!1;for(let a of(0,C.n)(f,(a,c)=>a.getHiddenModifiedRange(b).endLineNumberExclusive===c.getHiddenModifiedRange(b).startLineNumber))if(a.length>1){i=!0;let b=a.reduce((a,b)=>a+b.lineCount,0),c=new H(a[0].originalLineNumber,a[0].modifiedLineNumber,b,a[0].visibleLineCountTop.read(void 0),a[a.length-1].visibleLineCountBottom.read(void 0));g.push(c)}else g.push(a[0]);if(i){let b=a.original.deltaDecorations(c.originalDecorationIds,g.map(a=>({range:a.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),d=a.modified.deltaDecorations(c.modifiedDecorationIds,g.map(a=>({range:a.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,h.Rn)(a=>{this._unchangedRegions.set({regions:g,originalDecorationIds:b,modifiedDecorationIds:d},a)})}}));let j=(b,c,d)=>{let e,f=H.fromDiffs(b.changes,a.original.getLineCount(),a.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(d),this._options.hideUnchangedRegionsContextLineCount.read(d)),g=this._unchangedRegions.get();if(g){let b=g.originalDecorationIds.map(b=>a.original.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),c=g.modifiedDecorationIds.map(b=>a.modified.getDecorationRange(b)).map(a=>a?m.M.fromRangeInclusive(a):void 0),f=(0,v.EK)(g.regions.map((a,d)=>{if(!b[d]||!c[d])return;let e=b[d].length;return new H(b[d].startLineNumber,c[d].startLineNumber,e,Math.min(a.visibleLineCountTop.get(),e),Math.min(a.visibleLineCountBottom.get(),e-a.visibleLineCountTop.get()))}).filter(B.O9),(a,b)=>!b||a.modifiedLineNumber>=b.modifiedLineNumber+b.lineCount&&a.originalLineNumber>=b.originalLineNumber+b.lineCount).map(a=>new n.WL(a.getHiddenOriginalRange(d),a.getHiddenModifiedRange(d)));f=n.WL.clip(f,m.M.ofLength(1,a.original.getLineCount()),m.M.ofLength(1,a.modified.getLineCount())),e=n.WL.inverse(f,a.original.getLineCount(),a.modified.getLineCount())}let h=[];if(e)for(let a of f){let b=e.filter(b=>b.original.intersectsStrict(a.originalUnchangedRange)&&b.modified.intersectsStrict(a.modifiedUnchangedRange));h.push(...a.setVisibleRanges(b,c))}else h.push(...f);let i=a.original.deltaDecorations(g?.originalDecorationIds||[],h.map(a=>({range:a.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),j=a.modified.deltaDecorations(g?.modifiedDecorationIds||[],h.map(a=>({range:a.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:h,originalDecorationIds:i,modifiedDecorationIds:j},c)};this._register(a.modified.onDidChangeContent(b=>{if(this._diff.get()){let c=y.c.fromModelContentChanges(b.changes),d=J(this._lastDiff,c,a.original,a.modified);d&&(this._lastDiff=d,(0,h.Rn)(a=>{this._diff.set(F.fromDiffResult(this._lastDiff),a),j(d,a);let b=this.movedTextToCompare.get();this.movedTextToCompare.set(b?this._lastDiff.moves.find(a=>a.lineRangeMapping.modified.intersect(b.lineRangeMapping.modified)):void 0,a)}))}this._isDiffUpToDate.set(!1,void 0),i.schedule()})),this._register(a.original.onDidChangeContent(b=>{if(this._diff.get()){let c=y.c.fromModelContentChanges(b.changes),d=I(this._lastDiff,c,a.original,a.modified);d&&(this._lastDiff=d,(0,h.Rn)(a=>{this._diff.set(F.fromDiffResult(this._lastDiff),a),j(d,a);let b=this.movedTextToCompare.get();this.movedTextToCompare.set(b?this._lastDiff.moves.find(a=>a.lineRangeMapping.modified.intersect(b.lineRangeMapping.modified)):void 0,a)}))}this._isDiffUpToDate.set(!1,void 0),i.schedule()})),this._register((0,h.yC)(async(b,c)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(b),this._options.hideUnchangedRegionsContextLineCount.read(b),i.cancel(),d.read(b);let e=this._diffProvider.read(b);e.onChangeSignal.read(b),(0,w.b6)(x.D,b),(0,w.b6)(A.NC,b),this._isDiffUpToDate.set(!1,void 0);let f=[];c.add(a.original.onDidChangeContent(a=>{let b=y.c.fromModelContentChanges(a.changes);f=(0,z.M)(f,b)}));let g=[];c.add(a.modified.onDidChangeContent(a=>{let b=y.c.fromModelContentChanges(a.changes);g=(0,z.M)(g,b)}));let k=await e.diffProvider.computeDiff(a.original,a.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(b),maxComputationTimeMs:this._options.maxComputationTimeMs.read(b),computeMoves:this._options.showMoves.read(b)},this._cancellationTokenSource.token);!this._cancellationTokenSource.token.isCancellationRequested&&(a.original.isDisposed()||a.modified.isDisposed()||(k=J(k=I(k=function(a,b,c){return{changes:a.changes.map(a=>new n.wm(a.original,a.modified,a.innerChanges?a.innerChanges.map(a=>{var d,e,f;let g,h;return d=a,e=b,f=c,g=d.originalRange,h=d.modifiedRange,1===g.startColumn&&1===h.startColumn&&(1!==g.endColumn||1!==h.endColumn)&&g.endColumn===e.getLineMaxColumn(g.endLineNumber)&&h.endColumn===f.getLineMaxColumn(h.endLineNumber)&&g.endLineNumber<e.getLineCount()&&h.endLineNumber<f.getLineCount()&&(g=g.setEndPosition(g.endLineNumber+1,1),h=h.setEndPosition(h.endLineNumber+1,1)),new n.q6(g,h)}):void 0)),moves:a.moves,identical:a.identical,quitEarly:a.quitEarly}}(k,a.original,a.modified),f,a.original,a.modified)??k,g,a.original,a.modified)??k,(0,h.Rn)(a=>{j(k,a),this._lastDiff=k;let b=F.fromDiffResult(k);this._diff.set(b,a),this._isDiffUpToDate.set(!0,a);let c=this.movedTextToCompare.read(void 0);this.movedTextToCompare.set(c?this._lastDiff.moves.find(a=>a.lineRangeMapping.modified.intersect(c.lineRangeMapping.modified)):void 0,a)})))}))}ensureModifiedLineIsVisible(a,b,c){if(this.diff.get()?.mappings.length!==0){for(let d of this._unchangedRegions.get()?.regions||[])if(d.getHiddenModifiedRange(void 0).contains(a))return void d.showModifiedLine(a,b,c)}}ensureOriginalLineIsVisible(a,b,c){if(this.diff.get()?.mappings.length!==0){for(let d of this._unchangedRegions.get()?.regions||[])if(d.getHiddenOriginalRange(void 0).contains(a))return void d.showOriginalLine(a,b,c)}}async waitForDiff(){await (0,h.oJ)(this.isDiffUpToDate,a=>a)}serializeState(){let a=this._unchangedRegions.get();return{collapsedRegions:a?.regions.map(a=>({range:a.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(a){let b=a.collapsedRegions?.map(a=>m.M.deserialize(a.range)),c=this._unchangedRegions.get();c&&b&&(0,h.Rn)(a=>{for(let d of c.regions)for(let c of b)if(d.modifiedUnchangedRange.intersect(c)){d.setHiddenModifiedRange(c,a);break}})}};E=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([function(a,b){s(a,b,2)}],E);class F{static fromDiffResult(a){return new F(a.changes.map(a=>new G(a)),a.moves||[],a.identical,a.quitEarly)}constructor(a,b,c,d){this.mappings=a,this.movedTexts=b,this.identical=c,this.quitEarly=d}}class G{constructor(a){this.lineRangeMapping=a}}class H{static fromDiffs(a,b,c,d,e){let f=n.wm.inverse(a,b,c),g=[];for(let a of f){let f=a.original.startLineNumber,h=a.modified.startLineNumber,i=a.original.length,j=1===f&&1===h,k=f+i===b+1&&h+i===c+1;(j||k)&&i>=e+d?(j&&!k&&(i-=e),k&&!j&&(f+=e,h+=e,i-=e),g.push(new H(f,h,i,0,0))):i>=2*e+d&&(f+=e,h+=e,i-=2*e,g.push(new H(f,h,i,0,0)))}return g}get originalUnchangedRange(){return m.M.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return m.M.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(a,b,c,d,e){this.originalLineNumber=a,this.modifiedLineNumber=b,this.lineCount=c,this._visibleLineCountTop=(0,h.FY)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,h.FY)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,h.un)(this,a=>this.visibleLineCountTop.read(a)+this.visibleLineCountBottom.read(a)===this.lineCount&&!this.isDragged.read(a)),this.isDragged=(0,h.FY)(this,void 0);let f=Math.max(Math.min(d,this.lineCount),0),g=Math.max(Math.min(e,this.lineCount-d),0);(0,D.V7)(d===f),(0,D.V7)(e===g),this._visibleLineCountTop.set(f,void 0),this._visibleLineCountBottom.set(g,void 0)}setVisibleRanges(a,b){let c=[],d=new m.S(a.map(a=>a.modified)).subtractFrom(this.modifiedUnchangedRange),e=this.originalLineNumber,f=this.modifiedLineNumber,g=this.modifiedLineNumber+this.lineCount;if(0===d.ranges.length)this.showAll(b),c.push(this);else{let a=0;for(let h of d.ranges){let i=a===d.ranges.length-1;a++;let j=(i?g:h.endLineNumberExclusive)-f,k=new H(e,f,j,0,0);k.setHiddenModifiedRange(h,b),c.push(k),e=k.originalUnchangedRange.endLineNumberExclusive,f=k.modifiedUnchangedRange.endLineNumberExclusive}}return c}shouldHideControls(a){return this._shouldHideControls.read(a)}getHiddenOriginalRange(a){return m.M.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(a),this.lineCount-this._visibleLineCountTop.read(a)-this._visibleLineCountBottom.read(a))}getHiddenModifiedRange(a){return m.M.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(a),this.lineCount-this._visibleLineCountTop.read(a)-this._visibleLineCountBottom.read(a))}setHiddenModifiedRange(a,b){let c=a.startLineNumber-this.modifiedLineNumber,d=this.modifiedLineNumber+this.lineCount-a.endLineNumberExclusive;this.setState(c,d,b)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(a=10,b){let c=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+a,c),b)}showMoreBelow(a=10,b){let c=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+a,c),b)}showAll(a){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),a)}showModifiedLine(a,b,c){let d=a+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),e=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-a;0===b&&d<e||1===b?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+d,c):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+e,c)}showOriginalLine(a,b,c){let d=a-this.originalLineNumber,e=this.originalLineNumber+this.lineCount-a;0===b&&d<e||1===b?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e-d,this.getMaxVisibleLineCountTop()),c):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+d-e,this.getMaxVisibleLineCountBottom()),c)}collapseAll(a){this._visibleLineCountTop.set(0,a),this._visibleLineCountBottom.set(0,a)}setState(a,b,c){a=Math.max(Math.min(a,this.lineCount),0),b=Math.max(Math.min(b,this.lineCount-a),0),this._visibleLineCountTop.set(a,c),this._visibleLineCountBottom.set(b,c)}}function I(a,b,c,d){}function J(a,b,c,d){}},32908:(a,b,c)=>{"use strict";c.d(b,{$C:()=>af,BE:()=>aA,Bc:()=>J,O4:()=>A,Of:()=>am,Vs:()=>ag,XR:()=>al,hZ:()=>p,jT:()=>e,jU:()=>az,ls:()=>x,lw:()=>m,m9:()=>d,n0:()=>n,qB:()=>aC,r_:()=>K,wA:()=>v,xZ:()=>T,xq:()=>l,zM:()=>t});var d,e,f=c(54734),g=c(43310),h=c(56167),i=c(93835),j=c(55866),k=c(25536);let l=8;class m{constructor(a){this._values=a}hasChanged(a){return this._values[a]}}class n{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class o{constructor(a,b,c,d){this.id=a,this.name=b,this.defaultValue=c,this.schema=d}applyUpdate(a,b){return q(a,b)}compute(a,b,c){return c}}class p{constructor(a,b){this.newValue=a,this.didChange=b}}function q(a,b){if("object"!=typeof a||"object"!=typeof b||!a||!b)return new p(b,a!==b);if(Array.isArray(a)||Array.isArray(b)){let c=Array.isArray(a)&&Array.isArray(b)&&f.aI(a,b);return new p(b,!c)}let c=!1;for(let d in b)if(b.hasOwnProperty(d)){let e=q(a[d],b[d]);e.didChange&&(a[d]=e.newValue,c=!0)}return new p(a,c)}class r{constructor(a){this.schema=void 0,this.id=a,this.name="_never_",this.defaultValue=void 0}applyUpdate(a,b){return q(a,b)}validate(a){return this.defaultValue}}class s{constructor(a,b,c,d){this.id=a,this.name=b,this.defaultValue=c,this.schema=d}applyUpdate(a,b){return q(a,b)}validate(a){return void 0===a?this.defaultValue:a}compute(a,b,c){return c}}function t(a,b){return void 0===a?b:"false"!==a&&!!a}class u extends s{constructor(a,b,c,d){void 0!==d&&(d.type="boolean",d.default=c),super(a,b,c,d)}validate(a){return t(a,this.defaultValue)}}function v(a,b,c,d){if(void 0===a)return b;let e=parseInt(a,10);return isNaN(e)?b:0|(e=Math.min(d,e=Math.max(c,e)))}class w extends s{static clampedInt(a,b,c,d){return v(a,b,c,d)}constructor(a,b,c,d,e,f){void 0!==f&&(f.type="integer",f.default=c,f.minimum=d,f.maximum=e),super(a,b,c,f),this.minimum=d,this.maximum=e}validate(a){return w.clampedInt(a,this.defaultValue,this.minimum,this.maximum)}}function x(a,b,c,d){if(void 0===a)return b;let e=y.float(a,b);return y.clamp(e,c,d)}class y extends s{static clamp(a,b,c){return a<b?b:a>c?c:a}static float(a,b){if("number"==typeof a)return a;if(void 0===a)return b;let c=parseFloat(a);return isNaN(c)?b:c}constructor(a,b,c,d,e,f,g){void 0!==e&&(e.type="number",e.default=c,e.minimum=f,e.maximum=g),super(a,b,c,e),this.validationFn=d,this.minimum=f,this.maximum=g}validate(a){return this.validationFn(y.float(a,this.defaultValue))}}class z extends s{static string(a,b){return"string"!=typeof a?b:a}constructor(a,b,c,d){void 0!==d&&(d.type="string",d.default=c),super(a,b,c,d)}validate(a){return z.string(a,this.defaultValue)}}function A(a,b,c,d){return"string"!=typeof a?b:d&&a in d?d[a]:-1===c.indexOf(a)?b:a}class B extends s{constructor(a,b,c,d,e){void 0!==e&&(e.type="string",e.enum=d,e.default=c),super(a,b,c,e),this._allowedValues=d}validate(a){return A(a,this.defaultValue,this._allowedValues)}}class C extends o{constructor(a,b,c,d,e,f,g){void 0!==g&&(g.type="string",g.enum=e,g.default=d),super(a,b,c,g),this._allowedValues=e,this._convert=f}validate(a){return"string"!=typeof a||-1===this._allowedValues.indexOf(a)?this.defaultValue:this._convert(a)}}class D extends o{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[k.kg(198,"Use platform APIs to detect when a Screen Reader is attached."),k.kg(199,"Optimize for usage with a Screen Reader."),k.kg(200,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:k.kg(201,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(a){switch(a){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(a,b,c){return 0===c?a.accessibilitySupport:c}}class E extends o{constructor(){let a={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",a,{"editor.comments.insertSpace":{type:"boolean",default:a.insertSpace,description:k.kg(202,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:a.ignoreEmptyLines,description:k.kg(203,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(a){return a&&"object"==typeof a?{insertSpace:t(a.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:t(a.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}:this.defaultValue}}function F(a){switch(a){case"line":return d.Line;case"block":return d.Block;case"underline":return d.Underline;case"line-thin":return d.LineThin;case"block-outline":return d.BlockOutline;case"underline-thin":return d.UnderlineThin}}!function(a){a[a.Line=1]="Line",a[a.Block=2]="Block",a[a.Underline=3]="Underline",a[a.LineThin=4]="LineThin",a[a.BlockOutline=5]="BlockOutline",a[a.UnderlineThin=6]="UnderlineThin"}(d||(d={}));class G extends r{constructor(){super(162)}compute(a,b,c){let d=["monaco-editor"];return b.get(48)&&d.push(b.get(48)),a.extraEditorClassName&&d.push(a.extraEditorClassName),"default"===b.get(82)?d.push("mouse-default"):"copy"===b.get(82)&&d.push("mouse-copy"),b.get(127)&&d.push("showUnused"),b.get(157)&&d.push("showDeprecated"),d.join(" ")}}class H extends u{constructor(){super(45,"emptySelectionClipboard",!0,{description:k.kg(204,"Controls whether copying without a selection copies the current line.")})}compute(a,b,c){return c&&a.emptySelectionClipboard}}class I extends o{constructor(){let a={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,history:"workspace",replaceHistory:"workspace"};super(50,"find",a,{"editor.find.cursorMoveOnType":{type:"boolean",default:a.cursorMoveOnType,description:k.kg(205,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:a.seedSearchStringFromSelection,enumDescriptions:[k.kg(206,"Never seed search string from the editor selection."),k.kg(207,"Always seed search string from the editor selection, including word at cursor position."),k.kg(208,"Only seed search string from the editor selection.")],description:k.kg(209,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:a.autoFindInSelection,enumDescriptions:[k.kg(210,"Never turn on Find in Selection automatically (default)."),k.kg(211,"Always turn on Find in Selection automatically."),k.kg(212,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:k.kg(213,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:a.globalFindClipboard,description:k.kg(214,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:h.zx},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:a.addExtraSpaceOnTop,description:k.kg(215,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:a.loop,description:k.kg(216,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[k.kg(217,"Do not store search history from the find widget."),k.kg(218,"Store search history across the active workspace")],description:k.kg(219,"Controls how the find widget history should be stored")},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[k.kg(220,"Do not store history from the replace widget."),k.kg(221,"Store replace history across the active workspace")],description:k.kg(222,"Controls how the replace widget history should be stored")},"editor.find.findOnType":{type:"boolean",default:a.findOnType,description:k.kg(223,"Controls whether the Find Widget should search as you type.")}})}validate(a){return a&&"object"==typeof a?{cursorMoveOnType:t(a.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:t(a.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:"boolean"==typeof a.seedSearchStringFromSelection?a.seedSearchStringFromSelection?"always":"never":A(a.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof a.autoFindInSelection?a.autoFindInSelection?"always":"never":A(a.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:t(a.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:t(a.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:t(a.loop,this.defaultValue.loop),history:A(a.history,this.defaultValue.history,["never","workspace"]),replaceHistory:A(a.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}:this.defaultValue}}class J extends o{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(60,"fontLigatures",J.OFF,{anyOf:[{type:"boolean",description:k.kg(224,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:k.kg(225,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:k.kg(226,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(a){return void 0===a?this.defaultValue:"string"==typeof a?"false"===a||0===a.length?J.OFF:"true"===a?J.ON:a:a?J.ON:J.OFF}}class K extends o{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(63,"fontVariations",K.OFF,{anyOf:[{type:"boolean",description:k.kg(227,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:k.kg(228,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:k.kg(229,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(a){return void 0===a?this.defaultValue:"string"==typeof a?"false"===a?K.OFF:"true"===a?K.TRANSLATE:a:a?K.TRANSLATE:K.OFF}compute(a,b,c){return a.fontInfo.fontVariationSettings}}class L extends r{constructor(){super(59)}compute(a,b,c){return a.fontInfo}}class M extends r{constructor(){super(161)}compute(a,b,c){return"overtype"===a.inputMode?b.get(92):b.get(34)}}class N extends r{constructor(){super(170)}compute(a,b){return a.editContextSupported&&b.get(44)}}class O extends r{constructor(){super(172)}compute(a,b){return 2===a.accessibilitySupport?b.get(7):b.get(6)}}class P extends s{constructor(){super(61,"fontSize",az.fontSize,{type:"number",minimum:6,maximum:100,default:az.fontSize,description:k.kg(230,"Controls the font size in pixels.")})}validate(a){let b=y.float(a,this.defaultValue);return 0===b?az.fontSize:y.clamp(b,6,100)}compute(a,b,c){return a.fontInfo.fontSize}}class Q extends o{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,"fontWeight",az.fontWeight,{anyOf:[{type:"number",minimum:Q.MINIMUM_VALUE,maximum:Q.MAXIMUM_VALUE,errorMessage:k.kg(231,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Q.SUGGESTION_VALUES}],default:az.fontWeight,description:k.kg(232,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(a){return"normal"===a||"bold"===a?a:String(w.clampedInt(a,az.fontWeight,Q.MINIMUM_VALUE,Q.MAXIMUM_VALUE))}}class R extends o{constructor(){let a={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},b={type:"string",enum:["peek","gotoAndPeek","goto"],default:a.multiple,enumDescriptions:[k.kg(233,"Show Peek view of the results (default)"),k.kg(234,"Go to the primary result and show a Peek view"),k.kg(235,"Go to the primary result and enable Peek-less navigation to others")]},c=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",a,{"editor.gotoLocation.multiple":{deprecationMessage:k.kg(236,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:k.kg(237,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleTypeDefinitions":{description:k.kg(238,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleDeclarations":{description:k.kg(239,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleImplementations":{description:k.kg(240,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...b},"editor.gotoLocation.multipleReferences":{description:k.kg(241,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...b},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:a.alternativeDefinitionCommand,enum:c,description:k.kg(242,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:a.alternativeTypeDefinitionCommand,enum:c,description:k.kg(243,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:a.alternativeDeclarationCommand,enum:c,description:k.kg(244,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:a.alternativeImplementationCommand,enum:c,description:k.kg(245,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:a.alternativeReferenceCommand,enum:c,description:k.kg(246,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(a){return a&&"object"==typeof a?{multiple:A(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:a.multipleDefinitions??A(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:a.multipleTypeDefinitions??A(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:a.multipleDeclarations??A(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:a.multipleImplementations??A(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:a.multipleReferences??A(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:a.multipleTests??A(a.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:z.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:z.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:z.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:z.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:z.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:z.string(a.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}:this.defaultValue}}class S extends o{constructor(){let a={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(69,"hover",a,{"editor.hover.enabled":{type:"boolean",default:a.enabled,description:k.kg(247,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:a.delay,minimum:0,maximum:1e4,description:k.kg(248,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:a.sticky,description:k.kg(249,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:a.hidingDelay,markdownDescription:k.kg(250,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:"boolean",default:a.above,description:k.kg(251,"Prefer showing hovers above the line, if there's space.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),delay:w.clampedInt(a.delay,this.defaultValue.delay,0,1e4),sticky:t(a.sticky,this.defaultValue.sticky),hidingDelay:w.clampedInt(a.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:t(a.above,this.defaultValue.above)}:this.defaultValue}}class T extends r{constructor(){super(165)}compute(a,b,c){return T.computeLayout(b,{memory:a.memory,outerWidth:a.outerWidth,outerHeight:a.outerHeight,isDominatedByLongLines:a.isDominatedByLongLines,lineHeight:a.fontInfo.lineHeight,viewLineCount:a.viewLineCount,lineNumbersDigitCount:a.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:a.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:a.fontInfo.maxDigitWidth,pixelRatio:a.pixelRatio,glyphMarginDecorationLaneCount:a.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(a){let b=a.height/a.lineHeight,c=Math.floor(a.paddingTop/a.lineHeight),d=Math.floor(a.paddingBottom/a.lineHeight);a.scrollBeyondLastLine&&(d=Math.max(d,b-1));let e=(c+a.viewLineCount+d)/(a.pixelRatio*a.height),f=Math.floor(a.viewLineCount/e);return{typicalViewportLineCount:b,extraLinesBeforeFirstLine:c,extraLinesBeyondLastLine:d,desiredRatio:e,minimapLineCount:f}}static _computeMinimapLayout(a,b){let c=a.outerWidth,d=a.outerHeight,e=a.pixelRatio;if(!a.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(e*d),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:d};let f=b.stableMinimapLayoutInput,g=f&&a.outerHeight===f.outerHeight&&a.lineHeight===f.lineHeight&&a.typicalHalfwidthCharacterWidth===f.typicalHalfwidthCharacterWidth&&a.pixelRatio===f.pixelRatio&&a.scrollBeyondLastLine===f.scrollBeyondLastLine&&a.paddingTop===f.paddingTop&&a.paddingBottom===f.paddingBottom&&a.minimap.enabled===f.minimap.enabled&&a.minimap.side===f.minimap.side&&a.minimap.size===f.minimap.size&&a.minimap.showSlider===f.minimap.showSlider&&a.minimap.renderCharacters===f.minimap.renderCharacters&&a.minimap.maxColumn===f.minimap.maxColumn&&a.minimap.scale===f.minimap.scale&&a.verticalScrollbarWidth===f.verticalScrollbarWidth&&a.isViewportWrapping===f.isViewportWrapping,h=a.lineHeight,i=a.typicalHalfwidthCharacterWidth,j=a.scrollBeyondLastLine,k=a.minimap.renderCharacters,m=e>=2?Math.round(2*a.minimap.scale):a.minimap.scale,n=a.minimap.maxColumn,o=a.minimap.size,p=a.minimap.side,q=a.verticalScrollbarWidth,r=a.viewLineCount,s=a.remainingWidth,t=a.isViewportWrapping,u=k?2:3,v=Math.floor(e*d),w=v/e,x=!1,y=!1,z=u*m,A=m/e,B=1;if("fill"===o||"fit"===o){let{typicalViewportLineCount:c,extraLinesBeforeFirstLine:f,extraLinesBeyondLastLine:i,desiredRatio:k,minimapLineCount:l}=T.computeContainedMinimapLineCount({viewLineCount:r,scrollBeyondLastLine:j,paddingTop:a.paddingTop,paddingBottom:a.paddingBottom,height:d,lineHeight:h,pixelRatio:e});if(r/l>1)x=!0,y=!0,z=1,A=(m=1)/e;else{let d=!1,j=m+1;if("fit"===o){let a=Math.ceil((f+r+i)*z);t&&g&&s<=b.stableFitRemainingWidth?(d=!0,j=b.stableFitMaxMinimapScale):d=a>v}if("fill"===o||d){x=!0;let d=m;z=Math.min(h*e,Math.max(1,Math.floor(1/k))),t&&g&&s<=b.stableFitRemainingWidth&&(j=b.stableFitMaxMinimapScale),(m=Math.min(j,Math.max(1,Math.floor(z/u))))>d&&(B=Math.min(2,m/d)),A=m/e/B,v=Math.ceil(Math.max(c,f+r+i)*z),t?(b.stableMinimapLayoutInput=a,b.stableFitRemainingWidth=s,b.stableFitMaxMinimapScale=m):(b.stableMinimapLayoutInput=null,b.stableFitRemainingWidth=0)}}}let C=Math.min(Math.floor(n*A),Math.max(0,Math.floor((s-q-2)*A/(i+A)))+l),D=Math.floor(e*C),E=D/e;return{renderMinimap:k?1:2,minimapLeft:"left"===p?0:c-C-q,minimapWidth:C,minimapHeightIsEditorHeight:x,minimapIsSampling:y,minimapScale:m,minimapLineHeight:z,minimapCanvasInnerWidth:D=Math.floor(D*B),minimapCanvasInnerHeight:v,minimapCanvasOuterWidth:E,minimapCanvasOuterHeight:w}}static computeLayout(a,b){let c=0|b.outerWidth,d=0|b.outerHeight,e=0|b.lineHeight,f=0|b.lineNumbersDigitCount,g=b.typicalHalfwidthCharacterWidth,h=b.maxDigitWidth,i=b.pixelRatio,j=b.viewLineCount,k=a.get(154),l="inherit"===k?a.get(153):k,m="inherit"===l?a.get(149):l,o=a.get(152),p=b.isDominatedByLongLines,q=a.get(66),r=0!==a.get(76).renderType,s=a.get(77),t=a.get(119),u=a.get(96),v=a.get(81),w=a.get(117),x=w.verticalScrollbarSize,y=w.verticalHasArrows,z=w.arrowSize,A=w.horizontalScrollbarSize,B=a.get(52),C="never"!==a.get(126),D=a.get(74);B&&C&&(D+=16);let E=0;r&&(E=Math.round(Math.max(f,s)*h));let F=0;q&&(F=e*b.glyphMarginDecorationLaneCount);let G=0,H=0+F,I=H+E,J=I+D,K=c-F-E-D,L=!1,M=!1,N=-1;2===a.get(2)&&"inherit"===l&&p?(L=!0,M=!0):"on"===m||"bounded"===m?M=!0:"wordWrapColumn"===m&&(N=o);let O=T._computeMinimapLayout({outerWidth:c,outerHeight:d,lineHeight:e,typicalHalfwidthCharacterWidth:g,pixelRatio:i,scrollBeyondLastLine:t,paddingTop:u.top,paddingBottom:u.bottom,minimap:v,verticalScrollbarWidth:x,viewLineCount:j,remainingWidth:K,isViewportWrapping:M},b.memory||new n);0!==O.renderMinimap&&0===O.minimapLeft&&(G+=O.minimapWidth,H+=O.minimapWidth,I+=O.minimapWidth,J+=O.minimapWidth);let P=K-O.minimapWidth,Q=Math.max(1,Math.floor((P-x-2)/g)),R=y?z:0;return M&&(N=Math.max(1,Q),"bounded"===m&&(N=Math.min(N,o))),{width:c,height:d,glyphMarginLeft:G,glyphMarginWidth:F,glyphMarginDecorationLaneCount:b.glyphMarginDecorationLaneCount,lineNumbersLeft:H,lineNumbersWidth:E,decorationsLeft:I,decorationsWidth:D,contentLeft:J,contentWidth:P,minimap:O,viewportColumn:Q,isWordWrapMinified:L,isViewportWrapping:M,wrappingColumn:N,verticalScrollbarWidth:x,horizontalScrollbarHeight:A,overviewRuler:{top:R,width:x,height:d-2*R,right:0}}}}class U extends o{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[k.kg(252,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),k.kg(253,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:k.kg(254,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(a){return A(a,"simple",["simple","advanced"])}compute(a,b,c){return 2===b.get(2)?"advanced":c}}!function(a){a.Off="off",a.OnCode="onCode",a.On="on"}(e||(e={}));class V extends o{constructor(){let a={enabled:e.OnCode};super(73,"lightbulb",a,{"editor.lightbulb.enabled":{type:"string",enum:[e.Off,e.OnCode,e.On],default:a.enabled,enumDescriptions:[k.kg(255,"Disable the code action menu."),k.kg(256,"Show the code action menu when the cursor is on lines with code."),k.kg(257,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:k.kg(258,"Enables the Code Action lightbulb in the editor.")}})}validate(a){return a&&"object"==typeof a?{enabled:A(a.enabled,this.defaultValue.enabled,[e.Off,e.OnCode,e.On])}:this.defaultValue}}class W extends o{constructor(){let a={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",a,{"editor.stickyScroll.enabled":{type:"boolean",default:a.enabled,description:k.kg(259,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:a.maxLineCount,minimum:1,maximum:20,description:k.kg(260,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:a.defaultModel,description:k.kg(261,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:a.scrollWithEditor,description:k.kg(262,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),maxLineCount:w.clampedInt(a.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:A(a.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:t(a.scrollWithEditor,this.defaultValue.scrollWithEditor)}:this.defaultValue}}class X extends o{constructor(){let a={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",a,{"editor.inlayHints.enabled":{type:"string",default:a.enabled,description:k.kg(263,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[k.kg(264,"Inlay hints are enabled"),k.kg(265,"Inlay hints are showing by default and hide when holding {0}",h.zx?"Ctrl+Option":"Ctrl+Alt"),k.kg(266,"Inlay hints are hidden by default and show when holding {0}",h.zx?"Ctrl+Option":"Ctrl+Alt"),k.kg(267,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:a.fontSize,markdownDescription:k.kg(268,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:a.fontFamily,markdownDescription:k.kg(269,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:a.padding,description:k.kg(270,"Enables the padding around the inlay hints in the editor.")},"editor.inlayHints.maximumLength":{type:"number",default:a.maximumLength,markdownDescription:k.kg(271,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(a){return a&&"object"==typeof a?("boolean"==typeof a.enabled&&(a.enabled=a.enabled?"on":"off"),{enabled:A(a.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:w.clampedInt(a.fontSize,this.defaultValue.fontSize,0,100),fontFamily:z.string(a.fontFamily,this.defaultValue.fontFamily),padding:t(a.padding,this.defaultValue.padding),maximumLength:w.clampedInt(a.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}):this.defaultValue}}class Y extends o{constructor(){super(74,"lineDecorationsWidth",10)}validate(a){return"string"==typeof a&&/^\d+(\.\d+)?ch$/.test(a)?-parseFloat(a.substring(0,a.length-2)):w.clampedInt(a,this.defaultValue,0,1e3)}compute(a,b,c){return c<0?w.clampedInt(-c*a.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):c}}class Z extends y{constructor(){super(75,"lineHeight",az.lineHeight,a=>y.clamp(a,0,150),{markdownDescription:k.kg(272,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")},0,150)}compute(a,b,c){return a.fontInfo.lineHeight}}class $ extends o{constructor(){let a={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",a,{"editor.minimap.enabled":{type:"boolean",default:a.enabled,description:k.kg(273,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[k.kg(274,"The minimap is always shown."),k.kg(275,"The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap."),k.kg(276,"The minimap is only shown when the editor is scrolled")],default:a.autohide,description:k.kg(277,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[k.kg(278,"The minimap has the same size as the editor contents (and might scroll)."),k.kg(279,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),k.kg(280,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:a.size,description:k.kg(281,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:a.side,description:k.kg(282,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:a.showSlider,description:k.kg(283,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:a.scale,minimum:1,maximum:3,enum:[1,2,3],description:k.kg(284,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:a.renderCharacters,description:k.kg(285,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:a.maxColumn,description:k.kg(286,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:a.showRegionSectionHeaders,description:k.kg(287,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:a.showMarkSectionHeaders,description:k.kg(288,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.markSectionHeaderRegex":{type:"string",default:a.markSectionHeaderRegex,description:k.kg(289,"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:a.sectionHeaderFontSize,description:k.kg(290,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:a.sectionHeaderLetterSpacing,description:k.kg(291,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(a){if(!a||"object"!=typeof a)return this.defaultValue;let b=this.defaultValue.markSectionHeaderRegex,c=a.markSectionHeaderRegex;if("string"==typeof c)try{RegExp(c,"d"),b=c}catch{}return{enabled:t(a.enabled,this.defaultValue.enabled),autohide:A(a.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:A(a.size,this.defaultValue.size,["proportional","fill","fit"]),side:A(a.side,this.defaultValue.side,["right","left"]),showSlider:A(a.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:t(a.renderCharacters,this.defaultValue.renderCharacters),scale:w.clampedInt(a.scale,1,1,3),maxColumn:w.clampedInt(a.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:t(a.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:t(a.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:b,sectionHeaderFontSize:y.clamp(a.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:y.clamp(a.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}class _ extends o{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:k.kg(292,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:k.kg(293,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(a){return a&&"object"==typeof a?{top:w.clampedInt(a.top,0,0,1e3),bottom:w.clampedInt(a.bottom,0,0,1e3)}:this.defaultValue}}class aa extends o{constructor(){let a={enabled:!0,cycle:!0};super(98,"parameterHints",a,{"editor.parameterHints.enabled":{type:"boolean",default:a.enabled,description:k.kg(294,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:a.cycle,description:k.kg(295,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),cycle:t(a.cycle,this.defaultValue.cycle)}:this.defaultValue}}class ab extends r{constructor(){super(163)}compute(a,b,c){return a.pixelRatio}}class ac extends o{constructor(){super(100,"placeholder",void 0)}validate(a){return void 0===a?this.defaultValue:"string"==typeof a?a:this.defaultValue}}class ad extends o{constructor(){let a={other:"on",comments:"off",strings:"off"},b=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[k.kg(296,"Quick suggestions show inside the suggest widget"),k.kg(297,"Quick suggestions show as ghost text"),k.kg(298,"Quick suggestions are disabled")]}];super(102,"quickSuggestions",a,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:b,default:a.strings,description:k.kg(299,"Enable quick suggestions inside strings.")},comments:{anyOf:b,default:a.comments,description:k.kg(300,"Enable quick suggestions inside comments.")},other:{anyOf:b,default:a.other,description:k.kg(301,"Enable quick suggestions outside of strings and comments.")}},default:a,markdownDescription:k.kg(302,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=a}validate(a){let b;if("boolean"==typeof a){let b=a?"on":"off";return{comments:b,strings:b,other:b}}if(!a||"object"!=typeof a)return this.defaultValue;let{other:c,comments:d,strings:e}=a,f=["on","inline","off"];return b="boolean"==typeof c?c?"on":"off":A(c,this.defaultValue.other,f),{other:b,comments:"boolean"==typeof d?d?"on":"off":A(d,this.defaultValue.comments,f),strings:"boolean"==typeof e?e?"on":"off":A(e,this.defaultValue.strings,f)}}}class ae extends o{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[k.kg(303,"Line numbers are not rendered."),k.kg(304,"Line numbers are rendered as absolute number."),k.kg(305,"Line numbers are rendered as distance in lines to cursor position."),k.kg(306,"Line numbers are rendered every 10 lines.")],default:"on",description:k.kg(307,"Controls the display of line numbers.")})}validate(a){let b=this.defaultValue.renderType,c=this.defaultValue.renderFn;return void 0!==a&&("function"==typeof a?(b=4,c=a):b="interval"===a?3:"relative"===a?2:+("on"===a)),{renderType:b,renderFn:c}}}function af(a){let b=a.get(112);return"editable"===b?a.get(104):"on"!==b}function ag(a){return!a.get(172)}class ah extends o{constructor(){let a=[],b={type:"number",description:k.kg(308,"Number of monospace characters at which this editor ruler will render.")};super(116,"rulers",a,{type:"array",items:{anyOf:[b,{type:["object"],properties:{column:b,color:{type:"string",description:k.kg(309,"Color of this editor ruler."),format:"color-hex"}}}]},default:a,description:k.kg(310,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(a){if(Array.isArray(a)){let b=[];for(let c of a)"number"==typeof c?b.push({column:w.clampedInt(c,0,0,1e4),color:null}):c&&"object"==typeof c&&b.push({column:w.clampedInt(c.column,0,0,1e4),color:c.color});return b.sort((a,b)=>a.column-b.column),b}return this.defaultValue}}class ai extends o{constructor(){super(105,"readOnlyMessage",void 0)}validate(a){return a&&"object"==typeof a?a:this.defaultValue}}function aj(a,b){if("string"!=typeof a)return b;switch(a){case"hidden":return 2;case"visible":return 3;default:return 1}}class ak extends o{constructor(){let a={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,"scrollbar",a,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[k.kg(311,"The vertical scrollbar will be visible only when necessary."),k.kg(312,"The vertical scrollbar will always be visible."),k.kg(313,"The vertical scrollbar will always be hidden.")],default:"auto",description:k.kg(314,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[k.kg(315,"The horizontal scrollbar will be visible only when necessary."),k.kg(316,"The horizontal scrollbar will always be visible."),k.kg(317,"The horizontal scrollbar will always be hidden.")],default:"auto",description:k.kg(318,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:a.verticalScrollbarSize,description:k.kg(319,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:a.horizontalScrollbarSize,description:k.kg(320,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:a.scrollByPage,description:k.kg(321,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:a.ignoreHorizontalScrollbarInContentHeight,description:k.kg(322,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(a){if(!a||"object"!=typeof a)return this.defaultValue;let b=w.clampedInt(a.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),c=w.clampedInt(a.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:w.clampedInt(a.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:aj(a.vertical,this.defaultValue.vertical),horizontal:aj(a.horizontal,this.defaultValue.horizontal),useShadows:t(a.useShadows,this.defaultValue.useShadows),verticalHasArrows:t(a.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:t(a.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:t(a.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:t(a.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:b,horizontalSliderSize:w.clampedInt(a.horizontalSliderSize,b,0,1e3),verticalScrollbarSize:c,verticalSliderSize:w.clampedInt(a.verticalSliderSize,c,0,1e3),scrollByPage:t(a.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:t(a.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}let al="inUntrustedWorkspace",am={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class an extends o{constructor(){let a={nonBasicASCII:al,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:al,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,"unicodeHighlight",a,{[am.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,al],default:a.nonBasicASCII,description:k.kg(323,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[am.invisibleCharacters]:{restricted:!0,type:"boolean",default:a.invisibleCharacters,description:k.kg(324,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[am.ambiguousCharacters]:{restricted:!0,type:"boolean",default:a.ambiguousCharacters,description:k.kg(325,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[am.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,al],default:a.includeComments,description:k.kg(326,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[am.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,al],default:a.includeStrings,description:k.kg(327,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[am.allowedCharacters]:{restricted:!0,type:"object",default:a.allowedCharacters,description:k.kg(328,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[am.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:a.allowedLocales,description:k.kg(329,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(a,b){let c=!1;b.allowedCharacters&&a&&!g.aI(a.allowedCharacters,b.allowedCharacters)&&(a={...a,allowedCharacters:b.allowedCharacters},c=!0),b.allowedLocales&&a&&!g.aI(a.allowedLocales,b.allowedLocales)&&(a={...a,allowedLocales:b.allowedLocales},c=!0);let d=super.applyUpdate(a,b);return c?new p(d.newValue,!0):d}validate(a){return a&&"object"==typeof a?{nonBasicASCII:ar(a.nonBasicASCII,al,[!0,!1,al]),invisibleCharacters:t(a.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:t(a.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ar(a.includeComments,al,[!0,!1,al]),includeStrings:ar(a.includeStrings,al,[!0,!1,al]),allowedCharacters:this.validateBooleanMap(a.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(a.allowedLocales,this.defaultValue.allowedLocales)}:this.defaultValue}validateBooleanMap(a,b){if("object"!=typeof a||!a)return b;let c={};for(let[b,d]of Object.entries(a))!0===d&&(c[b]=!0);return c}}class ao extends o{constructor(){let a={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!1,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:"auto",allowCodeShifting:"always"},triggerCommandOnProviderChange:!0,experimental:{suppressInlineSuggestions:"",showOnSuggestConflict:"never",emptyResponseInformation:!0}};super(71,"inlineSuggest",a,{"editor.inlineSuggest.enabled":{type:"boolean",default:a.enabled,description:k.kg(330,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:a.showToolbar,enum:["always","onHover","never"],enumDescriptions:[k.kg(331,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),k.kg(332,"Show the inline suggestion toolbar when hovering over an inline suggestion."),k.kg(333,"Never show the inline suggestion toolbar.")],description:k.kg(334,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:a.syntaxHighlightingEnabled,description:k.kg(335,"Controls whether to show syntax highlighting for inline suggestions in the editor.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:a.suppressSuggestions,description:k.kg(336,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:a.suppressInSnippetMode,description:k.kg(337,"Controls whether inline suggestions are suppressed when in snippet mode.")},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:k.kg(338,"Controls the minimal delay in milliseconds after which inline suggestions are shown after typing.")},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:a.experimental.suppressInlineSuggestions,tags:["experimental"],description:k.kg(339,"Suppresses inline completions for specified extension IDs -- comma separated."),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:a.experimental.emptyResponseInformation,tags:["experimental"],description:k.kg(340,"Controls whether to send request information from the inline suggestion provider."),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:a.triggerCommandOnProviderChange,tags:["experimental"],description:k.kg(341,"Controls whether to trigger a command when the inline suggestion provider changes."),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:a.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:k.kg(342,"Controls whether to show inline suggestions when there is a suggest conflict."),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:a.fontFamily,description:k.kg(343,"Controls the font family of the inline suggestions.")},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:a.edits.allowCodeShifting,description:k.kg(344,"Controls whether showing a suggestion will shift the code to make space for the suggestion inline."),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:a.edits.renderSideBySide,description:k.kg(345,"Controls whether larger suggestions can be shown side by side."),enum:["auto","never"],enumDescriptions:[k.kg(346,"Larger suggestions will show side by side if there is enough space, otherwise they will be shown below."),k.kg(347,"Larger suggestions are never shown side by side and will always be shown below.")],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:a.edits.showCollapsed,description:k.kg(348,"Controls whether the suggestion will show as collapsed until jumping to it."),tags:["nextEditSuggestions"]}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),mode:A(a.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:A(a.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:t(a.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:t(a.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:z.string(a.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:t(a.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:w.clampedInt(a.minShowDelay,0,0,1e4),suppressInSnippetMode:t(a.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:{enabled:t(a.edits?.enabled,this.defaultValue.edits.enabled),showCollapsed:t(a.edits?.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:A(a.edits?.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),renderSideBySide:A(a.edits?.renderSideBySide,this.defaultValue.edits.renderSideBySide,["never","auto"])},triggerCommandOnProviderChange:t(a.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:{suppressInlineSuggestions:z.string(a.experimental?.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:A(a.experimental?.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:t(a.experimental?.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}:this.defaultValue}}class ap extends o{constructor(){let a={enabled:i.R.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:i.R.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",a,{"editor.bracketPairColorization.enabled":{type:"boolean",default:a.enabled,markdownDescription:k.kg(349,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:a.independentColorPoolPerBracketType,description:k.kg(350,"Controls whether each bracket type has its own independent color pool.")}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:t(a.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}:this.defaultValue}}class aq extends o{constructor(){let a={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,"guides",a,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[k.kg(351,"Enables bracket pair guides."),k.kg(352,"Enables bracket pair guides only for the active bracket pair."),k.kg(353,"Disables bracket pair guides.")],default:a.bracketPairs,description:k.kg(354,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[k.kg(355,"Enables horizontal guides as addition to vertical bracket pair guides."),k.kg(356,"Enables horizontal guides only for the active bracket pair."),k.kg(357,"Disables horizontal bracket pair guides.")],default:a.bracketPairsHorizontal,description:k.kg(358,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:a.highlightActiveBracketPair,description:k.kg(359,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:a.indentation,description:k.kg(360,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[k.kg(361,"Highlights the active indent guide."),k.kg(362,"Highlights the active indent guide even if bracket guides are highlighted."),k.kg(363,"Do not highlight the active indent guide.")],default:a.highlightActiveIndentation,description:k.kg(364,"Controls whether the editor should highlight the active indent guide.")}})}validate(a){return a&&"object"==typeof a?{bracketPairs:ar(a.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:ar(a.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:t(a.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:t(a.indentation,this.defaultValue.indentation),highlightActiveIndentation:ar(a.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}:this.defaultValue}}function ar(a,b,c){let d=c.indexOf(a);return -1===d?b:c[d]}class as extends o{constructor(){let a={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(134,"suggest",a,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[k.kg(365,"Insert suggestion without overwriting text right of the cursor."),k.kg(366,"Insert suggestion and overwrite text right of the cursor.")],default:a.insertMode,description:k.kg(367,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:a.filterGraceful,description:k.kg(368,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:a.localityBonus,description:k.kg(369,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:a.shareSuggestSelections,markdownDescription:k.kg(370,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[k.kg(371,"Always select a suggestion when automatically triggering IntelliSense."),k.kg(372,"Never select a suggestion when automatically triggering IntelliSense."),k.kg(373,"Select a suggestion only when triggering IntelliSense from a trigger character."),k.kg(374,"Select a suggestion only when triggering IntelliSense as you type.")],default:a.selectionMode,markdownDescription:k.kg(375,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:a.snippetsPreventQuickSuggestions,description:k.kg(376,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:a.showIcons,description:k.kg(377,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:a.showStatusBar,description:k.kg(378,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:a.preview,description:k.kg(379,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:a.showInlineDetails,description:k.kg(380,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:k.kg(381,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:k.kg(382,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:k.kg(383,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:k.kg(384,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:k.kg(385,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:k.kg(386,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:k.kg(387,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:k.kg(388,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:k.kg(389,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:k.kg(390,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:k.kg(391,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:k.kg(392,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:k.kg(393,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:k.kg(394,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:k.kg(395,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:k.kg(396,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:k.kg(397,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:k.kg(398,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:k.kg(399,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:k.kg(400,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:k.kg(401,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:k.kg(402,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:k.kg(403,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:k.kg(404,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:k.kg(405,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:k.kg(406,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:k.kg(407,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:k.kg(408,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:k.kg(409,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:k.kg(410,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:k.kg(411,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:k.kg(412,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(a){return a&&"object"==typeof a?{insertMode:A(a.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:t(a.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:t(a.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:t(a.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:t(a.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:A(a.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:t(a.showIcons,this.defaultValue.showIcons),showStatusBar:t(a.showStatusBar,this.defaultValue.showStatusBar),preview:t(a.preview,this.defaultValue.preview),previewMode:A(a.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:t(a.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:t(a.showMethods,this.defaultValue.showMethods),showFunctions:t(a.showFunctions,this.defaultValue.showFunctions),showConstructors:t(a.showConstructors,this.defaultValue.showConstructors),showDeprecated:t(a.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:t(a.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:t(a.showFields,this.defaultValue.showFields),showVariables:t(a.showVariables,this.defaultValue.showVariables),showClasses:t(a.showClasses,this.defaultValue.showClasses),showStructs:t(a.showStructs,this.defaultValue.showStructs),showInterfaces:t(a.showInterfaces,this.defaultValue.showInterfaces),showModules:t(a.showModules,this.defaultValue.showModules),showProperties:t(a.showProperties,this.defaultValue.showProperties),showEvents:t(a.showEvents,this.defaultValue.showEvents),showOperators:t(a.showOperators,this.defaultValue.showOperators),showUnits:t(a.showUnits,this.defaultValue.showUnits),showValues:t(a.showValues,this.defaultValue.showValues),showConstants:t(a.showConstants,this.defaultValue.showConstants),showEnums:t(a.showEnums,this.defaultValue.showEnums),showEnumMembers:t(a.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:t(a.showKeywords,this.defaultValue.showKeywords),showWords:t(a.showWords,this.defaultValue.showWords),showColors:t(a.showColors,this.defaultValue.showColors),showFiles:t(a.showFiles,this.defaultValue.showFiles),showReferences:t(a.showReferences,this.defaultValue.showReferences),showFolders:t(a.showFolders,this.defaultValue.showFolders),showTypeParameters:t(a.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:t(a.showSnippets,this.defaultValue.showSnippets),showUsers:t(a.showUsers,this.defaultValue.showUsers),showIssues:t(a.showIssues,this.defaultValue.showIssues)}:this.defaultValue}}class at extends o{constructor(){super(129,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:k.kg(413,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:k.kg(414,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(a){return a&&"object"==typeof a?{selectLeadingAndTrailingWhitespace:t(a.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:t(a.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}class au extends o{constructor(){let a=[];super(147,"wordSegmenterLocales",a,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:k.kg(415,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"},default:a})}validate(a){if("string"==typeof a&&(a=[a]),Array.isArray(a)){let b=[];for(let c of a)if("string"==typeof c)try{Intl.Segmenter.supportedLocalesOf(c).length>0&&b.push(c)}catch{}return b}return this.defaultValue}}class av extends o{constructor(){super(155,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[k.kg(416,"No indentation. Wrapped lines begin at column 1."),k.kg(417,"Wrapped lines get the same indentation as the parent."),k.kg(418,"Wrapped lines get +1 indentation toward the parent."),k.kg(419,"Wrapped lines get +2 indentation toward the parent.")],description:k.kg(420,"Controls the indentation of wrapped lines."),default:"same"}})}validate(a){switch(a){case"none":return 0;case"same":break;case"indent":return 2;case"deepIndent":return 3}return 1}compute(a,b,c){return 2===b.get(2)?0:c}}class aw extends r{constructor(){super(166)}compute(a,b,c){let d=b.get(165);return{isDominatedByLongLines:a.isDominatedByLongLines,isWordWrapMinified:d.isWordWrapMinified,isViewportWrapping:d.isViewportWrapping,wrappingColumn:d.wrappingColumn}}}class ax extends o{constructor(){let a={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",a,{"editor.dropIntoEditor.enabled":{type:"boolean",default:a.enabled,markdownDescription:k.kg(421,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:k.kg(422,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[k.kg(423,"Show the drop selector widget after a file is dropped into the editor."),k.kg(424,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),showDropSelector:A(a.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}:this.defaultValue}}class ay extends o{constructor(){let a={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",a,{"editor.pasteAs.enabled":{type:"boolean",default:a.enabled,markdownDescription:k.kg(425,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:k.kg(426,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[k.kg(427,"Show the paste selector widget after content is pasted into the editor."),k.kg(428,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(a){return a&&"object"==typeof a?{enabled:t(a.enabled,this.defaultValue.enabled),showPasteSelector:A(a.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}:this.defaultValue}}let az={fontFamily:h.zx?"Menlo, Monaco, 'Courier New', monospace":h.uF?"Consolas, 'Courier New', monospace":"'Droid Sans Mono', 'monospace', monospace",fontWeight:"normal",fontSize:h.zx?12:14,lineHeight:0,letterSpacing:0},aA=[];function aB(a){return aA[a.id]=a,a}let aC={acceptSuggestionOnCommitCharacter:aB(new u(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:k.kg(429,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:aB(new B(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",k.kg(430,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:k.kg(431,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:aB(new D),accessibilityPageSize:aB(new w(3,"accessibilityPageSize",500,1,0x40000000,{description:k.kg(432,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),allowOverflow:aB(new u(4,"allowOverflow",!0)),allowVariableLineHeights:aB(new u(5,"allowVariableLineHeights",!0,{description:k.kg(433,"Controls whether to allow using variable line heights in the editor.")})),allowVariableFonts:aB(new u(6,"allowVariableFonts",!0,{description:k.kg(434,"Controls whether to allow using variable fonts in the editor.")})),allowVariableFontsInAccessibilityMode:aB(new u(7,"allowVariableFontsInAccessibilityMode",!1,{description:k.kg(435,"Controls whether to allow using variable fonts in the editor in the accessibility mode."),tags:["accessibility"]})),ariaLabel:aB(new z(8,"ariaLabel",k.kg(436,"Editor content"))),ariaRequired:aB(new u(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:aB(new u(12,"screenReaderAnnounceInlineSuggestion",!0,{description:k.kg(437,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:aB(new B(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.kg(438,"Use language configurations to determine when to autoclose brackets."),k.kg(439,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:k.kg(440,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:aB(new B(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.kg(441,"Use language configurations to determine when to autoclose comments."),k.kg(442,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:k.kg(443,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:aB(new B(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",k.kg(444,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:k.kg(445,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:aB(new B(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",k.kg(446,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:k.kg(447,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:aB(new B(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",k.kg(448,"Use language configurations to determine when to autoclose quotes."),k.kg(449,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:k.kg(450,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:aB(new C(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],function(a){switch(a){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}},{enumDescriptions:[k.kg(451,"The editor will not insert indentation automatically."),k.kg(452,"The editor will keep the current line's indentation."),k.kg(453,"The editor will keep the current line's indentation and honor language defined brackets."),k.kg(454,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),k.kg(455,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:k.kg(456,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),autoIndentOnPaste:aB(new u(17,"autoIndentOnPaste",!1,{description:k.kg(457,"Controls whether the editor should automatically auto-indent the pasted content.")})),autoIndentOnPasteWithinString:aB(new u(18,"autoIndentOnPasteWithinString",!0,{description:k.kg(458,"Controls whether the editor should automatically auto-indent the pasted content when pasted within a string. This takes effect when autoIndentOnPaste is true.")})),automaticLayout:aB(new u(19,"automaticLayout",!1)),autoSurround:aB(new B(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[k.kg(459,"Use language configurations to determine when to automatically surround selections."),k.kg(460,"Surround with quotes but not brackets."),k.kg(461,"Surround with brackets but not quotes."),""],description:k.kg(462,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:aB(new ap),bracketPairGuides:aB(new aq),stickyTabStops:aB(new u(132,"stickyTabStops",!1,{description:k.kg(463,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:aB(new u(23,"codeLens",!0,{description:k.kg(464,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:aB(new z(24,"codeLensFontFamily","",{description:k.kg(465,"Controls the font family for CodeLens.")})),codeLensFontSize:aB(new w(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:k.kg(466,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:aB(new u(26,"colorDecorators",!0,{description:k.kg(467,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:aB(new B(168,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[k.kg(468,"Make the color picker appear both on click and hover of the color decorator"),k.kg(469,"Make the color picker appear on hover of the color decorator"),k.kg(470,"Make the color picker appear on click of the color decorator")],description:k.kg(471,"Controls the condition to make a color picker appear from a color decorator.")})),colorDecoratorsLimit:aB(new w(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:k.kg(472,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:aB(new u(28,"columnSelection",!1,{description:k.kg(473,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:aB(new E),contextmenu:aB(new u(30,"contextmenu",!0)),copyWithSyntaxHighlighting:aB(new u(31,"copyWithSyntaxHighlighting",!0,{description:k.kg(474,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:aB(new C(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],function(a){switch(a){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}},{description:k.kg(475,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:aB(new B(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[k.kg(476,"Smooth caret animation is disabled."),k.kg(477,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),k.kg(478,"Smooth caret animation is always enabled.")],description:k.kg(479,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:aB(new C(34,"cursorStyle",d.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],F,{description:k.kg(480,"Controls the cursor style in insert input mode.")})),overtypeCursorStyle:aB(new C(92,"overtypeCursorStyle",d.Block,"block",["line","block","underline","line-thin","block-outline","underline-thin"],F,{description:k.kg(481,"Controls the cursor style in overtype input mode.")})),cursorSurroundingLines:aB(new w(35,"cursorSurroundingLines",0,0,0x40000000,{description:k.kg(482,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:aB(new B(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[k.kg(483,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),k.kg(484,"`cursorSurroundingLines` is enforced always.")],markdownDescription:k.kg(485,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:aB(new w(37,"cursorWidth",0,0,0x40000000,{markdownDescription:k.kg(486,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),cursorHeight:aB(new w(38,"cursorHeight",0,0,0x40000000,{markdownDescription:k.kg(487,"Controls the height of the cursor when `#editor.cursorStyle#` is set to `line`. Cursor's max height depends on line height.")})),disableLayerHinting:aB(new u(39,"disableLayerHinting",!1)),disableMonospaceOptimizations:aB(new u(40,"disableMonospaceOptimizations",!1)),domReadOnly:aB(new u(41,"domReadOnly",!1)),dragAndDrop:aB(new u(42,"dragAndDrop",!0,{description:k.kg(488,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:aB(new H),dropIntoEditor:aB(new ax),editContext:aB(new u(44,"editContext",!0,{description:k.kg(489,"Sets whether the EditContext API should be used instead of the text area to power input in the editor."),included:h.H8||h.UP||h.ib})),renderRichScreenReaderContent:aB(new u(107,"renderRichScreenReaderContent",!1,{markdownDescription:k.kg(490,"Whether to render rich screen reader content when the `#editor.editContext#` setting is enabled.")})),stickyScroll:aB(new W),experimentalGpuAcceleration:aB(new B(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[k.kg(491,"Use regular DOM-based rendering."),k.kg(492,"Use GPU acceleration.")],description:k.kg(493,"Controls whether to use the experimental GPU acceleration to render the editor.")})),experimentalWhitespaceRendering:aB(new B(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[k.kg(494,"Use a new rendering method with svgs."),k.kg(495,"Use a new rendering method with font characters."),k.kg(496,"Use the stable rendering method.")],description:k.kg(497,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:aB(new z(48,"extraEditorClassName","")),fastScrollSensitivity:aB(new y(49,"fastScrollSensitivity",5,a=>a<=0?5:a,{markdownDescription:k.kg(498,"Scrolling speed multiplier when pressing `Alt`.")})),find:aB(new I),fixedOverflowWidgets:aB(new u(51,"fixedOverflowWidgets",!1)),folding:aB(new u(52,"folding",!0,{description:k.kg(499,"Controls whether the editor has code folding enabled.")})),foldingStrategy:aB(new B(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[k.kg(500,"Use a language-specific folding strategy if available, else the indentation-based one."),k.kg(501,"Use the indentation-based folding strategy.")],description:k.kg(502,"Controls the strategy for computing folding ranges.")})),foldingHighlight:aB(new u(54,"foldingHighlight",!0,{description:k.kg(503,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:aB(new u(55,"foldingImportsByDefault",!1,{description:k.kg(504,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:aB(new w(56,"foldingMaximumRegions",5e3,10,65e3,{description:k.kg(505,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:aB(new u(57,"unfoldOnClickAfterEndOfLine",!1,{description:k.kg(506,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:aB(new z(58,"fontFamily",az.fontFamily,{description:k.kg(507,"Controls the font family.")})),fontInfo:aB(new L),fontLigatures2:aB(new J),fontSize:aB(new P),fontWeight:aB(new Q),fontVariations:aB(new K),formatOnPaste:aB(new u(64,"formatOnPaste",!1,{description:k.kg(508,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:aB(new u(65,"formatOnType",!1,{description:k.kg(509,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:aB(new u(66,"glyphMargin",!0,{description:k.kg(510,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:aB(new R),hideCursorInOverviewRuler:aB(new u(68,"hideCursorInOverviewRuler",!1,{description:k.kg(511,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:aB(new S),inDiffEditor:aB(new u(70,"inDiffEditor",!1)),inertialScroll:aB(new u(158,"inertialScroll",!1,{description:k.kg(512,"Make scrolling inertial - mostly useful with touchpad on linux.")})),letterSpacing:aB(new y(72,"letterSpacing",az.letterSpacing,a=>y.clamp(a,-5,20),{description:k.kg(513,"Controls the letter spacing in pixels.")})),lightbulb:aB(new V),lineDecorationsWidth:aB(new Y),lineHeight:aB(new Z),lineNumbers:aB(new ae),lineNumbersMinChars:aB(new w(77,"lineNumbersMinChars",5,1,300)),linkedEditing:aB(new u(78,"linkedEditing",!1,{description:k.kg(514,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:aB(new u(79,"links",!0,{description:k.kg(515,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:aB(new B(80,"matchBrackets","always",["always","near","never"],{description:k.kg(516,"Highlight matching brackets.")})),minimap:aB(new $),mouseStyle:aB(new B(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:aB(new y(83,"mouseWheelScrollSensitivity",1,a=>0===a?1:a,{markdownDescription:k.kg(517,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:aB(new u(84,"mouseWheelZoom",!1,{markdownDescription:h.zx?k.kg(518,"Zoom the font of the editor when using mouse wheel and holding `Cmd`."):k.kg(519,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:aB(new u(85,"multiCursorMergeOverlapping",!0,{description:k.kg(520,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:aB(new C(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],function(a){return"ctrlCmd"===a?h.zx?"metaKey":"ctrlKey":"altKey"},{markdownEnumDescriptions:[k.kg(521,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),k.kg(522,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:k.kg(523,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),mouseMiddleClickAction:aB(new B(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:k.kg(524,"Controls what happens when middle mouse button is clicked in the editor.")})),multiCursorPaste:aB(new B(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[k.kg(525,"Each cursor pastes a single line of the text."),k.kg(526,"Each cursor pastes the full text.")],markdownDescription:k.kg(527,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:aB(new w(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:k.kg(528,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:aB(new B(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[k.kg(529,"Does not highlight occurrences."),k.kg(530,"Highlights occurrences only in the current file."),k.kg(531,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:k.kg(532,"Controls whether occurrences should be highlighted across open files.")})),occurrencesHighlightDelay:aB(new w(91,"occurrencesHighlightDelay",0,0,2e3,{description:k.kg(533,"Controls the delay in milliseconds after which occurrences are highlighted."),tags:["preview"]})),overtypeOnPaste:aB(new u(93,"overtypeOnPaste",!0,{description:k.kg(534,"Controls whether pasting should overtype.")})),overviewRulerBorder:aB(new u(94,"overviewRulerBorder",!0,{description:k.kg(535,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:aB(new w(95,"overviewRulerLanes",3,0,3)),padding:aB(new _),pasteAs:aB(new ay),parameterHints:aB(new aa),peekWidgetDefaultFocus:aB(new B(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[k.kg(536,"Focus the tree when opening peek"),k.kg(537,"Focus the editor when opening peek")],description:k.kg(538,"Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:aB(new ac),definitionLinkOpensInPeek:aB(new u(101,"definitionLinkOpensInPeek",!1,{description:k.kg(539,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:aB(new ad),quickSuggestionsDelay:aB(new w(103,"quickSuggestionsDelay",10,0,0x40000000,{description:k.kg(540,"Controls the delay in milliseconds after which quick suggestions will show up."),experiment:{mode:"auto"}})),readOnly:aB(new u(104,"readOnly",!1)),readOnlyMessage:aB(new ai),renameOnType:aB(new u(106,"renameOnType",!1,{description:k.kg(541,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:k.kg(542,"Deprecated, use `#editor.linkedEditing#` instead.")})),renderControlCharacters:aB(new u(108,"renderControlCharacters",!0,{description:k.kg(543,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:aB(new B(109,"renderFinalNewline",h.j9?"dimmed":"on",["off","on","dimmed"],{description:k.kg(544,"Render last line number when the file ends with a newline.")})),renderLineHighlight:aB(new B(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",k.kg(545,"Highlights both the gutter and the current line.")],description:k.kg(546,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:aB(new u(111,"renderLineHighlightOnlyWhenFocus",!1,{description:k.kg(547,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:aB(new B(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:aB(new B(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",k.kg(548,"Render whitespace characters except for single spaces between words."),k.kg(549,"Render whitespace characters only on selected text."),k.kg(550,"Render only trailing whitespace characters."),""],description:k.kg(551,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:aB(new w(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:aB(new u(115,"roundedSelection",!0,{description:k.kg(552,"Controls whether selections should have rounded corners.")})),rulers:aB(new ah),scrollbar:aB(new ak),scrollBeyondLastColumn:aB(new w(118,"scrollBeyondLastColumn",4,0,0x40000000,{description:k.kg(553,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:aB(new u(119,"scrollBeyondLastLine",!0,{description:k.kg(554,"Controls whether the editor will scroll beyond the last line.")})),scrollOnMiddleClick:aB(new u(171,"scrollOnMiddleClick",!1,{description:k.kg(555,"Controls whether the editor will scroll when the middle button is pressed.")})),scrollPredominantAxis:aB(new u(120,"scrollPredominantAxis",!0,{description:k.kg(556,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:aB(new u(121,"selectionClipboard",!0,{description:k.kg(557,"Controls whether the Linux primary clipboard should be supported."),included:h.j9})),selectionHighlight:aB(new u(122,"selectionHighlight",!0,{description:k.kg(558,"Controls whether the editor should highlight matches similar to the selection.")})),selectionHighlightMaxLength:aB(new w(123,"selectionHighlightMaxLength",200,0,0x40000000,{description:k.kg(559,"Controls how many characters can be in the selection before similiar matches are not highlighted. Set to zero for unlimited.")})),selectionHighlightMultiline:aB(new u(124,"selectionHighlightMultiline",!1,{description:k.kg(560,"Controls whether the editor should highlight selection matches that span multiple lines.")})),selectOnLineNumbers:aB(new u(125,"selectOnLineNumbers",!0)),showFoldingControls:aB(new B(126,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[k.kg(561,"Always show the folding controls."),k.kg(562,"Never show the folding controls and reduce the gutter size."),k.kg(563,"Only show the folding controls when the mouse is over the gutter.")],description:k.kg(564,"Controls when the folding controls on the gutter are shown.")})),showUnused:aB(new u(127,"showUnused",!0,{description:k.kg(565,"Controls fading out of unused code.")})),showDeprecated:aB(new u(157,"showDeprecated",!0,{description:k.kg(566,"Controls strikethrough deprecated variables.")})),inlayHints:aB(new X),snippetSuggestions:aB(new B(128,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[k.kg(567,"Show snippet suggestions on top of other suggestions."),k.kg(568,"Show snippet suggestions below other suggestions."),k.kg(569,"Show snippets suggestions with other suggestions."),k.kg(570,"Do not show snippet suggestions.")],description:k.kg(571,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:aB(new at),smoothScrolling:aB(new u(130,"smoothScrolling",!1,{description:k.kg(572,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:aB(new w(133,"stopRenderingLineAfter",1e4,-1,0x40000000)),suggest:aB(new as),inlineSuggest:aB(new ao),inlineCompletionsAccessibilityVerbose:aB(new u(169,"inlineCompletionsAccessibilityVerbose",!1,{description:k.kg(573,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:aB(new w(135,"suggestFontSize",0,0,1e3,{markdownDescription:k.kg(574,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:aB(new w(136,"suggestLineHeight",0,0,1e3,{markdownDescription:k.kg(575,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:aB(new u(137,"suggestOnTriggerCharacters",!0,{description:k.kg(576,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:aB(new B(138,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[k.kg(577,"Always select the first suggestion."),k.kg(578,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),k.kg(579,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:k.kg(580,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:aB(new B(139,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[k.kg(581,"Tab complete will insert the best matching suggestion when pressing tab."),k.kg(582,"Disable tab completions."),k.kg(583,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:k.kg(584,"Enables tab completions.")})),tabIndex:aB(new w(140,"tabIndex",0,-1,0x40000000)),trimWhitespaceOnDelete:aB(new u(141,"trimWhitespaceOnDelete",!1,{description:k.kg(585,"Controls whether the editor will also delete the next line's indentation whitespace when deleting a newline.")})),unicodeHighlight:aB(new an),unusualLineTerminators:aB(new B(143,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[k.kg(586,"Unusual line terminators are automatically removed."),k.kg(587,"Unusual line terminators are ignored."),k.kg(588,"Unusual line terminators prompt to be removed.")],description:k.kg(589,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:aB(new u(144,"useShadowDOM",!0)),useTabStops:aB(new u(145,"useTabStops",!0,{description:k.kg(590,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:aB(new B(146,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[k.kg(591,"Use the default line break rule."),k.kg(592,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:k.kg(593,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:aB(new au),wordSeparators:aB(new z(148,"wordSeparators",j.J3,{description:k.kg(594,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:aB(new B(149,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[k.kg(595,"Lines will never wrap."),k.kg(596,"Lines will wrap at the viewport width."),k.kg(597,"Lines will wrap at `#editor.wordWrapColumn#`."),k.kg(598,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:k.kg(599,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:aB(new z(150,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xa2\xb0′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:aB(new z(151,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「\xa3\xa5$£¥++")),wordWrapColumn:aB(new w(152,"wordWrapColumn",80,1,0x40000000,{markdownDescription:k.kg(600,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:aB(new B(153,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:aB(new B(154,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:aB(new u(160,"wrapOnEscapedLineFeeds",!1,{markdownDescription:k.kg(601,'Controls whether literal `\\n` shall trigger a wordWrap when `#editor.wordWrap#` is enabled.\n\nFor example:\n```c\nchar* str="hello\\nworld"\n```\nwill be displayed as\n```c\nchar* str="hello\\n\n world"\n```')})),effectiveCursorStyle:aB(new M),editorClassName:aB(new G),defaultColorDecorators:aB(new B(167,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[k.kg(602,"Show default color decorators only when no extension provides colors decorators."),k.kg(603,"Always show default color decorators."),k.kg(604,"Never show default color decorators.")],description:k.kg(605,"Controls whether inline color decorations should be shown using the default document color provider.")})),pixelRatio:aB(new ab),tabFocusMode:aB(new u(164,"tabFocusMode",!1,{markdownDescription:k.kg(606,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:aB(new T),wrappingInfo:aB(new aw),wrappingIndent:aB(new av),wrappingStrategy:aB(new U),effectiveEditContextEnabled:aB(new N),effectiveAllowVariableFonts:aB(new O)}},33583:()=>{},33840:(a,b,c)=>{"use strict";c.d(b,{Th:()=>q,z8:()=>r});var d=c(25536),e=c(88347),f=c(32146),g=c(45640),h=c(43613),i=c(5030),j=c(11583),k=c(42715);function l(a){return a.toString()}class m{static create(a,b){let c=a.getAlternativeVersionId(),d=p(a);return new m(c,c,d,d,b,b,[])}constructor(a,b,c,d,e,f,g){this.beforeVersionId=a,this.afterVersionId=b,this.beforeEOL=c,this.afterEOL=d,this.beforeCursorState=e,this.afterCursorState=f,this.changes=g}append(a,b,c,d,e){b.length>0&&(this.changes=(0,h.x)(this.changes,b)),this.afterEOL=c,this.afterVersionId=d,this.afterCursorState=e}static _writeSelectionsSize(a){return 4+16*(a?a.length:0)}static _writeSelections(a,b,c){if(i.Sw(a,b?b.length:0,c),c+=4,b)for(let d of b)i.Sw(a,d.selectionStartLineNumber,c),c+=4,i.Sw(a,d.selectionStartColumn,c),c+=4,i.Sw(a,d.positionLineNumber,c),c+=4,i.Sw(a,d.positionColumn,c),c+=4;return c}static _readSelections(a,b,c){let d=i.bb(a,b);b+=4;for(let e=0;e<d;e++){let d=i.bb(a,b);b+=4;let e=i.bb(a,b);b+=4;let g=i.bb(a,b);b+=4;let h=i.bb(a,b);b+=4,c.push(new f.L(d,e,g,h))}return b}serialize(){let a=10+m._writeSelectionsSize(this.beforeCursorState)+m._writeSelectionsSize(this.afterCursorState)+4;for(let b of this.changes)a+=b.writeSize();let b=new Uint8Array(a),c=0;for(let a of(i.Sw(b,this.beforeVersionId,c),c+=4,i.Sw(b,this.afterVersionId,c),c+=4,i.Gs(b,this.beforeEOL,c),c+=1,i.Gs(b,this.afterEOL,c),c+=1,c=m._writeSelections(b,this.beforeCursorState,c),c=m._writeSelections(b,this.afterCursorState,c),i.Sw(b,this.changes.length,c),c+=4,this.changes))c=a.write(b,c);return b.buffer}static deserialize(a){let b=new Uint8Array(a),c=0,d=i.bb(b,c);c+=4;let e=i.bb(b,c);c+=4;let f=i.pJ(b,c);c+=1;let g=i.pJ(b,c);c+=1;let j=[];c=m._readSelections(b,c,j);let k=[];c=m._readSelections(b,c,k);let l=i.bb(b,c);c+=4;let n=[];for(let a=0;a<l;a++)c=h.k.read(b,c,n);return new m(d,e,f,g,j,k,n)}}class n{get type(){return 0}get resource(){return g.r.isUri(this.model)?this.model:this.model.uri}constructor(a,b,c,d){this.label=a,this.code=b,this.model=c,this._data=m.create(c,d)}toString(){return(this._data instanceof m?this._data:m.deserialize(this._data)).changes.map(a=>a.toString()).join(", ")}matchesResource(a){return(g.r.isUri(this.model)?this.model:this.model.uri).toString()===a.toString()}setModel(a){this.model=a}canAppend(a){return this.model===a&&this._data instanceof m}append(a,b,c,d,e){this._data instanceof m&&this._data.append(a,b,c,d,e)}close(){this._data instanceof m&&(this._data=this._data.serialize())}open(){this._data instanceof m||(this._data=m.deserialize(this._data))}undo(){if(g.r.isUri(this.model))throw Error("Invalid SingleModelEditStackElement");this._data instanceof m&&(this._data=this._data.serialize());let a=m.deserialize(this._data);this.model._applyUndo(a.changes,a.beforeEOL,a.beforeVersionId,a.beforeCursorState)}redo(){if(g.r.isUri(this.model))throw Error("Invalid SingleModelEditStackElement");this._data instanceof m&&(this._data=this._data.serialize());let a=m.deserialize(this._data);this.model._applyRedo(a.changes,a.afterEOL,a.afterVersionId,a.afterCursorState)}heapSize(){return this._data instanceof m&&(this._data=this._data.serialize()),this._data.byteLength+168}}class o{get resources(){return this._editStackElementsArr.map(a=>a.resource)}constructor(a,b,c){for(let d of(this.label=a,this.code=b,this.type=1,this._isOpen=!0,this._editStackElementsArr=c.slice(0),this._editStackElementsMap=new Map,this._editStackElementsArr)){let a=l(d.resource);this._editStackElementsMap.set(a,d)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(a){let b=l(a);return this._editStackElementsMap.has(b)}setModel(a){let b=l(g.r.isUri(a)?a:a.uri);this._editStackElementsMap.has(b)&&this._editStackElementsMap.get(b).setModel(a)}canAppend(a){if(!this._isOpen)return!1;let b=l(a.uri);return!!this._editStackElementsMap.has(b)&&this._editStackElementsMap.get(b).canAppend(a)}append(a,b,c,d,e){let f=l(a.uri);this._editStackElementsMap.get(f).append(a,b,c,d,e)}close(){this._isOpen=!1}open(){}undo(){for(let a of(this._isOpen=!1,this._editStackElementsArr))a.undo()}redo(){for(let a of this._editStackElementsArr)a.redo()}heapSize(a){let b=l(a);return this._editStackElementsMap.has(b)?this._editStackElementsMap.get(b).heapSize():0}split(){return this._editStackElementsArr}toString(){let a=[];for(let b of this._editStackElementsArr)a.push(`${(0,j.P8)(b.resource)}: ${b}`);return`{${a.join(", ")}}`}}function p(a){return+("\n"!==a.getEOL())}function q(a){return!!a&&(a instanceof n||a instanceof o)}class r{constructor(a,b){this._model=a,this._undoRedoService=b}pushStackElement(){let a=this._undoRedoService.getLastElement(this._model.uri);q(a)&&a.close()}popStackElement(){let a=this._undoRedoService.getLastElement(this._model.uri);q(a)&&a.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(a,b){let c=this._undoRedoService.getLastElement(this._model.uri);if(q(c)&&c.canAppend(this._model))return c;let e=new n(d.kg(781,"Typing"),"undoredo.textBufferEdit",this._model,a);return this._undoRedoService.pushElement(e,b),e}pushEOL(a){let b=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(a),b.append(this._model,[],p(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(a,b,c,d,e=k.dg.unknown({name:"pushEditOperation"})){let f=this._getOrCreateEditStackElement(a,d),g=this._model.applyEdits(b,!0,e),h=r._computeCursorState(c,g),i=g.map((a,b)=>({index:b,textChange:a.textChange}));return i.sort((a,b)=>a.textChange.oldPosition===b.textChange.oldPosition?a.index-b.index:a.textChange.oldPosition-b.textChange.oldPosition),f.append(this._model,i.map(a=>a.textChange),p(this._model),this._model.getAlternativeVersionId(),h),h}static _computeCursorState(a,b){try{return a?a(b):null}catch(a){return(0,e.dz)(a),null}}}},33903:(a,b,c)=>{"use strict";c.d(b,{A7:()=>i,Q_:()=>l,VR:()=>g,cn:()=>o,ct:()=>p,jB:()=>h,kF:()=>n,mX:()=>m});var d=c(25536),e=c(76687);c(82693);var f=c(45640);let g=(0,c(29715).u1)("contextService");function h(a){return"string"==typeof a?.id&&f.r.isUri(a.uri)}function i(a){var b;return"string"==typeof a?.id&&!h(a)&&(b=a,!("string"==typeof b?.id&&f.r.isUri(b.configPath)))}let j={id:"ext-dev"},k={id:"empty-window"};function l(a,b){return"string"==typeof a||void 0===a?"string"==typeof a?{id:(0,e.P8)(a)}:b?j:k:a.configuration?{id:a.id,configPath:a.configuration}:1===a.folders.length?{id:a.id,uri:a.folders[0].uri}:{id:a.id}}class m{constructor(a,b){this.raw=b,this.uri=a.uri,this.index=a.index,this.name=a.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}let n="code-workspace";(0,d.kg)(2032,"Code Workspace");let o="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function p(a){return a.id===o}},33973:(a,b,c)=>{"use strict";c.d(b,{N:()=>v});var d,e,f=c(32677),g=c(41022),h=c(90399),i=c(45756),j=c(11314),k=c(43589),l=c(81633),m=c(46339),n=c(25536),o=c(29715),p=c(31512),q=c(79677),r=c(59317),s=c(42350),t=c(5716),u=c(8992);let v=class extends j.jG{static{e=this}static{this._breadcrumbsSourceFactory=(0,k.FY)(e,()=>({dispose(){},getBreadcrumbItems:(a,b)=>[]}))}static setBreadcrumbsSourceFactory(a){this._breadcrumbsSourceFactory.set(a,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(a,b,c,d){super(),this._editors=a,this._diffModel=b,this._options=c,this._instantiationService=d,this._modifiedOutlineSource=(0,k.a0)(this,a=>{let b=this._editors.modifiedModel.read(a),c=e._breadcrumbsSourceFactory.read(a);return b&&c?c(b,this._instantiationService):void 0}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(a=>{if(1===a.reason)return;let b=this._diffModel.get();(0,k.Rn)(a=>{for(let c of this._editors.original.getSelections()||[])b?.ensureOriginalLineIsVisible(c.getStartPosition().lineNumber,0,a),b?.ensureOriginalLineIsVisible(c.getEndPosition().lineNumber,0,a)})})),this._register(this._editors.modified.onDidChangeCursorPosition(a=>{if(1===a.reason)return;let b=this._diffModel.get();(0,k.Rn)(a=>{for(let c of this._editors.modified.getSelections()||[])b?.ensureModifiedLineIsVisible(c.getStartPosition().lineNumber,0,a),b?.ensureModifiedLineIsVisible(c.getEndPosition().lineNumber,0,a)})}));let f=this._diffModel.map((a,b)=>{let c=a?.unchangedRegions.read(b)??[];return 1===c.length&&1===c[0].modifiedLineNumber&&c[0].lineCount===this._editors.modifiedModel.read(b)?.getLineCount()?[]:c});this.viewZones=(0,k.un)(this,a=>{let b=this._modifiedOutlineSource.read(a);if(!b)return{origViewZones:[],modViewZones:[]};let c=[],d=[],e=this._options.renderSideBySide.read(a),g=this._options.compactMode.read(a),h=f.read(a);for(let f=0;f<h.length;f++){let i=h[f];if(!i.shouldHideControls(a)&&(!g||0!==f&&f!==h.length-1))if(g){{let b=(0,k.un)(this,a=>i.getHiddenOriginalRange(a).startLineNumber-1),d=new u.D1(b,12);c.push(d),a.store.add(new w(this._editors.original,d,i,!e))}{let b=(0,k.un)(this,a=>i.getHiddenModifiedRange(a).startLineNumber-1),c=new u.D1(b,12);d.push(c),a.store.add(new w(this._editors.modified,c,i))}}else{{let d=(0,k.un)(this,a=>i.getHiddenOriginalRange(a).startLineNumber-1),f=new u.D1(d,24);c.push(f),a.store.add(new x(this._editors.original,f,i,i.originalUnchangedRange,!e,b,a=>this._diffModel.get().ensureModifiedLineIsVisible(a,2,void 0),this._options))}{let c=(0,k.un)(this,a=>i.getHiddenModifiedRange(a).startLineNumber-1),e=new u.D1(c,24);d.push(e),a.store.add(new x(this._editors.modified,e,i,i.modifiedUnchangedRange,!1,b,a=>this._diffModel.get().ensureModifiedLineIsVisible(a,2,void 0),this._options))}}}return{origViewZones:c,modViewZones:d}});let g={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},j={description:"Fold Unchanged",glyphMarginHoverMessage:new i.Bc(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,n.kg)(121,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+l.L.asClassName(h.W.fold),zIndex:10001};this._register((0,u.pY)(this._editors.original,(0,k.un)(this,a=>{let b=f.read(a),c=b.map(a=>({range:a.originalUnchangedRange.toInclusiveRange(),options:g}));for(let d of b)d.shouldHideControls(a)&&c.push({range:r.Q.fromPositions(new q.y(d.originalLineNumber,1)),options:j});return c}))),this._register((0,u.pY)(this._editors.modified,(0,k.un)(this,a=>{let b=f.read(a),c=b.map(a=>({range:a.modifiedUnchangedRange.toInclusiveRange(),options:g}));for(let d of b)d.shouldHideControls(a)&&c.push({range:p.M.ofLength(d.modifiedLineNumber,1).toInclusiveRange(),options:j});return c}))),this._register((0,k.fm)(a=>{let b=f.read(a);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(b.map(b=>b.getHiddenOriginalRange(a).toInclusiveRange()).filter(m.O9)),this._editors.modified.setHiddenAreas(b.map(b=>b.getHiddenModifiedRange(a).toInclusiveRange()).filter(m.O9))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(a=>{if(!a.event.rightButton&&a.target.position&&a.target.element?.className.includes("fold-unchanged")){let b=a.target.position.lineNumber,c=this._diffModel.get();if(!c)return;let d=c.unchangedRegions.get().find(a=>a.modifiedUnchangedRange.contains(b));d&&(d.collapseAll(void 0),a.event.stopPropagation(),a.event.preventDefault())}})),this._register(this._editors.original.onMouseUp(a=>{if(!a.event.rightButton&&a.target.position&&a.target.element?.className.includes("fold-unchanged")){let b=a.target.position.lineNumber,c=this._diffModel.get();if(!c)return;let d=c.unchangedRegions.get().find(a=>a.originalUnchangedRange.contains(b));d&&(d.collapseAll(void 0),a.event.stopPropagation(),a.event.preventDefault())}}))}};v=e=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(d=o._Y,function(a,b){d(a,b,3)})],v);class w extends u.uN{constructor(a,b,c,d=!1){let e=(0,f.h)("div.diff-hidden-lines-widget");super(a,b,e.root),this._unchangedRegion=c,this._hide=d,this._nodes=(0,f.h)("div.diff-hidden-lines-compact",[(0,f.h)("div.line-left",[]),(0,f.h)("div.text@text",[]),(0,f.h)("div.line-right",[])]),e.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,k.fm)(a=>{if(!this._hide){let b=this._unchangedRegion.getHiddenModifiedRange(a).length,c=(0,n.kg)(122,"{0} hidden lines",b);this._nodes.text.innerText=c}}))}}class x extends u.uN{constructor(a,b,c,d,e,i,j,l){let m=(0,f.h)("div.diff-hidden-lines-widget");super(a,b,m.root),this._editor=a,this._unchangedRegion=c,this._unchangedRegionRange=d,this._hide=e,this._modifiedOutlineSource=i,this._revealModifiedHiddenLine=j,this._options=l,this._nodes=(0,f.h)("div.diff-hidden-lines",[(0,f.h)("div.top@top",{title:(0,n.kg)(123,"Click or drag to show more above")}),(0,f.h)("div.center@content",{style:{display:"flex"}},[(0,f.h)("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[(0,f.$)("a",{title:(0,n.kg)(124,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...(0,g.n)("$(unfold)"))]),(0,f.h)("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),(0,f.h)("div.bottom@bottom",{title:(0,n.kg)(125,"Click or drag to show more below"),role:"button"})]),m.root.appendChild(this._nodes.root),this._hide?(0,f.Ln)(this._nodes.first):this._register((0,u.AV)(this._nodes.first,{width:(0,t.U)(this._editor).layoutInfoContentLeft})),this._register((0,k.fm)(a=>{let b=this._unchangedRegion.visibleLineCountTop.read(a)+this._unchangedRegion.visibleLineCountBottom.read(a)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!b),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(a)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(a)>0),this._nodes.top.classList.toggle("canMoveBottom",!b);let c=this._unchangedRegion.isDragged.read(a),d=this._editor.getDomNode();d&&(d.classList.toggle("draggingUnchangedRegion",!!c),"top"===c?(d.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(a)>0),d.classList.toggle("canMoveBottom",!b)):"bottom"===c?(d.classList.toggle("canMoveTop",!b),d.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(a)>0)):(d.classList.toggle("canMoveTop",!1),d.classList.toggle("canMoveBottom",!1)))}));let o=this._editor;this._register((0,f.ko)(this._nodes.top,"mousedown",a=>{if(0!==a.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),a.preventDefault();let b=a.clientY,c=!1,d=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);let e=(0,f.zk)(this._nodes.top),g=(0,f.ko)(e,"mousemove",a=>{let e=a.clientY-b;c=c||Math.abs(e)>2;let f=Math.max(0,Math.min(d+Math.round(e/o.getOption(75)),this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(f,void 0)}),h=(0,f.ko)(e,"mouseup",a=>{c||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),g.dispose(),h.dispose()})})),this._register((0,f.ko)(this._nodes.bottom,"mousedown",a=>{if(0!==a.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),a.preventDefault();let b=a.clientY,c=!1,d=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);let e=(0,f.zk)(this._nodes.bottom),g=(0,f.ko)(e,"mousemove",a=>{let e=a.clientY-b;c=c||Math.abs(e)>2;let f=Math.max(0,Math.min(d-Math.round(e/o.getOption(75)),this._unchangedRegion.getMaxVisibleLineCountBottom())),g=this._unchangedRegionRange.endLineNumberExclusive>o.getModel().getLineCount()?o.getContentHeight():o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(f,void 0);let h=this._unchangedRegionRange.endLineNumberExclusive>o.getModel().getLineCount()?o.getContentHeight():o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);o.setScrollTop(o.getScrollTop()+(h-g))}),h=(0,f.ko)(e,"mouseup",a=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!c){let a=o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let b=o.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);o.setScrollTop(o.getScrollTop()+(b-a))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),g.dispose(),h.dispose()})})),this._register((0,k.fm)(a=>{let b=[];if(!this._hide){let d=c.getHiddenModifiedRange(a).length,e=(0,n.kg)(126,"{0} hidden lines",d),i=(0,f.$)("span",{title:(0,n.kg)(127,"Double click to unfold")},e);i.addEventListener("dblclick",a=>{0===a.button&&(a.preventDefault(),this._unchangedRegion.showAll(void 0))}),b.push(i);let j=this._unchangedRegion.getHiddenModifiedRange(a),k=this._modifiedOutlineSource.getBreadcrumbItems(j,a);if(k.length>0){b.push((0,f.$)("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let a=0;a<k.length;a++){let c=k[a],d=s.gP.toIcon(c.kind),e=(0,f.h)("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[(0,g.s)(d),"\xa0",c.name,...a===k.length-1?[]:[(0,g.s)(h.W.chevronRight)]]).root;b.push(e),e.onclick=()=>{this._revealModifiedHiddenLine(c.startLineNumber)}}}}(0,f.Ln)(this._nodes.others,...b)}))}}},34266:()=>{},34372:(a,b,c)=>{"use strict";c.d(b,{As:()=>f,qg:()=>g});var d=c(5030),e=c(45640);function f(a){return JSON.stringify(a,h)}function g(a){let b=JSON.parse(a);return function a(b,c=0){if(!b||c>200)return b;if("object"==typeof b){switch(b.$mid){case 1:return e.r.revive(b);case 2:return new RegExp(b.source,b.flags);case 17:return new Date(b.source)}if(b instanceof d.MB||b instanceof Uint8Array)return b;if(Array.isArray(b))for(let d=0;d<b.length;++d)b[d]=a(b[d],c+1);else for(let d in b)Object.hasOwnProperty.call(b,d)&&(b[d]=a(b[d],c+1))}return b}(b)}function h(a,b){return b instanceof RegExp?{$mid:2,source:b.source,flags:b.flags}:b}},34509:(a,b,c)=>{"use strict";c.d(b,{W:()=>e});let d=globalThis.performance.now.bind(globalThis.performance);class e{static create(a){return new e(a)}constructor(a){this._now=!1===a?Date.now:d,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return -1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},34634:(a,b,c)=>{"use strict";c.d(b,{$z:()=>r,BA:()=>t,DW:()=>s,Hh:()=>l,Qn:()=>u,dO:()=>q,i_:()=>p,nz:()=>k,wt:()=>o});var d=c(32677),e=c(76136),f=c(4120),g=c(21280),h=c(40565),i=c(11314),j=c(78323);class k{constructor(a,b){this.x=a,this.y=b,this._pageCoordinatesBrand=void 0}toClientCoordinates(a){return new l(this.x-a.scrollX,this.y-a.scrollY)}}class l{constructor(a,b){this.clientX=a,this.clientY=b,this._clientCoordinatesBrand=void 0}toPageCoordinates(a){return new k(this.clientX+a.scrollX,this.clientY+a.scrollY)}}class m{constructor(a,b,c,d){this.x=a,this.y=b,this.width=c,this.height=d,this._editorPagePositionBrand=void 0}}class n{constructor(a,b){this.x=a,this.y=b,this._positionRelativeToEditorBrand=void 0}}function o(a){let b=d.BK(a);return new m(b.left,b.top,b.width,b.height)}function p(a,b,c){let d=b.width/a.offsetWidth,e=b.height/a.offsetHeight;return new n((c.x-b.x)/d,(c.y-b.y)/e)}class q extends g.P{constructor(a,b,c){super(d.zk(c),a),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=b,this.pos=new k(this.posx,this.posy),this.editorPos=o(c),this.relativePos=p(c,this.editorPos,this.pos)}}class r{constructor(a){this._editorViewDomNode=a}_create(a){return new q(a,!1,this._editorViewDomNode)}onContextMenu(a,b){return d.ko(a,d.Bx.CONTEXT_MENU,a=>{b(this._create(a))})}onMouseUp(a,b){return d.ko(a,d.Bx.MOUSE_UP,a=>{b(this._create(a))})}onMouseDown(a,b){return d.ko(a,d.Bx.MOUSE_DOWN,a=>{b(this._create(a))})}onPointerDown(a,b){return d.ko(a,d.Bx.POINTER_DOWN,a=>{b(this._create(a),a.pointerId)})}onMouseLeave(a,b){return d.ko(a,d.Bx.MOUSE_LEAVE,a=>{b(this._create(a))})}onMouseMove(a,b){return d.ko(a,d.Bx.MOUSE_MOVE,a=>b(this._create(a)))}}class s{constructor(a){this._editorViewDomNode=a}_create(a){return new q(a,!1,this._editorViewDomNode)}onPointerUp(a,b){return d.ko(a,"pointerup",a=>{b(this._create(a))})}onPointerDown(a,b){return d.ko(a,d.Bx.POINTER_DOWN,a=>{b(this._create(a),a.pointerId)})}onPointerLeave(a,b){return d.ko(a,d.Bx.POINTER_LEAVE,a=>{b(this._create(a))})}onPointerMove(a,b){return d.ko(a,"pointermove",a=>b(this._create(a)))}}class t extends i.jG{constructor(a){super(),this._editorViewDomNode=a,this._globalPointerMoveMonitor=this._register(new f._),this._keydownListener=null}startMonitoring(a,b,c,e,f){this._keydownListener=d.un(a.ownerDocument,"keydown",a=>{a.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,a.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(a,b,c,a=>{e(new q(a,!0,this._editorViewDomNode))},a=>{this._keydownListener.dispose(),f(a)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class u{static{this._idPool=0}constructor(a){this._editor=a,this._instanceId=++u._idPool,this._counter=0,this._rules=new i.$w,this._garbageCollectionScheduler=new h.uC(()=>this.garbageCollect(),1e3)}dispose(){this._rules.dispose(),this._garbageCollectionScheduler.dispose()}createClassNameRef(a){let b=this.getOrCreateRule(a);return b.increaseRefCount(),{className:b.className,dispose:()=>{b.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(a){let b=this.computeUniqueKey(a),c=this._rules.get(b);if(!c){let e=this._counter++;c=new v(b,`dyn-rule-${this._instanceId}-${e}`,d.Cl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,a),this._rules.set(b,c)}return c}computeUniqueKey(a){return JSON.stringify(a)}garbageCollect(){for(let a of this._rules.values())a.hasReferences()||this._rules.deleteAndDispose(a.key)}}class v{constructor(a,b,c,d){this.key=a,this.className=b,this.properties=d,this._referenceCount=0,this._styleElementDisposables=new i.Cm,this._styleElement=e.li(c,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(a,b){let c=`.${a} {`;for(let a in b){let d,e=b[a];d="object"==typeof e?(0,j.GuP)(e.id):e;let f=a.replace(/(^[A-Z])/,([a])=>a.toLowerCase()).replace(/([A-Z])/g,([a])=>`-${a.toLowerCase()}`);c+=`
|
|
89
89
|
${f}: ${d};`}return c+`
|
|
90
90
|
}`}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}},34747:(a,b,c)=>{"use strict";c.d(b,{A5:()=>d,Dg:()=>j,F4:()=>n,L5:()=>m,VW:()=>g,Wo:()=>l,X2:()=>i,ZS:()=>e,nk:()=>k,vd:()=>o,z4:()=>f});var d,e,f,g,h=c(43310);!function(a){a[a.Left=1]="Left",a[a.Center=2]="Center",a[a.Right=4]="Right",a[a.Full=7]="Full"}(d||(d={})),function(a){a[a.Left=1]="Left",a[a.Center=2]="Center",a[a.Right=3]="Right"}(e||(e={})),function(a){a[a.LTR=0]="LTR",a[a.RTL=1]="RTL"}(f||(f={})),function(a){a[a.Both=0]="Both",a[a.Right=1]="Right",a[a.Left=2]="Left",a[a.None=3]="None"}(g||(g={}));class i{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(a){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|a.tabSize),"tabSize"===a.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|a.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=!!a.insertSpaces,this.defaultEOL=0|a.defaultEOL,this.trimAutoWhitespace=!!a.trimAutoWhitespace,this.bracketPairColorizationOptions=a.bracketPairColorizationOptions}equals(a){return this.tabSize===a.tabSize&&this._indentSizeIsTabSize===a._indentSizeIsTabSize&&this.indentSize===a.indentSize&&this.insertSpaces===a.insertSpaces&&this.defaultEOL===a.defaultEOL&&this.trimAutoWhitespace===a.trimAutoWhitespace&&(0,h.aI)(this.bracketPairColorizationOptions,a.bracketPairColorizationOptions)}createChangeEvent(a){return{tabSize:this.tabSize!==a.tabSize,indentSize:this.indentSize!==a.indentSize,insertSpaces:this.insertSpaces!==a.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==a.trimAutoWhitespace}}}class j{constructor(a,b){this._findMatchBrand=void 0,this.range=a,this.matches=b}}function k(a){return a&&"function"==typeof a.read}class l{constructor(a,b,c,d,e,f){this.identifier=a,this.range=b,this.text=c,this.forceMoveMarkers=d,this.isAutoWhitespaceEdit=e,this._isTracked=f}}class m{constructor(a,b,c){this.regex=a,this.wordSeparators=b,this.simpleSearch=c}}class n{constructor(a,b,c){this.reverseEdits=a,this.changes=b,this.trimAutoWhitespaceLineNumbers=c}}function o(a){return!a.isTooLargeForSyncing()&&!a.isForSimpleWidget}},35063:(a,b,c)=>{"use strict";c.d(b,{Gc:()=>s,Nn:()=>i,Xw:()=>j,rh:()=>r,yF:()=>q});var d=c(88347),e=c(29949),f=c(25247),g=c(23316);class h{get length(){return this._length}constructor(a){this._length=a}}class i extends h{static create(a,b,c){let d=a.length;return b&&(d=(0,f.QB)(d,b.length)),c&&(d=(0,f.QB)(d,c.length)),new i(d,a,b,c,b?b.missingOpeningBracketIds:g.gV.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(a){switch(a){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw Error("Invalid child index")}get children(){let a=[];return a.push(this.openingBracket),this.child&&a.push(this.child),this.closingBracket&&a.push(this.closingBracket),a}constructor(a,b,c,d,e){super(a),this.openingBracket=b,this.child=c,this.closingBracket=d,this.missingOpeningBracketIds=e}canBeReused(a){return!(null===this.closingBracket||a.intersects(this.missingOpeningBracketIds))}deepClone(){return new i(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(a,b){return this.child?this.child.computeMinIndentation((0,f.QB)(a,this.openingBracket.length),b):Number.MAX_SAFE_INTEGER}}class j extends h{static create23(a,b,c,d=!1){let e=a.length,g=a.missingOpeningBracketIds;if(a.listHeight!==b.listHeight)throw Error("Invalid list heights");if(e=(0,f.QB)(e,b.length),g=g.merge(b.missingOpeningBracketIds),c){if(a.listHeight!==c.listHeight)throw Error("Invalid list heights");e=(0,f.QB)(e,c.length),g=g.merge(c.missingOpeningBracketIds)}return d?new l(e,a.listHeight+1,a,b,c,g):new k(e,a.listHeight+1,a,b,c,g)}static getEmpty(){return new n(f.Vp,0,[],g.gV.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(a,b,c){super(a),this.listHeight=b,this._missingOpeningBracketIds=c,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();let a=this.childrenLength;if(0===a)return;let b=this.getChild(a-1),c=4===b.kind?b.toMutable():b;return b!==c&&this.setChild(a-1,c),c}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;let a=this.getChild(0),b=4===a.kind?a.toMutable():a;return a!==b&&this.setChild(0,b),b}canBeReused(a){if(a.intersects(this.missingOpeningBracketIds)||0===this.childrenLength)return!1;let b=this;for(;4===b.kind;){let a=b.childrenLength;if(0===a)throw new d.D7;b=b.getChild(a-1)}return b.canBeReused(a)}handleChildrenChanged(){this.throwIfImmutable();let a=this.childrenLength,b=this.getChild(0).length,c=this.getChild(0).missingOpeningBracketIds;for(let d=1;d<a;d++){let a=this.getChild(d);b=(0,f.QB)(b,a.length),c=c.merge(a.missingOpeningBracketIds)}this._length=b,this._missingOpeningBracketIds=c,this.cachedMinIndentation=-1}computeMinIndentation(a,b){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let c=Number.MAX_SAFE_INTEGER,d=a;for(let a=0;a<this.childrenLength;a++){let e=this.getChild(a);e&&(c=Math.min(c,e.computeMinIndentation(d,b)),d=(0,f.QB)(d,e.length))}return this.cachedMinIndentation=c,c}}class k extends j{get childrenLength(){return null!==this._item3?3:2}getChild(a){switch(a){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw Error("Invalid child index")}setChild(a,b){switch(a){case 0:this._item1=b;return;case 1:this._item2=b;return;case 2:this._item3=b;return}throw Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(a,b,c,d,e,f){super(a,b,f),this._item1=c,this._item2=d,this._item3=e}deepClone(){return new k(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(a){if(this._item3)throw Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=a,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();let a=this._item3;return this._item3=null,this.handleChildrenChanged(),a}prependChildOfSameHeight(a){if(this._item3)throw Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=a,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();let a=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),a}toMutable(){return this}}class l extends k{toMutable(){return new k(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw Error("this instance is immutable")}}class m extends j{get childrenLength(){return this._children.length}getChild(a){return this._children[a]}setChild(a,b){this._children[a]=b}get children(){return this._children}constructor(a,b,c,d){super(a,b,d),this._children=c}deepClone(){let a=Array(this._children.length);for(let b=0;b<this._children.length;b++)a[b]=this._children[b].deepClone();return new m(this.length,this.listHeight,a,this.missingOpeningBracketIds)}appendChildOfSameHeight(a){this.throwIfImmutable(),this._children.push(a),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();let a=this._children.pop();return this.handleChildrenChanged(),a}prependChildOfSameHeight(a){this.throwIfImmutable(),this._children.unshift(a),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();let a=this._children.shift();return this.handleChildrenChanged(),a}toMutable(){return this}}class n extends m{toMutable(){return new m(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw Error("this instance is immutable")}}let o=[];class p extends h{get listHeight(){return 0}get childrenLength(){return 0}getChild(a){return null}get children(){return o}deepClone(){return this}}class q extends p{get kind(){return 0}get missingOpeningBracketIds(){return g.gV.getEmpty()}canBeReused(a){return!0}computeMinIndentation(a,b){let c=(0,f.l4)(a),d=(0===c.columnCount?c.lineCount:c.lineCount+1)+1,g=(0,f.eu)((0,f.QB)(a,this.length))+1,h=Number.MAX_SAFE_INTEGER;for(let a=d;a<=g;a++){let c=b.getLineFirstNonWhitespaceColumn(a),d=b.getLineContent(a);0!==c&&(h=Math.min(h,e.A.visibleColumnFromColumn(d,c,b.getOptions().tabSize)))}return h}}class r extends p{static create(a,b,c){return new r(a,b,c)}get kind(){return 1}get missingOpeningBracketIds(){return g.gV.getEmpty()}constructor(a,b,c){super(a),this.bracketInfo=b,this.bracketIds=c}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(a){return!1}computeMinIndentation(a,b){return Number.MAX_SAFE_INTEGER}}class s extends p{get kind(){return 3}constructor(a,b){super(b),this.missingOpeningBracketIds=a}canBeReused(a){return!a.intersects(this.missingOpeningBracketIds)}computeMinIndentation(a,b){return Number.MAX_SAFE_INTEGER}}},35616:(a,b,c)=>{"use strict";c.d(b,{BG:()=>f,IO:()=>h,Y:()=>g,eh:()=>e,pj:()=>j,qN:()=>i});class d{constructor(a,b){this._restrictedRenderingContextBrand=void 0,this._viewLayout=a,this.viewportData=b,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;let c=this._viewLayout.getCurrentViewport();this.scrollTop=c.top,this.scrollLeft=c.left,this.viewportWidth=c.width,this.viewportHeight=c.height}getScrolledTopFromAbsoluteTop(a){return a-this.scrollTop}getVerticalOffsetForLineNumber(a,b){return this._viewLayout.getVerticalOffsetForLineNumber(a,b)}getVerticalOffsetAfterLineNumber(a,b){return this._viewLayout.getVerticalOffsetAfterLineNumber(a,b)}getLineHeightForLineNumber(a){return this._viewLayout.getLineHeightForLineNumber(a)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class e extends d{constructor(a,b,c,d){super(a,b),this._renderingContextBrand=void 0,this._viewLines=c,this._viewLinesGpu=d}linesVisibleRangesForRange(a,b){let c=this._viewLines.linesVisibleRangesForRange(a,b);if(!this._viewLinesGpu)return c??null;let d=this._viewLinesGpu.linesVisibleRangesForRange(a,b);return c?d?c.concat(d).sort((a,b)=>a.lineNumber-b.lineNumber):c:d}visibleRangeForPosition(a){return this._viewLines.visibleRangeForPosition(a)??this._viewLinesGpu?.visibleRangeForPosition(a)??null}}class f{constructor(a,b,c,d){this.outsideRenderedLine=a,this.lineNumber=b,this.ranges=c,this.continuesOnNextLine=d}}class g{static from(a){let b=Array(a.length);for(let c=0,d=a.length;c<d;c++){let d=a[c];b[c]=new g(d.left,d.width)}return b}constructor(a,b){this._horizontalRangeBrand=void 0,this.left=Math.round(a),this.width=Math.round(b)}toString(){return`[${this.left},${this.width}]`}}class h{constructor(a,b){this._floatHorizontalRangeBrand=void 0,this.left=a,this.width=b}toString(){return`[${this.left},${this.width}]`}static compare(a,b){return a.left-b.left}}class i{constructor(a,b){this.outsideRenderedLine=a,this.originalLeft=b,this.left=Math.round(this.originalLeft)}}class j{constructor(a,b){this.outsideRenderedLine=a,this.ranges=b}}},35975:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(60734);let e=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new d.vl,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(a){a=Math.min(Math.max(-5,a),20),this._zoomLevel!==a&&(this._zoomLevel=a,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}},36120:(a,b,c)=>{"use strict";c.d(b,{mJ:()=>w,x8:()=>u});var d=c(32677),e=c(88077),f=c(67397);class g{constructor(a){this.source=a,this.index=0}eos(){return this.index>=this.source.length}next(){let a=this.peek();return this.advance(),a}peek(){return this.source[this.index]}advance(){this.index++}}function h(a,b){switch(a){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return 7*!!b;default:return 0}}var i=c(51043),j=c(98867),k=c(21036),l=c(87229),m=c(62274),n=c(60734);class o{constructor(a,b=0,c=a.length,d=b-1){this.items=a,this.start=b,this.end=c,this.index=d}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class p{constructor(a=new Set,b=10){this._history=a,this._limit=b,this._onChange(),this._history.onDidChange&&(this._disposable=this._history.onDidChange(()=>this._onChange()))}getHistory(){return this._elements}add(a){this._history.delete(a),this._history.add(a),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(a){return this._history.has(a)}_onChange(){this._reduceToLimit();let a=this._elements;this._navigator=new o(a,0,a.length,a.length)}_reduceToLimit(){let a=this._elements;if(a.length>this._limit){let b=a.slice(a.length-this._limit);this._history.replace?this._history.replace(b):this._history=new Set(b)}}_currentPosition(){let a=this._navigator.current();return a?this._elements.indexOf(a):-1}get _elements(){let a=[];return this._history.forEach(b=>a.push(b)),a}dispose(){this._disposable&&(this._disposable.dispose(),this._disposable=void 0)}}var q=c(43310);c(41343);var r=c(25536),s=c(11314);let t=d.$,u={inputBackground:"#3C3C3C",inputForeground:"#CCCCCC",inputValidationInfoBorder:"#55AAFF",inputValidationInfoBackground:"#063B49",inputValidationWarningBorder:"#B89500",inputValidationWarningBackground:"#352A05",inputValidationErrorBorder:"#BE1100",inputValidationErrorBackground:"#5A1D1D",inputBorder:void 0,inputValidationErrorForeground:void 0,inputValidationInfoForeground:void 0,inputValidationWarningForeground:void 0};class v extends m.x{get onDidChange(){return this._onDidChange.event}get onDidHeightChange(){return this._onDidHeightChange.event}constructor(a,b,c){super(),this.state="idle",this.maxHeight=1/0,this.hover=this._register(new s.HE),this._onDidChange=this._register(new n.vl),this._onDidHeightChange=this._register(new n.vl),this.contextViewProvider=b,this.options=c,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=d.BC(a,t(".monaco-inputbox.idle"));let e=this.options.flexibleHeight?"textarea":"input",g=d.BC(this.element,t(".ibwrapper"));if(this.input=d.BC(g,t(e+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:1/0,this.mirror=d.BC(g,t("div.mirror")),this.mirror.innerText="\xa0",this.scrollableElement=new l.Se(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),d.BC(a,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(a=>this.input.scrollTop=a.scrollTop));let b=this._register(new f.f(a.ownerDocument,"selectionchange")),c=n.Jh.filter(b.event,()=>{let b=a.ownerDocument.getSelection();return b?.anchorNode===g});this._register(c(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new i.E(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(a){this.placeholder=a,this.input.setAttribute("placeholder",a)}setTooltip(a){this.tooltip=a,this.hover.value||(this.hover.value=this._register((0,k.i)().setupDelayedHoverAtMouse(this.input,()=>({content:this.tooltip,appearance:{compact:!0}}))))}get inputElement(){return this.input}get value(){return this.input.value}set value(a){this.input.value!==a&&(this.input.value=a,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:d.OK(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return d.X7(this.input)}select(a=null){this.input.select(),a&&(this.input.setSelectionRange(a.start,a.end),a.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){let a=this.input.selectionStart;if(null===a)return null;let b=this.input.selectionEnd??a;return{start:a,end:b}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(a){this.input.style.width=`calc(100% - ${a}px)`,this.mirror&&(this.mirror.style.paddingRight=a+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;let a=this.cachedContentHeight,b=this.cachedHeight,c=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:a,height:b}),this.scrollableElement.setScrollPosition({scrollTop:c})}showMessage(a,b){if("open"===this.state&&(0,q.aI)(this.message,a))return;this.message=a,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(a.type));let c=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${e.gI(c.border,"transparent")}`,this.message.content&&(this.hasFocus()||b)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let a=null;return this.validation&&((a=this.validation(this.value))?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(a)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),a?.type}stylesForType(a){let b=this.options.inputBoxStyles;switch(a){case 1:return{border:b.inputValidationInfoBorder,background:b.inputValidationInfoBackground,foreground:b.inputValidationInfoForeground};case 2:return{border:b.inputValidationWarningBorder,background:b.inputValidationWarningBackground,foreground:b.inputValidationWarningForeground};default:return{border:b.inputValidationErrorBorder,background:b.inputValidationErrorBackground,foreground:b.inputValidationErrorForeground}}}classForType(a){switch(a){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){let a,b;if(!this.contextViewProvider||!this.message)return;let c=()=>a.style.width=d.Tr(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:b=>{var e;if(!this.message)return null;a=d.BC(b,t(".monaco-inputbox-container")),c();let f=t("span.monaco-inputbox-message");this.message.formatContent?function(a,b,c){let e=c??document.createElement("div");e.textContent="",function a(b,c,e,f){let g;if(2===c.type)g=document.createTextNode(c.content||"");else if(3===c.type)g=document.createElement("b");else if(4===c.type)g=document.createElement("i");else if(7===c.type&&f)g=document.createElement("code");else if(5===c.type&&e){let a=document.createElement("a");e.disposables.add(d.un(a,"click",a=>{e.callback(String(c.index),a)})),g=a}else 8===c.type?g=document.createElement("br"):1===c.type&&(g=b);g&&b!==g&&b.appendChild(g),g&&Array.isArray(c.children)&&c.children.forEach(b=>{a(g,b,e,f)})}(e,function(a,b){let c={type:1,children:[]},d=0,e=c,f=[],i=new g(a);for(;!i.eos();){let a=i.next(),c="\\"===a&&0!==h(i.peek(),b);if(c&&(a=i.next()),c||0===h(a,b)||a!==i.peek())if("\n"===a)2===e.type&&(e=f.pop()),e.children.push({type:8});else if(2!==e.type){let b={type:2,content:a};e.children.push(b),f.push(e),e=b}else e.content+=a;else{i.advance(),2===e.type&&(e=f.pop());let c=h(a,b);if(e.type===c||5===e.type&&6===c)e=f.pop();else{let a={type:c,children:[]};5===c&&(a.index=d,d++),e.children.push(a),f.push(e),e=a}}}return 2===e.type&&(e=f.pop()),f.length,c}(a,!!b?.renderCodeSegments),b?.actionHandler,b?.renderCodeSegments)}(this.message.content,void 0,f):(e=this.message.content,(f??document.createElement("div")).textContent=e),f.classList.add(this.classForType(this.message.type));let i=this.stylesForType(this.message.type);return f.style.backgroundColor=i.background??"",f.style.color=i.foreground??"",f.style.border=i.border?`1px solid ${i.border}`:"",d.BC(a,f),null},onHide:()=>{this.state="closed"},layout:c}),b=3===this.message.type?r.kg(9,"Error: {0}",this.message.content):2===this.message.type?r.kg(10,"Warning: {0}",this.message.content):r.kg(11,"Info: {0}",this.message.content),j.xE(b),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;let a=this.value,b=10===a.charCodeAt(a.length-1)?" ":"";(a+b).replace(/\u000c/g,"")?this.mirror.textContent=a+b:this.mirror.innerText="\xa0",this.layout()}applyStyles(){let a=this.options.inputBoxStyles,b=a.inputBackground??"",c=a.inputForeground??"",d=a.inputBorder??"";this.element.style.backgroundColor=b,this.element.style.color=c,this.input.style.backgroundColor="inherit",this.input.style.color=c,this.element.style.border=`1px solid ${e.gI(d,"transparent")}`}layout(){if(!this.mirror)return;let a=this.cachedContentHeight;this.cachedContentHeight=d.OK(this.mirror),a!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(a){let b=this.inputElement,c=b.selectionStart,d=b.selectionEnd,e=b.value;null!==c&&null!==d&&(this.value=e.substr(0,c)+a+e.substr(d),b.setSelectionRange(c+1,c+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class w extends v{constructor(a,b,c){let e=r.kg(12," or {0} for history",`\u21C5`),f=r.kg(13," ({0} for history)",`\u21C5`);super(a,b,c),this._onDidFocus=this._register(new n.vl),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new n.vl),this.onDidBlur=this._onDidBlur.event,this.history=this._register(new p(c.history,100));let g=()=>{if(c.showHistoryHint&&c.showHistoryHint()&&!this.placeholder.endsWith(e)&&!this.placeholder.endsWith(f)&&this.history.getHistory().length){let a=this.placeholder.endsWith(")")?e:f,b=this.placeholder+a;c.showPlaceholderOnFocus&&!d.X7(this.input)?this.placeholder=b:this.setPlaceHolder(b)}};this.observer=new MutationObserver((a,b)=>{a.forEach(a=>{a.target.textContent||g()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>g()),this.onblur(this.input,()=>{let a=a=>{if(!this.placeholder.endsWith(a))return!1;{let b=this.placeholder.slice(0,this.placeholder.length-a.length);return c.showPlaceholderOnFocus?this.placeholder=b:this.setPlaceHolder(b),!0}};a(f)||a(e)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(a){this.value&&(a||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let a=this.getNextValue();a&&(a=a===this.value?this.getNextValue():a),this.value=a??"",j.h5(this.value?this.value:r.kg(14,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let a=this.getPreviousValue();a&&(a=a===this.value?this.getPreviousValue():a),a&&(this.value=a,j.h5(this.value))}setPlaceHolder(a){super.setPlaceHolder(a),this.setTooltip(a)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let a=this.history.current();return a||(a=this.history.last(),this.history.next()),a}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}},36406:()=>{},36463:(a,b,c)=>{"use strict";c.d(b,{Ef:()=>p,WL:()=>k,q6:()=>o,wm:()=>n});var d=c(54734),e=c(22450),f=c(88347),g=c(31512),h=c(79677),i=c(59317),j=c(95299);class k{static inverse(a,b,c){let d=[],e=1,f=1;for(let b of a){let a=new k(new g.M(e,b.original.startLineNumber),new g.M(f,b.modified.startLineNumber));a.modified.isEmpty||d.push(a),e=b.original.endLineNumberExclusive,f=b.modified.endLineNumberExclusive}let h=new k(new g.M(e,b+1),new g.M(f,c+1));return h.modified.isEmpty||d.push(h),d}static clip(a,b,c){let d=[];for(let e of a){let a=e.original.intersect(b),f=e.modified.intersect(c);a&&!a.isEmpty&&f&&!f.isEmpty&&d.push(new k(a,f))}return d}constructor(a,b){this.original=a,this.modified=b}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new k(this.modified,this.original)}join(a){return new k(this.original.join(a.original),this.modified.join(a.modified))}toRangeMapping(){let a=this.original.toInclusiveRange(),b=this.modified.toInclusiveRange();if(a&&b)return new o(a,b);if(1!==this.original.startLineNumber&&1!==this.modified.startLineNumber)return new o(new i.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new i.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER));if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new f.D7("not a valid diff");return new o(new i.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new i.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}toRangeMapping2(a,b){if(m(this.original.endLineNumberExclusive,a)&&m(this.modified.endLineNumberExclusive,b))return new o(new i.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new i.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new o(i.Q.fromPositions(new h.y(this.original.startLineNumber,1),l(new h.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),a)),i.Q.fromPositions(new h.y(this.modified.startLineNumber,1),l(new h.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),b)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new o(i.Q.fromPositions(l(new h.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),a),l(new h.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),a)),i.Q.fromPositions(l(new h.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),b),l(new h.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),b)));throw new f.D7}}function l(a,b){if(a.lineNumber<1)return new h.y(1,1);if(a.lineNumber>b.length)return new h.y(b.length,b[b.length-1].length+1);let c=b[a.lineNumber-1];return a.column>c.length+1?new h.y(a.lineNumber,c.length+1):a}function m(a,b){return a>=1&&a<=b.length}class n extends k{static fromRangeMappings(a){return new n(g.M.join(a.map(a=>g.M.fromRangeInclusive(a.originalRange))),g.M.join(a.map(a=>g.M.fromRangeInclusive(a.modifiedRange))),a)}constructor(a,b,c){super(a,b),this.innerChanges=c}flip(){return new n(this.modified,this.original,this.innerChanges?.map(a=>a.flip()))}withInnerChangesFromLineRanges(){return new n(this.original,this.modified,[this.toRangeMapping()])}}class o{static fromEdit(a){let b=a.getNewRanges();return a.replacements.map((a,c)=>new o(a.range,b[c]))}static assertSorted(a){for(let b=1;b<a.length;b++){let c=a[b-1],d=a[b];if(!(c.originalRange.getEndPosition().isBeforeOrEqual(d.originalRange.getStartPosition())&&c.modifiedRange.getEndPosition().isBeforeOrEqual(d.modifiedRange.getStartPosition())))throw new f.D7("Range mappings must be sorted")}}constructor(a,b){this.originalRange=a,this.modifiedRange=b}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new o(this.modifiedRange,this.originalRange)}toTextEdit(a){let b=a.getValueOfRange(this.modifiedRange);return new j.W(this.originalRange,b)}}function p(a,b,c,f=!1){let h=[];for(let e of(0,d.n)(a.map(a=>{var d,e,f;let h,i;return d=a,e=b,f=c,h=0,i=0,1===d.modifiedRange.endColumn&&1===d.originalRange.endColumn&&d.originalRange.startLineNumber+h<=d.originalRange.endLineNumber&&d.modifiedRange.startLineNumber+h<=d.modifiedRange.endLineNumber&&(i=-1),d.modifiedRange.startColumn-1>=f.getLineLength(d.modifiedRange.startLineNumber)&&d.originalRange.startColumn-1>=e.getLineLength(d.originalRange.startLineNumber)&&d.originalRange.startLineNumber<=d.originalRange.endLineNumber+i&&d.modifiedRange.startLineNumber<=d.modifiedRange.endLineNumber+i&&(h=1),new n(new g.M(d.originalRange.startLineNumber+h,d.originalRange.endLineNumber+1+i),new g.M(d.modifiedRange.startLineNumber+h,d.modifiedRange.endLineNumber+1+i),[d])}),(a,b)=>a.original.intersectsOrTouches(b.original)||a.modified.intersectsOrTouches(b.modified))){let a=e[0],b=e[e.length-1];h.push(new n(a.original.join(b.original),a.modified.join(b.modified),e.map(a=>a.innerChanges[0])))}return(0,e.Ft)(()=>(!!f||!(h.length>0)||h[0].modified.startLineNumber===h[0].original.startLineNumber&&c.length.lineCount-h[h.length-1].modified.endLineNumberExclusive==b.length.lineCount-h[h.length-1].original.endLineNumberExclusive)&&(0,e.Xo)(h,(a,b)=>b.original.startLineNumber-a.original.endLineNumberExclusive==b.modified.startLineNumber-a.modified.endLineNumberExclusive&&a.original.endLineNumberExclusive<b.original.startLineNumber&&a.modified.endLineNumberExclusive<b.modified.startLineNumber)),h}},37309:(a,b,c)=>{"use strict";c.d(b,{f:()=>f,j:()=>e});var d=c(45367);let e=(0,c(29715).u1)("accessibilityService"),f=new d.N1("accessibilityModeEnabled",!1)},37457:(a,b,c)=>{"use strict";c.d(b,{KC:()=>h,S3:()=>f,dB:()=>function a(b,c){if(b===c)return!0;if(Array.isArray(b)&&Array.isArray(c)){if(b.length!==c.length)return!1;for(let d=0;d<b.length;d++)if(!a(b[d],c[d]))return!1;return!0}if(b&&"object"==typeof b&&c&&"object"==typeof c&&Object.getPrototypeOf(b)===Object.prototype&&Object.getPrototypeOf(c)===Object.prototype){let d=Object.keys(b),e=Object.keys(c),f=new Set(e);if(d.length!==e.length)return!1;for(let e of d)if(!f.has(e)||!a(b[e],c[e]))return!1;return!0}return!1},nx:()=>e,r:()=>g});var d=c(54734);let e=(a,b)=>a===b;function f(a=e){return(b,c)=>d.aI(b,c,a)}function g(){return(a,b)=>a.equals(b)}function h(a,b,c){return void 0===c?(b,c)=>null==b||null==c?c===b:a(b,c):null==a||null==b?b===a:c(a,b)}new WeakMap},37939:()=>{},38041:(a,b,c)=>{"use strict";c.d(b,{Mo:()=>i,ad:()=>e,gD:()=>h,iB:()=>g,kW:()=>f,pG:()=>d});let d=(0,c(29715).u1)("configurationService");function e(a,b){let c=Object.create(null);for(let d in a)f(c,d,a[d],b);return c}function f(a,b,c,d){let e=b.split("."),f=e.pop(),g=a;for(let a=0;a<e.length;a++){let c=e[a],f=g[c];switch(typeof f){case"undefined":f=g[c]=Object.create(null);break;case"object":if(null===f)return void d(`Ignoring ${b} as ${e.slice(0,a+1).join(".")} is null`);break;default:d(`Ignoring ${b} as ${e.slice(0,a+1).join(".")} is ${JSON.stringify(f)}`);return}g=f}if("object"==typeof g&&null!==g)try{g[f]=c}catch(a){d(`Ignoring ${b} as ${e.join(".")} is ${JSON.stringify(g)}`)}else d(`Ignoring ${b} as ${e.join(".")} is ${JSON.stringify(g)}`)}function g(a,b){!function a(b,c){if(!b)return;let d=c.shift();if(0===c.length)return void delete b[d];if(-1!==Object.keys(b).indexOf(d)){let e=b[d];"object"!=typeof e||Array.isArray(e)||(a(e,c),0===Object.keys(e).length&&delete b[d])}}(a,b.split("."))}function h(a,b,c){let d=function(a,b){let c=a;for(let a of b){if("object"!=typeof c||null===c)return;c=c[a]}return c}(a,b.split("."));return void 0===d?c:d}function i(a){return a.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}},38066:(a,b,c)=>{"use strict";c.d(b,{_:()=>l,ou:()=>i,tk:()=>j});var d=c(88347),e=c(48268),f=c(35063),g=c(25247),h=c(23316);class i{constructor(a,b,c,d,e){this.length=a,this.kind=b,this.bracketId=c,this.bracketIds=d,this.astNode=e}}class j{constructor(a,b){this.textModel=a,this.bracketTokens=b,this.reader=new k(this.textModel,this.bracketTokens),this._offset=g.Vp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=a.getLineCount(),this.textBufferLastLineLength=a.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,g.qe)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(a){this.didPeek=!1,this._offset=(0,g.QB)(this._offset,a);let b=(0,g.l4)(this._offset);this.reader.setPosition(b.lineCount,b.columnCount)}read(){let a;return this.peeked?(this.didPeek=!1,a=this.peeked):a=this.reader.read(),a&&(this._offset=(0,g.QB)(this._offset,a.length)),a}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class k{constructor(a,b){this.textModel=a,this.bracketTokens=b,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=a.getLineCount(),this.textBufferLastLineLength=a.getLineLength(this.textBufferLineCount)}setPosition(a,b){a===this.lineIdx?(this.lineCharOffset=b,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=a,this.lineCharOffset=b,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){let a=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,g.sS)(a.length),a}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));let a=this.lineIdx,b=this.lineCharOffset,c=0;for(;;){let d=this.lineTokens,f=d.getCount(),h=null;if(this.lineTokenOffset<f){let i=d.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<f&&i===d.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;let j=0===e.x.getTokenType(i),k=e.x.containsBalancedBrackets(i),l=d.getEndOffset(this.lineTokenOffset);if(k&&j&&this.lineCharOffset<l){let a=d.getLanguageId(this.lineTokenOffset),b=this.line.substring(this.lineCharOffset,l),c=this.bracketTokens.getSingleLanguageBracketTokens(a),e=c.regExpGlobal;if(e){e.lastIndex=0;let a=e.exec(b);a&&(h=c.getToken(a[0]))&&(this.lineCharOffset+=a.index)}}if(c+=l-this.lineCharOffset,h)if(a===this.lineIdx&&b===this.lineCharOffset)return this.lineCharOffset+=(0,g.sS)(h.length),h;else{this.peekedToken=h;break}this.lineTokenOffset++,this.lineCharOffset=l}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,(c+=33)>1e3))break;if(c>1500)break}let d=(0,g.C7)(a,b,this.lineIdx,this.lineCharOffset);return new i(d,0,-1,h.gV.getEmpty(),new f.yF(d))}}class l{constructor(a,b){let c;this.text=a,this._offset=g.Vp,this.idx=0;let d=b.getRegExpStr(),e=d?RegExp(d+"|\n","gi"):null,j=[],k=0,l=0,m=0,n=0,o=[];for(let a=0;a<60;a++)o.push(new i((0,g.qe)(0,a),0,-1,h.gV.getEmpty(),new f.yF((0,g.qe)(0,a))));let p=[];for(let a=0;a<60;a++)p.push(new i((0,g.qe)(1,a),0,-1,h.gV.getEmpty(),new f.yF((0,g.qe)(1,a))));if(e)for(e.lastIndex=0;null!==(c=e.exec(a));){let a=c.index,d=c[0];if("\n"===d)k++,l=a+1;else{if(m!==a){let b;if(n===k){let c=a-m;if(c<o.length)b=o[c];else{let a=(0,g.qe)(0,c);b=new i(a,0,-1,h.gV.getEmpty(),new f.yF(a))}}else{let c=k-n,d=a-l;if(1===c&&d<p.length)b=p[d];else{let a=(0,g.qe)(c,d);b=new i(a,0,-1,h.gV.getEmpty(),new f.yF(a))}}j.push(b)}j.push(b.getToken(d)),m=a+d.length,n=k}}let q=a.length;if(m!==q){let a=n===k?(0,g.qe)(0,q-m):(0,g.qe)(k-n,q-l);j.push(new i(a,0,-1,h.gV.getEmpty(),new f.yF(a)))}this.length=(0,g.qe)(k,q-l),this.tokens=j}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(a){throw new d.EM}}},38178:(a,b,c)=>{"use strict";c.d(b,{YW:()=>B,qg:()=>C});var d=c(40565),e=c(31122),f=c(9888),g=c(76687),h=c(56167),i=c(98447);let j="[/\\\\]",k="[^/\\\\]",l=/\//g;function m(a,b){switch(a){case 0:return"";case 1:return`${k}*?`;default:return`(?:${j}|${k}+${j}${b?`|${j}${k}+`:""})*?`}}function n(a,b){if(!a)return[];let c=[],d=!1,e=!1,f="";for(let g of a){switch(g){case b:if(!d&&!e){c.push(f),f="";continue}break;case"{":d=!0;break;case"}":d=!1;break;case"[":e=!0;break;case"]":e=!1}f+=g}return f&&c.push(f),c}let o=/^\*\*\/\*\.[\w\.-]+$/,p=/^\*\*\/([\w\.-]+)\/?$/,q=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,r=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,s=/^\*\*((\/[\w\.-]+)+)\/?$/,t=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,u=new f.qK(1e4),v=function(){return!1},w=function(){return null};function x(a,b){var c,d;let e,f;if(!a)return w;e=(e="string"!=typeof a?a.pattern:a).trim();let g=`${e}_${!!b.trimForExclusions}`,h=u.get(g);return h||(h=o.test(e)?(c=e.substr(4),d=e,function(a,b){return"string"==typeof a&&a.endsWith(c)?d:null}):(f=p.exec(z(e,b)))?function(a,b){let c=`/${a}`,d=`\\${a}`,e=function(e,f){return"string"!=typeof e?null:f?f===a?b:null:e===a||e.endsWith(c)||e.endsWith(d)?b:null},f=[a];return e.basenames=f,e.patterns=[b],e.allBasenames=f,e}(f[1],e):(b.trimForExclusions?r:q).test(e)?function(a,b){let c=D(a.slice(1,-1).split(",").map(a=>x(a,b)).filter(a=>a!==w),a),d=c.length;if(!d)return w;if(1===d)return c[0];let e=function(b,d){for(let e=0,f=c.length;e<f;e++)if(c[e](b,d))return a;return null},f=c.find(a=>!!a.allBasenames);f&&(e.allBasenames=f.allBasenames);let g=c.reduce((a,b)=>b.allPaths?a.concat(b.allPaths):a,[]);return g.length&&(e.allPaths=g),e}(e,b):(f=s.exec(z(e,b)))?A(f[1].substr(1),e,!0):(f=t.exec(z(e,b)))?A(f[1],e,!1):function(a){try{let b=RegExp(`^${function a(b){if(!b)return"";let c="",d=n(b,"/");if(d.every(a=>"**"===a))c=".*";else{let b=!1;d.forEach((e,f)=>{if("**"===e){if(b)return;c+=m(2,f===d.length-1)}else{let b=!1,g="",h=!1,l="";for(let d of e){if("}"!==d&&b){g+=d;continue}if(h&&("]"!==d||!l)){let a;a="-"===d?d:"^"!==d&&"!"!==d||l?"/"===d?"":(0,i.bm)(d):"^",l+=a;continue}switch(d){case"{":b=!0;continue;case"[":h=!0;continue;case"}":{let d=n(g,","),e=`(?:${d.map(b=>a(b)).join("|")})`;c+=e,b=!1,g="";break}case"]":c+="["+l+"]",h=!1,l="";break;case"?":c+=k;continue;case"*":c+=m(1);continue;default:c+=(0,i.bm)(d)}}f<d.length-1&&("**"!==d[f+1]||f+2<d.length)&&(c+=j)}b="**"===e})}return c}(a)}$`);return function(c){return b.lastIndex=0,"string"==typeof c&&b.test(c)?a:null}}catch(a){return w}}(e),u.set(g,h)),y(h,a)}function y(a,b){if("string"==typeof b)return a;let c=function(c,d){return(0,e._1)(c,b.base,!h.j9)?a((0,i.NB)(c.substr(b.base.length),g.Vn),d):null};return c.allBasenames=a.allBasenames,c.allPaths=a.allPaths,c.basenames=a.basenames,c.patterns=a.patterns,c}function z(a,b){return b.trimForExclusions&&a.endsWith("/**")?a.substr(0,a.length-2):a}function A(a,b,c){let d,e=g.Vn===g.SA.sep,f=e?a:a.replace(l,g.Vn),h=g.Vn+f,i=g.SA.sep+a;return(d=c?function(c,d){return"string"==typeof c&&(c===f||c.endsWith(h)||!e&&(c===a||c.endsWith(i)))?b:null}:function(c,d){return"string"!=typeof c||c!==f&&(e||c!==a)?null:b}).allPaths=[(c?"*/":"./")+a],d}function B(a,b,c){return!!a&&"string"==typeof b&&C(a)(b,void 0,c)}function C(a,b={}){var c;if(!a)return v;if("string"==typeof a||(c=a)&&"string"==typeof c.base&&"string"==typeof c.pattern){let c=x(a,b);if(c===w)return v;let d=function(a,b){return!!c(a,b)};return c.allBasenames&&(d.allBasenames=c.allBasenames),c.allPaths&&(d.allPaths=c.allPaths),d}return function(a,b){let c=D(Object.getOwnPropertyNames(a).map(c=>(function(a,b,c){if(!1===b)return w;let e=x(a,c);if(e===w)return w;if("boolean"==typeof b)return e;if(b){let c=b.when;if("string"==typeof c){let b=(b,f,g,h)=>{if(!h||!e(b,f))return null;let i=h(c.replace("$(basename)",()=>g));return(0,d.Qg)(i)?i.then(b=>b?a:null):i?a:null};return b.requiresSiblings=!0,b}}return e})(c,a[c],b)).filter(a=>a!==w)),e=c.length;if(!e)return w;if(!c.some(a=>!!a.requiresSiblings)){if(1===e)return c[0];let a=function(a,b){let e;for(let f=0,g=c.length;f<g;f++){let g=c[f](a,b);if("string"==typeof g)return g;(0,d.Qg)(g)&&(e||(e=[]),e.push(g))}return e?(async()=>{for(let a of e){let b=await a;if("string"==typeof b)return b}return null})():null},b=c.find(a=>!!a.allBasenames);b&&(a.allBasenames=b.allBasenames);let f=c.reduce((a,b)=>b.allPaths?a.concat(b.allPaths):a,[]);return f.length&&(a.allPaths=f),a}let f=function(a,b,e){let f,h;for(let i=0,j=c.length;i<j;i++){let j=c[i];j.requiresSiblings&&e&&(b||(b=(0,g.P8)(a)),f||(f=b.substr(0,b.length-(0,g.LC)(a).length)));let k=j(a,b,f,e);if("string"==typeof k)return k;(0,d.Qg)(k)&&(h||(h=[]),h.push(k))}return h?(async()=>{for(let a of h){let b=await a;if("string"==typeof b)return b}return null})():null},h=c.find(a=>!!a.allBasenames);h&&(f.allBasenames=h.allBasenames);let i=c.reduce((a,b)=>b.allPaths?a.concat(b.allPaths):a,[]);return i.length&&(f.allPaths=i),f}(a,b)}function D(a,b){let c,d=a.filter(a=>!!a.basenames);if(d.length<2)return a;let e=d.reduce((a,b)=>{let c=b.basenames;return c?a.concat(c):a},[]);if(b){c=[];for(let a=0,d=e.length;a<d;a++)c.push(b)}else c=d.reduce((a,b)=>{let c=b.patterns;return c?a.concat(c):a},[]);let f=function(a,b){if("string"!=typeof a)return null;if(!b){let c;for(c=a.length;c>0;c--){let b=a.charCodeAt(c-1);if(47===b||92===b)break}b=a.substr(c)}let d=e.indexOf(b);return -1!==d?c[d]:null};f.basenames=e,f.patterns=c,f.allBasenames=e;let g=a.filter(a=>!a.basenames);return g.push(f),g}},38288:()=>{},38586:(a,b,c)=>{"use strict";c.d(b,{n:()=>C});var d,e=c(25536),f=c(32677),g=c(27503),h=c(88347),i=c(11314),j=c(43589),k=c(29715),l=c(97924),m=c(38041),n=c(22395),o=c(3396),p=c(47341),q=c(60734),r=c(21565),s=c(71373);class t{get dataOffset(){return this._startIndex}get dirtySize(){if(void 0!==this._startIndex&&void 0!==this._endIndex)return this._endIndex-this._startIndex+1}get isDirty(){return void 0!==this._startIndex}flag(a,b=1){return this._flag(a),b>1&&this._flag(a+b-1),a}_flag(a){(void 0===this._startIndex||a<this._startIndex)&&(this._startIndex=a),(void 0===this._endIndex||a>this._endIndex)&&(this._endIndex=a)}clear(){this._startIndex=void 0,this._endIndex=void 0}}class u extends i.jG{get entryCount(){return this._entries.size}get dirtyTracker(){return this._dirtyTracker}constructor(a,b){super(),this.propertySpecs=a,this.capacity=b,this._dirtyTracker=new t,this._propertySpecsMap=new Map,this._entries=new s.w,this._onDidChange=this._register(new q.vl),this._onDidChangeBuffer=this._register(new q.vl),this.onDidChangeBuffer=this._onDidChangeBuffer.event,this.view=new Float32Array(b*a.length),this.buffer=this.view.buffer,this._entrySize=a.length;for(let b=0;b<a.length;b++){let c={offset:b,...a[b]};this._propertySpecsMap.set(c.name,c)}this._register((0,i.s)(()=>(0,i.AS)(this._entries)))}createEntry(a){this._entries.size===this.capacity&&(this._expandBuffer(),this._onDidChangeBuffer.fire());let b=new v(this.view,this._propertySpecsMap,this._dirtyTracker,this._entries.size,a),c=this._entries.push(b),d=[];return d.push(q.Jh.forward(b.onDidChange,this._onDidChange)),d.push(b.onWillDispose(()=>{let a=b.i;for(let b of(c(),this.view.set(this.view.subarray(a*this._entrySize+2,this._entries.size*this._entrySize+2),a*this._entrySize),this._entries))b.i>a&&b.i--;this._dirtyTracker.flag(a,(this._entries.size-a)*this._entrySize),(0,i.AS)(d)})),b}_expandBuffer(){this.capacity*=2;let a=new Float32Array(this.capacity*this._entrySize);a.set(this.view),this.view=a,this.buffer=this.view.buffer}}class v extends i.jG{constructor(a,b,c,d,e){for(let f of(super(),this._view=a,this._propertySpecsMap=b,this._dirtyTracker=c,this.i=d,this._onDidChange=this._register(new q.vl),this.onDidChange=this._onDidChange.event,this._onWillDispose=this._register(new q.vl),this.onWillDispose=this._onWillDispose.event,this._propertySpecsMap.values()))this._view[this.i*this._propertySpecsMap.size+f.offset]=e[f.name];this._dirtyTracker.flag(this.i*this._propertySpecsMap.size,this._propertySpecsMap.size)}dispose(){this._onWillDispose.fire(),super.dispose()}setRaw(a){if(a.length!==this._propertySpecsMap.size)throw Error(`Data length ${a.length} does not match the number of properties in the collection (${this._propertySpecsMap.size})`);this._view.set(a,this.i*this._propertySpecsMap.size),this._dirtyTracker.flag(this.i*this._propertySpecsMap.size,this._propertySpecsMap.size)}}let w=`
|
|
91
91
|
|
|
@@ -572,7 +572,7 @@ ${ey(ep.W.menuSubmenu)}
|
|
|
572
572
|
.monaco-scrollable-element > .scrollbar > .slider.active {
|
|
573
573
|
background: ${f};
|
|
574
574
|
}
|
|
575
|
-
`)}return c}(b,(0,bC.Cl)(a))}styleScrollElement(a,b){let c=b.foregroundColor??"",d=b.backgroundColor??"",e=b.borderColor?`1px solid ${b.borderColor}`:"",f=b.shadowColor?`0 2px 8px ${b.shadowColor}`:"";a.style.outline=e,a.style.borderRadius="5px",a.style.color=c,a.style.backgroundColor=d,a.style.boxShadow=f}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(a){let b=this.focusedItem;this.setFocusedItem(a),b!==this.focusedItem&&this.updateFocus()}setFocusedItem(a){for(let b=0;b<this.actionsList.children.length;b++)if(a===this.actionsList.children[b]){this.focusedItem=b;break}}updateFocus(a){super.updateFocus(a,!0,!0),void 0!==this.focusedItem&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(a,b,c){if(a instanceof ef.wv)return new ex(b.context,a,{icon:!0},this.menuStyles);if(a instanceof ef.YH){let d=new ew(a,a.actions,c,{...b,submenuIds:new Set([...b.submenuIds||[],a.id])},this.menuStyles);if(b.enableMnemonics){let a=d.getMnemonic();if(a&&d.isEnabled()){let b=[];this.mnemonics.has(a)&&(b=this.mnemonics.get(a)),b.push(d),this.mnemonics.set(a,b)}}return d}{let c=b.getKeyBinding?.(a)?.getLabel(),d={enableMnemonics:b.enableMnemonics,useEventAsContext:b.useEventAsContext,keybinding:c},e=new ev(b.context,a,d,this.menuStyles);if(b.enableMnemonics){let a=e.getMnemonic();if(a&&e.isEnabled()){let b=[];this.mnemonics.has(a)&&(b=this.mnemonics.get(a)),b.push(e),this.mnemonics.set(a,b)}}return e}}}class ev extends en.EH{constructor(a,b,c,d){if(super(b,b,c={...c,isMenu:!0,icon:void 0!==c.icon&&c.icon,label:void 0===c.label||c.label}),this.menuStyle=d,this.options=c,this.cssClass="",this.options.label&&c.enableMnemonics){let a=this.action.label;if(a){let b=es.exec(a);b&&(this.mnemonic=(b[1]?b[1]:b[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new aJ.uC(()=>{this.element&&(this._register((0,bC.ko)(this.element,bC.Bx.MOUSE_UP,a=>{(bC.fs.stop(a,!0),ej.gm)?new ei.P((0,bC.zk)(this.element),a).rightButton||this.onClick(a):setTimeout(()=>{this.onClick(a)},0)})),this._register((0,bC.ko)(this.element,bC.Bx.CONTEXT_MENU,a=>{bC.fs.stop(a,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(a){super.render(a),this.element&&(this.container=a,this.item=(0,bC.BC)(this.element,(0,bC.$)("a.action-menu-item")),this._action.id===ef.wv.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,bC.BC)(this.item,(0,bC.$)("span.menu-item-check"+er.L.asCSSSelector(ep.W.menuSelection))),this.check.setAttribute("role","none"),this.label=(0,bC.BC)(this.item,(0,bC.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,bC.BC)(this.item,(0,bC.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(a,b){this.item&&(this.item.setAttribute("aria-posinset",`${a}`),this.item.setAttribute("aria-setsize",`${b}`))}updateLabel(){if(this.label&&this.options.label){(0,bC.w_)(this.label);let a=(0,di.pS)(this.action.label);if(a){let b=function(a){let b=es.exec(a);if(!b)return a;let c=!b[1];return a.replace(es,c?"$2$3":"").trim()}(a);this.options.enableMnemonics||(a=b),this.label.setAttribute("aria-label",b.replace(/&&/g,"&"));let c=es.exec(a);if(c){a=aF.ih(a),et.lastIndex=0;let b=et.exec(a);for(;b&&b[1];)b=et.exec(a);let d=a=>a.replace(/&&/g,"&");b?this.label.append(aF.NB(d(a.substr(0,b.index))," "),(0,bC.$)("u",{"aria-hidden":"true"},b[3]),aF.BO(d(a.substr(b.index+b[0].length))," ")):this.label.textContent=d(a).trim(),this.item?.setAttribute("aria-keyshortcuts",(c[1]?c[1]:c[3]).toLocaleLowerCase())}else this.label.textContent=a.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;let a=this.action.checked;this.item.classList.toggle("checked",!!a),void 0!==a?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",a?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){let a=this.element&&this.element.classList.contains("focused"),b=a&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,c=a&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,d=a&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",e=a&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=b??"",this.item.style.backgroundColor=c??"",this.item.style.outline=d,this.item.style.outlineOffset=e),this.check&&(this.check.style.color=b??"")}}class ew extends ev{constructor(a,b,c,d,e){super(a,a,d,e),this.submenuActions=b,this.parentData=c,this.submenuOptions=d,this.mysubmenu=null,this.submenuDisposables=this._register(new aE.Cm),this.mouseOver=!1,this.expandDirection=d&&void 0!==d.expandDirection?d.expandDirection:{horizontal:ah.Right,vertical:ai.Below},this.showScheduler=new aJ.uC(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new aJ.uC(()=>{this.element&&!(0,bC.QX)((0,bC.bq)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(a){super.render(a),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=(0,bC.BC)(this.item,(0,bC.$)("span.submenu-indicator"+er.L.asCSSSelector(ep.W.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,bC.ko)(this.element,bC.Bx.KEY_UP,a=>{let b=new c6.Z(a);(b.equals(17)||b.equals(3))&&(bC.fs.stop(a,!0),this.createSubmenu(!0))})),this._register((0,bC.ko)(this.element,bC.Bx.KEY_DOWN,a=>{let b=new c6.Z(a);(0,bC.bq)()===this.item&&(b.equals(17)||b.equals(3))&&bC.fs.stop(a,!0)})),this._register((0,bC.ko)(this.element,bC.Bx.MOUSE_OVER,a=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,bC.ko)(this.element,bC.Bx.MOUSE_LEAVE,a=>{this.mouseOver=!1})),this._register((0,bC.ko)(this.element,bC.Bx.FOCUS_OUT,a=>{this.element&&!(0,bC.QX)((0,bC.bq)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(a){bC.fs.stop(a,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(a){if(this.parentData.submenu&&(a||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(a,b,c,d){let e={top:0,left:0};return e.left=c9(a.width,b.width,{position:+(d.horizontal!==ah.Right),offset:c.left,size:c.width}),e.left>=c.left&&e.left<c.left+c.width&&(c.left+10+b.width<=a.width&&(e.left=c.left+10),c.top+=10,c.height=0),e.top=c9(a.height,b.height,{position:0,offset:c.top,size:0}),e.top+b.height===c.top&&e.top+c.height+b.height<=a.height&&(e.top+=c.height),e}createSubmenu(a=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=(0,bC.BC)(this.element,(0,bC.$)("div.monaco-submenu")),this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");let b=parseFloat((0,bC.zk)(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode).paddingTop||"0")||0;this.submenuContainer.style.position="fixed",this.submenuContainer.style.top="0",this.submenuContainer.style.left="0",this.submenuContainer.style.zIndex="1",this.parentData.submenu=new eu(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new ef.HJ],this.submenuOptions,this.menuStyle);let c=this.element.getBoundingClientRect(),d={top:c.top-b,left:c.left,height:c.height+2*b,width:c.width},e=this.submenuContainer.getBoundingClientRect(),f=(0,bC.zk)(this.element),{top:g,left:h}=this.calculateSubmenuMenuLayout(new bC.fg(f.innerWidth,f.innerHeight),bC.fg.lift(e),d,this.expandDirection);this.submenuContainer.style.left=`${h-e.left}px`,this.submenuContainer.style.top=`${g-e.top}px`,this.submenuDisposables.add((0,bC.ko)(this.submenuContainer,bC.Bx.KEY_UP,a=>{new c6.Z(a).equals(15)&&(bC.fs.stop(a,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,bC.ko)(this.submenuContainer,bC.Bx.KEY_DOWN,a=>{new c6.Z(a).equals(15)&&bC.fs.stop(a,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(a),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(a){this.item&&this.item?.setAttribute("aria-expanded",a)}applyStyle(){super.applyStyle();let a=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=a??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class ex extends en.Z4{constructor(a,b,c,d){super(a,b,c),this.menuStyles=d}render(a){super.render(a),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function ey(a){let b=(0,eq.J)()[a.id];return`.codicon-${a.id}:before { content: '\\${b.toString(16)}'; }`}var ez=c(30834);class eA{constructor(a,b,c,d){this.contextViewService=a,this.telemetryService=b,this.notificationService=c,this.keybindingService=d,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(a){this.options=a}showContextMenu(a){let b,c=a.getActions();if(!c.length)return;this.focusToReturn=(0,bC.bq)();let d=(0,bC.sb)(a.domForShadowRoot)?a.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>a.getAnchor(),canRelayout:!1,anchorAlignment:a.anchorAlignment,anchorAxisAlignment:a.anchorAxisAlignment,layer:a.layer,render:d=>{this.lastContainer=d;let e=a.getMenuClassName?a.getMenuClassName():"";e&&(d.className+=" "+e),this.options.blockMouse&&(this.block=d.appendChild((0,bC.$)(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=(0,bC.ko)(this.block,bC.Bx.MOUSE_DOWN,a=>a.stopPropagation()));let f=new aE.Cm,g=a.actionRunner||f.add(new ef.LN);g.onWillRun(b=>this.onActionRun(b,!a.skipTelemetry),this,f),g.onDidRun(this.onDidActionRun,this,f),(b=new eu(d,c,{actionViewItemProvider:a.getActionViewItem,context:a.getActionsContext?a.getActionsContext():null,actionRunner:g,getKeyBinding:a.getKeyBinding?a.getKeyBinding:a=>this.keybindingService.lookupKeybinding(a.id)},ez.XS)).onDidCancel(()=>this.contextViewService.hideContextView(!0),null,f),b.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,f);let h=(0,bC.zk)(d);return f.add((0,bC.ko)(h,bC.Bx.BLUR,()=>this.contextViewService.hideContextView(!0))),f.add((0,bC.ko)(h,bC.Bx.MOUSE_DOWN,a=>{if(a.defaultPrevented)return;let b=new ei.P(h,a),c=b.target;if(!b.rightButton){for(;c;){if(c===d)return;c=c.parentElement}this.contextViewService.hideContextView(!0)}})),(0,aE.qE)(f,b)},focus:()=>{b?.focus(!!a.autoSelectFirstItem)},onHide:b=>{a.onHide?.(!!b),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&((0,bC.bq)()===this.lastContainer||(0,bC.QX)((0,bC.bq)(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},d,!!d)}onActionRun(a,b){b&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:a.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(a){a.error&&!(0,aK.MB)(a.error)&&this.notificationService.error(a.error)}}var eB=function(a,b){return function(c,d){b(c,d,a)}};let eC=class extends aE.jG{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new eA(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(a,b,c,d,e,f){super(),this.telemetryService=a,this.notificationService=b,this.contextViewService=c,this.keybindingService=d,this.menuService=e,this.contextKeyService=f,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new au.vl),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new au.vl),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(a){this.contextMenuHandler.configure(a)}showContextMenu(a){a=aj.transform(a,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...a,onHide:b=>{a.onHide?.(b),this._onDidHideContextMenu.fire()}}),bC.Di.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};eC=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([eB(0,dX.k),eB(1,cu.Ot),eB(2,cT.l),eB(3,cV.b),eB(4,eh.ez),eB(5,cj.fN)],eC),(aj||(aj={})).transform=function(a,b,c){if(!(a&&a.menuId instanceof eh.D8))return a;let{menuId:d,menuActionOptions:e,contextKeyService:f}=a;return{...a,getActions:()=>{let g=[];if(d){let a=b.getMenuActions(d,f??c,e);g=(0,eg.nW)(a)}return a.getActions?ef.wv.join(a.getActions(),g):g}}};var eD=c(34372);!function(a){a[a.API=0]="API",a[a.USER=1]="USER"}(ak||(ak={}));var eE=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},eF=function(a,b){return function(c,d){b(c,d,a)}};let eG=class{constructor(a){this._commandService=a}async open(a,b){if(!(0,aZ.v$)(a,aZ.ny.command))return!1;if(!b?.allowCommands||("string"==typeof a&&(a=aw.r.parse(a)),Array.isArray(b.allowCommands)&&!b.allowCommands.includes(a.path)))return!0;let c=[];try{c=(0,eD.qg)(decodeURIComponent(a.query))}catch{try{c=(0,eD.qg)(a.query)}catch{}}return Array.isArray(c)||(c=[c]),await this._commandService.executeCommand(a.path,...c),!0}};eG=eE([eF(0,dw.d)],eG);let eH=class{constructor(a){this._editorService=a}async open(a,b){"string"==typeof a&&(a=aw.r.parse(a));let{selection:c,uri:d}=(0,cY.ew)(a);return(a=d).scheme===aZ.ny.file&&(a=(0,d$.Fd)(a)),await this._editorService.openCodeEditor({resource:a,options:{selection:c,source:b?.fromUserGesture?ak.USER:ak.API,...b?.editorOptions}},this._editorService.getFocusedCodeEditor(),b?.openToSide),!0}};eH=eE([eF(0,aI.T)],eH);let eI=class{constructor(a,b){this._openers=new cg.w,this._validators=new cg.w,this._resolvers=new cg.w,this._resolvedUriTargets=new dx.fT(a=>a.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new cg.w,this._defaultExternalOpener={openExternal:async a=>((0,aZ.fV)(a,aZ.ny.http,aZ.ny.https)?bC.jh(a):aD.G.location.href=a,!0)},this._openers.push({open:async(a,b)=>!!(b?.openExternal||(0,aZ.fV)(a,aZ.ny.mailto,aZ.ny.http,aZ.ny.https,aZ.ny.vsls))&&(await this._doOpenExternal(a,b),!0)}),this._openers.push(new eG(b)),this._openers.push(new eH(a))}registerOpener(a){return{dispose:this._openers.unshift(a)}}async open(a,b){if(!b?.skipValidation){let c="string"==typeof a?aw.r.parse(a):a,d=this._resolvedUriTargets.get(c)??a;for(let a of this._validators)if(!await a.shouldOpen(d,b))return!1}for(let c of this._openers)if(await c.open(a,b))return!0;return!1}async resolveExternalUri(a,b){for(let c of this._resolvers)try{let d=await c.resolveExternalUri(a,b);if(d)return this._resolvedUriTargets.has(d.resolved)||this._resolvedUriTargets.set(d.resolved,a),d}catch{}throw Error("Could not resolve external URI: "+a.toString())}async _doOpenExternal(a,b){let c,d,e="string"==typeof a?aw.r.parse(a):a;try{c=(await this.resolveExternalUri(e,b)).resolved}catch{c=e}if(d="string"==typeof a&&e.toString()===c.toString()?a:encodeURI(c.toString(!0)),b?.allowContributedOpeners){let a="string"==typeof b?.allowContributedOpeners?b?.allowContributedOpeners:void 0;for(let b of this._externalOpeners)if(await b.openExternal(d,{sourceUri:e,preferredOpenerId:a},at.XO.None))return!0}return this._defaultExternalOpener.openExternal(d,{sourceUri:e},at.XO.None)}dispose(){this._validators.clear()}};eI=eE([eF(0,aI.T),eF(1,dw.d)],eI);var eJ=c(65320),eK=c(55375),eL=c(27499),eM=c(20715),eN=c(16374),eO=function(a,b){return function(c,d){b(c,d,a)}};let eP=class extends aE.jG{constructor(a,b){super(),this._markerService=b,this._onDidChangeMarker=this._register(new au.vl),this._suppressedRanges=new dx.fT,this._markerDecorations=new dx.fT,a.getModels().forEach(a=>this._onModelAdded(a)),this._register(a.onModelAdded(this._onModelAdded,this)),this._register(a.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(a=>a.dispose()),this._markerDecorations.clear()}getMarker(a,b){let c=this._markerDecorations.get(a);return c&&c.getMarker(b)||null}_handleMarkerChange(a){a.forEach(a=>{let b=this._markerDecorations.get(a);b&&this._updateDecorations(b)})}_onModelAdded(a){let b=new eQ(a);this._markerDecorations.set(a.uri,b),this._updateDecorations(b)}_onModelRemoved(a){let b=this._markerDecorations.get(a.uri);b&&(b.dispose(),this._markerDecorations.delete(a.uri)),(a.uri.scheme===aZ.ny.inMemory||a.uri.scheme===aZ.ny.internal||a.uri.scheme===aZ.ny.vscode)&&this._markerService?.read({resource:a.uri}).map(a=>a.owner).forEach(b=>this._markerService.remove(b,[a.uri]))}_updateDecorations(a){let b=this._markerService.read({resource:a.model.uri,take:500}),c=this._suppressedRanges.get(a.model.uri);c&&(b=b.filter(a=>!eN.f.some(c,b=>ay.Q.areIntersectingOrTouching(b,a)))),a.update(b)&&this._onDidChangeMarker.fire(a.model)}};eP=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([eO(0,bv.S),eO(1,eK.DR)],eP);class eQ extends aE.jG{constructor(a){super(),this.model=a,this._map=new dx.cO,this._register((0,aE.s)(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(a){let{added:b,removed:c}=(0,eM.Zv)(new Set(this._map.keys()),new Set(a));if(0===b.length&&0===c.length)return!1;let d=c.map(a=>this._map.get(a)),e=b.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),f=this.model.deltaDecorations(d,e);for(let a of c)this._map.delete(a);for(let a=0;a<f.length;a++)this._map.set(b[a],f[a]);return!0}getMarker(a){return this._map.getKey(a.id)}_createDecorationRange(a,b){let c=ay.Q.lift(b);if(b.severity!==eK.cj.Hint||this._hasMarkerTag(b,1)||this._hasMarkerTag(b,2)||(c=c.setEndPosition(c.startLineNumber,c.startColumn+2)),(c=a.validateRange(c)).isEmpty()){let b=a.getLineLastNonWhitespaceColumn(c.startLineNumber)||a.getLineMaxColumn(c.startLineNumber);if(1===b||c.endColumn>=b)return c;let d=a.getWordAtPosition(c.getStartPosition());d&&(c=new ay.Q(c.startLineNumber,d.startColumn,c.endLineNumber,d.endColumn))}else if(b.endColumn===Number.MAX_VALUE&&1===b.startColumn&&c.startLineNumber===c.endLineNumber){let d=a.getLineFirstNonWhitespaceColumn(b.startLineNumber);d<c.endColumn&&(c=new ay.Q(c.startLineNumber,d,c.endLineNumber,c.endColumn),b.startColumn=d)}return c}_createDecorationOption(a){let b,c,d,e,f;switch(a.severity){case eK.cj.Hint:b=this._hasMarkerTag(a,2)?void 0:this._hasMarkerTag(a,1)?"squiggly-unnecessary":"squiggly-hint",c=0;break;case eK.cj.Info:b="squiggly-info",e=(0,ch.Yf)(eL.AQ),c=10,d={color:(0,ch.Yf)(cR.KoI),position:1};break;case eK.cj.Warning:b="squiggly-warning",e=(0,ch.Yf)(eL.aZ),c=20,d={color:(0,ch.Yf)(cR.uMG),position:1};break;case eK.cj.Error:default:b="squiggly-error",e=(0,ch.Yf)(eL.yI),c=30,d={color:(0,ch.Yf)(cR.yLC),position:1}}return a.tags&&(-1!==a.tags.indexOf(1)&&(f="squiggly-inline-unnecessary"),-1!==a.tags.indexOf(2)&&(f="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:b,showIfCollapsed:!0,overviewRuler:{color:e,position:bT.A5.Right},minimap:d,zIndex:c,inlineClassName:f}}_hasMarkerTag(a,b){return!!a.tags&&a.tags.indexOf(b)>=0}}var eR=c(74786),eS=c(14088),eT=c(93835),eU=c(81040),eV=c(33840),eW=function(a,b){return function(c,d){b(c,d,a)}};function eX(a){return a.toString()}class eY{constructor(a,b,c){this.model=a,this._modelEventListeners=new aE.Cm,this.model=a,this._modelEventListeners.add(a.onWillDispose(()=>b(a))),this._modelEventListeners.add(a.onDidChangeLanguage(b=>c(a,b)))}dispose(){this._modelEventListeners.dispose()}}let eZ=aL.j9||aL.zx?1:2;class e${constructor(a,b,c,d,e,f,g,h){this.uri=a,this.initialUndoRedoSnapshot=b,this.time=c,this.sharesUndoRedoStack=d,this.heapSize=e,this.sha1=f,this.versionId=g,this.alternativeVersionId=h}}let e_=class extends aE.jG{static{al=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=0x1400000}constructor(a,b,c,d){super(),this._configurationService=a,this._resourcePropertiesService=b,this._undoRedoService=c,this._instantiationService=d,this._onModelAdded=this._register(new au.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new au.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new au.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(a=>this._updateModelOptions(a))),this._updateModelOptions(void 0)}static _readModelOptions(a,b){let c=eT.R.tabSize;if(a.editor&&void 0!==a.editor.tabSize){let b=parseInt(a.editor.tabSize,10);isNaN(b)||(c=b),c<1&&(c=1)}let d="tabSize";if(a.editor&&void 0!==a.editor.indentSize&&"tabSize"!==a.editor.indentSize){let b=parseInt(a.editor.indentSize,10);isNaN(b)||(d=Math.max(b,1))}let e=eT.R.insertSpaces;a.editor&&void 0!==a.editor.insertSpaces&&(e="false"!==a.editor.insertSpaces&&!!a.editor.insertSpaces);let f=eZ,g=a.eol;"\r\n"===g?f=2:"\n"===g&&(f=1);let h=eT.R.trimAutoWhitespace;a.editor&&void 0!==a.editor.trimAutoWhitespace&&(h="false"!==a.editor.trimAutoWhitespace&&!!a.editor.trimAutoWhitespace);let i=eT.R.detectIndentation;a.editor&&void 0!==a.editor.detectIndentation&&(i="false"!==a.editor.detectIndentation&&!!a.editor.detectIndentation);let j=eT.R.largeFileOptimizations;a.editor&&void 0!==a.editor.largeFileOptimizations&&(j="false"!==a.editor.largeFileOptimizations&&!!a.editor.largeFileOptimizations);let k=eT.R.bracketPairColorizationOptions;return a.editor?.bracketPairColorization&&"object"==typeof a.editor.bracketPairColorization&&(k={enabled:!!a.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!a.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:b,tabSize:c,indentSize:d,insertSpaces:e,detectIndentation:i,defaultEOL:f,trimAutoWhitespace:h,largeFileOptimizations:j,bracketPairColorizationOptions:k}}_getEOL(a,b){if(a)return this._resourcePropertiesService.getEOL(a,b);let c=this._configurationService.getValue("files.eol",{overrideIdentifier:b});return c&&"string"==typeof c&&"auto"!==c?c:3===aL.OS||2===aL.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){let a=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof a||a}getCreationOptions(a,b,c){let d="string"==typeof a?a:a.languageId,e=this._modelCreationOptionsByLanguageAndResource[d+b];if(!e){let a=this._configurationService.getValue("editor",{overrideIdentifier:d,resource:b}),f=this._getEOL(b,d);e=al._readModelOptions({editor:a,eol:f},c),this._modelCreationOptionsByLanguageAndResource[d+b]=e}return e}_updateModelOptions(a){let b=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let c=Object.keys(this._models);for(let d=0,e=c.length;d<e;d++){let e=c[d],f=this._models[e],g=f.model.getLanguageId(),h=f.model.uri;if(a&&!a.affectsConfiguration("editor",{overrideIdentifier:g,resource:h})&&!a.affectsConfiguration("files.eol",{overrideIdentifier:g,resource:h}))continue;let i=b[g+h],j=this.getCreationOptions(g,h,f.model.isForSimpleWidget);al._setModelOptionsForModel(f.model,j,i)}}static _setModelOptionsForModel(a,b,c){c&&c.defaultEOL!==b.defaultEOL&&1===a.getLineCount()&&a.setEOL(+(1!==b.defaultEOL)),c&&c.detectIndentation===b.detectIndentation&&c.insertSpaces===b.insertSpaces&&c.tabSize===b.tabSize&&c.indentSize===b.indentSize&&c.trimAutoWhitespace===b.trimAutoWhitespace&&(0,dy.aI)(c.bracketPairColorizationOptions,b.bracketPairColorizationOptions)||(b.detectIndentation?(a.detectIndentation(b.insertSpaces,b.tabSize),a.updateOptions({trimAutoWhitespace:b.trimAutoWhitespace,bracketColorizationOptions:b.bracketPairColorizationOptions})):a.updateOptions({insertSpaces:b.insertSpaces,tabSize:b.tabSize,indentSize:b.indentSize,trimAutoWhitespace:b.trimAutoWhitespace,bracketColorizationOptions:b.bracketPairColorizationOptions}))}_insertDisposedModel(a){this._disposedModels.set(eX(a.uri),a),this._disposedModelsHeapSize+=a.heapSize}_removeDisposedModel(a){let b=this._disposedModels.get(eX(a));return b&&(this._disposedModelsHeapSize-=b.heapSize),this._disposedModels.delete(eX(a)),b}_ensureDisposedModelsHeapSize(a){if(this._disposedModelsHeapSize>a){let b=[];for(this._disposedModels.forEach(a=>{a.sharesUndoRedoStack||b.push(a)}),b.sort((a,b)=>a.time-b.time);b.length>0&&this._disposedModelsHeapSize>a;){let a=b.shift();this._removeDisposedModel(a.uri),null!==a.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(a.initialUndoRedoSnapshot)}}}_createModelData(a,b,c,d){let e=this.getCreationOptions(b,c,d),f=this._instantiationService.createInstance(eS.Bz,a,b,e,c);if(c&&this._disposedModels.has(eX(c))){let a=this._removeDisposedModel(c),b=this._undoRedoService.getElements(c),d=this._getSHA1Computer(),e=!!d.canComputeSHA1(f)&&d.computeSHA1(f)===a.sha1;if(e||a.sharesUndoRedoStack){for(let a of b.past)(0,eV.Th)(a)&&a.matchesResource(c)&&a.setModel(f);for(let a of b.future)(0,eV.Th)(a)&&a.matchesResource(c)&&a.setModel(f);this._undoRedoService.setElementsValidFlag(c,!0,a=>(0,eV.Th)(a)&&a.matchesResource(c)),e&&(f._overwriteVersionId(a.versionId),f._overwriteAlternativeVersionId(a.alternativeVersionId),f._overwriteInitialUndoRedoSnapshot(a.initialUndoRedoSnapshot))}else null!==a.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(a.initialUndoRedoSnapshot)}let g=eX(f.uri);if(this._models[g])throw Error("ModelService: Cannot add model because it already exists!");let h=new eY(f,a=>this._onWillDispose(a),(a,b)=>this._onDidChangeLanguage(a,b));return this._models[g]=h,h}createModel(a,b,c,d=!1){let e;return e=b?this._createModelData(a,b,c,d):this._createModelData(a,bR.vH,c,d),this._onModelAdded.fire(e.model),e.model}getModels(){let a=[],b=Object.keys(this._models);for(let c=0,d=b.length;c<d;c++){let d=b[c];a.push(this._models[d].model)}return a}getModel(a){let b=eX(a),c=this._models[b];return c?c.model:null}_schemaShouldMaintainUndoRedoElements(a){return a.scheme===aZ.ny.file||a.scheme===aZ.ny.vscodeRemote||a.scheme===aZ.ny.vscodeUserData||a.scheme===aZ.ny.vscodeNotebookCell||"fake-fs"===a.scheme}_onWillDispose(a){let b=eX(a.uri),c=this._models[b],d=this._undoRedoService.getUriComparisonKey(a.uri)!==a.uri.toString(),e=!1,f=0;if(d||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(a.uri)){let b=this._undoRedoService.getElements(a.uri);if(b.past.length>0||b.future.length>0){for(let c of b.past)(0,eV.Th)(c)&&c.matchesResource(a.uri)&&(e=!0,f+=c.heapSize(a.uri),c.setModel(a.uri));for(let c of b.future)(0,eV.Th)(c)&&c.matchesResource(a.uri)&&(e=!0,f+=c.heapSize(a.uri),c.setModel(a.uri))}}let g=al.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,h=this._getSHA1Computer();if(e)if(d||!(f>g)&&h.canComputeSHA1(a))this._ensureDisposedModelsHeapSize(g-f),this._undoRedoService.setElementsValidFlag(a.uri,!1,b=>(0,eV.Th)(b)&&b.matchesResource(a.uri)),this._insertDisposedModel(new e$(a.uri,c.model.getInitialUndoRedoSnapshot(),Date.now(),d,f,h.computeSHA1(a),a.getVersionId(),a.getAlternativeVersionId()));else{let a=c.model.getInitialUndoRedoSnapshot();null!==a&&this._undoRedoService.restoreSnapshot(a)}else if(!d){let a=c.model.getInitialUndoRedoSnapshot();null!==a&&this._undoRedoService.restoreSnapshot(a)}delete this._models[b],c.dispose(),delete this._modelCreationOptionsByLanguageAndResource[a.getLanguageId()+a.uri],this._onModelRemoved.fire(a)}_onDidChangeLanguage(a,b){let c=b.oldLanguage,d=a.getLanguageId(),e=this.getCreationOptions(c,a.uri,a.isForSimpleWidget),f=this.getCreationOptions(d,a.uri,a.isForSimpleWidget);al._setModelOptionsForModel(a,f,e),this._onModelModeChanged.fire({model:a,oldLanguageId:c})}_getSHA1Computer(){return new e0}};e_=al=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([eW(0,b1.pG),eW(1,bw.J),eW(2,cv.$D),eW(3,cU._Y)],e_);class e0{static{this.MAX_MODEL_SIZE=0xa00000}canComputeSHA1(a){return a.getValueLength()<=e0.MAX_MODEL_SIZE}computeSHA1(a){let b,c=new eU.v7,d=a.createSnapshot();for(;b=d.read();)c.update(b);return c.digest()}}c(33868);var e1=c(75341),e2=c(559),e3=function(a,b){return function(c,d){b(c,d,a)}};let e4=class extends aE.jG{constructor(a,b){super(),this.quickInputService=a,this.instantiationService=b,this.registry=dA.O.as(e1.Fd.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register((0,aE.s)(()=>{for(let a of this.mapProviderToDescriptor.values())(0,aE.Xm)(a)&&a.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(a="",b){this.doShowOrPick(a,!1,b)}doShowOrPick(a,b,c){let d,[e,f]=this.getOrInstantiateProvider(a,c?.enabledProviderPrefixes),g=this.visibleQuickAccess,h=g?.descriptor;if(g&&f&&h===f){a===f.prefix||c?.preserveValue||(g.picker.value=a),this.adjustValueSelection(g.picker,f,c);return}if(f&&!c?.preserveValue){let b;if(g&&h&&h!==f){let a=g.value.substr(h.prefix.length);a&&(b=`${f.prefix}${a}`)}if(!b){let a=e?.defaultFilterValue;a===e1.aJ.LAST?b=this.lastAcceptedPickerValues.get(f):"string"==typeof a&&(b=`${f.prefix}${a}`)}"string"==typeof b&&(a=b)}let i=g?.picker?.valueSelection,j=g?.picker?.value,k=new aE.Cm,l=k.add(this.quickInputService.createQuickPick({useSeparators:!0}));l.value=a,this.adjustValueSelection(l,f,c),l.placeholder=c?.placeholder??f?.placeholder,l.quickNavigate=c?.quickNavigateConfiguration,l.hideInput=!!l.quickNavigate&&!g,("number"==typeof c?.itemActivation||c?.quickNavigateConfiguration)&&(l.itemActivation=c?.itemActivation??e2.C1.SECOND),l.contextKey=f?.contextKey,l.filterValue=a=>a.substring(f?f.prefix.length:0),b&&(d=new aJ.Zv,k.add(au.Jh.once(l.onWillAccept)(a=>{a.veto(),l.hide()}))),k.add(this.registerPickerListeners(l,e,f,a,c));let m=k.add(new at.Qi);if(e&&k.add(e.provide(l,m.token,c?.providerOptions)),au.Jh.once(l.onDidHide)(()=>{0===l.selectedItems.length&&m.cancel(),k.dispose(),d?.complete(l.selectedItems.slice(0))}),l.show(),i&&j===a&&(l.valueSelection=i),b)return d?.p}adjustValueSelection(a,b,c){let d;d=c?.preserveValue?[a.value.length,a.value.length]:[b?.prefix.length??0,a.value.length],a.valueSelection=d}registerPickerListeners(a,b,c,d,e){let f=new aE.Cm,g=this.visibleQuickAccess={picker:a,descriptor:c,value:d};return f.add((0,aE.s)(()=>{g===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),f.add(a.onDidChangeValue(a=>{let[c]=this.getOrInstantiateProvider(a,e?.enabledProviderPrefixes);c!==b?this.show(a,{enabledProviderPrefixes:e?.enabledProviderPrefixes,preserveValue:!0,providerOptions:e?.providerOptions}):g.value=a})),c&&f.add(a.onDidAccept(()=>{this.lastAcceptedPickerValues.set(c,a.value)})),f}getOrInstantiateProvider(a,b){let c=this.registry.getQuickAccessProvider(a);if(!c||b&&!b?.includes(c.prefix))return[void 0,void 0];let d=this.mapProviderToDescriptor.get(c);return d||(d=this.instantiationService.createInstance(c.ctor),this.mapProviderToDescriptor.set(c,d)),[d,c]}};e4=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([e3(0,e2.GK),e3(1,cU._Y)],e4);var e5=c(94505);c(95659);var e6=c(88077),e7=c(67397),e8=c(41022),e9=c(76560),fa=c(53578);class fb{constructor(a){this.nodes=a}toString(){return this.nodes.map(a=>"string"==typeof a?a:a.label).join("")}}!function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);f>3&&g&&Object.defineProperty(b,c,g)}([fa.B],fb.prototype,"toString",null);let fc=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,fd={},fe=new e9.n("quick-input-button-icon-");function ff(a,b,c){let d=a.iconClass||function(a){let b;if(!a)return;let c=a.dark.toString();return fd[c]?b=fd[c]:(b=fe.nextId(),el.Wt(`.${b}, .hc-light .${b}`,`background-image: ${e6.Tf(a.light||a.dark)}`),el.Wt(`.vs-dark .${b}, .hc-black .${b}`,`background-image: ${e6.Tf(a.dark)}`),fd[c]=b),b}(a.iconPath);return a.alwaysVisible&&(d=d?`${d} always-visible`:"always-visible"),{id:b,label:"",tooltip:a.tooltip||"",class:d,enabled:!0,run:c}}var fg=function(a,b){return function(c,d){b(c,d,a)}};let fh="inQuickInput",fi=new cj.N1(fh,!1,(0,a_.kg)(1731,"Whether keyboard focus is inside the quick input control")),fj=cj.M$.has(fh),fk=new cj.N1("quickInputAlignment","top",(0,a_.kg)(1732,"The alignment of the quick input")),fl="quickInputType",fm=new cj.N1(fl,void 0,(0,a_.kg)(1733,"The type of the currently visible quick input")),fn="cursorAtEndOfQuickInputBox",fo=new cj.N1(fn,!1,(0,a_.kg)(1734,"Whether the cursor in the quick input is at the end of the input box")),fp=cj.M$.has(fn),fq={iconClass:er.L.asClassName(ep.W.quickInputBack),tooltip:(0,a_.kg)(1735,"Back"),handle:-1};class fr extends aE.jG{static{this.noPromptMessage=(0,a_.kg)(1736,"Press 'Enter' to confirm your input or 'Escape' to cancel")}constructor(a){super(),this.ui=a,this._visible=(0,ec.FY)("visible",!1),this._widgetUpdated=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=fr.noPromptMessage,this._severity=cs.A.Ignore,this.onDidTriggerButtonEmitter=this._register(new au.vl),this.onDidHideEmitter=this._register(new au.vl),this.onWillHideEmitter=this._register(new au.vl),this.onDisposeEmitter=this._register(new au.vl),this.visibleDisposables=this._register(new aE.Cm),this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(a){this._title=a,this.update()}get description(){return this._description}set description(a){this._description=a,this.update()}get step(){return this._steps}set step(a){this._steps=a,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(a){this._totalSteps=a,this.update()}get enabled(){return this._enabled}set enabled(a){this._enabled=a,this.update()}get contextKey(){return this._contextKey}set contextKey(a){this._contextKey=a,this.update()}get busy(){return this._busy}set busy(a){this._busy=a,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(a){let b=this._ignoreFocusOut!==a&&!aL.un;this._ignoreFocusOut=a&&!aL.un,b&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(a){this._leftButtons=a.filter(a=>a===fq),this._rightButtons=a.filter(a=>a!==fq&&a.location!==e2.dH.Inline),this._inlineButtons=a.filter(a=>a.location===e2.dH.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(a){this._toggles=a??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(a){this._validationMessage=a,this.update()}get severity(){return this._severity}set severity(a){this._severity=a,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(a=>{-1!==this.buttons.indexOf(a)&&this.onDidTriggerButtonEmitter.fire(a)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(a=e2.kF.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:a})}willHide(a=e2.kF.Other){this.onWillHideEmitter.fire({reason:a})}update(){if(!this.visible)return;let a=this.getTitle();a&&this.ui.title.textContent!==a?this.ui.title.textContent=a:a||" "===this.ui.title.innerHTML||(this.ui.title.innerText="\xa0");let b=this.getDescription();if(this.ui.description1.textContent!==b&&(this.ui.description1.textContent=b),this.ui.description2.textContent!==b&&(this.ui.description2.textContent=b),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?bC.Ln(this.ui.widget,this._widget):bC.Ln(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new aJ.pc,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();let a=this._leftButtons.map((a,b)=>ff(a,`id-${b}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.leftActionBar.push(a,{icon:!0,label:!1}),this.ui.rightActionBar.clear();let b=this._rightButtons.map((a,b)=>ff(a,`id-${b}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.rightActionBar.push(b,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();let c=this._inlineButtons.map((a,b)=>ff(a,`id-${b}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.inlineActionBar.push(c,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;let a=this.toggles?.filter(a=>a instanceof e5.lM)??[];this.ui.inputBox.toggles=a}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let c=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==c&&(this._lastValidationMessage=c,bC.Ln(this.ui.message),function(a,b,c){bC.Ln(b);let d=function(a){let b,c=[],d=0;for(;b=fc.exec(a);){b.index-d>0&&c.push(a.substring(d,b.index));let[,e,f,,g]=b;g?c.push({label:e,href:f,title:g}):c.push({label:e,href:f}),d=b.index+b[0].length}return d<a.length&&c.push(a.substring(d)),new fb(c)}(a),e=0;for(let a of d.nodes)if("string"==typeof a)b.append(...(0,e8.n)(a));else{let d=a.title;!d&&a.href.startsWith("command:")?d=(0,a_.kg)(1754,"Click to execute command '{0}'",a.href.substring(8)):d||(d=a.href);let f=bC.$("a",{href:a.href,title:d,tabIndex:e++},a.label);f.style.textDecoration="underline";let g=b=>{bC.sd(b)&&bC.fs.stop(b,!0),c.callback(a.href)},h=c.disposables.add(new e7.f(f,bC.Bx.CLICK)).event,i=c.disposables.add(new e7.f(f,bC.Bx.KEY_DOWN)).event,j=au.Jh.chain(i,a=>a.filter(a=>{let b=new c6.Z(a);return b.equals(10)||b.equals(3)}));c.disposables.add(ek.q.addTarget(f));let k=c.disposables.add(new e7.f(f,ek.B.Tap)).event;au.Jh.any(h,k,j)(g,null,c.disposables),b.appendChild(f)}}(c,this.ui.message,{callback:a=>{this.ui.linkOpenerDelegate(a)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,a_.kg)(1737,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(a){if(this.ui.inputBox.showDecoration(a),a!==cs.A.Ignore){let b=this.ui.inputBox.stylesForType(a);this.ui.message.style.color=b.foreground?`${b.foreground}`:"",this.ui.message.style.backgroundColor=b.background?`${b.background}`:"",this.ui.message.style.border=b.border?`1px solid ${b.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class fs extends fr{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new au.vl),this.onWillAcceptEmitter=this._register(new au.vl),this.onDidAcceptEmitter=this._register(new au.vl),this.onDidCustomEmitter=this._register(new au.vl),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=e2.C1.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new au.vl),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new au.vl),this.onDidTriggerItemButtonEmitter=this._register(new au.vl),this.onDidTriggerSeparatorButtonEmitter=this._register(new au.vl),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new au.at,this.type="quickPick",this.filterValue=a=>a,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}static{this.DEFAULT_ARIA_LABEL=(0,a_.kg)(1738,"Type to narrow down results.")}get quickNavigate(){return this._quickNavigate}set quickNavigate(a){this._quickNavigate=a,this.update()}get value(){return this._value}set value(a){this.doSetValue(a)}doSetValue(a,b){this._value!==a&&(this._value=a,b||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(a){this._ariaLabel=a,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(a){this._placeholder=a,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(a){this.ui.list.scrollTop=a}set items(a){this._items=a,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(a){this._canSelectMany=a,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(a){this._canAcceptInBackground=a}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(a){this._matchOnDescription=a,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(a){this._matchOnDetail=a,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(a){this._matchOnLabel=a,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(a){this._matchOnLabelMode=a,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(a){this._sortByLabel=a,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(a){this._keepScrollPosition=a}get itemActivation(){return this._itemActivation}set itemActivation(a){this._itemActivation=a}get activeItems(){return this._activeItems}set activeItems(a){this._activeItems=a,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(a){this._selectedItems=a,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?e2.Ym:this.ui.keyMods}get valueSelection(){let a=this.ui.inputBox.getSelection();if(a)return[a.start,a.end]}set valueSelection(a){this._valueSelection=a,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(a){this._customButton=a,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(a){this._customButtonLabel=a,this.update()}get customHover(){return this._customButtonHover}set customHover(a){this._customButtonHover=a,this.update()}get ok(){return this._ok}set ok(a){this._ok=a,this.update()}get okLabel(){return this._okLabel??(0,a_.kg)(1739,"OK")}set okLabel(a){this._okLabel=a,this.update()}get hideInput(){return!!this._hideInput}set hideInput(a){this._hideInput=a,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(e2.Fp.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(a=>{this.doSetValue(a,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(a,b)=>b)(a=>{!this.activeItemsUpdated&&(this.activeItemsToConfirm!==this._activeItems&&(0,a$.aI)(a,this._activeItems,(a,b)=>a===b)||(this._activeItems=a,this.onDidChangeActiveEmitter.fire(a)))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:a,event:b})=>{if(this.canSelectMany&&!a.some(a=>!1===a.pickable)){a.length&&this.ui.list.setSelectedElements([]);return}!(this.selectedItemsToConfirm!==this._selectedItems&&(0,a$.aI)(a,this._selectedItems,(a,b)=>a===b))&&(this._selectedItems=a,this.onDidChangeSelectionEmitter.fire(a),a.length&&this.handleAccept(bC.Er(b)&&1===b.button))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(a=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&(0,a$.aI)(a,this._selectedItems,(a,b)=>a===b)||(this._selectedItems=a,this.onDidChangeSelectionEmitter.fire(a)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(a=>this.onDidTriggerItemButtonEmitter.fire(a))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(a=>this.onDidTriggerSeparatorButtonEmitter.fire(a))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(a){let b=!1;this.onWillAcceptEmitter.fire({veto:()=>b=!0}),b||this.onDidAcceptEmitter.fire({inBackground:a})}registerQuickNavigation(){return bC.ko(this.ui.container,bC.Bx.KEY_UP,a=>{if(this.canSelectMany||!this._quickNavigate)return;let b=new c6.Z(a),c=b.keyCode;this._quickNavigate.keybindings.some(a=>{let d=a.getChords();return!(d.length>1)&&(d[0].shiftKey&&4===c?!b.ctrlKey&&!b.altKey&&!b.metaKey:!!d[0].altKey&&6===c||!!d[0].ctrlKey&&5===c||!!d[0].metaKey&&57===c)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let a=this.keepScrollPosition?this.scrollTop:0,b=!!this.description,c={title:!!this.title||!!this.step||!!this.titleButtons.length,description:b,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||b,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(c),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let d=this.ariaLabel;!d&&c.inputBox&&(d=this.placeholder,this.title&&(d=d?`${d} - ${this.title}`:this.title),d||(d=fs.DEFAULT_ARIA_LABEL)),this.ui.list.ariaLabel!==d&&(this.ui.list.ariaLabel=d??null),this.ui.inputBox.ariaLabel!==d&&(this.ui.inputBox.ariaLabel=d??"input"),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case e2.C1.NONE:this._itemActivation=e2.C1.FIRST;break;case e2.C1.SECOND:this.ui.list.focus(e2.Fp.Second),this._itemActivation=e2.C1.FIRST;break;case e2.C1.LAST:this.ui.list.focus(e2.Fp.Last),this._itemActivation=e2.C1.FIRST;break;default:this.trySelectFirst()}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.ok.label=this.okLabel||"",this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",!c.inputBox&&(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(e2.Fp.First)),this.keepScrollPosition&&(this.scrollTop=a)}focus(a){this.ui.list.focus(a),this.canSelectMany&&this.ui.list.domFocus()}accept(a){(!a||this._canAcceptInBackground)&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(a??!1))}}class ft extends fr{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new au.vl),this.onDidAcceptEmitter=this._register(new au.vl),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(a){this._value=a||"",this.update()}get valueSelection(){let a=this.ui.inputBox.getSelection();if(a)return[a.start,a.end]}set valueSelection(a){this._valueSelection=a,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(a){this._placeholder=a,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(a){this._ariaLabel=a,this.update()}get password(){return this._password}set password(a){this._password=a,this.update()}get prompt(){return this._prompt}set prompt(a){this._prompt=a,this.noValidationMessage=a?(0,a_.kg)(1740,"{0} (Press 'Enter' to confirm or 'Escape' to cancel)",a):fr.noPromptMessage,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(a=>{a!==this.value&&(this._value=a,this.onDidValueChangeEmitter.fire(a))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");let a={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(a),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password);let b=this.ariaLabel;!b&&a.inputBox&&(b=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:"input"),this.ui.inputBox.ariaLabel!==b&&(this.ui.inputBox.ariaLabel=b||"input")}}let fu=class extends cS.fO{constructor(a,b){super("mouse",void 0,a=>this.getOverrideOptions(a),a,b)}getOverrideOptions(a){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(bC.sb(a.content)?a.content.textContent??"":"string"==typeof a.content?a.content:a.content.value).includes("\n"),skipFadeInAnimation:!0}}}};fu=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([fg(0,b1.pG),fg(1,cS.TN)],fu);var fv=c(20021),fw=c(26097);c(75507);let fx="done",fy="active",fz="infinite",fA="infinite-long-running",fB="discrete";class fC extends aE.jG{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(a,b){super(),this.progressSignal=this._register(new aE.HE),this.workedVal=0,this.showDelayedScheduler=this._register(new aJ.uC(()=>(0,bC.WU)(this.element),0)),this.longRunningScheduler=this._register(new aJ.uC(()=>this.infiniteLongRunning(),fC.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(a,b)}create(a,b){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),a.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=b?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(fy,fz,fA,fB),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(a){return this.element.classList.add(fx),this.element.classList.contains(fz)?this.bit.style.opacity="0":this.bit.style.width="inherit",a?setTimeout(()=>this.off(),200):this.off(),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(fB,fx,fA),this.element.classList.add(fy,fz),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(fA)}getContainer(){return this.element}}var fD=c(68703);let fE=bC.$;class fF extends aE.jG{constructor(a,b,c){super(),this.parent=a,this.onDidChange=a=>this.findInput.onDidChange(a),this.container=bC.BC(this.parent,fE(".quick-input-box")),this.findInput=this._register(new fD.c(this.container,void 0,{label:"",inputBoxStyles:b,toggleStyles:c}));let d=this.findInput.inputBox.inputElement;d.role="textbox",d.ariaHasPopup="menu",d.ariaAutoComplete="list"}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(a){this.findInput.setValue(a)}select(a=null){this.findInput.inputBox.select(a)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(a){this.findInput.inputBox.setPlaceHolder(a)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(a){this.findInput.inputBox.inputElement.type=a?"password":"text"}set enabled(a){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!a)}set toggles(a){this.findInput.setAdditionalToggles(a)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute("aria-label")||""}set ariaLabel(a){this.findInput.inputBox.inputElement.setAttribute("aria-label",a)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(a,b){this.findInput.inputBox.inputElement.setAttribute(a,b)}removeAttribute(a){this.findInput.inputBox.inputElement.removeAttribute(a)}showDecoration(a){a===cs.A.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:a===cs.A.Info?1:a===cs.A.Warning?2:3,content:""})}stylesForType(a){return this.findInput.inputBox.stylesForType(a===cs.A.Info?1:a===cs.A.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var fG=c(5139),fH=c(19883),fI=c(61327),fJ=c(11628),fK=c(49982);let fL=new fK.d(()=>{let a=fJ.x.Collator(void 0,{numeric:!0,sensitivity:"base"}).value;return{collator:a,collatorIsNumeric:a.resolvedOptions().numeric}});new fK.d(()=>({collator:fJ.x.Collator(void 0,{numeric:!0}).value})),new fK.d(()=>({collator:fJ.x.Collator(void 0,{numeric:!0,sensitivity:"accent"}).value}));var fM=c(20153),fN=c(21367),fO=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},fP=function(a,b){return function(c,d){b(c,d,a)}};let fQ=bC.$;class fR{constructor(a,b,c){this.index=a,this.hasCheckbox=b,this._hidden=!1,this._init=new fK.d(()=>{let a=c.label??"",b=(0,di._k)(a).text.trim(),d=c.ariaLabel||[a,this.saneDescription,this.saneDetail].map(a=>(0,di.R$)(a)).filter(a=>!!a).join(", ");return{saneLabel:a,saneSortLabel:b,saneAriaLabel:d}}),this._saneDescription=c.description,this._saneTooltip=c.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(a){this._element=a}get hidden(){return this._hidden}set hidden(a){this._hidden=a}get saneDescription(){return this._saneDescription}set saneDescription(a){this._saneDescription=a}get saneDetail(){return this._saneDetail}set saneDetail(a){this._saneDetail=a}get saneTooltip(){return this._saneTooltip}set saneTooltip(a){this._saneTooltip=a}get labelHighlights(){return this._labelHighlights}set labelHighlights(a){this._labelHighlights=a}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(a){this._descriptionHighlights=a}get detailHighlights(){return this._detailHighlights}set detailHighlights(a){this._detailHighlights=a}}class fS extends fR{constructor(a,b,c,d,e,f,g){super(a,c,f),this.childIndex=b,this.fireButtonTriggered=d,this._onChecked=e,this.item=f,this._separator=g,this._checked=!1,this.onChecked=c?au.Jh.map(au.Jh.filter(this._onChecked.event,a=>a.element===this),a=>a.checked):au.Jh.None,this._saneDetail=f.detail,this._labelHighlights=f.highlights?.label,this._descriptionHighlights=f.highlights?.description,this._detailHighlights=f.highlights?.detail}get separator(){return this._separator}set separator(a){this._separator=a}get checked(){return this._checked}set checked(a){a!==this._checked&&(this._checked=a,this._onChecked.fire({element:this,checked:a}))}get checkboxDisabled(){return!!this.item.disabled}}!function(a){a[a.NONE=0]="NONE",a[a.MOUSE_HOVER=1]="MOUSE_HOVER",a[a.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(an||(an={}));class fT extends fR{constructor(a,b,c){super(a,!1,c),this.fireSeparatorButtonTriggered=b,this.separator=c,this.children=[],this.focusInsideSeparator=an.NONE}}class fU{getHeight(a){return a instanceof fT?30:a.saneDetail?44:22}getTemplateId(a){return a instanceof fS?fX.ID:fY.ID}}class fV{getWidgetAriaLabel(){return(0,a_.kg)(1753,"Quick Input")}getAriaLabel(a){return a.separator?.label?`${a.saneAriaLabel}, ${a.separator.label}`:a.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(a){return a.hasCheckbox?"checkbox":"option"}isChecked(a){if(a.hasCheckbox&&a instanceof fS)return{get value(){return a.checked},onDidChange:b=>a.onChecked(()=>b())}}}class fW{constructor(a){this.hoverDelegate=a}renderTemplate(a){let b=Object.create(null);b.toDisposeElement=new aE.Cm,b.toDisposeTemplate=new aE.Cm,b.entry=bC.BC(a,fQ(".quick-input-list-entry"));let c=bC.BC(b.entry,fQ("label.quick-input-list-label"));b.outerLabel=c,b.checkbox=b.toDisposeTemplate.add(new aE.HE),b.toDisposeTemplate.add(bC.un(c,bC.Bx.CLICK,a=>{if(b.checkbox.value&&!a.defaultPrevented&&b.checkbox.value.enabled){let a=!b.checkbox.value.checked;b.checkbox.value.checked=a,b.element.checked=a}}));let d=bC.BC(c,fQ(".quick-input-list-rows")),e=bC.BC(d,fQ(".quick-input-list-row")),f=bC.BC(d,fQ(".quick-input-list-row"));b.label=new fG.s(e,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),b.toDisposeTemplate.add(b.label),b.icon=bC.Hs(b.label.element,fQ(".quick-input-list-icon"));let g=bC.BC(e,fQ(".quick-input-list-entry-keybinding"));b.keybinding=new fH.x(g,aL.OS),b.toDisposeTemplate.add(b.keybinding);let h=bC.BC(f,fQ(".quick-input-list-label-meta"));return b.detail=new fG.s(h,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),b.toDisposeTemplate.add(b.detail),b.separator=bC.BC(b.entry,fQ(".quick-input-list-separator")),b.actionBar=new em.E(b.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),b.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),b.toDisposeTemplate.add(b.actionBar),b}disposeTemplate(a){a.toDisposeElement.dispose(),a.toDisposeTemplate.dispose()}disposeElement(a,b,c){c.toDisposeElement.clear(),c.actionBar.clear()}}let fX=class extends fW{static{am=this}static{this.ID="quickpickitem"}constructor(a,b){super(a),this.themeService=b,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return am.ID}ensureCheckbox(a,b){if(!a.hasCheckbox){b.checkbox.value?.domNode.remove(),b.checkbox.clear();return}let c=b.checkbox.value;c?c.setTitle(a.saneLabel):(c=new e5.Sc(a.saneLabel,a.checked,{...ez.$B,size:15}),b.checkbox.value=c,b.outerLabel.prepend(c.domNode)),a.checkboxDisabled?c.disable():c.enable(),c.checked=a.checked,b.toDisposeElement.add(a.onChecked(a=>c.checked=a)),b.toDisposeElement.add(c.onChange(()=>a.checked=c.checked))}renderElement(a,b,c){let d,e=a.element;c.element=e,e.element=c.entry??void 0;let f=e.item;e.element.classList.toggle("not-pickable",!1===e.item.pickable),this.ensureCheckbox(e,c);let{labelHighlights:g,descriptionHighlights:h,detailHighlights:i}=e;if(f.iconPath){let a=(0,fN.HD)(this.themeService.getColorTheme().type)?f.iconPath.dark:f.iconPath.light??f.iconPath.dark,b=aw.r.revive(a);c.icon.className="quick-input-list-icon",c.icon.style.backgroundImage=e6.Tf(b)}else c.icon.style.backgroundImage="",c.icon.className=f.iconClass?`quick-input-list-icon ${f.iconClass}`:"";!e.saneTooltip&&e.saneDescription&&(d={markdown:{value:(0,aF.ih)(e.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:e.saneDescription});let j={matches:g||[],descriptionTitle:d,descriptionMatches:h||[],labelEscapeNewLines:!0};if(j.extraClasses=f.iconClasses,j.italic=f.italic,j.strikethrough=f.strikethrough,c.entry.classList.remove("quick-input-list-separator-as-item"),c.label.setLabel(e.saneLabel,e.saneDescription,j),c.keybinding.set(f.keybinding),e.saneDetail){let a;e.saneTooltip||(a={markdown:{value:(0,aF.ih)(e.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:e.saneDetail}),c.detail.element.style.display="",c.detail.setLabel(e.saneDetail,void 0,{matches:i,title:a,labelEscapeNewLines:!0})}else c.detail.element.style.display="none";e.separator?.label?(c.separator.textContent=e.separator.label,c.separator.style.display="",this.addItemWithSeparator(e)):c.separator.style.display="none",c.entry.classList.toggle("quick-input-list-separator-border",!!e.separator&&0!==e.childIndex);let k=f.buttons;k&&k.length?(c.actionBar.push(k.map((a,b)=>ff(a,`id-${b}`,()=>e.fireButtonTriggered({button:a,item:e.item}))),{icon:!0,label:!1}),c.entry.classList.add("has-actions")):c.entry.classList.remove("has-actions")}disposeElement(a,b,c){this.removeItemWithSeparator(a.element),super.disposeElement(a,b,c)}isItemWithSeparatorVisible(a){return this._itemsWithSeparatorsFrequency.has(a)}addItemWithSeparator(a){this._itemsWithSeparatorsFrequency.set(a,(this._itemsWithSeparatorsFrequency.get(a)||0)+1)}removeItemWithSeparator(a){let b=this._itemsWithSeparatorsFrequency.get(a)||0;b>1?this._itemsWithSeparatorsFrequency.set(a,b-1):this._itemsWithSeparatorsFrequency.delete(a)}};fX=am=fO([fP(1,ch.Gy)],fX);class fY extends fW{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID="quickpickseparator"}get templateId(){return fY.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(a){return this._visibleSeparatorsFrequency.has(a)}renderElement(a,b,c){let d,e=a.element;c.element=e,e.element=c.entry??void 0,e.element.classList.toggle("focus-inside",!!e.focusInsideSeparator);let f=e.separator,{labelHighlights:g,descriptionHighlights:h}=e;c.icon.style.backgroundImage="",c.icon.className="",!e.saneTooltip&&e.saneDescription&&(d={markdown:{value:(0,aF.ih)(e.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:e.saneDescription});let i={matches:g||[],descriptionTitle:d,descriptionMatches:h||[],labelEscapeNewLines:!0};c.entry.classList.add("quick-input-list-separator-as-item"),c.label.setLabel(e.saneLabel,e.saneDescription,i),c.separator.style.display="none",c.entry.classList.add("quick-input-list-separator-border");let j=f.buttons;j&&j.length?(c.actionBar.push(j.map((a,b)=>ff(a,`id-${b}`,()=>e.fireSeparatorButtonTriggered({button:a,separator:e.separator}))),{icon:!0,label:!1}),c.entry.classList.add("has-actions")):c.entry.classList.remove("has-actions"),this.addSeparator(e)}disposeElement(a,b,c){this.removeSeparator(a.element),this.isSeparatorVisible(a.element)||a.element.element?.classList.remove("focus-inside"),super.disposeElement(a,b,c)}addSeparator(a){this._visibleSeparatorsFrequency.set(a,(this._visibleSeparatorsFrequency.get(a)||0)+1)}removeSeparator(a){let b=this._visibleSeparatorsFrequency.get(a)||0;b>1?this._visibleSeparatorsFrequency.set(a,b-1):this._visibleSeparatorsFrequency.delete(a)}}let fZ=class extends aE.jG{constructor(a,b,c,d,e,f){super(),this.parent=a,this.hoverDelegate=b,this.linkOpenerDelegate=c,this.accessibilityService=f,this._onKeyDown=new au.vl,this._onLeave=new au.vl,this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,ec.FY)("VisibleCount",0),this.onChangedVisibleCount=au.Jh.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,ec.FY)("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=au.Jh.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,ec.FY)("CheckedCount",0),this.onChangedCheckedCount=au.Jh.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,ec.Zh)({equalsFn:a$.aI},[]),this.onChangedCheckedElements=au.Jh.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new au.vl,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new au.vl,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new au.vl,this._elementCheckedEventBufferer=new au.at,this._hasCheckboxes=!1,this._inputElements=[],this._elementTree=[],this._itemElements=[],this._elementDisposable=this._register(new aE.Cm),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=bC.BC(this.parent,fQ(".quick-input-list")),this._separatorRenderer=new fY(b),this._itemRenderer=e.createInstance(fX,b),this._tree=this._register(e.createInstance(fM.zL,"QuickInput",this._container,new fU,[this._itemRenderer,this._separatorRenderer],{filter:{filter:a=>a.hidden?0:a instanceof fT?2:1},sorter:{compare:(a,b)=>this.sortByLabel&&this._lastQueryString?function(a,b,c){let d=a.labelHighlights||[],e=b.labelHighlights||[];return d.length&&!e.length?-1:!d.length&&e.length?1:0===d.length&&0===e.length?0:function(a,b,c){let d=a.toLowerCase(),e=b.toLowerCase(),f=function(a,b,c){let d=a.toLowerCase(),e=b.toLowerCase(),f=d.startsWith(c),g=e.startsWith(c);if(f!==g)return f?-1:1;if(f&&g){if(d.length<e.length)return -1;if(d.length>e.length)return 1}return 0}(a,b,c);if(f)return f;let g=d.endsWith(c);if(g!==e.endsWith(c))return g?-1:1;let h=function(a,b,c=!1){let d=a||"",e=b||"",f=fL.value.collator.compare(d,e);return fL.value.collatorIsNumeric&&0===f&&d!==e?d<e?-1:1:f}(d,e);return 0!==h?h:d.localeCompare(e)}(a.saneSortLabel,b.saneSortLabel,c)}(a,b,this._lastQueryString.toLowerCase()):0},accessibilityProvider:new fV,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:fI.KP.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=d,this._registerListeners()}get onDidChangeFocus(){return au.Jh.map(this._tree.onDidChangeFocus,a=>a.elements.filter(a=>a instanceof fS).map(a=>a.item),this._store)}get onDidChangeSelection(){return au.Jh.map(this._tree.onDidChangeSelection,a=>({items:a.elements.filter(a=>a instanceof fS).map(a=>a.item),event:a.browserEvent}),this._store)}get displayed(){return"none"!==this._container.style.display}set displayed(a){this._container.style.display=a?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(a){this._tree.scrollTop=a}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(a){this._tree.ariaLabel=a??""}set enabled(a){this._tree.getHTMLElement().style.pointerEvents=a?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(a){this._matchOnDescription=a}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(a){this._matchOnDetail=a}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(a){this._matchOnLabel=a}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(a){this._matchOnLabelMode=a}get sortByLabel(){return this._sortByLabel}set sortByLabel(a){this._sortByLabel=a}get shouldLoop(){return this._shouldLoop}set shouldLoop(a){this._shouldLoop=a}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(a=>{let b=new c6.Z(a);10===b.keyCode&&this.toggleCheckbox(),this._onKeyDown.fire(b)}))}_registerOnContainerClick(){this._register(bC.ko(this._container,bC.Bx.CLICK,a=>{(a.x||a.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(bC.ko(this._container,bC.Bx.AUXCLICK,a=>{1===a.button&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{let a=this._itemElements.filter(a=>!a.hidden).length;this._visibleCountObservable.set(a,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(a,b)=>b)(a=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(a=>{a.element&&(a.browserEvent.preventDefault(),this._tree.setSelection([a.element]))}))}_registerHoverListeners(){let a=this._register(new aJ.Th("function"==typeof this.hoverDelegate.delay?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async b=>{if(bC.nY(b.browserEvent.target))return void a.cancel();if(!(!bC.nY(b.browserEvent.relatedTarget)&&bC.QX(b.browserEvent.relatedTarget,b.element?.element)))try{await a.trigger(async()=>{b.element instanceof fS&&this.showHover(b.element)})}catch(a){if(!(0,aK.MB)(a))throw a}})),this._register(this._tree.onMouseOut(b=>{bC.QX(b.browserEvent.relatedTarget,b.element?.element)||a.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(a=>{let b=a.elements[0]?this._tree.getParentElement(a.elements[0]):null;for(let a of this._separatorRenderer.visibleSeparators){let c=a===b;!!(a.focusInsideSeparator&an.ACTIVE_ITEM)!==c&&(c?a.focusInsideSeparator|=an.ACTIVE_ITEM:a.focusInsideSeparator&=~an.ACTIVE_ITEM,this._tree.rerender(a))}})),this._register(this._tree.onMouseOver(a=>{let b=a.element?this._tree.getParentElement(a.element):null;for(let a of this._separatorRenderer.visibleSeparators)a===b&&(a.focusInsideSeparator&an.MOUSE_HOVER||(a.focusInsideSeparator|=an.MOUSE_HOVER,this._tree.rerender(a)))})),this._register(this._tree.onMouseOut(a=>{let b=a.element?this._tree.getParentElement(a.element):null;for(let a of this._separatorRenderer.visibleSeparators)a===b&&a.focusInsideSeparator&an.MOUSE_HOVER&&(a.focusInsideSeparator&=~an.MOUSE_HOVER,this._tree.rerender(a))}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(a=>{let b=a.elements.filter(a=>a instanceof fS);b.length!==a.elements.length&&(1===a.elements.length&&a.elements[0]instanceof fT&&(this._tree.setFocus([a.elements[0].children[0]]),this._tree.reveal(a.elements[0],0)),this._tree.setSelection(b))}))}setAllVisibleChecked(a){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(b=>{b.hidden||b.checkboxDisabled||!1===b.item.pickable||(b.checked=a)})})}setElements(a){let b;this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=a,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes"),this._itemElements=[],this._elementTree=a.reduce((c,d,e)=>{let f;if("separator"===d.type){if(!d.buttons)return c;f=b=new fT(e,a=>this._onSeparatorButtonTriggered.fire(a),d)}else{let g,h=e>0?a[e-1]:void 0;h&&"separator"===h.type&&!h.buttons&&(g=h);let i=new fS(e,b?.children?b.children.length:e,this._hasCheckboxes&&!1!==d.pickable,a=>this._onButtonTriggered.fire(a),this._elementChecked,d,g);if(this._itemElements.push(i),b)return b.children.push(i),c;f=i}return c.push(f),c},[]),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{let a=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),b=a?.parentNode;if(a&&b){let c=a.nextSibling;a.remove(),b.insertBefore(a,c)}},0)}setFocusedElements(a){let b=a.map(a=>this._itemElements.find(b=>b.item===a)).filter(a=>!!a).filter(a=>!a.hidden);if(this._tree.setFocus(b),a.length>0){let a=this._tree.getFocus()[0];a&&this._tree.reveal(a)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(a){let b=a.map(a=>this._itemElements.find(b=>b.item===a)).filter(a=>!!a);this._tree.setSelection(b)}getCheckedElements(){return this._itemElements.filter(a=>a.checked).map(a=>a.item)}setCheckedElements(a){this._elementCheckedEventBufferer.bufferEvents(()=>{let b=new Set;for(let c of a)b.add(c);for(let a of this._itemElements)a.checked=b.has(a.item)})}focus(a){if(this._itemElements.length)switch(a===e2.Fp.Second&&this._itemElements.length<2&&(a=e2.Fp.First),a){case e2.Fp.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,a=>a.element instanceof fS);break;case e2.Fp.Second:{this._tree.scrollTop=0;let a=!1;this._tree.focusFirst(void 0,b=>b.element instanceof fS&&(!!a||(a=!a,!1)));break}case e2.Fp.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,a=>a.element instanceof fS);break;case e2.Fp.Next:{let a=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,a=>a.element instanceof fS&&(this._tree.reveal(a.element),!0));let b=this._tree.getFocus();a.length&&a[0]===b[0]&&this._onLeave.fire();break}case e2.Fp.Previous:{let a=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,a=>{if(!(a.element instanceof fS))return!1;let b=this._tree.getParentElement(a.element);return null===b||b.children[0]!==a.element?this._tree.reveal(a.element):this._tree.reveal(b),!0});let b=this._tree.getFocus();a.length&&a[0]===b[0]&&this._onLeave.fire();break}case e2.Fp.NextPage:this._tree.focusNextPage(void 0,a=>a.element instanceof fS&&(this._tree.reveal(a.element),!0));break;case e2.Fp.PreviousPage:this._tree.focusPreviousPage(void 0,a=>{if(!(a.element instanceof fS))return!1;let b=this._tree.getParentElement(a.element);return null===b||b.children[0]!==a.element?this._tree.reveal(a.element):this._tree.reveal(b),!0});break;case e2.Fp.NextSeparator:{let a=!1,b=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,b=>{if(a)return!0;if(b.element instanceof fT)a=!0,this._separatorRenderer.isSeparatorVisible(b.element)?this._tree.reveal(b.element.children[0]):this._tree.reveal(b.element,0);else if(b.element instanceof fS){if(b.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(b.element)?this._tree.reveal(b.element):this._tree.reveal(b.element,0),!0;else if(b.element===this._elementTree[0])return this._tree.reveal(b.element,0),!0}return!1}),b===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,a=>a.element instanceof fS));break}case e2.Fp.PreviousSeparator:{let a,b=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,c=>{if(c.element instanceof fT)b?a||(this._separatorRenderer.isSeparatorVisible(c.element)?this._tree.reveal(c.element):this._tree.reveal(c.element,0),a=c.element.children[0]):b=!0;else if(c.element instanceof fS&&!a){if(c.element.separator)this._itemRenderer.isItemWithSeparatorVisible(c.element)?this._tree.reveal(c.element):this._tree.reveal(c.element,0),a=c.element;else if(c.element===this._elementTree[0])return this._tree.reveal(c.element,0),!0}return!1}),a&&this._tree.setFocus([a])}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(a){this._tree.getHTMLElement().style.maxHeight=a?`${44*Math.floor(a/44)+6}px`:"",this._tree.layout()}filter(a){if(this._lastQueryString=a,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;let b=a;if((a=a.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let c;this._itemElements.forEach(d=>{let e;e="fuzzy"===this.matchOnLabelMode?this.matchOnLabel?(0,di.pz)(a,(0,di._k)(d.saneLabel))??void 0:void 0:this.matchOnLabel?function(a,b){let{text:c,iconOffsets:d}=b;if(!d||0===d.length)return f$(a,c);let e=(0,aF.NB)(c," "),f=c.length-e.length,g=f$(a,e);if(g)for(let a of g){let b=d[a.start+f]+f;a.start+=b,a.end+=b}return g}(b,(0,di._k)(d.saneLabel))??void 0:void 0;let f=this.matchOnDescription?(0,di.pz)(a,(0,di._k)(d.saneDescription||""))??void 0:void 0,g=this.matchOnDetail?(0,di.pz)(a,(0,di._k)(d.saneDetail||""))??void 0:void 0;if(e||f||g?(d.labelHighlights=e,d.descriptionHighlights=f,d.detailHighlights=g,d.hidden=!1):(d.labelHighlights=void 0,d.descriptionHighlights=void 0,d.detailHighlights=void 0,d.hidden=!d.item||!d.item.alwaysShow),d.item?d.separator=void 0:d.separator&&(d.hidden=!0),!this.sortByLabel){let a=d.index&&this._inputElements[d.index-1]||void 0;a?.type!=="separator"||a.buttons||(c=a),c&&!d.hidden&&(d.separator=c,c=void 0)}})}else this._itemElements.forEach(a=>{a.labelHighlights=void 0,a.descriptionHighlights=void 0,a.detailHighlights=void 0,a.hidden=!1;let b=a.index&&this._inputElements[a.index-1];a.item&&(a.separator=b&&"separator"===b.type&&!b.buttons?b:void 0)});return this._setElementsToTree(this._sortByLabel&&a?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{let a=this._tree.getFocus().filter(a=>a instanceof fS),b=this._allVisibleChecked(a);for(let c of a)c.checkboxDisabled||(c.checked=!b)})}style(a){this._tree.style(a)}toggleHover(){let a=this._tree.getFocus()[0];if(!a?.saneTooltip||!(a instanceof fS))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(a);let b=new aE.Cm;b.add(this._tree.onDidChangeFocus(a=>{a.elements[0]instanceof fS&&this.showHover(a.elements[0])})),this._lastHover&&b.add(this._lastHover),this._elementDisposable.add(b)}_setElementsToTree(a){let b=[];for(let c of a)c instanceof fT?b.push({element:c,collapsible:!1,collapsed:!1,children:c.children.map(a=>({element:a,collapsible:!1,collapsed:!1}))}):b.push({element:c,collapsible:!1,collapsed:!1});this._tree.setChildren(null,b)}_allVisibleChecked(a,b=!0){for(let c=0,d=a.length;c<d;c++){let d=a[c];if(!d.hidden&&!1!==d.item.pickable)if(!d.checked)return!1;else b=!0}return b}_updateCheckedObservables(){(0,ec.Rn)(a=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),a);let b=this._itemElements.filter(a=>a.checked).length;this._checkedCountObservable.set(b,a),this._checkedElementsObservable.set(this.getCheckedElements(),a)})}showHover(a){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),a.element&&a.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:a.saneTooltip,target:a.element,linkHandler:a=>{this.linkOpenerDelegate(a)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function f$(a,b){let c=b.toLowerCase().indexOf(a.toLowerCase());return -1!==c?[{start:c,end:c+a.length}]:null}fO([fa.B],fZ.prototype,"onDidChangeFocus",null),fO([fa.B],fZ.prototype,"onDidChangeSelection",null),fZ=fO([fP(4,cU._Y),fP(5,c_.j)],fZ);var f_=c(79854);function f0(a,b={}){dg.f.registerCommandAndKeybindingRule({weight:200,when:cj.M$.and(cj.M$.or(cj.M$.equals(fl,"quickPick"),cj.M$.equals(fl,"quickTree")),fj),metadata:{description:(0,a_.kg)(1742,"Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},...a,secondary:f2(a.primary,a.secondary??[],b)})}let f1=aL.zx?256:2048;function f2(a,b,c={}){return c.withAltMod&&b.push(512+a),c.withCtrlMod&&(b.push(f1+a),c.withAltMod&&b.push(512+f1+a)),c.withCmdMod&&aL.zx&&(b.push(2048+a),c.withCtrlMod&&b.push(2304+a),c.withAltMod&&(b.push(2560+a),c.withCtrlMod&&b.push(2816+a))),b}function f3(a,b){return c=>{let d=c.get(e2.GK).currentQuickInput;if(d)return b&&d.quickNavigate?d.focus(b):d.focus(a)}}f0({id:"quickInput.pageNext",primary:12,handler:f3(e2.Fp.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),f0({id:"quickInput.pagePrevious",primary:11,handler:f3(e2.Fp.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),f0({id:"quickInput.first",primary:f1+14,handler:f3(e2.Fp.First)},{withAltMod:!0,withCmdMod:!0}),f0({id:"quickInput.last",primary:f1+13,handler:f3(e2.Fp.Last)},{withAltMod:!0,withCmdMod:!0}),f0({id:"quickInput.next",primary:18,handler:f3(e2.Fp.Next)},{withCtrlMod:!0}),f0({id:"quickInput.previous",primary:16,handler:f3(e2.Fp.Previous)},{withCtrlMod:!0});let f4=(0,a_.kg)(1743,"If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),f5=(0,a_.kg)(1744,"If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");aL.zx?(f0({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:f3(e2.Fp.NextSeparator,e2.Fp.Next),metadata:{description:f4}}),f0({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:f3(e2.Fp.NextSeparator)},{withCtrlMod:!0}),f0({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:f3(e2.Fp.PreviousSeparator,e2.Fp.Previous),metadata:{description:f5}}),f0({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:f3(e2.Fp.PreviousSeparator)},{withCtrlMod:!0})):(f0({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:f3(e2.Fp.NextSeparator,e2.Fp.Next),metadata:{description:f4}}),f0({id:"quickInput.nextSeparator",primary:2578,handler:f3(e2.Fp.NextSeparator)}),f0({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:f3(e2.Fp.PreviousSeparator,e2.Fp.Previous),metadata:{description:f5}}),f0({id:"quickInput.previousSeparator",primary:2576,handler:f3(e2.Fp.PreviousSeparator)})),dg.f.registerCommandAndKeybindingRule({id:"quickInput.accept",primary:3,weight:200,when:cj.M$.and(cj.M$.notEquals(fl,"quickWidget"),fj),metadata:{description:(0,a_.kg)(1745,"Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},handler:a=>{let b=a.get(e2.GK).currentQuickInput;b?.accept()},secondary:f2(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0})}),f0({id:"quickInput.acceptInBackground",when:cj.M$.and(fj,cj.M$.equals(fl,"quickPick"),cj.M$.or(f_.J7.negate(),fp)),primary:17,weight:250,handler:a=>{let b=a.get(e2.GK).currentQuickInput;b?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),function(a,b={}){dg.f.registerCommandAndKeybindingRule({weight:200,when:fj,metadata:{description:(0,a_.kg)(1741,"Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},...a,secondary:f2(a.primary,a.secondary??[],b)})}({id:"quickInput.hide",primary:9,handler:a=>{let b=a.get(e2.GK).currentQuickInput;b?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),f0({id:"quickInput.toggleHover",primary:10|f1,handler:a=>{a.get(e2.GK).toggleHover()}});var f6=c(21899),f7=c(39775);let f8=bC.$,f9=class extends aE.jG{static{ao=this}static{this.ID="quickInputTreeElement"}constructor(a,b,c,d){super(),this._hoverDelegate=a,this._buttonTriggeredEmitter=b,this.onCheckedEvent=c,this._themeService=d,this.templateId=ao.ID}renderTemplate(a){let b=new aE.Cm,c=bC.BC(a,f8(".quick-input-tree-entry")),d=b.add(new e5.kk("",!1,{...ez.$B,size:15}));c.appendChild(d.domNode);let e=bC.BC(c,f8("label.quick-input-tree-label")),f=bC.BC(e,f8(".quick-input-tree-rows")),g=bC.BC(f,f8(".quick-input-tree-row")),h=bC.Hs(g,f8(".quick-input-tree-icon")),i=b.add(new fG.s(g,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),j=b.add(new em.E(c,this._hoverDelegate?{hoverDelegate:this._hoverDelegate}:void 0));return j.domNode.classList.add("quick-input-tree-entry-action-bar"),{toDisposeTemplate:b,entry:c,checkbox:d,icon:h,label:i,actionBar:j,toDisposeElement:new aE.Cm}}renderElement(a,b,c,d){let e,f=c.toDisposeElement,g=a.element;if(!1===g.pickable?c.checkbox.domNode.style.display="none":(c.checkbox.domNode.style.display="",c.checkbox.checked=g.checked??!1,f.add(au.Jh.filter(this.onCheckedEvent,a=>a.item===g)(a=>c.checkbox.checked=a.checked)),g.disabled&&c.checkbox.disable()),g.iconPath){let a=(0,fN.HD)(this._themeService.getColorTheme().type)?g.iconPath.dark:g.iconPath.light??g.iconPath.dark,b=aw.r.revive(a);c.icon.className="quick-input-tree-icon",c.icon.style.backgroundImage=e6.Tf(b)}else c.icon.style.backgroundImage="",c.icon.className=g.iconClass?`quick-input-tree-icon ${g.iconClass}`:"";let{labelHighlights:h,descriptionHighlights:i}=a.filterData||{};g.description&&(e={markdown:{value:(0,aF.ih)(g.description),supportThemeIcons:!0},markdownNotSupportedFallback:g.description}),c.label.setLabel(g.label,g.description,{matches:h,descriptionMatches:i,extraClasses:g.iconClasses,italic:g.italic,strikethrough:g.strikethrough,labelEscapeNewLines:!0,descriptionTitle:e});let j=g.buttons;j&&j.length?(c.actionBar.push(j.map((a,b)=>ff(a,`tree-${b}`,()=>this._buttonTriggeredEmitter.fire({item:g,button:a}))),{icon:!0,label:!1}),c.entry.classList.add("has-actions")):c.entry.classList.remove("has-actions")}disposeElement(a,b,c,d){c.toDisposeElement.clear(),c.actionBar.clear()}disposeTemplate(a){a.toDisposeElement.dispose(),a.toDisposeTemplate.dispose()}};f9=ao=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(h=ch.Gy,function(a,b){h(a,b,3)})],f9);class ga{getHeight(a){return 22}getTemplateId(a){return f9.ID}}class gb{constructor(a){this.onCheckedEvent=a}getWidgetAriaLabel(){return(0,a_.kg)(1755,"Quick Tree")}getAriaLabel(a){return a.ariaLabel||[a.label,a.description].map(a=>(0,di.R$)(a)).filter(a=>!!a).join(", ")}getWidgetRole(){return"tree"}getRole(a){return"checkbox"}isChecked(a){return{get value(){return!0===a.checked},onDidChange:b=>au.Jh.filter(this.onCheckedEvent,b=>b.item===a)(a=>b())}}}class gc{constructor(){this.filterValue="",this.matchOnLabel=!0,this.matchOnDescription=!1}filter(a,b){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return a.children?{visibility:2,data:{}}:{visibility:1,data:{}};let c=this.matchOnLabel?(0,di.pz)(this.filterValue,(0,di._k)(a.label))??void 0:void 0,d=this.matchOnDescription?(0,di.pz)(this.filterValue,(0,di._k)(a.description||""))??void 0:void 0;return{visibility:1===b||c||d?1:2*!!a.children,data:{labelHighlights:c,descriptionHighlights:d}}}}let gd=bC.$,ge=class extends aE.jG{constructor(a,b,c){super(),this.instantiationService=c,this._onDidTriggerButton=this._register(new au.vl),this._onDidChangeCheckboxState=this._register(new au.vl),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new au.vl),this._onLeave=new au.vl,this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new au.vl),this.onDidAccept=this._onDidAccept.event,this._container=bC.BC(a,gd(".quick-input-tree")),this._renderer=this._register(this.instantiationService.createInstance(f9,b,this._onDidTriggerButton,this.onDidChangeCheckboxState)),this._filter=this.instantiationService.createInstance(gc),this._tree=this._register(this.instantiationService.createInstance(fM.zL,"QuickInputTree",this._container,new ga,[this._renderer],{accessibilityProvider:new gb(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:fI.KP.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:{compare:(a,b)=>{if(a.label<b.label)return -1;if(a.label>b.label)return 1;if(a.description&&b.description){if(a.description<b.description)return -1;else if(a.description>b.description)return 1}else if(a.description)return -1;else if(b.description)return 1;return 0}},filter:this._filter})),this.registerOnOpenListener()}get tree(){return this._tree}get displayed(){return"none"!==this._container.style.display}set displayed(a){this._container.style.display=a?"":"none"}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}layout(a){this._tree.getHTMLElement().style.maxHeight=a?`${44*Math.floor(a/44)+6}px`:"",this._tree.layout()}registerOnOpenListener(){this._register(this._tree.onDidOpen(a=>{let b=a.element;if(!b||b.disabled)return;if(!1===b.pickable){this._tree.setFocus([b]),this._onDidAccept.fire();return}let c=!0!==b.checked;if((b.checked??!1)===c)return;b.checked=c,this._tree.rerender(b);let d=new Set,e=[...this._tree.getNode(b).children];for(;e.length;){let a=e.shift();a?.element&&!d.has(a.element)&&(d.add(a.element),(a.element.checked??!1)!==b.checked&&(a.element.checked=b.checked,this._tree.rerender(a.element)),e.push(...a.children))}let f=this._tree.getParentElement(b);for(;f;){let a=function(a){let b=!1,c=!1,d=!1;for(let e of a){switch(e.element?.checked){case"partial":d=!0;break;case!0:b=!0;break;default:c=!0}if(b&&c&&d)break}return c?d?"partial":!!b&&"partial":d?"partial":b}([...this._tree.getNode(f).children]);(f.checked??!1)!==a&&(f.checked=a,this._tree.rerender(f)),f=this._tree.getParentElement(f)}this._onDidChangeCheckboxState.fire({item:b,checked:b.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}))}getCheckedLeafItems(){let a=new Set,b=[...this._tree.getNode().children],c=[];for(;b.length;){let d=b.shift();!(!d?.element||a.has(d.element))&&d.element.checked&&(a.add(d.element),b.push(...d.children),d.element.children||c.push(d.element))}return c}};ge=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(i=cU._Y,function(a,b){i(a,b,2)})],ge);var gf=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},gg=function(a,b){return function(c,d){b(c,d,a)}};let gh=bC.$,gi="workbench.quickInput.viewState",gj=class extends aE.jG{static{ap=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(a,b,c,d,e){super(),this.options=a,this.layoutService=b,this.instantiationService=c,this.storageService=e,this.enabled=!0,this.onDidAcceptEmitter=this._register(new au.vl),this.onDidCustomEmitter=this._register(new au.vl),this.onDidTriggerButtonEmitter=this._register(new au.vl),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new au.vl),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new au.vl),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=fi.bindTo(d),this.quickInputTypeContext=fm.bindTo(d),this.endOfQuickInputBoxContext=fo.bindTo(d),this.idPrefix=a.idPrefix,this._container=a.container,this.styles=a.styles,this._register(au.Jh.runAndSubscribe(bC.Iv,({window:a,disposables:b})=>this.registerKeyModsListeners(a,b),{window:aD.G,disposables:this._store})),this._register(bC.q3(a=>{this.ui&&bC.zk(this.ui.container)===a&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})),this.viewState=this.loadViewState()}registerKeyModsListeners(a,b){let c=a=>{this.keyMods.ctrlCmd=a.ctrlKey||a.metaKey,this.keyMods.alt=a.altKey};for(let d of[bC.Bx.KEY_DOWN,bC.Bx.KEY_UP,bC.Bx.MOUSE_DOWN])b.add(bC.ko(a,d,c,!0))}getUI(a){if(this.ui)return a&&bC.zk(this._container)!==bC.zk(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;let b=bC.BC(this._container,gh(".quick-input-widget.show-file-icons"));b.tabIndex=-1,b.style.display="none";let c=el.li(b),d=bC.BC(b,gh(".quick-input-titlebar")),e=this._register(new em.E(d,{hoverDelegate:this.options.hoverDelegate}));e.domNode.classList.add("quick-input-left-action-bar");let f=bC.BC(d,gh(".quick-input-title")),g=this._register(new em.E(d,{hoverDelegate:this.options.hoverDelegate}));g.domNode.classList.add("quick-input-right-action-bar");let h=bC.BC(b,gh(".quick-input-header")),i=this._register(new e5.kk((0,a_.kg)(1746,"Toggle all checkboxes"),!1,{...ez.$B,size:15}));bC.BC(h,i.domNode),this._register(i.onChange(()=>{let a=i.checked;B.setAllVisibleChecked(!0===a)})),this._register(bC.ko(i.domNode,bC.Bx.CLICK,a=>{(a.x||a.y)&&m.setFocus()}));let j=bC.BC(h,gh(".quick-input-description")),k=bC.BC(h,gh(".quick-input-and-message")),l=bC.BC(k,gh(".quick-input-filter")),m=this._register(new fF(l,this.styles.inputBox,this.styles.toggle));m.setAttribute("aria-describedby",`${this.idPrefix}message`);let n=bC.BC(l,gh(".quick-input-visible-count"));n.setAttribute("aria-live","polite"),n.setAttribute("aria-atomic","true");let o=this._register(new fw.x(n,{countFormat:(0,a_.kg)(1747,"{0} Results")},this.styles.countBadge)),p=bC.BC(l,gh(".quick-input-count"));p.setAttribute("aria-live","polite");let q=this._register(new fw.x(p,{countFormat:(0,a_.kg)(1748,"{0} Selected")},this.styles.countBadge)),r=this._register(new em.E(h,{hoverDelegate:this.options.hoverDelegate}));r.domNode.classList.add("quick-input-inline-action-bar");let s=bC.BC(h,gh(".quick-input-action")),t=this._register(new fv.$(s,this.styles.button));t.label=(0,a_.kg)(1749,"OK"),this._register(t.onDidClick(a=>{this.onDidAcceptEmitter.fire()}));let u=bC.BC(h,gh(".quick-input-action")),v=this._register(new fv.$(u,{...this.styles.button,supportIcons:!0}));v.label=(0,a_.kg)(1750,"Custom"),this._register(v.onDidClick(a=>{this.onDidCustomEmitter.fire()}));let w=bC.BC(k,gh(`#${this.idPrefix}message.quick-input-message`)),x=this._register(new fC(b,this.styles.progressBar));x.getContainer().classList.add("quick-input-progress");let y=bC.BC(b,gh(".quick-input-html-widget"));y.tabIndex=-1;let z=bC.BC(b,gh(".quick-input-description")),A=this.idPrefix+"list",B=this._register(this.instantiationService.createInstance(fZ,b,this.options.hoverDelegate,this.options.linkOpenerDelegate,A));m.setAttribute("aria-controls",A),this._register(B.onDidChangeFocus(()=>{m.hasFocus()&&m.setAttribute("aria-activedescendant",B.getActiveDescendant()??"")})),this._register(B.onChangedAllVisibleChecked(a=>{i.checked=a})),this._register(B.onChangedVisibleCount(a=>{o.setCount(a)})),this._register(B.onChangedCheckedCount(a=>{q.setCount(a)})),this._register(B.onLeave(()=>{setTimeout(()=>{this.controller&&(m.setFocus(),this.controller instanceof fs&&this.controller.canSelectMany&&B.clearFocus())},0)}));let C=this._register(this.instantiationService.createInstance(ge,b,this.options.hoverDelegate));this._register(C.tree.onDidChangeFocus(()=>{m.hasFocus()&&m.setAttribute("aria-activedescendant",C.getActiveDescendant()??"")})),this._register(C.onLeave(()=>{setTimeout(()=>{this.controller&&(m.setFocus(),C.tree.setFocus([]))},0)})),this._register(C.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(C.tree.onDidChangeContentHeight(()=>this.updateLayout()));let D=bC.w5(b);return this._register(D),this._register(bC.ko(b,bC.Bx.FOCUS,a=>{let b=this.getUI();if(bC.QX(a.relatedTarget,b.inputContainer)){let a=b.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==a&&this.endOfQuickInputBoxContext.set(a)}bC.QX(a.relatedTarget,b.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=bC.sb(a.relatedTarget)?a.relatedTarget:void 0)},!0)),this._register(D.onDidBlur(()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(e2.kF.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(m.onKeyDown(a=>{let b=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==b&&this.endOfQuickInputBoxContext.set(b),m.removeAttribute("aria-activedescendant")})),this._register(bC.ko(b,bC.Bx.FOCUS,a=>{m.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(gk,this._container,b,[{node:d,includeChildren:!0},{node:h,includeChildren:!1}],this.viewState)),this._register((0,ec.fm)(a=>{let b=this.dndController?.dndViewState.read(a);b&&(void 0!==b.top&&void 0!==b.left?this.viewState={...this.viewState,top:b.top,left:b.left}:this.viewState=void 0,this.updateLayout(),b.done&&this.saveViewState(this.viewState))})),this.ui={container:b,styleSheet:c,leftActionBar:e,titleBar:d,title:f,description1:z,description2:j,widget:y,rightActionBar:g,inlineActionBar:r,checkAll:i,inputContainer:k,filterContainer:l,inputBox:m,visibleCountContainer:n,visibleCount:o,countContainer:p,count:q,okContainer:s,ok:t,message:w,customButtonContainer:u,customButton:v,list:B,tree:C,progressBar:x,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:a=>this.show(a),hide:()=>this.hide(),setVisibilities:a=>this.setVisibilities(a),setEnabled:a=>this.setEnabled(a),setContextKey:a=>this.options.setContextKey(a),linkOpenerDelegate:a=>this.options.linkOpenerDelegate(a)},this.updateStyles(),this.ui}reparentUI(a){this.ui&&(this._container=a,bC.BC(this._container,this.ui.container),this.dndController?.reparentUI(this._container))}pick(a,b={},c=at.XO.None){return new Promise((d,e)=>{let f,g=a=>{g=d,b.onKeyMods?.(h.keyMods),d(a)};if(c.isCancellationRequested)return void g(void 0);let h=this.createQuickPick({useSeparators:!0}),i=[h,h.onDidAccept(()=>{if(h.canSelectMany)g(h.selectedItems.slice()),h.hide();else{let a=h.activeItems[0];a&&(g(a),h.hide())}}),h.onDidChangeActive(a=>{let c=a[0];c&&b.onDidFocus&&b.onDidFocus(c)}),h.onDidChangeSelection(a=>{if(!h.canSelectMany){let b=a[0];b&&(g(b),h.hide())}}),h.onDidTriggerItemButton(a=>b.onDidTriggerItemButton&&b.onDidTriggerItemButton({...a,removeItem:()=>{let b=h.items.indexOf(a.item);if(-1!==b){let a=h.items.slice(),c=a.splice(b,1),d=h.activeItems.filter(a=>a!==c[0]),e=h.keepScrollPosition;h.keepScrollPosition=!0,h.items=a,d&&(h.activeItems=d),h.keepScrollPosition=e}}})),h.onDidTriggerSeparatorButton(a=>b.onDidTriggerSeparatorButton?.(a)),h.onDidChangeValue(a=>{f&&!a&&(1!==h.activeItems.length||h.activeItems[0]!==f)&&(h.activeItems=[f])}),c.onCancellationRequested(()=>{h.hide()}),h.onDidHide(()=>{(0,aE.AS)(i),g(void 0)})];h.title=b.title,b.value&&(h.value=b.value),h.canSelectMany=!!b.canPickMany,h.placeholder=b.placeHolder,h.ignoreFocusOut=!!b.ignoreFocusLost,h.matchOnDescription=!!b.matchOnDescription,h.matchOnDetail=!!b.matchOnDetail,void 0!==b.sortByLabel&&(h.sortByLabel=b.sortByLabel),h.matchOnLabel=void 0===b.matchOnLabel||b.matchOnLabel,h.quickNavigate=b.quickNavigate,h.hideInput=!!b.hideInput,h.contextKey=b.contextKey,h.busy=!0,Promise.all([a,b.activeItem]).then(([a,b])=>{f=b,h.busy=!1,h.items=a,h.canSelectMany&&(h.selectedItems=a.filter(a=>"separator"!==a.type&&a.picked)),f&&(h.activeItems=[f])}),h.show(),Promise.resolve(a).then(void 0,a=>{e(a),h.hide()})})}setValidationOnInput(a,b){b&&(0,c0.Kg)(b)?(a.severity=cs.A.Error,a.validationMessage=b):b&&!(0,c0.Kg)(b)?(a.severity=b.severity,a.validationMessage=b.content):(a.severity=cs.A.Ignore,a.validationMessage=void 0)}input(a={},b=at.XO.None){return new Promise(c=>{if(b.isCancellationRequested)return void c(void 0);let d=this.createInputBox(),e=a.validateInput||(()=>Promise.resolve(void 0)),f=au.Jh.debounce(d.onDidChangeValue,(a,b)=>b,100),g=a.value||"",h=Promise.resolve(e(g)),i=[d,f(a=>{a!==g&&(h=Promise.resolve(e(a)),g=a),h.then(b=>{a===g&&this.setValidationOnInput(d,b)})}),d.onDidAccept(()=>{let a=d.value;a!==g&&(h=Promise.resolve(e(a)),g=a),h.then(b=>{b&&((0,c0.Kg)(b)||b.severity===cs.A.Error)?a===g&&this.setValidationOnInput(d,b):(c(a),d.hide())})}),b.onCancellationRequested(()=>{d.hide()}),d.onDidHide(()=>{(0,aE.AS)(i),c(void 0)})];d.title=a.title,d.value=a.value||"",d.valueSelection=a.valueSelection,d.prompt=a.prompt,d.placeholder=a.placeHolder,d.password=!!a.password,d.ignoreFocusOut=!!a.ignoreFocusLost,d.show()})}createQuickPick(a={useSeparators:!1}){return new fs(this.getUI(!0))}createInputBox(){return new ft(this.getUI(!0))}show(a){let b=this.getUI(!0);this.onShowEmitter.fire();let c=this.controller;this.controller=a,c?.didHide(),this.setEnabled(!0),b.leftActionBar.clear(),b.title.textContent="",b.description1.textContent="",b.description2.textContent="",bC.Ln(b.widget),b.rightActionBar.clear(),b.inlineActionBar.clear(),b.checkAll.checked=!1,b.inputBox.placeholder="",b.inputBox.password=!1,b.inputBox.showDecoration(cs.A.Ignore),b.visibleCount.setCount(0),b.count.setCount(0),bC.Ln(b.message),b.progressBar.stop(),b.list.setElements([]),b.list.matchOnDescription=!1,b.list.matchOnDetail=!1,b.list.matchOnLabel=!0,b.list.sortByLabel=!0,b.ignoreFocusOut=!1,b.inputBox.toggles=void 0;let d=this.options.backKeybindingLabel();fq.tooltip=d?(0,a_.kg)(1751,"Back ({0})",d):(0,a_.kg)(1752,"Back"),b.container.style.display="",this.updateLayout(),this.dndController?.layoutContainer(),b.inputBox.setFocus(),this.quickInputTypeContext.set(a.type)}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(a){let b=this.getUI();b.title.style.display=a.title?"":"none",b.description1.style.display=a.description&&(a.inputBox||a.checkAll)?"":"none",b.description2.style.display=a.description&&!(a.inputBox||a.checkAll)?"":"none",b.checkAll.domNode.style.display=a.checkAll?"":"none",b.inputContainer.style.display=a.inputBox?"":"none",b.filterContainer.style.display=a.inputBox?"":"none",b.visibleCountContainer.style.display=a.visibleCount?"":"none",b.countContainer.style.display=a.count?"":"none",b.okContainer.style.display=a.ok?"":"none",b.customButtonContainer.style.display=a.customButton?"":"none",b.message.style.display=a.message?"":"none",b.progressBar.getContainer().style.display=a.progressBar?"":"none",b.list.displayed=!!a.list,b.tree.displayed=!!a.tree,b.container.classList.toggle("show-checkboxes",!!a.checkBox),b.container.classList.toggle("hidden-input",!a.inputBox&&!a.description),this.updateLayout()}setEnabled(a){if(a!==this.enabled){this.enabled=a;let b=this.getUI();for(let c of b.leftActionBar.viewItems)c.action.enabled=a;for(let c of b.rightActionBar.viewItems)c.action.enabled=a;a?b.checkAll.enable():b.checkAll.disable(),b.inputBox.enabled=a,b.ok.enabled=a,b.list.enabled=a}}hide(a){let b=this.controller;if(!b)return;b.willHide(a);let c=this.ui?.container,d=c&&!bC.nR(c);if(this.controller=null,this.onHideEmitter.fire(),c&&(c.style.display="none"),!d){let a=this.previousFocusElement;for(;a&&!a.offsetParent;)a=a.parentElement??void 0;a?.offsetParent?(a.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}b.didHide(a)}toggleHover(){this.isVisible()&&this.controller instanceof fs&&this.getUI().list.toggleHover()}layout(a,b){this.dimension=a,this.titleBarOffset=b,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){let a=this.ui.container.style,b=Math.min(.62*this.dimension.width,ap.MAX_WIDTH);a.width=b+"px",a.top=`${this.viewState?.top?Math.round(this.dimension.height*this.viewState.top):this.titleBarOffset}px`,a.left=`${Math.round(this.dimension.width*(this.viewState?.left??.5)-b/2)}px`,this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height),this.ui.tree.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(a){this.styles=a,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:a,quickInputBackground:b,quickInputForeground:c,widgetBorder:d,widgetShadow:e}=this.styles.widget;this.ui.titleBar.style.backgroundColor=a??"",this.ui.container.style.backgroundColor=b??"",this.ui.container.style.color=c??"",this.ui.container.style.border=d?`1px solid ${d}`:"",this.ui.container.style.boxShadow=e?`0 0 8px 2px ${e}`:"",this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);let f=[];this.styles.pickerGroup.pickerGroupBorder&&f.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&f.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&f.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(f.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&f.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&f.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&f.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&f.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&f.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),f.push("}"));let g=f.join("\n");g!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=g)}}loadViewState(){try{let a=JSON.parse(this.storageService.get(gi,-1,"{}"));if(void 0!==a.top||void 0!==a.left)return a}catch{}}saveViewState(a){this.layoutService.activeContainer===this.layoutService.mainContainer&&(void 0!==a?this.storageService.store(gi,JSON.stringify(a),-1,1):this.storageService.remove(gi,-1))}};gj=ap=gf([gg(1,cn.x),gg(2,cU._Y),gg(3,cj.fN),gg(4,f6.CS)],gj);let gk=class extends aE.jG{constructor(a,b,c,d,e,f,g){super(),this._container=a,this._quickInputContainer=b,this._quickInputDragAreas=c,this._layoutService=e,this.configurationService=g,this.dndViewState=(0,ec.FY)(this,void 0),this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._quickInputAlignmentContext=fk.bindTo(f);let h="custom"===(0,f7.gO)(this.configurationService);this._controlsOnLeft=h&&1===aL.iD,this._controlsOnRight=h&&(3===aL.iD||2===aL.iD),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...d,done:!0},void 0)}reparentUI(a){this._container=a}layoutContainer(a=this._layoutService.activeContainerDimension){let b=this.dndViewState.get(),c=this._quickInputContainer.getBoundingClientRect();if(b?.top&&b?.left){let d=Math.round(100*b.left)/100,e=a.width,f=c.width;this._layout(b.top*a.height,d*e-f/2)}}_registerLayoutListener(){this._register(au.Jh.filter(this._layoutService.onDidLayoutContainer,a=>a.container===this._container)(a=>this.layoutContainer(a.dimension)))}registerMouseListeners(){let a=this._quickInputContainer;this._register(bC.xb(a,b=>{let c=new ei.P(bC.zk(a),b);2===c.detail&&this._quickInputDragAreas.some(({node:a,includeChildren:b})=>b?bC.QX(c.target,a):c.target===a)&&this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0)})),this._register(bC._9(a,a=>{let b=bC.zk(this._layoutService.activeContainer),c=new ei.P(b,a);if(!this._quickInputDragAreas.some(({node:a,includeChildren:b})=>b?bC.QX(c.target,a):c.target===a))return;let d=this._quickInputContainer.getBoundingClientRect(),e=c.browserEvent.clientX-d.left,f=c.browserEvent.clientY-d.top,g=!1,h=bC.J$(b,a=>{new ei.P(b,a).preventDefault(),g||(g=!0),this._layout(a.clientY-f,a.clientX-e)}),i=bC.xb(b,a=>{if(g){let a=this.dndViewState.get();this.dndViewState.set({top:a?.top,left:a?.left,done:!0},void 0)}h.dispose(),i.dispose()})}))}_layout(a,b){let c=this._getTopSnapValue(),d=this._getCenterYSnapValue(),e=this._getCenterXSnapValue();(a=Math.max(0,Math.min(a,this._container.clientHeight-this._quickInputContainer.clientHeight)))<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?b=Math.max(b,80/(0,ej.pR)(bC.fz())):this._controlsOnRight&&(b=Math.min(b,this._container.clientWidth-this._quickInputContainer.clientWidth-140/(0,ej.pR)(bC.fz()))));let f=Math.abs(a-c)<this._snapThreshold,g=Math.abs((a=f?c:a)-d)<this._snapThreshold,h=(a=g?d:a)/this._container.clientHeight,i=Math.abs((b=Math.max(0,Math.min(b,this._container.clientWidth-this._quickInputContainer.clientWidth)))-e)<this._snapThreshold;b=i?e:b;let j=this._container.clientWidth,k=this._quickInputContainer.clientWidth,l=b;if(this.dndViewState.set({top:h,left:(l+k/2)/j,done:!1},void 0),i){if(f)return void this._quickInputAlignmentContext.set("top");else if(g)return void this._quickInputAlignmentContext.set("center")}this._quickInputAlignmentContext.set(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};gk=gf([gg(4,cn.x),gg(5,cj.fN),gg(6,b1.pG)],gk);var gl=function(a,b){return function(c,d){b(c,d,a)}};let gm=class extends ch.lR{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(e4))),this._quickAccess}constructor(a,b,c,d,e){super(c),this.instantiationService=a,this.contextKeyService=b,this.layoutService=d,this.configurationService=e,this._onShow=this._register(new au.vl),this._onHide=this._register(new au.vl),this.contexts=new Map}createController(a=this.layoutService,b){let c={idPrefix:"quickInput_",container:a.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>void 0,setContextKey:a=>this.setContextKey(a),linkOpenerDelegate:a=>{this.instantiationService.invokeFunction(b=>{b.get(cY.Cr).open(a,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>a.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(fu))},d=this._register(this.instantiationService.createInstance(gj,{...c,...b}));return d.layout(a.activeContainerDimension,a.activeContainerOffset.quickPickTop),this._register(a.onDidLayoutActiveContainer(b=>{(0,bC.zk)(a.activeContainer)===(0,bC.zk)(d.container)&&d.layout(b,a.activeContainerOffset.quickPickTop)})),this._register(a.onDidChangeActiveContainer(()=>{d.isVisible()||d.layout(a.activeContainerDimension,a.activeContainerOffset.quickPickTop)})),this._register(d.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(d.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),d}setContextKey(a){let b;a&&((b=this.contexts.get(a))||(b=new cj.N1(a,!1).bindTo(this.contextKeyService),this.contexts.set(a,b))),b&&b.get()||(this.resetContextKeys(),b?.set(!0))}resetContextKeys(){this.contexts.forEach(a=>{a.get()&&a.reset()})}pick(a,b,c=at.XO.None){return this.controller.pick(a,b,c)}input(a={},b=at.XO.None){return this.controller.input(a,b)}createQuickPick(a={useSeparators:!1}){return this.controller.createQuickPick(a)}createInputBox(){return this.controller.createInputBox()}toggleHover(){this.hasController&&this.controller.toggleHover()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,cR.GuP)(cR.ELA),quickInputForeground:(0,cR.GuP)(cR.HJZ),quickInputTitleBackground:(0,cR.GuP)(cR.er1),widgetBorder:(0,cR.GuP)(cR.DSL),widgetShadow:(0,cR.GuP)(cR.f9l)},inputBox:ez.ho,toggle:ez.mk,countBadge:ez.m$,button:ez.cv,progressBar:ez.oJ,keybindingLabel:ez.ir,list:(0,ez.t8)({listBackground:cR.ELA,listFocusBackground:cR.AlL,listFocusForeground:cR.nH,listInactiveFocusForeground:cR.nH,listInactiveSelectionIconForeground:cR.c7i,listInactiveFocusBackground:cR.AlL,listFocusOutline:cR.buw,listInactiveFocusOutline:cR.buw,treeStickyScrollBackground:cR.ELA}),pickerGroup:{pickerGroupBorder:(0,cR.GuP)(cR.iwL),pickerGroupForeground:(0,cR.GuP)(cR.NBf)}}}};gm=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([gl(0,cU._Y),gl(1,cj.fN),gl(2,ch.Gy),gl(3,cn.x),gl(4,b1.pG)],gm);var gn=c(52785),go=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},gp=function(a,b){return function(c,d){b(c,d,a)}};let gq=class extends gm{constructor(a,b,c,d,e,f){super(b,c,d,new cr(a.getContainerDomNode(),e),f),this.host=void 0;let g=gs.get(a);if(g){let b=g.widget;this.host={_serviceBrand:void 0,get mainContainer(){return b.getDomNode()},getContainer:()=>b.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[b.getDomNode()]},get activeContainer(){return b.getDomNode()},get mainContainerDimension(){return a.getLayoutInfo()},get activeContainerDimension(){return a.getLayoutInfo()},get onDidLayoutMainContainer(){return a.onDidLayoutChange},get onDidLayoutActiveContainer(){return a.onDidLayoutChange},get onDidLayoutContainer(){return au.Jh.map(a.onDidLayoutChange,a=>({container:b.getDomNode(),dimension:a}))},get onDidChangeActiveContainer(){return au.Jh.None},get onDidAddContainer(){return au.Jh.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>a.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};gq=go([gp(1,cU._Y),gp(2,cj.fN),gp(3,ch.Gy),gp(4,aI.T),gp(5,b1.pG)],gq);let gr=class{get activeService(){let a=this.codeEditorService.getFocusedCodeEditor();if(!a)throw Error("Quick input service needs a focused editor to work.");let b=this.mapEditorToService.get(a);if(!b){let c=b=this.instantiationService.createInstance(gq,a);this.mapEditorToService.set(a,b),(0,gn.P)(a.onDidDispose)(()=>{c.dispose(),this.mapEditorToService.delete(a)})}return b}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(a,b){this.instantiationService=a,this.codeEditorService=b,this.mapEditorToService=new Map}pick(a,b,c=at.XO.None){return this.activeService.pick(a,b,c)}input(a,b){return this.activeService.input(a,b)}createQuickPick(a={useSeparators:!1}){return this.activeService.createQuickPick(a)}createInputBox(){return this.activeService.createInputBox()}toggleHover(){return this.activeService.toggleHover()}};gr=go([gp(0,cU._Y),gp(1,aI.T)],gr);class gs{static{this.ID="editor.controller.quickInput"}static get(a){return a.getContribution(gs.ID)}constructor(a){this.editor=a,this.widget=new gt(this.editor)}dispose(){this.widget.dispose()}}class gt{static{this.ID="editor.contrib.quickInputWidget"}constructor(a){this.codeEditor=a,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return gt.ID}getDomNode(){return this.domNode}getPosition(){return{preference:{top:0,left:0}}}dispose(){this.codeEditor.removeOverlayWidget(this)}}(0,aH.HW)(gs.ID,gs,4);var gu=c(52286),gv=c(3848),gw=function(a,b){return function(c,d){b(c,d,a)}};let gx=class extends aE.jG{constructor(a,b,c){super(),this._contextKeyService=a,this._layoutService=b,this._configurationService=c,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new au.vl,this._onDidChangeReducedMotion=new au.vl,this._onDidChangeLinkUnderline=new au.vl,this._accessibilityModeEnabledContext=c_.f.bindTo(this._contextKeyService);let d=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(a=>{a.affectsConfiguration("editor.accessibilitySupport")&&(d(),this._onDidChangeScreenReaderOptimized.fire()),a.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),d(),this._register(this.onDidChangeScreenReaderOptimized(()=>d()));let e=aD.G.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=e.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(e),this.initLinkUnderlineListeners()}initReducedMotionListeners(a){this._register((0,bC.ko)(a,"change",()=>{this._systemMotionReduced=a.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()}));let b=()=>{let a=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",a),this._layoutService.mainContainer.classList.toggle("enable-motion",!a)};b(),this._register(this.onDidChangeReducedMotion(()=>b()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(a=>{if(a.affectsConfiguration("accessibility.underlineLinks")){let a=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=a,this._onDidChangeLinkUnderline.fire()}}));let a=()=>{let a=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",a)};a(),this._register(this.onDidChangeLinkUnderlines(()=>a()))}onDidChangeLinkUnderlines(a){return this._onDidChangeLinkUnderline.event(a)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let a=this._configurationService.getValue("editor.accessibilitySupport");return"on"===a||"auto"===a&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let a=this._configMotionReduced;return"on"===a||"auto"===a&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};gx=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([gw(0,cj.fN),gw(1,cn.x),gw(2,b1.pG)],gx);var gy=c(74134),gz=function(a,b){return function(c,d){b(c,d,a)}};let gA="application/vnd.code.resources",gB=class extends aE.jG{static{aq=this}constructor(a,b){super(),this.layoutService=a,this.logService=b,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(ej.nr||ej.c8)&&this.installWebKitWriteTextWorkaround(),this._register(au.Jh.runAndSubscribe(bC.Iv,({window:a,disposables:b})=>{b.add((0,bC.ko)(a.document,"copy",()=>this.clearResourcesState()))},{window:aD.G,disposables:this._store}))}triggerPaste(){this.logService.trace("BrowserClipboardService#triggerPaste")}installWebKitWriteTextWorkaround(){let a=()=>{let a=new aJ.Zv;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=a,(0,bC.fz)().navigator.clipboard.write([new ClipboardItem({"text/plain":a.p})]).catch(async b=>{b instanceof Error&&"NotAllowedError"===b.name&&a.isRejected||this.logService.error(b)})};this._register(au.Jh.runAndSubscribe(this.layoutService.onDidAddContainer,({container:b,disposables:c})=>{c.add((0,bC.ko)(b,"click",a)),c.add((0,bC.ko)(b,"keydown",a))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(a,b){if(this.logService.trace("BrowserClipboardService#writeText called with type:",b," text.length:",a.length),this.clearResourcesState(),b){this.mapTextToType.set(b,a),this.logService.trace("BrowserClipboardService#writeText");return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(a);try{return this.logService.trace("before navigator.clipboard.writeText"),await (0,bC.fz)().navigator.clipboard.writeText(a)}catch(a){console.error(a)}this.fallbackWriteText(a)}fallbackWriteText(a){this.logService.trace("BrowserClipboardService#fallbackWriteText");let b=(0,bC.a)(),c=b.activeElement,d=b.body.appendChild((0,bC.$)("textarea",{"aria-hidden":!0}));d.style.height="1px",d.style.width="1px",d.style.position="absolute",d.value=a,d.focus(),d.select(),b.execCommand("copy"),(0,bC.sb)(c)&&c.focus(),d.remove()}async readText(a){if(this.logService.trace("BrowserClipboardService#readText called with type:",a),a){let b=this.mapTextToType.get(a)||"";return this.logService.trace("BrowserClipboardService#readText text.length:",b.length),b}try{let a=await (0,bC.fz)().navigator.clipboard.readText();return this.logService.trace("BrowserClipboardService#readText text.length:",a.length),a}catch(a){console.error(a)}return""}async readFindText(){return this.findText}async writeFindText(a){this.findText=a}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{for(let a of(await (0,bC.fz)().navigator.clipboard.read()))if(a.types.includes(`web ${gA}`)){let b=await a.getType(`web ${gA}`);return JSON.parse(await b.text()).map(a=>aw.r.from(a))}}catch(a){}let a=await this.computeResourcesStateHash();return this.resourcesStateHash!==a&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(0===this.resources.length)return;let a=await this.readText();return(0,eU.tW)(a.substring(0,aq.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};gB=aq=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([gz(0,cn.x),gz(1,bx.rr)],gB);var gC=c(46878),gD=c(82693);let gE="data-keybinding-context";class gF{constructor(a,b){this._id=a,this._parent=b,this._value=Object.create(null),this._value._contextId=a}get value(){return{...this._value}}setValue(a,b){return this._value[a]!==b&&(this._value[a]=b,!0)}removeValue(a){return a in this._value&&(delete this._value[a],!0)}getValue(a){let b=this._value[a];return void 0===b&&this._parent?this._parent.getValue(a):b}}class gG extends gF{static{this.INSTANCE=new gG}constructor(){super(-1,null)}setValue(a,b){return!1}removeValue(a){return!1}getValue(a){}}class gH extends gF{static{this._keyPrefix="config."}constructor(a,b,c){super(a,null),this._configurationService=b,this._values=gD.cB.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(a=>{if(7===a.source){let a=Array.from(this._values,([a])=>a);this._values.clear(),c.fire(new gK(a))}else{let b=[];for(let c of a.affectedKeys){let a=`config.${c}`,d=this._values.findSuperstr(a);void 0!==d&&(b.push(...eN.f.map(d,([a])=>a)),this._values.deleteSuperstr(a)),this._values.has(a)&&(b.push(a),this._values.delete(a))}c.fire(new gK(b))}})}dispose(){this._listener.dispose()}getValue(a){let b;if(0!==a.indexOf(gH._keyPrefix))return super.getValue(a);if(this._values.has(a))return this._values.get(a);let c=a.substr(gH._keyPrefix.length),d=this._configurationService.getValue(c);switch(typeof d){case"number":case"boolean":case"string":b=d;break;default:b=Array.isArray(d)?JSON.stringify(d):d}return this._values.set(a,b),b}setValue(a,b){return super.setValue(a,b)}removeValue(a){return super.removeValue(a)}}class gI{constructor(a,b,c){this._service=a,this._key=b,this._defaultValue=c,this.reset()}set(a){this._service.setContext(this._key,a)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class gJ{constructor(a){this.key=a}affectsSome(a){return a.has(this.key)}allKeysContainedIn(a){return this.affectsSome(a)}}class gK{constructor(a){this.keys=a}affectsSome(a){for(let b of this.keys)if(a.has(b))return!0;return!1}allKeysContainedIn(a){return this.keys.every(b=>a.has(b))}}class gL{constructor(a){this.events=a}affectsSome(a){for(let b of this.events)if(b.affectsSome(a))return!0;return!1}allKeysContainedIn(a){return this.events.every(b=>b.allKeysContainedIn(a))}}class gM extends aE.jG{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(a){super(),this._onDidChangeContext=this._register(new au.fV({merge:a=>new gL(a)})),this._isDisposed=!1,this._myContextId=a}createKey(a,b){if(this._isDisposed)throw Error("AbstractContextKeyService has been disposed");return new gI(this,a,b)}bufferChangeEvents(a){this._onDidChangeContext.pause();try{a()}finally{this._onDidChangeContext.resume()}}createScoped(a){if(this._isDisposed)throw Error("AbstractContextKeyService has been disposed");return new gO(this,a)}contextMatchesRules(a){if(this._isDisposed)throw Error("AbstractContextKeyService has been disposed");let b=this.getContextValuesContainer(this._myContextId);return!a||a.evaluate(b)}getContextKeyValue(a){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(a)}setContext(a,b){if(this._isDisposed)return;let c=this.getContextValuesContainer(this._myContextId);c&&c.setValue(a,b)&&this._onDidChangeContext.fire(new gJ(a))}removeContext(a){!this._isDisposed&&this.getContextValuesContainer(this._myContextId).removeValue(a)&&this._onDidChangeContext.fire(new gJ(a))}getContext(a){return this._isDisposed?gG.INSTANCE:this.getContextValuesContainer(function(a){for(;a;){if(a.hasAttribute(gE)){let b=a.getAttribute(gE);if(b)return parseInt(b,10);return NaN}a=a.parentElement}return 0}(a))}dispose(){super.dispose(),this._isDisposed=!0}}let gN=class extends gM{constructor(a){super(0),this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=f_.J7.bindTo(this);let b=this._register(new gH(this._myContextId,a,this._onDidChangeContext));this._contexts.set(this._myContextId,b),this._register(au.Jh.runAndSubscribe(bC.Iv,({window:a,disposables:b})=>{let c=b.add(new aE.HE);b.add((0,bC.ko)(a,bC.Bx.FOCUS_IN,()=>{c.value=new aE.Cm,this.updateInputContextKeys(a.document,c.value)},!0))},{window:aD.G,disposables:this._store}))}updateInputContextKeys(a,b){function c(){return!!a.activeElement&&(0,bC.yD)(a.activeElement)}let d=c();if(this.inputFocusedContext.set(d),d){let d=b.add((0,bC.w5)(a.activeElement));au.Jh.once(d.onDidBlur)(()=>{(0,bC.fz)().document===a&&this.inputFocusedContext.set(c()),d.dispose()},void 0,b)}}getContextValuesContainer(a){return this._isDisposed?gG.INSTANCE:this._contexts.get(a)||gG.INSTANCE}createChildContext(a=this._myContextId){if(this._isDisposed)throw Error("ContextKeyService has been disposed");let b=++this._lastContextId;return this._contexts.set(b,new gF(b,this.getContextValuesContainer(a))),b}disposeContext(a){this._isDisposed||this._contexts.delete(a)}};gN=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(j=b1.pG,function(a,b){j(a,b,0)})],gN);class gO extends gM{constructor(a,b){if(super(a.createChildContext()),this._parentChangeListener=this._register(new aE.HE),this._parent=a,this._updateParentChangeListener(),this._domNode=b,this._domNode.hasAttribute(gE)){let a="";this._domNode.classList&&(a=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${a?": "+a:""}`)}this._domNode.setAttribute(gE,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(a=>{let b=this._parent.getContextValuesContainer(this._myContextId).value;a.allKeysContainedIn(new Set(Object.keys(b)))||this._onDidChangeContext.fire(a)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(gE),super.dispose())}getContextValuesContainer(a){return this._isDisposed?gG.INSTANCE:this._parent.getContextValuesContainer(a)}createChildContext(a=this._myContextId){if(this._isDisposed)throw Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(a)}disposeContext(a){this._isDisposed||this._parent.disposeContext(a)}}dw.w.registerCommand("_setContext",function(a,b,c){var d;a.get(cj.fN).createKey(String(b),(d=c,(0,dy.PI)(d,a=>"object"==typeof a&&1===a.$mid?aw.r.revive(a).toString():a instanceof aw.r?a.toString():void 0)))}),dw.w.registerCommand({id:"getContextKeyInfo",handler:()=>[...cj.N1.all()].sort((a,b)=>a.key.localeCompare(b.key)),metadata:{description:(0,a_.kg)(1659,"A command that returns information about context keys"),args:[]}}),dw.w.registerCommand("_generateContextKeyInfo",function(){let a=[],b=new Set;for(let c of cj.N1.all())b.has(c.key)||(b.add(c.key),a.push(c));a.sort((a,b)=>a.key.localeCompare(b.key)),console.log(JSON.stringify(a,void 0,2))});var gP=c(28328);class gQ{constructor(a,b){this.key=a,this.data=b,this.incoming=new Map,this.outgoing=new Map}}class gR{constructor(a){this._hashFn=a,this._nodes=new Map}roots(){let a=[];for(let b of this._nodes.values())0===b.outgoing.size&&a.push(b);return a}insertEdge(a,b){let c=this.lookupOrInsertNode(a),d=this.lookupOrInsertNode(b);c.outgoing.set(d.key,d),d.incoming.set(c.key,c)}removeNode(a){let b=this._hashFn(a);for(let a of(this._nodes.delete(b),this._nodes.values()))a.outgoing.delete(b),a.incoming.delete(b)}lookupOrInsertNode(a){let b=this._hashFn(a),c=this._nodes.get(b);return c||(c=new gQ(b,a),this._nodes.set(b,c)),c}isEmpty(){return 0===this._nodes.size}toString(){let a=[];for(let[b,c]of this._nodes)a.push(`${b}
|
|
575
|
+
`)}return c}(b,(0,bC.Cl)(a))}styleScrollElement(a,b){let c=b.foregroundColor??"",d=b.backgroundColor??"",e=b.borderColor?`1px solid ${b.borderColor}`:"",f=b.shadowColor?`0 2px 8px ${b.shadowColor}`:"";a.style.outline=e,a.style.borderRadius="5px",a.style.color=c,a.style.backgroundColor=d,a.style.boxShadow=f}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(a){let b=this.focusedItem;this.setFocusedItem(a),b!==this.focusedItem&&this.updateFocus()}setFocusedItem(a){for(let b=0;b<this.actionsList.children.length;b++)if(a===this.actionsList.children[b]){this.focusedItem=b;break}}updateFocus(a){super.updateFocus(a,!0,!0),void 0!==this.focusedItem&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(a,b,c){if(a instanceof ef.wv)return new ex(b.context,a,{icon:!0},this.menuStyles);if(a instanceof ef.YH){let d=new ew(a,a.actions,c,{...b,submenuIds:new Set([...b.submenuIds||[],a.id])},this.menuStyles);if(b.enableMnemonics){let a=d.getMnemonic();if(a&&d.isEnabled()){let b=[];this.mnemonics.has(a)&&(b=this.mnemonics.get(a)),b.push(d),this.mnemonics.set(a,b)}}return d}{let c=b.getKeyBinding?.(a)?.getLabel(),d={enableMnemonics:b.enableMnemonics,useEventAsContext:b.useEventAsContext,keybinding:c},e=new ev(b.context,a,d,this.menuStyles);if(b.enableMnemonics){let a=e.getMnemonic();if(a&&e.isEnabled()){let b=[];this.mnemonics.has(a)&&(b=this.mnemonics.get(a)),b.push(e),this.mnemonics.set(a,b)}}return e}}}class ev extends en.EH{constructor(a,b,c,d){if(super(b,b,c={...c,isMenu:!0,icon:void 0!==c.icon&&c.icon,label:void 0===c.label||c.label}),this.menuStyle=d,this.options=c,this.cssClass="",this.options.label&&c.enableMnemonics){let a=this.action.label;if(a){let b=es.exec(a);b&&(this.mnemonic=(b[1]?b[1]:b[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new aJ.uC(()=>{this.element&&(this._register((0,bC.ko)(this.element,bC.Bx.MOUSE_UP,a=>{(bC.fs.stop(a,!0),ej.gm)?new ei.P((0,bC.zk)(this.element),a).rightButton||this.onClick(a):setTimeout(()=>{this.onClick(a)},0)})),this._register((0,bC.ko)(this.element,bC.Bx.CONTEXT_MENU,a=>{bC.fs.stop(a,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(a){super.render(a),this.element&&(this.container=a,this.item=(0,bC.BC)(this.element,(0,bC.$)("a.action-menu-item")),this._action.id===ef.wv.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,bC.BC)(this.item,(0,bC.$)("span.menu-item-check"+er.L.asCSSSelector(ep.W.menuSelection))),this.check.setAttribute("role","none"),this.label=(0,bC.BC)(this.item,(0,bC.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,bC.BC)(this.item,(0,bC.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(a,b){this.item&&(this.item.setAttribute("aria-posinset",`${a}`),this.item.setAttribute("aria-setsize",`${b}`))}updateLabel(){if(this.label&&this.options.label){(0,bC.w_)(this.label);let a=(0,di.pS)(this.action.label);if(a){let b=function(a){let b=es.exec(a);if(!b)return a;let c=!b[1];return a.replace(es,c?"$2$3":"").trim()}(a);this.options.enableMnemonics||(a=b),this.label.setAttribute("aria-label",b.replace(/&&/g,"&"));let c=es.exec(a);if(c){a=aF.ih(a),et.lastIndex=0;let b=et.exec(a);for(;b&&b[1];)b=et.exec(a);let d=a=>a.replace(/&&/g,"&");b?this.label.append(aF.NB(d(a.substr(0,b.index))," "),(0,bC.$)("u",{"aria-hidden":"true"},b[3]),aF.BO(d(a.substr(b.index+b[0].length))," ")):this.label.textContent=d(a).trim(),this.item?.setAttribute("aria-keyshortcuts",(c[1]?c[1]:c[3]).toLocaleLowerCase())}else this.label.textContent=a.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;let a=this.action.checked;this.item.classList.toggle("checked",!!a),void 0!==a?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",a?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){let a=this.element&&this.element.classList.contains("focused"),b=a&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,c=a&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,d=a&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",e=a&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=b??"",this.item.style.backgroundColor=c??"",this.item.style.outline=d,this.item.style.outlineOffset=e),this.check&&(this.check.style.color=b??"")}}class ew extends ev{constructor(a,b,c,d,e){super(a,a,d,e),this.submenuActions=b,this.parentData=c,this.submenuOptions=d,this.mysubmenu=null,this.submenuDisposables=this._register(new aE.Cm),this.mouseOver=!1,this.expandDirection=d&&void 0!==d.expandDirection?d.expandDirection:{horizontal:ah.Right,vertical:ai.Below},this.showScheduler=new aJ.uC(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new aJ.uC(()=>{this.element&&!(0,bC.QX)((0,bC.bq)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(a){super.render(a),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=(0,bC.BC)(this.item,(0,bC.$)("span.submenu-indicator"+er.L.asCSSSelector(ep.W.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,bC.ko)(this.element,bC.Bx.KEY_UP,a=>{let b=new c6.Z(a);(b.equals(17)||b.equals(3))&&(bC.fs.stop(a,!0),this.createSubmenu(!0))})),this._register((0,bC.ko)(this.element,bC.Bx.KEY_DOWN,a=>{let b=new c6.Z(a);(0,bC.bq)()===this.item&&(b.equals(17)||b.equals(3))&&bC.fs.stop(a,!0)})),this._register((0,bC.ko)(this.element,bC.Bx.MOUSE_OVER,a=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,bC.ko)(this.element,bC.Bx.MOUSE_LEAVE,a=>{this.mouseOver=!1})),this._register((0,bC.ko)(this.element,bC.Bx.FOCUS_OUT,a=>{this.element&&!(0,bC.QX)((0,bC.bq)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(a){bC.fs.stop(a,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(a){if(this.parentData.submenu&&(a||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(a,b,c,d){let e={top:0,left:0};return e.left=c9(a.width,b.width,{position:+(d.horizontal!==ah.Right),offset:c.left,size:c.width}),e.left>=c.left&&e.left<c.left+c.width&&(c.left+10+b.width<=a.width&&(e.left=c.left+10),c.top+=10,c.height=0),e.top=c9(a.height,b.height,{position:0,offset:c.top,size:0}),e.top+b.height===c.top&&e.top+c.height+b.height<=a.height&&(e.top+=c.height),e}createSubmenu(a=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=(0,bC.BC)(this.element,(0,bC.$)("div.monaco-submenu")),this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");let b=parseFloat((0,bC.zk)(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode).paddingTop||"0")||0;this.submenuContainer.style.position="fixed",this.submenuContainer.style.top="0",this.submenuContainer.style.left="0",this.submenuContainer.style.zIndex="1",this.parentData.submenu=new eu(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new ef.HJ],this.submenuOptions,this.menuStyle);let c=this.element.getBoundingClientRect(),d={top:c.top-b,left:c.left,height:c.height+2*b,width:c.width},e=this.submenuContainer.getBoundingClientRect(),f=(0,bC.zk)(this.element),{top:g,left:h}=this.calculateSubmenuMenuLayout(new bC.fg(f.innerWidth,f.innerHeight),bC.fg.lift(e),d,this.expandDirection);this.submenuContainer.style.left=`${h-e.left}px`,this.submenuContainer.style.top=`${g-e.top}px`,this.submenuDisposables.add((0,bC.ko)(this.submenuContainer,bC.Bx.KEY_UP,a=>{new c6.Z(a).equals(15)&&(bC.fs.stop(a,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,bC.ko)(this.submenuContainer,bC.Bx.KEY_DOWN,a=>{new c6.Z(a).equals(15)&&bC.fs.stop(a,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(a),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(a){this.item&&this.item?.setAttribute("aria-expanded",a)}applyStyle(){super.applyStyle();let a=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=a??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class ex extends en.Z4{constructor(a,b,c,d){super(a,b,c),this.menuStyles=d}render(a){super.render(a),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function ey(a){let b=(0,eq.J)()[a.id];return`.codicon-${a.id}:before { content: '\\${b.toString(16)}'; }`}var ez=c(30834);class eA{constructor(a,b,c,d){this.contextViewService=a,this.telemetryService=b,this.notificationService=c,this.keybindingService=d,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(a){this.options=a}showContextMenu(a){let b,c=a.getActions();if(!c.length)return;this.focusToReturn=(0,bC.bq)();let d=(0,bC.sb)(a.domForShadowRoot)?a.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>a.getAnchor(),canRelayout:!1,anchorAlignment:a.anchorAlignment,anchorAxisAlignment:a.anchorAxisAlignment,layer:a.layer,render:d=>{this.lastContainer=d;let e=a.getMenuClassName?a.getMenuClassName():"";e&&(d.className+=" "+e),this.options.blockMouse&&(this.block=d.appendChild((0,bC.$)(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=(0,bC.ko)(this.block,bC.Bx.MOUSE_DOWN,a=>a.stopPropagation()));let f=new aE.Cm,g=a.actionRunner||f.add(new ef.LN);g.onWillRun(b=>this.onActionRun(b,!a.skipTelemetry),this,f),g.onDidRun(this.onDidActionRun,this,f),(b=new eu(d,c,{actionViewItemProvider:a.getActionViewItem,context:a.getActionsContext?a.getActionsContext():null,actionRunner:g,getKeyBinding:a.getKeyBinding?a.getKeyBinding:a=>this.keybindingService.lookupKeybinding(a.id)},ez.XS)).onDidCancel(()=>this.contextViewService.hideContextView(!0),null,f),b.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,f);let h=(0,bC.zk)(d);return f.add((0,bC.ko)(h,bC.Bx.BLUR,()=>this.contextViewService.hideContextView(!0))),f.add((0,bC.ko)(h,bC.Bx.MOUSE_DOWN,a=>{if(a.defaultPrevented)return;let b=new ei.P(h,a),c=b.target;if(!b.rightButton){for(;c;){if(c===d)return;c=c.parentElement}this.contextViewService.hideContextView(!0)}})),(0,aE.qE)(f,b)},focus:()=>{b?.focus(!!a.autoSelectFirstItem)},onHide:b=>{a.onHide?.(!!b),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&((0,bC.bq)()===this.lastContainer||(0,bC.QX)((0,bC.bq)(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},d,!!d)}onActionRun(a,b){b&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:a.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(a){a.error&&!(0,aK.MB)(a.error)&&this.notificationService.error(a.error)}}var eB=function(a,b){return function(c,d){b(c,d,a)}};let eC=class extends aE.jG{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new eA(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(a,b,c,d,e,f){super(),this.telemetryService=a,this.notificationService=b,this.contextViewService=c,this.keybindingService=d,this.menuService=e,this.contextKeyService=f,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new au.vl),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new au.vl),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(a){this.contextMenuHandler.configure(a)}showContextMenu(a){a=aj.transform(a,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...a,onHide:b=>{a.onHide?.(b),this._onDidHideContextMenu.fire()}}),bC.Di.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};eC=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([eB(0,dX.k),eB(1,cu.Ot),eB(2,cT.l),eB(3,cV.b),eB(4,eh.ez),eB(5,cj.fN)],eC),(aj||(aj={})).transform=function(a,b,c){if(!(a&&a.menuId instanceof eh.D8))return a;let{menuId:d,menuActionOptions:e,contextKeyService:f}=a;return{...a,getActions:()=>{let g=[];if(d){let a=b.getMenuActions(d,f??c,e);g=(0,eg.nW)(a)}return a.getActions?ef.wv.join(a.getActions(),g):g}}};var eD=c(34372);!function(a){a[a.API=0]="API",a[a.USER=1]="USER"}(ak||(ak={}));var eE=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},eF=function(a,b){return function(c,d){b(c,d,a)}};let eG=class{constructor(a){this._commandService=a}async open(a,b){if(!(0,aZ.v$)(a,aZ.ny.command))return!1;if(!b?.allowCommands||("string"==typeof a&&(a=aw.r.parse(a)),Array.isArray(b.allowCommands)&&!b.allowCommands.includes(a.path)))return!0;let c=[];try{c=(0,eD.qg)(decodeURIComponent(a.query))}catch{try{c=(0,eD.qg)(a.query)}catch{}}return Array.isArray(c)||(c=[c]),await this._commandService.executeCommand(a.path,...c),!0}};eG=eE([eF(0,dw.d)],eG);let eH=class{constructor(a){this._editorService=a}async open(a,b){"string"==typeof a&&(a=aw.r.parse(a));let{selection:c,uri:d}=(0,cY.ew)(a);return(a=d).scheme===aZ.ny.file&&(a=(0,d$.Fd)(a)),await this._editorService.openCodeEditor({resource:a,options:{selection:c,source:b?.fromUserGesture?ak.USER:ak.API,...b?.editorOptions}},this._editorService.getFocusedCodeEditor(),b?.openToSide),!0}};eH=eE([eF(0,aI.T)],eH);let eI=class{constructor(a,b){this._openers=new cg.w,this._validators=new cg.w,this._resolvers=new cg.w,this._resolvedUriTargets=new dx.fT(a=>a.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new cg.w,this._defaultExternalOpener={openExternal:async a=>((0,aZ.fV)(a,aZ.ny.http,aZ.ny.https)?bC.jh(a):aD.G.location.href=a,!0)},this._openers.push({open:async(a,b)=>!!(b?.openExternal||(0,aZ.fV)(a,aZ.ny.mailto,aZ.ny.http,aZ.ny.https,aZ.ny.vsls))&&(await this._doOpenExternal(a,b),!0)}),this._openers.push(new eG(b)),this._openers.push(new eH(a))}registerOpener(a){return{dispose:this._openers.unshift(a)}}async open(a,b){if(!b?.skipValidation){let c="string"==typeof a?aw.r.parse(a):a,d=this._resolvedUriTargets.get(c)??a;for(let a of this._validators)if(!await a.shouldOpen(d,b))return!1}for(let c of this._openers)if(await c.open(a,b))return!0;return!1}async resolveExternalUri(a,b){for(let c of this._resolvers)try{let d=await c.resolveExternalUri(a,b);if(d)return this._resolvedUriTargets.has(d.resolved)||this._resolvedUriTargets.set(d.resolved,a),d}catch{}throw Error("Could not resolve external URI: "+a.toString())}async _doOpenExternal(a,b){let c,d,e="string"==typeof a?aw.r.parse(a):a;try{c=(await this.resolveExternalUri(e,b)).resolved}catch{c=e}if(d="string"==typeof a&&e.toString()===c.toString()?a:encodeURI(c.toString(!0)),b?.allowContributedOpeners){let a="string"==typeof b?.allowContributedOpeners?b?.allowContributedOpeners:void 0;for(let b of this._externalOpeners)if(await b.openExternal(d,{sourceUri:e,preferredOpenerId:a},at.XO.None))return!0}return this._defaultExternalOpener.openExternal(d,{sourceUri:e},at.XO.None)}dispose(){this._validators.clear()}};eI=eE([eF(0,aI.T),eF(1,dw.d)],eI);var eJ=c(65320),eK=c(55375),eL=c(27499),eM=c(20715),eN=c(16374),eO=function(a,b){return function(c,d){b(c,d,a)}};let eP=class extends aE.jG{constructor(a,b){super(),this._markerService=b,this._onDidChangeMarker=this._register(new au.vl),this._suppressedRanges=new dx.fT,this._markerDecorations=new dx.fT,a.getModels().forEach(a=>this._onModelAdded(a)),this._register(a.onModelAdded(this._onModelAdded,this)),this._register(a.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(a=>a.dispose()),this._markerDecorations.clear()}getMarker(a,b){let c=this._markerDecorations.get(a);return c&&c.getMarker(b)||null}_handleMarkerChange(a){a.forEach(a=>{let b=this._markerDecorations.get(a);b&&this._updateDecorations(b)})}_onModelAdded(a){let b=new eQ(a);this._markerDecorations.set(a.uri,b),this._updateDecorations(b)}_onModelRemoved(a){let b=this._markerDecorations.get(a.uri);b&&(b.dispose(),this._markerDecorations.delete(a.uri)),(a.uri.scheme===aZ.ny.inMemory||a.uri.scheme===aZ.ny.internal||a.uri.scheme===aZ.ny.vscode)&&this._markerService?.read({resource:a.uri}).map(a=>a.owner).forEach(b=>this._markerService.remove(b,[a.uri]))}_updateDecorations(a){let b=this._markerService.read({resource:a.model.uri,take:500}),c=this._suppressedRanges.get(a.model.uri);c&&(b=b.filter(a=>!eN.f.some(c,b=>ay.Q.areIntersectingOrTouching(b,a)))),a.update(b)&&this._onDidChangeMarker.fire(a.model)}};eP=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([eO(0,bv.S),eO(1,eK.DR)],eP);class eQ extends aE.jG{constructor(a){super(),this.model=a,this._map=new dx.cO,this._register((0,aE.s)(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(a){let{added:b,removed:c}=(0,eM.Zv)(new Set(this._map.keys()),new Set(a));if(0===b.length&&0===c.length)return!1;let d=c.map(a=>this._map.get(a)),e=b.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),f=this.model.deltaDecorations(d,e);for(let a of c)this._map.delete(a);for(let a=0;a<f.length;a++)this._map.set(b[a],f[a]);return!0}getMarker(a){return this._map.getKey(a.id)}_createDecorationRange(a,b){let c=ay.Q.lift(b);if(b.severity!==eK.cj.Hint||this._hasMarkerTag(b,1)||this._hasMarkerTag(b,2)||(c=c.setEndPosition(c.startLineNumber,c.startColumn+2)),(c=a.validateRange(c)).isEmpty()){let b=a.getLineLastNonWhitespaceColumn(c.startLineNumber)||a.getLineMaxColumn(c.startLineNumber);if(1===b||c.endColumn>=b)return c;let d=a.getWordAtPosition(c.getStartPosition());d&&(c=new ay.Q(c.startLineNumber,d.startColumn,c.endLineNumber,d.endColumn))}else if(b.endColumn===Number.MAX_VALUE&&1===b.startColumn&&c.startLineNumber===c.endLineNumber){let d=a.getLineFirstNonWhitespaceColumn(b.startLineNumber);d<c.endColumn&&(c=new ay.Q(c.startLineNumber,d,c.endLineNumber,c.endColumn),b.startColumn=d)}return c}_createDecorationOption(a){let b,c,d,e,f;switch(a.severity){case eK.cj.Hint:b=this._hasMarkerTag(a,2)?void 0:this._hasMarkerTag(a,1)?"squiggly-unnecessary":"squiggly-hint",c=0;break;case eK.cj.Info:b="squiggly-info",e=(0,ch.Yf)(eL.AQ),c=10,d={color:(0,ch.Yf)(cR.KoI),position:1};break;case eK.cj.Warning:b="squiggly-warning",e=(0,ch.Yf)(eL.aZ),c=20,d={color:(0,ch.Yf)(cR.uMG),position:1};break;case eK.cj.Error:default:b="squiggly-error",e=(0,ch.Yf)(eL.yI),c=30,d={color:(0,ch.Yf)(cR.yLC),position:1}}return a.tags&&(-1!==a.tags.indexOf(1)&&(f="squiggly-inline-unnecessary"),-1!==a.tags.indexOf(2)&&(f="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:b,showIfCollapsed:!0,overviewRuler:{color:e,position:bT.A5.Right},minimap:d,zIndex:c,inlineClassName:f}}_hasMarkerTag(a,b){return!!a.tags&&a.tags.indexOf(b)>=0}}var eR=c(74786),eS=c(14088),eT=c(93835),eU=c(81040),eV=c(33840),eW=function(a,b){return function(c,d){b(c,d,a)}};function eX(a){return a.toString()}class eY{constructor(a,b,c){this.model=a,this._modelEventListeners=new aE.Cm,this.model=a,this._modelEventListeners.add(a.onWillDispose(()=>b(a))),this._modelEventListeners.add(a.onDidChangeLanguage(b=>c(a,b)))}dispose(){this._modelEventListeners.dispose()}}let eZ=aL.j9||aL.zx?1:2;class e${constructor(a,b,c,d,e,f,g,h){this.uri=a,this.initialUndoRedoSnapshot=b,this.time=c,this.sharesUndoRedoStack=d,this.heapSize=e,this.sha1=f,this.versionId=g,this.alternativeVersionId=h}}let e_=class extends aE.jG{static{al=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=0x1400000}constructor(a,b,c,d){super(),this._configurationService=a,this._resourcePropertiesService=b,this._undoRedoService=c,this._instantiationService=d,this._onModelAdded=this._register(new au.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new au.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new au.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(a=>this._updateModelOptions(a))),this._updateModelOptions(void 0)}static _readModelOptions(a,b){let c=eT.R.tabSize;if(a.editor&&void 0!==a.editor.tabSize){let b=parseInt(a.editor.tabSize,10);isNaN(b)||(c=b),c<1&&(c=1)}let d="tabSize";if(a.editor&&void 0!==a.editor.indentSize&&"tabSize"!==a.editor.indentSize){let b=parseInt(a.editor.indentSize,10);isNaN(b)||(d=Math.max(b,1))}let e=eT.R.insertSpaces;a.editor&&void 0!==a.editor.insertSpaces&&(e="false"!==a.editor.insertSpaces&&!!a.editor.insertSpaces);let f=eZ,g=a.eol;"\r\n"===g?f=2:"\n"===g&&(f=1);let h=eT.R.trimAutoWhitespace;a.editor&&void 0!==a.editor.trimAutoWhitespace&&(h="false"!==a.editor.trimAutoWhitespace&&!!a.editor.trimAutoWhitespace);let i=eT.R.detectIndentation;a.editor&&void 0!==a.editor.detectIndentation&&(i="false"!==a.editor.detectIndentation&&!!a.editor.detectIndentation);let j=eT.R.largeFileOptimizations;a.editor&&void 0!==a.editor.largeFileOptimizations&&(j="false"!==a.editor.largeFileOptimizations&&!!a.editor.largeFileOptimizations);let k=eT.R.bracketPairColorizationOptions;return a.editor?.bracketPairColorization&&"object"==typeof a.editor.bracketPairColorization&&(k={enabled:!!a.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!a.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:b,tabSize:c,indentSize:d,insertSpaces:e,detectIndentation:i,defaultEOL:f,trimAutoWhitespace:h,largeFileOptimizations:j,bracketPairColorizationOptions:k}}_getEOL(a,b){if(a)return this._resourcePropertiesService.getEOL(a,b);let c=this._configurationService.getValue("files.eol",{overrideIdentifier:b});return c&&"string"==typeof c&&"auto"!==c?c:3===aL.OS||2===aL.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){let a=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof a||a}getCreationOptions(a,b,c){let d="string"==typeof a?a:a.languageId,e=this._modelCreationOptionsByLanguageAndResource[d+b];if(!e){let a=this._configurationService.getValue("editor",{overrideIdentifier:d,resource:b}),f=this._getEOL(b,d);e=al._readModelOptions({editor:a,eol:f},c),this._modelCreationOptionsByLanguageAndResource[d+b]=e}return e}_updateModelOptions(a){let b=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let c=Object.keys(this._models);for(let d=0,e=c.length;d<e;d++){let e=c[d],f=this._models[e],g=f.model.getLanguageId(),h=f.model.uri;if(a&&!a.affectsConfiguration("editor",{overrideIdentifier:g,resource:h})&&!a.affectsConfiguration("files.eol",{overrideIdentifier:g,resource:h}))continue;let i=b[g+h],j=this.getCreationOptions(g,h,f.model.isForSimpleWidget);al._setModelOptionsForModel(f.model,j,i)}}static _setModelOptionsForModel(a,b,c){c&&c.defaultEOL!==b.defaultEOL&&1===a.getLineCount()&&a.setEOL(+(1!==b.defaultEOL)),c&&c.detectIndentation===b.detectIndentation&&c.insertSpaces===b.insertSpaces&&c.tabSize===b.tabSize&&c.indentSize===b.indentSize&&c.trimAutoWhitespace===b.trimAutoWhitespace&&(0,dy.aI)(c.bracketPairColorizationOptions,b.bracketPairColorizationOptions)||(b.detectIndentation?(a.detectIndentation(b.insertSpaces,b.tabSize),a.updateOptions({trimAutoWhitespace:b.trimAutoWhitespace,bracketColorizationOptions:b.bracketPairColorizationOptions})):a.updateOptions({insertSpaces:b.insertSpaces,tabSize:b.tabSize,indentSize:b.indentSize,trimAutoWhitespace:b.trimAutoWhitespace,bracketColorizationOptions:b.bracketPairColorizationOptions}))}_insertDisposedModel(a){this._disposedModels.set(eX(a.uri),a),this._disposedModelsHeapSize+=a.heapSize}_removeDisposedModel(a){let b=this._disposedModels.get(eX(a));return b&&(this._disposedModelsHeapSize-=b.heapSize),this._disposedModels.delete(eX(a)),b}_ensureDisposedModelsHeapSize(a){if(this._disposedModelsHeapSize>a){let b=[];for(this._disposedModels.forEach(a=>{a.sharesUndoRedoStack||b.push(a)}),b.sort((a,b)=>a.time-b.time);b.length>0&&this._disposedModelsHeapSize>a;){let a=b.shift();this._removeDisposedModel(a.uri),null!==a.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(a.initialUndoRedoSnapshot)}}}_createModelData(a,b,c,d){let e=this.getCreationOptions(b,c,d),f=this._instantiationService.createInstance(eS.Bz,a,b,e,c);if(c&&this._disposedModels.has(eX(c))){let a=this._removeDisposedModel(c),b=this._undoRedoService.getElements(c),d=this._getSHA1Computer(),e=!!d.canComputeSHA1(f)&&d.computeSHA1(f)===a.sha1;if(e||a.sharesUndoRedoStack){for(let a of b.past)(0,eV.Th)(a)&&a.matchesResource(c)&&a.setModel(f);for(let a of b.future)(0,eV.Th)(a)&&a.matchesResource(c)&&a.setModel(f);this._undoRedoService.setElementsValidFlag(c,!0,a=>(0,eV.Th)(a)&&a.matchesResource(c)),e&&(f._overwriteVersionId(a.versionId),f._overwriteAlternativeVersionId(a.alternativeVersionId),f._overwriteInitialUndoRedoSnapshot(a.initialUndoRedoSnapshot))}else null!==a.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(a.initialUndoRedoSnapshot)}let g=eX(f.uri);if(this._models[g])throw Error("ModelService: Cannot add model because it already exists!");let h=new eY(f,a=>this._onWillDispose(a),(a,b)=>this._onDidChangeLanguage(a,b));return this._models[g]=h,h}createModel(a,b,c,d=!1){let e;return e=b?this._createModelData(a,b,c,d):this._createModelData(a,bR.vH,c,d),this._onModelAdded.fire(e.model),e.model}getModels(){let a=[],b=Object.keys(this._models);for(let c=0,d=b.length;c<d;c++){let d=b[c];a.push(this._models[d].model)}return a}getModel(a){let b=eX(a),c=this._models[b];return c?c.model:null}_schemaShouldMaintainUndoRedoElements(a){return a.scheme===aZ.ny.file||a.scheme===aZ.ny.vscodeRemote||a.scheme===aZ.ny.vscodeUserData||a.scheme===aZ.ny.vscodeNotebookCell||"fake-fs"===a.scheme}_onWillDispose(a){let b=eX(a.uri),c=this._models[b],d=this._undoRedoService.getUriComparisonKey(a.uri)!==a.uri.toString(),e=!1,f=0;if(d||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(a.uri)){let b=this._undoRedoService.getElements(a.uri);if(b.past.length>0||b.future.length>0){for(let c of b.past)(0,eV.Th)(c)&&c.matchesResource(a.uri)&&(e=!0,f+=c.heapSize(a.uri),c.setModel(a.uri));for(let c of b.future)(0,eV.Th)(c)&&c.matchesResource(a.uri)&&(e=!0,f+=c.heapSize(a.uri),c.setModel(a.uri))}}let g=al.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,h=this._getSHA1Computer();if(e)if(d||!(f>g)&&h.canComputeSHA1(a))this._ensureDisposedModelsHeapSize(g-f),this._undoRedoService.setElementsValidFlag(a.uri,!1,b=>(0,eV.Th)(b)&&b.matchesResource(a.uri)),this._insertDisposedModel(new e$(a.uri,c.model.getInitialUndoRedoSnapshot(),Date.now(),d,f,h.computeSHA1(a),a.getVersionId(),a.getAlternativeVersionId()));else{let a=c.model.getInitialUndoRedoSnapshot();null!==a&&this._undoRedoService.restoreSnapshot(a)}else if(!d){let a=c.model.getInitialUndoRedoSnapshot();null!==a&&this._undoRedoService.restoreSnapshot(a)}delete this._models[b],c.dispose(),delete this._modelCreationOptionsByLanguageAndResource[a.getLanguageId()+a.uri],this._onModelRemoved.fire(a)}_onDidChangeLanguage(a,b){let c=b.oldLanguage,d=a.getLanguageId(),e=this.getCreationOptions(c,a.uri,a.isForSimpleWidget),f=this.getCreationOptions(d,a.uri,a.isForSimpleWidget);al._setModelOptionsForModel(a,f,e),this._onModelModeChanged.fire({model:a,oldLanguageId:c})}_getSHA1Computer(){return new e0}};e_=al=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([eW(0,b1.pG),eW(1,bw.J),eW(2,cv.$D),eW(3,cU._Y)],e_);class e0{static{this.MAX_MODEL_SIZE=0xa00000}canComputeSHA1(a){return a.getValueLength()<=e0.MAX_MODEL_SIZE}computeSHA1(a){let b,c=new eU.v7,d=a.createSnapshot();for(;b=d.read();)c.update(b);return c.digest()}}c(11487);var e1=c(75341),e2=c(559),e3=function(a,b){return function(c,d){b(c,d,a)}};let e4=class extends aE.jG{constructor(a,b){super(),this.quickInputService=a,this.instantiationService=b,this.registry=dA.O.as(e1.Fd.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register((0,aE.s)(()=>{for(let a of this.mapProviderToDescriptor.values())(0,aE.Xm)(a)&&a.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(a="",b){this.doShowOrPick(a,!1,b)}doShowOrPick(a,b,c){let d,[e,f]=this.getOrInstantiateProvider(a,c?.enabledProviderPrefixes),g=this.visibleQuickAccess,h=g?.descriptor;if(g&&f&&h===f){a===f.prefix||c?.preserveValue||(g.picker.value=a),this.adjustValueSelection(g.picker,f,c);return}if(f&&!c?.preserveValue){let b;if(g&&h&&h!==f){let a=g.value.substr(h.prefix.length);a&&(b=`${f.prefix}${a}`)}if(!b){let a=e?.defaultFilterValue;a===e1.aJ.LAST?b=this.lastAcceptedPickerValues.get(f):"string"==typeof a&&(b=`${f.prefix}${a}`)}"string"==typeof b&&(a=b)}let i=g?.picker?.valueSelection,j=g?.picker?.value,k=new aE.Cm,l=k.add(this.quickInputService.createQuickPick({useSeparators:!0}));l.value=a,this.adjustValueSelection(l,f,c),l.placeholder=c?.placeholder??f?.placeholder,l.quickNavigate=c?.quickNavigateConfiguration,l.hideInput=!!l.quickNavigate&&!g,("number"==typeof c?.itemActivation||c?.quickNavigateConfiguration)&&(l.itemActivation=c?.itemActivation??e2.C1.SECOND),l.contextKey=f?.contextKey,l.filterValue=a=>a.substring(f?f.prefix.length:0),b&&(d=new aJ.Zv,k.add(au.Jh.once(l.onWillAccept)(a=>{a.veto(),l.hide()}))),k.add(this.registerPickerListeners(l,e,f,a,c));let m=k.add(new at.Qi);if(e&&k.add(e.provide(l,m.token,c?.providerOptions)),au.Jh.once(l.onDidHide)(()=>{0===l.selectedItems.length&&m.cancel(),k.dispose(),d?.complete(l.selectedItems.slice(0))}),l.show(),i&&j===a&&(l.valueSelection=i),b)return d?.p}adjustValueSelection(a,b,c){let d;d=c?.preserveValue?[a.value.length,a.value.length]:[b?.prefix.length??0,a.value.length],a.valueSelection=d}registerPickerListeners(a,b,c,d,e){let f=new aE.Cm,g=this.visibleQuickAccess={picker:a,descriptor:c,value:d};return f.add((0,aE.s)(()=>{g===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),f.add(a.onDidChangeValue(a=>{let[c]=this.getOrInstantiateProvider(a,e?.enabledProviderPrefixes);c!==b?this.show(a,{enabledProviderPrefixes:e?.enabledProviderPrefixes,preserveValue:!0,providerOptions:e?.providerOptions}):g.value=a})),c&&f.add(a.onDidAccept(()=>{this.lastAcceptedPickerValues.set(c,a.value)})),f}getOrInstantiateProvider(a,b){let c=this.registry.getQuickAccessProvider(a);if(!c||b&&!b?.includes(c.prefix))return[void 0,void 0];let d=this.mapProviderToDescriptor.get(c);return d||(d=this.instantiationService.createInstance(c.ctor),this.mapProviderToDescriptor.set(c,d)),[d,c]}};e4=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([e3(0,e2.GK),e3(1,cU._Y)],e4);var e5=c(94505);c(95659);var e6=c(88077),e7=c(67397),e8=c(41022),e9=c(76560),fa=c(53578);class fb{constructor(a){this.nodes=a}toString(){return this.nodes.map(a=>"string"==typeof a?a:a.label).join("")}}!function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);f>3&&g&&Object.defineProperty(b,c,g)}([fa.B],fb.prototype,"toString",null);let fc=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,fd={},fe=new e9.n("quick-input-button-icon-");function ff(a,b,c){let d=a.iconClass||function(a){let b;if(!a)return;let c=a.dark.toString();return fd[c]?b=fd[c]:(b=fe.nextId(),el.Wt(`.${b}, .hc-light .${b}`,`background-image: ${e6.Tf(a.light||a.dark)}`),el.Wt(`.vs-dark .${b}, .hc-black .${b}`,`background-image: ${e6.Tf(a.dark)}`),fd[c]=b),b}(a.iconPath);return a.alwaysVisible&&(d=d?`${d} always-visible`:"always-visible"),{id:b,label:"",tooltip:a.tooltip||"",class:d,enabled:!0,run:c}}var fg=function(a,b){return function(c,d){b(c,d,a)}};let fh="inQuickInput",fi=new cj.N1(fh,!1,(0,a_.kg)(1731,"Whether keyboard focus is inside the quick input control")),fj=cj.M$.has(fh),fk=new cj.N1("quickInputAlignment","top",(0,a_.kg)(1732,"The alignment of the quick input")),fl="quickInputType",fm=new cj.N1(fl,void 0,(0,a_.kg)(1733,"The type of the currently visible quick input")),fn="cursorAtEndOfQuickInputBox",fo=new cj.N1(fn,!1,(0,a_.kg)(1734,"Whether the cursor in the quick input is at the end of the input box")),fp=cj.M$.has(fn),fq={iconClass:er.L.asClassName(ep.W.quickInputBack),tooltip:(0,a_.kg)(1735,"Back"),handle:-1};class fr extends aE.jG{static{this.noPromptMessage=(0,a_.kg)(1736,"Press 'Enter' to confirm your input or 'Escape' to cancel")}constructor(a){super(),this.ui=a,this._visible=(0,ec.FY)("visible",!1),this._widgetUpdated=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=fr.noPromptMessage,this._severity=cs.A.Ignore,this.onDidTriggerButtonEmitter=this._register(new au.vl),this.onDidHideEmitter=this._register(new au.vl),this.onWillHideEmitter=this._register(new au.vl),this.onDisposeEmitter=this._register(new au.vl),this.visibleDisposables=this._register(new aE.Cm),this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(a){this._title=a,this.update()}get description(){return this._description}set description(a){this._description=a,this.update()}get step(){return this._steps}set step(a){this._steps=a,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(a){this._totalSteps=a,this.update()}get enabled(){return this._enabled}set enabled(a){this._enabled=a,this.update()}get contextKey(){return this._contextKey}set contextKey(a){this._contextKey=a,this.update()}get busy(){return this._busy}set busy(a){this._busy=a,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(a){let b=this._ignoreFocusOut!==a&&!aL.un;this._ignoreFocusOut=a&&!aL.un,b&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(a){this._leftButtons=a.filter(a=>a===fq),this._rightButtons=a.filter(a=>a!==fq&&a.location!==e2.dH.Inline),this._inlineButtons=a.filter(a=>a.location===e2.dH.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(a){this._toggles=a??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(a){this._validationMessage=a,this.update()}get severity(){return this._severity}set severity(a){this._severity=a,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(a=>{-1!==this.buttons.indexOf(a)&&this.onDidTriggerButtonEmitter.fire(a)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(a=e2.kF.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:a})}willHide(a=e2.kF.Other){this.onWillHideEmitter.fire({reason:a})}update(){if(!this.visible)return;let a=this.getTitle();a&&this.ui.title.textContent!==a?this.ui.title.textContent=a:a||" "===this.ui.title.innerHTML||(this.ui.title.innerText="\xa0");let b=this.getDescription();if(this.ui.description1.textContent!==b&&(this.ui.description1.textContent=b),this.ui.description2.textContent!==b&&(this.ui.description2.textContent=b),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?bC.Ln(this.ui.widget,this._widget):bC.Ln(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new aJ.pc,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();let a=this._leftButtons.map((a,b)=>ff(a,`id-${b}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.leftActionBar.push(a,{icon:!0,label:!1}),this.ui.rightActionBar.clear();let b=this._rightButtons.map((a,b)=>ff(a,`id-${b}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.rightActionBar.push(b,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();let c=this._inlineButtons.map((a,b)=>ff(a,`id-${b}`,async()=>this.onDidTriggerButtonEmitter.fire(a)));this.ui.inlineActionBar.push(c,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;let a=this.toggles?.filter(a=>a instanceof e5.lM)??[];this.ui.inputBox.toggles=a}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let c=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==c&&(this._lastValidationMessage=c,bC.Ln(this.ui.message),function(a,b,c){bC.Ln(b);let d=function(a){let b,c=[],d=0;for(;b=fc.exec(a);){b.index-d>0&&c.push(a.substring(d,b.index));let[,e,f,,g]=b;g?c.push({label:e,href:f,title:g}):c.push({label:e,href:f}),d=b.index+b[0].length}return d<a.length&&c.push(a.substring(d)),new fb(c)}(a),e=0;for(let a of d.nodes)if("string"==typeof a)b.append(...(0,e8.n)(a));else{let d=a.title;!d&&a.href.startsWith("command:")?d=(0,a_.kg)(1754,"Click to execute command '{0}'",a.href.substring(8)):d||(d=a.href);let f=bC.$("a",{href:a.href,title:d,tabIndex:e++},a.label);f.style.textDecoration="underline";let g=b=>{bC.sd(b)&&bC.fs.stop(b,!0),c.callback(a.href)},h=c.disposables.add(new e7.f(f,bC.Bx.CLICK)).event,i=c.disposables.add(new e7.f(f,bC.Bx.KEY_DOWN)).event,j=au.Jh.chain(i,a=>a.filter(a=>{let b=new c6.Z(a);return b.equals(10)||b.equals(3)}));c.disposables.add(ek.q.addTarget(f));let k=c.disposables.add(new e7.f(f,ek.B.Tap)).event;au.Jh.any(h,k,j)(g,null,c.disposables),b.appendChild(f)}}(c,this.ui.message,{callback:a=>{this.ui.linkOpenerDelegate(a)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,a_.kg)(1737,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(a){if(this.ui.inputBox.showDecoration(a),a!==cs.A.Ignore){let b=this.ui.inputBox.stylesForType(a);this.ui.message.style.color=b.foreground?`${b.foreground}`:"",this.ui.message.style.backgroundColor=b.background?`${b.background}`:"",this.ui.message.style.border=b.border?`1px solid ${b.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class fs extends fr{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new au.vl),this.onWillAcceptEmitter=this._register(new au.vl),this.onDidAcceptEmitter=this._register(new au.vl),this.onDidCustomEmitter=this._register(new au.vl),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=e2.C1.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new au.vl),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new au.vl),this.onDidTriggerItemButtonEmitter=this._register(new au.vl),this.onDidTriggerSeparatorButtonEmitter=this._register(new au.vl),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new au.at,this.type="quickPick",this.filterValue=a=>a,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}static{this.DEFAULT_ARIA_LABEL=(0,a_.kg)(1738,"Type to narrow down results.")}get quickNavigate(){return this._quickNavigate}set quickNavigate(a){this._quickNavigate=a,this.update()}get value(){return this._value}set value(a){this.doSetValue(a)}doSetValue(a,b){this._value!==a&&(this._value=a,b||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(a){this._ariaLabel=a,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(a){this._placeholder=a,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(a){this.ui.list.scrollTop=a}set items(a){this._items=a,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(a){this._canSelectMany=a,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(a){this._canAcceptInBackground=a}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(a){this._matchOnDescription=a,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(a){this._matchOnDetail=a,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(a){this._matchOnLabel=a,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(a){this._matchOnLabelMode=a,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(a){this._sortByLabel=a,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(a){this._keepScrollPosition=a}get itemActivation(){return this._itemActivation}set itemActivation(a){this._itemActivation=a}get activeItems(){return this._activeItems}set activeItems(a){this._activeItems=a,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(a){this._selectedItems=a,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?e2.Ym:this.ui.keyMods}get valueSelection(){let a=this.ui.inputBox.getSelection();if(a)return[a.start,a.end]}set valueSelection(a){this._valueSelection=a,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(a){this._customButton=a,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(a){this._customButtonLabel=a,this.update()}get customHover(){return this._customButtonHover}set customHover(a){this._customButtonHover=a,this.update()}get ok(){return this._ok}set ok(a){this._ok=a,this.update()}get okLabel(){return this._okLabel??(0,a_.kg)(1739,"OK")}set okLabel(a){this._okLabel=a,this.update()}get hideInput(){return!!this._hideInput}set hideInput(a){this._hideInput=a,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(e2.Fp.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(a=>{this.doSetValue(a,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(a,b)=>b)(a=>{!this.activeItemsUpdated&&(this.activeItemsToConfirm!==this._activeItems&&(0,a$.aI)(a,this._activeItems,(a,b)=>a===b)||(this._activeItems=a,this.onDidChangeActiveEmitter.fire(a)))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:a,event:b})=>{if(this.canSelectMany&&!a.some(a=>!1===a.pickable)){a.length&&this.ui.list.setSelectedElements([]);return}!(this.selectedItemsToConfirm!==this._selectedItems&&(0,a$.aI)(a,this._selectedItems,(a,b)=>a===b))&&(this._selectedItems=a,this.onDidChangeSelectionEmitter.fire(a),a.length&&this.handleAccept(bC.Er(b)&&1===b.button))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(a=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&(0,a$.aI)(a,this._selectedItems,(a,b)=>a===b)||(this._selectedItems=a,this.onDidChangeSelectionEmitter.fire(a)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(a=>this.onDidTriggerItemButtonEmitter.fire(a))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(a=>this.onDidTriggerSeparatorButtonEmitter.fire(a))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(a){let b=!1;this.onWillAcceptEmitter.fire({veto:()=>b=!0}),b||this.onDidAcceptEmitter.fire({inBackground:a})}registerQuickNavigation(){return bC.ko(this.ui.container,bC.Bx.KEY_UP,a=>{if(this.canSelectMany||!this._quickNavigate)return;let b=new c6.Z(a),c=b.keyCode;this._quickNavigate.keybindings.some(a=>{let d=a.getChords();return!(d.length>1)&&(d[0].shiftKey&&4===c?!b.ctrlKey&&!b.altKey&&!b.metaKey:!!d[0].altKey&&6===c||!!d[0].ctrlKey&&5===c||!!d[0].metaKey&&57===c)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let a=this.keepScrollPosition?this.scrollTop:0,b=!!this.description,c={title:!!this.title||!!this.step||!!this.titleButtons.length,description:b,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||b,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(c),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let d=this.ariaLabel;!d&&c.inputBox&&(d=this.placeholder,this.title&&(d=d?`${d} - ${this.title}`:this.title),d||(d=fs.DEFAULT_ARIA_LABEL)),this.ui.list.ariaLabel!==d&&(this.ui.list.ariaLabel=d??null),this.ui.inputBox.ariaLabel!==d&&(this.ui.inputBox.ariaLabel=d??"input"),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case e2.C1.NONE:this._itemActivation=e2.C1.FIRST;break;case e2.C1.SECOND:this.ui.list.focus(e2.Fp.Second),this._itemActivation=e2.C1.FIRST;break;case e2.C1.LAST:this.ui.list.focus(e2.Fp.Last),this._itemActivation=e2.C1.FIRST;break;default:this.trySelectFirst()}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.ok.label=this.okLabel||"",this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",!c.inputBox&&(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(e2.Fp.First)),this.keepScrollPosition&&(this.scrollTop=a)}focus(a){this.ui.list.focus(a),this.canSelectMany&&this.ui.list.domFocus()}accept(a){(!a||this._canAcceptInBackground)&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(a??!1))}}class ft extends fr{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new au.vl),this.onDidAcceptEmitter=this._register(new au.vl),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(a){this._value=a||"",this.update()}get valueSelection(){let a=this.ui.inputBox.getSelection();if(a)return[a.start,a.end]}set valueSelection(a){this._valueSelection=a,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(a){this._placeholder=a,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(a){this._ariaLabel=a,this.update()}get password(){return this._password}set password(a){this._password=a,this.update()}get prompt(){return this._prompt}set prompt(a){this._prompt=a,this.noValidationMessage=a?(0,a_.kg)(1740,"{0} (Press 'Enter' to confirm or 'Escape' to cancel)",a):fr.noPromptMessage,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(a=>{a!==this.value&&(this._value=a,this.onDidValueChangeEmitter.fire(a))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");let a={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(a),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password);let b=this.ariaLabel;!b&&a.inputBox&&(b=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:"input"),this.ui.inputBox.ariaLabel!==b&&(this.ui.inputBox.ariaLabel=b||"input")}}let fu=class extends cS.fO{constructor(a,b){super("mouse",void 0,a=>this.getOverrideOptions(a),a,b)}getOverrideOptions(a){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(bC.sb(a.content)?a.content.textContent??"":"string"==typeof a.content?a.content:a.content.value).includes("\n"),skipFadeInAnimation:!0}}}};fu=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([fg(0,b1.pG),fg(1,cS.TN)],fu);var fv=c(20021),fw=c(26097);c(75507);let fx="done",fy="active",fz="infinite",fA="infinite-long-running",fB="discrete";class fC extends aE.jG{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(a,b){super(),this.progressSignal=this._register(new aE.HE),this.workedVal=0,this.showDelayedScheduler=this._register(new aJ.uC(()=>(0,bC.WU)(this.element),0)),this.longRunningScheduler=this._register(new aJ.uC(()=>this.infiniteLongRunning(),fC.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(a,b)}create(a,b){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),a.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=b?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(fy,fz,fA,fB),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(a){return this.element.classList.add(fx),this.element.classList.contains(fz)?this.bit.style.opacity="0":this.bit.style.width="inherit",a?setTimeout(()=>this.off(),200):this.off(),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(fB,fx,fA),this.element.classList.add(fy,fz),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(fA)}getContainer(){return this.element}}var fD=c(68703);let fE=bC.$;class fF extends aE.jG{constructor(a,b,c){super(),this.parent=a,this.onDidChange=a=>this.findInput.onDidChange(a),this.container=bC.BC(this.parent,fE(".quick-input-box")),this.findInput=this._register(new fD.c(this.container,void 0,{label:"",inputBoxStyles:b,toggleStyles:c}));let d=this.findInput.inputBox.inputElement;d.role="textbox",d.ariaHasPopup="menu",d.ariaAutoComplete="list"}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(a){this.findInput.setValue(a)}select(a=null){this.findInput.inputBox.select(a)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(a){this.findInput.inputBox.setPlaceHolder(a)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(a){this.findInput.inputBox.inputElement.type=a?"password":"text"}set enabled(a){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!a)}set toggles(a){this.findInput.setAdditionalToggles(a)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute("aria-label")||""}set ariaLabel(a){this.findInput.inputBox.inputElement.setAttribute("aria-label",a)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(a,b){this.findInput.inputBox.inputElement.setAttribute(a,b)}removeAttribute(a){this.findInput.inputBox.inputElement.removeAttribute(a)}showDecoration(a){a===cs.A.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:a===cs.A.Info?1:a===cs.A.Warning?2:3,content:""})}stylesForType(a){return this.findInput.inputBox.stylesForType(a===cs.A.Info?1:a===cs.A.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var fG=c(5139),fH=c(19883),fI=c(61327),fJ=c(11628),fK=c(49982);let fL=new fK.d(()=>{let a=fJ.x.Collator(void 0,{numeric:!0,sensitivity:"base"}).value;return{collator:a,collatorIsNumeric:a.resolvedOptions().numeric}});new fK.d(()=>({collator:fJ.x.Collator(void 0,{numeric:!0}).value})),new fK.d(()=>({collator:fJ.x.Collator(void 0,{numeric:!0,sensitivity:"accent"}).value}));var fM=c(20153),fN=c(21367),fO=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},fP=function(a,b){return function(c,d){b(c,d,a)}};let fQ=bC.$;class fR{constructor(a,b,c){this.index=a,this.hasCheckbox=b,this._hidden=!1,this._init=new fK.d(()=>{let a=c.label??"",b=(0,di._k)(a).text.trim(),d=c.ariaLabel||[a,this.saneDescription,this.saneDetail].map(a=>(0,di.R$)(a)).filter(a=>!!a).join(", ");return{saneLabel:a,saneSortLabel:b,saneAriaLabel:d}}),this._saneDescription=c.description,this._saneTooltip=c.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(a){this._element=a}get hidden(){return this._hidden}set hidden(a){this._hidden=a}get saneDescription(){return this._saneDescription}set saneDescription(a){this._saneDescription=a}get saneDetail(){return this._saneDetail}set saneDetail(a){this._saneDetail=a}get saneTooltip(){return this._saneTooltip}set saneTooltip(a){this._saneTooltip=a}get labelHighlights(){return this._labelHighlights}set labelHighlights(a){this._labelHighlights=a}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(a){this._descriptionHighlights=a}get detailHighlights(){return this._detailHighlights}set detailHighlights(a){this._detailHighlights=a}}class fS extends fR{constructor(a,b,c,d,e,f,g){super(a,c,f),this.childIndex=b,this.fireButtonTriggered=d,this._onChecked=e,this.item=f,this._separator=g,this._checked=!1,this.onChecked=c?au.Jh.map(au.Jh.filter(this._onChecked.event,a=>a.element===this),a=>a.checked):au.Jh.None,this._saneDetail=f.detail,this._labelHighlights=f.highlights?.label,this._descriptionHighlights=f.highlights?.description,this._detailHighlights=f.highlights?.detail}get separator(){return this._separator}set separator(a){this._separator=a}get checked(){return this._checked}set checked(a){a!==this._checked&&(this._checked=a,this._onChecked.fire({element:this,checked:a}))}get checkboxDisabled(){return!!this.item.disabled}}!function(a){a[a.NONE=0]="NONE",a[a.MOUSE_HOVER=1]="MOUSE_HOVER",a[a.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(an||(an={}));class fT extends fR{constructor(a,b,c){super(a,!1,c),this.fireSeparatorButtonTriggered=b,this.separator=c,this.children=[],this.focusInsideSeparator=an.NONE}}class fU{getHeight(a){return a instanceof fT?30:a.saneDetail?44:22}getTemplateId(a){return a instanceof fS?fX.ID:fY.ID}}class fV{getWidgetAriaLabel(){return(0,a_.kg)(1753,"Quick Input")}getAriaLabel(a){return a.separator?.label?`${a.saneAriaLabel}, ${a.separator.label}`:a.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(a){return a.hasCheckbox?"checkbox":"option"}isChecked(a){if(a.hasCheckbox&&a instanceof fS)return{get value(){return a.checked},onDidChange:b=>a.onChecked(()=>b())}}}class fW{constructor(a){this.hoverDelegate=a}renderTemplate(a){let b=Object.create(null);b.toDisposeElement=new aE.Cm,b.toDisposeTemplate=new aE.Cm,b.entry=bC.BC(a,fQ(".quick-input-list-entry"));let c=bC.BC(b.entry,fQ("label.quick-input-list-label"));b.outerLabel=c,b.checkbox=b.toDisposeTemplate.add(new aE.HE),b.toDisposeTemplate.add(bC.un(c,bC.Bx.CLICK,a=>{if(b.checkbox.value&&!a.defaultPrevented&&b.checkbox.value.enabled){let a=!b.checkbox.value.checked;b.checkbox.value.checked=a,b.element.checked=a}}));let d=bC.BC(c,fQ(".quick-input-list-rows")),e=bC.BC(d,fQ(".quick-input-list-row")),f=bC.BC(d,fQ(".quick-input-list-row"));b.label=new fG.s(e,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),b.toDisposeTemplate.add(b.label),b.icon=bC.Hs(b.label.element,fQ(".quick-input-list-icon"));let g=bC.BC(e,fQ(".quick-input-list-entry-keybinding"));b.keybinding=new fH.x(g,aL.OS),b.toDisposeTemplate.add(b.keybinding);let h=bC.BC(f,fQ(".quick-input-list-label-meta"));return b.detail=new fG.s(h,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),b.toDisposeTemplate.add(b.detail),b.separator=bC.BC(b.entry,fQ(".quick-input-list-separator")),b.actionBar=new em.E(b.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),b.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),b.toDisposeTemplate.add(b.actionBar),b}disposeTemplate(a){a.toDisposeElement.dispose(),a.toDisposeTemplate.dispose()}disposeElement(a,b,c){c.toDisposeElement.clear(),c.actionBar.clear()}}let fX=class extends fW{static{am=this}static{this.ID="quickpickitem"}constructor(a,b){super(a),this.themeService=b,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return am.ID}ensureCheckbox(a,b){if(!a.hasCheckbox){b.checkbox.value?.domNode.remove(),b.checkbox.clear();return}let c=b.checkbox.value;c?c.setTitle(a.saneLabel):(c=new e5.Sc(a.saneLabel,a.checked,{...ez.$B,size:15}),b.checkbox.value=c,b.outerLabel.prepend(c.domNode)),a.checkboxDisabled?c.disable():c.enable(),c.checked=a.checked,b.toDisposeElement.add(a.onChecked(a=>c.checked=a)),b.toDisposeElement.add(c.onChange(()=>a.checked=c.checked))}renderElement(a,b,c){let d,e=a.element;c.element=e,e.element=c.entry??void 0;let f=e.item;e.element.classList.toggle("not-pickable",!1===e.item.pickable),this.ensureCheckbox(e,c);let{labelHighlights:g,descriptionHighlights:h,detailHighlights:i}=e;if(f.iconPath){let a=(0,fN.HD)(this.themeService.getColorTheme().type)?f.iconPath.dark:f.iconPath.light??f.iconPath.dark,b=aw.r.revive(a);c.icon.className="quick-input-list-icon",c.icon.style.backgroundImage=e6.Tf(b)}else c.icon.style.backgroundImage="",c.icon.className=f.iconClass?`quick-input-list-icon ${f.iconClass}`:"";!e.saneTooltip&&e.saneDescription&&(d={markdown:{value:(0,aF.ih)(e.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:e.saneDescription});let j={matches:g||[],descriptionTitle:d,descriptionMatches:h||[],labelEscapeNewLines:!0};if(j.extraClasses=f.iconClasses,j.italic=f.italic,j.strikethrough=f.strikethrough,c.entry.classList.remove("quick-input-list-separator-as-item"),c.label.setLabel(e.saneLabel,e.saneDescription,j),c.keybinding.set(f.keybinding),e.saneDetail){let a;e.saneTooltip||(a={markdown:{value:(0,aF.ih)(e.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:e.saneDetail}),c.detail.element.style.display="",c.detail.setLabel(e.saneDetail,void 0,{matches:i,title:a,labelEscapeNewLines:!0})}else c.detail.element.style.display="none";e.separator?.label?(c.separator.textContent=e.separator.label,c.separator.style.display="",this.addItemWithSeparator(e)):c.separator.style.display="none",c.entry.classList.toggle("quick-input-list-separator-border",!!e.separator&&0!==e.childIndex);let k=f.buttons;k&&k.length?(c.actionBar.push(k.map((a,b)=>ff(a,`id-${b}`,()=>e.fireButtonTriggered({button:a,item:e.item}))),{icon:!0,label:!1}),c.entry.classList.add("has-actions")):c.entry.classList.remove("has-actions")}disposeElement(a,b,c){this.removeItemWithSeparator(a.element),super.disposeElement(a,b,c)}isItemWithSeparatorVisible(a){return this._itemsWithSeparatorsFrequency.has(a)}addItemWithSeparator(a){this._itemsWithSeparatorsFrequency.set(a,(this._itemsWithSeparatorsFrequency.get(a)||0)+1)}removeItemWithSeparator(a){let b=this._itemsWithSeparatorsFrequency.get(a)||0;b>1?this._itemsWithSeparatorsFrequency.set(a,b-1):this._itemsWithSeparatorsFrequency.delete(a)}};fX=am=fO([fP(1,ch.Gy)],fX);class fY extends fW{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID="quickpickseparator"}get templateId(){return fY.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(a){return this._visibleSeparatorsFrequency.has(a)}renderElement(a,b,c){let d,e=a.element;c.element=e,e.element=c.entry??void 0,e.element.classList.toggle("focus-inside",!!e.focusInsideSeparator);let f=e.separator,{labelHighlights:g,descriptionHighlights:h}=e;c.icon.style.backgroundImage="",c.icon.className="",!e.saneTooltip&&e.saneDescription&&(d={markdown:{value:(0,aF.ih)(e.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:e.saneDescription});let i={matches:g||[],descriptionTitle:d,descriptionMatches:h||[],labelEscapeNewLines:!0};c.entry.classList.add("quick-input-list-separator-as-item"),c.label.setLabel(e.saneLabel,e.saneDescription,i),c.separator.style.display="none",c.entry.classList.add("quick-input-list-separator-border");let j=f.buttons;j&&j.length?(c.actionBar.push(j.map((a,b)=>ff(a,`id-${b}`,()=>e.fireSeparatorButtonTriggered({button:a,separator:e.separator}))),{icon:!0,label:!1}),c.entry.classList.add("has-actions")):c.entry.classList.remove("has-actions"),this.addSeparator(e)}disposeElement(a,b,c){this.removeSeparator(a.element),this.isSeparatorVisible(a.element)||a.element.element?.classList.remove("focus-inside"),super.disposeElement(a,b,c)}addSeparator(a){this._visibleSeparatorsFrequency.set(a,(this._visibleSeparatorsFrequency.get(a)||0)+1)}removeSeparator(a){let b=this._visibleSeparatorsFrequency.get(a)||0;b>1?this._visibleSeparatorsFrequency.set(a,b-1):this._visibleSeparatorsFrequency.delete(a)}}let fZ=class extends aE.jG{constructor(a,b,c,d,e,f){super(),this.parent=a,this.hoverDelegate=b,this.linkOpenerDelegate=c,this.accessibilityService=f,this._onKeyDown=new au.vl,this._onLeave=new au.vl,this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,ec.FY)("VisibleCount",0),this.onChangedVisibleCount=au.Jh.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,ec.FY)("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=au.Jh.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,ec.FY)("CheckedCount",0),this.onChangedCheckedCount=au.Jh.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,ec.Zh)({equalsFn:a$.aI},[]),this.onChangedCheckedElements=au.Jh.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new au.vl,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new au.vl,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new au.vl,this._elementCheckedEventBufferer=new au.at,this._hasCheckboxes=!1,this._inputElements=[],this._elementTree=[],this._itemElements=[],this._elementDisposable=this._register(new aE.Cm),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=bC.BC(this.parent,fQ(".quick-input-list")),this._separatorRenderer=new fY(b),this._itemRenderer=e.createInstance(fX,b),this._tree=this._register(e.createInstance(fM.zL,"QuickInput",this._container,new fU,[this._itemRenderer,this._separatorRenderer],{filter:{filter:a=>a.hidden?0:a instanceof fT?2:1},sorter:{compare:(a,b)=>this.sortByLabel&&this._lastQueryString?function(a,b,c){let d=a.labelHighlights||[],e=b.labelHighlights||[];return d.length&&!e.length?-1:!d.length&&e.length?1:0===d.length&&0===e.length?0:function(a,b,c){let d=a.toLowerCase(),e=b.toLowerCase(),f=function(a,b,c){let d=a.toLowerCase(),e=b.toLowerCase(),f=d.startsWith(c),g=e.startsWith(c);if(f!==g)return f?-1:1;if(f&&g){if(d.length<e.length)return -1;if(d.length>e.length)return 1}return 0}(a,b,c);if(f)return f;let g=d.endsWith(c);if(g!==e.endsWith(c))return g?-1:1;let h=function(a,b,c=!1){let d=a||"",e=b||"",f=fL.value.collator.compare(d,e);return fL.value.collatorIsNumeric&&0===f&&d!==e?d<e?-1:1:f}(d,e);return 0!==h?h:d.localeCompare(e)}(a.saneSortLabel,b.saneSortLabel,c)}(a,b,this._lastQueryString.toLowerCase()):0},accessibilityProvider:new fV,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:fI.KP.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=d,this._registerListeners()}get onDidChangeFocus(){return au.Jh.map(this._tree.onDidChangeFocus,a=>a.elements.filter(a=>a instanceof fS).map(a=>a.item),this._store)}get onDidChangeSelection(){return au.Jh.map(this._tree.onDidChangeSelection,a=>({items:a.elements.filter(a=>a instanceof fS).map(a=>a.item),event:a.browserEvent}),this._store)}get displayed(){return"none"!==this._container.style.display}set displayed(a){this._container.style.display=a?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(a){this._tree.scrollTop=a}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(a){this._tree.ariaLabel=a??""}set enabled(a){this._tree.getHTMLElement().style.pointerEvents=a?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(a){this._matchOnDescription=a}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(a){this._matchOnDetail=a}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(a){this._matchOnLabel=a}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(a){this._matchOnLabelMode=a}get sortByLabel(){return this._sortByLabel}set sortByLabel(a){this._sortByLabel=a}get shouldLoop(){return this._shouldLoop}set shouldLoop(a){this._shouldLoop=a}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(a=>{let b=new c6.Z(a);10===b.keyCode&&this.toggleCheckbox(),this._onKeyDown.fire(b)}))}_registerOnContainerClick(){this._register(bC.ko(this._container,bC.Bx.CLICK,a=>{(a.x||a.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(bC.ko(this._container,bC.Bx.AUXCLICK,a=>{1===a.button&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{let a=this._itemElements.filter(a=>!a.hidden).length;this._visibleCountObservable.set(a,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(a,b)=>b)(a=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(a=>{a.element&&(a.browserEvent.preventDefault(),this._tree.setSelection([a.element]))}))}_registerHoverListeners(){let a=this._register(new aJ.Th("function"==typeof this.hoverDelegate.delay?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async b=>{if(bC.nY(b.browserEvent.target))return void a.cancel();if(!(!bC.nY(b.browserEvent.relatedTarget)&&bC.QX(b.browserEvent.relatedTarget,b.element?.element)))try{await a.trigger(async()=>{b.element instanceof fS&&this.showHover(b.element)})}catch(a){if(!(0,aK.MB)(a))throw a}})),this._register(this._tree.onMouseOut(b=>{bC.QX(b.browserEvent.relatedTarget,b.element?.element)||a.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(a=>{let b=a.elements[0]?this._tree.getParentElement(a.elements[0]):null;for(let a of this._separatorRenderer.visibleSeparators){let c=a===b;!!(a.focusInsideSeparator&an.ACTIVE_ITEM)!==c&&(c?a.focusInsideSeparator|=an.ACTIVE_ITEM:a.focusInsideSeparator&=~an.ACTIVE_ITEM,this._tree.rerender(a))}})),this._register(this._tree.onMouseOver(a=>{let b=a.element?this._tree.getParentElement(a.element):null;for(let a of this._separatorRenderer.visibleSeparators)a===b&&(a.focusInsideSeparator&an.MOUSE_HOVER||(a.focusInsideSeparator|=an.MOUSE_HOVER,this._tree.rerender(a)))})),this._register(this._tree.onMouseOut(a=>{let b=a.element?this._tree.getParentElement(a.element):null;for(let a of this._separatorRenderer.visibleSeparators)a===b&&a.focusInsideSeparator&an.MOUSE_HOVER&&(a.focusInsideSeparator&=~an.MOUSE_HOVER,this._tree.rerender(a))}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(a=>{let b=a.elements.filter(a=>a instanceof fS);b.length!==a.elements.length&&(1===a.elements.length&&a.elements[0]instanceof fT&&(this._tree.setFocus([a.elements[0].children[0]]),this._tree.reveal(a.elements[0],0)),this._tree.setSelection(b))}))}setAllVisibleChecked(a){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(b=>{b.hidden||b.checkboxDisabled||!1===b.item.pickable||(b.checked=a)})})}setElements(a){let b;this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=a,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes"),this._itemElements=[],this._elementTree=a.reduce((c,d,e)=>{let f;if("separator"===d.type){if(!d.buttons)return c;f=b=new fT(e,a=>this._onSeparatorButtonTriggered.fire(a),d)}else{let g,h=e>0?a[e-1]:void 0;h&&"separator"===h.type&&!h.buttons&&(g=h);let i=new fS(e,b?.children?b.children.length:e,this._hasCheckboxes&&!1!==d.pickable,a=>this._onButtonTriggered.fire(a),this._elementChecked,d,g);if(this._itemElements.push(i),b)return b.children.push(i),c;f=i}return c.push(f),c},[]),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{let a=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),b=a?.parentNode;if(a&&b){let c=a.nextSibling;a.remove(),b.insertBefore(a,c)}},0)}setFocusedElements(a){let b=a.map(a=>this._itemElements.find(b=>b.item===a)).filter(a=>!!a).filter(a=>!a.hidden);if(this._tree.setFocus(b),a.length>0){let a=this._tree.getFocus()[0];a&&this._tree.reveal(a)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(a){let b=a.map(a=>this._itemElements.find(b=>b.item===a)).filter(a=>!!a);this._tree.setSelection(b)}getCheckedElements(){return this._itemElements.filter(a=>a.checked).map(a=>a.item)}setCheckedElements(a){this._elementCheckedEventBufferer.bufferEvents(()=>{let b=new Set;for(let c of a)b.add(c);for(let a of this._itemElements)a.checked=b.has(a.item)})}focus(a){if(this._itemElements.length)switch(a===e2.Fp.Second&&this._itemElements.length<2&&(a=e2.Fp.First),a){case e2.Fp.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,a=>a.element instanceof fS);break;case e2.Fp.Second:{this._tree.scrollTop=0;let a=!1;this._tree.focusFirst(void 0,b=>b.element instanceof fS&&(!!a||(a=!a,!1)));break}case e2.Fp.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,a=>a.element instanceof fS);break;case e2.Fp.Next:{let a=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,a=>a.element instanceof fS&&(this._tree.reveal(a.element),!0));let b=this._tree.getFocus();a.length&&a[0]===b[0]&&this._onLeave.fire();break}case e2.Fp.Previous:{let a=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,a=>{if(!(a.element instanceof fS))return!1;let b=this._tree.getParentElement(a.element);return null===b||b.children[0]!==a.element?this._tree.reveal(a.element):this._tree.reveal(b),!0});let b=this._tree.getFocus();a.length&&a[0]===b[0]&&this._onLeave.fire();break}case e2.Fp.NextPage:this._tree.focusNextPage(void 0,a=>a.element instanceof fS&&(this._tree.reveal(a.element),!0));break;case e2.Fp.PreviousPage:this._tree.focusPreviousPage(void 0,a=>{if(!(a.element instanceof fS))return!1;let b=this._tree.getParentElement(a.element);return null===b||b.children[0]!==a.element?this._tree.reveal(a.element):this._tree.reveal(b),!0});break;case e2.Fp.NextSeparator:{let a=!1,b=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,b=>{if(a)return!0;if(b.element instanceof fT)a=!0,this._separatorRenderer.isSeparatorVisible(b.element)?this._tree.reveal(b.element.children[0]):this._tree.reveal(b.element,0);else if(b.element instanceof fS){if(b.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(b.element)?this._tree.reveal(b.element):this._tree.reveal(b.element,0),!0;else if(b.element===this._elementTree[0])return this._tree.reveal(b.element,0),!0}return!1}),b===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,a=>a.element instanceof fS));break}case e2.Fp.PreviousSeparator:{let a,b=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,c=>{if(c.element instanceof fT)b?a||(this._separatorRenderer.isSeparatorVisible(c.element)?this._tree.reveal(c.element):this._tree.reveal(c.element,0),a=c.element.children[0]):b=!0;else if(c.element instanceof fS&&!a){if(c.element.separator)this._itemRenderer.isItemWithSeparatorVisible(c.element)?this._tree.reveal(c.element):this._tree.reveal(c.element,0),a=c.element;else if(c.element===this._elementTree[0])return this._tree.reveal(c.element,0),!0}return!1}),a&&this._tree.setFocus([a])}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(a){this._tree.getHTMLElement().style.maxHeight=a?`${44*Math.floor(a/44)+6}px`:"",this._tree.layout()}filter(a){if(this._lastQueryString=a,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;let b=a;if((a=a.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let c;this._itemElements.forEach(d=>{let e;e="fuzzy"===this.matchOnLabelMode?this.matchOnLabel?(0,di.pz)(a,(0,di._k)(d.saneLabel))??void 0:void 0:this.matchOnLabel?function(a,b){let{text:c,iconOffsets:d}=b;if(!d||0===d.length)return f$(a,c);let e=(0,aF.NB)(c," "),f=c.length-e.length,g=f$(a,e);if(g)for(let a of g){let b=d[a.start+f]+f;a.start+=b,a.end+=b}return g}(b,(0,di._k)(d.saneLabel))??void 0:void 0;let f=this.matchOnDescription?(0,di.pz)(a,(0,di._k)(d.saneDescription||""))??void 0:void 0,g=this.matchOnDetail?(0,di.pz)(a,(0,di._k)(d.saneDetail||""))??void 0:void 0;if(e||f||g?(d.labelHighlights=e,d.descriptionHighlights=f,d.detailHighlights=g,d.hidden=!1):(d.labelHighlights=void 0,d.descriptionHighlights=void 0,d.detailHighlights=void 0,d.hidden=!d.item||!d.item.alwaysShow),d.item?d.separator=void 0:d.separator&&(d.hidden=!0),!this.sortByLabel){let a=d.index&&this._inputElements[d.index-1]||void 0;a?.type!=="separator"||a.buttons||(c=a),c&&!d.hidden&&(d.separator=c,c=void 0)}})}else this._itemElements.forEach(a=>{a.labelHighlights=void 0,a.descriptionHighlights=void 0,a.detailHighlights=void 0,a.hidden=!1;let b=a.index&&this._inputElements[a.index-1];a.item&&(a.separator=b&&"separator"===b.type&&!b.buttons?b:void 0)});return this._setElementsToTree(this._sortByLabel&&a?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{let a=this._tree.getFocus().filter(a=>a instanceof fS),b=this._allVisibleChecked(a);for(let c of a)c.checkboxDisabled||(c.checked=!b)})}style(a){this._tree.style(a)}toggleHover(){let a=this._tree.getFocus()[0];if(!a?.saneTooltip||!(a instanceof fS))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(a);let b=new aE.Cm;b.add(this._tree.onDidChangeFocus(a=>{a.elements[0]instanceof fS&&this.showHover(a.elements[0])})),this._lastHover&&b.add(this._lastHover),this._elementDisposable.add(b)}_setElementsToTree(a){let b=[];for(let c of a)c instanceof fT?b.push({element:c,collapsible:!1,collapsed:!1,children:c.children.map(a=>({element:a,collapsible:!1,collapsed:!1}))}):b.push({element:c,collapsible:!1,collapsed:!1});this._tree.setChildren(null,b)}_allVisibleChecked(a,b=!0){for(let c=0,d=a.length;c<d;c++){let d=a[c];if(!d.hidden&&!1!==d.item.pickable)if(!d.checked)return!1;else b=!0}return b}_updateCheckedObservables(){(0,ec.Rn)(a=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),a);let b=this._itemElements.filter(a=>a.checked).length;this._checkedCountObservable.set(b,a),this._checkedElementsObservable.set(this.getCheckedElements(),a)})}showHover(a){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),a.element&&a.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:a.saneTooltip,target:a.element,linkHandler:a=>{this.linkOpenerDelegate(a)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function f$(a,b){let c=b.toLowerCase().indexOf(a.toLowerCase());return -1!==c?[{start:c,end:c+a.length}]:null}fO([fa.B],fZ.prototype,"onDidChangeFocus",null),fO([fa.B],fZ.prototype,"onDidChangeSelection",null),fZ=fO([fP(4,cU._Y),fP(5,c_.j)],fZ);var f_=c(79854);function f0(a,b={}){dg.f.registerCommandAndKeybindingRule({weight:200,when:cj.M$.and(cj.M$.or(cj.M$.equals(fl,"quickPick"),cj.M$.equals(fl,"quickTree")),fj),metadata:{description:(0,a_.kg)(1742,"Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},...a,secondary:f2(a.primary,a.secondary??[],b)})}let f1=aL.zx?256:2048;function f2(a,b,c={}){return c.withAltMod&&b.push(512+a),c.withCtrlMod&&(b.push(f1+a),c.withAltMod&&b.push(512+f1+a)),c.withCmdMod&&aL.zx&&(b.push(2048+a),c.withCtrlMod&&b.push(2304+a),c.withAltMod&&(b.push(2560+a),c.withCtrlMod&&b.push(2816+a))),b}function f3(a,b){return c=>{let d=c.get(e2.GK).currentQuickInput;if(d)return b&&d.quickNavigate?d.focus(b):d.focus(a)}}f0({id:"quickInput.pageNext",primary:12,handler:f3(e2.Fp.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),f0({id:"quickInput.pagePrevious",primary:11,handler:f3(e2.Fp.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),f0({id:"quickInput.first",primary:f1+14,handler:f3(e2.Fp.First)},{withAltMod:!0,withCmdMod:!0}),f0({id:"quickInput.last",primary:f1+13,handler:f3(e2.Fp.Last)},{withAltMod:!0,withCmdMod:!0}),f0({id:"quickInput.next",primary:18,handler:f3(e2.Fp.Next)},{withCtrlMod:!0}),f0({id:"quickInput.previous",primary:16,handler:f3(e2.Fp.Previous)},{withCtrlMod:!0});let f4=(0,a_.kg)(1743,"If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),f5=(0,a_.kg)(1744,"If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");aL.zx?(f0({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:f3(e2.Fp.NextSeparator,e2.Fp.Next),metadata:{description:f4}}),f0({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:f3(e2.Fp.NextSeparator)},{withCtrlMod:!0}),f0({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:f3(e2.Fp.PreviousSeparator,e2.Fp.Previous),metadata:{description:f5}}),f0({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:f3(e2.Fp.PreviousSeparator)},{withCtrlMod:!0})):(f0({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:f3(e2.Fp.NextSeparator,e2.Fp.Next),metadata:{description:f4}}),f0({id:"quickInput.nextSeparator",primary:2578,handler:f3(e2.Fp.NextSeparator)}),f0({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:f3(e2.Fp.PreviousSeparator,e2.Fp.Previous),metadata:{description:f5}}),f0({id:"quickInput.previousSeparator",primary:2576,handler:f3(e2.Fp.PreviousSeparator)})),dg.f.registerCommandAndKeybindingRule({id:"quickInput.accept",primary:3,weight:200,when:cj.M$.and(cj.M$.notEquals(fl,"quickWidget"),fj),metadata:{description:(0,a_.kg)(1745,"Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},handler:a=>{let b=a.get(e2.GK).currentQuickInput;b?.accept()},secondary:f2(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0})}),f0({id:"quickInput.acceptInBackground",when:cj.M$.and(fj,cj.M$.equals(fl,"quickPick"),cj.M$.or(f_.J7.negate(),fp)),primary:17,weight:250,handler:a=>{let b=a.get(e2.GK).currentQuickInput;b?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),function(a,b={}){dg.f.registerCommandAndKeybindingRule({weight:200,when:fj,metadata:{description:(0,a_.kg)(1741,"Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},...a,secondary:f2(a.primary,a.secondary??[],b)})}({id:"quickInput.hide",primary:9,handler:a=>{let b=a.get(e2.GK).currentQuickInput;b?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),f0({id:"quickInput.toggleHover",primary:10|f1,handler:a=>{a.get(e2.GK).toggleHover()}});var f6=c(21899),f7=c(39775);let f8=bC.$,f9=class extends aE.jG{static{ao=this}static{this.ID="quickInputTreeElement"}constructor(a,b,c,d){super(),this._hoverDelegate=a,this._buttonTriggeredEmitter=b,this.onCheckedEvent=c,this._themeService=d,this.templateId=ao.ID}renderTemplate(a){let b=new aE.Cm,c=bC.BC(a,f8(".quick-input-tree-entry")),d=b.add(new e5.kk("",!1,{...ez.$B,size:15}));c.appendChild(d.domNode);let e=bC.BC(c,f8("label.quick-input-tree-label")),f=bC.BC(e,f8(".quick-input-tree-rows")),g=bC.BC(f,f8(".quick-input-tree-row")),h=bC.Hs(g,f8(".quick-input-tree-icon")),i=b.add(new fG.s(g,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),j=b.add(new em.E(c,this._hoverDelegate?{hoverDelegate:this._hoverDelegate}:void 0));return j.domNode.classList.add("quick-input-tree-entry-action-bar"),{toDisposeTemplate:b,entry:c,checkbox:d,icon:h,label:i,actionBar:j,toDisposeElement:new aE.Cm}}renderElement(a,b,c,d){let e,f=c.toDisposeElement,g=a.element;if(!1===g.pickable?c.checkbox.domNode.style.display="none":(c.checkbox.domNode.style.display="",c.checkbox.checked=g.checked??!1,f.add(au.Jh.filter(this.onCheckedEvent,a=>a.item===g)(a=>c.checkbox.checked=a.checked)),g.disabled&&c.checkbox.disable()),g.iconPath){let a=(0,fN.HD)(this._themeService.getColorTheme().type)?g.iconPath.dark:g.iconPath.light??g.iconPath.dark,b=aw.r.revive(a);c.icon.className="quick-input-tree-icon",c.icon.style.backgroundImage=e6.Tf(b)}else c.icon.style.backgroundImage="",c.icon.className=g.iconClass?`quick-input-tree-icon ${g.iconClass}`:"";let{labelHighlights:h,descriptionHighlights:i}=a.filterData||{};g.description&&(e={markdown:{value:(0,aF.ih)(g.description),supportThemeIcons:!0},markdownNotSupportedFallback:g.description}),c.label.setLabel(g.label,g.description,{matches:h,descriptionMatches:i,extraClasses:g.iconClasses,italic:g.italic,strikethrough:g.strikethrough,labelEscapeNewLines:!0,descriptionTitle:e});let j=g.buttons;j&&j.length?(c.actionBar.push(j.map((a,b)=>ff(a,`tree-${b}`,()=>this._buttonTriggeredEmitter.fire({item:g,button:a}))),{icon:!0,label:!1}),c.entry.classList.add("has-actions")):c.entry.classList.remove("has-actions")}disposeElement(a,b,c,d){c.toDisposeElement.clear(),c.actionBar.clear()}disposeTemplate(a){a.toDisposeElement.dispose(),a.toDisposeTemplate.dispose()}};f9=ao=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(h=ch.Gy,function(a,b){h(a,b,3)})],f9);class ga{getHeight(a){return 22}getTemplateId(a){return f9.ID}}class gb{constructor(a){this.onCheckedEvent=a}getWidgetAriaLabel(){return(0,a_.kg)(1755,"Quick Tree")}getAriaLabel(a){return a.ariaLabel||[a.label,a.description].map(a=>(0,di.R$)(a)).filter(a=>!!a).join(", ")}getWidgetRole(){return"tree"}getRole(a){return"checkbox"}isChecked(a){return{get value(){return!0===a.checked},onDidChange:b=>au.Jh.filter(this.onCheckedEvent,b=>b.item===a)(a=>b())}}}class gc{constructor(){this.filterValue="",this.matchOnLabel=!0,this.matchOnDescription=!1}filter(a,b){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return a.children?{visibility:2,data:{}}:{visibility:1,data:{}};let c=this.matchOnLabel?(0,di.pz)(this.filterValue,(0,di._k)(a.label))??void 0:void 0,d=this.matchOnDescription?(0,di.pz)(this.filterValue,(0,di._k)(a.description||""))??void 0:void 0;return{visibility:1===b||c||d?1:2*!!a.children,data:{labelHighlights:c,descriptionHighlights:d}}}}let gd=bC.$,ge=class extends aE.jG{constructor(a,b,c){super(),this.instantiationService=c,this._onDidTriggerButton=this._register(new au.vl),this._onDidChangeCheckboxState=this._register(new au.vl),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new au.vl),this._onLeave=new au.vl,this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new au.vl),this.onDidAccept=this._onDidAccept.event,this._container=bC.BC(a,gd(".quick-input-tree")),this._renderer=this._register(this.instantiationService.createInstance(f9,b,this._onDidTriggerButton,this.onDidChangeCheckboxState)),this._filter=this.instantiationService.createInstance(gc),this._tree=this._register(this.instantiationService.createInstance(fM.zL,"QuickInputTree",this._container,new ga,[this._renderer],{accessibilityProvider:new gb(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:fI.KP.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:{compare:(a,b)=>{if(a.label<b.label)return -1;if(a.label>b.label)return 1;if(a.description&&b.description){if(a.description<b.description)return -1;else if(a.description>b.description)return 1}else if(a.description)return -1;else if(b.description)return 1;return 0}},filter:this._filter})),this.registerOnOpenListener()}get tree(){return this._tree}get displayed(){return"none"!==this._container.style.display}set displayed(a){this._container.style.display=a?"":"none"}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}layout(a){this._tree.getHTMLElement().style.maxHeight=a?`${44*Math.floor(a/44)+6}px`:"",this._tree.layout()}registerOnOpenListener(){this._register(this._tree.onDidOpen(a=>{let b=a.element;if(!b||b.disabled)return;if(!1===b.pickable){this._tree.setFocus([b]),this._onDidAccept.fire();return}let c=!0!==b.checked;if((b.checked??!1)===c)return;b.checked=c,this._tree.rerender(b);let d=new Set,e=[...this._tree.getNode(b).children];for(;e.length;){let a=e.shift();a?.element&&!d.has(a.element)&&(d.add(a.element),(a.element.checked??!1)!==b.checked&&(a.element.checked=b.checked,this._tree.rerender(a.element)),e.push(...a.children))}let f=this._tree.getParentElement(b);for(;f;){let a=function(a){let b=!1,c=!1,d=!1;for(let e of a){switch(e.element?.checked){case"partial":d=!0;break;case!0:b=!0;break;default:c=!0}if(b&&c&&d)break}return c?d?"partial":!!b&&"partial":d?"partial":b}([...this._tree.getNode(f).children]);(f.checked??!1)!==a&&(f.checked=a,this._tree.rerender(f)),f=this._tree.getParentElement(f)}this._onDidChangeCheckboxState.fire({item:b,checked:b.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}))}getCheckedLeafItems(){let a=new Set,b=[...this._tree.getNode().children],c=[];for(;b.length;){let d=b.shift();!(!d?.element||a.has(d.element))&&d.element.checked&&(a.add(d.element),b.push(...d.children),d.element.children||c.push(d.element))}return c}};ge=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(i=cU._Y,function(a,b){i(a,b,2)})],ge);var gf=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},gg=function(a,b){return function(c,d){b(c,d,a)}};let gh=bC.$,gi="workbench.quickInput.viewState",gj=class extends aE.jG{static{ap=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(a,b,c,d,e){super(),this.options=a,this.layoutService=b,this.instantiationService=c,this.storageService=e,this.enabled=!0,this.onDidAcceptEmitter=this._register(new au.vl),this.onDidCustomEmitter=this._register(new au.vl),this.onDidTriggerButtonEmitter=this._register(new au.vl),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new au.vl),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new au.vl),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=fi.bindTo(d),this.quickInputTypeContext=fm.bindTo(d),this.endOfQuickInputBoxContext=fo.bindTo(d),this.idPrefix=a.idPrefix,this._container=a.container,this.styles=a.styles,this._register(au.Jh.runAndSubscribe(bC.Iv,({window:a,disposables:b})=>this.registerKeyModsListeners(a,b),{window:aD.G,disposables:this._store})),this._register(bC.q3(a=>{this.ui&&bC.zk(this.ui.container)===a&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})),this.viewState=this.loadViewState()}registerKeyModsListeners(a,b){let c=a=>{this.keyMods.ctrlCmd=a.ctrlKey||a.metaKey,this.keyMods.alt=a.altKey};for(let d of[bC.Bx.KEY_DOWN,bC.Bx.KEY_UP,bC.Bx.MOUSE_DOWN])b.add(bC.ko(a,d,c,!0))}getUI(a){if(this.ui)return a&&bC.zk(this._container)!==bC.zk(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;let b=bC.BC(this._container,gh(".quick-input-widget.show-file-icons"));b.tabIndex=-1,b.style.display="none";let c=el.li(b),d=bC.BC(b,gh(".quick-input-titlebar")),e=this._register(new em.E(d,{hoverDelegate:this.options.hoverDelegate}));e.domNode.classList.add("quick-input-left-action-bar");let f=bC.BC(d,gh(".quick-input-title")),g=this._register(new em.E(d,{hoverDelegate:this.options.hoverDelegate}));g.domNode.classList.add("quick-input-right-action-bar");let h=bC.BC(b,gh(".quick-input-header")),i=this._register(new e5.kk((0,a_.kg)(1746,"Toggle all checkboxes"),!1,{...ez.$B,size:15}));bC.BC(h,i.domNode),this._register(i.onChange(()=>{let a=i.checked;B.setAllVisibleChecked(!0===a)})),this._register(bC.ko(i.domNode,bC.Bx.CLICK,a=>{(a.x||a.y)&&m.setFocus()}));let j=bC.BC(h,gh(".quick-input-description")),k=bC.BC(h,gh(".quick-input-and-message")),l=bC.BC(k,gh(".quick-input-filter")),m=this._register(new fF(l,this.styles.inputBox,this.styles.toggle));m.setAttribute("aria-describedby",`${this.idPrefix}message`);let n=bC.BC(l,gh(".quick-input-visible-count"));n.setAttribute("aria-live","polite"),n.setAttribute("aria-atomic","true");let o=this._register(new fw.x(n,{countFormat:(0,a_.kg)(1747,"{0} Results")},this.styles.countBadge)),p=bC.BC(l,gh(".quick-input-count"));p.setAttribute("aria-live","polite");let q=this._register(new fw.x(p,{countFormat:(0,a_.kg)(1748,"{0} Selected")},this.styles.countBadge)),r=this._register(new em.E(h,{hoverDelegate:this.options.hoverDelegate}));r.domNode.classList.add("quick-input-inline-action-bar");let s=bC.BC(h,gh(".quick-input-action")),t=this._register(new fv.$(s,this.styles.button));t.label=(0,a_.kg)(1749,"OK"),this._register(t.onDidClick(a=>{this.onDidAcceptEmitter.fire()}));let u=bC.BC(h,gh(".quick-input-action")),v=this._register(new fv.$(u,{...this.styles.button,supportIcons:!0}));v.label=(0,a_.kg)(1750,"Custom"),this._register(v.onDidClick(a=>{this.onDidCustomEmitter.fire()}));let w=bC.BC(k,gh(`#${this.idPrefix}message.quick-input-message`)),x=this._register(new fC(b,this.styles.progressBar));x.getContainer().classList.add("quick-input-progress");let y=bC.BC(b,gh(".quick-input-html-widget"));y.tabIndex=-1;let z=bC.BC(b,gh(".quick-input-description")),A=this.idPrefix+"list",B=this._register(this.instantiationService.createInstance(fZ,b,this.options.hoverDelegate,this.options.linkOpenerDelegate,A));m.setAttribute("aria-controls",A),this._register(B.onDidChangeFocus(()=>{m.hasFocus()&&m.setAttribute("aria-activedescendant",B.getActiveDescendant()??"")})),this._register(B.onChangedAllVisibleChecked(a=>{i.checked=a})),this._register(B.onChangedVisibleCount(a=>{o.setCount(a)})),this._register(B.onChangedCheckedCount(a=>{q.setCount(a)})),this._register(B.onLeave(()=>{setTimeout(()=>{this.controller&&(m.setFocus(),this.controller instanceof fs&&this.controller.canSelectMany&&B.clearFocus())},0)}));let C=this._register(this.instantiationService.createInstance(ge,b,this.options.hoverDelegate));this._register(C.tree.onDidChangeFocus(()=>{m.hasFocus()&&m.setAttribute("aria-activedescendant",C.getActiveDescendant()??"")})),this._register(C.onLeave(()=>{setTimeout(()=>{this.controller&&(m.setFocus(),C.tree.setFocus([]))},0)})),this._register(C.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(C.tree.onDidChangeContentHeight(()=>this.updateLayout()));let D=bC.w5(b);return this._register(D),this._register(bC.ko(b,bC.Bx.FOCUS,a=>{let b=this.getUI();if(bC.QX(a.relatedTarget,b.inputContainer)){let a=b.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==a&&this.endOfQuickInputBoxContext.set(a)}bC.QX(a.relatedTarget,b.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=bC.sb(a.relatedTarget)?a.relatedTarget:void 0)},!0)),this._register(D.onDidBlur(()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(e2.kF.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(m.onKeyDown(a=>{let b=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==b&&this.endOfQuickInputBoxContext.set(b),m.removeAttribute("aria-activedescendant")})),this._register(bC.ko(b,bC.Bx.FOCUS,a=>{m.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(gk,this._container,b,[{node:d,includeChildren:!0},{node:h,includeChildren:!1}],this.viewState)),this._register((0,ec.fm)(a=>{let b=this.dndController?.dndViewState.read(a);b&&(void 0!==b.top&&void 0!==b.left?this.viewState={...this.viewState,top:b.top,left:b.left}:this.viewState=void 0,this.updateLayout(),b.done&&this.saveViewState(this.viewState))})),this.ui={container:b,styleSheet:c,leftActionBar:e,titleBar:d,title:f,description1:z,description2:j,widget:y,rightActionBar:g,inlineActionBar:r,checkAll:i,inputContainer:k,filterContainer:l,inputBox:m,visibleCountContainer:n,visibleCount:o,countContainer:p,count:q,okContainer:s,ok:t,message:w,customButtonContainer:u,customButton:v,list:B,tree:C,progressBar:x,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:a=>this.show(a),hide:()=>this.hide(),setVisibilities:a=>this.setVisibilities(a),setEnabled:a=>this.setEnabled(a),setContextKey:a=>this.options.setContextKey(a),linkOpenerDelegate:a=>this.options.linkOpenerDelegate(a)},this.updateStyles(),this.ui}reparentUI(a){this.ui&&(this._container=a,bC.BC(this._container,this.ui.container),this.dndController?.reparentUI(this._container))}pick(a,b={},c=at.XO.None){return new Promise((d,e)=>{let f,g=a=>{g=d,b.onKeyMods?.(h.keyMods),d(a)};if(c.isCancellationRequested)return void g(void 0);let h=this.createQuickPick({useSeparators:!0}),i=[h,h.onDidAccept(()=>{if(h.canSelectMany)g(h.selectedItems.slice()),h.hide();else{let a=h.activeItems[0];a&&(g(a),h.hide())}}),h.onDidChangeActive(a=>{let c=a[0];c&&b.onDidFocus&&b.onDidFocus(c)}),h.onDidChangeSelection(a=>{if(!h.canSelectMany){let b=a[0];b&&(g(b),h.hide())}}),h.onDidTriggerItemButton(a=>b.onDidTriggerItemButton&&b.onDidTriggerItemButton({...a,removeItem:()=>{let b=h.items.indexOf(a.item);if(-1!==b){let a=h.items.slice(),c=a.splice(b,1),d=h.activeItems.filter(a=>a!==c[0]),e=h.keepScrollPosition;h.keepScrollPosition=!0,h.items=a,d&&(h.activeItems=d),h.keepScrollPosition=e}}})),h.onDidTriggerSeparatorButton(a=>b.onDidTriggerSeparatorButton?.(a)),h.onDidChangeValue(a=>{f&&!a&&(1!==h.activeItems.length||h.activeItems[0]!==f)&&(h.activeItems=[f])}),c.onCancellationRequested(()=>{h.hide()}),h.onDidHide(()=>{(0,aE.AS)(i),g(void 0)})];h.title=b.title,b.value&&(h.value=b.value),h.canSelectMany=!!b.canPickMany,h.placeholder=b.placeHolder,h.ignoreFocusOut=!!b.ignoreFocusLost,h.matchOnDescription=!!b.matchOnDescription,h.matchOnDetail=!!b.matchOnDetail,void 0!==b.sortByLabel&&(h.sortByLabel=b.sortByLabel),h.matchOnLabel=void 0===b.matchOnLabel||b.matchOnLabel,h.quickNavigate=b.quickNavigate,h.hideInput=!!b.hideInput,h.contextKey=b.contextKey,h.busy=!0,Promise.all([a,b.activeItem]).then(([a,b])=>{f=b,h.busy=!1,h.items=a,h.canSelectMany&&(h.selectedItems=a.filter(a=>"separator"!==a.type&&a.picked)),f&&(h.activeItems=[f])}),h.show(),Promise.resolve(a).then(void 0,a=>{e(a),h.hide()})})}setValidationOnInput(a,b){b&&(0,c0.Kg)(b)?(a.severity=cs.A.Error,a.validationMessage=b):b&&!(0,c0.Kg)(b)?(a.severity=b.severity,a.validationMessage=b.content):(a.severity=cs.A.Ignore,a.validationMessage=void 0)}input(a={},b=at.XO.None){return new Promise(c=>{if(b.isCancellationRequested)return void c(void 0);let d=this.createInputBox(),e=a.validateInput||(()=>Promise.resolve(void 0)),f=au.Jh.debounce(d.onDidChangeValue,(a,b)=>b,100),g=a.value||"",h=Promise.resolve(e(g)),i=[d,f(a=>{a!==g&&(h=Promise.resolve(e(a)),g=a),h.then(b=>{a===g&&this.setValidationOnInput(d,b)})}),d.onDidAccept(()=>{let a=d.value;a!==g&&(h=Promise.resolve(e(a)),g=a),h.then(b=>{b&&((0,c0.Kg)(b)||b.severity===cs.A.Error)?a===g&&this.setValidationOnInput(d,b):(c(a),d.hide())})}),b.onCancellationRequested(()=>{d.hide()}),d.onDidHide(()=>{(0,aE.AS)(i),c(void 0)})];d.title=a.title,d.value=a.value||"",d.valueSelection=a.valueSelection,d.prompt=a.prompt,d.placeholder=a.placeHolder,d.password=!!a.password,d.ignoreFocusOut=!!a.ignoreFocusLost,d.show()})}createQuickPick(a={useSeparators:!1}){return new fs(this.getUI(!0))}createInputBox(){return new ft(this.getUI(!0))}show(a){let b=this.getUI(!0);this.onShowEmitter.fire();let c=this.controller;this.controller=a,c?.didHide(),this.setEnabled(!0),b.leftActionBar.clear(),b.title.textContent="",b.description1.textContent="",b.description2.textContent="",bC.Ln(b.widget),b.rightActionBar.clear(),b.inlineActionBar.clear(),b.checkAll.checked=!1,b.inputBox.placeholder="",b.inputBox.password=!1,b.inputBox.showDecoration(cs.A.Ignore),b.visibleCount.setCount(0),b.count.setCount(0),bC.Ln(b.message),b.progressBar.stop(),b.list.setElements([]),b.list.matchOnDescription=!1,b.list.matchOnDetail=!1,b.list.matchOnLabel=!0,b.list.sortByLabel=!0,b.ignoreFocusOut=!1,b.inputBox.toggles=void 0;let d=this.options.backKeybindingLabel();fq.tooltip=d?(0,a_.kg)(1751,"Back ({0})",d):(0,a_.kg)(1752,"Back"),b.container.style.display="",this.updateLayout(),this.dndController?.layoutContainer(),b.inputBox.setFocus(),this.quickInputTypeContext.set(a.type)}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(a){let b=this.getUI();b.title.style.display=a.title?"":"none",b.description1.style.display=a.description&&(a.inputBox||a.checkAll)?"":"none",b.description2.style.display=a.description&&!(a.inputBox||a.checkAll)?"":"none",b.checkAll.domNode.style.display=a.checkAll?"":"none",b.inputContainer.style.display=a.inputBox?"":"none",b.filterContainer.style.display=a.inputBox?"":"none",b.visibleCountContainer.style.display=a.visibleCount?"":"none",b.countContainer.style.display=a.count?"":"none",b.okContainer.style.display=a.ok?"":"none",b.customButtonContainer.style.display=a.customButton?"":"none",b.message.style.display=a.message?"":"none",b.progressBar.getContainer().style.display=a.progressBar?"":"none",b.list.displayed=!!a.list,b.tree.displayed=!!a.tree,b.container.classList.toggle("show-checkboxes",!!a.checkBox),b.container.classList.toggle("hidden-input",!a.inputBox&&!a.description),this.updateLayout()}setEnabled(a){if(a!==this.enabled){this.enabled=a;let b=this.getUI();for(let c of b.leftActionBar.viewItems)c.action.enabled=a;for(let c of b.rightActionBar.viewItems)c.action.enabled=a;a?b.checkAll.enable():b.checkAll.disable(),b.inputBox.enabled=a,b.ok.enabled=a,b.list.enabled=a}}hide(a){let b=this.controller;if(!b)return;b.willHide(a);let c=this.ui?.container,d=c&&!bC.nR(c);if(this.controller=null,this.onHideEmitter.fire(),c&&(c.style.display="none"),!d){let a=this.previousFocusElement;for(;a&&!a.offsetParent;)a=a.parentElement??void 0;a?.offsetParent?(a.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}b.didHide(a)}toggleHover(){this.isVisible()&&this.controller instanceof fs&&this.getUI().list.toggleHover()}layout(a,b){this.dimension=a,this.titleBarOffset=b,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){let a=this.ui.container.style,b=Math.min(.62*this.dimension.width,ap.MAX_WIDTH);a.width=b+"px",a.top=`${this.viewState?.top?Math.round(this.dimension.height*this.viewState.top):this.titleBarOffset}px`,a.left=`${Math.round(this.dimension.width*(this.viewState?.left??.5)-b/2)}px`,this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height),this.ui.tree.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(a){this.styles=a,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:a,quickInputBackground:b,quickInputForeground:c,widgetBorder:d,widgetShadow:e}=this.styles.widget;this.ui.titleBar.style.backgroundColor=a??"",this.ui.container.style.backgroundColor=b??"",this.ui.container.style.color=c??"",this.ui.container.style.border=d?`1px solid ${d}`:"",this.ui.container.style.boxShadow=e?`0 0 8px 2px ${e}`:"",this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);let f=[];this.styles.pickerGroup.pickerGroupBorder&&f.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&f.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&f.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(f.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&f.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&f.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&f.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&f.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&f.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),f.push("}"));let g=f.join("\n");g!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=g)}}loadViewState(){try{let a=JSON.parse(this.storageService.get(gi,-1,"{}"));if(void 0!==a.top||void 0!==a.left)return a}catch{}}saveViewState(a){this.layoutService.activeContainer===this.layoutService.mainContainer&&(void 0!==a?this.storageService.store(gi,JSON.stringify(a),-1,1):this.storageService.remove(gi,-1))}};gj=ap=gf([gg(1,cn.x),gg(2,cU._Y),gg(3,cj.fN),gg(4,f6.CS)],gj);let gk=class extends aE.jG{constructor(a,b,c,d,e,f,g){super(),this._container=a,this._quickInputContainer=b,this._quickInputDragAreas=c,this._layoutService=e,this.configurationService=g,this.dndViewState=(0,ec.FY)(this,void 0),this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._quickInputAlignmentContext=fk.bindTo(f);let h="custom"===(0,f7.gO)(this.configurationService);this._controlsOnLeft=h&&1===aL.iD,this._controlsOnRight=h&&(3===aL.iD||2===aL.iD),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...d,done:!0},void 0)}reparentUI(a){this._container=a}layoutContainer(a=this._layoutService.activeContainerDimension){let b=this.dndViewState.get(),c=this._quickInputContainer.getBoundingClientRect();if(b?.top&&b?.left){let d=Math.round(100*b.left)/100,e=a.width,f=c.width;this._layout(b.top*a.height,d*e-f/2)}}_registerLayoutListener(){this._register(au.Jh.filter(this._layoutService.onDidLayoutContainer,a=>a.container===this._container)(a=>this.layoutContainer(a.dimension)))}registerMouseListeners(){let a=this._quickInputContainer;this._register(bC.xb(a,b=>{let c=new ei.P(bC.zk(a),b);2===c.detail&&this._quickInputDragAreas.some(({node:a,includeChildren:b})=>b?bC.QX(c.target,a):c.target===a)&&this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0)})),this._register(bC._9(a,a=>{let b=bC.zk(this._layoutService.activeContainer),c=new ei.P(b,a);if(!this._quickInputDragAreas.some(({node:a,includeChildren:b})=>b?bC.QX(c.target,a):c.target===a))return;let d=this._quickInputContainer.getBoundingClientRect(),e=c.browserEvent.clientX-d.left,f=c.browserEvent.clientY-d.top,g=!1,h=bC.J$(b,a=>{new ei.P(b,a).preventDefault(),g||(g=!0),this._layout(a.clientY-f,a.clientX-e)}),i=bC.xb(b,a=>{if(g){let a=this.dndViewState.get();this.dndViewState.set({top:a?.top,left:a?.left,done:!0},void 0)}h.dispose(),i.dispose()})}))}_layout(a,b){let c=this._getTopSnapValue(),d=this._getCenterYSnapValue(),e=this._getCenterXSnapValue();(a=Math.max(0,Math.min(a,this._container.clientHeight-this._quickInputContainer.clientHeight)))<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?b=Math.max(b,80/(0,ej.pR)(bC.fz())):this._controlsOnRight&&(b=Math.min(b,this._container.clientWidth-this._quickInputContainer.clientWidth-140/(0,ej.pR)(bC.fz()))));let f=Math.abs(a-c)<this._snapThreshold,g=Math.abs((a=f?c:a)-d)<this._snapThreshold,h=(a=g?d:a)/this._container.clientHeight,i=Math.abs((b=Math.max(0,Math.min(b,this._container.clientWidth-this._quickInputContainer.clientWidth)))-e)<this._snapThreshold;b=i?e:b;let j=this._container.clientWidth,k=this._quickInputContainer.clientWidth,l=b;if(this.dndViewState.set({top:h,left:(l+k/2)/j,done:!1},void 0),i){if(f)return void this._quickInputAlignmentContext.set("top");else if(g)return void this._quickInputAlignmentContext.set("center")}this._quickInputAlignmentContext.set(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};gk=gf([gg(4,cn.x),gg(5,cj.fN),gg(6,b1.pG)],gk);var gl=function(a,b){return function(c,d){b(c,d,a)}};let gm=class extends ch.lR{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(e4))),this._quickAccess}constructor(a,b,c,d,e){super(c),this.instantiationService=a,this.contextKeyService=b,this.layoutService=d,this.configurationService=e,this._onShow=this._register(new au.vl),this._onHide=this._register(new au.vl),this.contexts=new Map}createController(a=this.layoutService,b){let c={idPrefix:"quickInput_",container:a.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>void 0,setContextKey:a=>this.setContextKey(a),linkOpenerDelegate:a=>{this.instantiationService.invokeFunction(b=>{b.get(cY.Cr).open(a,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>a.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(fu))},d=this._register(this.instantiationService.createInstance(gj,{...c,...b}));return d.layout(a.activeContainerDimension,a.activeContainerOffset.quickPickTop),this._register(a.onDidLayoutActiveContainer(b=>{(0,bC.zk)(a.activeContainer)===(0,bC.zk)(d.container)&&d.layout(b,a.activeContainerOffset.quickPickTop)})),this._register(a.onDidChangeActiveContainer(()=>{d.isVisible()||d.layout(a.activeContainerDimension,a.activeContainerOffset.quickPickTop)})),this._register(d.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(d.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),d}setContextKey(a){let b;a&&((b=this.contexts.get(a))||(b=new cj.N1(a,!1).bindTo(this.contextKeyService),this.contexts.set(a,b))),b&&b.get()||(this.resetContextKeys(),b?.set(!0))}resetContextKeys(){this.contexts.forEach(a=>{a.get()&&a.reset()})}pick(a,b,c=at.XO.None){return this.controller.pick(a,b,c)}input(a={},b=at.XO.None){return this.controller.input(a,b)}createQuickPick(a={useSeparators:!1}){return this.controller.createQuickPick(a)}createInputBox(){return this.controller.createInputBox()}toggleHover(){this.hasController&&this.controller.toggleHover()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,cR.GuP)(cR.ELA),quickInputForeground:(0,cR.GuP)(cR.HJZ),quickInputTitleBackground:(0,cR.GuP)(cR.er1),widgetBorder:(0,cR.GuP)(cR.DSL),widgetShadow:(0,cR.GuP)(cR.f9l)},inputBox:ez.ho,toggle:ez.mk,countBadge:ez.m$,button:ez.cv,progressBar:ez.oJ,keybindingLabel:ez.ir,list:(0,ez.t8)({listBackground:cR.ELA,listFocusBackground:cR.AlL,listFocusForeground:cR.nH,listInactiveFocusForeground:cR.nH,listInactiveSelectionIconForeground:cR.c7i,listInactiveFocusBackground:cR.AlL,listFocusOutline:cR.buw,listInactiveFocusOutline:cR.buw,treeStickyScrollBackground:cR.ELA}),pickerGroup:{pickerGroupBorder:(0,cR.GuP)(cR.iwL),pickerGroupForeground:(0,cR.GuP)(cR.NBf)}}}};gm=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([gl(0,cU._Y),gl(1,cj.fN),gl(2,ch.Gy),gl(3,cn.x),gl(4,b1.pG)],gm);var gn=c(52785),go=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g},gp=function(a,b){return function(c,d){b(c,d,a)}};let gq=class extends gm{constructor(a,b,c,d,e,f){super(b,c,d,new cr(a.getContainerDomNode(),e),f),this.host=void 0;let g=gs.get(a);if(g){let b=g.widget;this.host={_serviceBrand:void 0,get mainContainer(){return b.getDomNode()},getContainer:()=>b.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[b.getDomNode()]},get activeContainer(){return b.getDomNode()},get mainContainerDimension(){return a.getLayoutInfo()},get activeContainerDimension(){return a.getLayoutInfo()},get onDidLayoutMainContainer(){return a.onDidLayoutChange},get onDidLayoutActiveContainer(){return a.onDidLayoutChange},get onDidLayoutContainer(){return au.Jh.map(a.onDidLayoutChange,a=>({container:b.getDomNode(),dimension:a}))},get onDidChangeActiveContainer(){return au.Jh.None},get onDidAddContainer(){return au.Jh.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>a.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};gq=go([gp(1,cU._Y),gp(2,cj.fN),gp(3,ch.Gy),gp(4,aI.T),gp(5,b1.pG)],gq);let gr=class{get activeService(){let a=this.codeEditorService.getFocusedCodeEditor();if(!a)throw Error("Quick input service needs a focused editor to work.");let b=this.mapEditorToService.get(a);if(!b){let c=b=this.instantiationService.createInstance(gq,a);this.mapEditorToService.set(a,b),(0,gn.P)(a.onDidDispose)(()=>{c.dispose(),this.mapEditorToService.delete(a)})}return b}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(a,b){this.instantiationService=a,this.codeEditorService=b,this.mapEditorToService=new Map}pick(a,b,c=at.XO.None){return this.activeService.pick(a,b,c)}input(a,b){return this.activeService.input(a,b)}createQuickPick(a={useSeparators:!1}){return this.activeService.createQuickPick(a)}createInputBox(){return this.activeService.createInputBox()}toggleHover(){return this.activeService.toggleHover()}};gr=go([gp(0,cU._Y),gp(1,aI.T)],gr);class gs{static{this.ID="editor.controller.quickInput"}static get(a){return a.getContribution(gs.ID)}constructor(a){this.editor=a,this.widget=new gt(this.editor)}dispose(){this.widget.dispose()}}class gt{static{this.ID="editor.contrib.quickInputWidget"}constructor(a){this.codeEditor=a,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return gt.ID}getDomNode(){return this.domNode}getPosition(){return{preference:{top:0,left:0}}}dispose(){this.codeEditor.removeOverlayWidget(this)}}(0,aH.HW)(gs.ID,gs,4);var gu=c(52286),gv=c(3848),gw=function(a,b){return function(c,d){b(c,d,a)}};let gx=class extends aE.jG{constructor(a,b,c){super(),this._contextKeyService=a,this._layoutService=b,this._configurationService=c,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new au.vl,this._onDidChangeReducedMotion=new au.vl,this._onDidChangeLinkUnderline=new au.vl,this._accessibilityModeEnabledContext=c_.f.bindTo(this._contextKeyService);let d=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(a=>{a.affectsConfiguration("editor.accessibilitySupport")&&(d(),this._onDidChangeScreenReaderOptimized.fire()),a.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),d(),this._register(this.onDidChangeScreenReaderOptimized(()=>d()));let e=aD.G.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=e.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(e),this.initLinkUnderlineListeners()}initReducedMotionListeners(a){this._register((0,bC.ko)(a,"change",()=>{this._systemMotionReduced=a.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()}));let b=()=>{let a=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",a),this._layoutService.mainContainer.classList.toggle("enable-motion",!a)};b(),this._register(this.onDidChangeReducedMotion(()=>b()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(a=>{if(a.affectsConfiguration("accessibility.underlineLinks")){let a=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=a,this._onDidChangeLinkUnderline.fire()}}));let a=()=>{let a=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",a)};a(),this._register(this.onDidChangeLinkUnderlines(()=>a()))}onDidChangeLinkUnderlines(a){return this._onDidChangeLinkUnderline.event(a)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let a=this._configurationService.getValue("editor.accessibilitySupport");return"on"===a||"auto"===a&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let a=this._configMotionReduced;return"on"===a||"auto"===a&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};gx=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([gw(0,cj.fN),gw(1,cn.x),gw(2,b1.pG)],gx);var gy=c(74134),gz=function(a,b){return function(c,d){b(c,d,a)}};let gA="application/vnd.code.resources",gB=class extends aE.jG{static{aq=this}constructor(a,b){super(),this.layoutService=a,this.logService=b,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(ej.nr||ej.c8)&&this.installWebKitWriteTextWorkaround(),this._register(au.Jh.runAndSubscribe(bC.Iv,({window:a,disposables:b})=>{b.add((0,bC.ko)(a.document,"copy",()=>this.clearResourcesState()))},{window:aD.G,disposables:this._store}))}triggerPaste(){this.logService.trace("BrowserClipboardService#triggerPaste")}installWebKitWriteTextWorkaround(){let a=()=>{let a=new aJ.Zv;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=a,(0,bC.fz)().navigator.clipboard.write([new ClipboardItem({"text/plain":a.p})]).catch(async b=>{b instanceof Error&&"NotAllowedError"===b.name&&a.isRejected||this.logService.error(b)})};this._register(au.Jh.runAndSubscribe(this.layoutService.onDidAddContainer,({container:b,disposables:c})=>{c.add((0,bC.ko)(b,"click",a)),c.add((0,bC.ko)(b,"keydown",a))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(a,b){if(this.logService.trace("BrowserClipboardService#writeText called with type:",b," text.length:",a.length),this.clearResourcesState(),b){this.mapTextToType.set(b,a),this.logService.trace("BrowserClipboardService#writeText");return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(a);try{return this.logService.trace("before navigator.clipboard.writeText"),await (0,bC.fz)().navigator.clipboard.writeText(a)}catch(a){console.error(a)}this.fallbackWriteText(a)}fallbackWriteText(a){this.logService.trace("BrowserClipboardService#fallbackWriteText");let b=(0,bC.a)(),c=b.activeElement,d=b.body.appendChild((0,bC.$)("textarea",{"aria-hidden":!0}));d.style.height="1px",d.style.width="1px",d.style.position="absolute",d.value=a,d.focus(),d.select(),b.execCommand("copy"),(0,bC.sb)(c)&&c.focus(),d.remove()}async readText(a){if(this.logService.trace("BrowserClipboardService#readText called with type:",a),a){let b=this.mapTextToType.get(a)||"";return this.logService.trace("BrowserClipboardService#readText text.length:",b.length),b}try{let a=await (0,bC.fz)().navigator.clipboard.readText();return this.logService.trace("BrowserClipboardService#readText text.length:",a.length),a}catch(a){console.error(a)}return""}async readFindText(){return this.findText}async writeFindText(a){this.findText=a}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{for(let a of(await (0,bC.fz)().navigator.clipboard.read()))if(a.types.includes(`web ${gA}`)){let b=await a.getType(`web ${gA}`);return JSON.parse(await b.text()).map(a=>aw.r.from(a))}}catch(a){}let a=await this.computeResourcesStateHash();return this.resourcesStateHash!==a&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(0===this.resources.length)return;let a=await this.readText();return(0,eU.tW)(a.substring(0,aq.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};gB=aq=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([gz(0,cn.x),gz(1,bx.rr)],gB);var gC=c(46878),gD=c(82693);let gE="data-keybinding-context";class gF{constructor(a,b){this._id=a,this._parent=b,this._value=Object.create(null),this._value._contextId=a}get value(){return{...this._value}}setValue(a,b){return this._value[a]!==b&&(this._value[a]=b,!0)}removeValue(a){return a in this._value&&(delete this._value[a],!0)}getValue(a){let b=this._value[a];return void 0===b&&this._parent?this._parent.getValue(a):b}}class gG extends gF{static{this.INSTANCE=new gG}constructor(){super(-1,null)}setValue(a,b){return!1}removeValue(a){return!1}getValue(a){}}class gH extends gF{static{this._keyPrefix="config."}constructor(a,b,c){super(a,null),this._configurationService=b,this._values=gD.cB.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(a=>{if(7===a.source){let a=Array.from(this._values,([a])=>a);this._values.clear(),c.fire(new gK(a))}else{let b=[];for(let c of a.affectedKeys){let a=`config.${c}`,d=this._values.findSuperstr(a);void 0!==d&&(b.push(...eN.f.map(d,([a])=>a)),this._values.deleteSuperstr(a)),this._values.has(a)&&(b.push(a),this._values.delete(a))}c.fire(new gK(b))}})}dispose(){this._listener.dispose()}getValue(a){let b;if(0!==a.indexOf(gH._keyPrefix))return super.getValue(a);if(this._values.has(a))return this._values.get(a);let c=a.substr(gH._keyPrefix.length),d=this._configurationService.getValue(c);switch(typeof d){case"number":case"boolean":case"string":b=d;break;default:b=Array.isArray(d)?JSON.stringify(d):d}return this._values.set(a,b),b}setValue(a,b){return super.setValue(a,b)}removeValue(a){return super.removeValue(a)}}class gI{constructor(a,b,c){this._service=a,this._key=b,this._defaultValue=c,this.reset()}set(a){this._service.setContext(this._key,a)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class gJ{constructor(a){this.key=a}affectsSome(a){return a.has(this.key)}allKeysContainedIn(a){return this.affectsSome(a)}}class gK{constructor(a){this.keys=a}affectsSome(a){for(let b of this.keys)if(a.has(b))return!0;return!1}allKeysContainedIn(a){return this.keys.every(b=>a.has(b))}}class gL{constructor(a){this.events=a}affectsSome(a){for(let b of this.events)if(b.affectsSome(a))return!0;return!1}allKeysContainedIn(a){return this.events.every(b=>b.allKeysContainedIn(a))}}class gM extends aE.jG{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(a){super(),this._onDidChangeContext=this._register(new au.fV({merge:a=>new gL(a)})),this._isDisposed=!1,this._myContextId=a}createKey(a,b){if(this._isDisposed)throw Error("AbstractContextKeyService has been disposed");return new gI(this,a,b)}bufferChangeEvents(a){this._onDidChangeContext.pause();try{a()}finally{this._onDidChangeContext.resume()}}createScoped(a){if(this._isDisposed)throw Error("AbstractContextKeyService has been disposed");return new gO(this,a)}contextMatchesRules(a){if(this._isDisposed)throw Error("AbstractContextKeyService has been disposed");let b=this.getContextValuesContainer(this._myContextId);return!a||a.evaluate(b)}getContextKeyValue(a){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(a)}setContext(a,b){if(this._isDisposed)return;let c=this.getContextValuesContainer(this._myContextId);c&&c.setValue(a,b)&&this._onDidChangeContext.fire(new gJ(a))}removeContext(a){!this._isDisposed&&this.getContextValuesContainer(this._myContextId).removeValue(a)&&this._onDidChangeContext.fire(new gJ(a))}getContext(a){return this._isDisposed?gG.INSTANCE:this.getContextValuesContainer(function(a){for(;a;){if(a.hasAttribute(gE)){let b=a.getAttribute(gE);if(b)return parseInt(b,10);return NaN}a=a.parentElement}return 0}(a))}dispose(){super.dispose(),this._isDisposed=!0}}let gN=class extends gM{constructor(a){super(0),this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=f_.J7.bindTo(this);let b=this._register(new gH(this._myContextId,a,this._onDidChangeContext));this._contexts.set(this._myContextId,b),this._register(au.Jh.runAndSubscribe(bC.Iv,({window:a,disposables:b})=>{let c=b.add(new aE.HE);b.add((0,bC.ko)(a,bC.Bx.FOCUS_IN,()=>{c.value=new aE.Cm,this.updateInputContextKeys(a.document,c.value)},!0))},{window:aD.G,disposables:this._store}))}updateInputContextKeys(a,b){function c(){return!!a.activeElement&&(0,bC.yD)(a.activeElement)}let d=c();if(this.inputFocusedContext.set(d),d){let d=b.add((0,bC.w5)(a.activeElement));au.Jh.once(d.onDidBlur)(()=>{(0,bC.fz)().document===a&&this.inputFocusedContext.set(c()),d.dispose()},void 0,b)}}getContextValuesContainer(a){return this._isDisposed?gG.INSTANCE:this._contexts.get(a)||gG.INSTANCE}createChildContext(a=this._myContextId){if(this._isDisposed)throw Error("ContextKeyService has been disposed");let b=++this._lastContextId;return this._contexts.set(b,new gF(b,this.getContextValuesContainer(a))),b}disposeContext(a){this._isDisposed||this._contexts.delete(a)}};gN=function(a,b,c,d){var e,f=arguments.length,g=f<3?b:null===d?d=Object.getOwnPropertyDescriptor(b,c):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)g=Reflect.decorate(a,b,c,d);else for(var h=a.length-1;h>=0;h--)(e=a[h])&&(g=(f<3?e(g):f>3?e(b,c,g):e(b,c))||g);return f>3&&g&&Object.defineProperty(b,c,g),g}([(j=b1.pG,function(a,b){j(a,b,0)})],gN);class gO extends gM{constructor(a,b){if(super(a.createChildContext()),this._parentChangeListener=this._register(new aE.HE),this._parent=a,this._updateParentChangeListener(),this._domNode=b,this._domNode.hasAttribute(gE)){let a="";this._domNode.classList&&(a=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${a?": "+a:""}`)}this._domNode.setAttribute(gE,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(a=>{let b=this._parent.getContextValuesContainer(this._myContextId).value;a.allKeysContainedIn(new Set(Object.keys(b)))||this._onDidChangeContext.fire(a)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(gE),super.dispose())}getContextValuesContainer(a){return this._isDisposed?gG.INSTANCE:this._parent.getContextValuesContainer(a)}createChildContext(a=this._myContextId){if(this._isDisposed)throw Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(a)}disposeContext(a){this._isDisposed||this._parent.disposeContext(a)}}dw.w.registerCommand("_setContext",function(a,b,c){var d;a.get(cj.fN).createKey(String(b),(d=c,(0,dy.PI)(d,a=>"object"==typeof a&&1===a.$mid?aw.r.revive(a).toString():a instanceof aw.r?a.toString():void 0)))}),dw.w.registerCommand({id:"getContextKeyInfo",handler:()=>[...cj.N1.all()].sort((a,b)=>a.key.localeCompare(b.key)),metadata:{description:(0,a_.kg)(1659,"A command that returns information about context keys"),args:[]}}),dw.w.registerCommand("_generateContextKeyInfo",function(){let a=[],b=new Set;for(let c of cj.N1.all())b.has(c.key)||(b.add(c.key),a.push(c));a.sort((a,b)=>a.key.localeCompare(b.key)),console.log(JSON.stringify(a,void 0,2))});var gP=c(28328);class gQ{constructor(a,b){this.key=a,this.data=b,this.incoming=new Map,this.outgoing=new Map}}class gR{constructor(a){this._hashFn=a,this._nodes=new Map}roots(){let a=[];for(let b of this._nodes.values())0===b.outgoing.size&&a.push(b);return a}insertEdge(a,b){let c=this.lookupOrInsertNode(a),d=this.lookupOrInsertNode(b);c.outgoing.set(d.key,d),d.incoming.set(c.key,c)}removeNode(a){let b=this._hashFn(a);for(let a of(this._nodes.delete(b),this._nodes.values()))a.outgoing.delete(b),a.incoming.delete(b)}lookupOrInsertNode(a){let b=this._hashFn(a),c=this._nodes.get(b);return c||(c=new gQ(b,a),this._nodes.set(b,c)),c}isEmpty(){return 0===this._nodes.size}toString(){let a=[];for(let[b,c]of this._nodes)a.push(`${b}
|
|
576
576
|
(-> incoming)[${[...c.incoming.keys()].join(", ")}]
|
|
577
577
|
(outgoing ->)[${[...c.outgoing.keys()].join(",")}]
|
|
578
578
|
`);return a.join("\n")}findCycleSlow(){for(let[a,b]of this._nodes){let c=new Set([a]),d=this._findCycle(b,c);if(d)return d}}_findCycle(a,b){for(let[c,d]of a.outgoing){if(b.has(c))return[...b,c].join(" -> ");b.add(c);let a=this._findCycle(d,b);if(a)return a;b.delete(c)}}}var gS=c(52913);class gT extends Error{constructor(a){super("cyclic dependency between services"),this.message=a.findCycleSlow()??`UNABLE to detect cycle, dumping graph:
|