@emailmaker/emailmaker 1.0.98 → 1.0.100

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 (182) hide show
  1. package/README.md +1 -1
  2. package/asset-manifest.json +165 -0
  3. package/css.worker.js +2 -0
  4. package/css.worker.js.LICENSE.txt +6 -0
  5. package/editor.worker.js +1 -0
  6. package/emailmaker-esm.js +1 -0
  7. package/emailmaker.d.ts +1826 -0
  8. package/emailmaker.js +1 -0
  9. package/html.worker.js +1 -0
  10. package/iframe/429.js +1 -1
  11. package/iframe/766.js +1 -1
  12. package/iframe/iframe-eblock.e88ae8a9ae883be1118b.html +1 -0
  13. package/iframe/iframe.e88ae8a9ae883be1118b.html +1 -0
  14. package/iframe/js/330.4622fd92.js +1 -0
  15. package/iframe/sandbox-eblock.js +1 -1
  16. package/iframe/sandbox.js +1 -1
  17. package/package.json +1 -1
  18. package/plugin.html +294 -0
  19. package/plugin_blocks_test.html +144 -0
  20. package/plugin_default.html +56 -0
  21. package/plugin_idigital.html +254 -0
  22. package/plugin_nota.html +861 -0
  23. package/plugin_s.html +31 -0
  24. package/static/css/1169.c8d4ad26.chunk.css +1 -0
  25. package/static/css/57.c4280089.chunk.css +1 -0
  26. package/static/css/6501.e131603e.chunk.css +1 -0
  27. package/static/css/6798.4b23f0cb.chunk.css +1 -0
  28. package/static/css/84.709e209c.chunk.css +1 -0
  29. package/static/js/1169.baef237c.chunk.js +2 -0
  30. package/static/js/1169.baef237c.chunk.js.LICENSE.txt +6 -0
  31. package/static/js/1303.92cc3c9c.js +2 -0
  32. package/static/js/1303.92cc3c9c.js.LICENSE.txt +11 -0
  33. package/static/js/1538.68b12a82.chunk.js +2 -0
  34. package/static/js/1538.68b12a82.chunk.js.LICENSE.txt +23 -0
  35. package/static/js/1729.a0be903e.chunk.js +1 -0
  36. package/static/js/1880.5668de7d.chunk.js +1 -0
  37. package/static/js/207.2a052cc2.js +2 -0
  38. package/static/js/207.2a052cc2.js.LICENSE.txt +59 -0
  39. package/static/js/2624.5a8b68ca.js +2 -0
  40. package/static/js/2624.5a8b68ca.js.LICENSE.txt +21 -0
  41. package/static/js/2642.b60a63f6.chunk.js +1 -0
  42. package/static/js/2854.da9b4ca6.js +2 -0
  43. package/static/js/2854.da9b4ca6.js.LICENSE.txt +31 -0
  44. package/static/js/3017.102adc4c.chunk.js +1 -0
  45. package/static/js/3019.8534e1e7.chunk.js +2 -0
  46. package/static/js/3019.8534e1e7.chunk.js.LICENSE.txt +6 -0
  47. package/static/js/3065.c2b60870.js +2 -0
  48. package/static/js/3065.c2b60870.js.LICENSE.txt +39 -0
  49. package/static/js/3085.bcc62ca0.chunk.js +2 -0
  50. package/static/js/3085.bcc62ca0.chunk.js.LICENSE.txt +54 -0
  51. package/static/js/4309.6c1989bb.chunk.js +1 -0
  52. package/static/js/4972.a230fee4.js +1 -0
  53. package/static/js/57.3e1e762a.chunk.js +1 -0
  54. package/static/js/6144.a3bf0881.chunk.js +2 -0
  55. package/static/js/6144.a3bf0881.chunk.js.LICENSE.txt +6 -0
  56. package/static/js/6419.3f1ccca4.js +2 -0
  57. package/static/js/6419.3f1ccca4.js.LICENSE.txt +1 -0
  58. package/static/js/6501.40bbf4df.chunk.js +1 -0
  59. package/static/js/6798.65ecf642.chunk.js +2 -0
  60. package/static/js/6798.65ecf642.chunk.js.LICENSE.txt +39 -0
  61. package/static/js/6801.562ec824.chunk.js +2 -0
  62. package/static/js/6801.562ec824.chunk.js.LICENSE.txt +6 -0
  63. package/static/js/6819.16ca9581.chunk.js +2 -0
  64. package/static/js/6819.16ca9581.chunk.js.LICENSE.txt +6 -0
  65. package/static/js/6957.7ea22637.chunk.js +1 -0
  66. package/static/js/7463.51929d73.chunk.js +2 -0
  67. package/static/js/7463.51929d73.chunk.js.LICENSE.txt +6 -0
  68. package/static/js/84.25bf13c1.chunk.js +1 -0
  69. package/static/js/8473.88a48c70.chunk.js +2 -0
  70. package/static/js/8473.88a48c70.chunk.js.LICENSE.txt +101 -0
  71. package/static/js/8521.0e5efd08.chunk.js +2 -0
  72. package/static/js/8521.0e5efd08.chunk.js.LICENSE.txt +6 -0
  73. package/static/js/9644.eb778968.chunk.js +2 -0
  74. package/static/js/9644.eb778968.chunk.js.LICENSE.txt +6 -0
  75. package/static/js/9960.6fbe3e6d.chunk.js +2 -0
  76. package/static/js/9960.6fbe3e6d.chunk.js.LICENSE.txt +30 -0
  77. package/static/js/9981.4c03120e.js +1 -0
  78. package/static/js/ant-locale/locale-ar_EG-js.a068e3a8.chunk.js +1 -0
  79. package/static/js/ant-locale/locale-az_AZ-js.b84a560f.chunk.js +1 -0
  80. package/static/js/ant-locale/locale-bg_BG-js.3d7c7e4f.chunk.js +1 -0
  81. package/static/js/ant-locale/locale-bn_BD-js.dd1a7e84.chunk.js +1 -0
  82. package/static/js/ant-locale/locale-by_BY-js.49b7fc6b.chunk.js +1 -0
  83. package/static/js/ant-locale/locale-ca_ES-js.24fe4aef.chunk.js +1 -0
  84. package/static/js/ant-locale/locale-cs_CZ-js.1e90fb24.chunk.js +1 -0
  85. package/static/js/ant-locale/locale-da_DK-js.61788209.chunk.js +1 -0
  86. package/static/js/ant-locale/locale-de_DE-js.8e7fdd44.chunk.js +1 -0
  87. package/static/js/ant-locale/locale-el_GR-js.6c5e0839.chunk.js +1 -0
  88. package/static/js/ant-locale/locale-en_GB-js.92cc4647.chunk.js +1 -0
  89. package/static/js/ant-locale/locale-es_ES-js.a31d70e0.chunk.js +1 -0
  90. package/static/js/ant-locale/locale-et_EE-js.337814a0.chunk.js +1 -0
  91. package/static/js/ant-locale/locale-eu_ES-js.18f1c965.chunk.js +1 -0
  92. package/static/js/ant-locale/locale-fa_IR-js.f0f50266.chunk.js +1 -0
  93. package/static/js/ant-locale/locale-fi_FI-js.e2e08d8a.chunk.js +1 -0
  94. package/static/js/ant-locale/locale-fr_BE-js.2e2298ab.chunk.js +1 -0
  95. package/static/js/ant-locale/locale-fr_CA-js.b2f59d9c.chunk.js +1 -0
  96. package/static/js/ant-locale/locale-fr_FR-js.5d07a79a.chunk.js +1 -0
  97. package/static/js/ant-locale/locale-ga_IE-js.afa510f9.chunk.js +1 -0
  98. package/static/js/ant-locale/locale-gl_ES-js.72e19ffc.chunk.js +1 -0
  99. package/static/js/ant-locale/locale-he_IL-js.47b71730.chunk.js +1 -0
  100. package/static/js/ant-locale/locale-hi_IN-js.7af15f51.chunk.js +1 -0
  101. package/static/js/ant-locale/locale-hr_HR-js.4ebb11e0.chunk.js +1 -0
  102. package/static/js/ant-locale/locale-hu_HU-js.ecde5d7e.chunk.js +1 -0
  103. package/static/js/ant-locale/locale-hy_AM-js.15e07ba1.chunk.js +1 -0
  104. package/static/js/ant-locale/locale-id_ID-js.ab0888b9.chunk.js +1 -0
  105. package/static/js/ant-locale/locale-is_IS-js.fdbfc750.chunk.js +1 -0
  106. package/static/js/ant-locale/locale-it_IT-js.59a531ef.chunk.js +1 -0
  107. package/static/js/ant-locale/locale-ja_JP-js.7870613a.chunk.js +1 -0
  108. package/static/js/ant-locale/locale-ka_GE-js.853f3af0.chunk.js +1 -0
  109. package/static/js/ant-locale/locale-kk_KZ-js.5fdcc75b.chunk.js +1 -0
  110. package/static/js/ant-locale/locale-km_KH-js.988792d2.chunk.js +1 -0
  111. package/static/js/ant-locale/locale-kmr_IQ-js.6903b04d.chunk.js +1 -0
  112. package/static/js/ant-locale/locale-kn_IN-js.5fbd9645.chunk.js +1 -0
  113. package/static/js/ant-locale/locale-ko_KR-js.07676057.chunk.js +1 -0
  114. package/static/js/ant-locale/locale-ku_IQ-js.8d56188e.chunk.js +1 -0
  115. package/static/js/ant-locale/locale-lt_LT-js.976c50a6.chunk.js +1 -0
  116. package/static/js/ant-locale/locale-lv_LV-js.d2b7eb7a.chunk.js +1 -0
  117. package/static/js/ant-locale/locale-mk_MK-js.1a324243.chunk.js +1 -0
  118. package/static/js/ant-locale/locale-ml_IN-js.9ca0875e.chunk.js +1 -0
  119. package/static/js/ant-locale/locale-mn_MN-js.e5c5e6b3.chunk.js +1 -0
  120. package/static/js/ant-locale/locale-ms_MY-js.68d51cfa.chunk.js +1 -0
  121. package/static/js/ant-locale/locale-my_MM-js.1d798fbf.chunk.js +1 -0
  122. package/static/js/ant-locale/locale-nb_NO-js.85b15451.chunk.js +1 -0
  123. package/static/js/ant-locale/locale-ne_NP-js.db143616.chunk.js +1 -0
  124. package/static/js/ant-locale/locale-nl_BE-js.71247744.chunk.js +1 -0
  125. package/static/js/ant-locale/locale-nl_NL-js.26845b27.chunk.js +1 -0
  126. package/static/js/ant-locale/locale-pl_PL-js.44a62852.chunk.js +1 -0
  127. package/static/js/ant-locale/locale-pt_BR-js.17328a86.chunk.js +1 -0
  128. package/static/js/ant-locale/locale-pt_PT-js.05d4d804.chunk.js +1 -0
  129. package/static/js/ant-locale/locale-ro_RO-js.3e1e40bb.chunk.js +1 -0
  130. package/static/js/ant-locale/locale-si_LK-js.facbc144.chunk.js +1 -0
  131. package/static/js/ant-locale/locale-sk_SK-js.32bd8996.chunk.js +1 -0
  132. package/static/js/ant-locale/locale-sl_SI-js.f054d794.chunk.js +1 -0
  133. package/static/js/ant-locale/locale-sr_RS-js.317370b5.chunk.js +1 -0
  134. package/static/js/ant-locale/locale-sv_SE-js.ecd8298d.chunk.js +1 -0
  135. package/static/js/ant-locale/locale-ta_IN-js.ee264565.chunk.js +1 -0
  136. package/static/js/ant-locale/locale-th_TH-js.f1d32c8f.chunk.js +1 -0
  137. package/static/js/ant-locale/locale-tk_TK-js.015ee01f.chunk.js +1 -0
  138. package/static/js/ant-locale/locale-tr_TR-js.4c6d775a.chunk.js +1 -0
  139. package/static/js/ant-locale/locale-uk_UA-js.cef1c751.chunk.js +1 -0
  140. package/static/js/ant-locale/locale-ur_PK-js.b5d52218.chunk.js +1 -0
  141. package/static/js/ant-locale/locale-vi_VN-js.c5140ea5.chunk.js +1 -0
  142. package/static/js/ant-locale/locale-zh_CN-js.861c7ef0.chunk.js +1 -0
  143. package/static/js/ant-locale/locale-zh_HK-js.ca14eb1f.chunk.js +1 -0
  144. package/static/js/ant-locale/locale-zh_TW-js.69bb4746.chunk.js +1 -0
  145. package/static/js/emailmaker_core.c2851865.js +2 -0
  146. package/static/js/emailmaker_core.c2851865.js.LICENSE.txt +23 -0
  147. package/static/js/mergeTags/locale0.24c6e2da.chunk.js +1 -0
  148. package/static/js/mergeTags/locale1.24fd0fd2.chunk.js +1 -0
  149. package/static/media/ai-image.7c42c2e12001ebf31881.png +0 -0
  150. package/static/media/codicon.f13d28f3e470ec5c0896.ttf +0 -0
  151. package/static/media/empty-image.1827d6561f3c4042dfb3.png +0 -0
  152. package/static/media/fb.ff10384394f8044ec889.png +0 -0
  153. package/static/media/frame_dark.318d7ed53535d80662dc.png +0 -0
  154. package/static/media/frame_light.22a9b4ec728365d8193f.png +0 -0
  155. package/static/media/frame_template_gallery.85693b3950e7689fb3a5.png +0 -0
  156. package/static/media/icon-border-radius.2a56b93a7711558098a622296b7ae2e1.svg +1 -0
  157. package/static/media/icon-create-block.0b077f4000bf7907b9ea871d28c7fb1e.svg +1 -0
  158. package/static/media/icon-menu-block-welcome.1c534a003522feadd2e7.png +0 -0
  159. package/static/media/ig.47a89992b4bec92d4364.png +0 -0
  160. package/static/media/project-email-back-dark.9916625a9a714830b770.svg +29 -0
  161. package/static/media/project-email-back.0ce470def19ce7c063e0.svg +29 -0
  162. package/static/media/sign_up_01.333271584216122b89ba.png +0 -0
  163. package/static/media/sign_up_01_blocks.5538cfdb90d4869794dc.png +0 -0
  164. package/static/media/sign_up_02.d99d2aa6bf1ea74f01fa.png +0 -0
  165. package/static/media/sign_up_02_blocks.837fc2c9a9461fda13be.png +0 -0
  166. package/static/media/sign_up_03.5545ffad60a2cb5e0336.png +0 -0
  167. package/static/media/sign_up_03_blocks.126601f7a6fbea4b6c54.png +0 -0
  168. package/static/media/sign_up_04.398a4ca50d5f5b3cd837.png +0 -0
  169. package/static/media/sign_up_04_blocks.255c5c07b23cbcc256fd.png +0 -0
  170. package/static/media/sign_up_05.4c58df1be2edaa79d52b.png +0 -0
  171. package/static/media/sign_up_05_blocks.431b6844fdf3e14642c2.png +0 -0
  172. package/static/media/tg.10f004529a98df9732b9.png +0 -0
  173. package/static/media/tw.823a7736ac2d82815c71.png +0 -0
  174. package/static/media/video.854adea50295d0a3f7ae.png +0 -0
  175. package/static/media/vk.fe41df919f4e8718e0b3.png +0 -0
  176. package/static/media/yd.c40d05dde64ef695fdf2.png +0 -0
  177. package/static/media/yt.4ac57e55d158b40c7fc1.png +0 -0
  178. package/translations.pot +76 -76
  179. package/iframe/iframe-eblock.441a4dbc4384f20fcf1e.html +0 -1
  180. package/iframe/iframe.441a4dbc4384f20fcf1e.html +0 -1
  181. package/iframe/js/330.378aec42.js +0 -1
  182. /package/iframe/js/{330.378aec42.js.LICENSE.txt → 330.4622fd92.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunkemail_maker=globalThis.webpackChunkemail_maker||[]).push([[1880],{4333:(e,t,i)=>{i.d(t,{J:()=>a});var n=i(24638),o=i(17924),s=i(74341),r=i(47858);class a{constructor(e,t){this.classifier=new l(e,t)}static create(e){return new a(e.get(121),e.get(120))}createLineBreaksComputer(e,t,i,n){const o=[],s=[],r=[];return{addRequest:(e,t,i)=>{o.push(e),s.push(t),r.push(i)},finalize:()=>{const a=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,l=[];for(let e=0,d=o.length;e<d;e++){const d=s[e],c=r[e];!c||c.injectionOptions||d?l[e]=u(this.classifier,o[e],d,t,i,a,n):l[e]=h(this.classifier,c,o[e],t,i,a,n)}return d.length=0,c.length=0,l}}}}class l extends o.V{constructor(e,t){super(0);for(let i=0;i<e.length;i++)this.set(e.charCodeAt(i),1);for(let i=0;i<t.length;i++)this.set(t.charCodeAt(i),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let d=[],c=[];function h(e,t,i,o,s,r,a){if(-1===s)return null;const l=i.length;if(l<=1)return null;const h=t.breakOffsets,u=t.breakOffsetsVisibleColumn,p=_(i,o,s,r,a),f=s-p,v=d,C=c;let b=0,w=0,L=0,S=s;const y=h.length;let k=0;if(k>=0){let e=Math.abs(u[k]-S);for(;k+1<y;){const t=Math.abs(u[k+1]-S);if(t>=e)break;e=t,k++}}for(;k<y;){let t=k<0?0:h[k],s=k<0?0:u[k];w>t&&(t=w,s=L);let a=0,d=0,c=0,p=0;if(s<=S){let _=s,L=0===t?0:i.charCodeAt(t-1),y=0===t?0:e.get(L),k=!0;for(let s=t;s<l;s++){const t=s,l=i.charCodeAt(s);let h,u;if(n.pc(l)?(s++,h=0,u=2):(h=e.get(l),u=g(l,_,o,r)),t>w&&m(L,y,l,h)&&(a=t,d=_),_+=u,_>S){t>w?(c=t,p=_-u):(c=s+1,p=_),_-d>f&&(a=0),k=!1;break}L=l,y=h}if(k){b>0&&(v[b]=h[h.length-1],C[b]=u[h.length-1],b++);break}}if(0===a){let l=s,h=i.charCodeAt(t),u=e.get(h),_=!1;for(let o=t-1;o>=w;o--){const t=o+1,s=i.charCodeAt(o);if(9===s){_=!0;break}let g,v;if(n.LJ(s)?(o--,g=0,v=2):(g=e.get(s),v=n.ne(s)?r:1),l<=S){if(0===c&&(c=t,p=l),l<=S-f)break;if(m(s,g,h,u)){a=t,d=l;break}}l-=v,h=s,u=g}if(0!==a){const e=f-(p-d);if(e<=o){const t=i.charCodeAt(c);let s;s=n.pc(t)?2:g(t,p,o,r),e-s<0&&(a=0)}}if(_){k--;continue}}if(0===a&&(a=c,d=p),a<=w){const e=i.charCodeAt(w);n.pc(e)?(a=w+2,d=L+2):(a=w+1,d=L+g(e,L,o,r))}for(w=a,v[b]=a,L=d,C[b]=d,b++,S=d+f;k<0||k<y&&u[k]<d;)k++;let _=Math.abs(u[k]-S);for(;k+1<y;){const e=Math.abs(u[k+1]-S);if(e>=_)break;_=e,k++}}return 0===b?null:(v.length=b,C.length=b,d=t.breakOffsets,c=t.breakOffsetsVisibleColumn,t.breakOffsets=v,t.breakOffsetsVisibleColumn=C,t.wrappedTextIndentLength=p,t)}function u(e,t,i,o,a,l,d){const c=s.uK.applyInjectedText(t,i);let h,u;if(i&&i.length>0?(h=i.map(e=>e.options),u=i.map(e=>e.column-1)):(h=null,u=null),-1===a)return h?new r.R_(u,h,[c.length],[],0):null;const p=c.length;if(p<=1)return h?new r.R_(u,h,[c.length],[],0):null;const f=_(c,o,a,l,d),v=a-f,C=[],b=[];let w=0,L=0,S=0,y=a,k=c.charCodeAt(0),I=e.get(k),x=g(k,0,o,l),N=1;n.pc(k)&&(x+=1,k=c.charCodeAt(1),I=e.get(k),N++);for(let s=N;s<p;s++){const t=s,i=c.charCodeAt(s);let r,a;n.pc(i)?(s++,r=0,a=2):(r=e.get(i),a=g(i,x,o,l)),m(k,I,i,r)&&(L=t,S=x),x+=a,x>y&&((0===L||x-S>v)&&(L=t,S=x-a),C[w]=L,b[w]=S,w++,y=S+v,L=0),k=i,I=r}return 0!==w||i&&0!==i.length?(C[w]=p,b[w]=x,new r.R_(u,h,C,b,f)):null}function g(e,t,i,o){return 9===e?i-t%i:n.ne(e)||e<32?o:1}function p(e,t){return t-e%t}function m(e,t,i,n){return 32!==i&&(2===t&&2!==n||1!==t&&1===n||3===t&&2!==n||3===n&&1!==t)}function _(e,t,i,o,s){let r=0;if(0!==s){const a=n.HG(e);if(-1!==a){for(let i=0;i<a;i++){r+=9===e.charCodeAt(i)?p(r,t):1}const n=3===s?2:2===s?1:0;for(let e=0;e<n;e++){r+=p(r,t)}r+o>i&&(r=0)}}return r}},4383:(e,t,i)=>{i.d(t,{tD:()=>ke,bw:()=>Ce,pk:()=>ye,Ez:()=>Se,hi:()=>ve,d1:()=>pe,Hd:()=>be,fV:()=>we,GX:()=>Le});var n=i(69549),o=i(57312),s=i(55808),r=i(24638),a=i(64796),l=i(72799),d=i(62788),c=i(34876),h=i(69376),u=i(75909),g=i(21294),p=i(34029),m=i(90491),_=i(56495),f=i(55547),v=i(6990),C=i(95166),b=i(47925),w=i(45769),L=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},S=function(e,t){return function(i,n){t(i,n,e)}},y=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class k extends _.rc{constructor(e,t){super(e.command?e.command.id:e.title,e.title.replace(/\r\n|\r|\n/g," "),void 0,!e.disabled,t),this.action=e}}let I=class extends s.jG{constructor(e,t,i,n,o,r){super(),this._editor=e,this._delegate=t,this._contextMenuService=i,this._languageFeaturesService=o,this._telemetryService=r,this._visible=!1,this._showingActions=this._register(new s.HE),this._keybindingResolver=new x({getKeybindings:()=>n.getKeybindings()})}get isVisible(){return this._visible}show(e,t,i,n){return y(this,void 0,void 0,function*(){const o=n.includeDisabledActions?t.allActions:t.validActions;if(!o.length)return void(this._visible=!1);if(!this._editor.getDomNode())throw this._visible=!1,(0,u.aD)();this._visible=!0,this._showingActions.value=t;const s=this.getMenuActions(e,o,t.documentation),r=f.y.isIPosition(i)?this._toCoords(i):i||{x:0,y:0},a=this._keybindingResolver.getResolver(),l=this._editor.getOption(116);this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>s,onHide:i=>{const o=n.fromLightbulb?v.fo.Lightbulb:e.triggerAction;this._telemetryService.publicLog2("codeAction.applyCodeAction",{codeActionFrom:o,validCodeActions:t.validActions.length,cancelled:i}),this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:e=>e instanceof k?a(e.action):void 0})})}getMenuActions(e,t,i){var n,o;const s=t=>new k(t.action,()=>this._delegate.onSelectCodeAction(t,e)),r=t.map(s),a=[...i],l=this._editor.getModel();if(l&&r.length)for(const d of this._languageFeaturesService.codeActionProvider.all(l))d._getAdditionalMenuItems&&a.push(...d._getAdditionalMenuItems({trigger:e.type,only:null===(o=null===(n=e.filter)||void 0===n?void 0:n.include)||void 0===o?void 0:o.value},t.map(e=>e.action)));return a.length&&r.push(new _.wv,...a.map(e=>s(new h.Vi({title:e.title,command:e},void 0)))),r}_toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=(0,m.BK)(this._editor.getDomNode());return{x:i.left+t.left,y:i.top+t.top+t.height}}};I=L([S(2,C.Z),S(3,b.b),S(4,c.u),S(5,w.k)],I);class x{constructor(e){this._keybindingProvider=e}getResolver(){const e=new o.d(()=>this._keybindingProvider.getKeybindings().filter(e=>x.codeActionCommands.indexOf(e.command)>=0).filter(e=>e.resolvedKeybinding).map(e=>{let t=e.commandArgs;return e.command===h.Uy?t={kind:v.gB.SourceOrganizeImports.value}:e.command===h.Rw&&(t={kind:v.gB.SourceFixAll.value}),Object.assign({resolvedKeybinding:e.resolvedKeybinding},v.QA.fromUser(t,{kind:v.gB.None,apply:"never"}))}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.getValue());return null===i||void 0===i?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new v.gB(e.kind);return t.filter(e=>e.kind.contains(i)).filter(t=>!t.preferred||e.isPreferred).reduceRight((e,t)=>e?e.kind.contains(t.kind)?t:e:t,void 0)}}x.codeActionCommands=[h.Xj,h.k_,h.C9,h.Uy,h.Rw];var N,M=i(5644),D=i(88106),R=i(42464),P=i(62579),O=i(35819),E=i(44824),A=i(16974),T=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},F=function(e,t){return function(i,n){t(i,n,e)}};!function(e){e.Hidden={type:0};e.Showing=class{constructor(e,t,i,n){this.actions=e,this.trigger=t,this.editorPosition=i,this.widgetPosition=n,this.type=1}}}(N||(N={}));let V=class e extends s.jG{constructor(e,t,i,n){super(),this._editor=e,this._quickFixActionId=t,this._preferredFixActionId=i,this._keybindingService=n,this._onClick=this._register(new R.vl),this.onClick=this._onClick.event,this._state=N.Hidden,this._domNode=document.createElement("div"),this._domNode.className=D.W6.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()})),M.q.ignoreTarget(this._domNode),this._register(m.Xc(this._domNode,e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:i}=m.BK(this._domNode),n=this._editor.getOption(60);let o=Math.floor(n/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(o+=n),this._onClick.fire({x:e.posx,y:t+i+o,actions:this.state.actions,trigger:this.state.trigger})})),this._register(m.ko(this._domNode,"mouseenter",e=>{1===(1&e.buttons)&&this.hide()})),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(58)&&!this._editor.getOption(58).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,n){if(t.validActions.length<=0)return this.hide();const o=this._editor.getOptions();if(!o.get(58).enabled)return this.hide();const s=this._editor.getModel();if(!s)return this.hide();const{lineNumber:r,column:a}=s.validatePosition(n),l=s.getOptions().tabSize,d=o.get(45),c=s.getLineContent(r),h=(0,P.G)(c,l),u=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1);let g=r;if(!(d.spaceWidth*h>22))if(r>1&&!u(r-1))g-=1;else if(u(r+1)){if(a*d.spaceWidth<22)return this.hide()}else g+=1;this.state=new N.Showing(t,i,n,{position:{lineNumber:g,column:1},preference:e._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=N.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(1===this.state.type&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...D.W6.lightBulb.classNamesArray),this._domNode.classList.add(...D.W6.lightbulbAutofix.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(e)return void(this.title=O.kg("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",e.getLabel()))}this._domNode.classList.remove(...D.W6.lightbulbAutofix.classNamesArray),this._domNode.classList.add(...D.W6.lightBulb.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._quickFixActionId);this.title=e?O.kg("codeActionWithKb","Show Code Actions ({0})",e.getLabel()):O.kg("codeAction","Show Code Actions")}set title(e){this._domNode.title=e}};V._posPref=[0],V=T([F(3,b.b)],V),(0,A.zy)((e,t)=>{var i;const n=null===(i=e.getColor(E.YtV))||void 0===i?void 0:i.transparent(.7),o=e.getColor(E.yHf);o&&t.addRule(`\n\t\t.monaco-editor .contentWidgets ${D.W6.lightBulb.cssSelector} {\n\t\t\tcolor: ${o};\n\t\t\tbackground-color: ${n};\n\t\t}`);const s=e.getColor(E.qTN);s&&t.addRule(`\n\t\t.monaco-editor .contentWidgets ${D.W6.lightbulbAutofix.cssSelector} {\n\t\t\tcolor: ${s};\n\t\t\tbackground-color: ${n};\n\t\t}`)});var W,B=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},H=function(e,t){return function(i,n){t(i,n,e)}},j=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})},U=function(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i},z=function(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)};let $=class extends s.jG{constructor(e,t,i,n,r){super(),this._editor=e,this.delegate=n,this._activeCodeActions=this._register(new s.HE),W.set(this,!1),this._codeActionWidget=new o.d(()=>this._register(r.createInstance(I,this._editor,{onSelectCodeAction:(e,t)=>j(this,void 0,void 0,function*(){this.delegate.applyCodeAction(e,!0,Boolean(t.preview))})}))),this._lightBulbWidget=new o.d(()=>{const e=this._register(r.createInstance(V,this._editor,t,i));return this._register(e.onClick(e=>this.showCodeActionList(e.trigger,e.actions,e,{includeDisabledActions:!1,fromLightbulb:!0}))),e})}dispose(){U(this,W,!0,"f"),super.dispose()}update(e){var t,i,n,o,s;return j(this,void 0,void 0,function*(){if(1!==e.type)return void(null===(t=this._lightBulbWidget.rawValue)||void 0===t||t.hide());let r;try{r=yield e.actions}catch(a){return void(0,u.dz)(a)}if(!z(this,W,"f"))if(this._lightBulbWidget.getValue().update(r,e.trigger,e.position),1===e.trigger.type){if(null===(i=e.trigger.filter)||void 0===i?void 0:i.include){const t=this.tryGetValidActionToApply(e.trigger,r);if(t){try{this._lightBulbWidget.getValue().hide(),yield this.delegate.applyCodeAction(t,!1,!1)}finally{r.dispose()}return}if(e.trigger.context){const t=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,r);if(t&&t.action.disabled)return null===(n=g.k.get(this._editor))||void 0===n||n.showMessage(t.action.disabled,e.trigger.context.position),void r.dispose()}}const t=!!(null===(o=e.trigger.filter)||void 0===o?void 0:o.include);if(e.trigger.context&&(!r.allActions.length||!t&&!r.validActions.length))return null===(s=g.k.get(this._editor))||void 0===s||s.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=r,void r.dispose();this._activeCodeActions.value=r,this._codeActionWidget.getValue().show(e.trigger,r,e.position,{includeDisabledActions:t,fromLightbulb:!1})}else this._codeActionWidget.getValue().isVisible?r.dispose():this._activeCodeActions.value=r})}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find(({action:e})=>e.disabled):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}showCodeActionList(e,t,i,n){return j(this,void 0,void 0,function*(){this._codeActionWidget.getValue().show(e,t,i,n)})}};W=new WeakMap,$=B([H(4,p._Y)],$);var Q,G=i(16281),K=i(21181),q=i(40145),Z=i(53229),X=i(74349),Y=i(20512),J=i(1273),ee=i(62915),te=function(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)},ie=function(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i};const ne=new K.N1("supportedCodeAction","");class oe extends s.jG{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Y.pc),this._register(this._markerService.onMarkerChanged(e=>this._onMarkerChanges(e))),this._register(this._editor.onDidChangeCursorPosition(()=>this._onCursorChange()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(e=>(0,J.n4)(e,t.uri))&&this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:v.fo.Default})},this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:v.fo.Default})},this._delay)}_getRangeOfMarker(e){const t=this._editor.getModel();if(t)for(const i of this._markerService.read({resource:t.uri})){const n=t.validateRange(i);if(ee.Q.intersectRanges(n,e))return ee.Q.lift(n)}}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelection();if(i.isEmpty()&&2===e.type){const{lineNumber:e,column:n}=i.getPosition(),o=t.getLineContent(e);if(0===o.length)return;if(1===n){if(/\s/.test(o[0]))return}else if(n===t.getLineMaxColumn(e)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return i}_createEventAndSignalChange(e,t){const i=this._editor.getModel();if(!t||!i)return void this._signalChange(void 0);const n=this._getRangeOfMarker(t),o=n?n.getStartPosition():t.getStartPosition(),s={trigger:e,selection:t,position:o};return this._signalChange(s),s}}var se;!function(e){e.Empty={type:0};e.Triggered=class{constructor(e,t,i,n){this.trigger=e,this.rangeOrSelection=t,this.position=i,this._cancellablePromise=n,this.type=1,this.actions=n.catch(e=>{if((0,u.MB)(e))return re;throw e})}cancel(){this._cancellablePromise.cancel()}}}(se||(se={}));const re={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class ae extends s.jG{constructor(e,t,i,n,o){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=o,this._codeActionOracle=this._register(new s.HE),this._state=se.Empty,this._onDidChangeState=this._register(new R.vl),this.onDidChangeState=this._onDidChangeState.event,Q.set(this,!1),this._supportedCodeActions=ne.bindTo(n),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._update()}dispose(){te(this,Q,"f")||(ie(this,Q,!0,"f"),super.dispose(),this.setState(se.Empty,!0))}_update(){if(te(this,Q,"f"))return;this._codeActionOracle.value=void 0,this.setState(se.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(82)){const t=[];for(const i of this._registry.all(e))Array.isArray(i.providedCodeActionKinds)&&t.push(...i.providedCodeActionKinds);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new oe(this._editor,this._markerService,t=>{var i;if(!t)return void this.setState(se.Empty);const n=(0,Y.SS)(i=>(0,h.dU)(this._registry,e,t.selection,t.trigger,Z.ke.None,i));1===t.trigger.type&&(null===(i=this._progressService)||void 0===i||i.showWhile(n,250)),this.setState(new se.Triggered(t.trigger,t.selection,t.position,n))},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:v.fo.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;null===(t=this._codeActionOracle.value)||void 0===t||t.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||te(this,Q,"f")||this._onDidChangeState.fire(e))}}Q=new WeakMap;var le=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},de=function(e,t){return function(i,n){t(i,n,e)}},ce=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};function he(e){return K.M$.regex(ne.keys()[0],new RegExp("(\\s|^)"+(0,r.bm)(e.value)+"\\b"))}function ue(e,t,i,n){const o=v.QA.fromUser(t,{kind:v.gB.Refactor,apply:"never"});return fe(e,"string"===typeof(null===t||void 0===t?void 0:t.kind)?o.preferred?O.kg("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",t.kind):O.kg("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",t.kind):o.preferred?O.kg("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):O.kg("editor.action.refactor.noneMessage","No refactorings available"),{include:v.gB.Refactor.contains(o.kind)?o.kind:v.gB.None,onlyIncludePreferredActions:o.preferred},o.apply,i,n)}const ge={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:O.kg("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:O.kg("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[O.kg("args.schema.apply.first","Always apply the first returned code action."),O.kg("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),O.kg("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:O.kg("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};let pe=class e extends s.jG{constructor(e,t,i,n,s,r){super(),this._instantiationService=s,this._editor=e,this._model=this._register(new ae(this._editor,r.codeActionProvider,t,i,n)),this._register(this._model.onDidChangeState(e=>this.update(e))),this._ui=new o.d(()=>this._register(new $(e,ve.Id,ke.Id,{applyCodeAction:(e,t,i)=>ce(this,void 0,void 0,function*(){try{yield this._applyCodeAction(e,i)}finally{t&&this._trigger({type:2,triggerAction:v.fo.QuickFix,filter:{}})}})},this._instantiationService)))}static get(t){return t.getContribution(e.ID)}update(e){this._ui.getValue().update(e)}showCodeActions(e,t,i){return this._ui.getValue().showCodeActionList(e,t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n,o){var s;if(!this._editor.hasModel())return;null===(s=g.k.get(this._editor))||void 0===s||s.closeMessage();const r=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:r},preview:o})}_trigger(e){return this._model.trigger(e)}_applyCodeAction(e,t){return this._instantiationService.invokeFunction(_e,e,me.FromCodeActions,{preview:t,editor:this._editor})}};var me;function _e(e,t,i,o){return ce(this,void 0,void 0,function*(){const s=e.get(l.nu),r=e.get(G.wT),a=e.get(w.k),d=e.get(X.Ot);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:i}),yield t.resolve(n.X.None),t.action.edit&&(yield s.apply(l.jN.convert(t.action.edit),{editor:null===o||void 0===o?void 0:o.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:!0,showPreview:null===o||void 0===o?void 0:o.preview})),t.action.command)try{yield r.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(c){const e=function(e){return"string"===typeof e?e:e instanceof Error&&"string"===typeof e.message?e.message:void 0}(c);d.error("string"===typeof e?e:O.kg("applyCodeActionFailed","An unknown error occurred while applying the code action"))}})}function fe(e,t,i,n,o=!1,s=v.fo.Default){if(e.hasModel()){const r=pe.get(e);null===r||void 0===r||r.manualTriggerAtCurrentPosition(t,s,i,n,o)}}pe.ID="editor.contrib.quickFixController",pe=le([de(1,q.DR),de(2,K.fN),de(3,Z.N8),de(4,p._Y),de(5,c.u)],pe),function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions"}(me||(me={}));class ve extends a.ks{constructor(){super({id:ve.Id,label:O.kg("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:K.M$.and(d.R.writable,d.R.hasCodeActionsProvider),kbOpts:{kbExpr:d.R.editorTextFocus,primary:2132,weight:100}})}run(e,t){return fe(t,O.kg("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,!1,v.fo.QuickFix)}}ve.Id="editor.action.quickFix";class Ce extends a.DX{constructor(){super({id:h.k_,precondition:K.M$.and(d.R.writable,d.R.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:ge}]}})}runEditorCommand(e,t,i){const n=v.QA.fromUser(i,{kind:v.gB.Empty,apply:"ifSingle"});return fe(t,"string"===typeof(null===i||void 0===i?void 0:i.kind)?n.preferred?O.kg("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):O.kg("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?O.kg("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):O.kg("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class be extends a.ks{constructor(){super({id:h.Xj,label:O.kg("refactor.label","Refactor..."),alias:"Refactor...",precondition:K.M$.and(d.R.writable,d.R.hasCodeActionsProvider),kbOpts:{kbExpr:d.R.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:K.M$.and(d.R.writable,he(v.gB.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:ge}]}})}run(e,t,i){return ue(t,i,!1,v.fo.Refactor)}}class we extends a.ks{constructor(){super({id:h.v8,label:O.kg("refactor.preview.label","Refactor with Preview..."),alias:"Refactor Preview...",precondition:K.M$.and(d.R.writable,d.R.hasCodeActionsProvider),description:{description:"Refactor Preview...",args:[{name:"args",schema:ge}]}})}run(e,t,i){return ue(t,i,!0,v.fo.RefactorPreview)}}class Le extends a.ks{constructor(){super({id:h.C9,label:O.kg("source.label","Source Action..."),alias:"Source Action...",precondition:K.M$.and(d.R.writable,d.R.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:K.M$.and(d.R.writable,he(v.gB.Source))},description:{description:"Source Action...",args:[{name:"args",schema:ge}]}})}run(e,t,i){const n=v.QA.fromUser(i,{kind:v.gB.Source,apply:"never"});return fe(t,"string"===typeof(null===i||void 0===i?void 0:i.kind)?n.preferred?O.kg("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):O.kg("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?O.kg("editor.action.source.noneMessage.preferred","No preferred source actions available"):O.kg("editor.action.source.noneMessage","No source actions available"),{include:v.gB.Source.contains(n.kind)?n.kind:v.gB.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,void 0,v.fo.SourceAction)}}class Se extends a.ks{constructor(){super({id:h.Uy,label:O.kg("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:K.M$.and(d.R.writable,he(v.gB.SourceOrganizeImports)),kbOpts:{kbExpr:d.R.editorTextFocus,primary:1581,weight:100}})}run(e,t){return fe(t,O.kg("editor.action.organize.noneMessage","No organize imports action available"),{include:v.gB.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",void 0,v.fo.OrganizeImports)}}class ye extends a.ks{constructor(){super({id:h.Rw,label:O.kg("fixAll.label","Fix All"),alias:"Fix All",precondition:K.M$.and(d.R.writable,he(v.gB.SourceFixAll))})}run(e,t){return fe(t,O.kg("fixAll.noneMessage","No fix all action available"),{include:v.gB.SourceFixAll,includeSourceActions:!0},"ifSingle",void 0,v.fo.FixAll)}}class ke extends a.ks{constructor(){super({id:ke.Id,label:O.kg("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:K.M$.and(d.R.writable,he(v.gB.QuickFix)),kbOpts:{kbExpr:d.R.editorTextFocus,primary:1620,mac:{primary:2644},weight:100}})}run(e,t){return fe(t,O.kg("editor.action.autoFix.noneMessage","No auto fixes available"),{include:v.gB.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",void 0,v.fo.AutoFix)}}ke.Id="editor.action.autoFix"},5164:(e,t,i)=>{i.d(t,{GN:()=>l,UB:()=>a,a6:()=>d,wc:()=>c});var n=i(55547),o=i(62915),s=i(59138),r=i(6302);class a{constructor(e,t,i,n,o){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=n,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const r=e.range,a=e.options;let l;if(a.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new n.y(r.startLineNumber,1),0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new n.y(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);l=new o.Q(e.lineNumber,e.column,t.lineNumber,t.column)}else l=this._coordinatesConverter.convertModelRangeToViewRange(r,1);i=new s.vo(l,a),this._decorationsCache[t]=i}return i}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}_getDecorationsViewportData(e){const t=this._linesCollection.getDecorationsInRange(e,this.editorId,(0,r.$C)(this.configuration.options)),i=e.startLineNumber,n=e.endLineNumber,a=[];let d=0;const c=[];for(let o=i;o<=n;o++)c[o-i]=[];for(let r=0,h=t.length;r<h;r++){const e=t[r],h=e.options;if(!l(this.model,e))continue;const u=this._getOrCreateViewModelDecoration(e),g=u.range;if(a[d++]=u,h.inlineClassName){const e=new s.kI(g,h.inlineClassName,h.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,g.startLineNumber),o=Math.min(n,g.endLineNumber);for(let n=t;n<=o;n++)c[n-i].push(e)}if(h.beforeContentClassName&&i<=g.startLineNumber&&g.startLineNumber<=n){const e=new s.kI(new o.Q(g.startLineNumber,g.startColumn,g.startLineNumber,g.startColumn),h.beforeContentClassName,1);c[g.startLineNumber-i].push(e)}if(h.afterContentClassName&&i<=g.endLineNumber&&g.endLineNumber<=n){const e=new s.kI(new o.Q(g.endLineNumber,g.endColumn,g.endLineNumber,g.endColumn),h.afterContentClassName,2);c[g.endLineNumber-i].push(e)}}return{decorations:a,inlineDecorations:c}}}function l(e,t){return(!t.options.hideInCommentTokens||!d(e,t))&&(!t.options.hideInStringTokens||!c(e,t))}function d(e,t){return h(e,t.range,e=>1===e)}function c(e,t){return h(e,t.range,e=>2===e)}function h(e,t,i){for(let n=t.startLineNumber;n<=t.endLineNumber;n++){const o=e.tokenization.getLineTokens(n),s=n===t.startLineNumber,r=n===t.endLineNumber;let a=s?o.findTokenIndexAtOffset(t.startColumn-1):0;for(;a<o.getCount();){if(r){if(o.getStartOffset(a)>t.endColumn-1)break}if(!i(o.getStandardTokenType(a)))return!1;a++}}return!0}},6990:(e,t,i)=>{i.d(t,{QA:()=>l,aF:()=>r,fo:()=>o,gB:()=>n,uJ:()=>s});class n{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||""===this.value||e.value.startsWith(this.value+n.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new n(this.value+n.sep+e)}}var o;function s(e,t){return!(e.include&&!e.include.intersects(t))&&((!e.excludes||!e.excludes.some(i=>a(t,i,e.include)))&&!(!e.includeSourceActions&&n.Source.contains(t)))}function r(e,t){const i=t.kind?new n(t.kind):void 0;return!!(!e.include||i&&e.include.contains(i))&&(!(e.excludes&&i&&e.excludes.some(t=>a(i,t,e.include)))&&(!(!e.includeSourceActions&&i&&n.Source.contains(i))&&!(e.onlyIncludePreferredActions&&!t.isPreferred)))}function a(e,t,i){return!!t.contains(e)&&(!i||!t.contains(i))}n.sep=".",n.None=new n("@@none@@"),n.Empty=new n(""),n.QuickFix=new n("quickfix"),n.Refactor=new n("refactor"),n.Source=new n("source"),n.SourceOrganizeImports=n.Source.append("organizeImports"),n.SourceFixAll=n.Source.append("fixAll"),function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(o||(o={}));class l{constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}static fromUser(e,t){return e&&"object"===typeof e?new l(l.getKindFromUser(e,t.kind),l.getApplyFromUser(e,t.apply),l.getPreferredUser(e)):new l(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"===typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"===typeof e.kind?new n(e.kind):t}static getPreferredUser(e){return"boolean"===typeof e.preferred&&e.preferred}}},7807:(e,t,i)=>{i.d(t,{i:()=>o});var n=i(55808);class o extends n.jG{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i<n;i++){const n=e[i];switch(n.type){case 0:this.onCompositionStart(n)&&(t=!0);break;case 1:this.onCompositionEnd(n)&&(t=!0);break;case 2:this.onConfigurationChanged(n)&&(t=!0);break;case 3:this.onCursorStateChanged(n)&&(t=!0);break;case 4:this.onDecorationsChanged(n)&&(t=!0);break;case 5:this.onFlushed(n)&&(t=!0);break;case 6:this.onFocusChanged(n)&&(t=!0);break;case 7:this.onLanguageConfigurationChanged(n)&&(t=!0);break;case 8:this.onLineMappingChanged(n)&&(t=!0);break;case 9:this.onLinesChanged(n)&&(t=!0);break;case 10:this.onLinesDeleted(n)&&(t=!0);break;case 11:this.onLinesInserted(n)&&(t=!0);break;case 12:this.onRevealRangeRequest(n)&&(t=!0);break;case 13:this.onScrollChanged(n)&&(t=!0);break;case 15:this.onTokensChanged(n)&&(t=!0);break;case 14:this.onThemeChanged(n)&&(t=!0);break;case 16:this.onTokensColorsChanged(n)&&(t=!0);break;case 17:this.onZonesChanged(n)&&(t=!0)}}t&&(this._shouldRender=!0)}}},9280:(e,t,i)=>{i.d(t,{R:()=>h,j:()=>c});var n=i(69549),o=i(75909),s=i(65698),r=i(62915),a=i(19724),l=i(16281),d=i(34876);function c(e,t,i){const n=[],o=e.ordered(t).reverse().map(e=>Promise.resolve(e.provideDocumentColors(t,i)).then(t=>{if(Array.isArray(t))for(const i of t)n.push({colorInfo:i,provider:e})}));return Promise.all(o).then(()=>n)}function h(e,t,i,n){return Promise.resolve(i.provideColorPresentations(e,t,n))}l.wb.registerCommand("_executeDocumentColorProvider",function(e,...t){const[i]=t;if(!(i instanceof s.r))throw(0,o.Qg)();const{colorProvider:r}=e.get(d.u),l=e.get(a.S).getModel(i);if(!l)throw(0,o.Qg)();const c=[],h=r.ordered(l).reverse().map(e=>Promise.resolve(e.provideDocumentColors(l,n.X.None)).then(e=>{if(Array.isArray(e))for(const t of e)c.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]})}));return Promise.all(h).then(()=>c)}),l.wb.registerCommand("_executeColorPresentationProvider",function(e,...t){const[i,l]=t,{uri:c,range:h}=l;if(!(c instanceof s.r)||!Array.isArray(i)||4!==i.length||!r.Q.isIRange(h))throw(0,o.Qg)();const[u,g,p,m]=i,{colorProvider:_}=e.get(d.u),f=e.get(a.S).getModel(c);if(!f)throw(0,o.Qg)();const v={range:h,color:{red:u,green:g,blue:p,alpha:m}},C=[],b=_.ordered(f).reverse().map(e=>Promise.resolve(e.provideColorPresentations(f,v,n.X.None)).then(e=>{Array.isArray(e)&&C.push(...e)}));return Promise.all(b).then(()=>C)})},11793:(e,t,i)=>{i.d(t,{k:()=>y});var n=i(20512),o=i(75909),s=i(86506),r=i(55808),a=i(59713),l=i(28791),d=i(64796),c=i(62915),h=i(76220),u=i(92320),g=i(29645),p=i(92415),m=i(35819),_=i(21181),f=i(44824),v=i(16974),C=i(27701),b=i(97520),w=i(34876),L=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},S=function(e,t){return function(i,n){t(i,n,e)}};let y=class e{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new r.Cm,this.toUnhookForKeyboard=new r.Cm,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new g.gi(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([e,t])=>{this.startFindDefinitionFromMouse(e,(0,a.UH)(t))})),this.toUnhook.add(s.onExecute(e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).then(()=>{this.removeLinkDecorations()},e=>{this.removeLinkDecorations(),(0,o.dz)(e)})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(t){return t.getContribution(e.ID)}startFindDefinitionFromCursor(e){return this.startFindDefinition(e).then(()=>{this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))})}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const i=e.target.position;this.startFindDefinition(i)}startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const i=e?null===(t=this.editor.getModel())||void 0===t?void 0:t.getWordAtPosition(e):null;if(!i)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return Promise.resolve(0);this.currentWordAtPosition=i;const r=new l.$t(this.editor,15);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,n.SS)(t=>this.findDefinition(e,t)),this.previousPromise.then(t=>{if(t&&t.length&&r.validate(this.editor))if(t.length>1)this.addDecoration(new c.Q(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),(new s.Bc).appendText(m.kg("multipleResults","Click to show {0} definitions.",t.length)));else{const n=t[0];if(!n.uri)return;this.textModelResolverService.createModelReference(n.uri).then(t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:o}}=t,{startLineNumber:r}=n.range;if(r<1||r>o.getLineCount())return void t.dispose();const a=this.getPreviewValue(o,r,n);let l;l=n.originSelectionRange?c.Q.lift(n.originSelectionRange):new c.Q(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);const d=this.languageService.guessLanguageIdByFilepathOrFirstLine(o.uri);this.addDecoration(l,(new s.Bc).appendCodeblock(d||"",a)),t.dispose()})}else this.removeLinkDecorations()}).then(void 0,o.dz)}getPreviewValue(t,i,n){let o=n.range;o.endLineNumber-o.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(t,i));return this.stripIndentationFromPreviewRange(t,i,o)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let o=t+1;o<i.endLineNumber;o++){const t=e.getLineFirstNonWhitespaceColumn(o);n=Math.min(n,t)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${n-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(t,i){const n=t.getLineFirstNonWhitespaceColumn(i),o=Math.min(t.getLineCount(),i+e.MAX_SOURCE_PREVIEW_LINES);let s=i+1;for(;s<o;s++){if(n===t.getLineFirstNonWhitespaceColumn(s))break}return new c.Q(i,1,s+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?(0,b.hE)(this.languageFeaturesService.definitionProvider,i,e,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(e=>{const i=!t&&this.editor.getOption(79)&&!this.isInPeekEditor(e);return new C.mR({openToSide:t,openInPeek:i,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(e,this.editor)})}isInPeekEditor(e){const t=e.get(_.fN);return p.x2.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose()}};y.ID="editor.contrib.gotodefinitionatposition",y.MAX_SOURCE_PREVIEW_LINES=8,y=L([S(1,u.b),S(2,h.L),S(3,w.u)],y),(0,d.HW)(y.ID,y),(0,v.zy)((e,t)=>{const i=e.getColor(f.Ztu);i&&t.addRule(`.monaco-editor .goto-definition-link { color: ${i} !important; }`)})},12705:(e,t,i)=>{var n=i(69549),o=i(59713),s=i(65698),r=i(92320),a=i(40030),l=i(16281),d=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};l.wb.registerCommand("_executeDocumentSymbolProvider",function(e,...t){return d(this,void 0,void 0,function*(){const[i]=t;(0,o.j)(s.r.isUri(i));const l=e.get(a.gW),d=e.get(r.b),c=yield d.createModelReference(i);try{return(yield l.getOrCreate(c.object.textEditorModel,n.X.None)).getTopLevelSymbols()}finally{c.dispose()}})})},13346:(e,t,i)=>{i.d(t,{I:()=>l});var n=i(46442),o=i(1273),s=i(75303),r=i(82185);const a=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function l(e,t,i,l){const c=l===r.p.ROOT_FOLDER?["rootfolder-icon"]:l===r.p.FOLDER?["folder-icon"]:["file-icon"];if(i){let h;if(i.scheme===n.ny.data){h=o.B6.parseMetaData(i).get(o.B6.META_DATA_LABEL)}else{const e=i.path.match(a);e?(h=d(e[2].toLowerCase()),e[1]&&c.push(`${d(e[1].toLowerCase())}-name-dir-icon`)):h=d(i.authority.toLowerCase())}if(l===r.p.FOLDER)c.push(`${h}-name-folder-icon`);else{if(h){if(c.push(`${h}-name-file-icon`),c.push("name-file-icon"),h.length<=255){const e=h.split(".");for(let t=1;t<e.length;t++)c.push(`${e.slice(t).join(".")}-ext-file-icon`)}c.push("ext-file-icon")}const r=function(e,t,i){if(!i)return null;let r=null;if(i.scheme===n.ny.data){const e=o.B6.parseMetaData(i).get(o.B6.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{const t=e.getModel(i);t&&(r=t.getLanguageId())}if(r&&r!==s.vH)return r;return t.guessLanguageIdByFilepathOrFirstLine(i)}(e,t,i);r&&c.push(`${d(r)}-lang-file-icon`)}}return c}function d(e){return e.replace(/[\11\12\14\15\40]/g,"/")}},16385:(e,t,i)=>{i.d(t,{I:()=>l});var n=i(78820),o=i(92965),s=i(70562),r=i(29822),a=i(13128);function l(e,t){const i=new r.Mg,l=new n.Z(i,e=>t.getLanguageConfiguration(e)),c=new a.tk(new d([e]),l),h=(0,s.T)(c,[],void 0,!0);let u="";const g=e.getLineContent();return function e(t,i){if(2===t.kind)if(e(t.openingBracket,i),i=(0,o.QB)(i,t.openingBracket.length),t.child&&(e(t.child,i),i=(0,o.QB)(i,t.child.length)),t.closingBracket)e(t.closingBracket,i),i=(0,o.QB)(i,t.closingBracket.length);else{const e=l.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);u+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)u+=g.substring((0,o.sS)(i),(0,o.sS)((0,o.QB)(i,t.length)));else if(4===t.kind)for(const n of t.children)e(n,i),i=(0,o.QB)(i,n.length)}(h,o.Vp),u}class d{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}},17392:(e,t,i)=>{i.d(t,{eH:()=>b,fm:()=>L,xJ:()=>w});var n=i(90491),o=i(48640),s=i(20512),r=i(86506),a=i(55808),l=i(1318),d=i(55547),c=i(62915),h=i(76220),u=i(45780),g=i(35819),p=i(58471),m=i(46025),_=i(34876),f=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},v=function(e,t){return function(i,n){t(i,n,e)}};const C=n.$;class b{constructor(e,t,i,n){this.owner=e,this.range=t,this.contents=i,this.ordinal=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let w=class{constructor(e,t,i,n,o){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=o,this.hoverOrdinal=2}createLoadingMessage(e){return new b(this,e.range,[(new r.Bc).appendText(g.kg("modesContentHover.loading","Loading..."))],2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),a=[];let l=1e3;const d=i.getLineLength(n),h=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),u=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:h});"number"===typeof u&&d>=u&&a.push(new b(this,e.range,[{value:g.kg("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],l++));for(const g of t){const t=g.range.startLineNumber===n?g.range.startColumn:1,i=g.range.endLineNumber===n?g.range.endColumn:s,d=g.options.hoverMessage;if(!d||(0,r.it)(d))continue;const h=new c.Q(e.range.startLineNumber,t,e.range.startLineNumber,i);a.push(new b(this,h,(0,o._j)(d),l++))}return a}computeAsync(e,t,i){if(!this._editor.hasModel()||1!==e.type)return s.AE.EMPTY;const n=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(n))return s.AE.EMPTY;const o=new d.y(e.range.startLineNumber,e.range.startColumn);return(0,u.Zt)(this._languageFeaturesService.hoverProvider,n,o,i).filter(e=>!(0,r.it)(e.hover.contents)).map(t=>{const i=t.hover.range?c.Q.lift(t.hover.range):e.range;return new b(this,i,t.hover.contents,t.ordinal)})}renderHoverParts(e,t){return L(e,t,this._editor,this._languageService,this._openerService)}};function L(e,t,i,o,s){t.sort((e,t)=>e.ordinal-t.ordinal);const d=new a.Cm;for(const a of t)for(const t of a.contents){if((0,r.it)(t))continue;const a=C("div.hover-row.markdown-hover"),c=n.BC(a,C("div.hover-contents")),h=d.add(new l.T({editor:i},o,s));d.add(h.onDidRenderAsync(()=>{c.className="hover-contents code-hover-contents",e.onContentsChanged()}));const u=d.add(h.render(t));c.appendChild(u.element),e.fragment.appendChild(a)}return d}w=f([v(1,h.L),v(2,m.Cr),v(3,p.pG),v(4,_.u)],w)},18330:(e,t,i)=>{i.d(t,{J:()=>K});var n=i(48640),o=i(20512),s=i(74379),r=i(55808),a=i(55977),l=i(24638),d=i(6302),c=i(24415),h=i(5341),u=i(55547),g=i(62915),p=i(74341),m=i(43178),_=i(75303),f=i(87380),v=i(30462),C=i(42464),b=i(68959);class w{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;const t=this._inserts,i=this._changes,n=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,i,n)}}class L{constructor(e,t,i,n,o){this.id=e,this.afterLineNumber=t,this.ordinal=i,this.height=n,this.minWidth=o,this.prefixSum=0}}class S{constructor(e,t,i,n){this._instanceId=l.tk(++S.INSTANCE_COUNT),this._pendingChanges=new w,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=i,this._paddingBottom=n}static findInsertionIndex(e,t,i){let n=0,o=e.length;for(;n<o;){const s=n+o>>>1;t===e[s].afterLineNumber?i<e[s].ordinal?o=s:n=s+1:t<e[s].afterLineNumber?o=s:n=s+1}return n}setLineHeight(e){this._checkPendingChanges(),this._lineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e){this._checkPendingChanges(),this._lineCount=e}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,i,n,o)=>{t=!0,e|=0,i|=0,n|=0,o|=0;const s=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new L(s,e,i,n,o)),s},changeOneWhitespace:(e,i,n)=>{t=!0,i|=0,n|=0,this._pendingChanges.change({id:e,newAfterLineNumber:i,newHeight:n})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of i){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const n=new Set;for(const a of i)n.add(a.id);const o=new Map;for(const a of t)o.set(a.id,a);const s=e=>{const t=[];for(const i of e)if(!n.has(i.id)){if(o.has(i.id)){const e=o.get(i.id);i.afterLineNumber=e.newAfterLineNumber,i.height=e.newHeight}t.push(i)}return t},r=s(this._arr).concat(s(e));r.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=S.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,n=t.length;i<n;i++)if(t[i].id===e)return i;return-1}_changeOneWhitespace(e,t,i){const n=this._findWhitespaceIndex(e);if(-1!==n&&(this._arr[n].height!==i&&(this._arr[n].height=i,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)),this._arr[n].afterLineNumber!==t)){const e=this._arr[n];this._removeWhitespace(n),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount-=t-e+1;for(let i=0,n=this._arr.length;i<n;i++){const n=this._arr[i].afterLineNumber;e<=n&&n<=t?this._arr[i].afterLineNumber=e-1:n>t&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let i=0,n=this._arr.length;i<n;i++){e<=this._arr[i].afterLineNumber&&(this._arr[i].afterLineNumber+=t-e+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),0===this._arr.length?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){this._checkPendingChanges(),e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);0===t&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let i=t;i<=e;i++)this._arr[i].prefixSum=this._arr[i-1].prefixSum+this._arr[i].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){this._checkPendingChanges();return this._lineHeight*this._lineCount+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){this._checkPendingChanges(),e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e);return-1===t?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;const t=this._arr;let i=0,n=t.length-1;for(;i<=n;){const o=i+((n-i|0)/2|0)|0;if(t[o].afterLineNumber<e){if(o+1>=t.length||t[o+1].afterLineNumber>=e)return o;i=o+1|0}else n=o-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return this._checkPendingChanges(),e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){let i;this._checkPendingChanges(),i=(e|=0)>1?this._lineHeight*(e-1):0;return i+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,i=this._arr.length;t<i;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){this._checkPendingChanges();return e>this.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e<this._paddingTop)}isInBottomPadding(e){if(0===this._paddingBottom)return!1;this._checkPendingChanges();return e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,i=this._lineHeight;let n=1,o=t;for(;n<o;){const t=(n+o)/2|0,s=0|this.getVerticalOffsetForLineNumber(t);if(e>=s+i)n=t+1;else{if(e>=s)return t;o=t}}return n>t?t:n}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this._lineHeight,n=0|this.getLineNumberAtOrAfterVerticalOffset(e),o=0|this.getVerticalOffsetForLineNumber(n);let s=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(n);const a=0|this.getWhitespacesCount();let l,d;-1===r?(r=a,d=s+1,l=0):(d=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));let c=o,h=c;const u=5e5;let g=0;o>=u&&(g=Math.floor(o/u)*u,g=Math.floor(g/i)*i,h-=g);const p=[],m=e+(t-e)/2;let _=-1;for(let b=n;b<=s;b++){if(-1===_){(c<=m&&m<c+i||c>m)&&(_=b)}for(c+=i,p[b-n]=h,h+=i;d===b;)h+=l,c+=l,r++,r>=a?d=s+1:(d=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));if(c>=t){s=b;break}}-1===_&&(_=s);const f=0|this.getVerticalOffsetForLineNumber(s);let v=n,C=s;return v<C&&o<e&&v++,v<C&&f+i>t&&C--,{bigNumbersDelta:g,startLineNumber:n,endLineNumber:s,relativeVerticalOffset:p,centeredLineNumber:_,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:C}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i,n;return i=t>=1?this._lineHeight*t:0,n=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,i+n+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this.getHeightForWhitespaceIndex(i))return-1;for(;t<i;){const n=Math.floor((t+i)/2),o=this.getVerticalOffsetForWhitespaceIndex(n);if(e>=o+this.getHeightForWhitespaceIndex(n))t=n+1;else{if(e>=o)return n;i=n}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const n=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:i,height:n}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this.getWhitespacesCount()-1;if(i<0)return[];const o=[];for(let s=i;s<=n;s++){const e=this.getVerticalOffsetForWhitespaceIndex(s),i=this.getHeightForWhitespaceIndex(s);if(e>=t)break;o.push({id:this.getIdForWhitespaceIndex(s),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(s),verticalOffset:e,height:i})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}S.INSTANCE_COUNT=0;var y=i(59138),k=i(66189);class I{constructor(e,t,i,n){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(n|=0)<0&&(n=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=n,this.scrollHeight=Math.max(i,n)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class x extends r.jG{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new C.vl),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new I(0,0,0,0),this._scrollable=this._register(new b.yE({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,n=t.contentHeight!==e.contentHeight;(i||n)&&this._onDidContentSizeChange.fire(new k.H(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}}class N extends r.jG{constructor(e,t,i){super(),this._configuration=e;const n=this._configuration.options,o=n.get(132),s=n.get(76);this._linesLayout=new S(t,n.get(60),s.top,s.bottom),this._scrollable=this._register(new x(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new I(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(104)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(60)&&this._linesLayout.setLineHeight(t.get(60)),e.hasChanged(76)){const e=t.get(76);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(132)){const e=t.get(132),i=e.contentWidth,n=e.height,o=this._scrollable.getScrollDimensions(),s=o.contentWidth;this._scrollable.setScrollDimensions(new I(i,o.contentWidth,n,this._getContentHeight(i,n,s)))}else this._updateHeight();e.hasChanged(104)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const i=this._configuration.options.get(93);return 2===i.horizontal||e>=t?0:i.horizontalScrollbarSize}_getContentHeight(e,t,i){const n=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return n.get(95)?o+=Math.max(0,t-n.get(60)-n.get(76).bottom):o+=this._getHorizontalScrollbarHeight(e,i),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,n=e.contentWidth;this._scrollable.setScrollDimensions(new I(t,e.contentWidth,i,this._getContentHeight(t,i,n)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new y.LM(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new y.LM(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(e){const t=this._configuration.options,i=t.get(133),n=t.get(45),o=t.get(132);if(i.isViewportWrapping){const i=t.get(66);return e>o.contentWidth+n.typicalHalfwidthCharacterWidth&&i.enabled&&"right"===i.side?e+o.verticalScrollbarWidth:e}{const i=t.get(94)*n.typicalHalfwidthCharacterWidth,s=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+i+o.verticalScrollbarWidth,s)}}setMaxLineWidth(e){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new I(t.width,this._computeContentWidth(e),t.height,t.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}var M=i(55241),D=i(5164),R=i(32589),P=i(41362),O=i(42219);function E(e,t){return null===e?t?T.INSTANCE:F.INSTANCE:new A(e,t)}class A{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const n=i>0?this._projectionData.breakOffsets[i-1]:0,o=this._projectionData.breakOffsets[i];let s;if(null!==this._projectionData.injectionOffsets){const i=this._projectionData.injectionOffsets.map((e,t)=>new p.uK(0,0,e+1,this._projectionData.injectionOptions[t],0));s=p.uK.applyInjectedText(e.getLineContent(t),i).substring(n,o)}else s=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:o+1});return i>0&&(s=W(this._projectionData.wrappedTextIndentLength)+s),s}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const n=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],n),n[0]}getViewLinesData(e,t,i,n,o,s,r){this._assertVisible();const a=this._projectionData,l=a.injectionOffsets,d=a.injectionOptions;let c,h=null;if(l){h=[];let e=0,t=0;for(let i=0;i<a.getOutputLineCount();i++){const n=new Array;h[i]=n;const o=i>0?a.breakOffsets[i-1]:0,s=a.breakOffsets[i];for(;t<l.length;){const r=d[t].content.length,c=l[t]+e,h=c+r;if(c>s)break;if(o<h){const e=d[t];if(e.inlineClassName){const t=i>0?a.wrappedTextIndentLength:0,r=t+Math.max(c-o,0),l=t+Math.min(h-o,s);r!==l&&n.push(new y.or(r,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(h<=s))break;e+=r,t++}}}c=l?e.tokenization.getLineTokens(t).withInserted(l.map((e,t)=>({offset:e,text:d[t].content,tokenMetadata:O.f.defaultTokenMetadata}))):e.tokenization.getLineTokens(t);for(let u=i;u<i+n;u++){const e=o+u-i;s[e]?r[e]=this._getViewLineData(c,h?h[u]:null,u):r[e]=null}}_getViewLineData(e,t,i){this._assertVisible();const n=this._projectionData,o=i>0?n.wrappedTextIndentLength:0,s=i>0?n.breakOffsets[i-1]:0,r=n.breakOffsets[i],a=e.sliceAndInflate(s,r,o);let l=a.getLineContent();i>0&&(l=W(n.wrappedTextIndentLength)+l);const d=this._projectionData.getMinOutputOffset(i)+1,c=l.length+1,h=i+1<this.getViewLineCount(),u=0===i?0:n.breakOffsetsVisibleColumn[i-1];return new y.GP(l,h,d,c,u,a,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,i=2){this._assertVisible();return this._projectionData.translateToOutputPosition(t-1,i).toPosition(e)}getViewLineNumberOfModelPosition(e,t){this._assertVisible();return e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,i){const n=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,i).toPosition(n)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw new Error("Not supported")}}class T{constructor(){}isVisible(){return!0}setVisible(e){return e?this:F.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,i){return e.getLineContent(t)}getViewLineLength(e,t,i){return e.getLineLength(t)}getViewLineMinColumn(e,t,i){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,i){return e.getLineMaxColumn(t)}getViewLineData(e,t,i){const n=e.tokenization.getLineTokens(t),o=n.getLineContent();return new y.GP(o,!1,1,o.length+1,0,n.inflate(),null)}getViewLinesData(e,t,i,n,o,s,r){s[o]?r[o]=this.getViewLineData(e,t,0):r[o]=null}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new u.y(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,i){return t}getInjectedTextAt(e,t){return null}}T.INSTANCE=new T;class F{constructor(){}isVisible(){return!1}setVisible(e){return e?T.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,i){throw new Error("Not supported")}getViewLineLength(e,t,i){throw new Error("Not supported")}getViewLineMinColumn(e,t,i){throw new Error("Not supported")}getViewLineMaxColumn(e,t,i){throw new Error("Not supported")}getViewLineData(e,t,i){throw new Error("Not supported")}getViewLinesData(e,t,i,n,o,s,r){throw new Error("Not supported")}getModelColumnOfViewPosition(e,t){throw new Error("Not supported")}getViewPositionOfModelPosition(e,t){throw new Error("Not supported")}getViewLineNumberOfModelPosition(e,t){throw new Error("Not supported")}normalizePosition(e,t,i){throw new Error("Not supported")}getInjectedTextAt(e,t){throw new Error("Not supported")}}F.INSTANCE=new F;const V=[""];function W(e){if(e>=V.length)for(let t=1;t<=e;t++)V[t]=B(t);return V[e]}function B(e){return new Array(e+1).join(" ")}var H=i(9772);class j{constructor(e,t,i,n,o,s,r,a,l){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=n,this.fontInfo=o,this.tabSize=s,this.wrappingStrategy=r,this.wrappingColumn=a,this.wrappingIndent=l,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new $(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),o=this.model.getInjectedTextDecorations(this._editorId),s=i.length,r=this.createLineBreaksComputer(),a=new n.j3(p.uK.fromDecorations(o));for(let n=0;n<s;n++){const e=a.takeWhile(e=>e.lineNumber===n+1);r.addRequest(i[n],e,t?t[n]:null)}const l=r.finalize(),d=[],c=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(g.Q.compareRangesUsingStarts);let h=1,u=0,m=-1,_=m+1<c.length?u+1:s+2;for(let n=0;n<s;n++){const e=n+1;e===_&&(m++,h=c[m].startLineNumber,u=c[m].endLineNumber,_=m+1<c.length?u+1:s+2);const t=e>=h&&e<=u,i=E(l[n],!t);d[n]=i.getViewLineCount(),this.modelLineProjections[n]=i}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new H.c2(d)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=function(e){if(0===e.length)return[];const t=e.slice();t.sort(g.Q.compareRangesUsingStarts);const i=[];let n=t[0].startLineNumber,o=t[0].endLineNumber;for(let s=1,r=t.length;s<r;s++){const e=t[s];e.startLineNumber>o+1?(i.push(new g.Q(n,1,o,1)),n=e.startLineNumber,o=e.endLineNumber):e.endLineNumber>o&&(o=e.endLineNumber)}return i.push(new g.Q(n,1,o,1)),i}(e.map(e=>this.model.validateRange(e))),i=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(g.Q.compareRangesUsingStarts);if(t.length===i.length){let e=!1;for(let n=0;n<t.length;n++)if(!t[n].equalsRange(i[n])){e=!0;break}if(!e)return!1}const n=t.map(e=>({range:e,options:P.kI.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,n);const o=t;let s=1,r=0,a=-1,l=a+1<o.length?r+1:this.modelLineProjections.length+2,d=!1;for(let c=0;c<this.modelLineProjections.length;c++){const e=c+1;e===l&&(a++,s=o[a].startLineNumber,r=o[a].endLineNumber,l=a+1<o.length?r+1:this.modelLineProjections.length+2);let t=!1;if(e>=s&&e<=r?this.modelLineProjections[c].isVisible()&&(this.modelLineProjections[c]=this.modelLineProjections[c].setVisible(!1),t=!0):(d=!0,this.modelLineProjections[c].isVisible()||(this.modelLineProjections[c]=this.modelLineProjections[c].setVisible(!0),t=!0)),t){const e=this.modelLineProjections[c].getViewLineCount();this.projectedModelLineLineCounts.setValue(c,e)}}return d||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,n){const o=this.fontInfo.equals(e),s=this.wrappingStrategy===t,r=this.wrappingColumn===i,a=this.wrappingIndent===n;if(o&&s&&r&&a)return!1;const l=o&&s&&!r&&a;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=n;let d=null;if(l){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(){return("advanced"===this.wrappingStrategy?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,i){if(!e||e<=this._validModelVersionId)return null;const n=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections.splice(t-1,i-t+1),this.projectedModelLineLineCounts.removeValues(t-1,i-t+1),new v.Uf(n,o)}onModelLinesInserted(e,t,i,n){if(!e||e<=this._validModelVersionId)return null;const o=t>2&&!this.modelLineProjections[t-2].isVisible(),s=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let r=0;const a=[],l=[];for(let d=0,c=n.length;d<c;d++){const e=E(n[d],!o);a.push(e);const t=e.getViewLineCount();r+=t,l[d]=t}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(a).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,l),new v.rZ(s,s+r-1)}onModelLineChanged(e,t,i){if(null!==e&&e<=this._validModelVersionId)return[!1,null,null,null];const n=t-1,o=this.modelLineProjections[n].getViewLineCount(),s=E(i,this.modelLineProjections[n].isVisible());this.modelLineProjections[n]=s;const r=this.modelLineProjections[n].getViewLineCount();let a=!1,l=0,d=-1,c=0,h=-1,u=0,g=-1;o>r?(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=l+r-1,u=d+1,g=u+(o-r)-1,a=!0):o<r?(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=l+o-1,c=d+1,h=c+(r-o)-1,a=!0):(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=l+r-1),this.projectedModelLineLineCounts.setValue(n,r);return[a,l<=d?new v.bu(l,d-l+1):null,c<=h?new v.rZ(c,h):null,u<=g?new v.Uf(u,g):null]}acceptVersionId(e){this._validModelVersionId=e,1!==this.modelLineProjections.length||this.modelLineProjections[0].isVisible()||this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;const t=this.getViewLineCount();return e>t?t:0|e}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),r=this.model.guides.getActiveIndentGuide(n.lineNumber,o.lineNumber,s.lineNumber),a=this.convertModelPositionToViewPosition(r.startLineNumber,1),l=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,n=t.remainder;return new U(i+1,n)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new u.y(e.modelLineNumber,n)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new u.y(e.modelLineNumber,n)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),n=this.getViewLineInfo(t),o=new Array;let s=this.getModelStartPositionOfViewLine(i),r=new Array;for(let a=i.modelLineNumber;a<=n.modelLineNumber;a++){const e=this.modelLineProjections[a-1];if(e.isVisible()){const t=a===i.modelLineNumber?i.modelLineWrappedLineIdx:0,o=a===n.modelLineNumber?n.modelLineWrappedLineIdx+1:e.getViewLineCount();for(let e=t;e<o;e++)r.push(new U(a,e))}if(!e.isVisible()&&s){const e=new u.y(a-1,this.model.getLineMaxColumn(a-1)+1),t=g.Q.fromPositions(s,e);o.push(new z(t,r)),r=[],s=null}else e.isVisible()&&!s&&(s=new u.y(a,1))}if(s){const e=g.Q.fromPositions(s,this.getModelEndPositionOfViewLine(n));o.push(new z(e,r))}return o}getViewLinesBracketGuides(e,t,i,n){const o=i?this.convertViewPositionToModelPosition(i.lineNumber,i.column):null,s=[];for(const r of this.getViewLineInfosGroupedByModelRanges(e,t)){const e=r.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,r.modelRange.endLineNumber,o,n);for(const i of r.viewLines){const n=t[i.modelLineNumber-e].map(e=>{if(-1!==e.forWrappedLinesAfterColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=i.modelLineWrappedLineIdx)return}if(-1!==e.forWrappedLinesBeforeOrAtColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<i.modelLineWrappedLineIdx)return}if(!e.horizontalLine)return e;let t=-1;if(-1!==e.column){const n=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===i.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<i.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(i);else if(n.lineNumber>i.modelLineWrappedLineIdx)return}const n=this.convertModelPositionToViewPosition(i.modelLineNumber,e.horizontalLine.endColumn),o=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return o.lineNumber===i.modelLineWrappedLineIdx?new R.TH(e.visibleColumn,t,e.className,new R.pv(e.horizontalLine.top,n.column),-1,-1):o.lineNumber<i.modelLineWrappedLineIdx||-1!==e.visibleColumn?void 0:new R.TH(e.visibleColumn,t,e.className,new R.pv(e.horizontalLine.top,this.getMaxColumnOfViewLine(i)),-1,-1)});s.push(n.filter(e=>!!e))}}return s}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const s=[],r=[],a=i.lineNumber-1,l=n.lineNumber-1;let d=null;for(let p=a;p<=l;p++){const e=this.modelLineProjections[p];if(e.isVisible()){const t=e.getViewLineNumberOfModelPosition(0,p===a?i.column:1),n=e.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(p+1)),o=n-t+1;let l=0;o>1&&1===e.getViewLineMinColumn(this.model,p+1,n)&&(l=0===t?1:2),s.push(o),r.push(l),null===d&&(d=new u.y(p+1,0))}else null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,p)),d=null)}null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,n.lineNumber)),d=null);const c=t-e+1,h=new Array(c);let g=0;for(let u=0,p=o.length;u<p;u++){let e=o[u];const t=Math.min(c-g,s[u]),i=r[u];let n;n=2===i?0:1===i?1:t;for(let o=0;o<t;o++)o===n&&(e=0),h[g++]=e}return h}getViewLineContent(e){const t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){const t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){const t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){const t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){const t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const n=this.projectedModelLineLineCounts.getIndexOf(e-1);let o=e;const s=n.index,r=n.remainder,a=[];for(let l=s,d=this.model.getLineCount();l<d;l++){const n=this.modelLineProjections[l];if(!n.isVisible())continue;const d=l===s?r:0;let c=n.getViewLineCount()-d,h=!1;if(o+c>t&&(h=!0,c=t-o+1),n.getViewLinesData(this.model,l+1,d,c,o-e,i,a),o+=c,h)break}return a}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const n=this.projectedModelLineLineCounts.getIndexOf(e-1),o=n.index,s=n.remainder,r=this.modelLineProjections[o],a=r.getViewLineMinColumn(this.model,o+1,s),l=r.getViewLineMaxColumn(this.model,o+1,s);t<a&&(t=a),t>l&&(t=l);const d=r.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new u.y(o+1,d)).equals(i)?new u.y(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new g.Q(i.lineNumber,i.column,n.lineNumber,n.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),n=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new u.y(i.modelLineNumber,n))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new g.Q(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2){const n=this.model.validatePosition(new u.y(e,t)),o=n.lineNumber,s=n.column;let r=o-1,a=!1;for(;r>0&&!this.modelLineProjections[r].isVisible();)r--,a=!0;if(0===r&&!this.modelLineProjections[r].isVisible())return new u.y(1,1);const l=1+this.projectedModelLineLineCounts.getPrefixSum(r);let d;return d=a?this.modelLineProjections[r].getViewPositionOfModelPosition(l,this.model.getLineMaxColumn(r+1),i):this.modelLineProjections[o-1].getViewPositionOfModelPosition(l,s,i),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return g.Q.fromPositions(i)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),i=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new g.Q(t.lineNumber,t.column,i.lineNumber,i.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(e,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(0===i&&!this.modelLineProjections[i].isVisible())return 1;const n=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(n,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i){const n=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),o=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(o.lineNumber-n.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new g.Q(n.lineNumber,1,o.lineNumber,o.column),t,i);let s=[];const r=n.lineNumber-1,a=o.lineNumber-1;let l=null;for(let p=r;p<=a;p++){if(this.modelLineProjections[p].isVisible())null===l&&(l=new u.y(p+1,p===r?n.column:1));else if(null!==l){const e=this.model.getLineMaxColumn(p);s=s.concat(this.model.getDecorationsInRange(new g.Q(l.lineNumber,l.column,p,e),t,i)),l=null}}null!==l&&(s=s.concat(this.model.getDecorationsInRange(new g.Q(l.lineNumber,l.column,o.lineNumber,o.column),t,i)),l=null),s.sort((e,t)=>{const i=g.Q.compareRangesUsingStarts(e.range,t.range);return 0===i?e.id<t.id?-1:e.id>t.id?1:0:i});const d=[];let c=0,h=null;for(const u of s){const e=u.id;h!==e&&(h=e,d[c++]=u)}return d}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class U{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class z{constructor(e,t){this.modelRange=e,this.viewLines=t}}class ${constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class Q{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new G(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,n){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new v.Uf(t,i)}onModelLinesInserted(e,t,i,n){return new v.rZ(t,i)}onModelLineChanged(e,t,i){return[!1,new v.bu(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,n=new Array(i);for(let o=0;o<i;o++)n[o]=0;return n}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){const t=this.model.tokenization.getLineTokens(e),i=t.getLineContent();return new y.GP(i,!1,1,i.length+1,0,t.inflate(),null)}getViewLinesData(e,t,i){const n=this.model.getLineCount();e=Math.min(Math.max(1,e),n),t=Math.min(Math.max(1,t),n);const o=[];for(let s=e;s<=t;s++){const t=s-e;o[t]=i[t]?this.getViewLineData(s):null}return o}getDecorationsInRange(e,t,i){return this.model.getDecorationsInRange(e,t,i)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}}class G{constructor(e){this._lines=e}_validPosition(e){return this._lines.model.validatePosition(e)}_validRange(e){return this._lines.model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){const t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}class K extends r.jG{constructor(e,t,i,n,s,r,a,l){if(super(),this.languageConfigurationService=a,this._themeService=l,this._editorId=e,this._configuration=t,this.model=i,this._eventDispatcher=new k.ql,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new h.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._tokenizeViewportSoon=this._register(new o.uC(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new o.uC(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=q.create(this.model),this.model.isTooLargeForTokenization())this._lines=new Q(this.model);else{const e=this._configuration.options,t=e.get(45),i=e.get(126),o=e.get(133),r=e.get(125);this._lines=new j(this._editorId,this.model,n,s,t,this.model.getOptions().tabSize,i,o.wrappingColumn,r)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new c._(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new N(this._configuration,this.getLineCount(),r)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new v.lg(e)),this._eventDispatcher.emitOutgoingEvent(new k.s1(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new D.UB(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(M.v.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new v.U)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new v.tO(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){const e=this.viewLayout.getLinesViewportData(),t=new g.Q(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber)),i=this._toModelVisibleRanges(t);for(const n of i)this.model.tokenization.tokenizeViewport(n.startLineNumber,n.endLineNumber)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new v.E5(e)),this._eventDispatcher.emitOutgoingEvent(new k.TA(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new v.Kb)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new v.dQ)}_onConfigurationChanged(e,t){let i=null;if(this._viewportStart.isValid){const e=new u.y(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));i=this.coordinatesConverter.convertViewPositionToModelPosition(e)}let n=!1;const o=this._configuration.options,s=o.get(45),r=o.get(126),a=o.get(133),l=o.get(125);if(this._lines.setWrappingSettings(s,r,a.wrappingColumn,l)&&(e.emitViewEvent(new v.zv),e.emitViewEvent(new v.M7),e.emitViewEvent(new v.h9(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),0!==this.viewLayout.getCurrentScrollTop()&&(n=!0),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(82)&&(this._decorations.reset(),e.emitViewEvent(new v.h9(null))),e.emitViewEvent(new v.Ey(t)),this.viewLayout.onConfigurationChanged(t),n&&i){const e=this.coordinatesConverter.convertModelPositionToViewPosition(i),t=this.viewLayout.getVerticalOffsetForLineNumber(e.lineNumber);this.viewLayout.setScrollPosition({scrollTop:t+this._viewportStart.startLineDelta},1)}h.d$.shouldRecreate(t)&&(this.cursorConfig=new h.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let i=!1,o=!1;const s=e instanceof p.Ic?e.rawContentChangedEvent.changes:e.changes,r=e instanceof p.Ic?e.rawContentChangedEvent.versionId:null,a=this._lines.createLineBreaksComputer();for(const e of s)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){const i=e.detail[t];let n=e.injectedTexts[t];n&&(n=n.filter(e=>!e.ownerId||e.ownerId===this._editorId)),a.addRequest(i,n,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),a.addRequest(e.detail,t,null);break}}const l=a.finalize(),d=new n.j3(l);for(const e of s)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new v.zv),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),i=!0;break;case 3:{const n=this._lines.onModelLinesDeleted(r,e.fromLineNumber,e.toLineNumber);null!==n&&(t.emitViewEvent(n),this.viewLayout.onLinesDeleted(n.fromLineNumber,n.toLineNumber)),i=!0;break}case 4:{const n=d.takeCount(e.detail.length),o=this._lines.onModelLinesInserted(r,e.fromLineNumber,e.toLineNumber,n);null!==o&&(t.emitViewEvent(o),this.viewLayout.onLinesInserted(o.fromLineNumber,o.toLineNumber)),i=!0;break}case 2:{const i=d.dequeue(),[n,s,a,l]=this._lines.onModelLineChanged(r,e.lineNumber,i);o=n,s&&t.emitViewEvent(s),a&&(t.emitViewEvent(a),this.viewLayout.onLinesInserted(a.fromLineNumber,a.toLineNumber)),l&&(t.emitViewEvent(l),this.viewLayout.onLinesDeleted(l.fromLineNumber,l.toLineNumber));break}}null!==r&&this._lines.acceptVersionId(r),this.viewLayout.onHeightMaybeChanged(),!i&&o&&(t.emitViewEvent(new v.M7),t.emitViewEvent(new v.h9(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),i=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:i+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof p.Ic&&t.emitOutgoingEvent(new k.VN(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,n=e.ranges.length;i<n;i++){const n=e.ranges[i],o=this.coordinatesConverter.convertModelPositionToViewPosition(new u.y(n.fromLineNumber,1)).lineNumber,s=this.coordinatesConverter.convertModelPositionToViewPosition(new u.y(n.toLineNumber,this.model.getLineMaxColumn(n.toLineNumber))).lineNumber;t[i]={fromLineNumber:o,toLineNumber:s}}this._eventDispatcher.emitSingleViewEvent(new v.GL(t)),e.tokenizationSupportChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitOutgoingEvent(new k.Md(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new v.qK),this.cursorConfig=new h.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new k.Qo(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new h.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new k.qI(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new v.zv),e.emitViewEvent(new v.M7),e.emitViewEvent(new v.h9(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new h.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new k.eM(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new v.h9(e)),this._eventDispatcher.emitOutgoingEvent(new k.FU(e))}))}setHiddenAreas(e){let t=!1;try{const i=this._eventDispatcher.beginEmitViewEvents();t=this._lines.setHiddenAreas(e),t&&(i.emitViewEvent(new v.zv),i.emitViewEvent(new v.M7),i.emitViewEvent(new v.h9(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),t&&this._eventDispatcher.emitOutgoingEvent(new k.fu)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(132),t=this._configuration.options.get(60),i=Math.max(20,Math.round(e.height/t)),n=this.viewLayout.getLinesViewportData(),o=Math.max(1,n.completelyVisibleStartLineNumber-i),s=Math.min(this.getLineCount(),n.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new g.Q(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(0===i.length)return[t];const n=[];let o=0,s=t.startLineNumber,r=t.startColumn;const a=t.endLineNumber,l=t.endColumn;for(let d=0,c=i.length;d<c;d++){const e=i[d].startLineNumber,t=i[d].endLineNumber;t<s||(e>a||(s<e&&(n[o++]=new g.Q(s,r,e-1,this.model.getLineMaxColumn(e-1))),s=t+1,r=1))}return(s<a||s===a&&r<l)&&(n[o++]=new g.Q(s,r,a,l)),n}getCompletelyVisibleViewRange(){const e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,i=e.completelyVisibleEndLineNumber;return new g.Q(t,this.getLineMinColumn(t),i,this.getLineMaxColumn(i))}getCompletelyVisibleViewRangeAtScrollTop(e){const t=this.viewLayout.getLinesViewportDataAtScrollTop(e),i=t.completelyVisibleStartLineNumber,n=t.completelyVisibleEndLineNumber;return new g.Q(i,this.getLineMinColumn(i),n,this.getLineMaxColumn(n))}saveState(){const e=this.viewLayout.saveState(),t=e.scrollTop,i=this.viewLayout.getLineNumberAtVerticalOffset(t),n=this.coordinatesConverter.convertViewPositionToModelPosition(new u.y(i,this.getLineMinColumn(i))),o=this.viewLayout.getVerticalOffsetForLineNumber(i)-t;return{scrollLeft:e.scrollLeft,firstPosition:n,firstPositionDeltaTop:o}}reduceRestoreState(e){if("undefined"===typeof e.firstPosition)return this._reduceRestoreStateCompatibility(e);const t=this.model.validatePosition(e.firstPosition),i=this.coordinatesConverter.convertModelPositionToViewPosition(t),n=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:n}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,i){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,i){return this._lines.getActiveIndentGuide(e,t,i)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,i,n){return this._lines.getViewLinesBracketGuides(e,t,i,n)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){const t=l.HG(this.getLineContent(e));return-1===t?0:t+1}getLineLastNonWhitespaceColumn(e){const t=l.lT(this.getLineContent(e));return-1===t?0:t+2}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewLineRenderingData(e,t){const i=this.model.mightContainRTL(),n=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(t);let r=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return s.inlineDecorations&&(r=[...r,...s.inlineDecorations.map(e=>e.toInlineDecoration(t))]),new y.qL(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,n,s.tokens,r,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const n=this._lines.getViewLinesData(e,t,i);return new y.nt(this.getTabSize(),n)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,(0,d.$C)(this._configuration.options)),i=new Z;for(const n of t){const t=n.options,o=t.overviewRuler;if(!o)continue;const s=o.position;if(0===s)continue;const r=o.getColor(e.value),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.startLineNumber,n.range.startColumn),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.endLineNumber,n.range.endColumn);i.accept(r,t.zIndex,a,l,s)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;e&&e.invalidateCachedColor();const i=t.options.minimap;i&&i.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}deduceModelPositionRelativeToViewPosition(e,t,i){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=i:t+=i);const o=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(o)}getPlainTextToCopy(e,t,i){const n=i?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(g.Q.compareRangesUsingStarts);let o=!1,s=!1;for(const a of e)a.isEmpty()?o=!0:s=!0;if(!s){if(!t)return"";const i=e.map(e=>e.startLineNumber);let o="";for(let e=0;e<i.length;e++)e>0&&i[e-1]===i[e]||(o+=this.model.getLineContent(i[e])+n);return o}if(o&&t){const t=[];let n=0;for(const o of e){const e=o.startLineNumber;o.isEmpty()?e!==n&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(o,i?2:0)),n=e}return 1===t.length?t[0]:t}const r=[];for(const a of e)a.isEmpty()||r.push(this.model.getValueInRange(a,i?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===_.vH)return null;if(1!==e.length)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const e=n.startLineNumber;n=new g.Q(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const o=this._configuration.options.get(45),s=this._getColorMap();let r;if(/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===d.jU.fontFamily)r=d.jU.fontFamily;else{r=o.fontFamily,r=r.replace(/"/g,"'");if(!/[,']/.test(r)){/[+ ]/.test(r)&&(r=`'${r}'`)}r=`${r}, ${d.jU.fontFamily}`}return{mode:i,html:`<div style="color: ${s[1]};background-color: ${s[2]};font-family: ${r};font-weight: ${o.fontWeight};font-size: ${o.fontSize}px;line-height: ${o.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(n,s)+"</div>"}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,s=e.endColumn,r=this.getTabSize();let l="";for(let d=i;d<=o;d++){const e=this.model.tokenization.getLineTokens(d),c=e.getLineContent(),h=d===i?n-1:0,u=d===o?s-1:c.length;l+=""===c?"<br>":(0,f.s0)(c,e.inflate(),t,h,u,r,a.uF)}return l}_getColorMap(){const e=m.dG.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;i<n;i++)t[i]=s.Q1.Format.CSS.formatHex(e[i]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,i){return this._withViewEventsCollector(n=>this._cursor.setStates(n,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(n=>this._cursor.setSelections(n,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new k.cT):this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(n=>this._cursor.executeEdits(n,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,n,o){this._executeCursorEdit(s=>this._cursor.compositionType(s,e,t,i,n,o))}paste(e,t,i,n){this._executeCursorEdit(o=>this._cursor.paste(o,e,t,i,n))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealPrimary(n,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new g.Q(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new v.Hf(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new g.Q(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new v.Hf(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,n,o){this._withViewEventsCollector(s=>s.emitViewEvent(new v.Hf(e,!1,i,null,n,t,o)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new v.fu),this._eventDispatcher.emitOutgoingEvent(new k.fu))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class q{constructor(e,t,i,n,o){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=n,this._startLineDelta=o}static create(e){const t=e._setTrackedRange(null,new g.Q(1,1,1,1),1);return new q(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new u.y(t,e.getLineMinColumn(t))),n=e.model._setTrackedRange(this._modelTrackedRange,new g.Q(i.lineNumber,i.column,i.lineNumber,i.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),s=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=n,this._startLineDelta=s-o}invalidate(){this._isValid=!1}}class Z{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,n,o){const s=this._asMap[e];if(s){const e=s.data,t=e[e.length-3],r=e[e.length-1];if(t===o&&r+1>=i)return void(n>r&&(e[e.length-1]=n));e.push(o,i,n)}else{const s=new y.Uv(e,t,[o,i,n]);this._asMap[e]=s,this.asArray.push(s)}}}},19963:(e,t,i)=>{var n=i(85829),o=i(86506),s=i(45325),r=i(64796),a=i(85376),l=i(62788),d=i(35819),c=i(21181),h=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},u=function(e,t){return function(i,n){t(i,n,e)}},g=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const p=new c.N1("selectionAnchorSet",!1);let m=class e{constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=p.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}static get(t){return t.getContribution(e.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(a.L.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new o.Bc).appendText((0,d.kg)("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,n.xE)((0,d.kg)("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(a.L.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};m.ID="editor.contrib.selectionAnchorController",m=h([u(1,c.fN)],m);class _ extends r.ks{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,d.kg)("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:l.R.editorTextFocus,primary:(0,s.m5)(2089,2080),weight:100}})}run(e,t){var i;return g(this,void 0,void 0,function*(){null===(i=m.get(t))||void 0===i||i.setSelectionAnchor()})}}class f extends r.ks{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,d.kg)("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:p})}run(e,t){var i;return g(this,void 0,void 0,function*(){null===(i=m.get(t))||void 0===i||i.goToSelectionAnchor()})}}class v extends r.ks{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,d.kg)("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:p,kbOpts:{kbExpr:l.R.editorTextFocus,primary:(0,s.m5)(2089,2089),weight:100}})}run(e,t){var i;return g(this,void 0,void 0,function*(){null===(i=m.get(t))||void 0===i||i.selectFromAnchorToCursor()})}}class C extends r.ks{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,d.kg)("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:p,kbOpts:{kbExpr:l.R.editorTextFocus,primary:9,weight:100}})}run(e,t){var i;return g(this,void 0,void 0,function*(){null===(i=m.get(t))||void 0===i||i.cancelSelectionAnchor()})}}(0,r.HW)(m.ID,m),(0,r.Fl)(_),(0,r.Fl)(f),(0,r.Fl)(v),(0,r.Fl)(C)},20942:(e,t,i)=>{var n=i(64796),o=i(2125),s=i(35819);class r extends n.ks{constructor(){super({id:"editor.action.fontZoomIn",label:s.kg("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})}run(e,t){o.D.setZoomLevel(o.D.getZoomLevel()+1)}}class a extends n.ks{constructor(){super({id:"editor.action.fontZoomOut",label:s.kg("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})}run(e,t){o.D.setZoomLevel(o.D.getZoomLevel()-1)}}class l extends n.ks{constructor(){super({id:"editor.action.fontZoomReset",label:s.kg("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})}run(e,t){o.D.setZoomLevel(0)}}(0,n.Fl)(r),(0,n.Fl)(a),(0,n.Fl)(l)},23981:(e,t,i)=>{i.d(t,{iE:()=>o,rW:()=>s});class n{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|i}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class o{constructor(e,t,i,n){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=n,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1}setColorZone(e){this._colorZone=e}getColorZones(){return this._colorZone}}class s{constructor(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(e){this._zones=e,this._zones.sort(o.compare)}setLineHeight(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)}setPixelRatio(e){this._pixelRatio=e,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)}resolveColorZones(){const e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),i=Math.floor(this.getCanvasHeight()),o=i/Math.floor(this._outerHeight),s=Math.floor(4*this._pixelRatio/2),r=[];for(let a=0,l=this._zones.length;a<l;a++){const l=this._zones[a];if(!e){const e=l.getColorZones();if(e){r.push(e);continue}}const d=this._getVerticalOffsetForLine(l.startLineNumber),c=0===l.heightInLines?this._getVerticalOffsetForLine(l.endLineNumber)+t:d+l.heightInLines*t,h=Math.floor(o*d),u=Math.floor(o*c);let g=Math.floor((h+u)/2),p=u-g;p<s&&(p=s),g-p<0&&(g=p),g+p>i&&(g=i-p);const m=l.color;let _=this._color2Id[m];_||(_=++this._lastAssignedId,this._color2Id[m]=_,this._id2Color[_]=m);const f=new n(g-p,g+p,_);l.setColorZone(f),r.push(f)}return this._colorZonesInvalid=!1,r.sort(n.compare),r}}},24177:(e,t,i)=>{var n=i(48640),o=i(69549),s=i(75909),r=i(45325),a=i(55808),l=i(64796),d=i(88459),c=i(17924),h=i(62915),u=i(62788),g=i(87594),p=i(34876),m=i(34760),_=i(38500),f=i(35819),v=i(16281),C=i(21181),b=i(34029),w=i(53229),L=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},S=function(e,t){return function(i,n){t(i,n,e)}},y=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};let k=class{constructor(e,t,i){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._disposables=new a.Cm,this._sessionDisposables=new a.Cm,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(50)&&this._update()}))}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(50))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new c.y;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(e=>{const t=e.charCodeAt(e.length-1);i.has(t)&&this._trigger(String.fromCharCode(t))}))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),s=new o.Q,r=this._editor.onDidChangeModelContent(e=>{if(e.isFlush)return s.cancel(),void r.dispose();for(let t=0,n=e.changes.length;t<n;t++){if(e.changes[t].range.endLineNumber<=i.lineNumber)return s.cancel(),void r.dispose()}});(0,m._V)(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),s.token).then(e=>{s.token.isCancellationRequested||(0,n.EI)(e)&&(_.c.execute(this._editor,e,!0),(0,m.pD)(e))}).finally(()=>{r.dispose()})}};k.ID="editor.contrib.autoFormat",k=L([S(1,p.u),S(2,g.w)],k);let I=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new a.Cm,this._callOnModel=new a.Cm,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(49)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(m.jX,this.editor,e,2,w.ke.None,o.X.None).catch(s.dz))}};I.ID="editor.contrib.formatOnPaste",I=L([S(1,p.u),S(2,b._Y)],I);class x extends l.ks{constructor(){super({id:"editor.action.formatDocument",label:f.kg("formatDocument.label","Format Document"),alias:"Format Document",precondition:C.M$.and(u.R.notInCompositeEditor,u.R.writable,u.R.hasDocumentFormattingProvider),kbOpts:{kbExpr:u.R.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(e,t){return y(this,void 0,void 0,function*(){if(t.hasModel()){const i=e.get(b._Y),n=e.get(w.N8);yield n.showWhile(i.invokeFunction(m.vg,t,1,w.ke.None,o.X.None),250)}})}}class N extends l.ks{constructor(){super({id:"editor.action.formatSelection",label:f.kg("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:C.M$.and(u.R.writable,u.R.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:u.R.editorTextFocus,primary:(0,r.m5)(2089,2084),weight:100},contextMenuOpts:{when:u.R.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(e,t){return y(this,void 0,void 0,function*(){if(!t.hasModel())return;const i=e.get(b._Y),n=t.getModel(),s=t.getSelections().map(e=>e.isEmpty()?new h.Q(e.startLineNumber,1,e.startLineNumber,n.getLineMaxColumn(e.startLineNumber)):e),r=e.get(w.N8);yield r.showWhile(i.invokeFunction(m.jX,t,s,1,w.ke.None,o.X.None),250)})}}(0,l.HW)(k.ID,k),(0,l.HW)(I.ID,I),(0,l.Fl)(x),(0,l.Fl)(N),v.wb.registerCommand("editor.action.format",e=>y(void 0,void 0,void 0,function*(){const t=e.get(d.T).getFocusedCodeEditor();if(!t||!t.hasModel())return;const i=e.get(v.wT);t.getSelection().isEmpty()?yield i.executeCommand("editor.action.formatDocument"):yield i.executeCommand("editor.action.formatSelection")}))},24480:(e,t,i)=>{i.d(t,{h:()=>s});var n=i(82500),o=i(10884);function s(e,t,i,s){const r=(0,o.P6)(t,i.startLineNumber,i.startColumn),a=s.getLanguageConfiguration(r.languageId);if(!a)return null;const l=r.getLineContent(),d=l.substr(0,i.startColumn-1-r.firstCharOffset);let c;if(i.isEmpty())c=l.substr(i.startColumn-1-r.firstCharOffset);else{c=(0,o.P6)(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-r.firstCharOffset)}let h="";if(i.startLineNumber>1&&0===r.firstCharOffset){const e=(0,o.P6)(t,i.startLineNumber-1);e.languageId===r.languageId&&(h=e.getLineContent())}const u=a.onEnter(e,h,d,c);if(!u)return null;const g=u.indentAction;let p=u.appendText;const m=u.removeText||0;p?g===n.l.Indent&&(p="\t"+p):p=g===n.l.Indent||g===n.l.IndentOutdent?"\t":"";let _=(0,o.Cw)(t,i.startLineNumber,i.startColumn);return m&&(_=_.substring(0,_.length-m)),{indentAction:g,appendText:p,removeText:m,indentation:_}}},25069:(e,t,i)=>{i.d(t,{B2:()=>s,hx:()=>n,mm:()=>o});class n{constructor(e,t){this.priority=e,this.range=t,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class o{constructor(e,t,i){this.priority=e,this.owner=t,this.range=i,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}const s=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}}},26364:(e,t,i)=>{i.d(t,{wZ:()=>d,MT:()=>a,zL:()=>l,UW:()=>u,Md:()=>p});var n=i(24638),o=i(59806),s=i(48559);class r{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class a{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class l{constructor(e,t,i,n,o,r,a,l,d,c,h,u,g,p,m,_,f,v,C){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=o,this.containsRTL=r,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=d.sort(s.d.compare),this.tabSize=c,this.startVisibleColumn=h,this.spaceWidth=u,this.stopRenderingLineAfter=m,this.renderWhitespace="all"===_?4:"boundary"===_?1:"selection"===_?2:"trailing"===_?3:0,this.renderControlCharacters=f,this.fontLigatures=v,this.selectionsOnLine=C&&C.sort((e,t)=>e.startOffset<t.startOffset?-1:1);Math.abs(p-u)<Math.abs(g-u)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=g,this.renderSpaceCharCode=183)}sameSelection(e){if(null===this.selectionsOnLine)return null===e;if(null===e)return!1;if(e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&s.d.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)}}class d{constructor(e,t){this.partIndex=e,this.charIndex=t}}class c{constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}static getPartIndex(e){return(4294901760&e)>>>16}static getCharIndex(e){return(65535&e)>>>0}setColumnInfo(e,t,i,n){const o=(t<<16|i)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=c.getPartIndex(t),n=c.getCharIndex(t);return new d(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(0===this.length)return 0;const n=(e<<16|i)>>>0;let o=0,s=this.length-1;for(;o+1<s;){const e=o+s>>>1,t=this._data[e];if(t===n)return e;t>n?s=e:o=e}if(o===s)return o;const r=this._data[o],a=this._data[s];if(r===n)return o;if(a===n)return s;const l=c.getPartIndex(r),d=c.getCharIndex(r);let h;h=l!==c.getPartIndex(a)?t:c.getCharIndex(a);return i-d<=h-i?o:s}}class h{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function u(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendASCIIString("<span>");let i=0,n=0,o=0;for(const r of e.lineDecorations)1!==r.type&&2!==r.type||(t.appendASCIIString('<span class="'),t.appendASCIIString(r.className),t.appendASCIIString('"></span>'),1===r.type&&(o|=1,i++),2===r.type&&(o|=2,n++));t.appendASCIIString("</span>");const s=new c(1,i+n);return s.setColumnInfo(1,i,0,0),new h(s,!1,o)}return t.appendASCIIString("<span><span></span></span>"),new h(new c(0,0),!1,0)}return function(e,t){const i=e.fontIsMonospace,o=e.canUseHalfwidthRightwardsArrow,s=e.containsForeignElements,r=e.lineContent,a=e.len,l=e.isOverflowing,d=e.parts,u=e.fauxIndentLength,g=e.tabSize,p=e.startVisibleColumn,m=e.containsRTL,v=e.spaceWidth,C=e.renderSpaceCharCode,b=e.renderWhitespace,w=e.renderControlCharacters,L=new c(a+1,d.length);let S=!1,y=0,k=p,I=0,x=0,N=0;m?t.appendASCIIString('<span dir="ltr">'):t.appendASCIIString("<span>");for(let c=0,h=d.length;c<h;c++){const e=d[c],l=e.endIndex,h=e.type,p=e.containsRTL,m=0!==b&&e.isWhitespace(),M=m&&!i&&("mtkw"===h||!s),D=y===l&&e.isPseudoAfter();if(I=0,t.appendASCIIString("<span "),p&&t.appendASCIIString('style="unicode-bidi:isolate" '),t.appendASCIIString('class="'),t.appendASCIIString(M?"mtkz":h),t.appendASCII(34),m){let e=0;{let t=y,i=k;for(;t<l;t++){const n=0|(9===r.charCodeAt(t)?g-i%g:1);e+=n,t>=u&&(i+=n)}}for(M&&(t.appendASCIIString(' style="width:'),t.appendASCIIString(String(v*e)),t.appendASCIIString('px"')),t.appendASCII(62);y<l;y++){L.setColumnInfo(y+1,c-N,I,x),N=0;let e,i;if(9===r.charCodeAt(y)){e=g-k%g|0,i=e,!o||i>1?t.write1(8594):t.write1(65515);for(let e=2;e<=i;e++)t.write1(160)}else e=2,i=1,t.write1(C),t.write1(8204);I+=e,x+=i,y>=u&&(k+=i)}}else for(t.appendASCII(62);y<l;y++){L.setColumnInfo(y+1,c-N,I,x),N=0;const e=r.charCodeAt(y);let i=1,o=1;switch(e){case 9:i=g-k%g,o=i;for(let e=1;e<=i;e++)t.write1(160);break;case 32:t.write1(160);break;case 60:t.appendASCIIString("&lt;");break;case 62:t.appendASCIIString("&gt;");break;case 38:t.appendASCIIString("&amp;");break;case 0:w?t.write1(9216):t.appendASCIIString("&#00;");break;case 65279:case 8232:case 8233:case 133:t.write1(65533);break;default:n.ne(e)&&o++,w&&e<32?t.write1(9216+e):w&&127===e?t.write1(9249):w&&_(e)?(t.appendASCIIString("[U+"),t.appendASCIIString(f(e)),t.appendASCIIString("]"),i=8,o=i):t.write1(e)}I+=i,x+=o,y>=u&&(k+=o)}D?N++:N=0,y>=a&&!S&&e.isPseudoAfter()&&(S=!0,L.setColumnInfo(y+1,c,I,x)),t.appendASCIIString("</span>")}S||L.setColumnInfo(a+1,d.length-1,I,x);l&&t.appendASCIIString("<span>&hellip;</span>");return t.appendASCIIString("</span>"),new h(L,m,s)}(function(e){const t=e.lineContent;let i,o;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter<t.length?(i=!0,o=e.stopRenderingLineAfter):(i=!1,o=t.length);let a=function(e,t,i,o,s){const a=[];let l=0;o>0&&(a[l++]=new r(o,"",0,!1));let d=o;for(let c=0,h=i.getCount();c<h;c++){const h=i.getEndOffset(c);if(h<=o)continue;const u=i.getClassName(c);if(h>=s){const i=!!t&&n.E_(e.substring(d,s));a[l++]=new r(s,u,0,i);break}const g=!!t&&n.E_(e.substring(d,h));a[l++]=new r(h,u,0,g),d=h}return a}(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,o);e.renderControlCharacters&&!e.isBasicASCII&&(a=function(e,t){const i=[];let n=new r(0,"",0,!1),o=0;for(const s of t){const t=s.endIndex;for(;o<t;o++){_(e.charCodeAt(o))&&(o>n.endIndex&&(n=new r(o,s.type,s.metadata,s.containsRTL),i.push(n)),n=new r(o+1,"mtkcontrol",s.metadata,!1),i.push(n))}o>n.endIndex&&(n=new r(t,s.type,s.metadata,s.containsRTL),i.push(n))}return i}(t,a));(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace)&&(a=function(e,t,i,o){const s=e.continuesWithWrappedLine,a=e.fauxIndentLength,l=e.tabSize,d=e.startVisibleColumn,c=e.useMonospaceOptimizations,h=e.selectionsOnLine,u=1===e.renderWhitespace,g=3===e.renderWhitespace,p=e.renderSpaceWidth!==e.spaceWidth,m=[];let _=0,f=0,v=o[f].type,C=o[f].containsRTL,b=o[f].endIndex;const w=o.length;let L,S=!1,y=n.HG(t);-1===y?(S=!0,y=i,L=i):L=n.lT(t);let k=!1,I=0,x=h&&h[I],N=d%l;for(let D=a;D<i;D++){const e=t.charCodeAt(D);let s;if(x&&D>=x.endOffset&&(I++,x=h&&h[I]),D<y||D>L)s=!0;else if(9===e)s=!0;else if(32===e)if(u)if(k)s=!0;else{const e=D+1<i?t.charCodeAt(D+1):0;s=32===e||9===e}else s=!0;else s=!1;if(s&&h&&(s=!!x&&x.startOffset<=D&&x.endOffset>D),s&&g&&(s=S||D>L),s&&C&&D>=y&&D<=L&&(s=!1),k){if(!s||!c&&N>=l){if(p){for(let e=(_>0?m[_-1].endIndex:a)+1;e<=D;e++)m[_++]=new r(e,"mtkw",1,!1)}else m[_++]=new r(D,"mtkw",1,!1);N%=l}}else(D===b||s&&D>a)&&(m[_++]=new r(D,v,0,C),N%=l);for(9===e?N=l:n.ne(e)?N+=2:N++,k=s;D===b&&(f++,f<w);)v=o[f].type,C=o[f].containsRTL,b=o[f].endIndex}let M=!1;if(k)if(s&&u){const e=i>0?t.charCodeAt(i-1):0,n=i>1?t.charCodeAt(i-2):0;32===e&&32!==n&&9!==n||(M=!0)}else M=!0;if(M)if(p){for(let e=(_>0?m[_-1].endIndex:a)+1;e<=i;e++)m[_++]=new r(e,"mtkw",1,!1)}else m[_++]=new r(i,"mtkw",1,!1);else m[_++]=new r(i,v,0,C);return m}(e,t,o,a));let l=0;if(e.lineDecorations.length>0){for(let t=0,i=e.lineDecorations.length;t<i;t++){const i=e.lineDecorations[t];3===i.type||1===i.type?l|=1:2===i.type&&(l|=2)}a=function(e,t,i,n){n.sort(s.d.compare);const o=s.Bs.normalize(e,n),a=o.length;let l=0;const d=[];let c=0,h=0;for(let s=0,g=i.length;s<g;s++){const e=i[s],t=e.endIndex,n=e.type,u=e.metadata,g=e.containsRTL;for(;l<a&&o[l].startOffset<t;){const e=o[l];if(e.startOffset>h&&(h=e.startOffset,d[c++]=new r(h,n,u,g)),!(e.endOffset+1<=t)){h=t,d[c++]=new r(h,n+" "+e.className,u|e.metadata,g);break}h=e.endOffset+1,d[c++]=new r(h,n+" "+e.className,u|e.metadata,g),l++}t>h&&(h=t,d[c++]=new r(h,n,u,g))}const u=i[i.length-1].endIndex;if(l<a&&o[l].startOffset===u)for(;l<a&&o[l].startOffset===u;){const e=o[l];d[c++]=new r(h,e.className,e.metadata,!1),l++}return d}(t,0,a,e.lineDecorations)}e.containsRTL||(a=function(e,t,i){let n=0;const o=[];let s=0;if(i)for(let a=0,l=t.length;a<l;a++){const i=t[a],l=i.endIndex;if(n+50<l){const t=i.type,a=i.metadata,d=i.containsRTL;let c=-1,h=n;for(let i=n;i<l;i++)32===e.charCodeAt(i)&&(c=i),-1!==c&&i-h>=50&&(o[s++]=new r(c+1,t,a,d),h=c+1,c=-1);h!==l&&(o[s++]=new r(l,t,a,d))}else o[s++]=i;n=l}else for(let a=0,l=t.length;a<l;a++){const e=t[a],i=e.endIndex,l=i-n;if(l>50){const t=e.type,a=e.metadata,d=e.containsRTL,c=Math.ceil(l/50);for(let e=1;e<c;e++){const i=n+50*e;o[s++]=new r(i,t,a,d)}o[s++]=new r(i,t,a,d)}else o[s++]=e;n=i}return o}(t,a,!e.isBasicASCII||e.fontLigatures));return new m(e.useMonospaceOptimizations,e.canUseHalfwidthRightwardsArrow,t,o,i,a,l,e.fauxIndentLength,e.tabSize,e.startVisibleColumn,e.containsRTL,e.spaceWidth,e.renderSpaceCharCode,e.renderWhitespace,e.renderControlCharacters)}(e),t)}class g{constructor(e,t,i,n){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=n}}function p(e){const t=(0,o.Du)(1e4),i=u(e,t);return new g(i.characterMapping,t.build(),i.containsRTL,i.containsForeignElements)}class m{constructor(e,t,i,n,o,s,r,a,l,d,c,h,u,g,p){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=n,this.isOverflowing=o,this.parts=s,this.containsForeignElements=r,this.fauxIndentLength=a,this.tabSize=l,this.startVisibleColumn=d,this.containsRTL=c,this.spaceWidth=h,this.renderSpaceCharCode=u,this.renderWhitespace=g,this.renderControlCharacters=p}}function _(e){return e<32?9!==e:127===e||(e>=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e)}function f(e){return e.toString(16).toUpperCase().padStart(4,"0")}},27701:(e,t,i)=>{i.d(t,{mR:()=>ne,bn:()=>ie,QS:()=>te});var n=i(58159),o=i(85829),s=i(20512),r=i(45325),a=i(55977),l=i(59713),d=i(65698),c=i(28791),h=i(38952),u=i(64796),g=i(88459),p=i(3832),m=i(55547),_=i(62915),f=i(62788),v=i(43178),C=i(79467),b=i(98868),w=i(42464),L=i(55808),S=i(1273),y=i(35819),k=i(21181),I=i(62848),x=i(34029),N=i(47925),M=i(11563),D=i(74349),R=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},P=function(e,t){return function(i,n){t(i,n,e)}};const O=new k.N1("hasSymbols",!1,(0,y.kg)("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),E=(0,x.u1)("ISymbolNavigationService");let A=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=O.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),null===(e=this._currentState)||void 0===e||e.dispose(),null===(t=this._currentMessage)||void 0===t||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new T(this._editorService),n=i.onDidChange(e=>{if(this._ignoreEditorChange)return;const i=this._editorService.getActiveCodeEditor();if(!i)return;const n=i.getModel(),o=i.getPosition();if(!n||!o)return;let s=!1,r=!1;for(const a of t.references)if((0,S.n4)(a.uri,n.uri))s=!0,r=r||_.Q.containsPosition(a.range,o);else if(s)break;s&&r||this.reset()});this._currentState=(0,L.qE)(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:_.Q.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;null===(e=this._currentMessage)||void 0===e||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?(0,y.kg)("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):(0,y.kg)("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};A=R([P(0,k.fN),P(1,g.T),P(2,D.Ot),P(3,N.b)],A),(0,I.v)(E,A,!0),(0,u.E_)(new class extends u.DX{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:O,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(E).revealNext(t)}}),M.f.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:O,primary:9,handler(e){e.get(E).reset()}});let T=class{constructor(e){this._listener=new Map,this._disposables=new L.Cm,this._onDidChange=new w.vl,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,L.AS)(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,(0,L.qE)(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;null===(t=this._listener.get(e))||void 0===t||t.dispose(),this._listener.delete(e)}};T=R([P(0,g.T)],T);var F,V,W,B,H,j,U,z,$=i(21294),Q=i(92415),G=i(93593),K=i(16281),q=i(53229),Z=i(97520),X=i(34876),Y=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};G.ZG.appendMenuItem(G.D8.EditorContext,{submenu:G.D8.EditorContextPeek,title:y.kg("peek.submenu","Peek"),group:"navigation",order:100});const J=new Set;function ee(e){const t=new e;return(0,u.xX)(t),J.add(t.id),t}class te{constructor(e,t){this.model=e,this.position=t}static is(e){return!(!e||"object"!==typeof e)&&(e instanceof te||!(!m.y.isIPosition(e.position)||!e.model))}}class ie extends u.ks{constructor(e,t){super(t),this.configuration=e}run(e,t,i){if(!t.hasModel())return Promise.resolve(void 0);const n=e.get(D.Ot),r=e.get(g.T),a=e.get(q.N8),l=e.get(E),d=e.get(X.u),h=t.getModel(),u=t.getPosition(),p=te.is(i)?i:new te(h,u),m=new c.gI(t,5),_=(0,s.PK)(this._getLocationModel(d,p.model,p.position,m.token),m.token).then(e=>Y(this,void 0,void 0,function*(){var i;if(!e||m.token.isCancellationRequested)return;let n;if((0,o.xE)(e.ariaMessage),e.referenceAt(h.uri,u)){const e=this._getAlternativeCommand(t);!ie._activeAlternativeCommands.has(e)&&J.has(e)&&(n=t.getAction(e))}const s=e.references.length;if(0===s){if(!this.configuration.muteMessage){const e=h.getWordAtPosition(u);null===(i=$.k.get(t))||void 0===i||i.showMessage(this._getNoResultFoundMessage(e),u)}}else{if(1!==s||!n)return this._onResult(r,l,t,e);ie._activeAlternativeCommands.add(this.id),n.run().finally(()=>{ie._activeAlternativeCommands.delete(this.id)})}}),e=>{n.error(e)}).finally(()=>{m.dispose()});return a.showWhile(_,250),_}_onResult(e,t,i,n){return Y(this,void 0,void 0,function*(){const o=this._getGoToPreference(i);if(i instanceof p.t||!(this.configuration.openInPeek||"peek"===o&&n.references.length>1)){const s=n.firstReference(),r=n.references.length>1&&"gotoAndPeek"===o,a=yield this._openReference(i,e,s,this.configuration.openToSide,!r);r&&a?this._openInPeek(a,n):n.dispose(),"goto"===o&&t.put(s)}else this._openInPeek(i,n)})}_openReference(e,t,i,n,o){return Y(this,void 0,void 0,function*(){let s;if((0,v.Iu)(i)&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;const r=yield t.openCodeEditor({resource:i.uri,options:{selection:_.Q.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(r){if(o){const e=r.getModel(),t=r.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{r.getModel()===e&&t.clear()},350)}return r}})}_openInPeek(e,t){const i=C.X.get(e);i&&e.hasModel()?i.toggleWidget(e.getSelection(),(0,s.SS)(e=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}ie._activeAlternativeCommands=new Set;class ne extends ie{_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(yield(0,Z.hE)(e.definitionProvider,t,i,n),y.kg("def.title","Definitions"))})}_getNoResultFoundMessage(e){return e&&e.word?y.kg("noResultWord","No definition found for '{0}'",e.word):y.kg("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(52).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(52).multipleDefinitions}}const oe=a.HZ&&!(0,n.isStandalone)()?2118:70;ee(((F=class e extends ne{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,label:y.kg("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:k.M$.and(f.R.hasDefinitionProvider,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:oe,weight:100},contextMenuOpts:{group:"navigation",order:1.1}}),K.wb.registerCommandAlias("editor.action.goToDeclaration",e.id)}}).id="editor.action.revealDefinition",F)),ee(((V=class e extends ne{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,label:y.kg("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:k.M$.and(f.R.hasDefinitionProvider,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:(0,r.m5)(2089,oe),weight:100}}),K.wb.registerCommandAlias("editor.action.openDeclarationToTheSide",e.id)}}).id="editor.action.revealDefinitionAside",V)),ee(((W=class e extends ne{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,label:y.kg("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:k.M$.and(f.R.hasDefinitionProvider,Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:582,linux:{primary:3140},weight:100},contextMenuOpts:{menuId:G.D8.EditorContextPeek,group:"peek",order:2}}),K.wb.registerCommandAlias("editor.action.previewDeclaration",e.id)}}).id="editor.action.peekDefinition",W));class se extends ie{_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(yield(0,Z.sv)(e.declarationProvider,t,i,n),y.kg("decl.title","Declarations"))})}_getNoResultFoundMessage(e){return e&&e.word?y.kg("decl.noResultWord","No declaration found for '{0}'",e.word):y.kg("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(52).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(52).multipleDeclarations}}ee(((B=class e extends se{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,label:y.kg("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:k.M$.and(f.R.hasDeclarationProvider,f.R.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{group:"navigation",order:1.3}})}_getNoResultFoundMessage(e){return e&&e.word?y.kg("decl.noResultWord","No declaration found for '{0}'",e.word):y.kg("decl.generic.noResults","No declaration found")}}).id="editor.action.revealDeclaration",B)),ee(class extends se{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:y.kg("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:k.M$.and(f.R.hasDeclarationProvider,Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:G.D8.EditorContextPeek,group:"peek",order:3}})}});class re extends ie{_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(yield(0,Z.f9)(e.typeDefinitionProvider,t,i,n),y.kg("typedef.title","Type Definitions"))})}_getNoResultFoundMessage(e){return e&&e.word?y.kg("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):y.kg("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(52).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(52).multipleTypeDefinitions}}ee(((H=class e extends re{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,label:y.kg("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:k.M$.and(f.R.hasTypeDefinitionProvider,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4}})}}).ID="editor.action.goToTypeDefinition",H)),ee(((j=class e extends re{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,label:y.kg("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:k.M$.and(f.R.hasTypeDefinitionProvider,Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:G.D8.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",j));class ae extends ie{_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(yield(0,Z.eS)(e.implementationProvider,t,i,n),y.kg("impl.title","Implementations"))})}_getNoResultFoundMessage(e){return e&&e.word?y.kg("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):y.kg("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(52).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(52).multipleImplementations}}ee(((U=class e extends ae{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,label:y.kg("actions.goToImplementation.label","Go to Implementations"),alias:"Go to Implementations",precondition:k.M$.and(f.R.hasImplementationProvider,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:2118,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}}).ID="editor.action.goToImplementation",U)),ee(((z=class e extends ae{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,label:y.kg("actions.peekImplementation.label","Peek Implementations"),alias:"Peek Implementations",precondition:k.M$.and(f.R.hasImplementationProvider,Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:3142,weight:100},contextMenuOpts:{menuId:G.D8.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",z));class le extends ie{_getNoResultFoundMessage(e){return e?y.kg("references.no","No references found for '{0}'",e.word):y.kg("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(52).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(52).multipleReferences}}ee(class extends le{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:y.kg("goToReferences.label","Go to References"),alias:"Go to References",precondition:k.M$.and(f.R.hasReferenceProvider,Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:f.R.editorTextFocus,primary:1094,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(yield(0,Z.NN)(e.referenceProvider,t,i,!0,n),y.kg("ref.title","References"))})}}),ee(class extends le{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:y.kg("references.action.label","Peek References"),alias:"Peek References",precondition:k.M$.and(f.R.hasReferenceProvider,Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:G.D8.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(yield(0,Z.NN)(e.referenceProvider,t,i,!1,n),y.kg("ref.title","References"))})}});class de extends ie{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",label:y.kg("label.generic","Go to Any Symbol"),alias:"Go to Any Symbol",precondition:k.M$.and(Q.x2.notInPeekEditor,f.R.isInWalkThroughSnippet.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}_getLocationModel(e,t,i,n){return Y(this,void 0,void 0,function*(){return new b.y4(this._references,y.kg("generic.title","Locations"))})}_getNoResultFoundMessage(e){return e&&y.kg("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return null!==(t=this._gotoMultipleBehaviour)&&void 0!==t?t:e.getOption(52).multipleReferences}_getAlternativeCommand(){return""}}K.wb.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:d.r},{name:"position",description:"The position at which to start",constraint:m.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(e,t,i,n,o,s,r)=>Y(void 0,void 0,void 0,function*(){(0,l.j)(d.r.isUri(t)),(0,l.j)(m.y.isIPosition(i)),(0,l.j)(Array.isArray(n)),(0,l.j)("undefined"===typeof o||"string"===typeof o),(0,l.j)("undefined"===typeof r||"boolean"===typeof r);const a=e.get(g.T),c=yield a.openCodeEditor({resource:t},a.getFocusedCodeEditor());if((0,h.z9)(c))return c.setPosition(i),c.revealPositionInCenterIfOutsideViewport(i,0),c.invokeWithinContext(e=>{const t=new class extends de{_getNoResultFoundMessage(e){return s||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(s),openInPeek:Boolean(r),openToSide:!1},n,o);e.get(x._Y).invokeFunction(t.run.bind(t),c)})})}),K.wb.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:d.r},{name:"position",description:"The position at which to start",constraint:m.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(e,t,i,n,o)=>Y(void 0,void 0,void 0,function*(){e.get(K.wT).executeCommand("editor.action.goToLocations",t,i,n,o,void 0,!0)})}),K.wb.registerCommand({id:"editor.action.findReferences",handler:(e,t,i)=>{(0,l.j)(d.r.isUri(t)),(0,l.j)(m.y.isIPosition(i));const n=e.get(X.u),o=e.get(g.T);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then(e=>{if(!(0,h.z9)(e)||!e.hasModel())return;const t=C.X.get(e);if(!t)return;const o=(0,s.SS)(t=>(0,Z.NN)(n.referenceProvider,e.getModel(),m.y.lift(i),!1,t).then(e=>new b.y4(e,y.kg("ref.title","References")))),r=new _.Q(i.lineNumber,i.column,i.lineNumber,i.column);return Promise.resolve(t.toggleWidget(r,o,!1))})}}),K.wb.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations"),G.ZG.appendMenuItems([{id:G.D8.MenubarGoMenu,item:{command:{id:"editor.action.revealDefinition",title:y.kg({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},group:"4_symbol_nav",order:2}},{id:G.D8.MenubarGoMenu,item:{command:{id:"editor.action.revealDeclaration",title:y.kg({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},group:"4_symbol_nav",order:3}},{id:G.D8.MenubarGoMenu,item:{command:{id:"editor.action.goToTypeDefinition",title:y.kg({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},group:"4_symbol_nav",order:3}},{id:G.D8.MenubarGoMenu,item:{command:{id:"editor.action.goToImplementation",title:y.kg({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},group:"4_symbol_nav",order:4}},{id:G.D8.MenubarGoMenu,item:{command:{id:"editor.action.goToReferences",title:y.kg({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},group:"4_symbol_nav",order:5}}])},28791:(e,t,i)=>{i.d(t,{$t:()=>_,gI:()=>f,ER:()=>v});var n=i(24638),o=i(62915),s=i(69549),r=i(55808),a=i(64796),l=i(21181),d=i(47643),c=i(34029),h=i(62848),u=i(35819);const g=(0,c.u1)("IEditorCancelService"),p=new l.N1("cancellableOperation",!1,(0,u.kg)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,h.v)(g,class{constructor(){this._tokens=new WeakMap}add(e,t){let i,n=this._tokens.get(e);return n||(n=e.invokeWithinContext(e=>({key:p.bindTo(e.get(l.fN)),tokens:new d.w})),this._tokens.set(e,n)),n.key.set(!0),i=n.tokens.push(t),()=>{i&&(i(),n.key.set(!n.tokens.isEmpty()),i=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},!0);class m extends s.Q{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(t=>t.get(g).add(e,this))}dispose(){this._unregister(),super.dispose()}}(0,a.E_)(new class extends a.DX{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:p})}runEditorCommand(e,t){e.get(g).cancel(t)}});class _{constructor(e,t){if(this.flags=t,0!==(1&this.flags)){const t=e.getModel();this.modelVersionId=t?n.GP("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;0!==(4&this.flags)?this.position=e.getPosition():this.position=null,0!==(2&this.flags)?this.selection=e.getSelection():this.selection=null,0!==(8&this.flags)?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof _))return!1;const t=e;return this.modelVersionId===t.modelVersionId&&(this.scrollLeft===t.scrollLeft&&this.scrollTop===t.scrollTop&&(!(!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position))&&!(!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))))}validate(e){return this._equals(new _(e,this.flags))}}class f extends m{constructor(e,t,i,n){super(e,n),this._listener=new r.Cm,4&t&&this._listener.add(e.onDidChangeCursorPosition(e=>{i&&o.Q.containsPosition(i,e.position)||this.cancel()})),2&t&&this._listener.add(e.onDidChangeCursorSelection(e=>{i&&o.Q.containsRange(i,e.selection)||this.cancel()})),8&t&&this._listener.add(e.onDidScrollChange(e=>this.cancel())),1&t&&(this._listener.add(e.onDidChangeModel(e=>this.cancel())),this._listener.add(e.onDidChangeModelContent(e=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class v extends s.Q{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}},29645:(e,t,i)=>{i.d(t,{gi:()=>h});var n=i(42464),o=i(55808),s=i(55977);function r(e,t){return!!e[t]}class a{constructor(e,t){this.target=e.target,this.hasTriggerModifier=r(e.event,t.triggerModifier),this.hasSideBySideModifier=r(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class l{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=r(e,t.triggerModifier)}}class d{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function c(e){return"altKey"===e?s.zx?new d(57,"metaKey",6,"altKey"):new d(5,"ctrlKey",6,"altKey"):s.zx?new d(6,"altKey",57,"metaKey"):new d(6,"altKey",5,"ctrlKey")}class h extends o.jG{constructor(e){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new n.vl),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new n.vl),this.onExecute=this._onExecute.event,this._onCancel=this._register(new n.vl),this.onCancel=this._onCancel.event,this._editor=e,this._opts=c(this._editor.getOption(71)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(e=>{if(e.hasChanged(71)){const e=c(this._editor.getOption(71));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(e=>this._onEditorMouseMove(new a(e,this._opts)))),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(new a(e,this._opts)))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(new a(e,this._opts)))),this._register(this._editor.onKeyDown(e=>this._onEditorKeyDown(new l(e,this._opts)))),this._register(this._editor.onKeyUp(e=>this._onEditorKeyUp(new l(e,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(e=>this._onDidChangeCursorSelection(e))),this._register(this._editor.onDidChangeModel(e=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=e.target.position?e.target.position.lineNumber:0}_onEditorMouseUp(e){const t=e.target.position?e.target.position.lineNumber:0;this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}},30462:(e,t,i)=>{i.d(t,{E5:()=>d,Ey:()=>s,GL:()=>v,Hf:()=>m,Kb:()=>n,M7:()=>h,U:()=>C,Uf:()=>g,bu:()=>u,dQ:()=>o,fu:()=>b,h9:()=>a,lg:()=>_,qK:()=>c,rZ:()=>p,rg:()=>r,tO:()=>f,zv:()=>l});class n{constructor(){this.type=0}}class o{constructor(){this.type=1}}class s{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class r{constructor(e,t){this.type=3,this.selections=e,this.modelSelections=t}}class a{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}}class l{constructor(){this.type=5}}class d{constructor(e){this.type=6,this.isFocused=e}}class c{constructor(){this.type=7}}class h{constructor(){this.type=8}}class u{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class g{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class p{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class m{constructor(e,t,i,n,o,s,r){this.source=e,this.minimalReveal=t,this.range=i,this.selections=n,this.verticalType=o,this.revealHorizontal=s,this.scrollType=r,this.type=12}}class _{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class f{constructor(e){this.theme=e,this.type=14}}class v{constructor(e){this.type=15,this.ranges=e}}class C{constructor(){this.type=16}}class b{constructor(){this.type=17}}},32124:(e,t,i)=>{var n=i(20512),o=i(24037),s=i(55808),r=i(21298),a=i(1273),l=i(65698),d=i(68337),c=i(64796),h=i(72799),u=i(62915),g=i(85376),p=i(34876),m=i(28791),_=i(37718),f=i(92017),v=i(35819),C=i(58471),b=i(53229),w=i(86377),L=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},S=function(e,t){return function(i,n){t(i,n,e)}},y=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};let k=class extends s.jG{constructor(e,t,i,n,o,s){super(),this._bulkEditService=t,this._configurationService=i,this._languageFeaturesService=n,this._progressService=o,this._register(e.onDropIntoEditor(t=>this.onDropIntoEditor(e,t.position,t.event))),this._languageFeaturesService.documentOnDropEditProvider.register("*",new I(s)),this._register(this._configurationService.onDidChangeConfiguration(t=>{t.affectsConfiguration("workbench.editor.dropIntoEditor.enabled")&&this.updateEditorOptions(e)})),this.updateEditorOptions(e)}updateEditorOptions(e){e.updateOptions({enableDropIntoEditor:this._configurationService.getValue("workbench.editor.dropIntoEditor.enabled")})}onDropIntoEditor(e,t,i){return y(this,void 0,void 0,function*(){if(!i.dataTransfer||!e.hasModel())return;const o=e.getModel(),s=o.getVersionId(),r=yield this.extractDataTransferData(i);if(0===r.size)return;if(e.getModel().getVersionId()!==s)return;const a=new m.gI(e,1);try{const i=this._languageFeaturesService.documentOnDropEditProvider.ordered(o),l=yield this._progressService.withProgress({location:15,delay:750,title:(0,v.kg)("dropProgressTitle","Running drop handlers..."),cancellable:!0},()=>(0,n.PK)((()=>y(this,void 0,void 0,function*(){for(const e of i){const i=yield e.provideDocumentOnDropEdits(o,t,r,a.token);if(a.token.isCancellationRequested)return;if(i)return i}}))(),a.token),()=>{a.cancel()});if(a.token.isCancellationRequested||e.getModel().getVersionId()!==s)return;if(l){const i=new u.Q(t.lineNumber,t.column,t.lineNumber,t.column);return(0,_.z)(e,"string"===typeof l.insertText?f.fr.escape(l.insertText):l.insertText.snippet,[g.L.fromRange(i,0)]),void(l.additionalEdit&&(yield this._bulkEditService.apply(h.jN.convert(l.additionalEdit),{editor:e})))}}finally{a.dispose()}})}extractDataTransferData(e){return y(this,void 0,void 0,function*(){if(!e.dataTransfer)return new o.Vq;const t=(0,d.q_)(e.dataTransfer);return(0,d.en)(t,e),t})}};k.ID="editor.contrib.dropIntoEditorController",k=L([S(1,h.nu),S(2,C.pG),S(3,p.u),S(4,b.G5),S(5,w.VR)],k);let I=class{constructor(e){this._workspaceContextService=e}provideDocumentOnDropEdits(e,t,i,n){var o;return y(this,void 0,void 0,function*(){const e=i.get(r.K.uriList);if(e){const t=yield e.asString(),i=this.getUriListInsertText(t);if(i)return{insertText:i}}const t=null!==(o=i.get("text"))&&void 0!==o?o:i.get(r.K.text);if(t){return{insertText:yield t.asString()}}})}getUriListInsertText(e){const t=[];for(const n of d.jt.parse(e))try{t.push(l.r.parse(n))}catch(i){}if(t.length)return t.map(e=>{const t=this._workspaceContextService.getWorkspaceFolder(e);if(t){const i=(0,a.iZ)(t.uri,e);if(i)return i}return e.fsPath}).join(" ")}};I=L([S(0,w.VR)],I),(0,c.HW)(k.ID,k)},34293:(e,t,i)=>{var n=i(64796),o=i(62788),s=i(62915),r=i(85376);class a{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,o=this._selection.endColumn;if((!this._isMovingLeft||1!==n)&&(this._isMovingLeft||o!==e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new s.Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new s.Q(i,o,i,o),a)}else{const r=new s.Q(i,o,i,o+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new s.Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new r.L(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new r.L(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}var l=i(35819);class d extends n.ks{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const o of n)i.push(new a(o,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}(0,n.Fl)(class extends d{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:l.kg("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:o.R.writable})}}),(0,n.Fl)(class extends d{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:l.kg("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:o.R.writable})}})},34760:(e,t,i)=>{i.d(t,{Pj:()=>x,_V:()=>P,jX:()=>N,pD:()=>k,vg:()=>D});var n=i(85829),o=i(48640),s=i(69549),r=i(75909),a=i(16624),l=i(47643),d=i(59713),c=i(65698),h=i(28791),u=i(38952),g=i(55547),p=i(62915),m=i(85376),_=i(87594),f=i(92320),v=i(38500),C=i(35819),b=i(16281),w=i(769),L=i(34029),S=i(34876),y=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};function k(e){if(!(e=e.filter(e=>e.range)).length)return;let{range:t}=e[0];for(let n=1;n<e.length;n++)t=p.Q.plusRange(t,e[n].range);const{startLineNumber:i,endLineNumber:o}=t;i===o?1===e.length?(0,n.xE)(C.kg("hint11","Made 1 formatting edit on line {0}",i)):(0,n.xE)(C.kg("hintn1","Made {0} formatting edits on line {1}",e.length,i)):1===e.length?(0,n.xE)(C.kg("hint1n","Made 1 formatting edit between lines {0} and {1}",i,o)):(0,n.xE)(C.kg("hintnn","Made {0} formatting edits between lines {1} and {2}",e.length,i,o))}function I(e,t,i){const n=[],o=new Set,s=e.ordered(i);for(const a of s)n.push(a),a.extensionId&&o.add(w.H.toKey(a.extensionId));const r=t.ordered(i);for(const a of r){if(a.extensionId){if(o.has(w.H.toKey(a.extensionId)))continue;o.add(w.H.toKey(a.extensionId))}n.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits:(e,t,i)=>a.provideDocumentRangeFormattingEdits(e,e.getFullModelRange(),t,i)})}return n}class x{static setFormatterSelector(e){return{dispose:x._selectors.unshift(e)}}static select(e,t,i){return y(this,void 0,void 0,function*(){if(0===e.length)return;const n=a.f.first(x._selectors);return n?yield n(e,t,i):void 0})}}function N(e,t,i,n,o,s){return y(this,void 0,void 0,function*(){const r=e.get(L._Y),{documentRangeFormattingEditProvider:a}=e.get(S.u),l=(0,u.z9)(t)?t.getModel():t,d=a.ordered(l),c=yield x.select(d,l,n);c&&(o.report(c),yield r.invokeFunction(M,c,t,i,s))})}function M(e,t,i,n,s){return y(this,void 0,void 0,function*(){const r=e.get(_.w);let a,l;(0,u.z9)(i)?(a=i.getModel(),l=new h.gI(i,5,void 0,s)):(a=i,l=new h.ER(i,s));const d=[];let c=0;for(const e of(0,o._j)(n).sort(p.Q.compareRangesUsingStarts))c>0&&p.Q.areIntersectingOrTouching(d[c-1],e)?d[c-1]=p.Q.fromPositions(d[c-1].getStartPosition(),e.getEndPosition()):c=d.push(e);const g=e=>y(this,void 0,void 0,function*(){return(yield t.provideDocumentRangeFormattingEdits(a,e,a.getFormattingOptions(),l.token))||[]}),f=(e,t)=>{if(!e.length||!t.length)return!1;const i=e.reduce((e,t)=>p.Q.plusRange(e,t.range),e[0].range);if(!t.some(e=>p.Q.intersectRanges(i,e.range)))return!1;for(const n of e)for(const e of t)if(p.Q.intersectRanges(n.range,e.range))return!0;return!1},C=[],b=[];try{for(const e of d){if(l.token.isCancellationRequested)return!0;b.push(yield g(e))}for(let e=0;e<d.length;++e)for(let t=e+1;t<d.length;++t){if(l.token.isCancellationRequested)return!0;if(f(b[e],b[t])){const i=p.Q.plusRange(d[e],d[t]),n=yield g(i);d.splice(t,1),d.splice(e,1),d.push(i),b.splice(t,1),b.splice(e,1),b.push(n),e=0,t=0}}for(const e of b){if(l.token.isCancellationRequested)return!0;const t=yield r.computeMoreMinimalEdits(a.uri,e);t&&C.push(...t)}}finally{l.dispose()}if(0===C.length)return!1;if((0,u.z9)(i))v.c.execute(i,C,!0),k(C),i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1);else{const[{range:e}]=C,t=new m.L(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);a.pushEditOperations([t],C.map(e=>({text:e.text,range:p.Q.lift(e.range),forceMoveMarkers:!0})),e=>{for(const{range:i}of e)if(p.Q.areIntersectingOrTouching(i,t))return[new m.L(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null})}return!0})}function D(e,t,i,n,o){return y(this,void 0,void 0,function*(){const s=e.get(L._Y),r=e.get(S.u),a=(0,u.z9)(t)?t.getModel():t,l=I(r.documentFormattingEditProvider,r.documentRangeFormattingEditProvider,a),d=yield x.select(l,a,i);d&&(n.report(d),yield s.invokeFunction(R,d,t,i,o))})}function R(e,t,i,n,o){return y(this,void 0,void 0,function*(){const s=e.get(_.w);let r,a,l;(0,u.z9)(i)?(r=i.getModel(),a=new h.gI(i,5,void 0,o)):(r=i,a=new h.ER(i,o));try{const e=yield t.provideDocumentFormattingEdits(r,r.getFormattingOptions(),a.token);if(l=yield s.computeMoreMinimalEdits(r.uri,e),a.token.isCancellationRequested)return!0}finally{a.dispose()}if(!l||0===l.length)return!1;if((0,u.z9)(i))v.c.execute(i,l,2!==n),2!==n&&(k(l),i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1));else{const[{range:e}]=l,t=new m.L(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);r.pushEditOperations([t],l.map(e=>({text:e.text,range:p.Q.lift(e.range),forceMoveMarkers:!0})),e=>{for(const{range:i}of e)if(p.Q.areIntersectingOrTouching(i,t))return[new m.L(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null})}return!0})}function P(e,t,i,n,o,s,a){const l=t.onTypeFormattingEditProvider.ordered(i);return 0===l.length||l[0].autoFormatTriggerCharacters.indexOf(o)<0?Promise.resolve(void 0):Promise.resolve(l[0].provideOnTypeFormattingEdits(i,n,o,s,a)).catch(r.M_).then(t=>e.computeMoreMinimalEdits(i.uri,t))}x._selectors=new l.w,b.wb.registerCommand("_executeFormatRangeProvider",function(e,...t){return y(this,void 0,void 0,function*(){const[i,n,a]=t;(0,d.j)(c.r.isUri(i)),(0,d.j)(p.Q.isIRange(n));const l=e.get(f.b),h=e.get(_.w),u=e.get(S.u),g=yield l.createModelReference(i);try{return function(e,t,i,n,s,a){return y(this,void 0,void 0,function*(){const l=t.documentRangeFormattingEditProvider.ordered(i);for(const t of l){const l=yield Promise.resolve(t.provideDocumentRangeFormattingEdits(i,n,s,a)).catch(r.M_);if((0,o.EI)(l))return yield e.computeMoreMinimalEdits(i.uri,l)}})}(h,u,g.object.textEditorModel,p.Q.lift(n),a,s.X.None)}finally{g.dispose()}})}),b.wb.registerCommand("_executeFormatDocumentProvider",function(e,...t){return y(this,void 0,void 0,function*(){const[i,n]=t;(0,d.j)(c.r.isUri(i));const a=e.get(f.b),l=e.get(_.w),h=e.get(S.u),u=yield a.createModelReference(i);try{return function(e,t,i,n,s){return y(this,void 0,void 0,function*(){const a=I(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,i);for(const t of a){const a=yield Promise.resolve(t.provideDocumentFormattingEdits(i,n,s)).catch(r.M_);if((0,o.EI)(a))return yield e.computeMoreMinimalEdits(i.uri,a)}})}(l,h,u.object.textEditorModel,n,s.X.None)}finally{u.dispose()}})}),b.wb.registerCommand("_executeFormatOnTypeProvider",function(e,...t){return y(this,void 0,void 0,function*(){const[i,n,o,r]=t;(0,d.j)(c.r.isUri(i)),(0,d.j)(g.y.isIPosition(n)),(0,d.j)("string"===typeof o);const a=e.get(f.b),l=e.get(_.w),h=e.get(S.u),u=yield a.createModelReference(i);try{return P(l,h,u.object.textEditorModel,g.y.lift(n),o,r,s.X.None)}finally{u.dispose()}})})},38500:(e,t,i)=>{i.d(t,{c:()=>s});var n=i(73983),o=i(62915);class s{static _handleEolEdits(e,t){let i;const n=[];for(const o of t)"number"===typeof o.eol&&(i=o.eol),o.range&&"string"===typeof o.text&&n.push(o);return"number"===typeof i&&e.hasModel()&&e.getModel().pushEOL(i),n}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),n=i.validateRange(t.range);return i.getFullModelRange().equalsRange(n)}static execute(e,t,i){i&&e.pushUndoStop();const r=s._handleEolEdits(e,t);1===r.length&&s._isFullModelReplaceEdit(e,r[0])?e.executeEdits("formatEditsCommand",r.map(e=>n.k.replace(o.Q.lift(e.range),e.text))):e.executeEdits("formatEditsCommand",r.map(e=>n.k.replaceMove(o.Q.lift(e.range),e.text))),i&&e.pushUndoStop()}}},39451:(e,t,i)=>{var n=i(45325),o=i(64796),s=i(62915),r=i(62788),a=i(10884),l=i(73983),d=i(55547),c=i(85376);class h{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length;if(i+n>e.length)return!1;for(let o=0;o<n;o++){const n=e.charCodeAt(i+o),s=t.charCodeAt(o);if(n!==s&&(!(n>=65&&n<=90&&n+32===s)&&!(s>=65&&s<=90&&s+32===n)))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,o,r){const a=e.startLineNumber,l=e.startColumn,d=e.endLineNumber,c=e.endColumn,u=o.getLineContent(a),g=o.getLineContent(d);let p,m=u.lastIndexOf(t,l-1+t.length),_=g.indexOf(i,c-1-i.length);if(-1!==m&&-1!==_)if(a===d){u.substring(m+t.length,_).indexOf(i)>=0&&(m=-1,_=-1)}else{const e=u.substring(m+t.length),n=g.substring(0,_);(e.indexOf(i)>=0||n.indexOf(i)>=0)&&(m=-1,_=-1)}-1!==m&&-1!==_?(n&&m+t.length<u.length&&32===u.charCodeAt(m+t.length)&&(t+=" "),n&&_>0&&32===g.charCodeAt(_-1)&&(i=" "+i,_-=1),p=h._createRemoveBlockCommentOperations(new s.Q(a,m+t.length+1,d,_+1),t,i)):(p=h._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=1===p.length?i:null);for(const s of p)r.addTrackedEditOperation(s.range,s.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return s.Q.isEmpty(e)?n.push(l.k.delete(new s.Q(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(l.k.delete(new s.Q(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(l.k.delete(new s.Q(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const o=[];return s.Q.isEmpty(e)?o.push(l.k.replace(new s.Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(o.push(l.k.insert(new d.y(e.startLineNumber,e.startColumn),t+(n?" ":""))),o.push(l.k.insert(new d.y(e.endLineNumber,e.endColumn),(n?" ":"")+i))),o}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const o=e.getLanguageIdAtPosition(i,n),s=this.languageConfigurationService.getLanguageConfiguration(o).comments;s&&s.blockCommentStartToken&&s.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(2===i.length){const e=i[0],t=i[1];return new c.L(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=i[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new c.L(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}var u=i(24638);class g{constructor(e,t,i,n,o,s,r){this.languageConfigurationService=e,this._selection=t,this._tabSize=i,this._type=n,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),s=n.getLanguageConfiguration(o).comments,r=s?s.lineCommentToken:null;if(!r)return null;const a=[];for(let l=0,d=i-t+1;l<d;l++)a[l]={ignore:!1,commentStr:r,commentStrOffset:0,commentStrLength:r.length};return a}static _analyzeLines(e,t,i,n,o,s,r,a){let l,d=!0;l=0===e||1!==e;for(let c=0,g=n.length;c<g;c++){const a=n[c],g=o+c;if(g===o&&r){a.ignore=!0;continue}const p=i.getLineContent(g),m=u.HG(p);if(-1!==m){if(d=!1,a.ignore=!1,a.commentStrOffset=m,l&&!h._haystackHasNeedleAtOffset(p,a.commentStr,m)&&(0===e?l=!1:1===e||(a.ignore=!0)),l&&t){const e=m+a.commentStrLength;e<p.length&&32===p.charCodeAt(e)&&(a.commentStrLength+=1)}}else a.ignore=s,a.commentStrOffset=p.length}if(0===e&&d){l=!1;for(let e=0,t=n.length;e<t;e++)n[e].ignore=!1}return{supported:!0,shouldRemoveComments:l,lines:n}}static _gatherPreflightData(e,t,i,n,o,s,r,a){const l=g._gatherPreflightCommentStrings(i,n,o,a);return null===l?{supported:!1}:g._analyzeLines(e,t,i,l,n,s,r,a)}_executeLineComments(e,t,i,n){let o;i.shouldRemoveComments?o=g._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(g._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._tabSize),o=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new d.y(n.positionLineNumber,n.positionColumn);for(let a=0,l=o.length;a<l;a++)if(t.addEditOperation(o[a].range,o[a].text),s.Q.isEmpty(o[a].range)&&s.Q.getStartPosition(o[a].range).equals(r)){e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(o[a].text||"").length)}this._selectionId=t.trackSelection(n)}_attemptRemoveBlockComment(e,t,i,n){let o=t.startLineNumber,r=t.endLineNumber;const a=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let l=e.getLineContent(o).lastIndexOf(i,a-1),d=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return-1!==l&&-1===d&&(d=e.getLineContent(o).indexOf(n,l+i.length),r=o),-1===l&&-1!==d&&(l=e.getLineContent(r).lastIndexOf(i,d),o=r),!t.isEmpty()||-1!==l&&-1!==d||(l=e.getLineContent(o).indexOf(i),-1!==l&&(d=e.getLineContent(o).indexOf(n,l+i.length))),-1!==l&&32===e.getLineContent(o).charCodeAt(l+i.length)&&(i+=" "),-1!==d&&32===e.getLineContent(r).charCodeAt(d-1)&&(n=" "+n,d-=1),-1!==l&&-1!==d?h._createRemoveBlockCommentOperations(new s.Q(o,l+i.length+1,r,d+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),o=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!o||!o.blockCommentStartToken||!o.blockCommentEndToken)return;const r=o.blockCommentStartToken,a=o.blockCommentEndToken;let l=this._attemptRemoveBlockComment(e,i,r,a);if(!l){if(i.isEmpty()){const t=e.getLineContent(i.startLineNumber);let n=u.HG(t);-1===n&&(n=t.length),l=h._createAddBlockCommentOperations(new s.Q(i.startLineNumber,n+1,i.startLineNumber,t.length+1),r,a,this._insertSpace)}else l=h._createAddBlockCommentOperations(new s.Q(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);1===l.length&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const s of l)t.addEditOperation(s.range,s.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine)return t.addEditOperation(new s.Q(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":"\n"),void(this._selectionId=t.trackSelection(i));i.startLineNumber<i.endLineNumber&&1===i.endColumn&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=g._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new c.L(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,o=e.length;n<o;n++){const o=e[n];o.ignore||i.push(l.k.delete(new s.Q(t+n,o.commentStrOffset+1,t+n,o.commentStrOffset+o.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],n=this._insertSpace?" ":"";for(let o=0,s=e.length;o<s;o++){const s=e[o];s.ignore||i.push(l.k.insert(new d.y(t+o,s.commentStrOffset+1),s.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let o,s,r=1073741824;for(let a=0,l=t.length;a<l;a++){if(t[a].ignore)continue;const o=e.getLineContent(i+a);let s=0;for(let e=0,i=t[a].commentStrOffset;s<r&&e<i;e++)s=g.nextVisibleColumn(s,n,9===o.charCodeAt(e),1);s<r&&(r=s)}r=Math.floor(r/n)*n;for(let a=0,l=t.length;a<l;a++){if(t[a].ignore)continue;const l=e.getLineContent(i+a);let d=0;for(o=0,s=t[a].commentStrOffset;d<r&&o<s;o++)d=g.nextVisibleColumn(d,n,9===l.charCodeAt(o),1);t[a].commentStrOffset=d>r?o-1:o}}}var p=i(35819),m=i(93593);class _ extends o.ks{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(a.JZ);if(!t.hasModel())return;const n=[],o=t.getModel().getOptions(),r=t.getOption(19),l=t.getSelections().map((e,t)=>({selection:e,index:t,ignoreFirstLine:!1}));l.sort((e,t)=>s.Q.compareRangesUsingStarts(e.selection,t.selection));let d=l[0];for(let s=1;s<l.length;s++){const e=l[s];d.selection.endLineNumber===e.selection.startLineNumber&&(d.index<e.index?e.ignoreFirstLine=!0:(d.ignoreFirstLine=!0,d=e))}for(const s of l)n.push(new g(i,s.selection,o.tabSize,this._type,r.insertSpace,r.ignoreEmptyLines,s.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class f extends o.ks{constructor(){super({id:"editor.action.blockComment",label:p.kg("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:r.R.writable,kbOpts:{kbExpr:r.R.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:m.D8.MenubarEditMenu,group:"5_insert",title:p.kg({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(a.JZ);if(!t.hasModel())return;const n=t.getOption(19),o=[],s=t.getSelections();for(const r of s)o.push(new h(r,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}(0,o.Fl)(class extends _{constructor(){super(0,{id:"editor.action.commentLine",label:p.kg("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:r.R.writable,kbOpts:{kbExpr:r.R.editorTextFocus,primary:2133,weight:100},menuOpts:{menuId:m.D8.MenubarEditMenu,group:"5_insert",title:p.kg({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}),(0,o.Fl)(class extends _{constructor(){super(1,{id:"editor.action.addCommentLine",label:p.kg("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:r.R.writable,kbOpts:{kbExpr:r.R.editorTextFocus,primary:(0,n.m5)(2089,2081),weight:100}})}}),(0,o.Fl)(class extends _{constructor(){super(2,{id:"editor.action.removeCommentLine",label:p.kg("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:r.R.writable,kbOpts:{kbExpr:r.R.editorTextFocus,primary:(0,n.m5)(2089,2099),weight:100}})}}),(0,o.Fl)(f)},40030:(e,t,i)=>{i.d(t,{gW:()=>S});var n=i(48640),o=i(69549),s=i(75909),r=i(16624),a=i(14094),l=i(55547),d=i(62915),c=i(40098),h=i(34029),u=i(62848),g=i(19724),p=i(55808),m=i(34876),_=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},f=function(e,t){return function(i,n){t(i,n,e)}},v=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class C{remove(){var e;null===(e=this.parent)||void 0===e||e.children.delete(this.id)}static findId(e,t){let i;"string"===typeof e?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,void 0!==t.children.get(i)&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let o=0;void 0!==t.children.get(n);o++)n=`${i}_${o}`;return n}static empty(e){return 0===e.children.size}}class b extends C{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class w extends C{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class L extends C{constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}static create(e,t,i){const r=new o.Q(i),a=new L(t.uri),l=e.ordered(t),d=l.map((e,i)=>{var n;const o=C.findId(`provider_${i}`,a),l=new w(o,a,null!==(n=e.displayName)&&void 0!==n?n:"Unknown Outline Provider",i);return Promise.resolve(e.provideDocumentSymbols(t,r.token)).then(e=>{for(const t of e||[])L._makeOutlineElement(t,l);return l},e=>((0,s.M_)(e),l)).then(e=>{C.empty(e)?e.remove():a._groups.set(o,e)})}),c=e.onDidChange(()=>{const i=e.ordered(t);(0,n.aI)(i,l)||r.cancel()});return Promise.all(d).then(()=>r.token.isCancellationRequested&&!i.isCancellationRequested?L.create(e,t,i):a._compact()).finally(()=>{c.dispose()})}static _makeOutlineElement(e,t){const i=C.findId(e,t),n=new b(i,t,e);if(e.children)for(const o of e.children)L._makeOutlineElement(o,n);t.children.set(n.id,n)}_compact(){let e=0;for(const[t,i]of this._groups)0===i.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=r.f.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof b?e.push(t.symbol):e.push(...r.f.map(t.children.values(),e=>e.symbol));return e.sort((e,t)=>d.Q.compareRangesUsingStarts(e.range,t.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return L._flattenDocumentSymbols(t,e,""),t.sort((e,t)=>l.y.compare(d.Q.getStartPosition(e.range),d.Q.getStartPosition(t.range))||l.y.compare(d.Q.getEndPosition(t.range),d.Q.getEndPosition(e.range)))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&L._flattenDocumentSymbols(e,n.children,n.name)}}const S=(0,h.u1)("IOutlineModelService");let y=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new p.Cm,this._cache=new a.qK(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(e=>{this._cache.delete(e.id)}))}dispose(){this._disposables.dispose()}getOrCreate(e,t){return v(this,void 0,void 0,function*(){const i=this._languageFeaturesService.documentSymbolProvider,s=i.ordered(e);let r=this._cache.get(e.id);if(!r||r.versionId!==e.getVersionId()||!(0,n.aI)(r.provider,s)){const t=new o.Q;r={versionId:e.getVersionId(),provider:s,promiseCnt:0,source:t,promise:L.create(i,e,t.token),model:void 0},this._cache.set(e.id,r);const n=Date.now();r.promise.then(t=>{r.model=t,this._debounceInformation.update(e,Date.now()-n)}).catch(t=>{this._cache.delete(e.id)})}if(r.model)return r.model;r.promiseCnt+=1;const a=t.onCancellationRequested(()=>{0===--r.promiseCnt&&(r.source.cancel(),this._cache.delete(e.id))});try{return yield r.promise}finally{a.dispose()}})}};y=_([f(0,m.u),f(1,c.U),f(2,g.S)],y),(0,u.v)(S,y,!0)},40109:(e,t,i)=>{i.d(t,{r:()=>o});var n=i(46890);class o{constructor(e,t,i){this.configuration=e,this.theme=new n.v(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}},40493:(e,t,i)=>{var n=i(20512),o=i(75909),s=i(45325),r=i(55808),a=i(24638),l=i(59713),d=i(60724),c=i(64796),h=i(62788),u=i(43178),g=i(10884),p=i(42464);const m=16777215,_=4278190080;class f{constructor(e,t,i){if(e.length!==t.length||e.length>65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t;const n=Math.ceil(e.length/32);this._collapseStates=new Uint32Array(n),this._manualStates=new Uint32Array(n),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,i)=>{const n=e[e.length-1];return this.getStartLineNumber(n)<=t&&this.getEndLineNumber(n)>=i};for(let i=0,n=this._startIndexes.length;i<n;i++){const n=this._startIndexes[i],o=this._endIndexes[i];if(n>m||o>m)throw new Error("startLineNumber or endLineNumber must not exceed "+m);for(;e.length>0&&!t(n,o);)e.pop();const s=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((255&s)<<24),this._endIndexes[i]=o+((65280&s)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&m}getEndLineNumber(e){return this._endIndexes[e]&m}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){const t=e/32|0,i=e%32;return 0!==(this._collapseStates[t]&1<<i)}setCollapsed(e,t){const i=e/32|0,n=e%32,o=this._collapseStates[i];this._collapseStates[i]=t?o|1<<n:o&~(1<<n)}isManualSelection(e){const t=e/32|0,i=e%32;return 0!==(this._manualStates[t]&1<<i)}setManualSelection(e,t){const i=e/32|0,n=e%32,o=this._manualStates[i];this._manualStates[i]=t?o|1<<n:o&~(1<<n)}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n<this._types.length;n++)this._types[n]===e&&(this.setCollapsed(n,t),i=!0);return i}toRegion(e){return new v(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&_)>>>24)+((this._endIndexes[e]&_)>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(0===i)return-1;for(;t<i;){const n=Math.floor((t+i)/2);e<this.getStartLineNumber(n)?i=n:t=n+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${this.isManualSelection(t)?"*":" "}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&m,endLineNumber:this._endIndexes[e]&m,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),isManualSelection:this.isManualSelection(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),n=new Uint32Array(t);let o=[],s=!1;for(let a=0;a<t;a++){const t=e[a];i[a]=t.startLineNumber,n[a]=t.endLineNumber,o.push(t.type),t.type&&(s=!0)}s||(o=void 0);const r=new f(i,n,o);for(let a=0;a<t;a++)e[a].isCollapsed&&r.setCollapsed(a,!0),e[a].isManualSelection&&r.setManualSelection(a,!0);return r}static sanitizeAndMerge(e,t,i){i=null!==i&&void 0!==i?i:Number.MAX_VALUE;let n=this._trySanitizeAndMerge(1,e,t,i);return n||(n=this._trySanitizeAndMerge(2,e,t,i)),n}static _trySanitizeAndMerge(e,t,i,n){const o=(e,t)=>Array.isArray(e)?i=>i<t?e[i]:void 0:i=>i<t?e.toFoldRange(i):void 0,s=o(t,t.length),r=o(i,i.length);let a=0,l=0,d=s(0),c=r(0);const h=[];let u,g=0;const p=[];let m=0;for(;d||c;){let t;if(c&&(!d||d.startLineNumber>=c.startLineNumber)){if(d&&d.startLineNumber===c.startLineNumber&&d.endLineNumber===c.endLineNumber)t=c,t.isCollapsed=t.isCollapsed||d.isCollapsed,t.isManualSelection=d.isManualSelection&&c.isManualSelection,t.type||(t.type=d.type),d=s(++a);else if(c.isCollapsed&&!c.isManualSelection&&1===e){if(++m>1)return null}else t=c,t.isCollapsed&&(t.isManualSelection=!0);c=r(++l)}else{let i=l,n=c;for(;;){if(!n||n.startLineNumber>d.endLineNumber){t=d;break}if(n.endLineNumber>d.endLineNumber&&(!n.isCollapsed||n.isManualSelection||2===e))break;n=r(++i)}d=s(++a)}if(t){for(;u&&u.endLineNumber<t.startLineNumber;)u=h.pop();t.endLineNumber>t.startLineNumber&&t.startLineNumber>g&&t.endLineNumber<=n&&(!u||u.endLineNumber>=t.endLineNumber)&&(p.push(t),g=t.startLineNumber,u&&h.push(u),u=t)}}return p}}class v{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}var C=i(72302);class b{constructor(e,t,i){this._updateEventEmitter=new p.vl,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._triggerRecomputeRanges=i,this._regions=new f(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}get regions(){return this._regions}get textModel(){return this._textModel}toggleCollapseState(e){if(!e.length)return;e=e.sort((e,t)=>e.regionIndex-t.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,o=-1,s=-1;const r=e=>{for(;n<e;){const e=this._regions.getEndLineNumber(n),t=this._regions.isCollapsed(n),r=this.regions.isManualSelection(n);e<=o&&i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(t,e<=s,r)),t&&e>s&&(s=e),n++}};for(const a of e){const e=a.regionIndex,i=this._editorDecorationIds[e];if(i&&!t[i]){t[i]=!0,r(e);const n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),o=Math.max(o,this._regions.getEndLineNumber(e))}}r(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}update(e,t=[]){const i=this._currentHiddenRegions(t),n=f.sanitizeAndMerge(e,i,this._textModel.getLineCount());this.updatePost(f.fromFoldRanges(n))}updatePost(e){const t=[];let i=-1;for(let n=0,o=e.length;n<o;n++){const o=e.getStartLineNumber(n),s=e.getEndLineNumber(n),r=e.isCollapsed(n),a=e.isManualSelection(n),l={startLineNumber:o,startColumn:this._textModel.getLineMaxColumn(o),endLineNumber:s,endColumn:this._textModel.getLineMaxColumn(s)+1};t.push({range:l,options:this._decorationProvider.getDecorationOption(r,s<=i,a)}),r&&s>i&&(i=s)}this._decorationProvider.changeDecorations(e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentHiddenRegions(e=[]){const t=(t,i)=>{for(const n of e)if(t<n&&n<=i)return!0;return!1},i=[];for(let n=0,o=this._regions.length;n<o;n++)if(this.regions.isCollapsed(n)){const e=this._regions.toFoldRange(n),o=this._textModel.getDecorationRange(this._editorDecorationIds[n]);o&&!t(o.startLineNumber,o.endLineNumber)&&o.endLineNumber-o.startLineNumber===e.endLineNumber-e.startLineNumber&&i.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:e.type,isCollapsed:!0,isManualSelection:e.isManualSelection})}return i}getMemento(){const e=this._currentHiddenRegions(),t=[];for(let i=0,n=e.length;i<n;i++){const n=e[i],o=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);t.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,checksum:o})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const o of e){if(o.startLineNumber>=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>i)continue;const e=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);o.checksum&&e!==o.checksum||t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:void 0,isCollapsed:!0,isManualSelection:!0})}const n=f.sanitizeAndMerge(this._regions,t,i);this.updatePost(f.fromFoldRanges(n))}_getLinesChecksum(e,t){return(0,C.tW)(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),o=1;for(;n>=0;){const e=this._regions.toRegion(n);t&&!t(e,o)||i.push(e),o++,n=e.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let s=n,r=this._regions.length;s<r;s++){const n=this._regions.toRegion(s);if(!(this._regions.getStartLineNumber(s)<o))break;for(;e.length>0&&!n.containedBy(e[e.length-1]);)e.pop();e.push(n),t(n,e.length)&&i.push(n)}}else for(let s=n,r=this._regions.length;s<r;s++){const e=this._regions.toRegion(s);if(!(this._regions.getStartLineNumber(s)<o))break;t&&!t(e)||i.push(e)}return i}}function w(e,t,i=Number.MAX_VALUE,n){const o=[];if(n&&n.length>0)for(const s of n){const n=e.getRegionAtLine(s);if(n&&(n.isCollapsed!==t&&o.push(n),i>1)){const s=e.getRegionsInside(n,(e,n)=>e.isCollapsed!==t&&n<i);o.push(...s)}}else{const n=e.getRegionsInside(null,(e,n)=>e.isCollapsed!==t&&n<i);o.push(...n)}e.toggleCollapseState(o)}function L(e,t,i,n){const o=[];for(const s of n){const n=e.getAllRegionsAtLine(s,(e,n)=>e.isCollapsed!==t&&n<=i);o.push(...n)}e.toggleCollapseState(o)}function S(e,t,i){const n=[];for(const s of i){const t=e.getAllRegionsAtLine(s,void 0);t.length>0&&n.push(t[0])}const o=e.getRegionsInside(null,e=>n.every(t=>!t.containedBy(e)&&!e.containedBy(t))&&e.isCollapsed!==t);e.toggleCollapseState(o)}function y(e,t,i){const n=e.textModel,o=e.regions,s=[];for(let r=o.length-1;r>=0;r--)if(i!==o.isCollapsed(r)){const e=o.getStartLineNumber(r);t.test(n.getLineContent(e))&&s.push(o.toRegion(r))}e.toggleCollapseState(s)}function k(e,t,i){const n=e.regions,o=[];for(let s=n.length-1;s>=0;s--)i!==n.isCollapsed(s)&&t===n.getType(s)&&o.push(n.toRegion(s));e.toggleCollapseState(o)}var I=i(48640),x=i(62915),N=i(16920);class M{constructor(e){this._updateEventEmitter=new p.vl,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(e=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(e=>e.range.endLineNumber!==e.range.startLineNumber||0!==(0,N.W)(e.text)[0]))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,o=Number.MAX_VALUE,s=-1;const r=this._foldingModel.regions;for(;i<r.length;i++){if(!r.isCollapsed(i))continue;const a=r.getStartLineNumber(i)+1,l=r.getEndLineNumber(i);o<=a&&l<=s||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===a&&this._hiddenRanges[n].endLineNumber===l?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new x.Q(a,1,l,1))),o=a,s=l)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return null!==D(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const o=e=>(n&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,n)||(n=D(this._hiddenRanges,e)),n?n.startLineNumber-1:null);for(let s=0,r=e.length;s<r;s++){let n=e[s];const r=o(n.startLineNumber);r&&(n=n.setStartPosition(r,i.getLineMaxColumn(r)),t=!0);const a=o(n.endLineNumber);a&&(n=n.setEndPosition(a,i.getLineMaxColumn(a)),t=!0),e[s]=n}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function D(e,t){const i=(0,I.aB)(e,e=>t<e.startLineNumber)-1;return i>=0&&e[i].endLineNumber>=t?e[i]:null}var R=i(62579);class P{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.maxFoldingRegions=i,this.id="indent"}dispose(){}compute(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=i&&!!i.offSide,o=i&&i.markers;return Promise.resolve(function(e,t,i,n,o){const s=e.getOptions().tabSize,r=new O(n=null!==n&&void 0!==n?n:5e3,o);let a;i&&(a=new RegExp(`(${i.start.source})|(?:${i.end.source})`));const l=[],d=e.getLineCount()+1;l.push({indent:-1,endAbove:d,line:d});for(let c=e.getLineCount();c>0;c--){const i=e.getLineContent(c),n=(0,R.G)(i,s);let o,d=l[l.length-1];if(-1!==n){if(a&&(o=i.match(a))){if(!o[1]){l.push({indent:-2,endAbove:c,line:c});continue}{let e=l.length-1;for(;e>0&&-2!==l[e].indent;)e--;if(e>0){l.length=e+1,d=l[e],r.insertFirst(c,d.line,n),d.line=c,d.indent=n,d.endAbove=c;continue}}}if(d.indent>n){do{l.pop(),d=l[l.length-1]}while(d.indent>n);const e=d.endAbove-1;e-c>=1&&r.insertFirst(c,e,n)}d.indent===n?d.endAbove=c:l.push({indent:n,endAbove:c,line:c})}else t&&(d.endAbove=c)}return r.toIndentRanges(e)}(this.editorModel,n,o,this.maxFoldingRegions,t))}}class O{constructor(e,t){this._notifyTooManyRegions=t,this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>m||t>m)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){var t;if(this._length<=this._foldingRangesLimit){const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=this._length-1,n=0;i>=0;i--,n++)e[n]=this._startIndexes[i],t[n]=this._endIndexes[i];return new f(e,t)}{null===(t=this._notifyTooManyRegions)||void 0===t||t.call(this,this._foldingRangesLimit);let i=0,n=this._indentOccurrences.length;for(let e=0;e<this._indentOccurrences.length;e++){const t=this._indentOccurrences[e];if(t){if(t+i>this._foldingRangesLimit){n=e;break}i+=t}}const o=e.getOptions().tabSize,s=new Uint32Array(this._foldingRangesLimit),r=new Uint32Array(this._foldingRangesLimit);for(let t=this._length-1,a=0;t>=0;t--){const l=this._startIndexes[t],d=e.getLineContent(l),c=(0,R.G)(d,o);(c<n||c===n&&i++<this._foldingRangesLimit)&&(s[a]=l,r[a]=this._endIndexes[t],a++)}return new f(s,r)}}}var E=i(35819),A=i(21181),T=i(44824),F=i(16974),V=i(88106),W=i(41362),B=i(62192);const H=(0,B.pU)("folding-expanded",V.W6.chevronDown,(0,E.kg)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),j=(0,B.pU)("folding-collapsed",V.W6.chevronRight,(0,E.kg)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),U=(0,B.pU)("folding-manual",V.W6.ellipsis,(0,E.kg)("foldingManualIcon","Icon for manually collapsed ranges in the editor glyph margin."));class z{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t||"never"===this.showFoldingControls||i&&!e?z.HIDDEN_RANGE_DECORATION:e?i?this.showFoldingHighlights?z.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:z.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?z.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:z.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?z.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:z.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}z.COLLAPSED_VISUAL_DECORATION=W.kI.register({description:"folding-collapsed-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:F.L0.asClassName(j)}),z.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=W.kI.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:F.L0.asClassName(j)}),z.MANUALLY_COLLAPSED_VISUAL_DECORATION=W.kI.register({description:"folding-manually-collapsed-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:F.L0.asClassName(U)}),z.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=W.kI.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:1,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:F.L0.asClassName(U)}),z.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=W.kI.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:F.L0.asClassName(H)}),z.EXPANDED_VISUAL_DECORATION=W.kI.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+F.L0.asClassName(H)}),z.HIDDEN_RANGE_DECORATION=W.kI.register({description:"folding-hidden-range-decoration",stickiness:1});const $={};class Q{constructor(e,t,i,n){this.editorModel=e,this.providers=t,this.limit=n,this.id="syntax";for(const o of t)"function"===typeof o.onDidChange&&(this.disposables||(this.disposables=new r.Cm),this.disposables.add(o.onDidChange(i)))}compute(e,t){return function(e,t,i){let n=null;const s=e.map((e,s)=>Promise.resolve(e.provideFoldingRanges(t,$,i)).then(e=>{if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);const i=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=i&&n.push({start:t.start,end:t.end,rank:s,kind:t.kind})}},o.M_));return Promise.all(s).then(e=>n)}(this.providers,this.editorModel,e).then(e=>{if(e){const i=function(e,t,i){const n=e.sort((e,t)=>{let i=e.start-t.start;return 0===i&&(i=e.rank-t.rank),i}),o=new G(t,i);let s;const r=[];for(const a of n)if(s){if(a.start>s.start)if(a.end<=s.end)r.push(s),s=a,o.add(a.start,a.end,a.kind&&a.kind.value,r.length);else{if(a.start>s.end){do{s=r.pop()}while(s&&a.start>s.end);s&&r.push(s),s=a}o.add(a.start,a.end,a.kind&&a.kind.value,r.length)}}else s=a,o.add(a.start,a.end,a.kind&&a.kind.value,r.length);return o.toIndentRanges()}(e,this.limit,t);return i}return null})}dispose(){var e;null===(e=this.disposables)||void 0===e||e.dispose()}}class G{constructor(e,t){this._notifyTooManyRegions=t,this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>m||t>m)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=n,this._types[o]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){var e;if(this._length<=this._foldingRangesLimit){const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=0;i<this._length;i++)e[i]=this._startIndexes[i],t[i]=this._endIndexes[i];return new f(e,t,this._types)}{null===(e=this._notifyTooManyRegions)||void 0===e||e.call(this,this._foldingRangesLimit);let t=0,i=this._nestingLevelCounts.length;for(let e=0;e<this._nestingLevelCounts.length;e++){const n=this._nestingLevelCounts[e];if(n){if(n+t>this._foldingRangesLimit){i=e;break}t+=n}}const n=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),s=[];for(let e=0,r=0;e<this._length;e++){const a=this._nestingLevels[e];(a<i||a===i&&t++<this._foldingRangesLimit)&&(n[r]=this._startIndexes[e],o[r]=this._endIndexes[e],s[r]=this._types[e],r++)}return new f(n,o,s)}}}var K=i(74349),q=i(77721),Z=i(40098),X=i(3499),Y=i(34876),J=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},ee=function(e,t){return function(i,n){t(i,n,e)}};const te=new A.N1("foldingEnabled",!1);let ie=class e extends r.jG{constructor(e,t,i,n,o,s){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=s,this._tooManyRegionsNotified=!1,this.localToDispose=this._register(new r.Cm),this.editor=e;const a=this.editor.getOptions();this._isEnabled=a.get(38),this._useFoldingProviders="indentation"!==a.get(39),this._unfoldOnClickAfterEndOfLine=a.get(43),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(41),this._maxFoldingRegions=a.get(42),this.updateDebounceInfo=o.for(s.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new z(e),this.foldingDecorationProvider.showFoldingControls=a.get(100),this.foldingDecorationProvider.showFoldingHighlights=a.get(40),this.foldingEnabled=te.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._notifyTooManyRegions=e=>{this._tooManyRegionsNotified||(n.notify({severity:q.A.Warning,sticky:!0,message:E.kg("maximum fold ranges","The number of foldable regions is limited to a maximum of {0}. Increase configuration option ['Folding Maximum Regions'](command:workbench.action.openSettings?[\"editor.foldingMaximumRegions\"]) to enable more.",e)}),this._tooManyRegionsNotified=!0)},this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(e=>{if(e.hasChanged(38)&&(this._isEnabled=this.editor.getOptions().get(38),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(42)&&(this._maxFoldingRegions=this.editor.getOptions().get(42),this._tooManyRegionsNotified=!1,this.onModelChanged()),e.hasChanged(100)||e.hasChanged(40)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(100),this.foldingDecorationProvider.showFoldingHighlights=e.get(40),this.triggerFoldingModelChanged()}e.hasChanged(39)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(39),this.onFoldingStrategyChanged()),e.hasChanged(43)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(43)),e.hasChanged(41)&&(this._foldingImportsByDefault=this.editor.getOptions().get(41))})),this.onModelChanged()}static get(t){return t.getContribution(e.ID)}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&e.lineCount===t.getLineCount()&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new b(e,this.foldingDecorationProvider,this.triggerFoldingModelChanged.bind(this)),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new M(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(e=>this.onHiddenRangesChanges(e))),this.updateScheduler=new n.ve(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new n.uC(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(e=>this.onDidChangeModelContent(e))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(e=>this.onEditorMouseDown(e))),this.localToDispose.add(this.editor.onMouseUp(e=>this.onEditorMouseUp(e))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler&&this.updateScheduler.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new P(e,this.languageConfigurationService,this._maxFoldingRegions),this._useFoldingProviders&&this.foldingModel){const t=this.languageFeaturesService.foldingRangeProvider.ordered(this.foldingModel.textModel);t.length>0&&(this.rangeProvider=new Q(e,t,()=>this.triggerFoldingModelChanged(),this._maxFoldingRegions))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;null===(t=this.hiddenRangeModel)||void 0===t||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new X.W(!0),i=this.getRangeProvider(e.textModel),o=this.foldingRegionPromise=(0,n.SS)(e=>i.compute(e,this._notifyTooManyRegions));return o.then(i=>{if(i&&o===this.foldingRegionPromise){let n;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=i.setCollapsedAllOfType(u.lO.Imports.value,!0);e&&(n=d.D.capture(this.editor),this._currentModelHasFoldedImports=e)}const o=this.editor.getSelections(),s=o?o.map(e=>e.startLineNumber):[];e.update(i,s),null===n||void 0===n||n.restore(this.editor);const r=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return e})}).then(void 0,e=>((0,o.dz)(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const i=[];for(const n of t){const t=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&i.push(...e.getAllRegionsAtLine(t,e=>e.isCollapsed&&t>e.startLineNumber))}i.length&&(e.toggleCollapseState(i),this.reveal(t[0].getPosition()))}}}).then(void 0,o.dz)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const t=e.target.detail,n=e.target.element.offsetLeft;if(t.offsetX-n<5)return;i=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!e.target.detail.isAfterLines)break}return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==i)return;if(n){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||o.startColumn!==e.getLineMaxColumn(i))return}const s=t.getRegionAtLine(i);if(s&&s.startLineNumber===i){const o=s.isCollapsed;if(n||o){let n=[];if(e.event.altKey){const e=e=>!e.containedBy(s)&&!s.containedBy(e),i=t.getRegionsInside(null,e);for(const t of i)t.isCollapsed&&n.push(t);0===n.length&&(n=i)}else{const i=e.event.middleButton||e.event.shiftKey;if(i)for(const e of t.getRegionsInside(s))e.isCollapsed===o&&n.push(e);!o&&i&&0!==n.length||n.push(s)}t.toggleCollapseState(n),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};ie.ID="editor.contrib.folding",ie=J([ee(1,A.fN),ee(2,g.JZ),ee(3,K.Ot),ee(4,Z.U),ee(5,Y.u)],ie);class ne extends c.ks{runEditorCommand(e,t,i){const n=e.get(g.JZ),o=ie.get(t);if(!o)return;const s=o.getFoldingModel();return s?(this.reportTelemetry(e,t),s.then(e=>{if(e){this.invoke(o,e,t,i,n);const s=t.getSelection();s&&o.reveal(s.getStartPosition())}})):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map(e=>e.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(e=>e+1):this.getSelectedLines(t)}run(e,t){}}function oe(e){if(!l.b0(e)){if(!l.Gv(e))return!1;const t=e;if(!l.b0(t.levels)&&!l.Et(t.levels))return!1;if(!l.b0(t.direction)&&!l.Kg(t.direction))return!1;if(!l.b0(t.selectionLines)&&(!l.cy(t.selectionLines)||!t.selectionLines.every(l.Et)))return!1}return!0}class se extends ne{getFoldingLevel(){return parseInt(this.id.substr(se.ID_PREFIX.length))}invoke(e,t,i){!function(e,t,i,n){const o=e.getRegionsInside(null,(e,o)=>o===t&&e.isCollapsed!==i&&!n.some(t=>e.containsLine(t)));e.toggleCollapseState(o)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}se.ID_PREFIX="editor.foldLevel",se.ID=e=>se.ID_PREFIX+e;(0,c.HW)(ie.ID,ie),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.unfold",label:E.kg("unfoldAction.label","Unfold"),alias:"Unfold",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:oe,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const o=n&&n.levels||1,s=this.getLineNumbers(n,i);n&&"up"===n.direction?L(t,!1,o,s):w(t,!1,o,s)}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.unfoldRecursively",label:E.kg("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2137),weight:100}})}invoke(e,t,i,n){w(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.fold",label:E.kg("foldAction.label","Fold"),alias:"Fold",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:oe,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const o=this.getLineNumbers(n,i),s=n&&n.levels,r=n&&n.direction;"number"!==typeof s&&"string"!==typeof r?function(e,t,i){const n=[];for(const o of i){const i=e.getAllRegionsAtLine(o,e=>e.isCollapsed!==t);i.length>0&&n.push(i[0])}e.toggleCollapseState(n)}(t,!0,o):"up"===r?L(t,!0,s||1,o):w(t,!0,s||1,o)}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.foldRecursively",label:E.kg("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2135),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);w(t,!0,Number.MAX_VALUE,n)}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.foldAll",label:E.kg("foldAllAction.label","Fold All"),alias:"Fold All",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2069),weight:100}})}invoke(e,t,i){w(t,!0)}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.unfoldAll",label:E.kg("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2088),weight:100}})}invoke(e,t,i){w(t,!1)}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.foldAllBlockComments",label:E.kg("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2133),weight:100}})}invoke(e,t,i,n,o){if(t.regions.hasTypes())k(t,u.lO.Comment.value,!0);else{const e=i.getModel();if(!e)return;const n=o.getLanguageConfiguration(e.getLanguageId()).comments;if(n&&n.blockCommentStartToken){y(t,new RegExp("^\\s*"+(0,a.bm)(n.blockCommentStartToken)),!0)}}}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.foldAllMarkerRegions",label:E.kg("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2077),weight:100}})}invoke(e,t,i,n,o){if(t.regions.hasTypes())k(t,u.lO.Region.value,!0);else{const e=i.getModel();if(!e)return;const n=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){y(t,new RegExp(n.markers.start),!0)}}}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:E.kg("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2078),weight:100}})}invoke(e,t,i,n,o){if(t.regions.hasTypes())k(t,u.lO.Region.value,!1);else{const e=i.getModel();if(!e)return;const n=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){y(t,new RegExp(n.markers.start),!1)}}}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.foldAllExcept",label:E.kg("foldAllExcept.label","Fold All Regions Except Selected"),alias:"Fold All Regions Except Selected",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2131),weight:100}})}invoke(e,t,i){S(t,!0,this.getSelectedLines(i))}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.unfoldAllExcept",label:E.kg("unfoldAllExcept.label","Unfold All Regions Except Selected"),alias:"Unfold All Regions Except Selected",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2129),weight:100}})}invoke(e,t,i){S(t,!1,this.getSelectedLines(i))}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.toggleFold",label:E.kg("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2090),weight:100}})}invoke(e,t,i){!function(e,t,i){const n=[];for(const o of i){const i=e.getRegionAtLine(o);if(i){const o=!i.isCollapsed;if(n.push(i),t>1){const s=e.getRegionsInside(i,(e,i)=>e.isCollapsed!==o&&i<t);n.push(...s)}}}e.toggleCollapseState(n)}(t,1,this.getSelectedLines(i))}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.gotoParentFold",label:E.kg("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=null;const n=t.getRegionAtLine(e);if(null!==n&&(i=n.startLineNumber,e===i)){const e=n.parentIndex;i=-1!==e?t.regions.getStartLineNumber(e):null}return i}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.gotoPreviousFold",label:E.kg("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){if(e!==i.startLineNumber)return i.startLineNumber;{const e=i.parentIndex;let n=0;for(-1!==e&&(n=t.regions.getStartLineNumber(i.parentIndex));null!==i;){if(!(i.regionIndex>0))return null;if(i=t.regions.toRegion(i.regionIndex-1),i.startLineNumber<=n)return null;if(i.parentIndex===e)return i.startLineNumber}}}else if(t.regions.length>0)for(i=t.regions.toRegion(t.regions.length-1);null!==i;){if(i.startLineNumber<e)return i.startLineNumber;i=i.regionIndex>0?t.regions.toRegion(i.regionIndex-1):null}return null}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.gotoNextFold",label:E.kg("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){const e=i.parentIndex;let n=0;if(-1!==e)n=t.regions.getEndLineNumber(i.parentIndex);else{if(0===t.regions.length)return null;n=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==i;){if(!(i.regionIndex<t.regions.length))return null;if(i=t.regions.toRegion(i.regionIndex+1),i.startLineNumber>=n)return null;if(i.parentIndex===e)return i.startLineNumber}}else if(t.regions.length>0)for(i=t.regions.toRegion(0);null!==i;){if(i.startLineNumber>e)return i.startLineNumber;i=i.regionIndex<t.regions.length?t.regions.toRegion(i.regionIndex+1):null}return null}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),(0,c.Fl)(class extends ne{constructor(){super({id:"editor.foldSelected",label:E.kg("foldSelectedAction.label","Fold Selected Lines"),alias:"Fold Selected Lines",precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2132),weight:100}})}invoke(e,t,i){var n;const o=[],s=i.getSelections();if(s){for(const e of s){let t=e.endLineNumber;1===e.endColumn&&--t,t>e.startLineNumber&&(o.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,isManualSelection:!0}),i.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(o.length>0){o.sort((e,t)=>e.startLineNumber-t.startLineNumber);const e=f.sanitizeAndMerge(t.regions,o,null===(n=i.getModel())||void 0===n?void 0:n.getLineCount());t.updatePost(f.fromFoldRanges(e))}}}});for(let le=1;le<=7;le++)(0,c.xX)(new se({id:se.ID(le),label:E.kg("foldLevelAction.label","Fold Level {0}",le),alias:`Fold Level ${le}`,precondition:te,kbOpts:{kbExpr:h.R.editorTextFocus,primary:(0,s.m5)(2089,2048|21+le),weight:100}}));const re=(0,T.x1A)("editor.foldBackground",{light:(0,T.JO0)(T.seu,.3),dark:(0,T.JO0)(T.seu,.3),hcDark:null,hcLight:null},E.kg("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0),ae=(0,T.x1A)("editorGutter.foldingControlForeground",{dark:T.t4B,light:T.t4B,hcDark:T.t4B,hcLight:T.t4B},E.kg("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));(0,F.zy)((e,t)=>{const i=e.getColor(re);i&&t.addRule(`.monaco-editor .folded-background { background-color: ${i}; }`);const n=e.getColor(ae);n&&t.addRule(`\n\t\t.monaco-editor .cldr${F.L0.asCSSSelector(H)},\n\t\t.monaco-editor .cldr${F.L0.asCSSSelector(j)},\n\t\t.monaco-editor .cldr${F.L0.asCSSSelector(U)} {\n\t\t\tcolor: ${n} !important;\n\t\t}\n\t\t`)})},45780:(e,t,i)=>{i.d(t,{Zt:()=>c});var n=i(20512),o=i(69549),s=i(75909),r=i(64796),a=i(34876),l=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class d{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}function c(e,t,i,o){const r=e.ordered(t).map((e,n)=>function(e,t,i,n,o){return l(this,void 0,void 0,function*(){try{const s=yield Promise.resolve(e.provideHover(i,n,o));if(s&&function(e){const t="undefined"!==typeof e.range,i="undefined"!==typeof e.contents&&e.contents&&e.contents.length>0;return t&&i}(s))return new d(e,s,t)}catch(r){(0,s.M_)(r)}})}(e,n,t,i,o));return n.AE.fromPromises(r).coalesce()}(0,r.ke)("_executeHoverProvider",(e,t,i)=>function(e,t,i,n){return c(e,t,i,n).map(e=>e.hover).toPromise()}(e.get(a.u).hoverProvider,t,i,o.X.None))},47858:(e,t,i)=>{i.d(t,{R_:()=>r});var n=i(59713),o=i(55547),s=i(35065);class r{constructor(e,t,i,n,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=n,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let i=this.breakOffsets[e]-t;return e>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let i=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let n=0;n<this.injectionOffsets.length&&i>this.injectionOffsets[n];n++)i<this.injectionOffsets[n]+this.injectionOptions[n].content.length?i=this.injectionOffsets[n]:i-=this.injectionOptions[n].content.length;return i}translateToOutputPosition(e,t=2){let i=e;if(null!==this.injectionOffsets)for(let n=0;n<this.injectionOffsets.length&&!(e<this.injectionOffsets[n])&&(1===t||e!==this.injectionOffsets[n]);n++)i+=this.injectionOptions[n].content.length;return this.offsetInInputWithInjectionsToOutputPosition(i,t)}offsetInInputWithInjectionsToOutputPosition(e,t=2){let i=0,n=this.breakOffsets.length-1,o=0,s=0;for(;i<=n;){o=i+(n-i)/2|0;const r=this.breakOffsets[o];if(s=o>0?this.breakOffsets[o-1]:0,0===t)if(e<=s)n=o-1;else{if(!(e>r))break;i=o+1}else if(e<s)n=o-1;else{if(!(e>=r))break;i=o+1}}let r=e-s;return o>0&&(r+=this.wrappedTextIndentLength),new d(o,r)}normalizeOutputPosition(e,t,i){if(null!==this.injectionOffsets){const n=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(n,i);if(o!==n)return this.offsetInInputWithInjectionsToOutputPosition(o,i)}if(0===i){if(e>0&&t===this.getMinOutputOffset(e))return new d(e-1,this.getMaxOutputOffset(e-1))}else if(1===i){if(e<this.getOutputLineCount()-1&&t===this.getMaxOutputOffset(e))return new d(e+1,this.getMinOutputOffset(e+1))}return new d(e,t)}outputPositionToOffsetInInputWithInjections(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));return(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(2===t){if(e===i.offsetInInputWithInjections+i.length&&a(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let e=i.offsetInInputWithInjections;if(l(this.injectionOptions[i.injectedTextIndex].cursorStops))return e;let t=i.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[i.injectedTextIndex]&&!a(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!l(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=i.offsetInInputWithInjections+i.length,t=i.injectedTextIndex;for(;t+1<this.injectionOffsets.length&&this.injectionOffsets[t+1]===this.injectionOffsets[t];)e+=this.injectionOptions[t+1].content.length,t++;return e}if(0===t||3===t){let e=i.offsetInInputWithInjections,t=i.injectedTextIndex;for(;t-1>=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}(0,n.xb)(t)}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),n=this.getInjectedTextAtOffset(i);return n?{options:this.injectionOptions[n.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(null!==t){let n=0;for(let o=0;o<t.length;o++){const s=i[o].content.length,r=t[o]+n,a=t[o]+n+s;if(r>e)break;if(e<=a)return{injectedTextIndex:o,offsetInInputWithInjections:r,length:s};n+=s}}}}function a(e){return null===e||void 0===e||(e===s.VW.Right||e===s.VW.Both)}function l(e){return null===e||void 0===e||(e===s.VW.Left||e===s.VW.Both)}class d{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new o.y(e+this.outputLineIndex,this.outputOffset+1)}}},48559:(e,t,i)=>{i.d(t,{Bs:()=>a,d:()=>o});var n=i(24638);class o{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length;if(i!==t.length)return!1;for(let n=0;n<i;n++)if(!o._equals(e[n],t[n]))return!1;return!0}static extractWrapped(e,t,i){if(0===e.length)return e;const n=t+1,s=i+1,r=i-t,a=[];let l=0;for(const d of e)d.endColumn<=n||d.startColumn>=s||(a[l++]=new o(Math.max(1,d.startColumn-n+1),Math.min(r+1,d.endColumn-n+1),d.className,d.type));return a}static filter(e,t,i,n){if(0===e.length)return[];const s=[];let r=0;for(let a=0,l=e.length;a<l;a++){const l=e[a],d=l.range;if(d.endLineNumber<t||d.startLineNumber>t)continue;if(d.isEmpty()&&(0===l.type||3===l.type))continue;const c=d.startLineNumber===t?d.startColumn:i,h=d.endLineNumber===t?d.endColumn:n;s[r++]=new o(c,h,l.inlineClassName,l.type)}return s}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=o._typeCompare(e.type,t.type);return 0!==i?i:e.className!==t.className?e.className<t.className?-1:1:0}}class s{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.className=i,this.metadata=n}}class r{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let i=0,n=e.length;i<n;i++)t|=e[i];return t}consumeLowerThan(e,t,i){for(;this.count>0&&this.stopOffsets[0]<e;){let e=0;for(;e+1<this.count&&this.stopOffsets[e]===this.stopOffsets[e+1];)e++;i.push(new s(t,this.stopOffsets[e],this.classNames.join(" "),r._metadata(this.metadata))),t=this.stopOffsets[e]+1,this.stopOffsets.splice(0,e+1),this.classNames.splice(0,e+1),this.metadata.splice(0,e+1),this.count-=e+1}return this.count>0&&t<e&&(i.push(new s(t,e-1,this.classNames.join(" "),r._metadata(this.metadata))),t=e),t}insert(e,t,i){if(0===this.count||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(i);else for(let n=0;n<this.count;n++)if(this.stopOffsets[n]>=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class a{static normalize(e,t){if(0===t.length)return[];const i=[],o=new r;let s=0;for(let r=0,a=t.length;r<a;r++){const a=t[r];let l=a.startColumn,d=a.endColumn;const c=a.className,h=1===a.type?2:2===a.type?4:0;if(l>1){const t=e.charCodeAt(l-2);n.pc(t)&&l--}if(d>1){const t=e.charCodeAt(d-2);n.pc(t)&&d--}const u=l-1,g=d-2;s=o.consumeLowerThan(u,s,i),0===o.count&&(s=u),o.insert(g,c,h)}return o.consumeLowerThan(1073741824,s,i),i}}},52059:(e,t,i)=>{i.d(t,{D:()=>de});var n=i(45325),o=i(55808),s=i(64796),r=i(62915),a=i(62788),l=i(76220),d=i(11793),c=i(90491),h=i(61318),u=i(48640),g=i(55547),p=i(41362),m=i(43178),_=i(20512),f=i(75909),v=i(42464),C=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})},b=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e="function"===typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,o){(function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)})(n,o,(t=e[i](t)).done,t.value)})}}};class w{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}}class L extends o.jG{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new v.vl),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new _.uC(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new _.uC(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new _.uC(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(54).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,_.bI)(e=>this._computer.computeAsync(e)),(()=>{C(this,void 0,void 0,function*(){var e,t;try{try{for(var i,n=b(this._asyncIterable);!(i=yield n.next()).done;){const e=i.value;e&&(this._result.push(e),this._fireResult())}}catch(o){e={error:o}}finally{try{i&&!i.done&&(t=n.return)&&(yield t.call(n))}finally{if(e)throw e.error}}this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(s){(0,f.dz)(s)}})})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new w(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}var S=i(25069),y=i(21181),k=i(34029),I=i(47925),x=i(83498),N=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},M=function(e,t){return function(i,n){t(i,n,e)}};const D=c.$;let R=class e extends o.jG{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._widget=this._register(this._instantiationService.createInstance(O,this._editor)),this._isChangingDecorations=!1,this._messages=[],this._messagesAreComplete=!1,this._participants=[];for(const n of S.B2.getAll())this._participants.push(this._instantiationService.createInstance(n,this._editor));this._participants.sort((e,t)=>e.hoverOrdinal-t.hoverOrdinal),this._computer=new A(this._editor,this._participants),this._hoverOperation=this._register(new L(this._editor,this._computer)),this._register(this._hoverOperation.onResult(e=>{this._withResult(e.value,e.isComplete,e.hasLoadingMessage)})),this._register(this._editor.onDidChangeModelDecorations(()=>{this._isChangingDecorations||this._onModelDecorationsChanged()})),this._register(c.b2(this._widget.getDomNode(),"keydown",e=>{e.equals(9)&&this.hide()})),this._register(m.dG.onDidChange(()=>{this._widget.position&&this._computer.anchor&&this._messages.length>0&&(this._widget.clear(),this._renderMessages(this._computer.anchor,this._messages))}))}_onModelDecorationsChanged(){this._widget.position&&(this._hoverOperation.cancel(),this._widget.isColorPickerVisible||this._hoverOperation.start(0))}maybeShowAt(e){const t=[];for(const n of this._participants)if(n.suggestHoverAnchor){const i=n.suggestHoverAnchor(e);i&&t.push(i)}const i=e.target;if(6===i.type&&t.push(new S.hx(0,i.range)),7===i.type){const e=this._editor.getOption(45).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&"number"===typeof i.detail.horizontalDistanceToText&&i.detail.horizontalDistanceToText<e&&t.push(new S.hx(0,i.range))}return 0!==t.length&&(t.sort((e,t)=>t.priority-e.priority),this._startShowingAt(t[0],0,!1),!0)}startShowingAtRange(e,t,i){this._startShowingAt(new S.hx(0,e),t,i)}_startShowingAt(e,t,i){if(!this._computer.anchor||!this._computer.anchor.equals(e)){if(this._hoverOperation.cancel(),this._widget.position)if(this._computer.anchor&&e.canAdoptVisibleHover(this._computer.anchor,this._widget.position)){const t=this._messages.filter(t=>t.isValidForHoverAnchor(e));if(0===t.length)this.hide();else{if(t.length===this._messages.length&&this._messagesAreComplete)return;this._renderMessages(e,t)}}else this.hide();this._computer.anchor=e,this._computer.shouldFocus=i,this._hoverOperation.start(t)}}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._widget.hide()}isColorPickerVisible(){return this._widget.isColorPickerVisible}containsNode(e){return this._widget.getDomNode().contains(e)}_addLoadingMessage(e){if(this._computer.anchor)for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e,t,i){this._messages=i?this._addLoadingMessage(e):e,this._messagesAreComplete=t,this._computer.anchor&&this._messages.length>0?this._renderMessages(this._computer.anchor,this._messages):t&&this.hide()}_renderMessages(t,i){const{showAtPosition:n,showAtRange:s,highlightRange:r}=e.computeHoverRanges(t.range,i),a=new o.Cm,l=a.add(new E(this._keybindingService)),d=document.createDocumentFragment();let c=null;const h={fragment:d,statusBar:l,setColorPicker:e=>c=e,onContentsChanged:()=>this._widget.onContentsChanged(),hide:()=>this.hide()};for(const e of this._participants){const t=i.filter(t=>t.owner===e);t.length>0&&a.add(e.renderHoverParts(h,t))}if(l.hasContent&&d.appendChild(l.hoverElement),d.hasChildNodes()){if(r){const t=this._editor.createDecorationsCollection();try{this._isChangingDecorations=!0,t.set([{range:r,options:e._DECORATION_OPTIONS}])}finally{this._isChangingDecorations=!1}a.add((0,o.s)(()=>{try{this._isChangingDecorations=!0,t.clear()}finally{this._isChangingDecorations=!1}}))}this._widget.showAt(d,new P(c,n,s,this._editor.getOption(54).above,this._computer.shouldFocus,a))}else a.dispose()}static computeHoverRanges(e,t){const i=e.startLineNumber;let n=e.startColumn,o=e.endColumn,s=t[0].range,a=null;for(const l of t)s=r.Q.plusRange(s,l.range),l.range.startLineNumber===i&&l.range.endLineNumber===i&&(n=Math.min(n,l.range.startColumn),o=Math.max(o,l.range.endColumn)),l.forceShowAtRange&&(a=l.range);return{showAtPosition:a?a.getStartPosition():new g.y(e.startLineNumber,n),showAtRange:a||new r.Q(i,n,i,o),highlightRange:s}}};R._DECORATION_OPTIONS=p.kI.register({description:"content-hover-highlight",className:"hoverHighlight"}),R=N([M(1,k._Y),M(2,I.b)],R);class P{constructor(e,t,i,n,o,s){this.colorPicker=e,this.showAtPosition=t,this.showAtRange=i,this.preferAbove=n,this.stoleFocus=o,this.disposables=s}}let O=class e extends o.jG{constructor(e,t){super(),this._editor=e,this._contextKeyService=t,this.allowEditorOverflow=!0,this._hoverVisibleKey=a.R.hoverVisible.bindTo(this._contextKeyService),this._hover=this._register(new h.N),this._visibleData=null,this._register(this._editor.onDidLayoutChange(()=>this._layout())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(45)&&this._updateFont()})),this._setVisibleData(null),this._layout(),this._editor.addContentWidget(this)}get position(){var e,t;return null!==(t=null===(e=this._visibleData)||void 0===e?void 0:e.showAtPosition)&&void 0!==t?t:null}get isColorPickerVisible(){var e;return Boolean(null===(e=this._visibleData)||void 0===e?void 0:e.colorPicker)}dispose(){this._editor.removeContentWidget(this),this._visibleData&&this._visibleData.disposables.dispose(),super.dispose()}getId(){return e.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){if(!this._visibleData)return null;let e=this._visibleData.preferAbove;return!e&&this._contextKeyService.getContextKeyValue(x.ob.Visible.key)&&(e=!0),{position:this._visibleData.showAtPosition,range:this._visibleData.showAtRange,preference:e?[1,2]:[2,1]}}_setVisibleData(e){this._visibleData&&this._visibleData.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!this._visibleData),this._hover.containerDomNode.classList.toggle("hidden",!this._visibleData)}_layout(){const e=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:t,lineHeight:i}=this._editor.getOption(45);this._hover.contentsDomNode.style.fontSize=`${t}px`,this._hover.contentsDomNode.style.lineHeight=""+i/t,this._hover.contentsDomNode.style.maxHeight=`${e}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(.66*this._editor.getLayoutInfo().width,500)}px`}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(e=>this._editor.applyFontInfo(e))}showAt(e,t){this._setVisibleData(t),this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._hover.contentsDomNode.style.paddingBottom="",this._updateFont(),this.onContentsChanged(),this._editor.render(),this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),t.colorPicker&&t.colorPicker.layout()}hide(){if(this._visibleData){const e=this._visibleData.stoleFocus;this._setVisibleData(null),this._editor.layoutContentWidget(this),e&&this._editor.focus()}}onContentsChanged(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged();const e=this._hover.scrollbar.getScrollDimensions();if(e.scrollWidth>e.width){const e=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingBottom!==e&&(this._hover.contentsDomNode.style.paddingBottom=e,this._editor.layoutContentWidget(this),this._hover.onContentsChanged())}}clear(){this._hover.contentsDomNode.textContent=""}};O.ID="editor.contrib.contentHoverWidget",O=N([M(1,y.fN)],O);let E=class extends o.jG{constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=D("div.hover-row.status-bar"),this.actionsElement=c.BC(this.hoverElement,D("div.actions"))}get hasContent(){return this._hasContent}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(h.j.render(this.actionsElement,e,i))}append(e){const t=c.BC(this.actionsElement,e);return this._hasContent=!0,t}};E=N([M(0,I.b)],E);class A{constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1}get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}static _getLineDecorations(e,t){if(1!==t.type)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const o=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter(e=>{if(e.options.isWholeLine)return!0;const i=e.range.startLineNumber===n?e.range.startColumn:1,s=e.range.endLineNumber===n?e.range.endColumn:o;if(e.options.showIfCollapsed){if(i>t.range.startColumn+1||t.range.endColumn-1>s)return!1}else if(i>t.range.startColumn||t.range.endColumn>s)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return _.AE.EMPTY;const i=A._getLineDecorations(this._editor,t);return _.AE.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):_.AE.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=A._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return(0,u.Yc)(t)}}var T=i(86506),F=i(1318),V=i(46025);const W=c.$;class B extends o.jG{constructor(e,t,i=V.m5){super(),this._renderDisposeables=this._register(new o.Cm),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new h.N),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new F.T({editor:this._editor},t,i)),this._computer=new H(this._editor),this._hoverOperation=this._register(new L(this._editor,this._computer)),this._register(this._hoverOperation.onResult(e=>{this._withResult(e.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(45)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return B.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(e=>this._editor.applyFontInfo(e))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e){this._computer.lineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const e=W("div.hover-row.markdown-hover"),t=c.BC(e,W("div.hover-contents")),o=this._renderDisposeables.add(this._markdownRenderer.render(n.value));t.appendChild(o.element),i.appendChild(e)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),o=this._editor.getOption(60),s=i-n-(this._hover.containerDomNode.clientHeight-o)/2;this._hover.containerDomNode.style.left=`${t.glyphMarginLeft+t.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(s),0)}px`}}B.ID="editor.contrib.modesGlyphHoverWidget";class H{constructor(e){this._editor=e,this._lineNumber=-1}get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}computeSync(){const e=e=>({value:e}),t=this._editor.getLineDecorations(this._lineNumber),i=[];if(!t)return i;for(const n of t){if(!n.options.glyphMarginClassName)continue;const t=n.options.glyphMarginHoverMessage;t&&!(0,T.it)(t)&&i.push(...(0,u._j)(t).map(e))}return i}}var j=i(35819),U=i(44824),z=i(16974),$=i(17392),Q=i(1273),G=i(90324),K=i(69376),q=i(4383),Z=i(6990),X=i(84862),Y=i(40145),J=i(53229),ee=i(34876),te=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},ie=function(e,t){return function(i,n){t(i,n,e)}};const ne=c.$;class oe{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const se={type:1,filter:{include:Z.gB.QuickFix},triggerAction:Z.fo.QuickFixHover};let re=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=5,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,o=i.getLineMaxColumn(n),s=[];for(const a of t){const t=a.range.startLineNumber===n?a.range.startColumn:1,l=a.range.endLineNumber===n?a.range.endColumn:o,d=this._markerDecorationsService.getMarker(i.uri,a);if(!d)continue;const c=new r.Q(e.range.startLineNumber,t,e.range.startLineNumber,l);s.push(new oe(this,c,d))}return s}renderHoverParts(e,t){if(!t.length)return o.jG.None;const i=new o.Cm;t.forEach(t=>e.fragment.appendChild(this.renderMarkerHover(t,i)));const n=1===t.length?t[0]:t.sort((e,t)=>Y.cj.compare(e.marker.severity,t.marker.severity))[0];return this.renderMarkerStatusbar(e,n,i),i}renderMarkerHover(e,t){const i=ne("div.hover-row"),n=c.BC(i,ne("div.marker.hover-contents")),{source:o,message:s,code:r,relatedInformation:a}=e.marker;this._editor.applyFontInfo(n);const l=c.BC(n,ne("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=s,o||r)if(r&&"string"!==typeof r){const e=ne("span");if(o){c.BC(e,ne("span")).innerText=o}const i=c.BC(e,ne("a.code-link"));i.setAttribute("href",r.target.toString()),t.add(c.ko(i,"click",e=>{this._openerService.open(r.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()}));c.BC(i,ne("span")).innerText=r.value;const s=c.BC(n,e);s.style.opacity="0.6",s.style.paddingLeft="6px"}else{const e=c.BC(n,ne("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=o&&r?`${o}(${r})`:o||`(${r})`}if((0,u.EI)(a))for(const{message:d,resource:h,startLineNumber:u,startColumn:g}of a){const e=c.BC(n,ne("div"));e.style.marginTop="8px";const i=c.BC(e,ne("a"));i.innerText=`${(0,Q.P8)(h)}(${u}, ${g}): `,i.style.cursor="pointer",t.add(c.ko(i,"click",e=>{e.stopPropagation(),e.preventDefault(),this._openerService&&this._openerService.open(h,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:u,startColumn:g}}}).catch(f.dz)}));const o=c.BC(e,ne("span"));o.innerText=d,this._editor.applyFontInfo(o)}return i}renderMarkerStatusbar(e,t,i){if(t.marker.severity!==Y.cj.Error&&t.marker.severity!==Y.cj.Warning&&t.marker.severity!==Y.cj.Info||e.statusBar.addAction({label:j.kg("view problem","View Problem"),commandId:X.i.ID,run:()=>{var i;e.hide(),null===(i=X.j.get(this._editor))||void 0===i||i.showAtMarker(t.marker),this._editor.focus()}}),!this._editor.getOption(82)){const n=e.statusBar.append(ne("div"));this.recentMarkerCodeActionsInfo&&(Y.oc.makeKey(this.recentMarkerCodeActionsInfo.marker)===Y.oc.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=j.kg("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?o.jG.None:i.add((0,_.EQ)(()=>n.textContent=j.kg("checkingForQuickFixes","Checking for quick fixes..."),200));n.textContent||(n.textContent=String.fromCharCode(160));const r=this.getCodeActions(t.marker);i.add((0,o.s)(()=>r.cancel())),r.then(r=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:r.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return r.dispose(),void(n.textContent=j.kg("noQuickFixes","No quick fixes available"));n.style.display="none";let a=!1;i.add((0,o.s)(()=>{a||r.dispose()})),e.statusBar.addAction({label:j.kg("quick fixes","Quick Fix..."),commandId:q.hi.Id,run:t=>{a=!0;const i=q.d1.get(this._editor),n=c.BK(t);e.hide(),null===i||void 0===i||i.showCodeActions(se,r,{x:n.left+6,y:n.top+n.height+6,width:n.width,height:n.height})}})},f.dz)}}getCodeActions(e){return(0,_.SS)(t=>(0,K.dU)(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new r.Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),se,J.ke.None,t))}};re=te([ie(1,G.A),ie(2,V.Cr),ie(3,ee.u)],re),(0,z.zy)((e,t)=>{const i=e.getColor(U.vwp);i&&t.addRule(`.monaco-hover .hover-contents a.code-link span { color: ${i}; }`);const n=e.getColor(U.FEE);n&&t.addRule(`.monaco-hover .hover-contents a.code-link span:hover { color: ${n}; }`)});var ae=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},le=function(e,t){return function(i,n){t(i,n,e)}};let de=class e{constructor(e,t,i,n,s){this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=n,this._toUnhook=new o.Cm,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(e=>{e.hasChanged(54)&&(this._unhookEvents(),this._hookEvents())})}static get(t){return t.getContribution(e.ID)}_hookEvents(){const e=this._editor.getOption(54);this._isHoverEnabled=e.enabled,this._isHoverSticky=e.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._toUnhook.add(this._editor.onMouseUp(e=>this._onEditorMouseUp(e))),this._toUnhook.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._toUnhook.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))):(this._toUnhook.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._toUnhook.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))),this._toUnhook.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._toUnhook.add(this._editor.onDidChangeModel(()=>this._hideWidgets())),this._toUnhook.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._isMouseDown=!0;const t=e.target;9!==t.type||t.detail!==O.ID?12===t.type&&t.detail===B.ID||(12!==t.type&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(e){this._isMouseDown=!1}_onEditorMouseLeave(e){var t;const i=e.event.browserEvent.relatedTarget;(null===(t=this._contentWidget)||void 0===t?void 0:t.containsNode(i))||this._hideWidgets()}_onEditorMouseMove(e){var t,i,n,o,s;const r=e.target;if(this._isMouseDown&&this._hoverClicked)return;if(this._isHoverSticky&&9===r.type&&r.detail===O.ID)return;if(this._isHoverSticky&&!(null===(i=null===(t=e.event.browserEvent.view)||void 0===t?void 0:t.getSelection())||void 0===i?void 0:i.isCollapsed))return;if(!this._isHoverSticky&&9===r.type&&r.detail===O.ID&&(null===(n=this._contentWidget)||void 0===n?void 0:n.isColorPickerVisible()))return;if(this._isHoverSticky&&12===r.type&&r.detail===B.ID)return;if(!this._isHoverEnabled)return void this._hideWidgets();if(!this._getOrCreateContentWidget().maybeShowAt(e))return 2===r.type&&r.position?(null===(s=this._contentWidget)||void 0===s||s.hide(),this._glyphWidget||(this._glyphWidget=new B(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(r.position.lineNumber)):void this._hideWidgets();null===(o=this._glyphWidget)||void 0===o||o.hide()}_onKeyDown(e){5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&4!==e.keyCode&&this._hideWidgets()}_hideWidgets(){var e,t,i;this._isMouseDown&&this._hoverClicked&&(null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible())||(this._hoverClicked=!1,null===(t=this._glyphWidget)||void 0===t||t.hide(),null===(i=this._contentWidget)||void 0===i||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(R,this._editor)),this._contentWidget}isColorPickerVisible(){var e;return(null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible())||!1}showContentHover(e,t,i){this._getOrCreateContentWidget().startShowingAtRange(e,t,i)}dispose(){var e,t;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),null===(e=this._glyphWidget)||void 0===e||e.dispose(),null===(t=this._contentWidget)||void 0===t||t.dispose()}};de.ID="editor.contrib.hover",de=ae([le(1,k._Y),le(2,V.Cr),le(3,l.L),le(4,y.fN)],de);class ce extends s.ks{constructor(){super({id:"editor.action.showHover",label:j.kg({key:"showHover",comment:["Label for action that will trigger the showing of a hover in the editor.","This allows for users to show the hover without using the mouse."]},"Show Hover"),alias:"Show Hover",precondition:void 0,kbOpts:{kbExpr:a.R.editorTextFocus,primary:(0,n.m5)(2089,2087),weight:100}})}run(e,t){if(!t.hasModel())return;const i=de.get(t);if(!i)return;const n=t.getPosition(),o=new r.Q(n.lineNumber,n.column,n.lineNumber,n.column),s=2===t.getOption(2);i.showContentHover(o,1,s)}}class he extends s.ks{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:j.kg({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const i=de.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const o=new r.Q(n.lineNumber,n.column,n.lineNumber,n.column),s=d.k.get(t);if(!s)return;s.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(o,1,!0)})}}(0,s.HW)(de.ID,de),(0,s.Fl)(ce),(0,s.Fl)(he),S.B2.register($.xJ),S.B2.register(re),(0,z.zy)((e,t)=>{const i=e.getColor(U.mH6);i&&t.addRule(`.monaco-editor .hoverHighlight { background-color: ${i}; }`);const n=e.getColor(U.WfR);n&&t.addRule(`.monaco-editor .monaco-hover { background-color: ${n}; }`);const o=e.getColor(U.oZ8);o&&(t.addRule(`.monaco-editor .monaco-hover { border: 1px solid ${o}; }`),t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${o.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${o.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${o.transparent(.5)}; }`));const s=e.getColor(U.vwp);s&&t.addRule(`.monaco-editor .monaco-hover a { color: ${s}; }`);const r=e.getColor(U.FEE);r&&t.addRule(`.monaco-editor .monaco-hover a:hover { color: ${r}; }`);const a=e.getColor(U.Xo2);a&&t.addRule(`.monaco-editor .monaco-hover { color: ${a}; }`);const l=e.getColor(U.rRi);l&&t.addRule(`.monaco-editor .monaco-hover .hover-row .actions { background-color: ${l}; }`);const d=e.getColor(U.S6W);d&&t.addRule(`.monaco-editor .monaco-hover code { background-color: ${d}; }`)})},54086:(e,t,i)=>{var n=i(20512),o=i(75909),s=i(28791),r=i(64796),a=i(62915),l=i(85376),d=i(62788),c=i(41362),h=i(87594),u=i(22041),g=i(35819),p=i(16974);class m{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new l.L(i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn),i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn)):new l.L(i.endLineNumber,i.endColumn-this._text.length,i.endLineNumber,i.endColumn)}}var _=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},f=function(e,t){return function(i,n){t(i,n,e)}};let v=class e{constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}static get(t){return t.getContribution(e.ID)}dispose(){}run(t,i){this.currentRequest&&this.currentRequest.cancel();const r=this.editor.getSelection(),d=this.editor.getModel();if(!d||!r)return;let c=r;if(c.startLineNumber!==c.endLineNumber)return;const h=new s.$t(this.editor,5),u=d.uri;return this.editorWorkerService.canNavigateValueSet(u)?(this.currentRequest=(0,n.SS)(e=>this.editorWorkerService.navigateValueSet(u,c,i)),this.currentRequest.then(i=>{if(!i||!i.range||!i.value)return;if(!h.validate(this.editor))return;const s=a.Q.lift(i.range);let r=i.range;const d=i.value.length-(c.endColumn-c.startColumn);r={startLineNumber:r.startLineNumber,startColumn:r.startColumn,endLineNumber:r.endLineNumber,endColumn:r.startColumn+i.value.length},d>1&&(c=new l.L(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+d-1));const u=new m(s,c,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,u),this.editor.pushUndoStop(),this.decorations.set([{range:r,options:e.DECORATION}]),this.decorationRemover&&this.decorationRemover.cancel(),this.decorationRemover=(0,n.wR)(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(o.dz)}).catch(o.dz)):Promise.resolve(void 0)}};v.ID="editor.contrib.inPlaceReplaceController",v.DECORATION=c.kI.register({description:"in-place-replace",className:"valueSetReplacement"}),v=_([f(1,h.w)],v);class C extends r.ks{constructor(){super({id:"editor.action.inPlaceReplace.up",label:g.kg("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:d.R.writable,kbOpts:{kbExpr:d.R.editorTextFocus,primary:3154,weight:100}})}run(e,t){const i=v.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}class b extends r.ks{constructor(){super({id:"editor.action.inPlaceReplace.down",label:g.kg("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:d.R.writable,kbOpts:{kbExpr:d.R.editorTextFocus,primary:3156,weight:100}})}run(e,t){const i=v.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}(0,r.HW)(v.ID,v),(0,r.Fl)(C),(0,r.Fl)(b),(0,p.zy)((e,t)=>{const i=e.getColor(u.$u);i&&t.addRule(`.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${i}; }`)})},55241:(e,t,i)=>{i.d(t,{v:()=>a});var n=i(42464),o=i(55808),s=i(98150),r=i(43178);class a extends o.jG{constructor(){super(),this._onDidChange=new n.vl,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(r.dG.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,o.lC)(new a)),this._INSTANCE}_updateColorMap(){const e=r.dG.getColorMap();if(!e)return this._colors=[s.D.Empty],void(this._backgroundIsLight=!0);this._colors=[s.D.Empty];for(let i=1;i<e.length;i++){const t=e[i].rgba;this._colors[i]=new s.D(t.r,t.g,t.b,Math.round(255*t.a))}const t=e[2].getRelativeLuminance();this._backgroundIsLight=t>=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}a._INSTANCE=null},56681:(e,t,i)=>{var n=i(64796),o=i(4383);(0,n.HW)(o.d1.ID,o.d1),(0,n.Fl)(o.hi),(0,n.Fl)(o.Hd),(0,n.Fl)(o.fV),(0,n.Fl)(o.GX),(0,n.Fl)(o.Ez),(0,n.Fl)(o.tD),(0,n.Fl)(o.pk),(0,n.E_)(new o.bw)},59138:(e,t,i)=>{i.d(t,{GP:()=>a,LM:()=>s,Uv:()=>u,kI:()=>d,nt:()=>r,or:()=>c,qL:()=>l,vo:()=>h});var n=i(24638),o=i(62915);class s{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|i,this.height=0|n}}class r{constructor(e,t){this.tabSize=e,this.data=t}}class a{constructor(e,t,i,n,o,s,r){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=o,this.tokens=s,this.inlineDecorations=r}}class l{constructor(e,t,i,n,o,s,r,a,d,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=l.isBasicASCII(i,s),this.containsRTL=l.containsRTL(i,this.isBasicASCII,o),this.tokens=r,this.inlineDecorations=a,this.tabSize=d,this.startVisibleColumn=c}static isBasicASCII(e,t){return!t||n.aC(e)}static containsRTL(e,t,i){return!(t||!i)&&n.E_(e)}}class d{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class c{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new d(new o.Q(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class h{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class u{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static cmp(e,t){return e.zIndex===t.zIndex?e.color<t.color?-1:e.color>t.color?1:0:e.zIndex-t.zIndex}}},60824:(e,t,i)=>{i.d(t,{z0:()=>st});var n=i(20512),o=i(55808),s=i(24638),r=i(64796),a=i(62788),l=i(48640),d=i(17218),c=i(55547),h=i(62915),u=i(85376),g=i(91998),p=i(35065),m=i(41362),_=i(44824),f=i(16974);class v{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(e=>this._editor.getModel().getDecorationRange(e)).filter(e=>!!e);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const e=i.options;if(e===v._FIND_MATCH_DECORATION||e===v._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let n=0,o=this._decorations.length;n<o;n++){const o=this._editor.getModel().getDecorationRange(this._decorations[n]);if(e.equalsRange(o)){t=this._decorations[n],i=n+1;break}}return null===this._highlightedDecorationId&&null===t||this._editor.changeDecorations(e=>{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,v._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,v._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let i=this._editor.getModel().getDecorationRange(t);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){const e=i.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);i=new h.Q(i.startLineNumber,i.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(i,v._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=v._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){n=v._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/t,s=Math.max(2,Math.ceil(3/i));let r=e[0].range.startLineNumber,a=e[0].range.endLineNumber;for(let n=1,l=e.length;n<l;n++){const t=e[n].range;a+s>=t.startLineNumber?t.endLineNumber>a&&(a=t.endLineNumber):(o.push({range:new h.Q(r,1,a,1),options:v._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=t.startLineNumber,a=t.endLineNumber)}o.push({range:new h.Q(r,1,a,1),options:v._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let t=0,r=e.length;t<r;t++)s[t]={range:e[t].range,options:n};this._decorations=i.deltaDecorations(this._decorations,s),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,o),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(e=>i.removeDecoration(e)),this._findScopeDecorationIds=[]),(null===t||void 0===t?void 0:t.length)&&(this._findScopeDecorationIds=t.map(e=>i.addDecoration(e,v._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(n&&!(n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,i=this._decorations.length;t<i;t++){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(n&&!(n.startLineNumber<e.lineNumber)){if(n.startLineNumber>e.lineNumber)return n;if(!(n.startColumn<e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}}v._CURRENT_FIND_MATCH_DECORATION=m.kI.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",showIfCollapsed:!0,overviewRuler:{color:(0,f.Yf)(_.fAP),position:p.A5.Center},minimap:{color:(0,f.Yf)(_.AjU),position:p.R3.Inline}}),v._FIND_MATCH_DECORATION=m.kI.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",showIfCollapsed:!0,overviewRuler:{color:(0,f.Yf)(_.fAP),position:p.A5.Center},minimap:{color:(0,f.Yf)(_.AjU),position:p.R3.Inline}}),v._FIND_MATCH_NO_OVERVIEW_DECORATION=m.kI.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),v._FIND_MATCH_ONLY_OVERVIEW_DECORATION=m.kI.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:(0,f.Yf)(_.fAP),position:p.A5.Center}}),v._RANGE_HIGHLIGHT_DECORATION=m.kI.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),v._FIND_SCOPE_DECORATION=m.kI.register({description:"find-scope",className:"findScope",isWholeLine:!0});class C{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const e=[];for(let t=0;t<this._ranges.length;t++)e.push({range:this._ranges[t],text:this._replaceStrings[t]});e.sort((e,t)=>h.Q.compareRangesUsingStarts(e.range,t.range));const i=[];let n=e[0];for(let t=1;t<e.length;t++)n.range.endLineNumber===e[t].range.startLineNumber&&n.range.endColumn===e[t].range.startColumn?(n.range=n.range.plusRange(e[t].range),n.text=n.text+e[t].text):(i.push(n),n=e[t]);i.push(n);for(const o of i)t.addEditOperation(o.range,o.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}var b=i(58966);class w{constructor(e){this.staticValue=e,this.kind=0}}class L{constructor(e){this.pieces=e,this.kind=1}}class S{constructor(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?this._state=new w(e[0].staticValue):this._state=new L(e):this._state=new w("")}static fromStaticValue(e){return new S([y.staticValue(e)])}get hasReplacementPatterns(){return 1===this._state.kind}buildReplaceString(e,t){if(0===this._state.kind)return t?(0,b.u)(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,o=this._state.pieces.length;n<o;n++){const t=this._state.pieces[n];if(null!==t.staticValue){i+=t.staticValue;continue}let o=S._substitute(t.matchIndex,e);if(null!==t.caseOps&&t.caseOps.length>0){const e=[],i=t.caseOps.length;let n=0;for(let s=0,r=o.length;s<r;s++){if(n>=i){e.push(o.slice(s));break}switch(t.caseOps[n]){case"U":e.push(o[s].toUpperCase());break;case"u":e.push(o[s].toUpperCase()),n++;break;case"L":e.push(o[s].toLowerCase());break;case"l":e.push(o[s].toLowerCase()),n++;break;default:e.push(o[s])}}o=e.join("")}i+=o}return i}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let i="";for(;e>0;){if(e<t.length){return(t[e]||"")+i}i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class y{constructor(e,t,i){this.staticValue=e,this.matchIndex=t,i&&0!==i.length?this.caseOps=i.slice(0):this.caseOps=null}static staticValue(e){return new y(e,-1,null)}static caseOps(e,t){return new y(null,e,t)}}class k{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){0!==e.length&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=y.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=y.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=y.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new S(this._result)}}var I=i(21181);const x=new I.N1("findWidgetVisible",!1),N=(x.toNegated(),new I.N1("findInputFocussed",!1)),M=new I.N1("replaceInputFocussed",!1),D={primary:545,mac:{primary:2593}},R={primary:565,mac:{primary:2613}},P={primary:560,mac:{primary:2608}},O={primary:554,mac:{primary:2602}},E={primary:558,mac:{primary:2606}},A="actions.find",T="actions.findWithSelection",F="editor.actions.findWithArgs",V="editor.action.nextMatchFindAction",W="editor.action.previousMatchFindAction",B="editor.action.nextSelectionMatchFindAction",H="editor.action.previousSelectionMatchFindAction",j="editor.action.startFindReplaceAction",U="closeFindWidget",z="toggleFindCaseSensitive",$="toggleFindWholeWord",Q="toggleFindRegex",G="toggleFindInSelection",K="togglePreserveCase",q="editor.action.replaceOne",Z="editor.action.replaceAll",X="editor.action.selectAllMatches",Y=19999;class J{constructor(e,t){this._toDispose=new o.Cm,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new n.pc,this._decorations=new v(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new n.uC(()=>this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,o.AS)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){if(!this._isDisposed&&this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)){this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;"undefined"!==typeof t?null!==t&&(i=Array.isArray(t)?t:[t]):i=this._decorations.getFindScopes(),null!==i&&(i=i.map(e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new h.Q(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e}));const n=this._findMatches(i,!1,Y);this._decorations.set(n,i);const o=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(o);if(0===s&&n.length>0){const e=(0,l.aB)(n.map(e=>e.range),e=>h.Q.compareRangesUsingStarts(e,o)>=0);s=e>0?e-1+1:s}this._state.changeMatchInfo(s,this._decorations.getCount(),void 0),e&&this._editor.getOption(36).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const o=this._editor.getModel();return t||1===n?(1===i?i=o.getLineCount():i--,n=o.getLineMaxColumn(i)):n--,new c.y(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()<Y){let t=this._decorations.matchBeforePosition(e);return t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),t=this._decorations.matchBeforePosition(e)),void(t&&this._setCurrentFindMatch(t))}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=J._getSearchRange(this._editor.getModel(),i);n.getEndPosition().isBefore(e)&&(e=n.getEndPosition()),e.isBefore(n.getStartPosition())&&(e=n.getEndPosition());const{lineNumber:o,column:s}=e,r=this._editor.getModel();let a=new c.y(o,s),l=r.findPreviousMatch(this._state.searchString,a,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(118):null,!1);return l&&l.range.isEmpty()&&l.range.getStartPosition().equals(a)&&(a=this._prevSearchPosition(a),l=r.findPreviousMatch(this._state.searchString,a,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(118):null,!1)),l?t||n.containsRange(l.range)?void this._setCurrentFindMatch(l.range):this._moveToPrevMatch(l.range.getStartPosition(),!0):void 0}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const o=this._editor.getModel();return t||n===o.getLineMaxColumn(i)?(i===o.getLineCount()?i=1:i++,n=1):n++,new c.y(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()<Y){let t=this._decorations.matchAfterPosition(e);return t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),void(t&&this._setCurrentFindMatch(t))}const t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,n=!1){if(this._cannotFind())return null;const o=this._decorations.getFindScope(),s=J._getSearchRange(this._editor.getModel(),o);s.getEndPosition().isBefore(e)&&(e=s.getStartPosition()),e.isBefore(s.getStartPosition())&&(e=s.getStartPosition());const{lineNumber:r,column:a}=e,l=this._editor.getModel();let d=new c.y(r,a),h=l.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(118):null,t);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(d)&&(d=this._nextSearchPosition(d),h=l.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(118):null,t)),h?n||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),t,i,!0):null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_getReplacePattern(){return this._state.isRegex?function(e){if(!e||0===e.length)return new S(null);const t=[],i=new k(e);for(let n=0,o=e.length;n<o;n++){const s=e.charCodeAt(n);if(92===s){if(n++,n>=o)break;const s=e.charCodeAt(n);switch(s){case 92:i.emitUnchanged(n-1),i.emitStatic("\\",n+1);break;case 110:i.emitUnchanged(n-1),i.emitStatic("\n",n+1);break;case 116:i.emitUnchanged(n-1),i.emitStatic("\t",n+1);break;case 117:case 85:case 108:case 76:i.emitUnchanged(n-1),i.emitStatic("",n+1),t.push(String.fromCharCode(s))}continue}if(36===s){if(n++,n>=o)break;const s=e.charCodeAt(n);if(36===s){i.emitUnchanged(n-1),i.emitStatic("$",n+1);continue}if(48===s||38===s){i.emitUnchanged(n-1),i.emitMatchIndex(0,n+1,t),t.length=0;continue}if(49<=s&&s<=57){let r=s-48;if(n+1<o){const o=e.charCodeAt(n+1);if(48<=o&&o<=57){n++,r=10*r+(o-48),i.emitUnchanged(n-2),i.emitMatchIndex(r,n+1,t),t.length=0;continue}}i.emitUnchanged(n-1),i.emitMatchIndex(r,n+1,t),t.length=0;continue}}}return i.finalize()}(this._state.replaceString):S.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),o=new d.iu(t,n);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new c.y(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map(e=>J._getSearchRange(this._editor.getModel(),e));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(118):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=Y?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new g.lt(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(118):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const i=this._editor.getModel(),n=i.getValue(1),o=i.getFullModelRange(),s=this._getReplacePattern();let r;const a=this._state.preserveCase;r=s.hasReplacementPatterns||a?n.replace(t,function(){return s.buildReplaceString(arguments,a)}):n.replace(t,s.buildReplaceString(null,a));const l=new d.ui(o,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let s=0,r=i.length;s<r;s++)n[s]=t.buildReplaceString(i[s].matches,this._state.preserveCase);const o=new C(this._editor.getSelection(),i.map(e=>e.range),n);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map(e=>new u.L(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn));const i=this._editor.getSelection();for(let n=0,o=t.length;n<o;n++){if(t[n].equalsRange(i)){t=[i].concat(t.slice(0,n)).concat(t.slice(n+1));break}}this._editor.setSelections(t)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}var ee=i(90491),te=i(59164),ie=i(27444);class ne extends ie.x{constructor(e,t,i,o){super(),this._hideSoon=this._register(new n.uC(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const s=o.getColorTheme().getColor(_.uNK),r=o.getColorTheme().getColor(_.$$0),a=o.getColorTheme().getColor(_.c1f);this.caseSensitive=this._register(new te.bc({appendTitle:this._keybindingLabelFor(z),isChecked:this._state.matchCase,inputActiveOptionBorder:s,inputActiveOptionForeground:r,inputActiveOptionBackground:a})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new te.nV({appendTitle:this._keybindingLabelFor($),isChecked:this._state.wholeWord,inputActiveOptionBorder:s,inputActiveOptionForeground:r,inputActiveOptionBackground:a})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new te.Ix({appendTitle:this._keybindingLabelFor(Q),isChecked:this._state.isRegex,inputActiveOptionBorder:s,inputActiveOptionForeground:r,inputActiveOptionBackground:a})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()})),this._register(ee.ko(this._domNode,ee.Bx.MOUSE_LEAVE,e=>this._onMouseLeave())),this._register(ee.ko(this._domNode,"mouseover",e=>this._onMouseOver())),this._applyTheme(o.getColorTheme()),this._register(o.onDidColorThemeChange(this._applyTheme.bind(this)))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ne.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}_applyTheme(e){const t={inputActiveOptionBorder:e.getColor(_.uNK),inputActiveOptionForeground:e.getColor(_.$$0),inputActiveOptionBackground:e.getColor(_.c1f)};this.caseSensitive.style(t),this.wholeWords.style(t),this.regex.style(t)}}ne.ID="editor.contrib.findOptionsWidget",(0,f.zy)((e,t)=>{const i=e.getColor(_.CgL);i&&t.addRule(`.monaco-editor .findOptionsWidget { background-color: ${i}; }`);const n=e.getColor(_.FiB);n&&t.addRule(`.monaco-editor .findOptionsWidget { color: ${n}; }`);const o=e.getColor(_.f9l);o&&t.addRule(`.monaco-editor .findOptionsWidget { box-shadow: 0 0 8px 2px ${o}; }`);const s=e.getColor(_.b1q);s&&t.addRule(`.monaco-editor .findOptionsWidget { border: 2px solid ${s}; }`)});var oe=i(42464);function se(e,t){return 1===e||2!==e&&t}class re extends o.jG{constructor(){super(),this._onFindReplaceStateChange=this._register(new oe.vl),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return se(this._isRegexOverride,this._isRegex)}get wholeWord(){return se(this._wholeWordOverride,this._wholeWord)}get matchCase(){return se(this._matchCaseOverride,this._matchCase)}get preserveCase(){return se(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,o=!0),"undefined"!==typeof i&&(h.Q.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var n;const o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,l=this.matchCase,d=this.preserveCase;"undefined"!==typeof e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,s=!0),"undefined"!==typeof e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,s=!0),"undefined"!==typeof e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,s=!0),"undefined"!==typeof e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,s=!0),"undefined"!==typeof e.isRegex&&(this._isRegex=e.isRegex),"undefined"!==typeof e.wholeWord&&(this._wholeWord=e.wholeWord),"undefined"!==typeof e.matchCase&&(this._matchCase=e.matchCase),"undefined"!==typeof e.preserveCase&&(this._preserveCase=e.preserveCase),"undefined"!==typeof e.searchScope&&((null===(n=e.searchScope)||void 0===n?void 0:n.every(e=>{var t;return null===(t=this._searchScope)||void 0===t?void 0:t.some(t=>!h.Q.equalsRange(t,e))}))||(this._searchScope=e.searchScope,o.searchScope=!0,s=!0)),"undefined"!==typeof e.loop&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,s=!0),"undefined"!==typeof e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,s=!0),"undefined"!==typeof e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,s=!0),this._isRegexOverride="undefined"!==typeof e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride="undefined"!==typeof e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride="undefined"!==typeof e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride="undefined"!==typeof e.preserveCaseOverride?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,o.isRegex=!0),a!==this.wholeWord&&(s=!0,o.wholeWord=!0),l!==this.matchCase&&(s=!0,o.matchCase=!0),d!==this.preserveCase&&(s=!0,o.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=Y}}var ae=i(85829),le=i(95025),de=i(68239),ce=i(88106),he=i(75909),ue=i(55977),ge=i(35819),pe=i(6301),me=i(2271),_e=i(62192),fe=i(59281),ve=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const Ce=(0,_e.pU)("find-selection",ce.W6.selection,ge.kg("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),be=(0,_e.pU)("find-collapsed",ce.W6.chevronRight,ge.kg("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),we=(0,_e.pU)("find-expanded",ce.W6.chevronDown,ge.kg("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Le=(0,_e.pU)("find-replace",ce.W6.replace,ge.kg("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Se=(0,_e.pU)("find-replace-all",ce.W6.replaceAll,ge.kg("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),ye=(0,_e.pU)("find-previous-match",ce.W6.arrowUp,ge.kg("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),ke=(0,_e.pU)("find-next-match",ce.W6.arrowDown,ge.kg("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Ie=ge.kg("label.find","Find"),xe=ge.kg("placeholder.find","Find"),Ne=ge.kg("label.previousMatchButton","Previous Match"),Me=ge.kg("label.nextMatchButton","Next Match"),De=ge.kg("label.toggleSelectionFind","Find in Selection"),Re=ge.kg("label.closeButton","Close"),Pe=ge.kg("label.replace","Replace"),Oe=ge.kg("placeholder.replace","Replace"),Ee=ge.kg("label.replaceButton","Replace"),Ae=ge.kg("label.replaceAllButton","Replace All"),Te=ge.kg("label.toggleReplaceButton","Toggle Replace"),Fe=ge.kg("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",Y),Ve=ge.kg("label.matchesLocation","{0} of {1}"),We=ge.kg("label.noResults","No results"),Be=419;let He=69;const je="ctrlEnterReplaceAll.windows.donotask",Ue=ue.zx?256:2048;class ze{constructor(e){this.afterLineNumber=e,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function $e(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionStart>0&&e.stopPropagation()}function Qe(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionEnd<i.value.length&&e.stopPropagation()}class Ge extends ie.x{constructor(e,t,i,s,r,a,l,d,c){super(),this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=s,this._keybindingService=r,this._contextKeyService=a,this._storageService=d,this._notificationService=c,this._ctrlEnterReplaceAllWarningPrompted=!!d.getBoolean(je,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new n.ve(500),this._register((0,o.s)(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(e=>{if(e.hasChanged(82)&&(this._codeEditor.getOption(82)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(132)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(36)){const e=this._codeEditor.getOption(36).addExtraSpaceOnTop;e&&!this._viewZone&&(this._viewZone=new ze(0),this._showViewZone()),!e&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(()=>ve(this,void 0,void 0,function*(){if(this._isVisible){const e=yield this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}}))),this._findInputFocused=N.bindTo(a),this._findFocusTracker=this._register(ee.w5(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=M.bindTo(a),this._replaceFocusTracker=this._register(ee.w5(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(36).addExtraSpaceOnTop&&(this._viewZone=new ze(0)),this._applyTheme(l.getColorTheme()),this._register(l.onDidColorThemeChange(this._applyTheme.bind(this))),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return Ge.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(82)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=ee.Tr(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,he.dz)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=He+"px",this._state.matchesCount>=Y?this._matchesCount.title=Fe:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=Y&&(t+="+");let i=String(this._state.matchesPosition);"0"===i&&(i="?"),e=s.GP(Ve,i,t)}else e=We;this._matchesCount.appendChild(document.createTextNode(e)),(0,ae.xE)(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),He=Math.max(He,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===We)return""===i?ge.kg("ariaSearchNoResultEmpty","{0} found",e):ge.kg("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=ge.kg("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();if(o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1){return`${o.getLineContent(t.startLineNumber)}, ${n}`}return n}return ge.kg("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(82);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(36).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(36).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=ee.BK(i),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=n.left+(o?o.left:0),r=o?o.top:0;if(this._viewZone&&r<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const i=ee.cL(this._domNode).left;s>i&&(t=!1);const o=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(o?o.left:0)>i&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(36).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones(i=>{t.heightInPx=this._getHeight(),this._viewZoneId=i.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(36).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new ze(0));const t=this._viewZone;this._codeEditor.changeViewZones(i=>{if(void 0!==this._viewZoneId){const n=this._getHeight();if(n===t.heightInPx)return;const o=n-t.heightInPx;return t.heightInPx=n,i.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o))}{let n=this._getHeight();if(n-=this._codeEditor.getOption(76).top,n<=0)return;t.heightInPx=n,this._viewZoneId=i.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{void 0!==this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_applyTheme(e){const t={inputActiveOptionBorder:e.getColor(_.uNK),inputActiveOptionBackground:e.getColor(_.c1f),inputActiveOptionForeground:e.getColor(_.$$0),inputBackground:e.getColor(_.L4c),inputForeground:e.getColor(_.cws),inputBorder:e.getColor(_.Zgs),inputValidationInfoBackground:e.getColor(_.I$A),inputValidationInfoForeground:e.getColor(_.L9Z),inputValidationInfoBorder:e.getColor(_.YSW),inputValidationWarningBackground:e.getColor(_.ULt),inputValidationWarningForeground:e.getColor(_.T5N),inputValidationWarningBorder:e.getColor(_.C1n),inputValidationErrorBackground:e.getColor(_._$n),inputValidationErrorForeground:e.getColor(_.h9z),inputValidationErrorBorder:e.getColor(_.eYZ)};this._findInput.style(t),this._replaceInput.style(t),this._toggleSelectionFind.style(t)}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!ee.qD(this._domNode))return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,i=e.minimap.minimapWidth;let n=!1,o=!1,s=!1;if(this._resized){if(ee.Tr(this._domNode)>Be)return this._domNode.style.maxWidth=t-28-i-15+"px",void(this._replaceInput.width=ee.Tr(this._findInput.domNode))}if(447+i>=t&&(o=!0),447+i-He>=t&&(s=!0),447+i-He>=t+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",s),this._domNode.classList.toggle("reduced-find-widget",o),s||n||(this._domNode.style.maxWidth=t-28-i-15+"px"),this._resized){this._findInput.inputBox.layout();const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=ee.Tr(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||h.Q.equalsRange(e,t)?null:e}).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|Ue)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?$e(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?Qe(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|Ue)?(this._keybindingService.dispatchEvent(e,e.target)||(ue.uF&&ue.ib&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(ge.kg("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(je,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?$e(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?Qe(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const e=!0,t=!0;this._findInput=this._register(new pe.pG(null,this._contextViewProvider,{width:221,label:Ie,placeholder:xe,appendCaseSensitiveLabel:this._keybindingLabelFor(z),appendWholeWordsLabel:this._keybindingLabelFor($),appendRegexLabel:this._keybindingLabelFor(Q),validation:e=>{if(0===e.length||!this._findInput.getRegex())return null;try{return new RegExp(e,"gu"),null}catch(t){return{content:t.message}}},flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showHistoryHint:()=>(0,me.z)(this._keybindingService)},this._contextKeyService,!0)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(e=>this._onFindInputKeyDown(e))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())})),this._register(this._findInput.onRegexKeyDown(e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(e=>{this._tryUpdateHeight()&&this._showViewZone()})),ue.j9&&this._register(this._findInput.onMouseDown(e=>this._onFindInputMouseDown(e))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new Ke({label:Ne+this._keybindingLabelFor(W),icon:ye,onTrigger:()=>{this._codeEditor.getAction(W).run().then(void 0,he.dz)}})),this._nextBtn=this._register(new Ke({label:Me+this._keybindingLabelFor(V),icon:ke,onTrigger:()=>{this._codeEditor.getAction(V).run().then(void 0,he.dz)}}));const i=document.createElement("div");i.className="find-part",i.appendChild(this._findInput.domNode);const n=document.createElement("div");n.className="find-actions",i.appendChild(n),n.appendChild(this._matchesCount),n.appendChild(this._prevBtn.domNode),n.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new le.l({icon:Ce,title:De+this._keybindingLabelFor(G),isChecked:!1})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const e=this._codeEditor.getSelections();e.map(e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)})),n.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Ke({label:Re+this._keybindingLabelFor(U),icon:_e.$_,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}})),n.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new pe._Q(null,void 0,{label:Pe,placeholder:Oe,appendPreserveCaseLabel:this._keybindingLabelFor(K),history:[],flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showHistoryHint:()=>(0,me.z)(this._keybindingService)},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(e=>this._onReplaceInputKeyDown(e))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(e=>{e.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),e.preventDefault())})),this._replaceBtn=this._register(new Ke({label:Ee+this._keybindingLabelFor(q),icon:Le,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}})),this._replaceAllBtn=this._register(new Ke({label:Ae+this._keybindingLabelFor(Z),icon:Se,onTrigger:()=>{this._controller.replaceAll()}}));const o=document.createElement("div");o.className="replace-part",o.appendChild(this._replaceInput.domNode);const s=document.createElement("div");s.className="replace-actions",o.appendChild(s),s.appendChild(this._replaceBtn.domNode),s.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Ke({label:Te,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=ee.Tr(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(i),this._domNode.appendChild(o),this._resizeSash=new de.m(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let r=Be;this._register(this._resizeSash.onDidStart(()=>{r=ee.Tr(this._domNode)})),this._register(this._resizeSash.onDidChange(e=>{this._resized=!0;const t=r+e.startX-e.currentX;if(t<Be)return;t>(parseFloat(ee.L9(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=ee.Tr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const e=ee.Tr(this._domNode);if(e<Be)return;let t=Be;if(!this._resized||e===Be){const e=this._codeEditor.getLayoutInfo();t=e.width-28-e.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=ee.Tr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(2!==e)}}Ge.ID="editor.contrib.findWidget";class Ke extends ie.x{constructor(e){super(),this._opts=e;let t="button";this._opts.className&&(t=t+" "+this._opts.className),this._opts.icon&&(t=t+" "+f.L0.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.title=this._opts.label,this._domNode.tabIndex=0,this._domNode.className=t,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this.onclick(this._domNode,e=>{this._opts.onTrigger(),e.preventDefault()}),this.onkeydown(this._domNode,e=>{var t,i;if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();null===(i=(t=this._opts).onKeyDown)||void 0===i||i.call(t,e)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...f.L0.asClassNameArray(be)),this._domNode.classList.add(...f.L0.asClassNameArray(we))):(this._domNode.classList.remove(...f.L0.asClassNameArray(we)),this._domNode.classList.add(...f.L0.asClassNameArray(be)))}}(0,f.zy)((e,t)=>{const i=(e,i)=>{i&&t.addRule(`.monaco-editor ${e} { background-color: ${i}; }`)};i(".findMatch",e.getColor(_.Ubg)),i(".currentFindMatch",e.getColor(_.Syz)),i(".findScope",e.getColor(_.Q96));i(".find-widget",e.getColor(_.CgL));const n=e.getColor(_.f9l);n&&t.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${n}; }`);const o=e.getColor(_.ECk);o&&t.addRule(`.monaco-editor .findMatch { border: 1px ${(0,fe.Bb)(e.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const s=e.getColor(_._NC);s&&t.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${s}; padding: 1px; box-sizing: border-box; }`);const r=e.getColor(_.S5J);r&&t.addRule(`.monaco-editor .findScope { border: 1px ${(0,fe.Bb)(e.type)?"dashed":"solid"} ${r}; }`);const a=e.getColor(_.b1q);a&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${a}; }`);const l=e.getColor(_.FiB);l&&t.addRule(`.monaco-editor .find-widget { color: ${l}; }`);const d=e.getColor(_.UPX);d&&t.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${d}; }`);const c=e.getColor(_.US);if(c)t.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${c}; }`);else{const i=e.getColor(_.sIe);i&&t.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${i}; }`)}const h=e.getColor(_.ObF);h&&t.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${h} !important;\n\t\t}\n\t`);const u=e.getColor(_.tAP);u&&t.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${u}; }`)});var qe=i(93593),Ze=i(43772),Xe=i(95166),Ye=i(47925),Je=i(74349),et=i(87899),tt=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},it=function(e,t){return function(i,n){t(i,n,e)}},nt=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};function ot(e,t="single",i=!1){if(!e.hasModel())return null;const n=e.getSelection();if("single"===t&&n.startLineNumber===n.endLineNumber||"multiple"===t)if(n.isEmpty()){const t=e.getConfiguredWordAtPosition(n.getStartPosition());if(t&&!1===i)return t.word}else if(e.getModel().getValueLengthInRange(n)<524288)return e.getModel().getValueInRange(n);return null}let st=class e extends o.jG{constructor(e,t,i,o){super(),this._editor=e,this._findWidgetVisible=x.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=o,this._updateHistoryDelayer=new n.ve(500),this._state=this._register(new re),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const e=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),e&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(36).loop})}))}get editor(){return this._editor}static get(t){return t.getContribution(e.ID)}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!N.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){const e=this._editor.getSelections();e.map(e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=s.bm(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}_start(e,t){return nt(this,void 0,void 0,function*(){if(this.disposeModel(),!this._editor.hasModel())return;const i=Object.assign(Object.assign({},t),{isRevealed:!0});if("single"===e.seedSearchStringFromSelection){const t=ot(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?i.searchString=s.bm(t):i.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=ot(this._editor,e.seedSearchStringFromSelection);t&&(i.searchString=t)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const e=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(i.searchString=e)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some(e=>!e.isEmpty())&&(i.searchScope=e)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new J(this._editor,this._state))})}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){return!!this._model&&(this._model.replaceAll(),!0)}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}getGlobalBufferTerm(){return nt(this,void 0,void 0,function*(){return this._editor.getOption(36).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""})}setGlobalBufferTerm(e){this._editor.getOption(36).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};st.ID="editor.contrib.findController",st=tt([it(1,I.fN),it(2,et.CS),it(3,Ze.h)],st);let rt=class extends st{constructor(e,t,i,n,o,s,r,a){super(e,i,r,a),this._contextViewService=t,this._keybindingService=n,this._themeService=o,this._notificationService=s,this._widget=null,this._findOptionsWidget=null}_start(e,t){const i=Object.create(null,{_start:{get:()=>super._start}});return nt(this,void 0,void 0,function*(){this._widget||this._createFindWidget();const n=this._editor.getSelection();let o=!1;switch(this._editor.getOption(36).autoFindInSelection){case"always":o=!0;break;case"never":o=!1;break;case"multiline":o=!!n&&n.startLineNumber!==n.endLineNumber;break}e.updateSearchScope=e.updateSearchScope||o,yield i._start.call(this,e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&this._widget.focusFindInput())})}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new Ge(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new ne(this._editor,this._state,this._keybindingService,this._themeService))}};rt=tt([it(1,Xe.l),it(2,I.fN),it(3,Ye.b),it(4,f.Gy),it(5,Je.Ot),it(6,et.CS),it(7,Ze.h)],rt);(0,r.gW)(new r.PF({id:A,label:ge.kg("startFindAction","Find"),alias:"Find",precondition:I.M$.or(a.R.focus,I.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:qe.D8.MenubarEditMenu,group:"3_find",title:ge.kg({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,(e,t,i)=>{const n=st.get(t);return!!n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(36).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(36).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(36).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(36).loop})});const at={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:ge.kg("actions.find.isRegexOverride",'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:ge.kg("actions.find.wholeWordOverride",'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:ge.kg("actions.find.matchCaseOverride",'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:ge.kg("actions.find.preserveCaseOverride",'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class lt extends r.ks{constructor(){super({id:F,label:ge.kg("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},description:at})}run(e,t,i){return nt(this,void 0,void 0,function*(){const e=st.get(t);if(e){const n=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:void 0!==i.replaceString,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==t.getOption(36).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(36).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null===i||void 0===i?void 0:i.findInSelection)||!1,loop:t.getOption(36).loop},n),e.setGlobalBufferTerm(e.getState().searchString)}})}}class dt extends r.ks{constructor(){super({id:T,label:ge.kg("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}run(e,t){return nt(this,void 0,void 0,function*(){const e=st.get(t);e&&(yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(36).loop}),e.setGlobalBufferTerm(e.getState().searchString))})}}class ct extends r.ks{run(e,t){return nt(this,void 0,void 0,function*(){const e=st.get(t);e&&!this._run(e)&&(yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==t.getOption(36).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(36).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(36).loop}),this._run(e))})}}class ht extends r.ks{run(e,t){return nt(this,void 0,void 0,function*(){const e=st.get(t);if(!e)return;const i="selection"===t.getOption(36).seedSearchStringFromSelection;let n=null;"never"!==t.getOption(36).seedSearchStringFromSelection&&(n=ot(t,"single",i)),n&&e.setSearchString(n),this._run(e)||(yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(36).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:i,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(36).loop}),this._run(e))})}}(0,r.gW)(new r.PF({id:j,label:ge.kg("startReplace","Replace"),alias:"Replace",precondition:I.M$.or(a.R.focus,I.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:qe.D8.MenubarEditMenu,group:"3_find",title:ge.kg({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,(e,t,i)=>{if(!t.hasModel()||t.getOption(82))return!1;const n=st.get(t);if(!n)return!1;const o=t.getSelection(),s=n.isFindInputFocused(),r=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&"never"!==t.getOption(36).seedSearchStringFromSelection&&!s,a=s||r?2:1;return n.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(36).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(36).seedSearchStringFromSelection,shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(36).loop})}),(0,r.HW)(st.ID,rt),(0,r.Fl)(lt),(0,r.Fl)(dt),(0,r.Fl)(class extends ct{constructor(){super({id:V,label:ge.kg("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:a.R.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:I.M$.and(a.R.focus,N),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}),(0,r.Fl)(class extends ct{constructor(){super({id:W,label:ge.kg("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:a.R.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:I.M$.and(a.R.focus,N),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}),(0,r.Fl)(class extends ht{constructor(){super({id:B,label:ge.kg("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:a.R.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}),(0,r.Fl)(class extends ht{constructor(){super({id:H,label:ge.kg("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:a.R.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}});const ut=r.DX.bindToContribution(st.get);(0,r.E_)(new ut({id:U,precondition:x,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:I.M$.and(a.R.focus,I.M$.not("isComposing")),primary:9,secondary:[1033]}})),(0,r.E_)(new ut({id:z,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:D.primary,mac:D.mac,win:D.win,linux:D.linux}})),(0,r.E_)(new ut({id:$,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:R.primary,mac:R.mac,win:R.win,linux:R.linux}})),(0,r.E_)(new ut({id:Q,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:P.primary,mac:P.mac,win:P.win,linux:P.linux}})),(0,r.E_)(new ut({id:G,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:O.primary,mac:O.mac,win:O.win,linux:O.linux}})),(0,r.E_)(new ut({id:K,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:E.primary,mac:E.mac,win:E.win,linux:E.linux}})),(0,r.E_)(new ut({id:q,precondition:x,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:3094}})),(0,r.E_)(new ut({id:q,precondition:x,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:I.M$.and(a.R.focus,M),primary:3}})),(0,r.E_)(new ut({id:Z,precondition:x,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:2563}})),(0,r.E_)(new ut({id:Z,precondition:x,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:I.M$.and(a.R.focus,M),primary:void 0,mac:{primary:2051}}})),(0,r.E_)(new ut({id:X,precondition:x,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:a.R.focus,primary:515}}))},62886:(e,t,i)=>{var n=i(55808),o=i(24638),s=i(64796),r=i(96126),a=i(73983),l=i(62915),d=i(85376),c=i(62788),h=i(10884),u=i(19724),g=i(82550),p=i(35819),m=i(31001),_=i(96809),f=i(73719),v=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},C=function(e,t){return function(i,n){t(i,n,e)}};function b(e,t,i,n,s){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return[];const l=t.getLanguageConfiguration(e.getLanguageId()).indentationRules;if(!l)return[];for(n=Math.min(n,e.getLineCount());i<=n&&l.unIndentedLinePattern;){const t=e.getLineContent(i);if(!l.unIndentedLinePattern.test(t))break;i++}if(i>n-1)return[];const{tabSize:c,indentSize:h,insertSpaces:u}=e.getOptions(),g=(e,t)=>(t=t||1,r.Y.shiftIndent(e,e.length+t,c,h,u)),p=(e,t)=>(t=t||1,r.Y.unshiftIndent(e,e.length+t,c,h,u)),m=[];let f;const v=e.getLineContent(i);let C=v;if(void 0!==s&&null!==s){f=s;const e=o.UU(v);C=f+v.substring(e.length),l.decreaseIndentPattern&&l.decreaseIndentPattern.test(C)&&(f=p(f),C=f+v.substring(e.length)),v!==C&&m.push(a.k.replaceMove(new d.L(i,1,i,e.length+1),(0,_.P)(f,h,u)))}else f=o.UU(v);let b=f;l.increaseIndentPattern&&l.increaseIndentPattern.test(C)?(b=g(b),f=g(f)):l.indentNextLinePattern&&l.indentNextLinePattern.test(C)&&(b=g(b));for(let r=++i;r<=n;r++){const t=e.getLineContent(r),i=o.UU(t),n=b+t.substring(i.length);l.decreaseIndentPattern&&l.decreaseIndentPattern.test(n)&&(b=p(b),f=p(f)),i!==b&&m.push(a.k.replaceMove(new d.L(r,1,r,i.length+1),(0,_.P)(b,h,u))),l.unIndentedLinePattern&&l.unIndentedLinePattern.test(t)||(l.increaseIndentPattern&&l.increaseIndentPattern.test(n)?(f=g(f),b=f):b=l.indentNextLinePattern&&l.indentNextLinePattern.test(n)?g(b):f)}return m}class w extends s.ks{constructor(){super({id:w.ID,label:p.kg("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:c.R.writable})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),o=t.getSelection();if(!o)return;const s=new P(o,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}w.ID="editor.action.indentationToSpaces";class L extends s.ks{constructor(){super({id:L.ID,label:p.kg("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:c.R.writable})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),o=t.getSelection();if(!o)return;const s=new O(o,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}L.ID="editor.action.indentationToTabs";class S extends s.ks{constructor(e,t){super(t),this.insertSpaces=e}run(e,t){const i=e.get(m.GK),n=e.get(u.S),o=t.getModel();if(!o)return;const s=n.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),r=[1,2,3,4,5,6,7,8].map(e=>({id:e.toString(),label:e.toString(),description:e===s.tabSize?p.kg("configuredTabSize","Configured Tab Size"):void 0})),a=Math.min(o.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(r,{placeHolder:p.kg({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:r[a]}).then(e=>{e&&o&&!o.isDisposed()&&o.updateOptions({tabSize:parseInt(e.label,10),insertSpaces:this.insertSpaces})})},50)}}class y extends S{constructor(){super(!1,{id:y.ID,label:p.kg("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}y.ID="editor.action.indentUsingTabs";class k extends S{constructor(){super(!0,{id:k.ID,label:p.kg("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}k.ID="editor.action.indentUsingSpaces";class I extends s.ks{constructor(){super({id:I.ID,label:p.kg("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(u.S),n=t.getModel();if(!n)return;const o=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(o.insertSpaces,o.tabSize)}}I.ID="editor.action.detectIndentation";class x extends s.ks{constructor(){super({id:"editor.action.reindentlines",label:p.kg("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:c.R.writable})}run(e,t){const i=e.get(h.JZ),n=t.getModel();if(!n)return;const o=b(n,i,1,n.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}class N extends s.ks{constructor(){super({id:"editor.action.reindentselectedlines",label:p.kg("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:c.R.writable})}run(e,t){const i=e.get(h.JZ),n=t.getModel();if(!n)return;const o=t.getSelections();if(null===o)return;const s=[];for(const r of o){let e=r.startLineNumber,t=r.endLineNumber;if(e!==t&&1===r.endColumn&&t--,1===e){if(e===t)continue}else e--;const o=b(n,i,e,t);s.push(...o)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class M{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&"string"===typeof i.text&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(l.Q.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let D=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new n.Cm,this.callOnModel=new n.Cm,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),this.editor.getOption(9)<4||this.editor.getOption(49)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(null===t||t.length>1)return;const i=this.editor.getModel();if(!i)return;if(!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const n=this.editor.getOption(9),{tabSize:s,indentSize:a,insertSpaces:d}=i.getOptions(),c=[],h={shiftIndent:e=>r.Y.shiftIndent(e,e.length+1,s,a,d),unshiftIndent:e=>r.Y.unshiftIndent(e,e.length+1,s,a,d)};let u=e.startLineNumber;for(;u<=e.endLineNumber&&this.shouldIgnoreLine(i,u);)u++;if(u>e.endLineNumber)return;let p=i.getLineContent(u);if(!/\S/.test(p.substring(0,e.startColumn-1))){const e=(0,f.$f)(n,i,i.getLanguageId(),u,h,this._languageConfigurationService);if(null!==e){const t=o.UU(p),n=g.c(e,s);if(n!==g.c(t,s)){const e=g.k(n,s,d);c.push({range:new l.Q(u,1,u,t.length+1),text:e}),p=e+p.substr(t.length)}else{const e=(0,f.Yb)(i,u,this._languageConfigurationService);if(0===e||8===e)return}}}const m=u;for(;u<e.endLineNumber&&!/\S/.test(i.getLineContent(u+1));)u++;if(u!==e.endLineNumber){const t={tokenization:{getLineTokens:e=>i.tokenization.getLineTokens(e),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(e,t)=>i.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===m?p:i.getLineContent(e)},r=(0,f.$f)(n,t,i.getLanguageId(),u+1,h,this._languageConfigurationService);if(null!==r){const t=g.c(r,s),n=g.c(o.UU(i.getLineContent(u+1)),s);if(t!==n){const r=t-n;for(let t=u+1;t<=e.endLineNumber;t++){const e=i.getLineContent(t),n=o.UU(e),a=g.c(n,s)+r,h=g.k(a,s,d);h!==n&&c.push({range:new l.Q(t,1,t,n.length+1),text:h})}}}}if(c.length>0){this.editor.pushUndoStop();const e=new M(c,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(0===i)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const e=n.findTokenIndexAtOffset(i);if(e>=0&&1===n.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function R(e,t,i,n){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let o="";for(let r=0;r<i;r++)o+=" ";const s=new RegExp(o,"gi");for(let r=1,a=e.getLineCount();r<=a;r++){let i=e.getLineFirstNonWhitespaceColumn(r);if(0===i&&(i=e.getLineMaxColumn(r)),1===i)continue;const a=new l.Q(r,1,r,i),d=e.getValueInRange(a),c=n?d.replace(/\t/gi,o):d.replace(s,"\t");t.addEditOperation(a,c)}}D.ID="editor.contrib.autoIndentOnPaste",D=v([C(1,h.JZ)],D);class P{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),R(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class O{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),R(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}(0,s.HW)(D.ID,D),(0,s.Fl)(w),(0,s.Fl)(L),(0,s.Fl)(y),(0,s.Fl)(k),(0,s.Fl)(I),(0,s.Fl)(x),(0,s.Fl)(N)},64123:(e,t,i)=>{var n=i(20512),o=i(55808),s=i(64796),r=i(55547),a=i(62915),l=i(85376),d=i(62788),c=i(35065),h=i(41362),u=i(22041),g=i(35819),p=i(93593),m=i(44824),_=i(16974);const f=(0,m.x1A)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},g.kg("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class v extends s.ks{constructor(){super({id:"editor.action.jumpToBracket",label:g.kg("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:d.R.editorTextFocus,primary:3160,weight:100}})}run(e,t){var i;null===(i=w.get(t))||void 0===i||i.jumpToBracket()}}class C extends s.ks{constructor(){super({id:"editor.action.selectToBracket",label:g.kg("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var n;let o=!0;i&&!1===i.selectBrackets&&(o=!1),null===(n=w.get(t))||void 0===n||n.selectToBracket(o)}}class b{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class w extends o.jG{constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new n.uC(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(65),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(65)&&(this._matchBrackets=this._editor.getOption(65),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}static get(e){return e.getContribution(w.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{const i=t.getStartPosition(),n=e.bracketPairs.matchBracket(i);let o=null;if(n)n[0].containsPosition(i)&&!n[1].containsPosition(i)?o=n[1].getStartPosition():n[1].containsPosition(i)&&(o=n[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(i);if(t)o=t[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(i);t&&t.range&&(o=t.range.getStartPosition())}}return o?new l.L(o.lineNumber,o.column,o.lineNumber,o.column):new l.L(i.lineNumber,i.column,i.lineNumber,i.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const o=n.getStartPosition();let s=t.bracketPairs.matchBracket(o);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(o),!s)){const e=t.bracketPairs.findNextBracket(o);e&&e.range&&(s=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let r=null,d=null;if(s){s.sort(a.Q.compareRangesUsingStarts);const[t,i]=s;if(r=e?t.getStartPosition():t.getEndPosition(),d=e?i.getEndPosition():i.getStartPosition(),i.containsPosition(o)){const e=r;r=d,d=e}}r&&d&&i.push(new l.L(r.lineNumber,r.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const o=[];let s=0;for(let r=0,h=e.length;r<h;r++){const t=e[r];t.isEmpty()&&(o[s++]=t.getStartPosition())}o.length>1&&o.sort(r.y.compare);const a=[];let l=0,d=0;const c=n.length;for(let r=0,h=o.length;r<h;r++){const e=o[r];for(;d<c&&n[d].position.isBefore(e);)d++;if(d<c&&n[d].position.equals(e))a[l++]=n[d];else{let i=t.bracketPairs.matchBracket(e,20),n=w._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;i||"always"!==this._matchBrackets||(i=t.bracketPairs.findEnclosingBrackets(e,20),n=w._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[l++]=new b(e,i,n)}}this._lastBracketsData=a,this._lastVersionId=i}}w.ID="editor.contrib.bracketMatchingController",w._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=h.kI.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,_.Yf)(f),position:c.A5.Center}}),w._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=h.kI.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"}),(0,s.HW)(w.ID,w),(0,s.Fl)(C),(0,s.Fl)(v),(0,_.zy)((e,t)=>{const i=e.getColor(u.RU);i&&t.addRule(`.monaco-editor .bracket-match { background-color: ${i}; }`);const n=e.getColor(u.$u);n&&t.addRule(`.monaco-editor .bracket-match { border: 1px solid ${n}; }`)}),p.ZG.appendMenuItem(p.D8.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:g.kg({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2})},66189:(e,t,i)=>{i.d(t,{FU:()=>g,H:()=>a,Md:()=>v,Qo:()=>m,S8:()=>h,TA:()=>l,VN:()=>_,cT:()=>u,eM:()=>f,fu:()=>c,qI:()=>p,ql:()=>s,s1:()=>d});var n=i(42464),o=i(55808);class s extends o.jG{constructor(){super(),this._onEvent=this._register(new n.vl),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.length;t<i;t++){const i=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(i)return void(this._outgoingEvents[t]=i)}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t<i;t++)this._eventHandlers[t];this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,1===this._collectorCnt&&(this._collector=new r),this._collector}endEmitViewEvents(){if(this._collectorCnt--,0===this._collectorCnt){const e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(const i of e)this._addOutgoingEvent(i);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class r{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class a{constructor(e,t,i,n){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=n,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new a(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class l{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new l(this.oldHasFocus,e.hasFocus)}}class d{constructor(e,t,i,n,o,s,r,a){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=n,this.scrollWidth=o,this.scrollLeft=s,this.scrollHeight=r,this.scrollTop=a,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(e){return e.kind!==this.kind?null:new d(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class c{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class h{constructor(e,t,i,n,o,s,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=n,this.source=o,this.reason=s,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length;if(i!==t.length)return!1;for(let n=0;n<i;n++)if(!e[n].equalsSelection(t[n]))return!1;return!0}isNoOp(){return h._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(e){return e.kind!==this.kind?null:new h(this.oldSelections,e.selections,this.oldModelVersionId,e.modelVersionId,e.source,e.reason,this.reachedMaxCursorCount||e.reachedMaxCursorCount)}}class u{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class g{constructor(e){this.event=e,this.kind=7}isNoOp(){return!1}attemptToMerge(e){return null}}class p{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}}class m{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}}class _{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}}class f{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}}class v{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}}},68696:(e,t,i)=>{var n=i(64796),o=i(43077),s=i(72649),r=i(90491),a=i(20512),l=i(24037),d=i(55808),c=i(21298),h=i(74473),u=i(68337),g=i(72799),p=i(62915),m=i(34876),_=i(28791),f=i(37718),v=i(92017),C=i(43772),b=i(58471),w=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},L=function(e,t){return function(i,n){t(i,n,e)}},S=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const y="application/vnd.code.copyMetadata";let k=class extends d.jG{constructor(e,t,i,n,o){super(),this._bulkEditService=t,this._clipboardService=i,this._configurationService=n,this._languageFeaturesService=o,this._editor=e;const s=e.getContainerDomNode();this._register((0,r.ko)(s,"copy",e=>this.handleCopy(e))),this._register((0,r.ko)(s,"cut",e=>this.handleCopy(e))),this._register((0,r.ko)(s,"paste",e=>this.handlePaste(e),!0))}arePasteActionsEnabled(e){return this._configurationService.getValue("editor.experimental.pasteActions.enabled",{resource:e.uri})}handleCopy(e){var t;if(!e.clipboardData||!this._editor.hasTextFocus())return;const i=this._editor.getModel(),n=this._editor.getSelections();if(!i||!(null===n||void 0===n?void 0:n.length))return;if(!this.arePasteActionsEnabled(i))return;const o=[...n],s=n[0],r=s.isEmpty();if(r){if(!this._editor.getOption(33))return;o[0]=new p.Q(s.startLineNumber,0,s.startLineNumber,i.getLineLength(s.startLineNumber))}const l=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter(e=>!!e.prepareDocumentPaste);if(!l.length)return void this.setCopyMetadata(e.clipboardData,{wasFromEmptySelection:r});const d=(0,u.q_)(e.clipboardData),c=(0,h.b)();this.setCopyMetadata(e.clipboardData,{id:c,wasFromEmptySelection:r});const g=(0,a.SS)(e=>S(this,void 0,void 0,function*(){const t=yield Promise.all(l.map(t=>t.prepareDocumentPaste(i,o,d,e)));for(const e of t)null===e||void 0===e||e.forEach((e,t)=>{d.replace(t,e)});return d}));null===(t=this._currentClipboardItem)||void 0===t||t.dataTransferPromise.cancel(),this._currentClipboardItem={handle:c,dataTransferPromise:g}}setCopyMetadata(e,t){e.setData(y,JSON.stringify(t))}handlePaste(e){var t,i,n;return S(this,void 0,void 0,function*(){if(!e.clipboardData||!this._editor.hasTextFocus())return;const o=this._editor.getSelections();if(!(null===o||void 0===o?void 0:o.length)||!this._editor.hasModel())return;const r=this._editor.getModel();if(!this.arePasteActionsEnabled(r))return;let a;const d=null===(t=e.clipboardData)||void 0===t?void 0:t.getData(y);d&&"string"===typeof d&&(a=JSON.parse(d));const h=this._languageFeaturesService.documentPasteEditProvider.ordered(r);if(!h.length)return;e.preventDefault(),e.stopImmediatePropagation();const p=r.getVersionId(),m=new _.gI(this._editor,3);try{const t=(0,u.q_)(e.clipboardData);if((null===a||void 0===a?void 0:a.id)&&(null===(i=this._currentClipboardItem)||void 0===i?void 0:i.handle)===a.id){(yield this._currentClipboardItem.dataTransferPromise).forEach((e,i)=>{t.replace(i,e)})}if(!t.has(c.K.uriList)){const e=yield this._clipboardService.readResources();e.length&&t.append(c.K.uriList,(0,l.gf)(u.jt.create(e)))}t.delete(y);for(const e of h){if(!e.pasteMimeTypes.some(e=>e.toLowerCase()===s.t.FILES.toLowerCase()?[...t.values()].some(e=>e.asFile()):t.has(e)))continue;const i=yield e.provideDocumentPasteEdits(r,o,t,m.token);if(p!==r.getVersionId())return;if(i)return(0,f.z)(this._editor,"string"===typeof i.insertText?v.fr.escape(i.insertText):i.insertText.snippet,o),void(i.additionalEdit&&(yield this._bulkEditService.apply(g.jN.convert(i.additionalEdit),{editor:this._editor})))}const d=null!==(n=t.get(c.K.text))&&void 0!==n?n:t.get("text");if(!d)return;const _=yield d.asString();if(p!==r.getVersionId())return;this._editor.trigger("keyboard","paste",{text:_,pasteOnNewLine:null===a||void 0===a?void 0:a.wasFromEmptySelection,multicursorText:null})}finally{m.dispose()}})}};k.ID="editor.contrib.copyPasteActionController",k=w([L(1,g.nu),L(2,C.h),L(3,b.pG),L(4,m.u)],k);var I=i(35819),x=i(11332),N=i(1097);(0,n.HW)(k.ID,k),N.O.as(x.Fd.Configuration).registerConfiguration(Object.assign(Object.assign({},o.JJ),{properties:{"editor.experimental.pasteActions.enabled":{type:"boolean",scope:5,description:I.kg("pasteActions","Enable/disable running edits from extensions on paste."),default:!1}}}))},69376:(e,t,i)=>{i.d(t,{C9:()=>b,Rw:()=>L,Uy:()=>w,Vi:()=>S,Xj:()=>v,dU:()=>I,k_:()=>f,v8:()=>C});var n=i(48640),o=i(69549),s=i(75909),r=i(55808),a=i(65698),l=i(28791),d=i(62915),c=i(85376),h=i(19724),u=i(16281),g=i(53229),p=i(6990),m=i(34876),_=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const f="editor.action.codeAction",v="editor.action.refactor",C="editor.action.refactor.preview",b="editor.action.sourceAction",w="editor.action.organizeImports",L="editor.action.fixAll";class S{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return _(this,void 0,void 0,function*(){if((null===(t=this.provider)||void 0===t?void 0:t.resolveCodeAction)&&!this.action.edit){let t;try{t=yield this.provider.resolveCodeAction(this.action,e)}catch(i){(0,s.M_)(i)}t&&(this.action.edit=t.edit)}return this})}}class y extends r.jG{constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(y.codeActionsComparator),this.validActions=this.allActions.filter(({action:e})=>!e.disabled)}static codeActionsComparator({action:e},{action:t}){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:(0,n.EI)(e.diagnostics)?(0,n.EI)(t.diagnostics)?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:(0,n.EI)(t.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&p.gB.QuickFix.contains(new p.gB(e.kind))&&!!e.isPreferred)}}const k={actions:[],documentation:void 0};function I(e,t,i,o,a,d){var c;const h=o.filter||{},u={only:null===(c=h.include)||void 0===c?void 0:c.value,trigger:o.type},g=new l.ER(t,d),m=function(e,t,i){return e.all(t).filter(e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some(e=>(0,p.uJ)(i,new p.gB(e))))}(e,t,h),f=new r.Cm,v=m.map(e=>_(this,void 0,void 0,function*(){try{a.report(e);const n=yield e.provideCodeActions(t,i,u,g.token);if(n&&f.add(n),g.token.isCancellationRequested)return k;const o=((null===n||void 0===n?void 0:n.actions)||[]).filter(e=>e&&(0,p.aF)(h,e)),s=function(e,t,i){if(!e.documentation)return;const n=e.documentation.map(e=>({kind:new p.gB(e.kind),command:e.command}));if(i){let e;for(const t of n)t.kind.contains(i)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return null===e||void 0===e?void 0:e.command}for(const o of t)if(o.kind)for(const e of n)if(e.kind.contains(new p.gB(o.kind)))return e.command;return}(e,o,h.include);return{actions:o.map(t=>new S(t,e)),documentation:s}}catch(n){if((0,s.MB)(n))throw n;return(0,s.M_)(n),k}})),C=e.onDidChange(()=>{const i=e.all(t);(0,n.aI)(i,m)||g.cancel()});return Promise.all(v).then(e=>{const t=e.map(e=>e.actions).flat(),i=(0,n.Yc)(e.map(e=>e.documentation));return new y(t,i,f)}).finally(()=>{C.dispose(),g.dispose()})}u.wb.registerCommand("_executeCodeActionProvider",function(e,t,i,n,r){return _(this,void 0,void 0,function*(){if(!(t instanceof a.r))throw(0,s.Qg)();const{codeActionProvider:l}=e.get(m.u),u=e.get(h.S).getModel(t);if(!u)throw(0,s.Qg)();const _=c.L.isISelection(i)?c.L.liftSelection(i):d.Q.isIRange(i)?u.validateRange(i):void 0;if(!_)throw(0,s.Qg)();const f="string"===typeof n?new p.gB(n):void 0,v=yield I(l,u,_,{type:1,triggerAction:p.fo.Default,filter:{includeSourceActions:!0,include:f}},g.ke.None,o.X.None),C=[],b=Math.min(v.validActions.length,"number"===typeof r?r:0);for(let e=0;e<b;e++)C.push(v.validActions[e].resolve(o.X.None));try{return yield Promise.all(C),v.validActions.map(e=>e.action)}finally{setTimeout(()=>v.dispose(),100)}})})},70275:(e,t,i)=>{var n=i(55808),o=i(55977),s=i(64796),r=i(55547),a=i(62915),l=i(85376),d=i(41362);class c{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new a.Q(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new l.L(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new l.L(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber<this.selection.endLineNumber?this.targetSelection=new l.L(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new l.L(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,(this.selection.startLineNumber,this.selection.endLineNumber,this.targetPosition.column-this.selection.endColumn+this.selection.startColumn),this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new l.L(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn):this.targetSelection=this.selection}computeCursorState(e,t){return this.targetSelection}}function h(e){return o.zx?e.altKey:e.ctrlKey}class u extends n.jG{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(e))),this._register(this._editor.onMouseDrag(e=>this._onEditorMouseDrag(e))),this._register(this._editor.onMouseDrop(e=>this._onEditorMouseDrop(e))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(e=>this.onEditorKeyDown(e))),this._register(this._editor.onKeyUp(e=>this.onEditorKeyUp(e))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){this._editor.getOption(31)&&!this._editor.getOption(18)&&(h(e)&&(this._modifierPressed=!0),this._mouseDown&&h(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(31)&&!this._editor.getOption(18)&&(h(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===u.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter(e=>t.position&&e.containsPosition(t.position));if(1!==e.length)return;this._dragSelection=e[0]}h(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new r.y(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let i=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:n,selectionStartColumn:o}=e;i=[new l.L(n,o,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(e=>e.containsPosition(t)?new l.L(t.lineNumber,t.column,t.lineNumber,t.column):e);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(h(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(u.ID,new c(this._dragSelection,t,h(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new a.Q(e.lineNumber,e.column,e.lineNumber,e.column),options:u._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}u.ID="editor.contrib.dragAndDrop",u.TRIGGER_KEY_VALUE=o.zx?6:5,u._DECORATION_OPTIONS=d.kI.register({description:"dnd-target",className:"dnd-target"}),(0,s.HW)(u.ID,u)},72327:(e,t,i)=>{var n=i(90491),o=i(20512),s=i(75909),r=i(72302),a=i(55808),l=i(60724),d=i(64796),c=i(6302),h=i(62788),u=i(69549),g=i(59713),p=i(65698),m=i(19724),_=i(16281),f=i(34876),v=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class C{constructor(){this.lenses=[],this._disposables=new a.Cm}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}function b(e,t,i){return v(this,void 0,void 0,function*(){const n=e.ordered(t),o=new Map,r=new C,a=n.map((e,n)=>v(this,void 0,void 0,function*(){o.set(e,n);try{const n=yield Promise.resolve(e.provideCodeLenses(t,i));n&&r.add(n,e)}catch(a){(0,s.M_)(a)}}));return yield Promise.all(a),r.lenses=r.lenses.sort((e,t)=>e.symbol.range.startLineNumber<t.symbol.range.startLineNumber?-1:e.symbol.range.startLineNumber>t.symbol.range.startLineNumber?1:o.get(e.provider)<o.get(t.provider)?-1:o.get(e.provider)>o.get(t.provider)?1:e.symbol.range.startColumn<t.symbol.range.startColumn?-1:e.symbol.range.startColumn>t.symbol.range.startColumn?1:0),r})}_.wb.registerCommand("_executeCodeLensProvider",function(e,...t){let[i,n]=t;(0,g.j)(p.r.isUri(i)),(0,g.j)("number"===typeof n||!n);const{codeLensProvider:o}=e.get(f.u),r=e.get(m.S).getModel(i);if(!r)throw(0,s.Qg)();const l=[],d=new a.Cm;return b(o,r,u.X.None).then(e=>{d.add(e);const t=[];for(const i of e.lenses)void 0===n||null===n||Boolean(i.symbol.command)?l.push(i.symbol):n-- >0&&i.provider.resolveCodeLens&&t.push(Promise.resolve(i.provider.resolveCodeLens(r,i.symbol,u.X.None)).then(e=>l.push(e||i.symbol)));return Promise.all(t)}).then(()=>l).finally(()=>{setTimeout(()=>d.dispose(),100)})});var w=i(8663),L=i(14094),S=i(62915),y=i(62848),k=i(34029),I=i(87899),x=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},N=function(e,t){return function(i,n){t(i,n,e)}};const M=(0,k.u1)("ICodeLensCache");class D{constructor(e,t){this.lineCount=e,this.data=t}}let R=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new L.qK(20,.75);(0,o.cx)(()=>e.remove("codelens/cache",1));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i),(0,w.O)(e.onWillSaveState)(i=>{i.reason===I.LP.SHUTDOWN&&e.store(t,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(e=>{var t;return{range:e.symbol.range,command:e.symbol.command&&{id:"",title:null===(t=e.symbol.command)||void 0===t?void 0:t.title}}}),n=new C;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new D(e.getLineCount(),n);this._cache.set(e.uri.toString(),o)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const e of i.data.lenses)n.add(e.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const i=t[e],n=[];for(const e of i.lines)n.push({range:new S.Q(e,1,e,11)});const o=new C;o.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(e,new D(i.lineCount,o))}}catch(t){}}};R=x([N(0,I.CS)],R),(0,y.v)(M,R);var P=i(72240),O=i(41362);class E{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class A{constructor(e,t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+A._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className=`codelens-decoration ${t}`}withCommands(e,t){this._commands.clear();const i=[];let o=!1;for(let s=0;s<e.length;s++){const t=e[s];if(t&&(o=!0,t.command)){const o=(0,P.n)(t.command.title.trim());t.command.id?(i.push(n.$("a",{id:String(s),title:t.command.tooltip,role:"button"},...o)),this._commands.set(String(s),t.command)):i.push(n.$("span",{title:t.command.tooltip},...o)),s+1<e.length&&i.push(n.$("span",void 0,"\xa0|\xa0"))}}o?(n.Ln(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):n.Ln(this._domNode,n.$("span",void 0,"no commands"))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}}A._idPool=0;class T{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){const t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,n=t.length;i<n;i++)this._addDecorationsCallbacks[i](t[i])}}class F{constructor(e,t,i,n,o,s,r){let a;this._isDisposed=!1,this._editor=t,this._className=i,this._data=e,this._decorationIds=[];const l=[];this._data.forEach((e,t)=>{e.symbol.command&&l.push(e.symbol),n.addDecoration({range:e.symbol.range,options:O.kI.EMPTY},e=>this._decorationIds[t]=e),a=a?S.Q.plusRange(a,e.symbol.range):S.Q.lift(e.symbol.range)}),this._viewZone=new E(a.startLineNumber-1,s,r),this._viewZoneId=o.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new A(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],null===t||void 0===t||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!(!i||S.Q.isEmpty(n.range)!==i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((e,i)=>{t.addDecoration({range:e.symbol.range,options:O.kI.EMPTY},e=>this._decorationIds[i]=e)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){const i=e[t];if(i){const{symbol:e}=this._data[t];e.command=i.command||e.command}}}getCommand(e){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.getCommand(e)}getLineNumber(){const e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}var V=i(35819),W=i(74349),B=i(31001),H=i(40098),j=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},U=function(e,t){return function(i,n){t(i,n,e)}},z=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};let $=class{constructor(e,t,i,s,l,d){this._editor=e,this._languageFeaturesService=t,this._commandService=s,this._notificationService=l,this._codeLensCache=d,this._disposables=new a.Cm,this._localToDispose=new a.Cm,this._lenses=[],this._oldCodeLensModels=new a.Cm,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new o.uC(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(45)||e.hasChanged(16)||e.hasChanged(15))&&this._updateLensStyle(),e.hasChanged(14)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+(0,r.tW)(this._editor.getId()).toString(16),this._styleElement=n.li(n.Cl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose(),this._styleElement.remove()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(60)/this._editor.getOption(47));let t=this._editor.getOption(16);return(!t||t<5)&&(t=.9*this._editor.getOption(47)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(15),n=this._editor.getOption(45),o=`--codelens-font-family${this._styleClassName}`,s=`--codelens-font-features${this._styleClassName}`;let r=`\n\t\t.monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${e}px; font-size: ${t}px; padding-right: ${Math.round(.5*t)}px; font-feature-settings: var(${s}) }\n\t\t.monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${e}px; font-size: ${t}px; }\n\t\t`;i&&(r+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${o}), ${c.jU.fontFamily}}`),this._styleElement.textContent=r,this._editor.getContainerDomNode().style.setProperty(o,null!==i&&void 0!==i?i:"inherit"),this._editor.getContainerDomNode().style.setProperty(s,n.fontFeatureSettings),this._editor.changeViewZones(t=>{for(const i of this._lenses)i.updateHeight(e,t)})}_localDispose(){var e,t,i;null===(e=this._getCodeLensModelPromise)||void 0===e||e.cancel(),this._getCodeLensModelPromise=void 0,null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(i=this._currentCodeLensModel)||void 0===i||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(14))return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&this._localToDispose.add((0,o.EQ)(()=>{const i=this._codeLensCache.get(e);t===i&&(this._codeLensCache.delete(e),this._onModelChange())},3e4)));for(const n of this._languageFeaturesService.codeLensProvider.all(e))if("function"===typeof n.onDidChange){const e=n.onDidChange(()=>i.schedule());this._localToDispose.add(e)}const i=new o.uC(()=>{var t;const n=Date.now();null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=(0,o.SS)(t=>b(this._languageFeaturesService.codeLensProvider,e,t)),this._getCodeLensModelPromise.then(t=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=t,this._codeLensCache.put(e,t);const o=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=o,this._renderCodeLensSymbols(t),this._resolveCodeLensesInViewportSoon()},s.dz)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add((0,a.s)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{const i=[];let n=-1;this._lenses.forEach(e=>{e.isValid()&&n!==e.getLineNumber()?(e.update(t),n=e.getLineNumber()):i.push(e)});const o=new T;i.forEach(e=>{e.dispose(o,t),this._lenses.splice(this._lenses.indexOf(e),1)}),o.commit(e)})}),i.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add((0,a.s)(()=>{if(this._editor.getModel()){const e=l.D.capture(this._editor);this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{this._disposeAllLenses(e,t)})}),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===(null===t||void 0===t?void 0:t.tagName)&&(t=t.parentElement),"A"===(null===t||void 0===t?void 0:t.tagName))for(const i of this._lenses){const e=i.getCommand(t);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch(e=>this._notificationService.error(e));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new T;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const r of e.lenses){const e=r.symbol.range.startLineNumber;e<1||e>t||(n&&n[n.length-1].symbol.range.startLineNumber===e?n.push(r):(n=[r],i.push(n)))}const o=l.D.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{const n=new T;let o=0,r=0;for(;r<i.length&&o<this._lenses.length;){const e=i[r][0].symbol.range.startLineNumber,a=this._lenses[o].getLineNumber();a<e?(this._lenses[o].dispose(n,t),this._lenses.splice(o,1)):a===e?(this._lenses[o].updateCodeLensSymbols(i[r],n),r++,o++):(this._lenses.splice(o,0,new F(i[r],this._editor,this._styleClassName,n,t,s.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),o++,r++)}for(;o<this._lenses.length;)this._lenses[o].dispose(n,t),this._lenses.splice(o,1);for(;r<i.length;)this._lenses.push(new F(i[r],this._editor,this._styleClassName,n,t,s.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),r++;n.commit(e)})}),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],n=[];if(this._lenses.forEach(e=>{const o=e.computeIfNecessary(t);o&&(i.push(o),n.push(e))}),0===i.length)return;const r=Date.now(),a=(0,o.SS)(e=>{const o=i.map((i,o)=>{const r=new Array(i.length),a=i.map((i,n)=>i.symbol.command||"function"!==typeof i.provider.resolveCodeLens?(r[n]=i.symbol,Promise.resolve(void 0)):Promise.resolve(i.provider.resolveCodeLens(t,i.symbol,e)).then(e=>{r[n]=e},s.M_));return Promise.all(a).then(()=>{e.isCancellationRequested||n[o].isDisposed()||n[o].updateCommands(r)})});return Promise.all(o)});this._resolveCodeLensesPromise=a,this._resolveCodeLensesPromise.then(()=>{const e=this._resolveCodeLensesDebounce.update(t,Date.now()-r);this._resolveCodeLensesScheduler.delay=e,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),a===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},e=>{(0,s.dz)(e),a===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}getModel(){return this._currentCodeLensModel}};$.ID="css.editor.codeLens",$=j([U(1,f.u),U(2,H.U),U(3,_.wT),U(4,W.Ot),U(5,M)],$),(0,d.HW)($.ID,$),(0,d.Fl)(class extends d.ks{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:h.R.hasCodeLensProvider,label:(0,V.kg)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(e,t){return z(this,void 0,void 0,function*(){if(!t.hasModel())return;const i=e.get(B.GK),n=e.get(_.wT),o=e.get(W.Ot),s=t.getSelection().positionLineNumber,r=t.getContribution($.ID);if(!r)return;const a=r.getModel();if(!a)return;const l=[];for(const e of a.lenses)e.symbol.command&&e.symbol.range.startLineNumber===s&&l.push({label:e.symbol.command.title,command:e.symbol.command});if(0===l.length)return;const d=yield i.pick(l,{canPickMany:!1});if(d){if(a.isDisposed)return yield n.executeCommand(this.id);try{yield n.executeCommand(d.command.id,...d.command.arguments||[])}catch(c){o.error(c)}}})}})},73719:(e,t,i)=>{i.d(t,{$f:()=>l,MU:()=>d,Yb:()=>h,_t:()=>c,vn:()=>a});var n=i(24638),o=i(82500),s=i(5670),r=i(10884);function a(e,t,i,s=!0,r){if(e<4)return null;const a=r.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!a)return null;if(i<=1)return{indentation:"",action:null};const l=function(e,t,i){const n=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let o,s=-1;for(o=t-1;o>=1;o--){if(e.tokenization.getLanguageIdAtPosition(o,0)!==n)return s;const t=e.getLineContent(o);if(!i.shouldIgnore(t)&&!/^\s+$/.test(t)&&""!==t)return o;s=o}}return-1}(t,i,a);if(l<0)return null;if(l<1)return{indentation:"",action:null};const d=t.getLineContent(l);if(a.shouldIncrease(d)||a.shouldIndentNextLine(d))return{indentation:n.UU(d),action:o.l.Indent,line:l};if(a.shouldDecrease(d))return{indentation:n.UU(d),action:null,line:l};{if(1===l)return{indentation:n.UU(t.getLineContent(l)),action:null,line:l};const e=l-1,i=a.getIndentMetadata(t.getLineContent(e));if(!(3&i)&&4&i){let i=0;for(let n=e-1;n>0;n--)if(!a.shouldIndentNextLine(t.getLineContent(n))){i=n;break}return{indentation:n.UU(t.getLineContent(i+1)),action:null,line:i+1}}if(s)return{indentation:n.UU(t.getLineContent(l)),action:null,line:l};for(let s=l;s>0;s--){const e=t.getLineContent(s);if(a.shouldIncrease(e))return{indentation:n.UU(e),action:o.l.Indent,line:s};if(a.shouldIndentNextLine(e)){let e=0;for(let i=s-1;i>0;i--)if(!a.shouldIndentNextLine(t.getLineContent(s))){e=i;break}return{indentation:n.UU(t.getLineContent(e+1)),action:null,line:e+1}}if(a.shouldDecrease(e))return{indentation:n.UU(e),action:null,line:s}}return{indentation:n.UU(t.getLineContent(1)),action:null,line:1}}}function l(e,t,i,s,r,l){if(e<4)return null;const d=l.getLanguageConfiguration(i);if(!d)return null;const c=l.getLanguageConfiguration(i).indentRulesSupport;if(!c)return null;const h=a(e,t,s,void 0,l),u=t.getLineContent(s);if(h){const i=h.line;if(void 0!==i){const s=d.onEnter(e,"",t.getLineContent(i),"");if(s){let e=n.UU(t.getLineContent(i));return s.removeText&&(e=e.substring(0,e.length-s.removeText)),s.indentAction===o.l.Indent||s.indentAction===o.l.IndentOutdent?e=r.shiftIndent(e):s.indentAction===o.l.Outdent&&(e=r.unshiftIndent(e)),c.shouldDecrease(u)&&(e=r.unshiftIndent(e)),s.appendText&&(e+=s.appendText),n.UU(e)}}return c.shouldDecrease(u)?h.action===o.l.Indent?h.indentation:r.unshiftIndent(h.indentation):h.action===o.l.Indent?r.shiftIndent(h.indentation):h.indentation}return null}function d(e,t,i,l,d){if(e<4)return null;t.tokenization.forceTokenization(i.startLineNumber);const c=t.tokenization.getLineTokens(i.startLineNumber),h=(0,s.BQ)(c,i.startColumn-1),u=h.getLineContent();let g,p,m=!1;if(h.firstCharOffset>0&&c.getLanguageId(0)!==h.languageId?(m=!0,g=u.substr(0,i.startColumn-1-h.firstCharOffset)):g=c.getLineContent().substring(0,i.startColumn-1),i.isEmpty())p=u.substr(i.startColumn-1-h.firstCharOffset);else{p=(0,r.P6)(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-h.firstCharOffset)}const _=d.getLanguageConfiguration(h.languageId).indentRulesSupport;if(!_)return null;const f=g,v=n.UU(g),C={tokenization:{getLineTokens:e=>t.tokenization.getLineTokens(e),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(e,i)=>t.getLanguageIdAtPosition(e,i)},getLineContent:e=>e===i.startLineNumber?f:t.getLineContent(e)},b=n.UU(c.getLineContent()),w=a(e,C,i.startLineNumber+1,void 0,d);if(!w){const e=m?b:v;return{beforeEnter:e,afterEnter:e}}let L=m?b:w.indentation;return w.action===o.l.Indent&&(L=l.shiftIndent(L)),_.shouldDecrease(p)&&(L=l.unshiftIndent(L)),{beforeEnter:m?b:v,afterEnter:L}}function c(e,t,i,n,s,l){if(e<4)return null;const d=(0,r.P6)(t,i.startLineNumber,i.startColumn);if(d.firstCharOffset)return null;const c=l.getLanguageConfiguration(d.languageId).indentRulesSupport;if(!c)return null;const h=d.getLineContent(),u=h.substr(0,i.startColumn-1-d.firstCharOffset);let g;if(i.isEmpty())g=h.substr(i.startColumn-1-d.firstCharOffset);else{g=(0,r.P6)(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-d.firstCharOffset)}if(!c.shouldDecrease(u+g)&&c.shouldDecrease(u+n+g)){const n=a(e,t,i.startLineNumber,!1,l);if(!n)return null;let r=n.indentation;return n.action!==o.l.Indent&&(r=s.unshiftIndent(r)),r}return null}function h(e,t,i){const n=i.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;return n?t<1||t>e.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null}},74618:(e,t,i)=>{var n=i(55808),o=i(64796),s=i(62788),r=i(35819);class a{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let i=0;i<t;i++)if(!this.selections[i].equalsSelection(e.selections[i]))return!1;return!0}}class l{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}class d extends n.jG{constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const i=new a(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new l(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}static get(e){return e.getContribution(d.ID)}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new l(new a(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new l(new a(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}d.ID="editor.contrib.cursorUndoRedoController";class c extends o.ks{constructor(){super({id:"cursorUndo",label:r.kg("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:s.R.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;null===(n=d.get(t))||void 0===n||n.cursorUndo()}}class h extends o.ks{constructor(){super({id:"cursorRedo",label:r.kg("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;null===(n=d.get(t))||void 0===n||n.cursorRedo()}}(0,o.HW)(d.ID,d),(0,o.Fl)(c),(0,o.Fl)(h)},76870:(e,t,i)=>{var n=i(90491),o=i(74363),s=i(56495),r=i(55808),a=i(55977),l=i(64796),d=i(62788),c=i(35819),h=i(93593),u=i(21181),g=i(95166),p=i(47925),m=i(58471),_=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},f=function(e,t){return function(i,n){t(i,n,e)}};let v=class e{constructor(e,t,i,o,s,a,l){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=o,this._keybindingService=s,this._menuService=a,this._configurationService=l,this._toDispose=new r.Cm,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(e=>this._onContextMenu(e))),this._toDispose.add(this._editor.onMouseWheel(e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),i=e.srcElement;i.shadowRoot&&n.jG(t)===i.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(e=>{this._editor.getOption(20)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())}))}static get(t){return t.getContribution(e.ID)}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(20))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu({x:e.event.posx-1,width:2,y:e.event.posy-1,height:2});if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const i of this._editor.getSelections())if(i.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(20))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?h.D8.SimpleEditorContext:h.D8.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.createMenu(t,this._contextKeyService),o=n.getActions({arg:e.uri});n.dispose();for(const r of o){const[,t]=r;let n=0;for(const o of t)if(o instanceof h.nI){const t=this._getMenuActions(e,o.item.submenu);t.length>0&&(i.push(new s.YH(o.id,o.label,t)),n++)}else i.push(o),n++;n&&i.push(new s.wv)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(54);if(this._editor.updateOptions({hover:{enabled:!1}}),!t){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=n.BK(this._editor.getDomNode()),o=i.left+e.left,s=i.top+e.top+e.height;t={x:o,y:s}}const s=this._editor.getOption(116)&&!a.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new o.Z(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const i=e;return"function"===typeof i.getActionViewItem?i.getActionViewItem():new o.Z(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus(),this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;const t=this._editor.getOption(66);let i=0;const n=e=>({id:"menu-action-"+ ++i,label:e.label,tooltip:"",class:void 0,enabled:"undefined"===typeof e.enabled||e.enabled,checked:e.checked,run:e.run,dispose:()=>null}),o=(e,t,o,r,a)=>{if(!t)return n({label:e,enabled:t,run:()=>{}});const l=e=>()=>{this._configurationService.updateValue(o,e)},d=[];for(const i of a)d.push(n({label:i.label,checked:r===i.value,run:l(i.value)}));return((e,t)=>new s.YH("menu-action-"+ ++i,e,t,void 0))(e,d)},r=[];r.push(n({label:c.kg("context.minimap.showMinimap","Show Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),r.push(new s.wv),r.push(n({label:c.kg("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),r.push(o(c.kg("context.minimap.size","Size"),t.enabled,"editor.minimap.size",t.size,[{label:c.kg("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:c.kg("context.minimap.size.fill","Fill"),value:"fill"},{label:c.kg("context.minimap.size.fit","Fit"),value:"fit"}])),r.push(o(c.kg("context.minimap.scale","Scale"),t.enabled,"editor.minimap.scale",t.scale,[{label:c.kg("context.minimap.scale.1","1"),value:1},{label:c.kg("context.minimap.scale.2","2"),value:2},{label:c.kg("context.minimap.scale.3","3"),value:3}])),r.push(o(c.kg("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:c.kg("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:c.kg("context.minimap.slider.always","Always"),value:"always"}]));const l=this._editor.getOption(116)&&!a.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>r,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};v.ID="editor.contrib.contextmenu",v=_([f(1,g.Z),f(2,g.l),f(3,u.fN),f(4,p.b),f(5,h.ez),f(6,m.pG)],v);class C extends l.ks{constructor(){super({id:"editor.action.showContextMenu",label:c.kg("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:d.R.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;null===(i=v.get(t))||void 0===i||i.showContextMenu()}}(0,l.HW)(v.ID,v),(0,l.Fl)(C)},79467:(e,t,i)=>{i.d(t,{X:()=>ce});var n=i(20512),o=i(75909),s=i(45325),r=i(55808),a=i(88459),l=i(55547),d=i(62915),c=i(92415),h=i(35819),u=i(16281),g=i(58471),p=i(21181),m=i(34029),_=i(11563),f=i(22407),v=i(74349),C=i(87899),b=i(98868),w=i(90491),L=i(3415),S=i(74379),y=i(42464),k=i(46442),I=i(1273),x=i(3832),N=i(41362),M=i(10884),D=i(75303),R=i(76220),P=i(92320),O=i(93169),E=i(32005),A=i(54370),T=i(79271),F=i(47925),V=i(70679),W=i(46255),B=i(16974),H=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},j=function(e,t){return function(i,n){t(i,n,e)}};let U=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof b.y4||e instanceof b.$L}getChildren(e){if(e instanceof b.y4)return e.groups;if(e instanceof b.$L)return e.resolve(this._resolverService).then(e=>e.children);throw new Error("bad tree")}};U=H([j(0,P.b)],U);class z{getHeight(){return 23}getTemplateId(e){return e instanceof b.$L?K.id:Z.id}}let $=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof b.yc){const i=null===(t=e.parent.getPreview(e))||void 0===t?void 0:t.preview(e.range);if(i)return i.value}return(0,I.P8)(e.uri)}};$=H([j(0,F.b)],$);class Q{getId(e){return e instanceof b.yc?e.id:e.uri}}let G=class extends r.jG{constructor(e,t,i){super(),this._labelService=t;const n=document.createElement("div");n.classList.add("reference-file"),this.file=this._register(new A.s(n,{supportHighlights:!0})),this.badge=new O.x(w.BC(n,w.$(".count"))),this._register((0,W.Gd)(this.badge,i)),e.appendChild(n)}set(e,t){const i=(0,I.pD)(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat((0,h.kg)("referencesCount","{0} references",n)):this.badge.setTitleFormat((0,h.kg)("referenceCount","{0} reference",n))}};G=H([j(1,V.L),j(2,B.Gy)],G);let K=class e{constructor(t){this._instantiationService=t,this.templateId=e.id}renderTemplate(e){return this._instantiationService.createInstance(G,e)}renderElement(e,t,i){i.set(e.element,(0,T.WJ)(e.filterData))}disposeTemplate(e){e.dispose()}};K.id="FileReferencesRenderer",K=H([j(0,m._Y)],K);class q{constructor(e){this.label=new E._(e)}set(e,t){var i;const n=null===(i=e.parent.getPreview(e))||void 0===i?void 0:i.preview(e.range);if(n&&n.value){const{value:e,highlight:i}=n;t&&!T.ne.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,(0,T.WJ)(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[i]))}else this.label.set(`${(0,I.P8)(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class Z{constructor(){this.templateId=Z.id}renderTemplate(e){return new q(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(){}}Z.id="OneReferenceRenderer";class X{getWidgetAriaLabel(){return(0,h.kg)("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var Y=i(33105),J=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},ee=function(e,t){return function(i,n){t(i,n,e)}},te=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class ie{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new r.Cm,this._callOnModelChange=new r.Cm,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e)for(const t of this._model.references)if(t.uri.toString()===e.uri.toString())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let n=0,o=e.children.length;n<o;n++){const o=e.children[n];this._decorationIgnoreSet.has(o.id)||o.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:o.range,options:ie.DecorationOptions}),i.push(n))}this._editor.changeDecorations(n=>{const o=n.deltaDecorations([],t);for(let t=0;t<o.length;t++)this._decorations.set(o[t],e.children[i[t]])})}_onDecorationChanged(){const e=[],t=this._editor.getModel();if(t){for(const[i,n]of this._decorations){const o=t.getDecorationRange(i);if(!o)continue;let s=!1;if(!d.Q.equalsRange(o,n.range)){if(d.Q.spansMultipleLines(o))s=!0;else{n.range.endColumn-n.range.startColumn!==o.endColumn-o.startColumn&&(s=!0)}s?(this._decorationIgnoreSet.add(n.id),e.push(i)):n.range=o}}for(let t=0,i=e.length;t<i;t++)this._decorations.delete(e[t]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}}ie.DecorationOptions=N.kI.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});class ne{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const n=JSON.parse(e);t=n.ratio,i=n.heightInLines}catch(n){}return{ratio:t||.7,heightInLines:i||18}}}class oe extends f.er{}let se=class extends c.j6{constructor(e,t,i,n,o,s,a,l,d,c,h,u){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},s),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=o,this._instantiationService=s,this._peekViewService=a,this._uriLabel=l,this._undoRedoService=d,this._keybindingService=c,this._languageService=h,this._languageConfigurationService=u,this._disposeOnNewModel=new r.Cm,this._callOnDispose=new r.Cm,this._onDidSelectReference=new y.vl,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new w.fg(0,0),this._applyTheme(n.getColorTheme()),this._callOnDispose.add(n.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}dispose(){this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),(0,r.AS)(this._preview),(0,r.AS)(this._previewNotAvailableMessage),(0,r.AS)(this._tree),(0,r.AS)(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(c.zl)||S.Q1.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(c.z0)||S.Q1.transparent,primaryHeadingColor:e.getColor(c._X),secondaryHeadingColor:e.getColor(c.e3)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=w.BC(e,w.$("div.messages")),w.jD(this._messageContainer),this._splitView=new L.U(e,{orientation:1}),this._previewContainer=w.BC(e,w.$("div.preview.inline"));this._preview=this._instantiationService.createInstance(x.t,this._previewContainer,{scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}},this.editor),w.jD(this._previewContainer),this._previewNotAvailableMessage=new N.Bz(h.kg("missingPreviewMessage","no preview available"),D.vH,N.Bz.DEFAULT_CREATION_OPTIONS,null,this._undoRedoService,this._languageService,this._languageConfigurationService),this._treeContainer=w.BC(e,w.$("div.ref-tree.inline"));const t={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new X,keyboardNavigationLabelProvider:this._instantiationService.createInstance($),identityProvider:new Q,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:c.n6}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(w.b2(this._treeContainer,"keydown",e=>{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(oe,"ReferencesWidget",this._treeContainer,new z,[this._instantiationService.createInstance(K),this._instantiationService.createInstance(Z)],this._instantiationService.createInstance(U),t),this._splitView.addView({onDidChange:y.Jh.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},L.X.Distribute),this._splitView.addView({onDidChange:y.Jh.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},L.X.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const i=(e,t)=>{e instanceof b.yc&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._tree.onDidOpen(e=>{e.sideBySide?i(e.element,"side"):e.editorOptions.pinned?i(e.element,"goto"):i(e.element,"show")}),w.jD(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new w.fg(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=h.kg("noResults","No results"),w.WU(this._messageContainer),Promise.resolve(void 0)):(w.jD(this._messageContainer),this._decorationsManager=new ie(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(2!==t.detail)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),w.WU(this._treeContainer),w.WU(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof b.yc?e:e instanceof b.$L&&e.children.length>0?e.children[0]:void 0}revealReference(e){return te(this,void 0,void 0,function*(){yield this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})})}_revealReference(e,t){return te(this,void 0,void 0,function*(){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==k.ny.inMemory?this.setTitle((0,I.Pi)(e.uri),this._uriLabel.getUriLabel((0,I.pD)(e.uri))):this.setTitle(h.kg("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),yield this._tree.expand(e.parent)),this._tree.reveal(e);const n=yield i;if(!this._model)return void n.dispose();(0,r.AS)(this._previewModelReference);const o=n.object;if(o){const t=this._preview.getModel()===o.textEditorModel?0:1,i=d.Q.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(o.textEditorModel),this._preview.setSelection(i),this._preview.revealRangeInCenter(i,t)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()})}};se=J([ee(3,B.Gy),ee(4,P.b),ee(5,m._Y),ee(6,c.zn),ee(7,V.L),ee(8,Y.$D),ee(9,F.b),ee(10,R.L),ee(11,M.JZ)],se);var re=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},ae=function(e,t){return function(i,n){t(i,n,e)}},le=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const de=new p.N1("referenceSearchVisible",!1,h.kg("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let ce=class e{constructor(e,t,i,n,o,s,a,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=o,this._instantiationService=s,this._storageService=a,this._configurationService=l,this._disposables=new r.Cm,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=de.bindTo(i)}static get(t){return t.getContribution(e.ID)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(e=this._widget)||void 0===e||e.dispose(),null===(t=this._model)||void 0===t||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const o="peekViewLayout",s=ne.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(se,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(h.kg("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(e=>{const{element:t,kind:n}=e;if(t)switch(n){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":i?this._gotoReference(t):this.openReference(t,!1,!0)}}));const r=++this._requestIdPool;t.then(t=>{var i;if(r===this._requestIdPool&&this._widget)return null===(i=this._model)||void 0===i||i.dispose(),this._model=t,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(h.kg("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,i=new l.y(e.startLineNumber,e.startColumn),n=this._model.nearestReference(t,i);if(n)return this._widget.setSelection(n).then(()=>{this._widget&&"editor"===this._editor.getOption(78)&&this._widget.focusOnPreviewEditor()})}});t.dispose()},e=>{this._notificationService.error(e)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(e){return le(this,void 0,void 0,function*(){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),o=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(n),yield this._gotoReference(n),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()})}revealReference(e){return le(this,void 0,void 0,function*(){this._editor.hasModel()&&this._model&&this._widget&&(yield this._widget.revealReference(e))})}closeWidget(e=!0){var t,i;null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t){this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;const i=d.Q.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:i,selectionSource:"code.jump"}},this._editor).then(t=>{var o;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(i),this._widget.focusOnReferenceTree();else{const s=e.get(t),r=this._model.clone();this.closeWidget(),t.focus(),null===s||void 0===s||s.toggleWidget(i,(0,n.SS)(e=>Promise.resolve(r)),null!==(o=this._peekMode)&&void 0!==o&&o)}else this.closeWidget()},e=>{this._ignoreModelChangeEvent=!1,(0,o.dz)(e)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:o}=e;this._editorService.openCodeEditor({resource:n,options:{selection:o,selectionSource:"code.jump",pinned:i}},this._editor,t)}};function he(e,t){const i=(0,c.RL)(e);if(!i)return;const n=ce.get(i);n&&t(n)}ce.ID="editor.contrib.referencesController",ce=re([ae(2,p.fN),ae(3,a.T),ae(4,v.Ot),ae(5,m._Y),ae(6,C.CS),ae(7,g.pG)],ce),_.f.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,s.m5)(2089,60),when:p.M$.or(de,c.x2.inPeekEditor),handler(e){he(e,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),_.f.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:p.M$.or(de,c.x2.inPeekEditor),handler(e){he(e,e=>{e.goToNextOrPreviousReference(!0)})}}),_.f.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:p.M$.or(de,c.x2.inPeekEditor),handler(e){he(e,e=>{e.goToNextOrPreviousReference(!1)})}}),u.wb.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),u.wb.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),u.wb.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),u.wb.registerCommand("closeReferenceSearch",e=>he(e,e=>e.closeWidget())),_.f.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:p.M$.and(c.x2.inPeekEditor,p.M$.not("config.editor.stablePeek"))}),_.f.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:p.M$.and(de,p.M$.not("config.editor.stablePeek"))}),_.f.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:p.M$.and(de,f.YD,f.Nf.negate(),f.cH.negate()),handler(e){var t;const i=null===(t=e.get(f.PE).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof b.yc&&he(e,e=>e.revealReference(i[0]))}}),_.f.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:p.M$.and(de,f.YD,f.Nf.negate(),f.cH.negate()),handler(e){var t;const i=null===(t=e.get(f.PE).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof b.yc&&he(e,e=>e.openReference(i[0],!0,!0))}}),u.wb.registerCommand("openReference",e=>{var t;const i=null===(t=e.get(f.PE).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof b.yc&&he(e,e=>e.openReference(i[0],!1,!0))})},81172:(e,t,i)=>{i.d(t,{P:()=>o});var n=i(62915);class o{constructor(e,t,i,o){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.whitespaceViewportData=i,this._model=o,this.visibleRange=new n.Q(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}},82550:(e,t,i)=>{function n(e,t){let i=0;for(let n=0;n<e.length;n++)"\t"===e.charAt(n)?i+=t:i++;return i}function o(e,t,i){e=e<0?0:e;let n="";if(!i){const i=Math.floor(e/t);e%=t;for(let e=0;e<i;e++)n+="\t"}for(let o=0;o<e;o++)n+=" ";return n}i.d(t,{c:()=>n,k:()=>o})},83942:(e,t,i)=>{var n=i(55808),o=i(64796),s=i(62915),r=i(89114),a=i(20512),l=i(69549),d=i(74379),c=i(9280),h=i(42464);class u{constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new h.vl,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new h.vl,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new h.vl,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){for(let i=0;i<this.colorPresentations.length;i++)if(t.toLowerCase()===this.colorPresentations[i].label){this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation);break}}flushColor(){this._onColorFlushed.fire(this._color)}}var g=i(58159),p=i(90491),m=i(59686),_=i(27444),f=i(35819),v=i(44824),C=i(16974);const b=p.$;class w extends n.jG{constructor(e,t,i){super(),this.model=t,this.domNode=b(".colorpicker-header"),p.BC(e,this.domNode),this.pickedColorNode=p.BC(this.domNode,b(".picked-color"));const n=(0,f.kg)("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this.pickedColorNode.setAttribute("title",n);const o=p.BC(this.domNode,b(".original-color"));o.style.backgroundColor=d.Q1.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(v.WfR)||d.Q1.white,this._register((0,C.zy)((e,t)=>{this.backgroundColor=e.getColor(v.WfR)||d.Q1.white})),this._register(p.ko(this.pickedColorNode,p.Bx.CLICK,()=>this.model.selectNextColorPresentation())),this._register(p.ko(o,p.Bx.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this.pickedColorNode.style.backgroundColor=d.Q1.Format.CSS.format(t.color)||"",this.pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){this.pickedColorNode.style.backgroundColor=d.Q1.Format.CSS.format(e)||"",this.pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:"",this.pickedColorNode.prepend(b(".codicon.codicon-color-mode"))}}class L extends n.jG{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this.domNode=b(".colorpicker-body"),p.BC(e,this.domNode),this.saturationBox=new S(this.domNode,this.model,this.pixelRatio),this._register(this.saturationBox),this._register(this.saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this.saturationBox.onColorFlushed(this.flushColor,this)),this.opacityStrip=new k(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new I(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new d.Q1(new d.$J(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new d.Q1(new d.$J(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=360*(1-e);this.model.color=new d.Q1(new d.$J(360===i?0:i,t.s,t.v,t.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}class S extends n.jG{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new h.vl,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new h.vl,this.onColorFlushed=this._onColorFlushed.event,this.domNode=b(".saturation-wrap"),p.BC(e,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",p.BC(this.domNode,this.canvas),this.selection=b(".saturation-selection"),p.BC(this.domNode,this.selection),this.layout(),this._register(p.ko(this.domNode,p.Bx.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new m._);const t=p.BK(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top),()=>null);const i=p.ko(document,p.Bx.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new d.Q1(new d.$J(e.h,1,1,1)),i=this.canvas.getContext("2d"),n=i.createLinearGradient(0,0,this.canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const o=i.createLinearGradient(0,0,0,this.canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this.canvas.width,this.canvas.height),i.fillStyle=d.Q1.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=o,i.fill()}paintSelection(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class y extends n.jG{constructor(e,t){super(),this.model=t,this._onDidChange=new h.vl,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new h.vl,this.onColorFlushed=this._onColorFlushed.event,this.domNode=p.BC(e,b(".strip")),this.overlay=p.BC(this.domNode,b(".overlay")),this.slider=p.BC(this.domNode,b(".slider")),this.slider.style.top="0px",this._register(p.ko(this.domNode,p.Bx.POINTER_DOWN,e=>this.onPointerDown(e))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new m._),i=p.BK(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangeTop(e.pageY-i.top),()=>null);const n=p.ko(document,p.Bx.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=(1-e)*this.height+"px"}}class k extends y{constructor(e,t){super(e,t),this.domNode.classList.add("opacity-strip"),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){const{r:t,g:i,b:n}=e.rgba,o=new d.Q1(new d.bU(t,i,n,1)),s=new d.Q1(new d.bU(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class I extends y{constructor(e,t){super(e,t),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class x extends _.x{constructor(e,t,i,n){super(),this.model=t,this.pixelRatio=i,this._register(g.PixelRatio.onDidChange(()=>this.layout()));const o=b(".colorpicker-widget");e.appendChild(o);const s=new w(o,this.model,n);this.body=new L(o,this.model,this.pixelRatio),this._register(s),this._register(this.body)}layout(){this.body.layout()}}var N=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},M=function(e,t){return function(i,n){t(i,n,e)}},D=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class R{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let P=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=1}computeSync(e,t){return[]}computeAsync(e,t,i){return a.AE.fromPromise(this._computeAsync(e,t,i))}_computeAsync(e,t,i){return D(this,void 0,void 0,function*(){if(!this._editor.hasModel())return[];const e=r.m.get(this._editor);if(!e)return[];for(const i of t){if(!e.isColorDecoration(i))continue;const t=e.getColorData(i.range.getStartPosition());if(t){return[yield this._createColorHover(this._editor.getModel(),t.colorInfo,t.provider)]}}return[]})}_createColorHover(e,t,i){return D(this,void 0,void 0,function*(){const n=e.getValueInRange(t.range),{red:o,green:r,blue:a,alpha:h}=t.color,g=new d.bU(Math.round(255*o),Math.round(255*r),Math.round(255*a),h),p=new d.Q1(g),m=yield(0,c.R)(e,t,i,l.X.None),_=new u(p,[],0);return _.colorPresentations=m||[],_.guessColorPresentation(p,n),new R(this,s.Q.lift(t.range),_,i)})}renderHoverParts(e,t){if(0===t.length||!this._editor.hasModel())return n.jG.None;const i=new n.Cm,o=t[0],r=this._editor.getModel(),a=o.model,d=i.add(new x(e.fragment,a,this._editor.getOption(130),this._themeService));e.setColorPicker(d);let h=new s.Q(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn);const u=()=>{let t,i;if(a.presentation.textEdit){t=[a.presentation.textEdit],i=new s.Q(a.presentation.textEdit.range.startLineNumber,a.presentation.textEdit.range.startColumn,a.presentation.textEdit.range.endLineNumber,a.presentation.textEdit.range.endColumn);const e=this._editor.getModel()._setTrackedRange(null,i,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",t),i=this._editor.getModel()._getTrackedRange(e)||i}else t=[{range:h,text:a.presentation.label,forceMoveMarkers:!1}],i=h.setEndPosition(h.endLineNumber,h.startColumn+a.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",t);a.presentation.additionalTextEdits&&(t=[...a.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",t),e.hide()),this._editor.pushUndoStop(),h=i},g=e=>(0,c.R)(r,{range:h,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},o.provider,l.X.None).then(e=>{a.colorPresentations=e||[]});return i.add(a.onColorFlushed(e=>{g(e).then(u)})),i.add(a.onDidChangeColor(g)),i}};P=N([M(1,C.Gy)],P);var O=i(52059),E=i(25069);class A extends n.jG{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(e=>this.onMouseDown(e)))}dispose(){super.dispose()}onMouseDown(e){const t=e.target;if(6!==t.type)return;if(!t.detail.injectedText)return;if(t.detail.injectedText.options.attachedData!==r.n)return;if(!t.range)return;const i=this._editor.getContribution(O.D.ID);if(i&&!i.isColorPickerVisible()){const e=new s.Q(t.range.startLineNumber,t.range.startColumn+1,t.range.endLineNumber,t.range.endColumn+1);i.showContentHover(e,1,!1)}}}A.ID="editor.contrib.colorContribution",(0,o.HW)(A.ID,A),E.B2.register(P)},84862:(e,t,i)=>{i.d(t,{j:()=>ne,i:()=>se});var n=i(88106),o=i(55808),s=i(64796),r=i(88459),a=i(55547),l=i(62915),d=i(62788),c=i(48640),h=i(42464),u=i(47643),g=i(24638),p=i(65698),m=i(62848),_=i(34029),f=i(40145),v=i(58471),C=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},b=function(e,t){return function(i,n){t(i,n,e)}};class w{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let L=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new h.vl,this.onDidChange=this._onDidChange.event,this._dispoables=new o.Cm,this._markers=[],this._nextIdx=-1,p.r.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(e,t)=>{let i=(0,g.UD)(e.resource.toString(),t.resource.toString());return 0===i&&(i="position"===n?l.Q.compareRangesUsingStarts(e,t)||f.cj.compare(e.severity,t.severity):f.cj.compare(e.severity,t.severity)||l.Q.compareRangesUsingStarts(e,t)),i},r=()=>{this._markers=this._markerService.read({resource:p.r.isUri(e)?e:void 0,severities:f.cj.Error|f.cj.Warning|f.cj.Info}),"function"===typeof e&&(this._markers=this._markers.filter(e=>this._resourceFilter(e.resource))),this._markers.sort(s)};r(),this._dispoables.add(t.onMarkerChanged(e=>{this._resourceFilter&&!e.some(e=>this._resourceFilter(e))||(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new w(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,o=this._markers.findIndex(t=>t.resource.toString()===e.uri.toString());o<0&&(o=(0,c.El)(this._markers,{resource:e.uri},(e,t)=>(0,g.UD)(e.resource.toString(),t.resource.toString())),o<0&&(o=~o));for(let s=o;s<this._markers.length;s++){let i=l.Q.lift(this._markers[s]);if(i.isEmpty()){const t=e.getWordAtPosition(i.getStartPosition());t&&(i=new l.Q(i.startLineNumber,t.startColumn,i.startLineNumber,t.endColumn))}if(t&&(i.containsPosition(t)||t.isBeforeOrEqual(i.getStartPosition()))){this._nextIdx=s,n=!0;break}if(this._markers[s].resource.toString()!==e.uri.toString())break}n||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(0===this._markers.length)return!1;const n=this._nextIdx;return-1===this._nextIdx?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),n!==this._nextIdx}find(e,t){let i=this._markers.findIndex(t=>t.resource.toString()===e.toString());if(!(i<0))for(;i<this._markers.length;i++)if(l.Q.containsPosition(this._markers[i],t))return new w(this._markers[i],i+1,this._markers.length)}};L=C([b(1,f.DR),b(2,v.pG)],L);const S=(0,_.u1)("IMarkerNavigationService");let y=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new u.w}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new L(e,this._markerService,this._configService)}};y=C([b(0,f.DR),b(1,v.pG)],y),(0,m.v)(S,y,!0);var k=i(35819),I=i(93593),x=i(21181),N=i(62192),M=i(90491),D=i(95062),R=i(74379),P=i(1273),O=i(92415),E=i(88466),A=i(70679),T=i(46025),F=i(19237),V=i(44824),W=i(16974),B=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},H=function(e,t){return function(i,n){t(i,n,e)}};class j{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new o.Cm,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(M.b2(this._relatedBlock,"click",e=>{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&i(t)})),this._scrollable=new D.Se(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(e=>{r.style.left=`-${e.scrollLeft}px`,r.style.top=`-${e.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,o.AS)(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:o}=e;let s=((null===t||void 0===t?void 0:t.length)||0)+2;o&&(s+="string"===typeof o?o.length:o.value.length);const r=(0,g.uz)(i);this._lines=r.length,this._longestLineLength=0;for(const c of r)this._longestLineLength=Math.max(c.length+s,this._longestLineLength);M.w_(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let a=this._messageBlock;for(const c of r)a=document.createElement("div"),a.innerText=c,""===c&&(a.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(a);if(t||o){const e=document.createElement("span");if(e.classList.add("details"),a.appendChild(e),t){const i=document.createElement("span");i.innerText=t,i.classList.add("source"),e.appendChild(i)}if(o)if("string"===typeof o){const t=document.createElement("span");t.innerText=`(${o})`,t.classList.add("code"),e.appendChild(t)}else{this._codeLink=M.$("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(o.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};M.BC(this._codeLink,M.$("span")).innerText=o.value,e.appendChild(this._codeLink)}}if(M.w_(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,c.EI)(n)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(60))}px`,this._lines+=1;for(const t of n){const i=document.createElement("div"),n=document.createElement("a");n.classList.add("filename"),n.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,n.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(n,t);const o=document.createElement("span");o.innerText=t.message,i.appendChild(n),i.appendChild(o),this._lines+=1,e.appendChild(i)}}const l=this._editor.getOption(45),d=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),h=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:d,scrollHeight:h})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case f.cj.Error:t=k.kg("Error","Error");break;case f.cj.Warning:t=k.kg("Warning","Warning");break;case f.cj.Info:t=k.kg("Info","Info");break;case f.cj.Hint:t=k.kg("Hint","Hint")}let i=k.kg("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();if(n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1){i=`${n.getLineContent(e.startLineNumber)}, ${i}`}return i}}let U=class e extends O.j6{constructor(e,t,i,n,s,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new o.Cm,this._onDidSelectRelatedInformation=new h.vl,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=f.cj.Warning,this._backgroundColor=R.Q1.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(J);let t=G,i=K;this._severity===f.cj.Warning?(t=q,i=Z):this._severity===f.cj.Info&&(t=X,i=Y);const n=e.getColor(t),o=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:o,primaryHeadingColor:e.getColor(O._X),secondaryHeadingColor:e.getColor(O.e3)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onBeforeRun(e=>this.editor.focus()));const i=[],n=this._menuService.createMenu(e.TitleMenu,this._contextKeyService);(0,E.Ot)(n,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),n.dispose()}_fillTitleIcon(e){this._icon=M.BC(e,M.$(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new j(this._container,this.editor,e=>this._onDidSelectRelatedInformation.fire(e),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=l.Q.lift(e),o=this.editor.getPosition(),s=o&&n.containsPosition(o)?o:n.getStartPosition();super.show(s,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const e=i>1?k.kg("problems","{0} of {1} problems",t,i):k.kg("change","{0} of {1} problem",t,i);this.setTitle((0,P.P8)(r.uri),e)}this._icon.className=`codicon ${F.z.className(f.cj.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};U.TitleMenu=new I.D8("gotoErrorTitleMenu"),U=B([H(1,W.Gy),H(2,T.Cr),H(3,I.ez),H(4,_._Y),H(5,x.fN),H(6,A.L)],U);const z=(0,V.yLr)(V.Rbi,V.AN$),$=(0,V.yLr)(V.Hng,V.Stt),Q=(0,V.yLr)(V.pOz,V.IIb),G=(0,V.x1A)("editorMarkerNavigationError.background",{dark:z,light:z,hcDark:V.b1q,hcLight:V.b1q},k.kg("editorMarkerNavigationError","Editor marker navigation widget error color.")),K=(0,V.x1A)("editorMarkerNavigationError.headerBackground",{dark:(0,V.JO0)(G,.1),light:(0,V.JO0)(G,.1),hcDark:null,hcLight:null},k.kg("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),q=(0,V.x1A)("editorMarkerNavigationWarning.background",{dark:$,light:$,hcDark:V.b1q,hcLight:V.b1q},k.kg("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Z=(0,V.x1A)("editorMarkerNavigationWarning.headerBackground",{dark:(0,V.JO0)(q,.1),light:(0,V.JO0)(q,.1),hcDark:"#0C141F",hcLight:(0,V.JO0)(q,.2)},k.kg("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),X=(0,V.x1A)("editorMarkerNavigationInfo.background",{dark:Q,light:Q,hcDark:V.b1q,hcLight:V.b1q},k.kg("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),Y=(0,V.x1A)("editorMarkerNavigationInfo.headerBackground",{dark:(0,V.JO0)(X,.1),light:(0,V.JO0)(X,.1),hcDark:null,hcLight:null},k.kg("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),J=(0,V.x1A)("editorMarkerNavigation.background",{dark:V.YtV,light:V.YtV,hcDark:V.YtV,hcLight:V.YtV},k.kg("editorMarkerNavigationBackground","Editor marker navigation widget background."));var ee=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},te=function(e,t){return function(i,n){t(i,n,e)}},ie=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};let ne=class e{constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new o.Cm,this._editor=e,this._widgetVisible=ae.bindTo(this._contextKeyService)}static get(t){return t.getContribution(e.ID)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(U,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(e=>{var t,i,n;(null===(t=this._model)||void 0===t?void 0:t.selected)&&l.Q.containsPosition(null===(i=this._model)||void 0===i?void 0:i.selected.marker,e.position)||null===(n=this._model)||void 0===n||n.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:l.Q.lift(e).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new a.y(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}nagivate(t,i){var n,o;return ie(this,void 0,void 0,function*(){if(this._editor.hasModel()){const s=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(s.move(t,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=yield this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&(null===(n=e.get(r))||void 0===n||n.close(),null===(o=e.get(r))||void 0===o||o.nagivate(t,i))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}})}};ne.ID="editor.contrib.markerController",ne=ee([te(1,S),te(2,x.fN),te(3,r.T),te(4,_._Y)],ne);class oe extends s.ks{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}run(e,t){var i;return ie(this,void 0,void 0,function*(){t.hasModel()&&(null===(i=ne.get(t))||void 0===i||i.nagivate(this._next,this._multiFile))})}}class se extends oe{constructor(){super(!0,!1,{id:se.ID,label:se.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.R.focus,primary:578,weight:100},menuOpts:{menuId:U.TitleMenu,title:se.LABEL,icon:(0,N.pU)("marker-navigation-next",n.W6.arrowDown,k.kg("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}se.ID="editor.action.marker.next",se.LABEL=k.kg("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class re extends oe{constructor(){super(!1,!1,{id:re.ID,label:re.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.R.focus,primary:1602,weight:100},menuOpts:{menuId:U.TitleMenu,title:re.LABEL,icon:(0,N.pU)("marker-navigation-previous",n.W6.arrowUp,k.kg("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}re.ID="editor.action.marker.prev",re.LABEL=k.kg("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");(0,s.HW)(ne.ID,ne),(0,s.Fl)(se),(0,s.Fl)(re),(0,s.Fl)(class extends oe{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:k.kg("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.R.focus,primary:66,weight:100},menuOpts:{menuId:I.D8.MenubarGoMenu,title:k.kg({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}),(0,s.Fl)(class extends oe{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:k.kg("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:d.R.focus,primary:1090,weight:100},menuOpts:{menuId:I.D8.MenubarGoMenu,title:k.kg({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const ae=new x.N1("markersNavigationVisible",!1),le=s.DX.bindToContribution(ne.get);(0,s.E_)(new le({id:"closeMarkersNavigation",precondition:ae,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:d.R.focus,primary:9,secondary:[1033]}}))},85858:(e,t,i)=>{var n=i(58159),o=i(55977),s=i(96154),r=i(64796),a=i(88459),l=i(62788),d=i(35819),c=i(93593),h=i(43772),u=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const g="9_cutcopypaste",p=o.ib||document.queryCommandSupported("cut"),m=o.ib||document.queryCommandSupported("copy"),_="undefined"!==typeof navigator.clipboard&&!n.isFirefox||document.queryCommandSupported("paste");function f(e){return e.register(),e}const v=p?f(new r.fE({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:o.ib?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:c.D8.MenubarEditMenu,group:"2_ccp",title:d.kg({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:c.D8.EditorContext,group:g,title:d.kg("actions.clipboard.cutLabel","Cut"),when:l.R.writable,order:1},{menuId:c.D8.CommandPalette,group:"",title:d.kg("actions.clipboard.cutLabel","Cut"),order:1},{menuId:c.D8.SimpleEditorContext,group:g,title:d.kg("actions.clipboard.cutLabel","Cut"),when:l.R.writable,order:1}]})):void 0,C=m?f(new r.fE({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:o.ib?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:c.D8.MenubarEditMenu,group:"2_ccp",title:d.kg({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:c.D8.EditorContext,group:g,title:d.kg("actions.clipboard.copyLabel","Copy"),order:2},{menuId:c.D8.CommandPalette,group:"",title:d.kg("actions.clipboard.copyLabel","Copy"),order:1},{menuId:c.D8.SimpleEditorContext,group:g,title:d.kg("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;c.ZG.appendMenuItem(c.D8.MenubarEditMenu,{submenu:c.D8.MenubarCopy,title:{value:d.kg("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3}),c.ZG.appendMenuItem(c.D8.EditorContext,{submenu:c.D8.EditorContextCopy,title:{value:d.kg("copy as","Copy As"),original:"Copy As"},group:g,order:3}),c.ZG.appendMenuItem(c.D8.EditorContext,{submenu:c.D8.EditorContextShare,title:{value:d.kg("share","Share"),original:"Share"},group:"11_share",order:-1});const b=_?f(new r.fE({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:o.ib?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:c.D8.MenubarEditMenu,group:"2_ccp",title:d.kg({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:c.D8.EditorContext,group:g,title:d.kg("actions.clipboard.pasteLabel","Paste"),when:l.R.writable,order:4},{menuId:c.D8.CommandPalette,group:"",title:d.kg("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:c.D8.SimpleEditorContext,group:g,title:d.kg("actions.clipboard.pasteLabel","Paste"),when:l.R.writable,order:4}]})):void 0;class w extends r.ks{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:d.kg("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:l.R.textInputFocus,primary:0,weight:100}})}run(e,t){if(!t.hasModel())return;!t.getOption(33)&&t.getSelection().isEmpty()||(s.Eq.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),s.Eq.forceCopyWithSyntaxHighlighting=!1)}}function L(e,t){e&&(e.addImplementation(1e4,"code-editor",(e,i)=>{const n=e.get(a.T).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const e=n.getOption(33),i=n.getSelection();return i&&i.isEmpty()&&!e||document.execCommand(t),!0}return!1}),e.addImplementation(0,"generic-dom",(e,i)=>(document.execCommand(t),!0)))}L(v,"cut"),L(C,"copy"),b&&(b.addImplementation(1e4,"code-editor",(e,t)=>{const i=e.get(a.T),n=e.get(h.h),r=i.getFocusedCodeEditor();if(r&&r.hasTextFocus()){return!(!document.execCommand("paste")&&o.HZ)||u(void 0,void 0,void 0,function*(){const e=yield n.readText();if(""!==e){const t=s.bs.INSTANCE.get(e);let i=!1,n=null,o=null;t&&(i=r.getOption(33)&&!!t.isFromEmptySelection,n="undefined"!==typeof t.multicursorText?t.multicursorText:null,o=t.mode),r.trigger("keyboard","paste",{text:e,pasteOnNewLine:i,multicursorText:n,mode:o})}})}return!1}),b.addImplementation(0,"generic-dom",(e,t)=>(document.execCommand("paste"),!0))),m&&(0,r.Fl)(w)},87380:(e,t,i)=>{i.d(t,{Yj:()=>d,s0:()=>c});var n=i(24638),o=i(42219),s=i(43178),r=i(46078),a=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const l={getInitialState:()=>r.r3,tokenizeEncoded:(e,t,i)=>(0,r.Lh)(0,i)};function d(e,t,i){return a(this,void 0,void 0,function*(){if(!i)return h(t,e.languageIdCodec,l);const n=yield s.dG.getOrCreate(i);return h(t,e.languageIdCodec,n||l)})}function c(e,t,i,n,o,s,r){let a="<div>",l=n,d=0,c=!0;for(let h=0,u=t.getCount();h<u;h++){const u=t.getEndOffset(h);if(u<=n)continue;let g="";for(;l<u&&l<o;l++){const t=e.charCodeAt(l);switch(t){case 9:{let e=s-(l+d)%s;for(d+=e-1;e>0;)r&&c?(g+="&#160;",c=!1):(g+=" ",c=!0),e--;break}case 60:g+="&lt;",c=!1;break;case 62:g+="&gt;",c=!1;break;case 38:g+="&amp;",c=!1;break;case 0:g+="&#00;",c=!1;break;case 65279:case 8232:case 8233:case 133:g+="\ufffd",c=!1;break;case 13:g+="&#8203",c=!1;break;case 32:r&&c?(g+="&#160;",c=!1):(g+=" ",c=!0);break;default:g+=String.fromCharCode(t),c=!1}}if(a+=`<span style="${t.getInlineStyle(h,i)}">${g}</span>`,u>o||l>=o)break}return a+="</div>",a}function h(e,t,i){let s='<div class="monaco-tokenized-source">';const r=n.uz(e);let a=i.getInitialState();for(let l=0,d=r.length;l<d;l++){const e=r[l];l>0&&(s+="<br/>");const d=i.tokenizeEncoded(e,!0,a);o.f.convertToEndOffset(d.tokens,e.length);const c=new o.f(d.tokens,e,t).inflate();let h=0;for(let t=0,i=c.getCount();t<i;t++){const i=c.getClassName(t),o=c.getEndOffset(t);s+=`<span class="${i}">${n.ih(e.substring(h,o))}</span>`,h=o}a=d.endState}return s+="</div>",s}},89114:(e,t,i)=>{i.d(t,{m:()=>w,n:()=>b});var n=i(20512),o=i(74379),s=i(75909),r=i(55808),a=i(3499),l=i(24638),d=i(35916),c=i(64796),h=i(62915),u=i(41362),g=i(40098),p=i(34876),m=i(9280),_=i(58471),f=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},v=function(e,t){return function(i,n){t(i,n,e)}},C=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};const b=Object.create({});let w=class e extends r.jG{constructor(t,i,n,o){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=n,this._localToDispose=this._register(new r.Cm),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new d.Qn(this._editor),this._colorDecorationClassRefs=this._register(new r.Cm),this._debounceInformation=o.for(n.colorProvider,"Document Colors",{min:e.RECOMPUTE_TIME}),this._register(t.onDidChangeModel(()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()})),this._register(t.onDidChangeModelLanguage(()=>this.onModelChanged())),this._register(n.colorProvider.onDidChange(()=>this.onModelChanged())),this._register(t.onDidChangeConfiguration(()=>{const e=this._isEnabled;this._isEnabled=this.isEnabled(),e!==this._isEnabled&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&"object"===typeof i){const e=i.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.enable}return this._editor.getOption(17)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!this._isEnabled)return;const e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new n.pc,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}beginCompute(){this._computePromise=(0,n.SS)(e=>C(this,void 0,void 0,function*(){const t=this._editor.getModel();if(!t)return Promise.resolve([]);const i=new a.W(!1),n=yield(0,m.j)(this._languageFeaturesService.colorProvider,t,e);return this._debounceInformation.update(t,i.elapsed()),n})),this._computePromise.then(e=>{this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null},s.dz)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:u.kI.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((t,i)=>this._colorDatas.set(t,e[i]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[];for(let i=0;i<e.length&&t.length<500;i++){const{red:n,green:s,blue:r,alpha:a}=e[i].colorInfo.color,d=new o.bU(Math.round(255*n),Math.round(255*s),Math.round(255*r),a),c=`rgba(${d.r}, ${d.g}, ${d.b}, ${d.a})`,h=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:c}));t.push({range:{startLineNumber:e[i].colorInfo.range.startLineNumber,startColumn:e[i].colorInfo.range.startColumn,endLineNumber:e[i].colorInfo.range.endLineNumber,endColumn:e[i].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:l.S8,inlineClassName:`${h.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:b}}})}this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(h.Q.fromPositions(e,e)).filter(e=>this._colorDatas.has(e.id));return 0===i.length?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};w.ID="editor.contrib.colorDetector",w.RECOMPUTE_TIME=1e3,w=f([v(1,_.pG),v(2,p.u),v(3,g.U)],w),(0,c.HW)(w.ID,w)},97520:(e,t,i)=>{i.d(t,{NN:()=>p,eS:()=>u,f9:()=>g,hE:()=>c,sv:()=>h});var n=i(69549),o=i(75909),s=i(64796),r=i(98868),a=i(34876),l=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};function d(e,t,i,n){const s=i.ordered(e).map(i=>Promise.resolve(n(i,e,t)).then(void 0,e=>{(0,o.M_)(e)}));return Promise.all(s).then(e=>{const t=[];for(const i of e)Array.isArray(i)?t.push(...i):i&&t.push(i);return t})}function c(e,t,i,n){return d(t,i,e,(e,t,i)=>e.provideDefinition(t,i,n))}function h(e,t,i,n){return d(t,i,e,(e,t,i)=>e.provideDeclaration(t,i,n))}function u(e,t,i,n){return d(t,i,e,(e,t,i)=>e.provideImplementation(t,i,n))}function g(e,t,i,n){return d(t,i,e,(e,t,i)=>e.provideTypeDefinition(t,i,n))}function p(e,t,i,n,o){return d(t,i,e,(e,t,i)=>l(this,void 0,void 0,function*(){const s=yield e.provideReferences(t,i,{includeDeclaration:!0},o);if(!n||!s||2!==s.length)return s;const r=yield e.provideReferences(t,i,{includeDeclaration:!1},o);return r&&1===r.length?r:s}))}function m(e){return l(this,void 0,void 0,function*(){const t=yield e(),i=new r.y4(t,""),n=i.references.map(e=>e.link);return i.dispose(),n})}(0,s.ke)("_executeDefinitionProvider",(e,t,i)=>{const o=c(e.get(a.u).definitionProvider,t,i,n.X.None);return m(()=>o)}),(0,s.ke)("_executeTypeDefinitionProvider",(e,t,i)=>{const o=g(e.get(a.u).typeDefinitionProvider,t,i,n.X.None);return m(()=>o)}),(0,s.ke)("_executeDeclarationProvider",(e,t,i)=>{const o=h(e.get(a.u).declarationProvider,t,i,n.X.None);return m(()=>o)}),(0,s.ke)("_executeReferenceProvider",(e,t,i)=>{const o=p(e.get(a.u).referenceProvider,t,i,!1,n.X.None);return m(()=>o)}),(0,s.ke)("_executeImplementationProvider",(e,t,i)=>{const o=u(e.get(a.u).implementationProvider,t,i,n.X.None);return m(()=>o)})},98564:(e,t,i)=>{var n=i(64796),o=i(17218),s=i(72858),r=i(62915),a=i(62788),l=i(35819);class d extends n.ks{constructor(){super({id:"editor.action.transposeLetters",label:l.kg("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:a.R.writable,kbOpts:{kbExpr:a.R.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],a=t.getSelections();for(const l of a){if(!l.isEmpty())continue;const e=l.startLineNumber,t=l.startColumn,a=i.getLineMaxColumn(e);if(1===e&&(1===t||2===t&&2===a))continue;const d=t===a?l.getPosition():s.I.rightPosition(i,l.getPosition().lineNumber,l.getPosition().column),c=s.I.leftPosition(i,d),h=s.I.leftPosition(i,c),u=i.getValueInRange(r.Q.fromPositions(h,c)),g=i.getValueInRange(r.Q.fromPositions(c,d)),p=r.Q.fromPositions(h,d);n.push(new o.iu(p,g+u))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}(0,n.Fl)(d)},98868:(e,t,i)=>{i.d(t,{$L:()=>m,y4:()=>_,yc:()=>g});var n=i(75909),o=i(42464),s=i(81090),r=i(55808),a=i(14094),l=i(1273),d=i(24638),c=i(62915),h=i(35819),u=function(e,t,i,n){return new(i||(i=Promise))(function(o,s){function r(e){try{l(n.next(e))}catch(t){s(t)}}function a(e){try{l(n.throw(e))}catch(t){s(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})};class g{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=s.r.nextId()}get uri(){return this.link.uri}get range(){var e,t;return null!==(t=null!==(e=this._range)&&void 0!==e?e:this.link.targetSelectionRange)&&void 0!==t?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=null===(e=this.parent.getPreview(this))||void 0===e?void 0:e.preview(this.range);return t?(0,h.kg)({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"symbol in {0} on line {1} at column {2}, {3}",(0,l.P8)(this.uri),this.range.startLineNumber,this.range.startColumn,t.value):(0,h.kg)("aria.oneReference","symbol in {0} on line {1} at column {2}",(0,l.P8)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class p{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:o,endLineNumber:s,endColumn:r}=e,a=i.getWordUntilPosition({lineNumber:n,column:o-t}),l=new c.Q(n,a.startColumn,n,o),d=new c.Q(s,r,s,1073741824),h=i.getValueInRange(l).replace(/^\s+/,""),u=i.getValueInRange(e);return{value:h+u+i.getValueInRange(d).replace(/\s+$/,""),highlight:{start:h.length,end:h.length+u.length}}}}class m{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new a.fT}dispose(){(0,r.AS)(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?(0,h.kg)("aria.fileReferences.1","1 symbol in {0}, full path {1}",(0,l.P8)(this.uri),this.uri.fsPath):(0,h.kg)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,(0,l.P8)(this.uri),this.uri.fsPath)}resolve(e){return u(this,void 0,void 0,function*(){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const t=yield e.createModelReference(i.uri);this._previews.set(i.uri,new p(t))}catch(t){(0,n.dz)(t)}return this})}}class _{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new o.vl,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;let n;e.sort(_._compareReferences);for(const o of e)if(n&&l.er.isEqual(n.uri,o.uri,!0)||(n=new m(this,o.uri),this.groups.push(n)),0===n.children.length||0!==_._compareReferences(o,n.children[n.children.length-1])){const e=new g(i===o,n,o,e=>this._onDidChangeReferenceRange.fire(e));this.references.push(e),n.children.push(e)}}dispose(){(0,r.AS)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new _(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?(0,h.kg)("aria.result.0","No results found"):1===this.references.length?(0,h.kg)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?(0,h.kg)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,h.kg)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const o=i.children.length,s=i.parent.groups.length;return 1===s||t&&n+1<o||!t&&n>0?(n=t?(n+1)%o:(n+o-1)%o,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%s,i.parent.groups[n].children[0]):(n=(n+s-1)%s,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map((i,n)=>({idx:n,prefixLen:d.Qp(i.uri.toString(),e.toString()),offsetDist:100*Math.abs(i.range.startLineNumber-t.lineNumber)+Math.abs(i.range.startColumn-t.column)})).sort((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:e.offsetDist>t.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&c.Q.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return l.er.compare(e.uri,t.uri)||c.Q.compareRangesUsingStarts(e.range,t.range)}}}}]);