parse-dashboard 9.2.0 → 9.3.0-alpha.1

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.
Files changed (95) hide show
  1. package/Parse-Dashboard/public/bundles/1056.bundle.js +1 -0
  2. package/Parse-Dashboard/public/bundles/1151.bundle.js +1 -0
  3. package/Parse-Dashboard/public/bundles/1256.bundle.js +1 -0
  4. package/Parse-Dashboard/public/bundles/1272.bundle.js +1 -0
  5. package/Parse-Dashboard/public/bundles/1356.bundle.js +1 -0
  6. package/Parse-Dashboard/public/bundles/1440.bundle.js +1 -0
  7. package/Parse-Dashboard/public/bundles/1675.bundle.js +1 -0
  8. package/Parse-Dashboard/public/bundles/1987.bundle.js +1 -0
  9. package/Parse-Dashboard/public/bundles/2499.bundle.js +2 -0
  10. package/Parse-Dashboard/public/bundles/2499.bundle.js.LICENSE.txt +6 -0
  11. package/Parse-Dashboard/public/bundles/2794.bundle.js +1 -0
  12. package/Parse-Dashboard/public/bundles/2823.bundle.js +2 -0
  13. package/Parse-Dashboard/public/bundles/2823.bundle.js.LICENSE.txt +1 -0
  14. package/Parse-Dashboard/public/bundles/2955.bundle.js +1 -0
  15. package/Parse-Dashboard/public/bundles/2972.bundle.js +1 -0
  16. package/Parse-Dashboard/public/bundles/3120.bundle.js +1 -0
  17. package/Parse-Dashboard/public/bundles/3212.bundle.js +1 -0
  18. package/Parse-Dashboard/public/bundles/3227.bundle.js +1 -0
  19. package/Parse-Dashboard/public/bundles/3412.bundle.js +1 -0
  20. package/Parse-Dashboard/public/bundles/3839.bundle.js +1 -0
  21. package/Parse-Dashboard/public/bundles/3871.bundle.js +1 -0
  22. package/Parse-Dashboard/public/bundles/4056.bundle.js +1 -0
  23. package/Parse-Dashboard/public/bundles/4062.bundle.js +1 -0
  24. package/Parse-Dashboard/public/bundles/4069.bundle.js +1 -0
  25. package/Parse-Dashboard/public/bundles/4097.bundle.js +1 -0
  26. package/Parse-Dashboard/public/bundles/4438.bundle.js +1 -0
  27. package/Parse-Dashboard/public/bundles/448.bundle.js +1 -1
  28. package/Parse-Dashboard/public/bundles/4760.bundle.js +2 -0
  29. package/Parse-Dashboard/public/bundles/4760.bundle.js.LICENSE.txt +6 -0
  30. package/Parse-Dashboard/public/bundles/4837.bundle.js +1 -0
  31. package/Parse-Dashboard/public/bundles/490.bundle.js +1 -0
  32. package/Parse-Dashboard/public/bundles/5147.bundle.js +1 -0
  33. package/Parse-Dashboard/public/bundles/5166.bundle.js +1 -0
  34. package/Parse-Dashboard/public/bundles/5281.bundle.js +2 -0
  35. package/Parse-Dashboard/public/bundles/5281.bundle.js.LICENSE.txt +44 -0
  36. package/Parse-Dashboard/public/bundles/5521.bundle.js +1 -0
  37. package/Parse-Dashboard/public/bundles/580.bundle.js +1 -0
  38. package/Parse-Dashboard/public/bundles/5834.bundle.js +1 -0
  39. package/Parse-Dashboard/public/bundles/5851.bundle.js +1 -0
  40. package/Parse-Dashboard/public/bundles/5866.bundle.js +1 -0
  41. package/Parse-Dashboard/public/bundles/5967.bundle.js +1 -0
  42. package/Parse-Dashboard/public/bundles/6079.bundle.js +1 -0
  43. package/Parse-Dashboard/public/bundles/6214.bundle.js +1 -0
  44. package/Parse-Dashboard/public/bundles/6490.bundle.js +1 -0
  45. package/Parse-Dashboard/public/bundles/6556.bundle.js +1 -0
  46. package/Parse-Dashboard/public/bundles/6562.bundle.js +2 -0
  47. package/Parse-Dashboard/public/bundles/6562.bundle.js.LICENSE.txt +6 -0
  48. package/Parse-Dashboard/public/bundles/6727.bundle.js +1 -0
  49. package/Parse-Dashboard/public/bundles/7110.bundle.js +1 -0
  50. package/Parse-Dashboard/public/bundles/7214.bundle.js +2 -0
  51. package/Parse-Dashboard/public/bundles/7214.bundle.js.LICENSE.txt +6 -0
  52. package/Parse-Dashboard/public/bundles/7413.bundle.js +1 -0
  53. package/Parse-Dashboard/public/bundles/7537.bundle.js +1 -0
  54. package/Parse-Dashboard/public/bundles/7775.bundle.js +1 -0
  55. package/Parse-Dashboard/public/bundles/792.bundle.js +1 -0
  56. package/Parse-Dashboard/public/bundles/802.bundle.js +1 -0
  57. package/Parse-Dashboard/public/bundles/8058.bundle.js +1 -0
  58. package/Parse-Dashboard/public/bundles/8445.bundle.js +1 -0
  59. package/Parse-Dashboard/public/bundles/9096.bundle.js +1 -0
  60. package/Parse-Dashboard/public/bundles/9174.bundle.js +1 -0
  61. package/Parse-Dashboard/public/bundles/9433.bundle.js +1 -0
  62. package/Parse-Dashboard/public/bundles/9794.bundle.js +1 -0
  63. package/Parse-Dashboard/public/bundles/9895.bundle.js +1 -0
  64. package/Parse-Dashboard/public/bundles/dashboard.bundle.js +1 -1
  65. package/Parse-Dashboard/public/bundles/dashboard.bundle.js.LICENSE.txt +39 -75
  66. package/Parse-Dashboard/public/bundles/img/f6283f7ccaed1249d9eb.ttf +0 -0
  67. package/Parse-Dashboard/public/bundles/login.bundle.js +1 -1
  68. package/Parse-Dashboard/public/bundles/login.bundle.js.LICENSE.txt +21 -14
  69. package/Parse-Dashboard/server.js +9 -2
  70. package/package.json +21 -16
  71. package/Parse-Dashboard/public/bundles/120.bundle.js +0 -1
  72. package/Parse-Dashboard/public/bundles/183.bundle.js +0 -1
  73. package/Parse-Dashboard/public/bundles/19.bundle.js +0 -1
  74. package/Parse-Dashboard/public/bundles/221.bundle.js +0 -1
  75. package/Parse-Dashboard/public/bundles/372.bundle.js +0 -1
  76. package/Parse-Dashboard/public/bundles/573.bundle.js +0 -1
  77. package/Parse-Dashboard/public/bundles/578.bundle.js +0 -1
  78. package/Parse-Dashboard/public/bundles/584.bundle.js +0 -1
  79. package/Parse-Dashboard/public/bundles/629.bundle.js +0 -1
  80. package/Parse-Dashboard/public/bundles/643.bundle.js +0 -1
  81. package/Parse-Dashboard/public/bundles/647.bundle.js +0 -1
  82. package/Parse-Dashboard/public/bundles/701.bundle.js +0 -1
  83. package/Parse-Dashboard/public/bundles/729.bundle.js +0 -1
  84. package/Parse-Dashboard/public/bundles/75.bundle.js +0 -1
  85. package/Parse-Dashboard/public/bundles/753.bundle.js +0 -1
  86. package/Parse-Dashboard/public/bundles/817.bundle.js +0 -1
  87. package/Parse-Dashboard/public/bundles/844.bundle.js +0 -1
  88. package/Parse-Dashboard/public/bundles/862.bundle.js +0 -1
  89. package/Parse-Dashboard/public/bundles/866.bundle.js +0 -1
  90. package/Parse-Dashboard/public/bundles/874.bundle.js +0 -1
  91. package/Parse-Dashboard/public/bundles/881.bundle.js +0 -1
  92. package/Parse-Dashboard/public/bundles/929.bundle.js +0 -1
  93. package/Parse-Dashboard/public/bundles/950.bundle.js +0 -1
  94. package/Parse-Dashboard/public/bundles/97.bundle.js +0 -1
  95. package/Parse-Dashboard/public/bundles/976.bundle.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1056],{98675(e,s,k){k.r(s)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1151],{24942(e,t,n){n.d(t,{$l:()=>a,Gs:()=>u,MB:()=>o,Sw:()=>c,bb:()=>l,gN:()=>h,pJ:()=>d});var i=n(20990);const s="undefined"!=typeof Buffer;let r;new i.d(()=>new Uint8Array(256));class o{static wrap(e){return s&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new o(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return s?this.buffer.toString():(r||(r=new TextDecoder),r.decode(this.buffer))}}function a(e,t){return(0|e[t+0])>>>0|e[t+1]<<8>>>0}function h(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function l(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function c(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function d(e,t){return e[t]}function u(e,t,n){e[n]=t}},69881(e,t,n){n.d(t,{A:()=>s});var i=n(54312);class s{static _nextVisibleColumn(e,t,n){return 9===e?s.nextRenderTabStop(t,n):i.ne(e)||i.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,n){const s=Math.min(t-1,e.length),r=e.substring(0,s),o=new i.km(r);let a=0;for(;!o.eol();){const e=i.Z5(r,s,o.offset);o.nextGraphemeLength(),a=this._nextVisibleColumn(e,a,n)}return a}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;const s=e.length,r=new i.km(e);let o=0,a=1;for(;!r.eol();){const h=i.Z5(e,s,r.offset);r.nextGraphemeLength();const l=this._nextVisibleColumn(h,o,n),c=r.offset+1;if(l>=t)return l-t<t-o?c:a;o=l,a=c}return s+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}},6723(e,t,n){n.d(t,{A3:()=>E,AQ:()=>W,Am:()=>S,As:()=>N,BD:()=>J,Bo:()=>K,CM:()=>v,D0:()=>l,Ek:()=>z,H0:()=>T,I2:()=>Y,IW:()=>ee,If:()=>Z,JB:()=>A,L0:()=>f,Mf:()=>h,P1:()=>re,Pe:()=>ie,Qt:()=>p,WD:()=>se,WS:()=>ne,WY:()=>oe,Xr:()=>D,aZ:()=>V,bB:()=>te,hz:()=>L,je:()=>u,kG:()=>a,kM:()=>c,l5:()=>j,lQ:()=>H,n4:()=>X,ob:()=>b,ow:()=>I,s7:()=>$,sC:()=>d,sH:()=>Q,sN:()=>U,ss:()=>G,tK:()=>w,tp:()=>B,vP:()=>x,vV:()=>C,vp:()=>y,w4:()=>_,we:()=>g,x9:()=>R,yI:()=>F,yw:()=>M,zp:()=>q});var i=n(14425),s=n(5537),r=n(72955),o=n(72992);const a=(0,r.x1A)("editor.lineHighlightBackground",null,i.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),h=(0,r.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:r.b1q},i.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),l=((0,r.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},i.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,r.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:r.buw,hcLight:r.buw},i.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,r.x1A)("editor.symbolHighlightBackground",{dark:r.Ubg,light:r.Ubg,hcDark:null,hcLight:null},i.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,r.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:r.buw,hcLight:r.buw},i.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,r.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:s.Q1.black,hcDark:s.Q1.white,hcLight:"#0F4A85"},i.kg("caret","Color of the editor cursor."))),c=(0,r.x1A)("editorCursor.background",null,i.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),d=(0,r.x1A)("editorMultiCursor.primary.foreground",l,i.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),u=(0,r.x1A)("editorMultiCursor.primary.background",c,i.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),g=(0,r.x1A)("editorMultiCursor.secondary.foreground",l,i.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),f=(0,r.x1A)("editorMultiCursor.secondary.background",c,i.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),_=(0,r.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},i.kg("editorWhitespaces","Color of whitespace characters in the editor.")),p=(0,r.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:s.Q1.white,hcLight:"#292929"},i.kg("editorLineNumbers","Color of editor line numbers.")),m=(0,r.x1A)("editorIndentGuide.background",_,i.kg("editorIndentGuides","Color of the editor indentation guides."),!1,i.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),k=(0,r.x1A)("editorIndentGuide.activeBackground",_,i.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,i.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),C=(0,r.x1A)("editorIndentGuide.background1",m,i.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),b=(0,r.x1A)("editorIndentGuide.background2","#00000000",i.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),L=(0,r.x1A)("editorIndentGuide.background3","#00000000",i.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),I=(0,r.x1A)("editorIndentGuide.background4","#00000000",i.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),x=(0,r.x1A)("editorIndentGuide.background5","#00000000",i.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),v=(0,r.x1A)("editorIndentGuide.background6","#00000000",i.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),T=(0,r.x1A)("editorIndentGuide.activeBackground1",k,i.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),S=(0,r.x1A)("editorIndentGuide.activeBackground2","#00000000",i.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),w=(0,r.x1A)("editorIndentGuide.activeBackground3","#00000000",i.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),E=(0,r.x1A)("editorIndentGuide.activeBackground4","#00000000",i.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),B=(0,r.x1A)("editorIndentGuide.activeBackground5","#00000000",i.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),N=(0,r.x1A)("editorIndentGuide.activeBackground6","#00000000",i.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),O=(0,r.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:r.buw,hcLight:r.buw},i.kg("editorActiveLineNumber","Color of editor active line number"),!1,i.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),A=((0,r.x1A)("editorLineNumber.activeForeground",O,i.kg("editorActiveLineNumber","Color of editor active line number")),(0,r.x1A)("editorLineNumber.dimmedForeground",null,i.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."))),R=((0,r.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:s.Q1.lightgrey,hcDark:s.Q1.white,hcLight:"#292929"},i.kg("editorRuler","Color of the editor rulers.")),(0,r.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},i.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,r.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},i.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,r.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:r.b1q,hcLight:r.b1q},i.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,r.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},i.kg("editorOverviewRulerBorder","Color of the overview ruler border."))),D=(0,r.x1A)("editorOverviewRuler.background",null,i.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),M=((0,r.x1A)("editorGutter.background",r.YtV,i.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,r.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#fff").transparent(.8),hcLight:r.b1q},i.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,r.x1A)("editorUnnecessaryCode.opacity",{dark:s.Q1.fromHex("#000a"),light:s.Q1.fromHex("#0007"),hcDark:null,hcLight:null},i.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."))),z=((0,r.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#fff").transparent(.8),hcLight:s.Q1.fromHex("#292929").transparent(.8)},i.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,r.x1A)("editorGhostText.foreground",{dark:s.Q1.fromHex("#ffffff56"),light:s.Q1.fromHex("#0007"),hcDark:null,hcLight:null},i.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor."))),P=((0,r.x1A)("editorGhostText.background",null,i.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new s.Q1(new s.bU(0,122,204,.6))),y=(0,r.x1A)("editorOverviewRuler.rangeHighlightForeground",P,i.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),F=(0,r.x1A)("editorOverviewRuler.errorForeground",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},i.kg("overviewRuleError","Overview ruler marker color for errors.")),V=(0,r.x1A)("editorOverviewRuler.warningForeground",{dark:r.Hng,light:r.Hng,hcDark:r.Stt,hcLight:r.Stt},i.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),W=(0,r.x1A)("editorOverviewRuler.infoForeground",{dark:r.pOz,light:r.pOz,hcDark:r.IIb,hcLight:r.IIb},i.kg("overviewRuleInfo","Overview ruler marker color for infos.")),U=(0,r.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},i.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),H=(0,r.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},i.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),G=(0,r.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},i.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),j=(0,r.x1A)("editorBracketHighlight.foreground4","#00000000",i.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Q=(0,r.x1A)("editorBracketHighlight.foreground5","#00000000",i.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),q=(0,r.x1A)("editorBracketHighlight.foreground6","#00000000",i.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),$=(0,r.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new s.Q1(new s.bU(255,18,18,.8)),light:new s.Q1(new s.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},i.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),X=(0,r.x1A)("editorBracketPairGuide.background1","#00000000",i.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Y=(0,r.x1A)("editorBracketPairGuide.background2","#00000000",i.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),K=(0,r.x1A)("editorBracketPairGuide.background3","#00000000",i.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Z=(0,r.x1A)("editorBracketPairGuide.background4","#00000000",i.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),J=(0,r.x1A)("editorBracketPairGuide.background5","#00000000",i.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),ee=(0,r.x1A)("editorBracketPairGuide.background6","#00000000",i.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),te=(0,r.x1A)("editorBracketPairGuide.activeBackground1","#00000000",i.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),ne=(0,r.x1A)("editorBracketPairGuide.activeBackground2","#00000000",i.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),ie=(0,r.x1A)("editorBracketPairGuide.activeBackground3","#00000000",i.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),se=(0,r.x1A)("editorBracketPairGuide.activeBackground4","#00000000",i.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),re=(0,r.x1A)("editorBracketPairGuide.activeBackground5","#00000000",i.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),oe=(0,r.x1A)("editorBracketPairGuide.activeBackground6","#00000000",i.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,r.x1A)("editorUnicodeHighlight.border",r.Hng,i.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,r.x1A)("editorUnicodeHighlight.background",r.whs,i.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),(0,o.zy)((e,t)=>{const n=e.getColor(r.YtV),i=e.getColor(a),s=i&&!i.isTransparent()?i:n;s&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${s}; }`)})},1003(e,t,n){n.d(t,{P:()=>r});var i=n(54312),s=n(69881);function r(e,t,n){let r=i.HG(e);return-1===r&&(r=e.length),function(e,t,n){let i=0;for(let n=0;n<e.length;n++)"\t"===e.charAt(n)?i=s.A.nextIndentTabStop(i,t):i++;let r="";if(!n){const e=Math.floor(i/t);i%=t;for(let t=0;t<e;t++)r+="\t"}for(let e=0;e<i;e++)r+=" ";return r}(e.substring(0,r),t,n)+e.substring(r)}},56232(e,t,n){n.d(t,{Su:()=>d,b7:()=>c,fe:()=>u});var i=n(54312),s=n(34591),r=n(24942);let o,a,h;function l(){return o||(o=new TextDecoder("UTF-16LE")),o}function c(){return h||(h=s.cm()?l():(a||(a=new TextDecoder("UTF-16BE")),a)),h}function d(e,t,n){const i=new Uint16Array(e.buffer,t,n);return n>0&&(65279===i[0]||65534===i[0])?function(e,t,n){const i=[];let s=0;for(let o=0;o<n;o++){const n=r.$l(e,t);t+=2,i[s++]=String.fromCharCode(n)}return i.join("")}(e,t,n):l().decode(i)}class u{constructor(e){this._capacity=0|e,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"";const e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return c().decode(e)}_flushBuffer(){const e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}appendCharCode(e){const t=this._capacity-this._bufferLength;t<=1&&(0===t||i.pc(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIICharCode(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendString(e){const t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let n=0;n<t;n++)this._buffer[this._bufferLength++]=e.charCodeAt(n)}}},2457(e,t,n){n.d(t,{k:()=>o,x:()=>a});var i=n(24942),s=n(56232);function r(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class o{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,i){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=i}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${r(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${r(this.oldText)}")`:`(replace@${this.oldPosition} "${r(this.oldText)}" with "${r(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const s=t.length;i.Sw(e,s,n),n+=4;for(let r=0;r<s;r++)i.gN(e,t.charCodeAt(r),n),n+=2;return n}static _readString(e,t){const n=i.bb(e,t);return t+=4,(0,s.Su)(e,t,n)}writeSize(){return 8+o._writeStringSize(this.oldText)+o._writeStringSize(this.newText)}write(e,t){return i.Sw(e,this.oldPosition,t),t+=4,i.Sw(e,this.newPosition,t),t+=4,t=o._writeString(e,this.oldText,t),o._writeString(e,this.newText,t)}static read(e,t,n){const s=i.bb(e,t);t+=4;const r=i.bb(e,t);t+=4;const a=o._readString(e,t);t+=o._writeStringSize(a);const h=o._readString(e,t);return t+=o._writeStringSize(h),n.push(new o(s,a,r,h)),t}}function a(e,t){return null===e||0===e.length?t:new h(e,t).compress()}class h{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,n=this._getPrev(e),i=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){if(null===n){this._acceptCurr(i),i=this._getCurr(++t);continue}if(null===i){this._acceptPrev(n),n=this._getPrev(++e);continue}if(i.oldEnd<=n.newPosition){this._acceptCurr(i),i=this._getCurr(++t);continue}if(n.newEnd<=i.oldPosition){this._acceptPrev(n),n=this._getPrev(++e);continue}if(i.oldPosition<n.newPosition){const[e,t]=h._splitCurr(i,n.newPosition-i.oldPosition);this._acceptCurr(e),i=t;continue}if(n.newPosition<i.oldPosition){const[e,t]=h._splitPrev(n,i.oldPosition-n.newPosition);this._acceptPrev(e),n=t;continue}let s,r;if(i.oldEnd===n.newEnd)s=n,r=i,n=this._getPrev(++e),i=this._getCurr(++t);else if(i.oldEnd<n.newEnd){const[e,o]=h._splitPrev(n,i.oldLength);s=e,r=i,n=o,i=this._getCurr(++t)}else{const[t,o]=h._splitCurr(i,n.newLength);s=n,r=t,n=this._getPrev(++e),i=o}this._result[this._resultLen++]=new o(s.oldPosition,s.oldText,r.newPosition,r.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=r.newLength-r.oldLength}const s=h._merge(this._result);return h._removeNoOps(s)}_acceptCurr(e){this._result[this._resultLen++]=h._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=h._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new o(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new o(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){const n=e.newText.substr(0,t),i=e.newText.substr(t);return[new o(e.oldPosition,e.oldText,e.newPosition,n),new o(e.oldEnd,"",e.newPosition+t,i)]}static _splitCurr(e,t){const n=e.oldText.substr(0,t),i=e.oldText.substr(t);return[new o(e.oldPosition,n,e.newPosition,e.newText),new o(e.oldPosition+t,i,e.newEnd,"")]}static _merge(e){if(0===e.length)return e;const t=[];let n=0,i=e[0];for(let s=1;s<e.length;s++){const r=e[s];i.oldEnd===r.oldPosition?i=new o(i.oldPosition,i.oldText+r.oldText,i.newPosition,i.newText+r.newText):(t[n++]=i,i=r)}return t[n++]=i,t}static _removeNoOps(e){if(0===e.length)return e;const t=[];let n=0;for(let i=0;i<e.length;i++){const s=e[i];s.oldText!==s.newText&&(t[n++]=s)}return t}}},98282(e,t,n){n.d(t,{R:()=>i});const i={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},5698(e,t,n){var i;n.d(t,{GB:()=>r,i3:()=>s,l:()=>i}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(i||(i={}));class s{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t<n;t++)switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(0===e.getTokenCount())return!0;const n=e.findTokenIndexAtOffset(t-2),i=e.getStandardTokenType(n);return this.isOK(i)}_findNeutralCharacterInRange(e,t){for(let n=e;n<=t;n++){const e=String.fromCharCode(n);if(!this.open.includes(e)&&!this.close.includes(e))return e}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class r{constructor(e){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const t of e)o(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),o(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),o(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),o(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),1===t.close.length&&1===t.open.length&&o(this.autoClosingPairsCloseSingleChar,t.close,t)}}function o(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}},21126(e,t,n){n.d(t,{JZ:()=>N,Cw:()=>D});var i=n(98137),s=n(80194),r=n(54312),o=n(46098),a=n(5698);class h{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(e=>new a.i3(e)):e.brackets?this._autoClosingPairs=e.brackets.map(e=>new a.i3({open:e[0],close:e[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new a.i3({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:h.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:h.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}var l=n(81158),c=n(68836),d=n(6920);class u{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return(0,l.dM)(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const i=t.findTokenIndexAtOffset(n-1);if((0,c.Yo)(t.getStandardTokenType(i)))return null;const s=this._richEditBrackets.reversedRegex,r=t.getLineContent().substring(0,n-1)+e,o=d.Fu.findPrevBracketInRange(s,1,r,0,r.length);if(!o)return null;const a=r.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const h=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(h)?{matchOpenBracket:a}:null}}function g(e){return e.global&&(e.lastIndex=0),!0}class f{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&g(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&g(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&g(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&g(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}var _=n(48275);class p{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(e=>{const t=p._createOpenBracketRegExp(e[0]),n=p._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,i){if(e>=3)for(let e=0,s=this._regExpRules.length;e<s;e++){const s=this._regExpRules[e];if([{reg:s.beforeText,text:n},{reg:s.afterText,text:i},{reg:s.previousLineText,text:t}].every(e=>!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text))))return s.action}if(e>=2&&n.length>0&&i.length>0)for(let e=0,t=this._brackets.length;e<t;e++){const t=this._brackets[e];if(t.openRegExp.test(n)&&t.closeRegExp.test(i))return{indentAction:a.l.IndentOutdent}}if(e>=2&&n.length>0)for(let e=0,t=this._brackets.length;e<t;e++)if(this._brackets[e].openRegExp.test(n))return{indentAction:a.l.Indent};return null}static _createOpenBracketRegExp(e){let t=r.bm(e);return/\B/.test(t.charAt(0))||(t="\\b"+t),t+="\\s*$",p._safeRegExp(t)}static _createCloseBracketRegExp(e){let t=r.bm(e);return/\B/.test(t.charAt(t.length-1))||(t+="\\b"),t="^\\s*"+t,p._safeRegExp(t)}static _safeRegExp(e){try{return new RegExp(e)}catch(e){return(0,_.dz)(e),null}}}var m=n(91739),k=n(88578),C=n(75854),b=n(2130),L=n(24969),I=n(19248);class x{constructor(e,t){this.languageId=e;const n=t.brackets?v(t.brackets):[],i=new I.VV(e=>{const t=new Set;return{info:new S(this,e,t),closing:t}}),s=new I.VV(e=>{const t=new Set,n=new Set;return{info:new w(this,e,t,n),opening:t,openingColorized:n}});for(const[e,t]of n){const n=i.get(e),r=s.get(t);n.closing.add(r.info),r.opening.add(n.info)}const r=t.colorizedBracketPairs?v(t.colorizedBracketPairs):n.filter(e=>!("<"===e[0]&&">"===e[1]));for(const[e,t]of r){const n=i.get(e),r=s.get(t);n.closing.add(r.info),r.openingColorized.add(n.info),r.opening.add(n.info)}this._openingBrackets=new Map([...i.cachedValues].map(([e,t])=>[e,t.info])),this._closingBrackets=new Map([...s.cachedValues].map(([e,t])=>[e,t.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,d.xb)(t,e)}}function v(e){return e.filter(([e,t])=>""!==e&&""!==t)}class T{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class S extends T{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class w extends T{constructor(e,t,n,i){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=i,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var E=function(e,t){return function(n,i){t(n,i,e)}};class B{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const N=(0,m.u1)("languageConfigurationService");let O=class extends s.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new F),this.onDidChangeEmitter=this._register(new i.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(A));this._register(this.configurationService.onDidChangeConfiguration(e=>{const t=e.change.keys.some(e=>n.has(e)),i=e.change.overrides.filter(([e,t])=>t.some(e=>n.has(e))).map(([e])=>e);if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new B(void 0));else for(const e of i)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new B(e)))})),this._register(this._registry.onDidChange(e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new B(e.languageId))}))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,i){let s=t.getLanguageConfiguration(e);if(!s){if(!i.isRegisteredLanguageId(e))return new V(e,{});s=new V(e,{})}const r=function(e,t){const n=t.getValue(A.brackets,{overrideIdentifier:e}),i=t.getValue(A.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:R(n),colorizedBracketPairs:R(i)}}(s.languageId,n),o=z([s.underlyingConfig,r]);return new V(s.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};O=function(e,t,n,i){var s,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}([E(0,k.pG),E(1,C.L)],O);const A={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function R(e){if(Array.isArray(e))return e.map(e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]}).filter(e=>!!e)}function D(e,t,n){const i=e.getLineContent(t);let s=r.UU(i);return s.length>n-1&&(s=s.substring(0,n-1)),s}class M{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new P(e,t,++this._order);return this._entries.push(n),this._resolved=null,(0,s.s)(()=>{for(let e=0;e<this._entries.length;e++)if(this._entries[e]===n){this._entries.splice(e,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new V(this.languageId,e))}return this._resolved}_resolve(){return 0===this._entries.length?null:(this._entries.sort(P.cmp),z(this._entries.map(e=>e.configuration)))}}function z(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class P{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class y{constructor(e){this.languageId=e}}class F extends s.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new i.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(L.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let i=this._entries.get(e);i||(i=new M(e),this._entries.set(e,i));const r=i.register(t,n);return this._onDidChange.fire(new y(e)),(0,s.s)(()=>{r.dispose(),this._onDidChange.fire(new y(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class V{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new p(this.underlyingConfig):null,this.comments=V._handleComments(this.underlyingConfig),this.characterPair=new h(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||o.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new f(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new x(e,this.underlyingConfig)}getWordDefinition(){return(0,o.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new d.az(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new u(this.brackets)),this._electricCharacter}onEnter(e,t,n,i){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,i):null}getAutoClosingPairs(){return new a.GB(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,i]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=i}return n}}(0,b.v)(N,O,1)},28320(e,t,n){n.d(t,{$H:()=>r,Lh:()=>o,r3:()=>s});var i=n(99342);const s=new class{clone(){return this}equals(e){return this===e}};function r(e,t){return new i.$M([new i.ou(0,"",e)],t)}function o(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new i.rY(n,null===t?s:t)}},68836(e,t,n){function i(e,t){const n=e.getCount(),i=e.findTokenIndexAtOffset(t),r=e.getLanguageId(i);let o=i;for(;o+1<n&&e.getLanguageId(o+1)===r;)o++;let a=i;for(;a>0&&e.getLanguageId(a-1)===r;)a--;return new s(e,r,a,o+1,e.getStartOffset(a),e.getEndOffset(o))}n.d(t,{BQ:()=>i,Yo:()=>r});class s{constructor(e,t,n,i,s,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=s,this._lastCharOffset=r,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function r(e){return!!(3&e)}},6920(e,t,n){n.d(t,{Fu:()=>f,az:()=>a,xb:()=>u});var i=n(54312),s=n(56232),r=n(27329);class o{constructor(e,t,n,i,s,r){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=n,this.close=i,this.forwardRegex=s,this.reversedRegex=r,this._openSet=o._toSet(this.open),this._closeSet=o._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const n of e)t.add(n);return t}}class a{constructor(e,t){this._richEditBracketsBrand=void 0;const n=function(e){const t=e.length;e=e.map(e=>[e[0].toLowerCase(),e[1].toLowerCase()]);const n=[];for(let e=0;e<t;e++)n[e]=e;const i=(e,t)=>{const[n,i]=e,[s,r]=t;return n===s||n===r||i===s||i===r},s=(e,i)=>{const s=Math.min(e,i),r=Math.max(e,i);for(let e=0;e<t;e++)n[e]===r&&(n[e]=s)};for(let r=0;r<t;r++){const o=e[r];for(let a=r+1;a<t;a++)i(o,e[a])&&s(n[r],n[a])}const r=[];for(let i=0;i<t;i++){const s=[],o=[];for(let r=0;r<t;r++)if(n[r]===i){const[t,n]=e[r];s.push(t),o.push(n)}s.length>0&&r.push({open:s,close:o})}return r}(t);this.brackets=n.map((t,i)=>new o(e,i,t.open,t.close,function(e,t,n,i){let s=[];s=s.concat(e),s=s.concat(t);for(let e=0,t=s.length;e<t;e++)h(s[e],n,i,s);return s=c(s),s.sort(l),s.reverse(),u(s)}(t.open,t.close,n,i),function(e,t,n,i){let s=[];s=s.concat(e),s=s.concat(t);for(let e=0,t=s.length;e<t;e++)h(s[e],n,i,s);return s=c(s),s.sort(l),s.reverse(),u(s.map(g))}(t.open,t.close,n,i))),this.forwardRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=c(t),u(t)}(this.brackets),this.reversedRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=c(t),u(t.map(g))}(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const e of this.brackets){for(const t of e.open)this.textIsBracket[t]=e,this.textIsOpenBracket[t]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,t.length);for(const t of e.close)this.textIsBracket[t]=e,this.textIsOpenBracket[t]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,t.length)}}}function h(e,t,n,i){for(let s=0,r=t.length;s<r;s++){if(s===n)continue;const r=t[s];for(const t of r.open)t.indexOf(e)>=0&&i.push(t);for(const t of r.close)t.indexOf(e)>=0&&i.push(t)}}function l(e,t){return e.length-t.length}function c(e){if(e.length<=1)return e;const t=[],n=new Set;for(const i of e)n.has(i)||(t.push(i),n.add(i));return t}function d(e){const t=/^[\w ]+$/.test(e);return e=i.bm(e),t?`\\b${e}\\b`:e}function u(e,t){const n=`(${e.map(d).join(")|(")})`;return i.OS(n,!0,t)}const g=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let i=e.length-1;i>=0;i--)t[n++]=e.charCodeAt(i);return s.b7().decode(t)}(e)),t}}();class f{static _findPrevBracketInText(e,t,n,i){const s=n.match(e);if(!s)return null;const o=n.length-(s.index||0),a=s[0].length,h=i+o;return new r.Q(t,h-a+1,t,h+1)}static findPrevBracketInRange(e,t,n,i,s){const r=g(n).substring(n.length-s,n.length-i);return this._findPrevBracketInText(e,t,r,i)}static findNextBracketInText(e,t,n,i){const s=n.match(e);if(!s)return null;const o=s.index||0,a=s[0].length;if(0===a)return null;const h=i+o;return new r.Q(t,h+1,t,h+1+a)}static findNextBracketInRange(e,t,n,i,s){const r=n.substring(i,s);return this.findNextBracketInText(e,t,r,i)}}},56247(e,t,n){n.d(t,{Gc:()=>k,Nn:()=>h,Xw:()=>l,rh:()=>m,yF:()=>p});var i=n(48275),s=n(69881),r=n(72055),o=n(3824);class a{get length(){return this._length}constructor(e){this._length=e}}class h extends a{static create(e,t,n){let i=e.length;return t&&(i=(0,r.QB)(i,t.length)),n&&(i=(0,r.QB)(i,n.length)),new h(i,e,t,n,t?t.missingOpeningBracketIds:o.gV.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,i,s){super(e),this.openingBracket=t,this.child=n,this.closingBracket=i,this.missingOpeningBracketIds=s}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new h(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation((0,r.QB)(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class l extends a{static create23(e,t,n,i=!1){let s=e.length,o=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(s=(0,r.QB)(s,t.length),o=o.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");s=(0,r.QB)(s,n.length),o=o.merge(n.missingOpeningBracketIds)}return i?new d(s,e.listHeight+1,e,t,n,o):new c(s,e.listHeight+1,e,t,n,o)}static getEmpty(){return new g(r.Vp,0,[],o.gV.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new i.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let i=1;i<e;i++){const e=this.getChild(i);t=(0,r.QB)(t,e.length),n=n.merge(e.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let n=Number.MAX_SAFE_INTEGER,i=e;for(let e=0;e<this.childrenLength;e++){const s=this.getChild(e);s&&(n=Math.min(n,s.computeMinIndentation(i,t)),i=(0,r.QB)(i,s.length))}return this.cachedMinIndentation=n,n}}class c extends l{get childrenLength(){return null!==this._item3?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:return void(this._item1=t);case 1:return void(this._item2=t);case 2:return void(this._item3=t)}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,n,i,s,r){super(e,t,r),this._item1=n,this._item2=i,this._item3=s}deepClone(){return new c(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class d extends c{toMutable(){return new c(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class u extends l{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,n,i){super(e,t,i),this._children=n}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new u(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class g extends u{toMutable(){return new u(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const f=[];class _ extends a{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return f}deepClone(){return this}}class p extends _{get kind(){return 0}get missingOpeningBracketIds(){return o.gV.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const n=(0,r.l4)(e),i=(0===n.columnCount?n.lineCount:n.lineCount+1)+1,o=(0,r.eu)((0,r.QB)(e,this.length))+1;let a=Number.MAX_SAFE_INTEGER;for(let e=i;e<=o;e++){const n=t.getLineFirstNonWhitespaceColumn(e),i=t.getLineContent(e);if(0===n)continue;const r=s.A.visibleColumnFromColumn(i,n,t.getOptions().tabSize);a=Math.min(a,r)}return a}}class m extends _{static create(e,t,n){return new m(e,t,n)}get kind(){return 1}get missingOpeningBracketIds(){return o.gV.getEmpty()}constructor(e,t,n){super(e),this.bracketInfo=t,this.bracketIds=n}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class k extends _{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}},20710(e,t,n){n.d(t,{W:()=>o,c:()=>r});var i=n(27329),s=n(72055);class r{static fromModelContentChanges(e){return e.map(e=>{const t=i.Q.lift(e.range);return new r((0,s.VL)(t.getStartPosition()),(0,s.VL)(t.getEndPosition()),(0,s.rR)(e.text))}).reverse()}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${(0,s.l4)(this.startOffset)}...${(0,s.l4)(this.endOffset)}) -> ${(0,s.l4)(this.newLength)}`}}class o{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(e=>a.from(e))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:(0,s.MS)(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?(0,s.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):(0,s.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=(0,s.l4)(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,s.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):(0,s.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],n=this.translateOldToCur(t.endOffsetAfterObj);if(!(0,s.vr)(n,e))break;{this.nextEditIdx++;const e=(0,s.l4)(n),i=(0,s.l4)(this.translateOldToCur(t.endOffsetBeforeObj)),r=e.lineCount-i.lineCount;this.deltaOldToNewLineCount+=r;const o=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,a=e.columnCount-i.columnCount;this.deltaOldToNewColumnCount=o+a,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}}}}class a{static from(e){return new a(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,n){this.endOffsetBeforeObj=(0,s.l4)(t),this.endOffsetAfterObj=(0,s.l4)((0,s.QB)(e,n)),this.offsetObj=(0,s.l4)(e)}}},35314(e,t,n){n.d(t,{Z:()=>l});var i=n(54312),s=n(56247),r=n(72055),o=n(3824),a=n(18754);class h{static createFromLanguage(e,t){function n(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const i=new Map;for(const t of e.bracketsNew.openingBrackets){const e=(0,r.qe)(0,t.bracketText.length),h=n(t),l=o.gV.getEmpty().add(h,o.FD);i.set(t.bracketText,new a.ou(e,1,h,l,s.rh.create(e,t,l)))}for(const t of e.bracketsNew.closingBrackets){const e=(0,r.qe)(0,t.bracketText.length);let h=o.gV.getEmpty();const l=t.getOpeningBrackets();for(const e of l)h=h.add(n(e),o.FD);i.set(t.bracketText,new a.ou(e,2,n(l[0]),h,s.rh.create(e,t,h)))}return new h(i)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map(e=>function(e){let t=(0,i.bm)(e);return/^[\w ]+/.test(e)&&(t=`\\b${t}`),/[\w ]+$/.test(e)&&(t=`${t}\\b`),t}(e)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class l{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=h.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}},53024(e,t,n){n.d(t,{M:()=>o});var i=n(81158),s=n(20710),r=n(72055);function o(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new i.j3(h(e)),o=h(t);o.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let l=n.dequeue();function c(e){if(void 0===e){const e=n.takeWhile(e=>!0)||[];return l&&e.unshift(l),e}const t=[];for(;l&&!(0,r.Vh)(e);){const[i,s]=l.splitAt(e);t.push(i),e=(0,r.MS)(i.lengthAfter,e),l=s??n.dequeue()}return(0,r.Vh)(e)||t.push(new a(!1,e,e)),t}const d=[];function u(e,t,n){if(d.length>0&&(0,r.wP)(d[d.length-1].endOffset,e)){const e=d[d.length-1];d[d.length-1]=new s.c(e.startOffset,t,(0,r.QB)(e.newLength,n))}else d.push({startOffset:e,endOffset:t,newLength:n})}let g=r.Vp;for(const e of o){const t=c(e.lengthBefore);if(e.modified){const n=(0,r.pW)(t,e=>e.lengthBefore),i=(0,r.QB)(g,n);u(g,i,e.lengthAfter),g=i}else for(const e of t){const t=g;g=(0,r.QB)(g,e.lengthBefore),e.modified&&u(t,g,e.lengthAfter)}}return d}class a{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=(0,r.MS)(e,this.lengthAfter);return(0,r.wP)(t,r.Vp)?[this,void 0]:this.modified?[new a(this.modified,this.lengthBefore,e),new a(this.modified,r.Vp,t)]:[new a(this.modified,e,e),new a(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${(0,r.l4)(this.lengthBefore)} -> ${(0,r.l4)(this.lengthAfter)}`}}function h(e){const t=[];let n=r.Vp;for(const i of e){const e=(0,r.MS)(n,i.startOffset);(0,r.Vh)(e)||t.push(new a(!1,e,e));const s=(0,r.MS)(i.startOffset,i.endOffset);t.push(new a(!0,s,i.newLength)),n=i.endOffset}return t}},72055(e,t,n){n.d(t,{C7:()=>o,MS:()=>m,QB:()=>f,Qx:()=>I,VL:()=>L,Vh:()=>h,Vp:()=>a,eu:()=>u,l4:()=>d,o0:()=>b,pW:()=>_,qe:()=>c,rR:()=>x,sS:()=>g,vr:()=>C,wP:()=>p,zG:()=>k});var i=n(54312),s=n(27329),r=n(82377);function o(e,t,n,i){return e!==n?c(n-e,i):c(0,i-t)}const a=0;function h(e){return 0===e}const l=2**26;function c(e,t){return e*l+t}function d(e){const t=e,n=Math.floor(t/l),i=t-n*l;return new r.W(n,i)}function u(e){return Math.floor(e/l)}function g(e){return e}function f(e,t){let n=e+t;return t>=l&&(n-=e%l),n}function _(e,t){return e.reduce((e,n)=>f(e,t(n)),a)}function p(e,t){return e===t}function m(e,t){const n=e,i=t;if(i-n<=0)return a;const s=Math.floor(n/l),r=Math.floor(i/l),o=i-r*l;return s===r?c(0,o-(n-s*l)):c(r-s,o)}function k(e,t){return e<t}function C(e,t){return e<=t}function b(e,t){return e>=t}function L(e){return c(e.lineNumber-1,e.column-1)}function I(e,t){const n=e,i=Math.floor(n/l),r=n-i*l,o=t,a=Math.floor(o/l),h=o-a*l;return new s.Q(i+1,r+1,a+1,h+1)}function x(e){const t=(0,i.uz)(e);return c(t.length-1,t[t.length-1].length)}},69698(e,t,n){n.d(t,{T:()=>g});var i=n(56247),s=n(20710),r=n(3824),o=n(72055);function a(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const s=n>>1;for(let r=0;r<s;r++){const s=r<<1;e[r]=i.Xw.create23(e[s],e[s+1],s+3===n?e[s+2]:null,t)}n=s}return i.Xw.create23(e[0],e[1],n>=3?e[2]:null,t)}function h(e,t){return Math.abs(e.listHeight-t.listHeight)}function l(e,t){return e.listHeight===t.listHeight?i.Xw.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const s=[];let r;for(;;){if(t.listHeight===n.listHeight){r=t;break}if(4!==n.kind)throw new Error("unexpected");s.push(n),n=n.makeLastElementMutable()}for(let e=s.length-1;e>=0;e--){const t=s[e];r?t.childrenLength>=3?r=i.Xw.create23(t.unappendChild(),r,null,!1):(t.appendChildOfSameHeight(r),r=void 0):t.handleChildrenChanged()}return r?i.Xw.create23(e,r,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const s=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");s.push(n),n=n.makeFirstElementMutable()}let r=t;for(let e=s.length-1;e>=0;e--){const t=s[e];r?t.childrenLength>=3?r=i.Xw.create23(r,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(r),r=void 0):t.handleChildrenChanged()}return r?i.Xw.create23(r,e,null,!1):e}(t,e)}class c{constructor(e){this.lastOffset=o.Vp,this.nextNodes=[e],this.offsets=[o.Vp],this.idxs=[]}readLongestNodeAt(e,t){if((0,o.zG)(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=u(this.nextNodes);if(!n)return;const i=u(this.offsets);if((0,o.zG)(e,i))return;if((0,o.zG)(i,e))if((0,o.QB)(i,n.length)<=e)this.nextNodeAfterCurrent();else{const e=d(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=d(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=u(this.offsets),t=u(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=u(this.nextNodes),i=d(n,this.idxs[this.idxs.length-1]);if(-1!==i){this.nextNodes.push(n.getChild(i)),this.offsets.push((0,o.QB)(e,t.length)),this.idxs[this.idxs.length-1]=i;break}this.idxs.pop()}}}function d(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function u(e){return e.length>0?e[e.length-1]:void 0}function g(e,t,n,i){return new f(e,t,n,i).parseDocument()}class f{constructor(e,t,n,i){if(this.tokenizer=e,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,n&&i)throw new Error("Not supported");this.oldNodeReader=n?new c(n):void 0,this.positionMapper=new s.W(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(r.gV.getEmpty(),0);return e||(e=i.Xw.getEmpty()),e}parseList(e,t){const n=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;i=this.parseChild(e,t+1)}4===i.kind&&0===i.childrenLength||n.push(i)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,i=e[n].listHeight;for(t++;t<e.length&&e[t].listHeight===i;)t++;return t-n>=2?a(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let i=n(),s=n();if(!s)return i;for(let e=n();e;e=n())h(i,s)<=h(s,e)?(i=l(i,s),s=e):s=l(s,e);return l(i,s)}(n):a(n,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!(0,o.Vh)(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),n=>!(null!==t&&!(0,o.zG)(n.length,t))&&n.canBeReused(e));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new i.Gc(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new i.yF(n.length);const s=e.merge(n.bracketIds),r=this.parseList(s,t+1),o=this.tokenizer.peek();return o&&2===o.kind&&(o.bracketId===n.bracketId||o.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),i.Nn.create(n.astNode,r,o.astNode)):i.Nn.create(n.astNode,r,null)}default:throw new Error("unexpected")}}}},3824(e,t,n){n.d(t,{FD:()=>r,Mg:()=>o,gV:()=>s});const i=[];class s{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let n=s.cache[e];return n||(n=new s(e,t),s.cache[e]=n),n}return new s(e,t)}static{this.empty=s.create(0,i)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const n=t.getKey(e);let i=n>>5;if(0===i){const e=1<<n|this.items;return e===this.items?this:s.create(e,this.additionalItems)}i--;const r=this.additionalItems.slice(0);for(;r.length<i;)r.push(0);return r[i]|=1<<(31&n),s.create(this.items,r)}merge(e){const t=this.items|e.items;if(this.additionalItems===i&&e.additionalItems===i)return t===this.items?this:t===e.items?e:s.create(t,i);const n=[];for(let t=0;t<Math.max(this.additionalItems.length,e.additionalItems.length);t++){const i=this.additionalItems[t]||0,s=e.additionalItems[t]||0;n.push(i|s)}return s.create(t,n)}intersects(e){if(0!==(this.items&e.items))return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if(0!==(this.additionalItems[t]&e.additionalItems[t]))return!0;return!1}}const r={getKey:e=>e};class o{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}},18754(e,t,n){n.d(t,{_:()=>d,ou:()=>h,tk:()=>l});var i=n(48275),s=n(20370),r=n(56247),o=n(72055),a=n(3824);class h{constructor(e,t,n,i,s){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=i,this.astNode=s}}class l{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new c(this.textModel,this.bracketTokens),this._offset=o.Vp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,o.qe)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=(0,o.QB)(this._offset,e);const t=(0,o.l4)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=(0,o.QB)(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class c{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,o.sS)(e.length),e}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));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const i=this.lineTokens,r=i.getCount();let a=null;if(this.lineTokenOffset<r){const h=i.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<r&&h===i.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const l=0===s.x.getTokenType(h),c=s.x.containsBalancedBrackets(h),d=i.getEndOffset(this.lineTokenOffset);if(c&&l&&this.lineCharOffset<d){const e=i.getLanguageId(this.lineTokenOffset),t=this.line.substring(this.lineCharOffset,d),n=this.bracketTokens.getSingleLanguageBracketTokens(e),s=n.regExpGlobal;if(s){s.lastIndex=0;const e=s.exec(t);e&&(a=n.getToken(e[0]),a&&(this.lineCharOffset+=e.index))}}if(n+=d-this.lineCharOffset,a){if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=a;break}return this.lineCharOffset+=(0,o.sS)(a.length),a}this.lineTokenOffset++,this.lineCharOffset=d}else{if(this.lineIdx===this.textBufferLineCount-1)break;if(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,n+=33,n>1e3)break}if(n>1500)break}const i=(0,o.C7)(e,t,this.lineIdx,this.lineCharOffset);return new h(i,0,-1,a.gV.getEmpty(),new r.yF(i))}}class d{constructor(e,t){this.text=e,this._offset=o.Vp,this.idx=0;const n=t.getRegExpStr(),i=n?new RegExp(n+"|\n","gi"):null,s=[];let l,c=0,d=0,u=0,g=0;const f=[];for(let e=0;e<60;e++)f.push(new h((0,o.qe)(0,e),0,-1,a.gV.getEmpty(),new r.yF((0,o.qe)(0,e))));const _=[];for(let e=0;e<60;e++)_.push(new h((0,o.qe)(1,e),0,-1,a.gV.getEmpty(),new r.yF((0,o.qe)(1,e))));if(i)for(i.lastIndex=0;null!==(l=i.exec(e));){const e=l.index,n=l[0];if("\n"===n)c++,d=e+1;else{if(u!==e){let t;if(g===c){const n=e-u;if(n<f.length)t=f[n];else{const e=(0,o.qe)(0,n);t=new h(e,0,-1,a.gV.getEmpty(),new r.yF(e))}}else{const n=c-g,i=e-d;if(1===n&&i<_.length)t=_[i];else{const e=(0,o.qe)(n,i);t=new h(e,0,-1,a.gV.getEmpty(),new r.yF(e))}}s.push(t)}s.push(t.getToken(n)),u=e+n.length,g=c}}const p=e.length;if(u!==p){const e=g===c?(0,o.qe)(0,p-u):(0,o.qe)(c-g,p-d);s.push(new h(e,0,-1,a.gV.getEmpty(),new r.yF(e)))}this.length=(0,o.qe)(c,p-d),this.tokens=s}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new i.EM}}},85780(e,t,n){n.d(t,{Th:()=>_,z8:()=>p});var i=n(14425),s=n(48275),r=n(24898),o=n(89516),a=n(2457),h=n(24942),l=n(92759);function c(e){return e.toString()}class d{static create(e,t){const n=e.getAlternativeVersionId(),i=f(e);return new d(n,n,i,i,t,t,[])}constructor(e,t,n,i,s,r,o){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=n,this.afterEOL=i,this.beforeCursorState=s,this.afterCursorState=r,this.changes=o}append(e,t,n,i,s){t.length>0&&(this.changes=(0,a.x)(this.changes,t)),this.afterEOL=n,this.afterVersionId=i,this.afterCursorState=s}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(h.Sw(e,t?t.length:0,n),n+=4,t)for(const i of t)h.Sw(e,i.selectionStartLineNumber,n),n+=4,h.Sw(e,i.selectionStartColumn,n),n+=4,h.Sw(e,i.positionLineNumber,n),n+=4,h.Sw(e,i.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const i=h.bb(e,t);t+=4;for(let s=0;s<i;s++){const i=h.bb(e,t);t+=4;const s=h.bb(e,t);t+=4;const o=h.bb(e,t);t+=4;const a=h.bb(e,t);t+=4,n.push(new r.L(i,s,o,a))}return t}serialize(){let e=10+d._writeSelectionsSize(this.beforeCursorState)+d._writeSelectionsSize(this.afterCursorState)+4;for(const t of this.changes)e+=t.writeSize();const t=new Uint8Array(e);let n=0;h.Sw(t,this.beforeVersionId,n),n+=4,h.Sw(t,this.afterVersionId,n),n+=4,h.Gs(t,this.beforeEOL,n),n+=1,h.Gs(t,this.afterEOL,n),n+=1,n=d._writeSelections(t,this.beforeCursorState,n),n=d._writeSelections(t,this.afterCursorState,n),h.Sw(t,this.changes.length,n),n+=4;for(const e of this.changes)n=e.write(t,n);return t.buffer}static deserialize(e){const t=new Uint8Array(e);let n=0;const i=h.bb(t,n);n+=4;const s=h.bb(t,n);n+=4;const r=h.pJ(t,n);n+=1;const o=h.pJ(t,n);n+=1;const l=[];n=d._readSelections(t,n,l);const c=[];n=d._readSelections(t,n,c);const u=h.bb(t,n);n+=4;const g=[];for(let e=0;e<u;e++)n=a.k.read(t,n,g);return new d(i,s,r,o,l,c,g)}}class u{get type(){return 0}get resource(){return o.r.isUri(this.model)?this.model:this.model.uri}constructor(e,t,n,i){this.label=e,this.code=t,this.model=n,this._data=d.create(n,i)}toString(){return(this._data instanceof d?this._data:d.deserialize(this._data)).changes.map(e=>e.toString()).join(", ")}matchesResource(e){return(o.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof d}append(e,t,n,i,s){this._data instanceof d&&this._data.append(e,t,n,i,s)}close(){this._data instanceof d&&(this._data=this._data.serialize())}open(){this._data instanceof d||(this._data=d.deserialize(this._data))}undo(){if(o.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof d&&(this._data=this._data.serialize());const e=d.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(o.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof d&&(this._data=this._data.serialize());const e=d.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof d&&(this._data=this._data.serialize()),this._data.byteLength+168}}class g{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const e of this._editStackElementsArr){const t=c(e.resource);this._editStackElementsMap.set(t,e)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=c(e);return this._editStackElementsMap.has(t)}setModel(e){const t=c(o.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=c(e.uri);return!!this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).canAppend(e)}append(e,t,n,i,s){const r=c(e.uri);this._editStackElementsMap.get(r).append(e,t,n,i,s)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=c(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,l.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function f(e){return"\n"===e.getEOL()?0:1}function _(e){return!!e&&(e instanceof u||e instanceof g)}class p{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);_(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);_(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(_(n)&&n.canAppend(this._model))return n;const s=new u(i.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(s,t),s}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],f(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,i){const s=this._getOrCreateEditStackElement(e,i),r=this._model.applyEdits(t,!0),o=p._computeCursorState(n,r),a=r.map((e,t)=>({index:t,textChange:e.textChange}));return a.sort((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition),s.append(this._model,a.map(e=>e.textChange),f(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return(0,s.dz)(e),null}}}},64486(e,t,n){n.d(t,{P:()=>d,k:()=>u});var i=n(75205),s=n(54312),r=n(69881),o=n(27329),a=n(4165),h=n(91085),l=n(49895),c=n(48275);class d extends a._{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return(0,h.G)(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,n){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new c.D7("Illegal value for lineNumber");const s=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=Boolean(s&&s.offSide);let o=-2,a=-1,h=-2,l=-1;const d=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===h){h=-1,l=-1;for(let t=e;t<i;t++){const e=this._computeIndentLevel(t);if(e>=0){h=t,l=e;break}}}};let u=-2,g=-1,f=-2,_=-1;const p=e=>{if(-2===u){u=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){u=t,g=e;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,_=-1;for(let t=e;t<i;t++){const e=this._computeIndentLevel(t);if(e>=0){f=t,_=e;break}}}};let m=0,k=!0,C=0,b=!0,L=0,I=0;for(let s=0;k||b;s++){const o=e-s,c=e+s;s>1&&(o<1||o<t)&&(k=!1),s>1&&(c>i||c>n)&&(b=!1),s>5e4&&(k=!1,b=!1);let f=-1;if(k&&o>=1){const e=this._computeIndentLevel(o-1);e>=0?(h=o-1,l=e,f=Math.ceil(e/this.textModel.getOptions().indentSize)):(d(o),f=this._getIndentLevelForWhitespaceLine(r,a,l))}let x=-1;if(b&&c<=i){const e=this._computeIndentLevel(c-1);e>=0?(u=c-1,g=e,x=Math.ceil(e/this.textModel.getOptions().indentSize)):(p(c),x=this._getIndentLevelForWhitespaceLine(r,g,_))}if(0!==s){if(1===s){if(c<=i&&x>=0&&I+1===x){k=!1,m=c,C=c,L=x;continue}if(o>=1&&f>=0&&f-1===I){b=!1,m=o,C=o,L=f;continue}if(m=e,C=e,L=I,0===L)return{startLineNumber:m,endLineNumber:C,indent:L}}k&&(f>=L?m=o:k=!1),b&&(x>=L?C=c:b=!1)}else I=f}return{startLineNumber:m,endLineNumber:C,indent:L}}getLinesBracketGuides(e,t,n,r){const a=[];for(let n=e;n<=t;n++)a.push([]);const h=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new o.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let c;if(n&&h.length>0){const s=(e<=n.lineNumber&&n.lineNumber<=t?h:this.textModel.bracketPairs.getBracketPairsInRange(o.Q.fromPositions(n)).toArray()).filter(e=>o.Q.strictContainsPosition(e.range,n));c=(0,i.Uk)(s,e=>true)?.range}const d=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,g=new u;for(const n of h){if(!n.closingBracketRange)continue;const i=c&&n.range.equalsRange(c);if(!i&&!r.includeInactive)continue;const o=g.getInlineClassName(n.nestingLevel,n.nestingLevelOfEqualBracketType,d)+(r.highlightActive&&i?" "+g.activeClassName:""),h=n.openingBracketRange.getStartPosition(),u=n.closingBracketRange.getStartPosition(),f=r.horizontalGuides===l.N6.Enabled||r.horizontalGuides===l.N6.EnabledForActive&&i;if(n.range.startLineNumber===n.range.endLineNumber){f&&a[n.range.startLineNumber-e].push(new l.TH(-1,n.openingBracketRange.getEndPosition().column,o,new l.pv(!1,u.column),-1,-1));continue}const _=this.getVisibleColumnFromPosition(u),p=this.getVisibleColumnFromPosition(n.openingBracketRange.getStartPosition()),m=Math.min(p,_,n.minVisibleColumnIndentation+1);let k=!1;s.HG(this.textModel.getLineContent(n.closingBracketRange.startLineNumber))<n.closingBracketRange.startColumn-1&&(k=!0);const C=Math.max(h.lineNumber,e),b=Math.min(u.lineNumber,t),L=k?1:0;for(let t=C;t<b+L;t++)a[t-e].push(new l.TH(m,-1,o,null,t===h.lineNumber?h.column:-1,t===u.lineNumber?u.column:-1));f&&(h.lineNumber>=e&&p>m&&a[h.lineNumber-e].push(new l.TH(m,-1,o,new l.pv(!1,h.column),-1,-1)),u.lineNumber<=t&&_>m&&a[u.lineNumber-e].push(new l.TH(m,-1,o,new l.pv(!k,u.column),-1,-1)))}for(const e of a)e.sort((e,t)=>e.visibleColumn-t.visibleColumn);return a}getVisibleColumnFromPosition(e){return r.A.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const i=this.textModel.getOptions(),s=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=Boolean(s&&s.offSide),o=new Array(t-e+1);let a=-2,h=-1,l=-2,c=-1;for(let s=e;s<=t;s++){const t=s-e,d=this._computeIndentLevel(s-1);if(d>=0)a=s-1,h=d,o[t]=Math.ceil(d/i.indentSize);else{if(-2===a){a=-1,h=-1;for(let e=s-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,h=t;break}}}if(-1!==l&&(-2===l||l<s-1)){l=-1,c=-1;for(let e=s;e<n;e++){const t=this._computeIndentLevel(e);if(t>=0){l=e,c=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(r,h,c)}}return o}_getIndentLevelForWhitespaceLine(e,t,n){const i=this.textModel.getOptions();return-1===t||-1===n?0:t<n?1+Math.floor(t/i.indentSize):t===n||e?Math.ceil(n/i.indentSize):1+Math.floor(n/i.indentSize)}}class u{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,n){return this.getInlineClassNameOfLevel(n?t:e)}getInlineClassNameOfLevel(e){return"bracket-indent-guide lvl-"+e%30}}},63199(e,t,n){n.d(t,{Ho:()=>$t,kI:()=>Xt,Bz:()=>Ft});var i=n(81158),s=n(5537),r=n(48275),o=n(98137),a=n(80194),h=n(54312),l=n(89516),c=n(78722),d=n(1003),u=n(93881),g=n(27329),f=n(24898),_=n(98282),p=n(75854),m=n(21126),k=n(65435),C=n(68836),b=n(6920);class L{constructor(e,t,n,i){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=i}}class I{constructor(e,t,n,i,s,r){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=i,this.nestingLevelOfEqualBracketType=s,this.bracketPairNode=r}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class x extends I{constructor(e,t,n,i,s,r,o){super(e,t,n,i,s,r),this.minVisibleColumnIndentation=o}}var v=n(20710),T=n(35314),S=n(72055),w=n(69698),E=n(3824),B=n(18754),N=n(53024);class O extends a.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new o.vl,this.denseKeyProvider=new E.Mg,this.brackets=new T.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.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{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new B._(this.textModel.getValue(),e);this.initialAstWithoutTokens=(0,w.T)(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(e=>new v.c((0,S.qe)(e.fromLineNumber-1,0),(0,S.qe)(e.toLineNumber,0),(0,S.qe)(e.toLineNumber-e.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=v.c.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=(0,N.M)(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,N.M)(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const i=t,s=new B.tk(this.textModel,this.brackets);return(0,w.T)(s,e,i,n)}getBracketsInRange(e,t){this.flushQueue();const n=(0,S.qe)(e.startLineNumber-1,e.startColumn-1),s=(0,S.qe)(e.endLineNumber-1,e.endColumn-1);return new i.c1(e=>{const i=this.initialAstWithoutTokens||this.astWithTokens;D(i,S.Vp,i.length,n,s,e,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const n=(0,S.VL)(e.getStartPosition()),s=(0,S.VL)(e.getEndPosition());return new i.c1(e=>{const i=this.initialAstWithoutTokens||this.astWithTokens,r=new M(e,t,this.textModel);z(i,S.Vp,i.length,n,s,r,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return R(t,S.Vp,t.length,(0,S.VL)(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return A(t,S.Vp,t.length,(0,S.VL)(e))}}function A(e,t,n,i){if(4===e.kind||2===e.kind){const s=[];for(const i of e.children)n=(0,S.QB)(t,i.length),s.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=s.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:r}=s[t];if((0,S.zG)(n,i)){const s=A(e.children[t],n,r,i);if(s)return s}}return null}if(3===e.kind)return null;if(1===e.kind){const i=(0,S.Qx)(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function R(e,t,n,i){if(4===e.kind||2===e.kind){for(const s of e.children){if(n=(0,S.QB)(t,s.length),(0,S.zG)(i,n)){const e=R(s,t,n,i);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const i=(0,S.Qx)(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function D(e,t,n,i,s,r,o,a,h,l,c=!1){if(o>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let c=0;c<a;c++){const a=e.getChild(c);if(a){if(n=(0,S.QB)(t,a.length),(0,S.vr)(t,s)&&(0,S.o0)(n,i)){if((0,S.o0)(n,s)){e=a;continue e}if(!D(a,t,n,i,s,r,o,0,h,l))return!1}t=n}}return!0}case 2:{const c=!l||!e.closingBracket||e.closingBracket.bracketInfo.closesColorized(e.openingBracket.bracketInfo);let d=0;if(h){let t=h.get(e.openingBracket.text);void 0===t&&(t=0),d=t,c&&(t++,h.set(e.openingBracket.text,t))}const u=e.childrenLength;for(let g=0;g<u;g++){const u=e.getChild(g);if(u){if(n=(0,S.QB)(t,u.length),(0,S.vr)(t,s)&&(0,S.o0)(n,i)){if((0,S.o0)(n,s)&&1!==u.kind){e=u,c?(o++,a=d+1):a=d;continue e}if((c||1!==u.kind||!e.closingBracket)&&!D(u,t,n,i,s,r,c?o+1:o,c?d+1:d,h,l,!e.closingBracket))return!1}t=n}}return h?.set(e.openingBracket.text,d),!0}case 3:{const e=(0,S.Qx)(t,n);return r(new L(e,o-1,0,!0))}case 1:{const e=(0,S.Qx)(t,n);return r(new L(e,o-1,a-1,c))}case 0:return!0}}class M{constructor(e,t,n){this.push=e,this.includeMinIndentation=t,this.textModel=n}}function z(e,t,n,i,s,r,o,a){if(o>200)return!0;let h=!0;if(2===e.kind){let l=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),l=t,t++,a.set(e.openingBracket.text,t)}const c=(0,S.QB)(t,e.openingBracket.length);let d=-1;if(r.includeMinIndentation&&(d=e.computeMinIndentation(t,r.textModel)),h=r.push(new x((0,S.Qx)(t,n),(0,S.Qx)(t,c),e.closingBracket?(0,S.Qx)((0,S.QB)(c,e.child?.length||S.Vp),n):void 0,o,l,e,d)),t=c,h&&e.child){const l=e.child;if(n=(0,S.QB)(t,l.length),(0,S.vr)(t,s)&&(0,S.o0)(n,i)&&(h=z(l,t,n,i,s,r,o+1,a),!h))return!1}a?.set(e.openingBracket.text,l)}else{let n=t;for(const t of e.children){const e=n;if(n=(0,S.QB)(n,t.length),(0,S.vr)(e,s)&&(0,S.vr)(i,n)&&(h=z(t,e,n,i,s,r,o,a),!h))return!1}}return h}class P extends a.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new a.HE),this.onDidChangeEmitter=new o.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new a.Cm;this.bracketPairsTree.value=(e=n.add(new O(this.textModel,e=>this.languageConfigurationService.getLanguageConfiguration(e))),t=n,{object:e,dispose:()=>t?.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange(e=>this.onDidChangeEmitter.fire(e))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||i.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||i.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||i.c1.empty}findMatchingBracketUp(e,t,n){const i=this.textModel.validatePosition(t),s=this.textModel.getLanguageIdAtPosition(i.lineNumber,i.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const i=this.getBracketPairsInRange(g.Q.fromPositions(t,t)).findLast(e=>n.closes(e.openingBracketInfo));return i?i.openingBracketRange:null}{const t=e.toLowerCase(),r=this.languageConfigurationService.getLanguageConfiguration(s).brackets;if(!r)return null;const o=r.textIsBracket[t];return o?V(this._findMatchingBracketUp(o,i,y(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(g.Q.fromPositions(e,e)).filter(t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e))).findLastMaxBy((0,i.VE)(t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange,g.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=y(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,i){const s=t.getCount(),r=t.getLanguageId(i);let o=Math.max(0,e.column-1-n.maxBracketLength);for(let e=i-1;e>=0;e--){const n=t.getEndOffset(e);if(n<=o)break;if((0,C.Yo)(t.getStandardTokenType(e))||t.getLanguageId(e)!==r){o=n;break}}let a=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let e=i+1;e<s;e++){const n=t.getStartOffset(e);if(n>=a)break;if((0,C.Yo)(t.getStandardTokenType(e))||t.getLanguageId(e)!==r){a=n;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){const n=e.lineNumber,i=this.textModel.tokenization.getLineTokens(n),s=this.textModel.getLineContent(n),r=i.findTokenIndexAtOffset(e.column-1);if(r<0)return null;const o=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(r)).brackets;if(o&&!(0,C.Yo)(i.getStandardTokenType(r))){let{searchStartOffset:a,searchEndOffset:h}=this._establishBracketSearchOffsets(e,i,o,r),l=null;for(;;){const i=b.Fu.findNextBracketInRange(o.forwardRegex,n,s,a,h);if(!i)break;if(i.startColumn<=e.column&&e.column<=i.endColumn){const e=s.substring(i.startColumn-1,i.endColumn-1).toLowerCase(),n=this._matchFoundBracket(i,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(n){if(n instanceof F)return null;l=n}}a=i.endColumn-1}if(l)return l}if(r>0&&i.getStartOffset(r)===e.column-1){const o=r-1,a=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(o)).brackets;if(a&&!(0,C.Yo)(i.getStandardTokenType(o))){const{searchStartOffset:r,searchEndOffset:h}=this._establishBracketSearchOffsets(e,i,a,o),l=b.Fu.findPrevBracketInRange(a.reversedRegex,n,s,r,h);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn){const e=s.substring(l.startColumn-1,l.endColumn-1).toLowerCase(),n=this._matchFoundBracket(l,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(n)return n instanceof F?null:n}}}return null}_matchFoundBracket(e,t,n,i){if(!t)return null;const s=n?this._findMatchingBracketDown(t,e.getEndPosition(),i):this._findMatchingBracketUp(t,e.getStartPosition(),i);return s?s instanceof F?s:[e,s]:null}_findMatchingBracketUp(e,t,n){const i=e.languageId,s=e.reversedRegex;let r=-1,o=0;const a=(t,i,a,h)=>{for(;;){if(n&&++o%100==0&&!n())return F.INSTANCE;const l=b.Fu.findPrevBracketInRange(s,t,i,a,h);if(!l)break;const c=i.substring(l.startColumn-1,l.endColumn-1).toLowerCase();if(e.isOpen(c)?r++:e.isClose(c)&&r--,0===r)return l;h=l.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){const n=this.textModel.tokenization.getLineTokens(e),s=n.getCount(),r=this.textModel.getLineContent(e);let o=s-1,h=r.length,l=r.length;e===t.lineNumber&&(o=n.findTokenIndexAtOffset(t.column-1),h=t.column-1,l=t.column-1);let c=!0;for(;o>=0;o--){const t=n.getLanguageId(o)===i&&!(0,C.Yo)(n.getStandardTokenType(o));if(t)c?h=n.getStartOffset(o):(h=n.getStartOffset(o),l=n.getEndOffset(o));else if(c&&h!==l){const t=a(e,r,h,l);if(t)return t}c=t}if(c&&h!==l){const t=a(e,r,h,l);if(t)return t}}return null}_findMatchingBracketDown(e,t,n){const i=e.languageId,s=e.forwardRegex;let r=1,o=0;const a=(t,i,a,h)=>{for(;;){if(n&&++o%100==0&&!n())return F.INSTANCE;const l=b.Fu.findNextBracketInRange(s,t,i,a,h);if(!l)break;const c=i.substring(l.startColumn-1,l.endColumn-1).toLowerCase();if(e.isOpen(c)?r++:e.isClose(c)&&r--,0===r)return l;a=l.endColumn-1}return null},h=this.textModel.getLineCount();for(let e=t.lineNumber;e<=h;e++){const n=this.textModel.tokenization.getLineTokens(e),s=n.getCount(),r=this.textModel.getLineContent(e);let o=0,h=0,l=0;e===t.lineNumber&&(o=n.findTokenIndexAtOffset(t.column-1),h=t.column-1,l=t.column-1);let c=!0;for(;o<s;o++){const t=n.getLanguageId(o)===i&&!(0,C.Yo)(n.getStandardTokenType(o));if(t)c||(h=n.getStartOffset(o)),l=n.getEndOffset(o);else if(c&&h!==l){const t=a(e,r,h,l);if(t)return t}c=t}if(c&&h!==l){const t=a(e,r,h,l);if(t)return t}}return null}findPrevBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(t)||null;let n=null,i=null,s=null;for(let e=t.lineNumber;e>=1;e--){const r=this.textModel.tokenization.getLineTokens(e),o=r.getCount(),a=this.textModel.getLineContent(e);let h=o-1,l=a.length,c=a.length;if(e===t.lineNumber){h=r.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1;const e=r.getLanguageId(h);n!==e&&(n=e,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,s=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let d=!0;for(;h>=0;h--){const t=r.getLanguageId(h);if(n!==t){if(i&&s&&d&&l!==c){const t=b.Fu.findPrevBracketInRange(i.reversedRegex,e,a,l,c);if(t)return this._toFoundBracket(s,t);d=!1}n=t,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,s=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const o=!!i&&!(0,C.Yo)(r.getStandardTokenType(h));if(o)d?l=r.getStartOffset(h):(l=r.getStartOffset(h),c=r.getEndOffset(h));else if(s&&i&&d&&l!==c){const t=b.Fu.findPrevBracketInRange(i.reversedRegex,e,a,l,c);if(t)return this._toFoundBracket(s,t)}d=o}if(s&&i&&d&&l!==c){const t=b.Fu.findPrevBracketInRange(i.reversedRegex,e,a,l,c);if(t)return this._toFoundBracket(s,t)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const n=this.textModel.getLineCount();let i=null,s=null,r=null;for(let e=t.lineNumber;e<=n;e++){const n=this.textModel.tokenization.getLineTokens(e),o=n.getCount(),a=this.textModel.getLineContent(e);let h=0,l=0,c=0;if(e===t.lineNumber){h=n.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1;const e=n.getLanguageId(h);i!==e&&(i=e,s=this.languageConfigurationService.getLanguageConfiguration(i).brackets,r=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let d=!0;for(;h<o;h++){const t=n.getLanguageId(h);if(i!==t){if(r&&s&&d&&l!==c){const t=b.Fu.findNextBracketInRange(s.forwardRegex,e,a,l,c);if(t)return this._toFoundBracket(r,t);d=!1}i=t,s=this.languageConfigurationService.getLanguageConfiguration(i).brackets,r=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const o=!!s&&!(0,C.Yo)(n.getStandardTokenType(h));if(o)d||(l=n.getStartOffset(h)),c=n.getEndOffset(h);else if(r&&s&&d&&l!==c){const t=b.Fu.findNextBracketInRange(s.forwardRegex,e,a,l,c);if(t)return this._toFoundBracket(r,t)}d=o}if(r&&s&&d&&l!==c){const t=b.Fu.findNextBracketInRange(s.forwardRegex,e,a,l,c);if(t)return this._toFoundBracket(r,t)}}return null}findEnclosingBrackets(e,t){const n=this.textModel.validatePosition(e);if(this.canBuildAST){const e=g.Q.fromPositions(n),t=this.getBracketPairsInRange(g.Q.fromPositions(n,n)).findLast(t=>void 0!==t.closingBracketRange&&t.range.strictContainsRange(e));return t?[t.openingBracketRange,t.closingBracketRange]:null}const i=y(t),s=this.textModel.getLineCount(),r=new Map;let o=[];const a=(e,t)=>{if(!r.has(e)){const n=[];for(let e=0,i=t?t.brackets.length:0;e<i;e++)n[e]=0;r.set(e,n)}o=r.get(e)};let h=0;const l=(e,t,n,s,r)=>{for(;;){if(i&&++h%100==0&&!i())return F.INSTANCE;const a=b.Fu.findNextBracketInRange(e.forwardRegex,t,n,s,r);if(!a)break;const l=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),c=e.textIsBracket[l];if(c&&(c.isOpen(l)?o[c.index]++:c.isClose(l)&&o[c.index]--,-1===o[c.index]))return this._matchFoundBracket(a,c,!1,i);s=a.endColumn-1}return null};let c=null,d=null;for(let e=n.lineNumber;e<=s;e++){const t=this.textModel.tokenization.getLineTokens(e),i=t.getCount(),s=this.textModel.getLineContent(e);let r=0,o=0,h=0;if(e===n.lineNumber){r=t.findTokenIndexAtOffset(n.column-1),o=n.column-1,h=n.column-1;const e=t.getLanguageId(r);c!==e&&(c=e,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,d))}let u=!0;for(;r<i;r++){const n=t.getLanguageId(r);if(c!==n){if(d&&u&&o!==h){const t=l(d,e,s,o,h);if(t)return V(t);u=!1}c=n,d=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,d)}const i=!!d&&!(0,C.Yo)(t.getStandardTokenType(r));if(i)u||(o=t.getStartOffset(r)),h=t.getEndOffset(r);else if(d&&u&&o!==h){const t=l(d,e,s,o,h);if(t)return V(t)}u=i}if(d&&u&&o!==h){const t=l(d,e,s,o,h);if(t)return V(t)}}return null}_toFoundBracket(e,t){if(!t)return null;let n=this.textModel.getValueInRange(t);n=n.toLowerCase();const i=e.getBracketInfo(n);return i?{range:t,bracketInfo:i}:null}}function y(e){if(void 0===e)return()=>!0;{const t=Date.now();return()=>Date.now()-t<=e}}class F{static{this.INSTANCE=new F}constructor(){this._searchCanceledBrand=void 0}}function V(e){return e instanceof F?null:e}var W=n(6723),U=n(72992);class H extends a.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new G,this.onDidChangeEmitter=new o.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(e=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,i){return i||void 0===t?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range})).toArray():[]}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new g.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class G{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,U.zy)((e,t)=>{const n=[W.sN,W.lQ,W.ss,W.l5,W.sH,W.zp],i=new G;t.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${e.getColor(W.s7)}; }`);const s=n.map(t=>e.getColor(t)).filter(e=>!!e).filter(e=>!e.isTransparent());for(let e=0;e<30;e++){const n=s[e%s.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(e)} { color: ${n}; }`)}});var j=n(85780),Q=n(64486);class q{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function $(e,t,n,i,s){let r;for(s.spacesDiff=0,s.looksLikeAlignment=!1,r=0;r<t&&r<i&&e.charCodeAt(r)===n.charCodeAt(r);r++);let o=0,a=0;for(let n=r;n<t;n++)32===e.charCodeAt(n)?o++:a++;let h=0,l=0;for(let e=r;e<i;e++)32===n.charCodeAt(e)?h++:l++;if(o>0&&a>0)return;if(h>0&&l>0)return;const c=Math.abs(a-l),d=Math.abs(o-h);if(0===c)return s.spacesDiff=d,void(d>0&&0<=h-1&&h-1<e.length&&h<n.length&&32!==n.charCodeAt(h)&&32===e.charCodeAt(h-1)&&44===e.charCodeAt(e.length-1)&&(s.looksLikeAlignment=!0));d%c!==0||(s.spacesDiff=d/c)}function X(e,t,n){const i=Math.min(e.getLineCount(),1e4);let s=0,r=0,o="",a=0;const h=[2,4,6,8,3,5,7],l=[0,0,0,0,0,0,0,0,0],c=new q;for(let h=1;h<=i;h++){const i=e.getLineLength(h),d=e.getLineContent(h),u=i<=65536;let g=!1,f=0,_=0,p=0;for(let t=0,n=i;t<n;t++){const n=u?d.charCodeAt(t):e.getLineCharCode(h,t);if(9===n)p++;else{if(32!==n){g=!0,f=t;break}_++}}if(!g)continue;if(p>0?s++:_>1&&r++,$(o,a,d,f,c),c.looksLikeAlignment&&(!n||t!==c.spacesDiff))continue;const m=c.spacesDiff;m<=8&&l[m]++,o=d,a=f}let d=n;s!==r&&(d=s<r);let u=t;if(d){let e=d?0:.1*i;h.forEach(t=>{const n=l[t];n>e&&(e=n,u=t)}),4===u&&l[4]>0&&l[2]>0&&l[2]>=l[4]/2&&(u=2)}return{insertSpaces:d,tabSize:u}}function Y(e){return(1&e.metadata)>>>0}function K(e,t){e.metadata=254&e.metadata|t}function Z(e){return(2&e.metadata)>>>1==1}function J(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function ee(e){return(4&e.metadata)>>>2==1}function te(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function ne(e){return(64&e.metadata)>>>6==1}function ie(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function se(e,t){e.metadata=231&e.metadata|t<<3}function re(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class oe{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,K(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,te(this,!1),ie(this,!1),se(this,1),re(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,J(this,!1)}reset(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i}setOptions(e){this.options=e;const t=this.options.className;te(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),ie(this,null!==this.options.glyphMarginClassName),se(this,this.options.stickiness),re(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const ae=new oe(null,0,0);ae.parent=ae,ae.left=ae,ae.right=ae,K(ae,0);class he{constructor(){this.root=ae,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,i,s,r){return this.root===ae?[]:function(e,t,n,i,s,r,o){let a=e.root,h=0,l=0,c=0,d=0;const u=[];let g=0;for(;a!==ae;)if(Z(a))J(a.left,!1),J(a.right,!1),a===a.parent.right&&(h-=a.parent.delta),a=a.parent;else{if(!Z(a.left)){if(l=h+a.maxEnd,l<t){J(a,!0);continue}if(a.left!==ae){a=a.left;continue}}if(c=h+a.start,c>n)J(a,!0);else{if(d=h+a.end,d>=t){a.setCachedOffsets(c,d,r);let e=!0;i&&a.ownerId&&a.ownerId!==i&&(e=!1),s&&ee(a)&&(e=!1),o&&!ne(a)&&(e=!1),e&&(u[g++]=a)}J(a,!0),a.right===ae||Z(a.right)||(h+=a.delta,a=a.right)}}return J(e.root,!1),u}(this,e,t,n,i,s,r)}search(e,t,n,i){return this.root===ae?[]:function(e,t,n,i,s){let r=e.root,o=0,a=0,h=0;const l=[];let c=0;for(;r!==ae;){if(Z(r)){J(r.left,!1),J(r.right,!1),r===r.parent.right&&(o-=r.parent.delta),r=r.parent;continue}if(r.left!==ae&&!Z(r.left)){r=r.left;continue}a=o+r.start,h=o+r.end,r.setCachedOffsets(a,h,i);let e=!0;t&&r.ownerId&&r.ownerId!==t&&(e=!1),n&&ee(r)&&(e=!1),s&&!ne(r)&&(e=!1),e&&(l[c++]=r),J(r,!0),r.right===ae||Z(r.right)||(o+=r.delta,r=r.right)}return J(e.root,!1),l}(this,e,t,n,i)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const i=[];let s=0;for(;n!==ae;)Z(n)?(J(n.left,!1),J(n.right,!1),n=n.parent):n.left===ae||Z(n.left)?(n.ownerId===t&&(i[s++]=n),J(n,!0),n.right===ae||Z(n.right)||(n=n.right)):n=n.left;return J(e.root,!1),i}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let i=0;for(;t!==ae;)Z(t)?(J(t.left,!1),J(t.right,!1),t=t.parent):t.left===ae||Z(t.left)?t.right===ae||Z(t.right)?(n[i++]=t,J(t,!0)):t=t.right:t=t.left;return J(e.root,!1),n}(this)}insert(e){de(this,e),this._normalizeDeltaIfNecessary()}delete(e){ue(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let i=0;for(;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;const s=n.start+i,r=n.end+i;n.setCachedOffsets(s,r,t)}acceptReplace(e,t,n,i){const s=function(e,t,n){let i=e.root,s=0,r=0,o=0,a=0;const h=[];let l=0;for(;i!==ae;)if(Z(i))J(i.left,!1),J(i.right,!1),i===i.parent.right&&(s-=i.parent.delta),i=i.parent;else{if(!Z(i.left)){if(r=s+i.maxEnd,r<t){J(i,!0);continue}if(i.left!==ae){i=i.left;continue}}o=s+i.start,o>n?J(i,!0):(a=s+i.end,a>=t&&(i.setCachedOffsets(o,a,0),h[l++]=i),J(i,!0),i.right===ae||Z(i.right)||(s+=i.delta,i=i.right))}return J(e.root,!1),h}(this,e,e+t);for(let e=0,t=s.length;e<t;e++)ue(this,s[e]);this._normalizeDeltaIfNecessary(),function(e,t,n,i){let s=e.root,r=0,o=0,a=0;const h=i-(n-t);for(;s!==ae;)if(Z(s))J(s.left,!1),J(s.right,!1),s===s.parent.right&&(r-=s.parent.delta),me(s),s=s.parent;else{if(!Z(s.left)){if(o=r+s.maxEnd,o<t){J(s,!0);continue}if(s.left!==ae){s=s.left;continue}}a=r+s.start,a>n?(s.start+=h,s.end+=h,s.delta+=h,(s.delta<-1073741824||s.delta>1073741824)&&(e.requestNormalizeDelta=!0),J(s,!0)):(J(s,!0),s.right===ae||Z(s.right)||(r+=s.delta,s=s.right))}J(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let r=0,o=s.length;r<o;r++){const o=s[r];o.start=o.cachedAbsoluteStart,o.end=o.cachedAbsoluteEnd,ce(o,e,e+t,n,i),o.maxEnd=o.end,de(this,o)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){let t=e.root,n=0;for(;t!==ae;)t.left===ae||Z(t.left)?t.right===ae||Z(t.right)?(t.start=n+t.start,t.end=n+t.end,t.delta=0,me(t),J(t,!0),J(t.left,!1),J(t.right,!1),t===t.parent.right&&(n-=t.parent.delta),t=t.parent):(n+=t.delta,t=t.right):t=t.left;J(e.root,!1)}(this))}}function le(e,t,n,i){return e<n||!(e>n)&&1!==i&&(2===i||t)}function ce(e,t,n,i,s){const r=function(e){return(24&e.metadata)>>>3}(e),o=0===r||2===r,a=1===r||2===r,h=n-t,l=i,c=Math.min(h,l),d=e.start;let u=!1;const g=e.end;let f=!1;t<=d&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,u=!0,e.end=t,f=!0);{const e=s?1:h>0?2:0;!u&&le(d,o,t,e)&&(u=!0),!f&&le(g,a,t,e)&&(f=!0)}if(c>0&&!s){const e=h>l?2:0;!u&&le(d,o,t+c,e)&&(u=!0),!f&&le(g,a,t+c,e)&&(f=!0)}{const i=s?1:0;!u&&le(d,o,n,i)&&(e.start=t+l,u=!0),!f&&le(g,a,n,i)&&(e.end=t+l,f=!0)}const _=l-h;u||(e.start=Math.max(0,d+_)),f||(e.end=Math.max(0,g+_)),e.start>e.end&&(e.end=e.start)}function de(e,t){if(e.root===ae)return t.parent=ae,t.left=ae,t.right=ae,K(t,0),e.root=t,e.root;!function(e,t){let n=0,i=e.root;const s=t.start,r=t.end;for(;;)if(Ce(s,r,i.start+n,i.end+n)<0){if(i.left===ae){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===ae){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}t.parent=i,t.left=ae,t.right=ae,K(t,1)}(e,t),ke(t.parent);let n=t;for(;n!==e.root&&1===Y(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===Y(t)?(K(n.parent,0),K(t,0),K(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,fe(e,n)),K(n.parent,0),K(n.parent.parent,1),_e(e,n.parent.parent))}else{const t=n.parent.parent.left;1===Y(t)?(K(n.parent,0),K(t,0),K(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,_e(e,n)),K(n.parent,0),K(n.parent.parent,1),fe(e,n.parent.parent))}return K(e.root,0),t}function ue(e,t){let n,i;if(t.left===ae?(n=t.right,i=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===ae?(n=t.left,i=t):(i=function(e){for(;e.left!==ae;)e=e.left;return e}(t.right),n=i.right,n.start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,K(n,0),t.detach(),ge(),me(n),void(e.root.parent=ae);const s=1===Y(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,K(i,Y(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==ae&&(i.left.parent=i),i.right!==ae&&(i.right.parent=i)),t.detach(),s)return ke(n.parent),i!==t&&(ke(i),ke(i.parent)),void ge();let r;for(ke(n),ke(n.parent),i!==t&&(ke(i),ke(i.parent));n!==e.root&&0===Y(n);)n===n.parent.left?(r=n.parent.right,1===Y(r)&&(K(r,0),K(n.parent,1),fe(e,n.parent),r=n.parent.right),0===Y(r.left)&&0===Y(r.right)?(K(r,1),n=n.parent):(0===Y(r.right)&&(K(r.left,0),K(r,1),_e(e,r),r=n.parent.right),K(r,Y(n.parent)),K(n.parent,0),K(r.right,0),fe(e,n.parent),n=e.root)):(r=n.parent.left,1===Y(r)&&(K(r,0),K(n.parent,1),_e(e,n.parent),r=n.parent.left),0===Y(r.left)&&0===Y(r.right)?(K(r,1),n=n.parent):(0===Y(r.left)&&(K(r.right,0),K(r,1),fe(e,r),r=n.parent.left),K(r,Y(n.parent)),K(n.parent,0),K(r.left,0),_e(e,n.parent),n=e.root));K(n,0),ge()}function ge(){ae.parent=ae,ae.delta=0,ae.start=0,ae.end=0}function fe(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==ae&&(n.left.parent=t),n.parent=t.parent,t.parent===ae?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,me(t),me(n)}function _e(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==ae&&(n.right.parent=t),n.parent=t.parent,t.parent===ae?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,me(t),me(n)}function pe(e){let t=e.end;if(e.left!==ae){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==ae){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function me(e){e.maxEnd=pe(e)}function ke(e){for(;e!==ae;){const t=pe(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function Ce(e,t,n,i){return e===n?t-i:e-n}class be{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Le)return Ie(this.right);let e=this;for(;e.parent!==Le&&e.parent.left!==e;)e=e.parent;return e.parent===Le?Le:e.parent}prev(){if(this.left!==Le)return xe(this.left);let e=this;for(;e.parent!==Le&&e.parent.right!==e;)e=e.parent;return e.parent===Le?Le:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Le=new be(null,0);function Ie(e){for(;e.left!==Le;)e=e.left;return e}function xe(e){for(;e.right!==Le;)e=e.right;return e}function ve(e){return e===Le?0:e.size_left+e.piece.length+ve(e.right)}function Te(e){return e===Le?0:e.lf_left+e.piece.lineFeedCnt+Te(e.right)}function Se(){Le.parent=Le}function we(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==Le&&(n.left.parent=t),n.parent=t.parent,t.parent===Le?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function Ee(e,t){const n=t.left;t.left=n.right,n.right!==Le&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===Le?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Be(e,t){let n,i;if(t.left===Le?(i=t,n=i.right):t.right===Le?(i=t,n=i.left):(i=Ie(t.right),n=i.right),i===e.root)return e.root=n,n.color=0,t.detach(),Se(),void(e.root.parent=Le);const s=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,Ae(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,Ae(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==Le&&(i.left.parent=i),i.right!==Le&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,Ae(e,i)),t.detach(),n.parent.left===n){const t=ve(n),i=Te(n);if(t!==n.parent.size_left||i!==n.parent.lf_left){const s=t-n.parent.size_left,r=i-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=i,Oe(e,n.parent,s,r)}}if(Ae(e,n.parent),s)return void Se();let r;for(;n!==e.root&&0===n.color;)n===n.parent.left?(r=n.parent.right,1===r.color&&(r.color=0,n.parent.color=1,we(e,n.parent),r=n.parent.right),0===r.left.color&&0===r.right.color?(r.color=1,n=n.parent):(0===r.right.color&&(r.left.color=0,r.color=1,Ee(e,r),r=n.parent.right),r.color=n.parent.color,n.parent.color=0,r.right.color=0,we(e,n.parent),n=e.root)):(r=n.parent.left,1===r.color&&(r.color=0,n.parent.color=1,Ee(e,n.parent),r=n.parent.left),0===r.left.color&&0===r.right.color?(r.color=1,n=n.parent):(0===r.left.color&&(r.right.color=0,r.color=1,we(e,r),r=n.parent.left),r.color=n.parent.color,n.parent.color=0,r.left.color=0,Ee(e,n.parent),n=e.root));n.color=0,Se()}function Ne(e,t){for(Ae(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&we(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Ee(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Ee(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,we(e,t.parent.parent))}e.root.color=0}function Oe(e,t,n,i){for(;t!==e.root&&t!==Le;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function Ae(e,t){let n=0,i=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=ve((t=t.parent).left)-t.size_left,i=Te(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}Le.parent=Le,Le.left=Le,Le.right=Le,Le.color=0;var Re=n(1484);const De=65535;function Me(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class ze{constructor(e,t,n,i,s){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=s}}function Pe(e,t=!0){const n=[0];let i=1;for(let t=0,s=e.length;t<s;t++){const r=e.charCodeAt(t);13===r?t+1<s&&10===e.charCodeAt(t+1)?(n[i++]=t+2,t++):n[i++]=t+1:10===r&&(n[i++]=t+1)}return t?Me(n):n}class ye{constructor(e,t,n,i,s){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=i,this.length=s}}class Fe{constructor(e,t){this.buffer=e,this.lineStarts=t}}class Ve{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==Le&&e.iterate(e.root,e=>(e!==Le&&this._pieces.push(e.piece),!0))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null: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 We{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<e&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let i=0;i<n.length;i++){const s=n[i];(null===s.node.parent||s.nodeStartOffset>=e)&&(n[i]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class Ue{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new Fe("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Le,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let i=null;for(let t=0,n=e.length;t<n;t++)if(e[t].buffer.length>0){e[t].lineStarts||(e[t].lineStarts=Pe(e[t].buffer));const n=new ye(t+1,{line:0,column:0},{line:e[t].lineStarts.length-1,column:e[t].buffer.length-e[t].lineStarts[e[t].lineStarts.length-1]},e[t].lineStarts.length-1,e[t].buffer.length);this._buffers.push(e[t]),i=this.rbInsertRight(i,n)}this._searchCache=new We(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=65535-Math.floor(21845),n=2*t;let i="",s=0;const r=[];if(this.iterate(this.root,o=>{const a=this.getNodeContent(o),h=a.length;if(s<=t||s+h<n)return i+=a,s+=h,!0;const l=i.replace(/\r\n|\r|\n/g,e);return r.push(new Fe(l,Pe(l))),i=a,s=h,!0}),s>0){const t=i.replace(/\r\n|\r|\n/g,e);r.push(new Fe(t,Pe(t)))}this.create(r,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new Ve(this,e)}getOffsetAt(e,t){let n=0,i=this.root;for(;i!==Le;)if(i.left!==Le&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return n+=i.size_left,n+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const i=e;for(;t!==Le;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const s=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+s.index,0===s.index){const e=i-this.getOffsetAt(n+1,1);return new u.y(n+1,e+1)}return new u.y(n+1,s.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===Le){const t=i-e-this.getOffsetAt(n+1,1);return new u.y(n+1,t+1)}t=t.right}return new u.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),s=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?s:s.replace(/\r\n|\r|\n/g,t):s}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(s+e.remainder,s+t.remainder)}let n=e.node;const i=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let r=i.substring(s+e.remainder,s+n.piece.length);for(n=n.next();n!==Le;){const e=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){r+=e.substring(i,i+t.remainder);break}r+=e.substr(i,n.piece.length),n=n.next()}return r}getLinesContent(){const e=[];let t=0,n="",i=!1;return this.iterate(this.root,s=>{if(s===Le)return!0;const r=s.piece;let o=r.length;if(0===o)return!0;const a=this._buffers[r.bufferIndex].buffer,h=this._buffers[r.bufferIndex].lineStarts,l=r.start.line,c=r.end.line;let d=h[l]+r.start.column;if(i&&(10===a.charCodeAt(d)&&(d++,o--),e[t++]=n,n="",i=!1,0===o))return!0;if(l===c)return this._EOLNormalized||13!==a.charCodeAt(d+o-1)?n+=a.substr(d,o):(i=!0,n+=a.substr(d,o-1)),!0;n+=this._EOLNormalized?a.substring(d,Math.max(d,h[l+1]-this._EOLLength)):a.substring(d,h[l+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let i=l+1;i<c;i++)n=this._EOLNormalized?a.substring(h[i],h[i+1]-this._EOLLength):a.substring(h[i],h[i+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;return this._EOLNormalized||13!==a.charCodeAt(h[c]+r.end.column-1)?n=a.substr(h[c],r.end.column):(i=!0,0===r.end.column?t--:n=a.substr(h[c],r.end.column-1)),!0}),i&&(e[t++]=n,n=""),e[t++]=n,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e||(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(e){if(e.remainder===e.node.piece.length){const t=e.node.next();if(!t)return 0;const n=this._buffers[t.piece.bufferIndex],i=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return n.buffer.charCodeAt(i)}{const t=this._buffers[e.node.piece.bufferIndex],n=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(n)}}getLineCharCode(e,t){const n=this.nodeAt2(e,t+1);return this._getCharCode(n)}getLineLength(e){if(e===this.getLineCount()){const t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,n,i,s,r,o,a,h,l,c){const d=this._buffers[e.piece.bufferIndex],u=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),f=this.offsetInBuffer(e.piece.bufferIndex,s),_=this.offsetInBuffer(e.piece.bufferIndex,r);let p;const m={line:0,column:0};let k,C;t._wordSeparators?(k=d.buffer.substring(f,_),C=e=>e+f,t.reset(0)):(k=d.buffer,C=e=>e,t.reset(f));do{if(p=t.next(k),p){if(C(p.index)>=_)return l;this.positionInBuffer(e,C(p.index)-u,m);const t=this.getLineFeedCnt(e.piece.bufferIndex,s,m),r=m.line===s.line?m.column-s.column+i:m.column+1,o=r+p[0].length;if(c[l++]=(0,Re.dr)(new g.Q(n+t,r,n+t,o),p,a),C(p.index)+p[0].length>=_)return l;if(l>=h)return l}}while(p);return l}findMatchesLineByLine(e,t,n,i){const s=[];let r=0;const o=new Re.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const h=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===h)return[];let l=this.positionInBuffer(a.node,a.remainder);const c=this.positionInBuffer(h.node,h.remainder);if(a.node===h.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,l,c,t,n,i,r,s),s;let d=e.startLineNumber,u=a.node;for(;u!==h.node;){const h=this.getLineFeedCnt(u.piece.bufferIndex,l,u.piece.end);if(h>=1){const a=this._buffers[u.piece.bufferIndex].lineStarts,c=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),g=a[l.line+h],f=d===e.startLineNumber?e.startColumn:1;if(r=this.findMatchesInNode(u,o,d,f,l,this.positionInBuffer(u,g-c),t,n,i,r,s),r>=i)return s;d+=h}const c=d===e.startLineNumber?e.startColumn-1:0;if(d===e.endLineNumber){const a=this.getLineContent(d).substring(c,e.endColumn-1);return r=this._findMatchesInLine(t,o,a,e.endLineNumber,c,r,s,n,i),s}if(r=this._findMatchesInLine(t,o,this.getLineContent(d).substr(c),d,c,r,s,n,i),r>=i)return s;d++,a=this.nodeAt2(d,1),u=a.node,l=this.positionInBuffer(a.node,a.remainder)}if(d===e.endLineNumber){const a=d===e.startLineNumber?e.startColumn-1:0,h=this.getLineContent(d).substring(a,e.endColumn-1);return r=this._findMatchesInLine(t,o,h,e.endLineNumber,a,r,s,n,i),s}const g=d===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(h.node,o,d,g,l,c,t,n,i,r,s),s}_findMatchesInLine(e,t,n,i,s,r,o,a,h){const l=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,c=n.length;let d=-a;for(;-1!==(d=n.indexOf(t,d+a));)if((!l||(0,Re.wC)(l,n,c,d,a))&&(o[r++]=new k.Dg(new g.Q(i,d+1+s,i,d+1+a+s),null),r>=h))return r;return r}let c;t.reset(0);do{if(c=t.next(n),c&&(o[r++]=(0,Re.dr)(new g.Q(i,c.index+1+s,i,c.index+1+c[0].length+s),c,a),r>=h))return r}while(c);return r}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Le){const{node:n,remainder:i,nodeStartOffset:s}=this.nodeAt(e),r=n.piece,o=r.bufferIndex,a=this.positionInBuffer(n,i);if(0===n.piece.bufferIndex&&r.end.line===this._lastChangeBufferPos.line&&r.end.column===this._lastChangeBufferPos.column&&s+r.length===e&&t.length<De)return this.appendToNode(n,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,n),this._searchCache.validate(e);else if(s+n.piece.length>e){const e=[];let s=new ye(r.bufferIndex,a,r.end,this.getLineFeedCnt(r.bufferIndex,a,r.end),this.offsetInBuffer(o,r.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&10===this.nodeCharCodeAt(n,i)){const e={line:s.start.line+1,column:0};s=new ye(s.bufferIndex,e,s.end,this.getLineFeedCnt(s.bufferIndex,e,s.end),s.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(n,i-1)){const s=this.positionInBuffer(n,i-1);this.deleteNodeTail(n,s),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,a);else this.deleteNodeTail(n,a);const h=this.createNewPieces(t);s.length>0&&this.rbInsertRight(n,s);let l=n;for(let e=0;e<h.length;e++)l=this.rbInsertRight(l,h[e]);this.deleteNodes(e)}else this.insertContentToNodeRight(t,n)}else{const e=this.createNewPieces(t);let n=this.rbInsertLeft(null,e[0]);for(let t=1;t<e.length;t++)n=this.rbInsertRight(n,e[t])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===Le)return;const n=this.nodeAt(e),i=this.nodeAt(e+t),s=n.node,r=i.node;if(s===r){const r=this.positionInBuffer(s,n.remainder),o=this.positionInBuffer(s,i.remainder);if(n.nodeStartOffset===e){if(t===s.piece.length){const e=s.next();return Be(this,s),this.validateCRLFWithPrevNode(e),void this.computeBufferMetadata()}return this.deleteNodeHead(s,o),this._searchCache.validate(e),this.validateCRLFWithPrevNode(s),void this.computeBufferMetadata()}return n.nodeStartOffset+s.piece.length===e+t?(this.deleteNodeTail(s,r),this.validateCRLFWithNextNode(s),void this.computeBufferMetadata()):(this.shrinkNode(s,r,o),void this.computeBufferMetadata())}const o=[],a=this.positionInBuffer(s,n.remainder);this.deleteNodeTail(s,a),this._searchCache.validate(e),0===s.piece.length&&o.push(s);const h=this.positionInBuffer(r,i.remainder);this.deleteNodeHead(r,h),0===r.piece.length&&o.push(r);for(let e=s.next();e!==Le&&e!==r;e=e.next())o.push(e);const l=0===s.piece.length?s.prev():s;this.deleteNodes(o),this.validateCRLFWithNextNode(l),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const n=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const i=t.piece,s={line:i.start.line+1,column:0},r=new ye(i.bufferIndex,s,i.end,this.getLineFeedCnt(i.bufferIndex,s,i.end),i.length-1);t.piece=r,e+="\n",Oe(this,t,-1,-1),0===t.piece.length&&n.push(t)}const i=this.createNewPieces(e);let s=this.rbInsertLeft(t,i[i.length-1]);for(let e=i.length-2;e>=0;e--)s=this.rbInsertLeft(s,i[e]);this.validateCRLFWithPrevNode(s),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]);let s=i;for(let e=1;e<n.length;e++)s=this.rbInsertRight(s,n[e]);this.validateCRLFWithPrevNode(i)}positionInBuffer(e,t,n){const i=e.piece,s=e.piece.bufferIndex,r=this._buffers[s].lineStarts,o=r[i.start.line]+i.start.column+t;let a=i.start.line,h=i.end.line,l=0,c=0,d=0;for(;a<=h&&(l=a+(h-a)/2|0,d=r[l],l!==h);)if(c=r[l+1],o<d)h=l-1;else{if(!(o>=c))break;a=l+1}return n?(n.line=l,n.column=o-d,null):{line:l,column:o-d}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;const s=i[n.line+1],r=i[n.line]+n.column;if(s>r+1)return n.line-t.line;const o=r-1;return 13===this._buffers[e].buffer.charCodeAt(o)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)Be(this,e[t])}createNewPieces(e){if(e.length>De){const t=[];for(;e.length>De;){const n=e.charCodeAt(65534);let i;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,De),e=e.substring(De));const s=Pe(i);t.push(new ye(this._buffers.length,{line:0,column:0},{line:s.length-1,column:i.length-s[s.length-1]},s.length-1,i.length)),this._buffers.push(new Fe(i,s))}const n=Pe(e);return t.push(new ye(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new Fe(e,n)),t}let t=this._buffers[0].buffer.length;const n=Pe(e,!1);let i=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},i=this._lastChangeBufferPos;for(let e=0;e<n.length;e++)n[e]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(0!==t)for(let e=0;e<n.length;e++)n[e]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+=e}const s=this._buffers[0].buffer.length,r=this._buffers[0].lineStarts.length-1,o={line:r,column:s-this._buffers[0].lineStarts[r]},a=new ye(0,i,o,this.getLineFeedCnt(0,i,o),s-t);return this._lastChangeBufferPos=o,[a]}getLineRawContent(e,t=0){let n=this.root,i="";const s=this._searchCache.get2(e);if(s){n=s.node;const r=this.getAccumulatedValue(n,e-s.nodeStartLineNumber-1),o=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(s.nodeStartLineNumber+n.piece.lineFeedCnt!==e){const i=this.getAccumulatedValue(n,e-s.nodeStartLineNumber);return o.substring(a+r,a+i-t)}i=o.substring(a+r,a+n.piece.length)}else{let s=0;const r=e;for(;n!==Le;)if(n.left!==Le&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1),a=this._buffers[n.piece.bufferIndex].buffer,h=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return s+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:s,nodeStartLineNumber:r-(e-1-n.lf_left)}),a.substring(h+i,h+o-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),s=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=s.substring(r+t,r+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,s+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==Le;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const s=this.getAccumulatedValue(n,0),r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=e.substring(r,r+s-t),i}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=e.substr(t,n.piece.length)}n=n.next()}return i}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==Le;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,i=this.positionInBuffer(e,t),s=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(t!==s)return{index:t,remainder:0}}return{index:s,remainder:i.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,s=n.start.line+t+1;return s>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[s]-i[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,i=n.lineFeedCnt,s=this.offsetInBuffer(n.bufferIndex,n.end),r=t,o=this.offsetInBuffer(n.bufferIndex,r),a=this.getLineFeedCnt(n.bufferIndex,n.start,r),h=a-i,l=o-s,c=n.length+l;e.piece=new ye(n.bufferIndex,n.start,r,a,c),Oe(this,e,l,h)}deleteNodeHead(e,t){const n=e.piece,i=n.lineFeedCnt,s=this.offsetInBuffer(n.bufferIndex,n.start),r=t,o=this.getLineFeedCnt(n.bufferIndex,r,n.end),a=o-i,h=s-this.offsetInBuffer(n.bufferIndex,r),l=n.length+h;e.piece=new ye(n.bufferIndex,r,n.end,o,l),Oe(this,e,h,a)}shrinkNode(e,t,n){const i=e.piece,s=i.start,r=i.end,o=i.length,a=i.lineFeedCnt,h=t,l=this.getLineFeedCnt(i.bufferIndex,i.start,h),c=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,s);e.piece=new ye(i.bufferIndex,i.start,h,l,c),Oe(this,e,c-o,l-a);const d=new ye(i.bufferIndex,n,r,this.getLineFeedCnt(i.bufferIndex,n,r),this.offsetInBuffer(i.bufferIndex,r)-this.offsetInBuffer(i.bufferIndex,n)),u=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(u)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const s=Pe(t,!1);for(let e=0;e<s.length;e++)s[e]+=i;if(n){const e=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:i-e}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(s.slice(1));const r=this._buffers[0].lineStarts.length-1,o={line:r,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[r]},a=e.piece.length+t.length,h=e.piece.lineFeedCnt,l=this.getLineFeedCnt(0,e.piece.start,o),c=l-h;e.piece=new ye(e.piece.bufferIndex,e.piece.start,o,l,a),this._lastChangeBufferPos=o,Oe(this,e,t.length,c)}nodeAt(e){let t=this.root;const n=this._searchCache.get(e);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:e-n.nodeStartOffset};let i=0;for(;t!==Le;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,i=0;for(;n!==Le;)if(n.left!==Le&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const s=this.getAccumulatedValue(n,e-n.lf_left-2),r=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(s+t-1,r),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const s=this.getAccumulatedValue(n,e-n.lf_left-2);if(s+t-1<=n.piece.length)return{node:n,remainder:s+t-1,nodeStartOffset:i};t-=n.piece.length-s;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Le;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),i=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:i}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===Le||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,s=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>s+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(s))}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==Le&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;let s;s=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const r=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new ye(e.piece.bufferIndex,e.piece.start,s,o,r),Oe(this,e,-1,-1),0===e.piece.length&&n.push(e);const a={line:t.piece.start.line+1,column:0},h=t.piece.length-1,l=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new ye(t.piece.bufferIndex,a,t.piece.end,l,h),Oe(this,t,-1,-1),0===t.piece.length&&n.push(t);const c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(let e=0;e<n.length;e++)Be(this,n[e])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const n=t.next();if(this.startWithLF(n)){if(e+="\n",1===n.piece.length)Be(this,n);else{const e=n.piece,t={line:e.start.line+1,column:0},i=e.length-1,s=this.getLineFeedCnt(e.bufferIndex,t,e.end);n.piece=new ye(e.bufferIndex,t,e.end,s,i),Oe(this,n,-1,-1)}return!0}}return!1}iterate(e,t){if(e===Le)return t(Le);const n=this.iterate(e.left,t);return n?t(e)&&this.iterate(e.right,t):n}getNodeContent(e){if(e===Le)return"";const t=this._buffers[e.piece.bufferIndex],n=e.piece,i=this.offsetInBuffer(n.bufferIndex,n.start),s=this.offsetInBuffer(n.bufferIndex,n.end);return t.buffer.substring(i,s)}getPieceContent(e){const t=this._buffers[e.bufferIndex],n=this.offsetInBuffer(e.bufferIndex,e.start),i=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(n,i)}rbInsertRight(e,t){const n=new be(t,1);if(n.left=Le,n.right=Le,n.parent=Le,n.size_left=0,n.lf_left=0,this.root===Le)this.root=n,n.color=0;else if(e.right===Le)e.right=n,n.parent=e;else{const t=Ie(e.right);t.left=n,n.parent=t}return Ne(this,n),n}rbInsertLeft(e,t){const n=new be(t,1);if(n.left=Le,n.right=Le,n.parent=Le,n.size_left=0,n.lf_left=0,this.root===Le)this.root=n,n.color=0;else if(e.left===Le)e.left=n,n.parent=e;else{const t=xe(e.left);t.right=n,n.parent=t}return Ne(this,n),n}}var He=n(2457);class Ge extends a.jG{constructor(e,t,n,i,s,r,a){super(),this._onDidChangeContent=this._register(new o.vl),this._BOM=t,this._mightContainNonBasicASCII=!r,this._mightContainRTL=i,this._mightContainUnusualLineTerminators=s,this._pieceTree=new Ue(e,n,a)}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(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const n=e+t,i=this.getPositionAt(e),s=this.getPositionAt(n);return new g.Q(i.lineNumber,i.column,s.lineNumber,s.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const n=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,n)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const n=this.getOffsetAt(e.startLineNumber,e.startColumn),i=this.getOffsetAt(e.endLineNumber,e.endColumn);let s=0;const r=this._getEndOfLine(t),o=this.getEOL();return r.length!==o.length&&(s=(r.length-o.length)*(e.endLineNumber-e.startLineNumber)),i-n+s}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let n=0;const i=e.startLineNumber,s=e.endLineNumber;for(let t=i;t<=s;t++){const r=this.getLineContent(t),o=t===i?e.startColumn-1:0,a=t===s?e.endColumn-1:r.length;for(let e=o;e<a;e++)h.pc(r.charCodeAt(e))?(n+=1,e+=1):n+=1}return n+=this._getEndOfLine(t).length*(s-i),n}return this.getValueLengthInRange(e,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=h.HG(this.getLineContent(e));return-1===t?0:t+1}getLineLastNonWhitespaceColumn(e){const t=h.lT(this.getLineContent(e));return-1===t?0:t+2}_getEndOfLine(e){switch(e){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,n){let i=this._mightContainRTL,s=this._mightContainUnusualLineTerminators,r=this._mightContainNonBasicASCII,o=!0,a=[];for(let t=0;t<e.length;t++){const n=e[t];o&&n._isTracked&&(o=!1);const l=n.range;if(n.text){let e=!0;r||(e=!h.aC(n.text),r=e),!i&&e&&(i=h.E_(n.text)),!s&&e&&(s=h.$X(n.text))}let d="",u=0,g=0,f=0;if(n.text){let e;[u,g,f,e]=(0,c.W)(n.text);const t=this.getEOL();d=0===e||e===("\r\n"===t?2:1)?n.text:n.text.replace(/\r\n|\r|\n/g,t)}a[t]={sortIndex:t,identifier:n.identifier||null,range:l,rangeOffset:this.getOffsetAt(l.startLineNumber,l.startColumn),rangeLength:this.getValueLengthInRange(l),text:d,eolCount:u,firstLineLength:g,lastLineLength:f,forceMoveMarkers:Boolean(n.forceMoveMarkers),isAutoWhitespaceEdit:n.isAutoWhitespaceEdit||!1}}a.sort(Ge._sortOpsAscending);let l=!1;for(let e=0,t=a.length-1;e<t;e++){const t=a[e].range.getEndPosition(),n=a[e+1].range.getStartPosition();if(n.isBeforeOrEqual(t)){if(n.isBefore(t))throw new Error("Overlapping ranges are not allowed!");l=!0}}o&&(a=this._reduceOperations(a));const d=n||t?Ge._getInverseEditRanges(a):[],u=[];if(t)for(let e=0;e<a.length;e++){const t=a[e],n=d[e];if(t.isAutoWhitespaceEdit&&t.range.isEmpty())for(let e=n.startLineNumber;e<=n.endLineNumber;e++){let i="";e===n.startLineNumber&&(i=this.getLineContent(t.range.startLineNumber),-1!==h.HG(i))||u.push({lineNumber:e,oldContent:i})}}let g=null;if(n){let e=0;g=[];for(let t=0;t<a.length;t++){const n=a[t],i=d[t],s=this.getValueInRange(n.range),r=n.rangeOffset+e;e+=n.text.length-s.length,g[t]={sortIndex:n.sortIndex,identifier:n.identifier,range:i,text:s,textChange:new He.k(n.rangeOffset,s,r,n.text)}}l||g.sort((e,t)=>e.sortIndex-t.sortIndex)}this._mightContainRTL=i,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=r;const f=this._doApplyEdits(a);let _=null;if(t&&u.length>0){u.sort((e,t)=>t.lineNumber-e.lineNumber),_=[];for(let e=0,t=u.length;e<t;e++){const t=u[e].lineNumber;if(e>0&&u[e-1].lineNumber===t)continue;const n=u[e].oldContent,i=this.getLineContent(t);0!==i.length&&i!==n&&-1===h.HG(i)&&_.push(t)}}return this._onDidChangeContent.fire(),new k.F4(g,f,_)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,i=e[e.length-1].range,s=new g.Q(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn);let r=n.startLineNumber,o=n.startColumn;const a=[];for(let n=0,i=e.length;n<i;n++){const i=e[n],s=i.range;t=t||i.forceMoveMarkers,a.push(this.getValueInRange(new g.Q(r,o,s.startLineNumber,s.startColumn))),i.text.length>0&&a.push(i.text),r=s.endLineNumber,o=s.endColumn}const h=a.join(""),[l,d,u]=(0,c.W)(h);return{sortIndex:0,identifier:e[0].identifier,range:s,rangeOffset:this.getOffsetAt(s.startLineNumber,s.startColumn),rangeLength:this.getValueLengthInRange(s,0),text:h,eolCount:l,firstLineLength:d,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Ge._sortOpsDescending);const t=[];for(let n=0;n<e.length;n++){const i=e[n],s=i.range.startLineNumber,r=i.range.startColumn,o=i.range.endLineNumber,a=i.range.endColumn;if(s===o&&r===a&&0===i.text.length)continue;i.text?(this._pieceTree.delete(i.rangeOffset,i.rangeLength),this._pieceTree.insert(i.rangeOffset,i.text,!0)):this._pieceTree.delete(i.rangeOffset,i.rangeLength);const h=new g.Q(s,r,o,a);t.push({range:h,rangeLength:i.rangeLength,text:i.text,rangeOffset:i.rangeOffset,forceMoveMarkers:i.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,n,i){return this._pieceTree.findMatchesLineByLine(e,t,n,i)}static _getInverseEditRanges(e){const t=[];let n=0,i=0,s=null;for(let r=0,o=e.length;r<o;r++){const o=e[r];let a,h,l;if(s?s.range.endLineNumber===o.range.startLineNumber?(a=n,h=i+(o.range.startColumn-s.range.endColumn)):(a=n+(o.range.startLineNumber-s.range.endLineNumber),h=o.range.startColumn):(a=o.range.startLineNumber,h=o.range.startColumn),o.text.length>0){const e=o.eolCount+1;l=1===e?new g.Q(a,h,a,h+o.firstLineLength):new g.Q(a,h,a+e-1,o.lastLineLength+1)}else l=new g.Q(a,h,a,h);n=l.endLineNumber,i=l.endColumn,t.push(l),s=o}return t}static _sortOpsAscending(e,t){const n=g.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=g.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class je{constructor(e,t,n,i,s,r,o,a,h){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=s,this._containsRTL=r,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=h}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let e=0,i=n.length;e<i;e++){const i=n[e].buffer.replace(/\r\n|\r|\n/g,t),s=Pe(i);n[e]=new Fe(i,s)}const i=new Ge(n,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:i,disposable:i}}}class Qe{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(e){if(0===e.length)return;0===this.chunks.length&&h.LU(e)&&(this.BOM=h.r_,e=e.substr(1));const t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,i=0,s=0,r=0,o=!0;for(let a=0,h=t.length;a<h;a++){const l=t.charCodeAt(a);13===l?a+1<h&&10===t.charCodeAt(a+1)?(r++,e[n++]=a+2,a++):(i++,e[n++]=a+1):10===l?(s++,e[n++]=a+1):o&&9!==l&&(l<32||l>126)&&(o=!1)}const a=new ze(Me(e),i,s,r,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new Fe(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=h.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=h.$X(e)))}finish(e=!0){return this._finish(),new je(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=Pe(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var qe=n(30415),$e=n(46098),Xe=n(99342),Ye=n(4165),Ke=n(55842),Ze=n(34591),Je=n(39657),et=n(55904),tt=n(28320);class nt{constructor(e){this._default=e,this._store=[]}get(e){return e<this._store.length?this._store[e]:this._default}set(e,t){for(;e>=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const i=this._store.slice(0,e),s=this._store.slice(e+t),r=function(e,t){const n=[];for(let i=0;i<e;i++)n[i]=t;return n}(n,this._default);this._store=i.concat(r,s)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let e=0;e<t;e++)n[e]=this._default;this._store=(0,i.nK)(this._store,e,n)}}class it{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(e,t){this._startLineNumber=e,this._tokens=t}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class st{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new it(e,[t]))}finalize(){return this._tokens}}var rt=n(38881);class ot{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new ht(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class at extends ot{constructor(e,t,n,i){super(e,t),this._textModel=n,this._languageIdCodec=i}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const i=this.getFirstInvalidLine();if(!i||i.lineNumber>t)break;const s=this._textModel.getLineContent(i.lineNumber),r=dt(this._languageIdCodec,n,this.tokenizationSupport,s,!0,i.startState);e.add(i.lineNumber,r.tokens),this.store.setEndState(i.lineNumber,r.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const i=this._textModel.getLanguageId(),s=this._textModel.getLineContent(e.lineNumber),r=s.substring(0,e.column-1)+t+s.substring(e.column-1),o=dt(this._languageIdCodec,i,this.tokenizationSupport,r,!0,n),a=new rt.f(o.tokens,r,this._languageIdCodec);if(0===a.getCount())return 0;const h=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(h)}tokenizeLineWithEdit(e,t,n){const i=e.lineNumber,s=e.column,r=this.getStartState(i);if(!r)return null;const o=this._textModel.getLineContent(i),a=o.substring(0,s-1)+n+o.substring(s-1+t),h=this._textModel.getLanguageIdAtPosition(i,0),l=dt(this._languageIdCodec,h,this.tokenizationSupport,a,!0,r);return new rt.f(l.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e<t||e===t&&this._textModel.getLineLength(e)<2048}tokenizeHeuristically(e,t,n){if(n<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(t<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(e,n),{heuristicTokens:!1};let i=this.guessStartState(t);const s=this._textModel.getLanguageId();for(let r=t;r<=n;r++){const t=this._textModel.getLineContent(r),n=dt(this._languageIdCodec,s,this.tokenizationSupport,t,!0,i);e.add(r,n.tokens),i=n.endState}return{heuristicTokens:!0}}guessStartState(e){let t=this._textModel.getLineFirstNonWhitespaceColumn(e);const n=[];let i=null;for(let s=e-1;t>1&&s>=1;s--){const e=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==e&&e<t&&(n.push(this._textModel.getLineContent(s)),t=e,i=this.getStartState(s),i))break}i||(i=this.tokenizationSupport.getInitialState()),n.reverse();const s=this._textModel.getLanguageId();let r=i;for(const e of n)r=dt(this._languageIdCodec,s,this.tokenizationSupport,e,!1,r).endState;return r}}class ht{constructor(e){this.lineCount=e,this._tokenizationStateStore=new lt,this._invalidEndStatesLineNumbers=new ct,this._invalidEndStatesLineNumbers.addRange(new et.L(1,e+1))}getEndState(e){return this._tokenizationStateStore.getEndState(e)}setEndState(e,t){if(!t)throw new r.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(e);const n=this._tokenizationStateStore.setEndState(e,t);return n&&e<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new et.L(e+1,e+2)),n}acceptChange(e,t){this.lineCount+=t-e.length,this._tokenizationStateStore.acceptChange(e,t),this._invalidEndStatesLineNumbers.addRangeAndResize(new et.L(e.startLineNumber,e.endLineNumberExclusive),t)}acceptChanges(e){for(const t of e){const[e]=(0,c.W)(t.text);this.acceptChange(new qe.M(t.range.startLineNumber,t.range.endLineNumber+1),e+1)}}invalidateEndStateRange(e){this._invalidEndStatesLineNumbers.addRange(new et.L(e.startLineNumber,e.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(e,t){return 1===e?t:this.getEndState(e-1)}getFirstInvalidLine(e){const t=this.getFirstInvalidEndStateLineNumber();if(null===t)return null;const n=this.getStartState(t,e);if(!n)throw new r.D7("Start state must be defined");return{lineNumber:t,startState:n}}}class lt{constructor(){this._lineEndStates=new nt(null)}getEndState(e){return this._lineEndStates.get(e)}setEndState(e,t){const n=this._lineEndStates.get(e);return!(n&&n.equals(t)||(this._lineEndStates.set(e,t),0))}acceptChange(e,t){let n=e.length;t>0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class ct{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(t=>t.contains(e));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new et.L(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new et.L(n.start,e):this._ranges.splice(t,1,new et.L(n.start,e),new et.L(e+1,n.endExclusive))}}addRange(e){et.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let i=n;for(;!(i>=this._ranges.length||e.endExclusive<this._ranges[i].start);)i++;const s=t-e.length;for(let e=i;e<this._ranges.length;e++)this._ranges[e]=this._ranges[e].delta(s);if(n===i){const i=new et.L(e.start,e.start+t);i.isEmpty||this._ranges.splice(n,0,i)}else{const t=Math.min(e.start,this._ranges[n].start),r=Math.max(e.endExclusive,this._ranges[i-1].endExclusive),o=new et.L(t,r+s);o.isEmpty?this._ranges.splice(n,i-n):this._ranges.splice(n,i-n,o)}}toString(){return this._ranges.map(e=>e.toString()).join(" + ")}}function dt(e,t,n,i,s,o){let a=null;if(n)try{a=n.tokenizeEncoded(i,s,o.clone())}catch(e){(0,r.dz)(e)}return a||(a=(0,tt.Lh)(e.encodeLanguageId(t),o)),rt.f.convertToEndOffset(a.tokens,i.length),a}class ut{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Ke.$6)(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<t?(0,Ze._p)(n):this._beginBackgroundTokenization())};n()}_backgroundTokenizeForAtLeast1ms(){const e=this._tokenizerWithStateStore._textModel.getLineCount(),t=new st,n=Je.W.create(!1);do{if(n.elapsed()>1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new qe.M(e,t))}}class gt{constructor(){this._onDidChangeVisibleRanges=new o.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new ft(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class ft{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map(e=>new qe.M(e.startLineNumber,e.endLineNumber+1));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}class _t extends a.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Ke.uC(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,i.aI)(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class pt extends a.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,n){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=n,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new o.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new o.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class mt extends pt{constructor(e,t,n,i){super(t,n,i),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Xe.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const n=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(n)return new rt.f(n,t,this._languageIdCodec)}return rt.f.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,n){return 0}tokenizeLineWithEdit(e,t,n){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var kt=n(76556);const Ct=new Uint32Array(0).buffer;class bt{static deleteBeginning(e,t){return null===e||e===Ct?e:bt.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===Ct)return e;const n=Lt(e),i=n[n.length-2];return bt.delete(e,t,i)}static delete(e,t,n){if(null===e||e===Ct||t===n)return e;const i=Lt(e),s=i.length>>>1;if(0===t&&i[i.length-2]===n)return Ct;const r=rt.f.findIndexInTokensArray(i,t),o=r>0?i[r-1<<1]:0;if(n<i[r<<1]){const o=n-t;for(let e=r;e<s;e++)i[e<<1]-=o;return e}let a,h;o!==t?(i[r<<1]=t,a=r+1<<1,h=t):(a=r<<1,h=o);const l=n-t;for(let e=r+1;e<s;e++){const t=i[e<<1]-l;t>h&&(i[a++]=t,i[a++]=i[1+(e<<1)],h=t)}if(a===i.length)return e;const c=new Uint32Array(a);return c.set(i.subarray(0,a),0),c.buffer}static append(e,t){if(t===Ct)return e;if(e===Ct)return t;if(null===e)return e;if(null===t)return null;const n=Lt(e),i=Lt(t),s=i.length>>>1,r=new Uint32Array(n.length+i.length);r.set(n,0);let o=n.length;const a=n[n.length-2];for(let e=0;e<s;e++)r[o++]=i[e<<1]+a,r[o++]=i[1+(e<<1)];return r.buffer}static insert(e,t,n){if(null===e||e===Ct)return e;const i=Lt(e),s=i.length>>>1;let r=rt.f.findIndexInTokensArray(i,t);r>0&&i[r-1<<1]===t&&r--;for(let e=r;e<s;e++)i[e<<1]+=n;return e}}function Lt(e){return e instanceof Uint32Array?e:new Uint32Array(e)}var It=n(20370);class xt{constructor(e){this._lineTokens=[],this._len=0,this._languageIdCodec=e}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(e,t,n){let i=null;if(t<this._len&&(i=this._lineTokens[t]),null!==i&&i!==Ct)return new rt.f(Lt(i),n,this._languageIdCodec);const s=new Uint32Array(2);return s[0]=n.length,s[1]=vt(this._languageIdCodec.encodeLanguageId(e)),new rt.f(s,n,this._languageIdCodec)}static _massageTokens(e,t,n){const i=n?Lt(n):null;if(0===t){let t=!1;if(i&&i.length>1&&(t=It.x.getLanguageId(i[1])!==e),!t)return Ct}if(!i||0===i.length){const n=new Uint32Array(2);return n[0]=t,n[1]=vt(e),n.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let e=0;e<t;e++)n[e]=null;this._lineTokens=i.nK(this._lineTokens,e,n),this._len+=t}setTokens(e,t,n,i,s){const r=xt._massageTokens(this._languageIdCodec.encodeLanguageId(e),n,i);this._ensureLine(t);const o=this._lineTokens[t];return this._lineTokens[t]=r,!!s&&!xt._equals(o,r)}static _equals(e,t){if(!e||!t)return!e&&!t;const n=Lt(e),i=Lt(t);if(n.length!==i.length)return!1;for(let e=0,t=n.length;e<t;e++)if(n[e]!==i[e])return!1;return!0}acceptEdit(e,t,n){this._acceptDeleteRange(e),this._acceptInsertText(new u.y(e.startLineNumber,e.startColumn),t,n)}_acceptDeleteRange(e){const t=e.startLineNumber-1;if(t>=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=bt.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=bt.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let i=null;n<this._len&&(i=bt.deleteBeginning(this._lineTokens[n],e.endColumn-1)),this._lineTokens[t]=bt.append(this._lineTokens[t],i),this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t,n){if(0===t&&0===n)return;const i=e.lineNumber-1;i>=this._len||(0!==t?(this._lineTokens[i]=bt.deleteEnding(this._lineTokens[i],e.column-1),this._lineTokens[i]=bt.insert(this._lineTokens[i],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[i]=bt.insert(this._lineTokens[i],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let i=0,s=e.length;i<s;i++){const s=e[i];let r=0,o=0,a=!1;for(let e=s.startLineNumber;e<=s.endLineNumber;e++)a?(this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),s.getLineTokens(e),!1),o=e):this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),s.getLineTokens(e),!0)&&(a=!0,r=e,o=e);a&&n.push({fromLineNumber:r,toLineNumber:o})}return{changes:n}}}function vt(e){return(32768|e|2<<24|1024)>>>0}class Tt{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const i=t[0].getRange(),s=t[t.length-1].getRange();if(!i||!s)return e;n=e.plusRange(i).plusRange(s)}let s=null;for(let e=0,t=this._pieces.length;e<t;e++){const i=this._pieces[e];if(i.endLineNumber<n.startLineNumber)continue;if(i.startLineNumber>n.endLineNumber){s=s||{index:e};break}if(i.removeTokens(n),i.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(i.endLineNumber<n.startLineNumber)continue;if(i.startLineNumber>n.endLineNumber){s=s||{index:e};continue}const[r,o]=i.split(n);r.isEmpty()?s=s||{index:e}:o.isEmpty()||(this._pieces.splice(e,1,r,o),e++,t++,s=s||{index:e})}return s=s||{index:this._pieces.length},t.length>0&&(this._pieces=i.nK(this._pieces,s.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const i=n[Tt._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!i)return t;const s=t.getCount(),r=i.getCount();let o=0;const a=[];let h=0,l=0;const c=(e,t)=>{e!==l&&(l=e,a[h++]=e,a[h++]=t)};for(let e=0;e<r;e++){const n=i.getStartCharacter(e),r=i.getEndCharacter(e),a=i.getMetadata(e),h=((1&a?2048:0)|(2&a?4096:0)|(4&a?8192:0)|(8&a?16384:0)|(16&a?16744448:0)|(32&a?4278190080:0))>>>0,l=~h>>>0;for(;o<s&&t.getEndOffset(o)<=n;)c(t.getEndOffset(o),t.getMetadata(o)),o++;for(o<s&&t.getStartOffset(o)<n&&c(n,t.getMetadata(o));o<s&&t.getEndOffset(o)<r;)c(t.getEndOffset(o),t.getMetadata(o)&l|a&h),o++;if(o<s)c(r,t.getMetadata(o)&l|a&h),t.getEndOffset(o)===r&&o++;else{const e=Math.min(Math.max(0,o-1),s-1);c(r,t.getMetadata(e)&l|a&h)}}for(;o<s;)c(t.getEndOffset(o),t.getMetadata(o)),o++;return new rt.f(new Uint32Array(a),t.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(e,t){let n=0,i=e.length-1;for(;n<i;){let s=n+Math.floor((i-n)/2);if(e[s].endLineNumber<t)n=s+1;else{if(!(e[s].startLineNumber>t)){for(;s>n&&e[s-1].startLineNumber<=t&&t<=e[s-1].endLineNumber;)s--;return s}i=s-1}}return n}acceptEdit(e,t,n,i,s){for(const r of this._pieces)r.acceptEdit(e,t,n,i,s)}}var St,wt=function(e,t){return function(n,i){t(n,i,e)}};let Et=St=class extends Ye._{constructor(e,t,n,i,s,r,h){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=n,this._attachedViews=i,this._languageService=s,this._languageConfigurationService=r,this._treeSitterService=h,this._semanticTokens=new Tt(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new o.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new o.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new o.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new a.Cm),this._register(this._languageConfigurationService.onDidChange(e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(o.Jh.filter(Xe.OB.onDidChange,e=>e.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Bt(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new mt(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(e=>{this._emitModelTokensChangedEvent(e)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Xe.OB.get(this._languageId)?this._tokens instanceof mt||this.createTokens(!0):this._tokens instanceof Bt||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,i]=(0,c.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,n,i,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new r.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this._tokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),i=this.getLineTokens(t.lineNumber),s=i.findTokenIndexAtOffset(t.column-1),[r,o]=St._findLanguageBoundaries(i,s),a=(0,$e.Th)(t.column,this.getLanguageConfiguration(i.getLanguageId(s)).getWordDefinition(),n.substring(r,o),r);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(s>0&&r===t.column-1){const[r,o]=St._findLanguageBoundaries(i,s-1),a=(0,$e.Th)(t.column,this.getLanguageConfiguration(i.getLanguageId(s-1)).getWordDefinition(),n.substring(r,o),r);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let i=0;for(let s=t;s>=0&&e.getLanguageId(s)===n;s--)i=e.getStartOffset(s);let s=e.getLineContent().length;for(let i=t,r=e.getCount();i<r&&e.getLanguageId(i)===n;i++)s=e.getEndOffset(i);return[i,s]}getWordUntilPosition(e){const t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(e,t){const n=this._textModel.validatePosition(new u.y(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))}setLanguageId(e,t="api"){if(this._languageId===e)return;const n={oldLanguage:this._languageId,newLanguage:e,source:t};this._languageId=e,this._bracketPairsTextModelPart.handleDidChangeLanguage(n),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(n),this._onDidChangeLanguageConfiguration.fire({})}};Et=St=function(e,t,n,i){var s,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}([wt(4,p.L),wt(5,m.JZ),wt(6,kt.ITreeSitterParserService)],Et);class Bt extends pt{constructor(e,t,n,i){super(e,t,n),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new a.HE),this._tokens=new xt(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new a.HE),this._attachedViewStates=this._register(new a.$w),this._register(Xe.dG.onDidChange(e=>{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()})),this.resetTokenization(),this._register(i.onDidChangeVisibleRanges(({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new _t(()=>this.refreshRanges(n.lineRanges)),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)}))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new ht(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Xe.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(e){return(0,r.dz)(e),[null,null]}return[e,t]})();if(this._tokenizer=t&&n?new at(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(e,t)=>{if(!this._tokenizer)return;const n=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==n&&e>=n&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new ut(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new xt(this._languageIdCodec),this._debugBackgroundStates=new ht(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,n]=(0,c.W)(t.text);this._tokens.acceptEdit(t.range,e,n),this._debugBackgroundTokens?.acceptEdit(t.range,e,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=qe.M.joinMany([...this._attachedViewStates].map(([e,t])=>t.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const n=new st,{heuristicTokens:i}=this._tokenizer.tokenizeHeuristically(n,e,t),s=this.setTokens(n.finalize());if(i)for(const e of s.changes)this._backgroundTokenizer.value?.requestTokens(e.fromLineNumber,e.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new st;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const i=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!n.equals(i)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const i=this._textModel.validatePosition(new u.y(e,t));return this.forceTokenization(i.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(i,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const i=this._textModel.validatePosition(e);return this.forceTokenization(i.lineNumber),this._tokenizer.tokenizeLineWithEdit(i,t,n)}get hasTokens(){return this._tokens.hasTokens}}var Nt,Ot=n(98531),At=n(91739),Rt=n(70175),Dt=function(e,t){return function(n,i){t(n,i,e)}};function Mt(e,t){let n;return n="string"==typeof e?function(e){const t=new Qe;return t.acceptChunk(e),t.finish()}(e):k.nk(e)?function(e){const t=new Qe;let n;for(;"string"==typeof(n=e.read());)t.acceptChunk(n);return t.finish()}(e):e,n.create(t)}let zt=0;class Pt{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,n=0;for(;;){const i=this._source.read();if(null===i)return this._eos=!0,0===t?null:e.join("");if(i.length>0&&(e[t++]=i,n+=i.length),n>=65536)return e.join("")}}}const yt=()=>{throw new Error("Invalid change accessor")};let Ft=class extends a.jG{static{Nt=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:_.R.tabSize,indentSize:_.R.indentSize,insertSpaces:_.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:_.R.trimAutoWhitespace,largeFileOptimizations:_.R.largeFileOptimizations,bracketPairColorizationOptions:_.R.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const n=X(e,t.tabSize,t.insertSpaces);return new k.X2({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new k.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return(0,a.qE)(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,i=null,s,r,c,d){super(),this._undoRedoService=s,this._languageService=r,this._languageConfigurationService=c,this.instantiationService=d,this._onWillDispose=this._register(new o.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new Zt(e=>this.handleBeforeFireDecorationsChangedEvent(e))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new o.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new o.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new o.vl),this._eventEmitter=this._register(new Jt),this._languageSelectionListener=this._register(new a.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new gt,zt++,this.id="$model"+zt,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==i?l.r.parse("inmemory://model/"+zt):i,this._attachedEditorCount=0;const{textBuffer:u,disposable:f}=Mt(e,n.defaultEOL);this._buffer=u,this._bufferDisposable=f,this._options=Nt.resolveOptions(this._buffer,n);const _="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new P(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Q.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new H(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(Et,this,this._bracketPairs,_,this._attachedViews);const p=this._buffer.getLineCount(),m=this._buffer.getValueLengthInRange(new g.Q(1,1,p,this._buffer.getLineLength(p)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=m>Nt.LARGE_FILE_SIZE_THRESHOLD||p>Nt.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=m>Nt.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=m>Nt._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=h.tk(zt),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Ut,this._commandManager=new j.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(_),this._register(this._languageConfigurationService.onDidChange(e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Ge([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=a.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new r.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Ot.Ic(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,r.Qg)();const{textBuffer:t,disposable:n}=Mt(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,i,s,r,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:s,isRedoing:r,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),s=this.getLineCount(),r=this.getLineMaxColumn(s);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Ut,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Ot.HP([new Ot.Wn],this._versionId,!1,!1),this._createContentChanged2(new g.Q(1,1,s,r),0,i,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),s=this.getLineCount(),r=this.getLineMaxColumn(s);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Ot.HP([new Ot.mS],this._versionId,!1,!1),this._createContentChanged2(new g.Q(1,1,s,r),0,i,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,i=t.length;n<i;n++){const i=t[n],s=i.range,r=i.cachedAbsoluteStart-i.start,o=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),a=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);i.cachedAbsoluteStart=o,i.cachedAbsoluteEnd=a,i.cachedVersionId=e,i.start=o-r,i.end=a-r,me(i)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}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 e=0,t=0;const n=this._buffer.getLineCount();for(let i=1;i<=n;i++){const n=this._buffer.getLineLength(i);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,s=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new k.X2({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:s,bracketPairColorizationOptions:r});if(this._options.equals(o))return;const a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const n=X(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),(0,d.P)(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(h._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(e=>({range:e.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new r.D7("Operation would exceed heap memory limits");const n=this.getFullModelRange(),i=this.getValueInRange(n,e);return t?this._buffer.getBOM()+i:i}createSnapshot(e=!1){return new Pt(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+i:i}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new r.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new r.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new r.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()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new r.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new r.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new r.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,i=e.startColumn;let s=Math.floor("number"!=typeof n||isNaN(n)?1:n),r=Math.floor("number"!=typeof i||isNaN(i)?1:i);if(s<1)s=1,r=1;else if(s>t)s=t,r=this.getLineMaxColumn(s);else if(r<=1)r=1;else{const e=this.getLineMaxColumn(s);r>=e&&(r=e)}const o=e.endLineNumber,a=e.endColumn;let h=Math.floor("number"!=typeof o||isNaN(o)?1:o),l=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(h<1)h=1,l=1;else if(h>t)h=t,l=this.getLineMaxColumn(h);else if(l<=1)l=1;else{const e=this.getLineMaxColumn(h);l>=e&&(l=e)}return n===s&&i===r&&o===h&&a===l&&e instanceof g.Q&&!(e instanceof f.L)?e:new g.Q(s,r,h,l)}_isValidPosition(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===n){const n=this._buffer.getLineCharCode(e,t-2);if(h.pc(n))return!1}return!0}_validatePosition(e,t,n){const i=Math.floor("number"!=typeof e||isNaN(e)?1:e),s=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(i<1)return new u.y(1,1);if(i>r)return new u.y(r,this.getLineMaxColumn(r));if(s<=1)return new u.y(i,1);const o=this.getLineMaxColumn(i);if(s>=o)return new u.y(i,o);if(1===n){const e=this._buffer.getLineCharCode(i,s-2);if(h.pc(e))return new u.y(i,s-1)}return new u.y(i,s)}validatePosition(e){return this._assertNotDisposed(),e instanceof u.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,i=e.startColumn,s=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(n,i,0))return!1;if(!this._isValidPosition(s,r,0))return!1;if(1===t){const e=i>1?this._buffer.getLineCharCode(n,i-2):0,t=r>1&&r<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,r-2):0,o=h.pc(e),a=h.pc(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof g.Q&&!(e instanceof f.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),i=t.lineNumber,s=t.column,r=n.lineNumber,o=n.column;{const e=s>1?this._buffer.getLineCharCode(i,s-2):0,t=o>1&&o<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,o-2):0,n=h.pc(e),a=h.pc(t);return n||a?i===r&&s===o?new g.Q(i,s-1,r,o-1):n&&a?new g.Q(i,s-1,r,o+1):n?new g.Q(i,s-1,r,o):new g.Q(i,s,r,o+1):new g.Q(i,s,r,o)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new g.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)}findMatches(e,t,n,i,s,r,o=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every(e=>g.Q.isIRange(e))&&(a=t.map(e=>this.validateRange(e)))),null===a&&(a=[this.getFullModelRange()]),a=a.sort((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn);const h=[];let l;if(h.push(a.reduce((e,t)=>g.Q.areIntersecting(e,t)?e.plusRange(t):(h.push(e),t))),!n&&e.indexOf("\n")<0){const t=new Re.lt(e,n,i,s).parseSearchRequest();if(!t)return[];l=e=>this.findMatchesLineByLine(e,t,r,o)}else l=t=>Re.hB.findMatches(this,new Re.lt(e,n,i,s),t,r,o);return h.map(l).reduce((e,t)=>e.concat(t),[])}findNextMatch(e,t,n,i,s,r){this._assertNotDisposed();const o=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Re.lt(e,n,i,s).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let h=new g.Q(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),l=this.findMatchesLineByLine(h,t,r,1);return Re.hB.findNextMatch(this,new Re.lt(e,n,i,s),o,r),l.length>0?l[0]:(h=new g.Q(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),l=this.findMatchesLineByLine(h,t,r,1),l.length>0?l[0]:null)}return Re.hB.findNextMatch(this,new Re.lt(e,n,i,s),o,r)}findPreviousMatch(e,t,n,i,s,r){this._assertNotDisposed();const o=this.validatePosition(t);return Re.hB.findPreviousMatch(this,new Re.lt(e,n,i,s),o,r)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof k.Wo?e:new k.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,i=e.length;n<i;n++)t[n]=this._validateEditOperation(e[n]);return t}pushEditOperations(e,t,n,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const n=t.map(e=>({range:this.validateRange(e.range),text:e.text}));let i=!0;if(e)for(let t=0,s=e.length;t<s;t++){const s=e[t];let r=!1;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,i=t.startLineNumber>s.endLineNumber,o=s.startLineNumber>t.endLineNumber;if(!i&&!o){r=!0;break}}if(!r){i=!1;break}}if(i)for(let e=0,i=this._trimAutoWhitespaceLines.length;e<i;e++){const i=this._trimAutoWhitespaceLines[e],s=this.getLineMaxColumn(i);let r=!0;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,o=n[e].text;if(!(i<t.startLineNumber||i>t.endLineNumber||i===t.startLineNumber&&t.startColumn===s&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(0)||i===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(o.length-1))){r=!1;break}}if(r){const e=new g.Q(i,1,i,s);t.push(new k.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,i)}_applyUndo(e,t,n,i){const s=e.map(e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new g.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}});this._applyUndoRedoEdits(s,t,!0,!1,n,i)}_applyRedo(e,t,n,i){const s=e.map(e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new g.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}});this._applyUndoRedoEdits(s,t,!1,!0,n,i)}_applyUndoRedoEdits(e,t,n,i,s,r){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=i,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(s)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(r),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),s=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),r=this._buffer.getLineCount(),o=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,0!==o.length){for(let e=0,t=o.length;e<t;e++){const t=o[e];this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}const e=[];this._increaseVersionId();let t=n;for(let n=0,s=o.length;n<s;n++){const s=o[n],[a]=(0,c.W)(s.text);this._onDidChangeDecorations.fire();const h=s.range.startLineNumber,l=s.range.endLineNumber,d=l-h,g=a,f=Math.min(d,g),_=g-d,p=r-t-_+h,m=p,k=p+g,C=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new u.y(m,1)),this.getOffsetAt(new u.y(k,this.getLineMaxColumn(k))),0),b=Ot.uK.fromDecorations(C),L=new i.j3(b);for(let t=f;t>=0;t--){const n=h+t,i=p+t;L.takeFromEndWhile(e=>e.lineNumber>i);const s=L.takeFromEndWhile(e=>e.lineNumber===i);e.push(new Ot.U0(n,this.getLineContent(i),s))}if(f<d){const t=h+f;e.push(new Ot.E$(t+1,l))}if(f<g){const n=new i.j3(b),s=h+f,o=g-f,a=r-t-o+s+1,l=[],c=[];for(let e=0;e<o;e++){const t=a+e;c[e]=this.getLineContent(t),n.takeWhile(e=>e.lineNumber<t),l[e]=n.takeWhile(e=>e.lineNumber===t)}e.push(new Ot.bg(s+1,h+g,c,l))}t+=_}this._emitContentChangedEvent(new Ot.HP(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:o,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===s.reverseEdits?void 0:s.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(null===e||0===e.size)return;const t=Array.from(e).map(e=>new Ot.U0(e,this.getLineContent(e),this._getInjectedTextInLine(e)));this._onDidChangeInjectedText.fire(new Ot.vn(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,Kt(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let i=null;try{i=t(n)}catch(e){(0,r.dz)(e)}return n.addDecoration=yt,n.changeDecoration=yt,n.changeDecorationOptions=yt,n.removeDecoration=yt,n.deltaDecorations=yt,i}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,r.dz)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){const i=e?this._decorations[e]:null;if(!i)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Yt[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(i),delete this._decorations[i.id],null;const s=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),o=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);return this._decorationsTree.delete(i),i.reset(this.getVersionId(),r,o,s),i.setOptions(Yt[n]),this._decorationsTree.insert(i),i.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;e<n;e++){const n=t[e];this._decorationsTree.delete(n),delete this._decorations[n.id]}}getDecorationOptions(e){const t=this._decorations[e];return t?t.options:null}getDecorationRange(e){const t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,s=!1,r=!1){const o=this.getLineCount(),a=Math.min(o,Math.max(1,e)),h=Math.min(o,Math.max(1,t)),l=this.getLineMaxColumn(h),c=new g.Q(a,1,h,l),d=this._getDecorationsInRange(c,n,s,r);return(0,i.E4)(d,this._decorationProvider.getDecorationsInRange(c,n,s)),d}getDecorationsInRange(e,t=0,n=!1,s=!1,r=!1){const o=this.validateRange(e),a=this._getDecorationsInRange(o,t,n,r);return(0,i.E4)(a,this._decorationProvider.getDecorationsInRange(o,t,n,s)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return Ot.uK.fromDecorations(i).filter(t=>t.lineNumber===e)}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,i){const s=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,s,r,t,n,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const i=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),r=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),s,r,i),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const i=!(!n.options.overviewRuler||!n.options.overviewRuler.color),s=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const r=i!==s,o=function(e){return!!e.after||!!e.before}(t)!==Wt(n);r||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,i=!1){const s=this.getVersionId(),r=t.length;let o=0;const a=n.length;let h=0;this._onDidChangeDecorations.beginDeferredEmit();try{const l=new Array(a);for(;o<r||h<a;){let c=null;if(o<r){do{c=this._decorations[t[o++]]}while(!c&&o<r);if(c){if(c.options.after){const e=this._decorationsTree.getNodeRange(this,c);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(c.options.before){const e=this._decorationsTree.getNodeRange(this,c);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}this._decorationsTree.delete(c),i||this._onDidChangeDecorations.checkAffectedAndFire(c.options)}}if(h<a){if(!c){const e=++this._lastDecorationId,t=`${this._instanceId};${e}`;c=new oe(t,0,0),this._decorations[t]=c}const t=n[h],r=this._validateRangeRelaxedNoAllocations(t.range),o=Kt(t.options),a=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),d=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);c.ownerId=e,c.reset(s,a,d,r),c.setOptions(o),c.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),c.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber),i||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(c),l[h]=c.id,h++}else c&&delete this._decorations[c.id]}return l}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){"string"==typeof e?(this._languageSelectionListener.clear(),this._setLanguage(e,t)):(this._languageSelectionListener.value=e.onDidChange(()=>this._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function Vt(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Wt(e){return!!e.options.after||!!e.options.before}Ft=Nt=function(e,t,n,i){var s,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}([Dt(4,Rt.$D),Dt(5,p.L),Dt(6,m.JZ),Dt(7,At._Y)],Ft);class Ut{constructor(){this._decorationsTree0=new he,this._decorationsTree1=new he,this._injectedTextDecorationsTree=new he}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,i,s,r){const o=e.getVersionId(),a=this._intervalSearch(t,n,i,s,o,r);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,n,i,s,r){const o=this._decorationsTree0.intervalSearch(e,t,n,i,s,r),a=this._decorationsTree1.intervalSearch(e,t,n,i,s,r),h=this._injectedTextDecorationsTree.intervalSearch(e,t,n,i,s,r);return o.concat(a).concat(h)}getInjectedTextInInterval(e,t,n,i){const s=e.getVersionId(),r=this._injectedTextDecorationsTree.intervalSearch(t,n,i,!1,s,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllInjectedText(e,t){const n=e.getVersionId(),i=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,i).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAll(e,t,n,i,s){const r=e.getVersionId(),o=this._search(t,n,i,r,s);return this._ensureNodesHaveRanges(e,o)}_search(e,t,n,i,s){if(n)return this._decorationsTree1.search(e,t,i,s);{const n=this._decorationsTree0.search(e,t,i,s),r=this._decorationsTree1.search(e,t,i,s),o=this._injectedTextDecorationsTree.search(e,t,i,s);return n.concat(r).concat(o)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),i=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(i)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Wt(e)?this._injectedTextDecorationsTree.insert(e):Vt(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Wt(e)?this._injectedTextDecorationsTree.delete(e):Vt(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Wt(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Vt(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,i){this._decorationsTree0.acceptReplace(e,t,n,i),this._decorationsTree1.acceptReplace(e,t,n,i),this._injectedTextDecorationsTree.acceptReplace(e,t,n,i)}}function Ht(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class Gt{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class jt extends Gt{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:k.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class Qt{constructor(e){this.position=e?.position??k.ZS.Center,this.persistLane=e?.persistLane}}class qt extends Gt{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?s.Q1.fromHex(e):t.getColor(e.id)}}class $t{static from(e){return e instanceof $t?e:new $t(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class Xt{static register(e){return new Xt(e)}static createDynamic(e){return new Xt(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?Ht(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?Ht(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new jt(e.overviewRuler):null,this.minimap=e.minimap?new qt(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Qt(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?Ht(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Ht(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?Ht(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?h.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Ht(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Ht(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Ht(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Ht(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Ht(e.afterContentClassName):null,this.after=e.after?$t.from(e.after):null,this.before=e.before?$t.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}Xt.EMPTY=Xt.register({description:"empty"});const Yt=[Xt.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Xt.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Xt.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Xt.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Kt(e){return e instanceof Xt?e:Xt.createDynamic(e)}class Zt extends a.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new o.vl),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class Jt extends a.jG{constructor(){super(),this._fastEmitter=this._register(new o.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new o.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}},4165(e,t,n){n.d(t,{_:()=>s});var i=n(80194);class s extends i.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}},91085(e,t,n){function i(e,t){let n=0,i=0;const s=e.length;for(;i<s;){const s=e.charCodeAt(i);if(32===s)n++;else{if(9!==s)break;n=n-n%t+t}i++}return i===s?-1:n}n.d(t,{G:()=>i})},81151(e,t,n){n.r(t),n.d(t,{DefaultModelSHA1Computer:()=>v,ModelService:()=>x});var i,s=n(98137),r=n(80194),o=n(34591),a=n(63199),h=n(98282),l=n(24969),c=n(93212),d=n(88578),u=n(70175),g=n(73236),f=n(85780),_=n(19964),p=n(37926),m=n(91739),k=function(e,t){return function(n,i){t(n,i,e)}};function C(e){return e.toString()}class b{constructor(e,t,n){this.model=e,this._modelEventListeners=new r.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>n(e,t)))}dispose(){this._modelEventListeners.dispose()}}const L=o.j9||o.zx?1:2;class I{constructor(e,t,n,i,s,r,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=i,this.heapSize=s,this.sha1=r,this.versionId=o,this.alternativeVersionId=a}}let x=class extends r.jG{static{i=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,n,i){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=i,this._onModelAdded=this._register(new s.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new s.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new s.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(e=>this._updateModelOptions(e))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=h.R.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let i="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(i=Math.max(t,1))}let s=h.R.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let r=L;const o=e.eol;"\r\n"===o?r=2:"\n"===o&&(r=1);let a=h.R.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=h.R.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let c=h.R.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(c="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let d=h.R.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(d={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:i,insertSpaces:s,detectIndentation:l,defaultEOL:r,trimAutoWhitespace:a,largeFileOptimizations:c,bracketPairColorizationOptions:d}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===o.OS||2===o.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const s="string"==typeof e?e:e.languageId;let r=this._modelCreationOptionsByLanguageAndResource[s+t];if(!r){const e=this._configurationService.getValue("editor",{overrideIdentifier:s,resource:t}),o=this._getEOL(t,s);r=i._readModelOptions({editor:e,eol:o},n),this._modelCreationOptionsByLanguageAndResource[s+t]=r}return r}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let s=0,r=n.length;s<r;s++){const r=n[s],o=this._models[r],a=o.model.getLanguageId(),h=o.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:a,resource:h})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:a,resource:h}))continue;const l=t[a+h],c=this.getCreationOptions(a,h,o.model.isForSimpleWidget);i._setModelOptionsForModel(o.model,c,l)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&1===e.getLineCount()&&e.setEOL(1===t.defaultEOL?0:1),n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&(0,p.aI)(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions)||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(C(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(C(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(C(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,i){const s=this.getCreationOptions(t,n,i),r=this._instantiationService.createInstance(a.Bz,e,t,s,n);if(n&&this._disposedModels.has(C(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),i=this._getSHA1Computer(),s=!!i.canComputeSHA1(r)&&i.computeSHA1(r)===e.sha1;if(s||e.sharesUndoRedoStack){for(const e of t.past)(0,f.Th)(e)&&e.matchesResource(n)&&e.setModel(r);for(const e of t.future)(0,f.Th)(e)&&e.matchesResource(n)&&e.setModel(r);this._undoRedoService.setElementsValidFlag(n,!0,e=>(0,f.Th)(e)&&e.matchesResource(n)),s&&(r._overwriteVersionId(e.versionId),r._overwriteAlternativeVersionId(e.alternativeVersionId),r._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const o=C(r.uri);if(this._models[o])throw new Error("ModelService: Cannot add model because it already exists!");const h=new b(r,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[o]=h,h}createModel(e,t,n,i=!1){let s;return s=t?this._createModelData(e,t,n,i):this._createModelData(e,l.vH,n,i),this._onModelAdded.fire(s.model),s.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(this._models[i].model)}return e}getModel(e){const t=C(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===_.ny.file||e.scheme===_.ny.vscodeRemote||e.scheme===_.ny.vscodeUserData||e.scheme===_.ny.vscodeNotebookCell||"fake-fs"===e.scheme}_onWillDispose(e){const t=C(e.uri),n=this._models[t],s=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let r=!1,o=0;if(s||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(const n of t.past)(0,f.Th)(n)&&n.matchesResource(e.uri)&&(r=!0,o+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)(0,f.Th)(n)&&n.matchesResource(e.uri)&&(r=!0,o+=n.heapSize(e.uri),n.setModel(e.uri))}}const a=i.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,h=this._getSHA1Computer();if(r)if(s||!(o>a)&&h.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(a-o),this._undoRedoService.setElementsValidFlag(e.uri,!1,t=>(0,f.Th)(t)&&t.matchesResource(e.uri)),this._insertDisposedModel(new I(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),s,o,h.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!s){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,s=e.getLanguageId(),r=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),o=this.getCreationOptions(s,e.uri,e.isForSimpleWidget);i._setModelOptionsForModel(e,o,r),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new v}};x=i=function(e,t,n,i){var s,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}([k(0,d.pG),k(1,c.ITextResourcePropertiesService),k(2,u.$D),k(3,m._Y)],x);class v{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=v.MAX_MODEL_SIZE}computeSHA1(e){const t=new g.v7,n=e.createSnapshot();let i;for(;i=n.read();)t.update(i);return t.digest()}}},93212(e,t,n){n.r(t),n.d(t,{ITextResourceConfigurationService:()=>s,ITextResourcePropertiesService:()=>r});var i=n(91739);const s=(0,i.u1)("textResourceConfigurationService"),r=(0,i.u1)("textResourcePropertiesService")},76556(e,t,n){n.r(t),n.d(t,{ITreeSitterParserService:()=>i});const i=(0,n(91739).u1)("treeSitterParserService")},98531(e,t,n){n.d(t,{E$:()=>o,HP:()=>l,Ic:()=>d,U0:()=>r,Wn:()=>i,bg:()=>a,mS:()=>h,uK:()=>s,vn:()=>c});class i{constructor(){this.changeType=1}}class s{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",i=0;for(const s of t)n+=e.substring(i,s.column-1),i=s.column-1,n+=s.options.content;return n+=e.substring(i),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new s(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new s(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber),t}constructor(e,t,n,i,s){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=i,this.order=s}}class r{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class o{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class a{constructor(e,t,n,i){this.changeType=4,this.injectedTexts=i,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class h{constructor(){this.changeType=5}}class l{constructor(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t<n;t++)if(this.changes[t].changeType===e)return!0;return!1}static merge(e,t){const n=[].concat(e.changes).concat(t.changes),i=t.versionId,s=e.isUndoing||t.isUndoing,r=e.isRedoing||t.isRedoing;return new l(n,i,s,r)}}class c{constructor(e){this.changes=e}}class d{constructor(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}merge(e){const t=l.merge(this.rawContentChangedEvent,e.rawContentChangedEvent),n=d._mergeChangeEvents(this.contentChangedEvent,e.contentChangedEvent);return new d(t,n)}static _mergeChangeEvents(e,t){const n=[].concat(e.changes).concat(t.changes),i=t.eol,s=t.versionId,r=e.isUndoing||t.isUndoing,o=e.isRedoing||t.isRedoing,a=e.isFlush||t.isFlush;return{changes:n,eol:i,isEolChange:e.isEolChange&&t.isEolChange,versionId:s,isUndoing:r,isRedoing:o,isFlush:a}}}},49895(e,t,n){var i;n.d(t,{N6:()=>i,TH:()=>s,pv:()=>r}),function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(i||(i={}));class s{constructor(e,t,n,i,s,r){if(this.visibleColumn=e,this.column=t,this.className=n,this.horizontalLine=i,this.forWrappedLinesAfterColumn=s,this.forWrappedLinesBeforeOrAtColumn=r,-1!==e==(-1!==t))throw new Error}}class r{constructor(e,t){this.top=e,this.endColumn=t}}},38881(e,t,n){n.d(t,{T:()=>o,f:()=>s});var i=n(20370);class s{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const n=s.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=e.length,i[1]=n,new s(i,e,t)}static createFromTextAndMetadata(e,t){let n=0,i="";const r=new Array;for(const{text:t,metadata:s}of e)r.push(n+t.length,s),n+=t.length,i+=t;return new s(new Uint32Array(r),i,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}equals(e){return e instanceof s&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const i=t<<1,s=i+(n<<1);for(let t=i;t<s;t++)if(this._tokens[t]!==e._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(e){return e>0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=i.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return i.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return i.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return i.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return i.x.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return i.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return s.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new r(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let t=0;t<n;t++)e[t<<1]=e[t+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,i=(e.length>>>1)-1;for(;n<i;){const s=n+Math.floor((i-n)/2),r=e[s<<1];if(r===t)return s+1;r<t?n=s+1:r>t&&(i=s)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,i="";const r=new Array;let o=0;for(;;){const s=t<this._tokensCount?this._tokens[t<<1]:-1,a=n<e.length?e[n]:null;if(-1!==s&&(null===a||s<=a.offset)){i+=this._text.substring(o,s);const e=this._tokens[1+(t<<1)];r.push(i.length,e),t++,o=s}else{if(!a)break;if(a.offset>o){i+=this._text.substring(o,a.offset);const e=this._tokens[1+(t<<1)];r.push(i.length,e),o=a.offset}i+=a.text,r.push(i.length,a.tokenMetadata),n++}}return new s(new Uint32Array(r),i,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){const t=this.getCount();for(let n=0;n<t;n++)e(n)}}class r{constructor(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,i=e.getCount();t<i&&!(e.getStartOffset(t)>=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof r&&this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){const t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),i=this._source.getEndOffset(t);let s=this._source.getTokenText(t);return n<this._startOffset&&(s=s.substring(this._startOffset-n)),i>this._endOffset&&(s=s.substring(0,s.length-(i-this._endOffset))),s}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}}function o(e,t){const n=t.lineNumber;if(!e.tokenization.isCheapToTokenize(n))return;e.tokenization.forceTokenization(n);const i=e.tokenization.getLineTokens(n),s=i.findTokenIndexAtOffset(t.column-1);return i.getStandardTokenType(s)}},26772(e,t,n){n.d(t,{d:()=>i});class i{constructor(e,t=[],n=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}},2130(e,t,n){n.d(t,{N:()=>o,v:()=>r});var i=n(26772);const s=[];function r(e,t,n){t instanceof i.d||(t=new i.d(t,[],Boolean(n))),s.push([e,t])}function o(){return s}},70175(e,t,n){n.d(t,{$D:()=>i,I_:()=>r,To:()=>s,Ym:()=>o});const i=(0,n(91739).u1)("undoRedoService");class s{constructor(e,t){this.resource=e,this.elements=t}}class r{static{this._ID=0}constructor(){this.id=r._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new r}}class o{static{this._ID=0}constructor(){this.id=o._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new o}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1256],{21684(t,e,s){function i(t,e,s){return Math.min(Math.max(t,e),s)}s.d(e,{Uq:()=>n,mu:()=>r,qE:()=>i});class n{constructor(){this._n=1,this._val=0}update(t){return this._val=this._val+(t-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class r{constructor(t){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(t),this._values.fill(0,0,t)}update(t){const e=this._values[this._index];return this._values[this._index]=t,this._index=(this._index+1)%this._values.length,this._sum-=e,this._sum+=t,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}},21256(t,e,s){s.r(e),s.d(e,{ILanguageFeatureDebounceService:()=>l,LanguageFeatureDebounceService:()=>g});var i=s(73236),n=s(84228),r=s(21684),a=s(72959),u=s(2130),c=s(91739),o=s(94837),h=s(19964),_=function(t,e){return function(s,i){e(s,i,t)}};const l=(0,c.u1)("ILanguageFeatureDebounceService");var d;!function(t){const e=new WeakMap;let s=0;t.of=function(t){let i=e.get(t);return void 0===i&&(i=++s,e.set(t,i)),i}}(d||(d={}));class v{constructor(t){this._default=t}get(t){return this._default}update(t,e){return this._default}default(){return this._default}}class f{constructor(t,e,s,i,r,a){this._logService=t,this._name=e,this._registry=s,this._default=i,this._min=r,this._max=a,this._cache=new n.qK(50,.7)}_key(t){return t.id+this._registry.all(t).reduce((t,e)=>(0,i.sN)(d.of(e),t),0)}get(t){const e=this._key(t),s=this._cache.get(e);return s?(0,r.qE)(s.value,this._min,this._max):this.default()}update(t,e){const s=this._key(t);let i=this._cache.get(s);i||(i=new r.mu(6),this._cache.set(s,i));const n=(0,r.qE)(i.update(e),this._min,this._max);return(0,h.v$)(t.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${t.uri.toString()} is ${n}ms`),n}_overall(){const t=new r.Uq;for(const[,e]of this._cache)t.update(e.value);return t.value}default(){const t=0|this._overall()||this._default;return(0,r.qE)(t,this._min,this._max)}}let g=class{constructor(t,e){this._logService=t,this._data=new Map,this._isDev=e.isExtensionDevelopment||!e.isBuilt}for(t,e,s){const i=s?.min??50,n=s?.max??i**2,r=s?.key??void 0,a=`${d.of(t)},${i}${r?","+r:""}`;let u=this._data.get(a);return u||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${e}] is disabled in developed mode`),u=new v(1.5*i)):u=new f(this._logService,e,t,0|this._overallAverage()||1.5*i,i,n),this._data.set(a,u)),u}_overallAverage(){const t=new r.Uq;for(const e of this._data.values())t.update(e.default());return t.value}};g=function(t,e,s,i){var n,r=arguments.length,a=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,s,i);else for(var u=t.length-1;u>=0;u--)(n=t[u])&&(a=(r<3?n(a):r>3?n(e,s,a):n(e,s))||a);return r>3&&a&&Object.defineProperty(e,s,a),a}([_(0,o.rr),_(1,a.k)],g),(0,u.v)(l,g,1)},72959(t,e,s){s.d(e,{k:()=>i});const i=(0,s(91739).u1)("environmentService")},26772(t,e,s){s.d(e,{d:()=>i});class i{constructor(t,e=[],s=!1){this.ctor=t,this.staticArguments=e,this.supportsDelayedInstantiation=s}}},2130(t,e,s){s.d(e,{N:()=>a,v:()=>r});var i=s(26772);const n=[];function r(t,e,s){e instanceof i.d||(e=new i.d(e,[],Boolean(s))),n.push([t,e])}function a(){return n}},91739(t,e,s){var i;s.d(e,{_$:()=>i,_Y:()=>n,u1:()=>r}),function(t){t.serviceIds=new Map,t.DI_TARGET="$di$target",t.DI_DEPENDENCIES="$di$dependencies",t.getServiceDependencies=function(e){return e[t.DI_DEPENDENCIES]||[]}}(i||(i={}));const n=r("instantiationService");function r(t){if(i.serviceIds.has(t))return i.serviceIds.get(t);const e=function(t,s,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(t,e,s){e[i.DI_TARGET]===e?e[i.DI_DEPENDENCIES].push({id:t,index:s}):(e[i.DI_DEPENDENCIES]=[{id:t,index:s}],e[i.DI_TARGET]=e)}(e,t,n)};return e.toString=()=>t,i.serviceIds.set(t,e),e}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1272,6079],{78460(e,t,r){r.r(t),r.d(t,{DraggedTreeItemsIdentifier:()=>i,TreeViewsDnDService:()=>n});class n{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class i{constructor(e){this.identifier=e}}},21272(e,t,r){r.r(t),r.d(t,{ITreeViewsDnDService:()=>c});var n=r(2130),i=r(91739),s=r(78460);const c=(0,i.u1)("treeViewsDndService");(0,n.v)(c,s.TreeViewsDnDService,1)},26772(e,t,r){r.d(t,{d:()=>n});class n{constructor(e,t=[],r=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=r}}},2130(e,t,r){r.d(t,{N:()=>c,v:()=>s});var n=r(26772);const i=[];function s(e,t,r){t instanceof n.d||(t=new n.d(t,[],Boolean(r))),i.push([e,t])}function c(){return i}},91739(e,t,r){var n;r.d(t,{_$:()=>n,_Y:()=>i,u1:()=>s}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(n||(n={}));const i=s("instantiationService");function s(e){if(n.serviceIds.has(e))return n.serviceIds.get(e);const t=function(e,r,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,r){t[n.DI_TARGET]===t?t[n.DI_DEPENDENCIES].push({id:e,index:r}):(t[n.DI_DEPENDENCIES]=[{id:e,index:r}],t[n.DI_TARGET]=t)}(t,e,i)};return t.toString=()=>e,n.serviceIds.set(e,t),t}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1356],{24942(t,e,n){n.d(e,{$l:()=>s,Gs:()=>d,MB:()=>u,Sw:()=>c,bb:()=>l,gN:()=>o,pJ:()=>i});var f=n(20990);const r="undefined"!=typeof Buffer;let a;new f.d(()=>new Uint8Array(256));class u{static wrap(t){return r&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new u(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}toString(){return r?this.buffer.toString():(a||(a=new TextDecoder),a.decode(this.buffer))}}function s(t,e){return(0|t[e+0])>>>0|t[e+1]<<8>>>0}function o(t,e,n){t[n+0]=255&e,e>>>=8,t[n+1]=255&e}function l(t,e){return t[e]*2**24+65536*t[e+1]+256*t[e+2]+t[e+3]}function c(t,e,n){t[n+3]=e,e>>>=8,t[n+2]=e,e>>>=8,t[n+1]=e,e>>>=8,t[n]=e}function i(t,e){return t[e]}function d(t,e,n){t[n]=e}},31356(t,e,n){n.r(e),n.d(e,{encodeSemanticTokensDto:()=>a});var f=n(24942),r=n(34591);function a(t){const e=new Uint32Array(function(t){let e=0;if(e+=2,"full"===t.type)e+=1+t.data.length;else{e+=1,e+=3*t.deltas.length;for(const n of t.deltas)n.data&&(e+=n.data.length)}return e}(t));let n=0;if(e[n++]=t.id,"full"===t.type)e[n++]=1,e[n++]=t.data.length,e.set(t.data,n),n+=t.data.length;else{e[n++]=2,e[n++]=t.deltas.length;for(const f of t.deltas)e[n++]=f.start,e[n++]=f.deleteCount,f.data?(e[n++]=f.data.length,e.set(f.data,n),n+=f.data.length):e[n++]=0}return function(t){const e=new Uint8Array(t.buffer,t.byteOffset,4*t.length);return r.cm()||function(t){for(let e=0,n=t.length;e<n;e+=4){const n=t[e+0],f=t[e+1],r=t[e+2],a=t[e+3];t[e+0]=a,t[e+1]=r,t[e+2]=f,t[e+3]=n}}(e),f.MB.wrap(e)}(e)}}}]);