@bkm016/basalt 0.1.9 → 0.1.11

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 (188) hide show
  1. package/{chunk-0xd9mnc2.js → chunk-jymx3a77.js} +165 -152
  2. package/{chunk-66h5qpc6.js → chunk-zq32mwxj.js} +134 -134
  3. package/compiled.js +1 -1
  4. package/package.json +1 -1
  5. package/ui-test-worker.js +1 -1
  6. package/web/{chunk-9yfftz38.js → chunk-05mvzx00.js} +1 -1
  7. package/web/chunk-086dshck.js +1 -0
  8. package/web/chunk-0fy590s0.js +1 -0
  9. package/web/{chunk-4a6gdrbs.js → chunk-0hvxb5d5.js} +1 -1
  10. package/web/chunk-0mdf1qja.js +1 -0
  11. package/web/{chunk-dz7g1gnv.js → chunk-0y971zgq.js} +2 -2
  12. package/web/{chunk-fjb3ksfd.js → chunk-1t38sgrk.js} +2 -2
  13. package/web/{chunk-66wb0p6e.js → chunk-1zfxaafq.js} +1 -1
  14. package/web/{chunk-p9hfcamx.js → chunk-27812gqr.js} +5 -5
  15. package/web/{chunk-sk1wkgjw.js → chunk-2ds0a2z1.js} +3 -3
  16. package/web/{chunk-ddyyc20r.js → chunk-2f2agfpj.js} +11 -11
  17. package/web/{chunk-3ecrkvr3.js → chunk-2tsxj613.js} +3 -3
  18. package/web/{chunk-y2rzeb4v.js → chunk-2weaa3gn.js} +2 -2
  19. package/web/{chunk-0pghpg4y.js → chunk-3020mmp1.js} +1 -1
  20. package/web/{chunk-mykrm8ba.js → chunk-30aeb767.js} +2 -2
  21. package/web/chunk-32zmk3f5.js +1 -0
  22. package/web/{chunk-zb2bkr7f.js → chunk-36dc7tcg.js} +2 -2
  23. package/web/{chunk-nnyc889n.js → chunk-3a57m7xm.js} +3 -3
  24. package/web/{chunk-8w7fyb3v.js → chunk-3b4wqmnh.js} +7 -7
  25. package/web/chunk-3d3wnh8a.js +2 -0
  26. package/web/{chunk-601k823s.js → chunk-3ftb27f3.js} +8 -8
  27. package/web/{chunk-c6yacwbc.js → chunk-47mbbmst.js} +3 -3
  28. package/web/chunk-48479gnx.js +1 -0
  29. package/web/{chunk-qsqtwf34.js → chunk-4gc663j0.js} +2 -2
  30. package/web/{chunk-kcjz03h5.js → chunk-4rwwtfnd.js} +2 -2
  31. package/web/{chunk-eqndhs21.js → chunk-4wwd3pfz.js} +2 -2
  32. package/web/{chunk-myd6sc76.js → chunk-57pyz29y.js} +2 -2
  33. package/web/{chunk-mdfksj61.js → chunk-59nk506k.js} +1 -1
  34. package/web/{chunk-db3twjvk.js → chunk-5ahx98zj.js} +9 -9
  35. package/web/chunk-6cjm2yr7.js +1 -0
  36. package/web/{chunk-frnh4zqf.js → chunk-6jb2zyp6.js} +2 -2
  37. package/web/{chunk-ts6jsfdk.js → chunk-793m5jjh.js} +1 -1
  38. package/web/{chunk-3ak5dg10.js → chunk-7dycbjxn.js} +4 -4
  39. package/web/chunk-7ycxz39p.js +1 -0
  40. package/web/{chunk-tftc5v89.js → chunk-8151c970.js} +1 -1
  41. package/web/{chunk-jccz14ye.js → chunk-885kpj14.js} +2 -2
  42. package/web/{chunk-79e08rk1.js → chunk-8csw0mvf.js} +2 -2
  43. package/web/{chunk-m9q5nr8f.js → chunk-8z7texmv.js} +1 -1
  44. package/web/{chunk-v1exk5wd.js → chunk-90fkdzx3.js} +8 -8
  45. package/web/chunk-94denx9h.js +39 -0
  46. package/web/{chunk-5baeh8q7.js → chunk-96xhmmqz.js} +6 -6
  47. package/web/chunk-9jy8nc4r.js +1 -0
  48. package/web/{chunk-5dr4tkem.js → chunk-9kkzmss7.js} +3 -3
  49. package/web/chunk-9wr33d0t.js +1 -0
  50. package/web/{chunk-3pd0qt83.js → chunk-a3pye9ag.js} +3 -3
  51. package/web/chunk-a4tdrxdh.js +1 -0
  52. package/web/chunk-a9fvsyc1.js +1 -0
  53. package/web/chunk-apvbvg4d.js +1 -0
  54. package/web/{chunk-gn8kyz76.js → chunk-b3j07x0n.js} +6 -6
  55. package/web/{chunk-ff1pmd3g.js → chunk-b6sqwmq7.js} +1 -1
  56. package/web/chunk-bkxcc7v5.js +1 -0
  57. package/web/chunk-bve354k7.js +1 -0
  58. package/web/{chunk-zdyys4ar.js → chunk-cbwvfedy.js} +8 -8
  59. package/web/{chunk-eadfxfkw.js → chunk-cpshsp24.js} +1 -1
  60. package/web/chunk-cwpxakby.js +1 -0
  61. package/web/chunk-d3f763n7.js +2 -0
  62. package/web/{chunk-8z0r0wtk.js → chunk-d4519smc.js} +14 -14
  63. package/web/chunk-de29pe57.js +1 -0
  64. package/web/chunk-dk0fnj87.js +1 -0
  65. package/web/{chunk-c57f714b.js → chunk-drchr3yn.js} +2 -2
  66. package/web/chunk-dsbyfvwz.js +1 -0
  67. package/web/{chunk-3hr3ew9w.js → chunk-dtrh40vr.js} +1 -1
  68. package/web/chunk-e68jw0bg.js +1 -0
  69. package/web/{chunk-veam6vk4.js → chunk-e763h2px.js} +67 -67
  70. package/web/{chunk-nvpp0ghj.js → chunk-enryqmj7.js} +5 -5
  71. package/web/{chunk-fpb2dd2d.js → chunk-f79ajymt.js} +2 -2
  72. package/web/{chunk-qq6m2my8.js → chunk-fj753yzt.js} +2 -2
  73. package/web/{chunk-9ctg0f30.js → chunk-g0rtcedn.js} +3 -3
  74. package/web/{chunk-2x4g9t37.js → chunk-g31dbnzm.js} +4 -4
  75. package/web/{chunk-w3w18stt.js → chunk-g4as4zzd.js} +4 -4
  76. package/web/{chunk-6e87m0nm.js → chunk-gten0rpx.js} +2 -2
  77. package/web/{chunk-a0ryzdnp.js → chunk-gyhr27dm.js} +1 -1
  78. package/web/{chunk-98y92vmh.js → chunk-hjyev38w.js} +6 -6
  79. package/web/{chunk-wzd2a4k5.js → chunk-hm8thq7c.js} +4 -4
  80. package/web/{chunk-07agqp8h.js → chunk-j4gvtszc.js} +2 -2
  81. package/web/chunk-jd7npyv9.js +8 -0
  82. package/web/chunk-jhpg2kcf.js +1 -0
  83. package/web/{chunk-9fnr00kv.js → chunk-jqqbkdtw.js} +2 -2
  84. package/web/chunk-jzz5htxp.js +1 -0
  85. package/web/chunk-ka3q31t1.js +1 -0
  86. package/web/chunk-kahab58k.js +1139 -0
  87. package/web/{chunk-af9evdza.js → chunk-kfbgvh0c.js} +1 -1
  88. package/web/chunk-krgvx75q.js +1 -0
  89. package/web/chunk-kxeaj44h.js +1 -0
  90. package/web/chunk-m1rdyvb5.js +1 -0
  91. package/web/{chunk-5v2c0aqk.js → chunk-m24yb8md.js} +2 -2
  92. package/web/chunk-m7k4wr3k.js +1 -0
  93. package/web/chunk-mdj3r75b.js +1 -0
  94. package/web/{chunk-ewx42c11.js → chunk-mpdeqzc9.js} +10 -10
  95. package/web/{chunk-b5h52neg.js → chunk-mykbcvqz.js} +1 -1
  96. package/web/{chunk-7qkav30b.js → chunk-n33753da.js} +1 -1
  97. package/web/{chunk-rasjtvsb.js → chunk-nafe18y9.js} +10 -10
  98. package/web/chunk-nbcpbqq4.js +1 -0
  99. package/web/{chunk-24jhbz82.js → chunk-nhx8pw7p.js} +1 -1
  100. package/web/chunk-nkpdd9hw.js +1 -0
  101. package/web/{chunk-dwjmr0zj.js → chunk-p1yc8hwn.js} +1 -1
  102. package/web/chunk-p29brxyt.js +1 -0
  103. package/web/chunk-p8fbes0t.js +1 -0
  104. package/web/chunk-pbp1p5ex.js +1 -0
  105. package/web/{chunk-xx11yv61.js → chunk-ppjw1mps.js} +4 -4
  106. package/web/{chunk-7tkgbbf9.js → chunk-pq56b3mq.js} +2 -2
  107. package/web/{chunk-vvvd3grf.js → chunk-pzg25qqe.js} +2 -2
  108. package/web/{chunk-spbs56wz.js → chunk-q65zxczs.js} +7 -7
  109. package/web/{chunk-t893141g.js → chunk-q8v5j963.js} +2 -2
  110. package/web/{chunk-vsjpnwsr.js → chunk-qykt7avq.js} +2 -2
  111. package/web/chunk-r6q1301x.js +1 -0
  112. package/web/chunk-r8kghrkb.js +1 -0
  113. package/web/chunk-rhxn7mxg.js +1 -0
  114. package/web/{chunk-2dvbeqt0.js → chunk-rqympya7.js} +2 -2
  115. package/web/{chunk-30b33r2w.js → chunk-s0xy00v5.js} +2 -2
  116. package/web/chunk-svqshmpg.js +1 -0
  117. package/web/chunk-swzxq7r3.css +1 -0
  118. package/web/{chunk-8jcvdd5d.js → chunk-t18tn37m.js} +2 -2
  119. package/web/chunk-tbsaseer.js +1 -0
  120. package/web/{chunk-5jdrev9p.js → chunk-tggja45g.js} +3 -3
  121. package/web/chunk-tgkdyxbn.js +1 -0
  122. package/web/{chunk-rrpn5r5w.js → chunk-tpdcrrf1.js} +1 -1
  123. package/web/chunk-v0zfnvc1.js +1 -0
  124. package/web/{chunk-5a4mj3qz.js → chunk-v3dn9bfw.js} +1 -1
  125. package/web/chunk-vj31fs16.js +1 -0
  126. package/web/chunk-vr79r8vh.js +1 -0
  127. package/web/chunk-wb9tax0m.js +1 -0
  128. package/web/{chunk-rayf24gy.js → chunk-wbwets5x.js} +23 -23
  129. package/web/chunk-x9eghjjd.js +1 -0
  130. package/web/{chunk-awkdw9rw.js → chunk-xbyrgyy0.js} +2 -2
  131. package/web/{chunk-60axh4sa.js → chunk-xjc5fmcr.js} +24 -24
  132. package/web/{chunk-qh62nkem.js → chunk-ydtrc1ay.js} +2 -2
  133. package/web/chunk-yrh86m0n.js +1 -0
  134. package/web/chunk-z3ky5ews.js +2 -0
  135. package/web/{chunk-ctzkqx2g.js → chunk-zdhyq3ch.js} +13 -13
  136. package/web/{chunk-0zwc2rvh.js → chunk-zv73g4qq.js} +2 -2
  137. package/web/index.html +1 -1
  138. package/web/chunk-08sq3cwm.js +0 -1
  139. package/web/chunk-12qf1r6m.js +0 -1
  140. package/web/chunk-24fjnnee.js +0 -1
  141. package/web/chunk-2hrswh3d.js +0 -2
  142. package/web/chunk-2j2atyjw.js +0 -1
  143. package/web/chunk-3h3g3ca3.js +0 -1
  144. package/web/chunk-3pcrxg6m.js +0 -1
  145. package/web/chunk-3txxt0a7.js +0 -1
  146. package/web/chunk-43g4wd7a.js +0 -1
  147. package/web/chunk-5z2n4z9x.css +0 -1
  148. package/web/chunk-6y55gk1n.js +0 -1
  149. package/web/chunk-7qq1ypvj.js +0 -1
  150. package/web/chunk-814kkkmq.js +0 -8
  151. package/web/chunk-8w8atrdh.js +0 -1
  152. package/web/chunk-935mjq1c.js +0 -39
  153. package/web/chunk-942g3eqn.js +0 -1
  154. package/web/chunk-a61zrp66.js +0 -1
  155. package/web/chunk-arnzrqnm.js +0 -1
  156. package/web/chunk-avxk6jpc.js +0 -2
  157. package/web/chunk-bwy3e58v.js +0 -1
  158. package/web/chunk-dnv8dx72.js +0 -1
  159. package/web/chunk-f7jpakwh.js +0 -1
  160. package/web/chunk-fmthkpff.js +0 -1
  161. package/web/chunk-gv99c8zv.js +0 -1
  162. package/web/chunk-h0767tjv.js +0 -1
  163. package/web/chunk-h0c42zy3.js +0 -1
  164. package/web/chunk-hqynf99g.js +0 -1
  165. package/web/chunk-ket6g0yd.js +0 -1
  166. package/web/chunk-mbwwj216.js +0 -1
  167. package/web/chunk-me7dza1c.js +0 -1
  168. package/web/chunk-mzzaet63.js +0 -1
  169. package/web/chunk-n0wazxgz.js +0 -1
  170. package/web/chunk-nvt9tkt4.js +0 -1139
  171. package/web/chunk-ph1dgffm.js +0 -1
  172. package/web/chunk-q34as3v6.js +0 -1
  173. package/web/chunk-qz6r9v1z.js +0 -1
  174. package/web/chunk-rad2s9ha.js +0 -1
  175. package/web/chunk-s37beysw.js +0 -1
  176. package/web/chunk-s60s09mb.js +0 -1
  177. package/web/chunk-tfvcs2xx.js +0 -1
  178. package/web/chunk-tj1fn8v2.js +0 -1
  179. package/web/chunk-vqmj6peg.js +0 -1
  180. package/web/chunk-wdq2tp9e.js +0 -1
  181. package/web/chunk-wkf5xfyr.js +0 -1
  182. package/web/chunk-xa43ndfj.js +0 -2
  183. package/web/chunk-xh4xn1az.js +0 -1
  184. package/web/chunk-xzwxcxb4.js +0 -1
  185. package/web/chunk-y1qty77a.js +0 -1
  186. package/web/chunk-ys2tns0p.js +0 -1
  187. package/web/chunk-z05x9cbm.js +0 -1
  188. package/web/chunk-zgavhnt8.js +0 -1
@@ -1,10 +1,10 @@
1
- import{g,o,i,r,e,n,y,st,ce,X}from"./chunk-nvt9tkt4.js";var pn=2,gn=1,ys=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let s=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(s._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let s=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,a=window.getComputedStyle(this._terminal.element.parentElement),h=parseInt(a.getPropertyValue("height")),l=Math.max(0,parseInt(a.getPropertyValue("width"))),c=window.getComputedStyle(this._terminal.element),d={top:parseInt(c.getPropertyValue("padding-top")),bottom:parseInt(c.getPropertyValue("padding-bottom")),right:parseInt(c.getPropertyValue("padding-right")),left:parseInt(c.getPropertyValue("padding-left"))},_=d.top+d.bottom,f=d.right+d.left,u=h-_,m=l-f-s;return{cols:Math.max(pn,Math.floor(m/t.css.cell.width)),rows:Math.max(gn,Math.floor(u/t.css.cell.height))}}};var{defineProperty:Er,getOwnPropertyDescriptor:mn}=Object,vn=(t,s)=>{for(var a in s)Er(t,a,{get:s[a],enumerable:!0})},te=(t,s,a,h)=>{for(var l=h>1?void 0:h?mn(s,a):s,c=t.length-1,d;c>=0;c--)(d=t[c])&&(l=(h?d(s,a,l):d(l))||l);return h&&l&&Er(s,a,l),l},M=(t,s)=>(a,h)=>s(a,h,t),Cs="Terminal input",Ii={get:()=>Cs,set:(t)=>Cs=t},xs="Too much output to announce, navigate to rows manually to read",Ni={get:()=>xs,set:(t)=>xs=t};function Sn(t){return t.replace(/\r?\n/g,"\r")}function bn(t,s){return s?"\x1B[200~"+t+"\x1B[201~":t}function wn(t,s){t.clipboardData&&t.clipboardData.setData("text/plain",s.selectionText),t.preventDefault()}function yn(t,s,a,h){if(t.stopPropagation(),t.clipboardData){let l=t.clipboardData.getData("text/plain");Dr(l,s,a,h)}}function Dr(t,s,a,h){t=Sn(t),t=bn(t,a.decPrivateModes.bracketedPasteMode&&h.rawOptions.ignoreBracketedPasteMode!==!0),a.triggerDataEvent(t,!0),s.value=""}function Br(t,s,a){let h=a.getBoundingClientRect(),l=t.clientX-h.left-10,c=t.clientY-h.top-10;s.style.width="20px",s.style.height="20px",s.style.left=`${l}px`,s.style.top=`${c}px`,s.style.zIndex="1000",s.focus()}function ks(t,s,a,h,l){Br(t,s,a),l&&h.rightClickSelect(t),s.value=h.selectionText,s.select()}function Ze(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function _i(t,s=0,a=t.length){let h="";for(let l=s;l<a;++l){let c=t[l];c>65535?(c-=65536,h+=String.fromCharCode((c>>10)+55296)+String.fromCharCode(c%1024+56320)):h+=String.fromCharCode(c)}return h}var Cn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,s){let a=t.length;if(!a)return 0;let h=0,l=0;if(this._interim){let c=t.charCodeAt(l++);56320<=c&&c<=57343?s[h++]=(this._interim-55296)*1024+c-56320+65536:(s[h++]=this._interim,s[h++]=c),this._interim=0}for(let c=l;c<a;++c){let d=t.charCodeAt(c);if(55296<=d&&d<=56319){if(++c>=a)return this._interim=d,h;let _=t.charCodeAt(c);56320<=_&&_<=57343?s[h++]=(d-55296)*1024+_-56320+65536:(s[h++]=d,s[h++]=_);continue}d!==65279&&(s[h++]=d)}return h}},xn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,s){let a=t.length;if(!a)return 0;let h=0,l,c,d,_,f=0,u=0;if(this.interim[0]){let S=!1,b=this.interim[0];b&=(b&224)===192?31:(b&240)===224?15:7;let v=0,w;for(;(w=this.interim[++v]&63)&&v<4;)b<<=6,b|=w;let R=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,P=R-v;for(;u<P;){if(u>=a)return 0;if(w=t[u++],(w&192)!==128){u--,S=!0;break}else this.interim[v++]=w,b<<=6,b|=w&63}S||(R===2?b<128?u--:s[h++]=b:R===3?b<2048||b>=55296&&b<=57343||b===65279||(s[h++]=b):b<65536||b>1114111||(s[h++]=b)),this.interim.fill(0)}let m=a-4,p=u;for(;p<a;){for(;p<m&&!((l=t[p])&128)&&!((c=t[p+1])&128)&&!((d=t[p+2])&128)&&!((_=t[p+3])&128);)s[h++]=l,s[h++]=c,s[h++]=d,s[h++]=_,p+=4;if(l=t[p++],l<128)s[h++]=l;else if((l&224)===192){if(p>=a)return this.interim[0]=l,h;if(c=t[p++],(c&192)!==128){p--;continue}if(f=(l&31)<<6|c&63,f<128){p--;continue}s[h++]=f}else if((l&240)===224){if(p>=a)return this.interim[0]=l,h;if(c=t[p++],(c&192)!==128){p--;continue}if(p>=a)return this.interim[0]=l,this.interim[1]=c,h;if(d=t[p++],(d&192)!==128){p--;continue}if(f=(l&15)<<12|(c&63)<<6|d&63,f<2048||f>=55296&&f<=57343||f===65279)continue;s[h++]=f}else if((l&248)===240){if(p>=a)return this.interim[0]=l,h;if(c=t[p++],(c&192)!==128){p--;continue}if(p>=a)return this.interim[0]=l,this.interim[1]=c,h;if(d=t[p++],(d&192)!==128){p--;continue}if(p>=a)return this.interim[0]=l,this.interim[1]=c,this.interim[2]=d,h;if(_=t[p++],(_&192)!==128){p--;continue}if(f=(l&7)<<18|(c&63)<<12|(d&63)<<6|_&63,f<65536||f>1114111)continue;s[h++]=f}}return h}},Rr="",Qe=" ",zt=class t{constructor(){this.fg=0,this.bg=0,this.extended=new ri}static toColorRGB(s){return[s>>>16&255,s>>>8&255,s&255]}static fromColorRGB(s){return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255}clone(){let s=new t;return s.fg=this.fg,s.bg=this.bg,s.extended=this.extended.clone(),s}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},ri=class t{constructor(s=0,a=0){this._ext=0,this._urlId=0,this._ext=s,this._urlId=a}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(s){this._ext=s}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(s){this._ext&=-469762049,this._ext|=s<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(s){this._ext&=-67108864,this._ext|=s&67108863}get urlId(){return this._urlId}set urlId(s){this._urlId=s}get underlineVariantOffset(){let s=(this._ext&3758096384)>>29;return s<0?s^4294967288:s}set underlineVariantOffset(s){this._ext&=536870911,this._ext|=s<<29&3758096384}clone(){return new t(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Me=class t extends zt{constructor(){super(...arguments);this.content=0,this.fg=0,this.bg=0,this.extended=new ri,this.combinedData=""}static fromCharData(s){let a=new t;return a.setFromCharData(s),a}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ze(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(s){this.fg=s[0],this.bg=0;let a=!1;if(s[1].length>2)a=!0;else if(s[1].length===2){let h=s[1].charCodeAt(0);if(55296<=h&&h<=56319){let l=s[1].charCodeAt(1);56320<=l&&l<=57343?this.content=(h-55296)*1024+l-56320+65536|s[2]<<22:a=!0}else a=!0}else this.content=s[1].charCodeAt(0)|s[2]<<22;a&&(this.combinedData=s[1],this.content=2097152|s[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Es="di$target",Hi="di$dependencies",bi=new Map;function kn(t){return t[Hi]||[]}function pe(t){if(bi.has(t))return bi.get(t);let s=function(a,h,l){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");En(s,a,l)};return s._id=t,bi.set(t,s),s}function En(t,s,a){s[Es]===s?s[Hi].push({id:t,index:a}):(s[Hi]=[{id:t,index:a}],s[Es]=s)}var Se=pe("BufferService"),Lr=pe("CoreMouseService"),ut=pe("CoreService"),Dn=pe("CharsetService"),us=pe("InstantiationService"),Mr=pe("LogService"),be=pe("OptionsService"),Tr=pe("OscLinkService"),Bn=pe("UnicodeService"),Ft=pe("DecorationService"),Wi=class{constructor(t,s,a){this._bufferService=t,this._optionsService=s,this._oscLinkService=a}provideLinks(t,s){let a=this._bufferService.buffer.lines.get(t-1);if(!a){s(void 0);return}let h=[],l=this._optionsService.rawOptions.linkHandler,c=new Me,d=a.getTrimmedLength(),_=-1,f=-1,u=!1;for(let m=0;m<d;m++)if(!(f===-1&&!a.hasContent(m))){if(a.loadCell(m,c),c.hasExtendedAttrs()&&c.extended.urlId)if(f===-1){f=m,_=c.extended.urlId;continue}else u=c.extended.urlId!==_;else f!==-1&&(u=!0);if(u||f!==-1&&m===d-1){let p=this._oscLinkService.getLinkData(_)?.uri;if(p){let S={start:{x:f+1,y:t},end:{x:m+(!u&&m===d-1?1:0),y:t}},b=!1;if(!l?.allowNonHttpProtocols)try{let v=new URL(p);["http:","https:"].includes(v.protocol)||(b=!0)}catch{b=!0}b||h.push({text:p,range:S,activate:(v,w)=>l?l.activate(v,w,S):Rn(v,w),hover:(v,w)=>l?.hover?.(v,w,S),leave:(v,w)=>l?.leave?.(v,w,S)})}u=!1,c.hasExtendedAttrs()&&c.extended.urlId?(f=m,_=c.extended.urlId):(f=-1,_=-1)}}s(h)}};Wi=te([M(0,Se),M(1,be),M(2,Tr)],Wi);function Rn(t,s){if(confirm(`Do you want to navigate to ${s}?
1
+ import{g,o,i,r,e,n,y,ct,ce,X}from"./chunk-kahab58k.js";var pn=2,gn=1,ys=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let s=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(s._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let s=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,a=window.getComputedStyle(this._terminal.element.parentElement),h=parseInt(a.getPropertyValue("height")),l=Math.max(0,parseInt(a.getPropertyValue("width"))),c=window.getComputedStyle(this._terminal.element),d={top:parseInt(c.getPropertyValue("padding-top")),bottom:parseInt(c.getPropertyValue("padding-bottom")),right:parseInt(c.getPropertyValue("padding-right")),left:parseInt(c.getPropertyValue("padding-left"))},_=d.top+d.bottom,f=d.right+d.left,u=h-_,m=l-f-s;return{cols:Math.max(pn,Math.floor(m/t.css.cell.width)),rows:Math.max(gn,Math.floor(u/t.css.cell.height))}}};var{defineProperty:Er,getOwnPropertyDescriptor:mn}=Object,vn=(t,s)=>{for(var a in s)Er(t,a,{get:s[a],enumerable:!0})},te=(t,s,a,h)=>{for(var l=h>1?void 0:h?mn(s,a):s,c=t.length-1,d;c>=0;c--)(d=t[c])&&(l=(h?d(s,a,l):d(l))||l);return h&&l&&Er(s,a,l),l},M=(t,s)=>(a,h)=>s(a,h,t),Cs="Terminal input",Ii={get:()=>Cs,set:(t)=>Cs=t},xs="Too much output to announce, navigate to rows manually to read",Ni={get:()=>xs,set:(t)=>xs=t};function Sn(t){return t.replace(/\r?\n/g,"\r")}function bn(t,s){return s?"\x1B[200~"+t+"\x1B[201~":t}function wn(t,s){t.clipboardData&&t.clipboardData.setData("text/plain",s.selectionText),t.preventDefault()}function yn(t,s,a,h){if(t.stopPropagation(),t.clipboardData){let l=t.clipboardData.getData("text/plain");Dr(l,s,a,h)}}function Dr(t,s,a,h){t=Sn(t),t=bn(t,a.decPrivateModes.bracketedPasteMode&&h.rawOptions.ignoreBracketedPasteMode!==!0),a.triggerDataEvent(t,!0),s.value=""}function Br(t,s,a){let h=a.getBoundingClientRect(),l=t.clientX-h.left-10,c=t.clientY-h.top-10;s.style.width="20px",s.style.height="20px",s.style.left=`${l}px`,s.style.top=`${c}px`,s.style.zIndex="1000",s.focus()}function ks(t,s,a,h,l){Br(t,s,a),l&&h.rightClickSelect(t),s.value=h.selectionText,s.select()}function Ze(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function _i(t,s=0,a=t.length){let h="";for(let l=s;l<a;++l){let c=t[l];c>65535?(c-=65536,h+=String.fromCharCode((c>>10)+55296)+String.fromCharCode(c%1024+56320)):h+=String.fromCharCode(c)}return h}var Cn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,s){let a=t.length;if(!a)return 0;let h=0,l=0;if(this._interim){let c=t.charCodeAt(l++);56320<=c&&c<=57343?s[h++]=(this._interim-55296)*1024+c-56320+65536:(s[h++]=this._interim,s[h++]=c),this._interim=0}for(let c=l;c<a;++c){let d=t.charCodeAt(c);if(55296<=d&&d<=56319){if(++c>=a)return this._interim=d,h;let _=t.charCodeAt(c);56320<=_&&_<=57343?s[h++]=(d-55296)*1024+_-56320+65536:(s[h++]=d,s[h++]=_);continue}d!==65279&&(s[h++]=d)}return h}},xn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,s){let a=t.length;if(!a)return 0;let h=0,l,c,d,_,f=0,u=0;if(this.interim[0]){let S=!1,b=this.interim[0];b&=(b&224)===192?31:(b&240)===224?15:7;let v=0,w;for(;(w=this.interim[++v]&63)&&v<4;)b<<=6,b|=w;let R=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,P=R-v;for(;u<P;){if(u>=a)return 0;if(w=t[u++],(w&192)!==128){u--,S=!0;break}else this.interim[v++]=w,b<<=6,b|=w&63}S||(R===2?b<128?u--:s[h++]=b:R===3?b<2048||b>=55296&&b<=57343||b===65279||(s[h++]=b):b<65536||b>1114111||(s[h++]=b)),this.interim.fill(0)}let m=a-4,p=u;for(;p<a;){for(;p<m&&!((l=t[p])&128)&&!((c=t[p+1])&128)&&!((d=t[p+2])&128)&&!((_=t[p+3])&128);)s[h++]=l,s[h++]=c,s[h++]=d,s[h++]=_,p+=4;if(l=t[p++],l<128)s[h++]=l;else if((l&224)===192){if(p>=a)return this.interim[0]=l,h;if(c=t[p++],(c&192)!==128){p--;continue}if(f=(l&31)<<6|c&63,f<128){p--;continue}s[h++]=f}else if((l&240)===224){if(p>=a)return this.interim[0]=l,h;if(c=t[p++],(c&192)!==128){p--;continue}if(p>=a)return this.interim[0]=l,this.interim[1]=c,h;if(d=t[p++],(d&192)!==128){p--;continue}if(f=(l&15)<<12|(c&63)<<6|d&63,f<2048||f>=55296&&f<=57343||f===65279)continue;s[h++]=f}else if((l&248)===240){if(p>=a)return this.interim[0]=l,h;if(c=t[p++],(c&192)!==128){p--;continue}if(p>=a)return this.interim[0]=l,this.interim[1]=c,h;if(d=t[p++],(d&192)!==128){p--;continue}if(p>=a)return this.interim[0]=l,this.interim[1]=c,this.interim[2]=d,h;if(_=t[p++],(_&192)!==128){p--;continue}if(f=(l&7)<<18|(c&63)<<12|(d&63)<<6|_&63,f<65536||f>1114111)continue;s[h++]=f}}return h}},Rr="",Qe=" ",zt=class t{constructor(){this.fg=0,this.bg=0,this.extended=new ri}static toColorRGB(s){return[s>>>16&255,s>>>8&255,s&255]}static fromColorRGB(s){return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255}clone(){let s=new t;return s.fg=this.fg,s.bg=this.bg,s.extended=this.extended.clone(),s}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},ri=class t{constructor(s=0,a=0){this._ext=0,this._urlId=0,this._ext=s,this._urlId=a}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(s){this._ext=s}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(s){this._ext&=-469762049,this._ext|=s<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(s){this._ext&=-67108864,this._ext|=s&67108863}get urlId(){return this._urlId}set urlId(s){this._urlId=s}get underlineVariantOffset(){let s=(this._ext&3758096384)>>29;return s<0?s^4294967288:s}set underlineVariantOffset(s){this._ext&=536870911,this._ext|=s<<29&3758096384}clone(){return new t(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Me=class t extends zt{constructor(){super(...arguments);this.content=0,this.fg=0,this.bg=0,this.extended=new ri,this.combinedData=""}static fromCharData(s){let a=new t;return a.setFromCharData(s),a}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ze(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(s){this.fg=s[0],this.bg=0;let a=!1;if(s[1].length>2)a=!0;else if(s[1].length===2){let h=s[1].charCodeAt(0);if(55296<=h&&h<=56319){let l=s[1].charCodeAt(1);56320<=l&&l<=57343?this.content=(h-55296)*1024+l-56320+65536|s[2]<<22:a=!0}else a=!0}else this.content=s[1].charCodeAt(0)|s[2]<<22;a&&(this.combinedData=s[1],this.content=2097152|s[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Es="di$target",Hi="di$dependencies",bi=new Map;function kn(t){return t[Hi]||[]}function pe(t){if(bi.has(t))return bi.get(t);let s=function(a,h,l){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");En(s,a,l)};return s._id=t,bi.set(t,s),s}function En(t,s,a){s[Es]===s?s[Hi].push({id:t,index:a}):(s[Hi]=[{id:t,index:a}],s[Es]=s)}var Se=pe("BufferService"),Lr=pe("CoreMouseService"),ut=pe("CoreService"),Dn=pe("CharsetService"),us=pe("InstantiationService"),Mr=pe("LogService"),be=pe("OptionsService"),Tr=pe("OscLinkService"),Bn=pe("UnicodeService"),Ft=pe("DecorationService"),Wi=class{constructor(t,s,a){this._bufferService=t,this._optionsService=s,this._oscLinkService=a}provideLinks(t,s){let a=this._bufferService.buffer.lines.get(t-1);if(!a){s(void 0);return}let h=[],l=this._optionsService.rawOptions.linkHandler,c=new Me,d=a.getTrimmedLength(),_=-1,f=-1,u=!1;for(let m=0;m<d;m++)if(!(f===-1&&!a.hasContent(m))){if(a.loadCell(m,c),c.hasExtendedAttrs()&&c.extended.urlId)if(f===-1){f=m,_=c.extended.urlId;continue}else u=c.extended.urlId!==_;else f!==-1&&(u=!0);if(u||f!==-1&&m===d-1){let p=this._oscLinkService.getLinkData(_)?.uri;if(p){let S={start:{x:f+1,y:t},end:{x:m+(!u&&m===d-1?1:0),y:t}},b=!1;if(!l?.allowNonHttpProtocols)try{let v=new URL(p);["http:","https:"].includes(v.protocol)||(b=!0)}catch{b=!0}b||h.push({text:p,range:S,activate:(v,w)=>l?l.activate(v,w,S):Rn(v,w),hover:(v,w)=>l?.hover?.(v,w,S),leave:(v,w)=>l?.leave?.(v,w,S)})}u=!1,c.hasExtendedAttrs()&&c.extended.urlId?(f=m,_=c.extended.urlId):(f=-1,_=-1)}}s(h)}};Wi=te([M(0,Se),M(1,be),M(2,Tr)],Wi);function Rn(t,s){if(confirm(`Do you want to navigate to ${s}?
2
2
 
3
3
  WARNING: This link could potentially be dangerous`)){let a=window.open();if(a){try{a.opener=null}catch{}a.location.href=s}else console.warn("Opening link blocked as opener could not be cleared")}}var fi=pe("CharSizeService"),Ue=pe("CoreBrowserService"),_s=pe("MouseService"),Ke=pe("RenderService"),Ln=pe("SelectionService"),Pr=pe("CharacterJoinerService"),gt=pe("ThemeService"),Ar=pe("LinkProviderService"),Mn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Ds.isErrorNoTelemetry(t)?new Ds(t.message+`
4
4
 
5
5
  `+t.stack):Error(t.message+`
6
6
 
7
- `+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach((s)=>{s(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},Tn=new Mn;function Gt(t){Pn(t)||Tn.onUnexpectedError(t)}var zi="Canceled";function Pn(t){return t instanceof An?!0:t instanceof Error&&t.name===zi&&t.message===zi}var An=class extends Error{constructor(){super(zi),this.name=this.message}};function On(t){return t?Error(`Illegal argument: ${t}`):Error("Illegal argument")}var Ds=class t extends Error{constructor(s){super(s),this.name="CodeExpectedError"}static fromError(s){if(s instanceof t)return s;let a=new t;return a.message=s.message,a.stack=s.stack,a}static isErrorNoTelemetry(s){return s.name==="CodeExpectedError"}},Fi=class t extends Error{constructor(s){super(s||"An unexpected bug occurred."),Object.setPrototypeOf(this,t.prototype)}};function In(t,s,a=0,h=t.length){let l=a,c=h;for(;l<c;){let d=Math.floor((l+c)/2);s(t[d])?l=d+1:c=d}return l-1}var Nn=class t{constructor(s){this._array=s,this._findLastMonotonousLastIdx=0}findLastMonotonous(s){if(t.assertInvariants){if(this._prevFindLastPredicate){for(let h of this._array)if(this._prevFindLastPredicate(h)&&!s(h))throw Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=s}let a=In(this._array,s,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=a+1,a===-1?void 0:this._array[a]}};Nn.assertInvariants=!1;function ke(t,s=0){return t[t.length-(1+s)]}var Or;((t)=>{function s(c){return c<0}t.isLessThan=s;function a(c){return c<=0}t.isLessThanOrEqual=a;function h(c){return c>0}t.isGreaterThan=h;function l(c){return c===0}t.isNeitherLessOrGreaterThan=l,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Or||={});function Hn(t,s){return(a,h)=>s(t(a),t(h))}var Wn=(t,s)=>t-s,Bs=class t{constructor(s){this.iterate=s}forEach(s){this.iterate((a)=>(s(a),!0))}toArray(){let s=[];return this.iterate((a)=>(s.push(a),!0)),s}filter(s){return new t((a)=>this.iterate((h)=>s(h)?a(h):!0))}map(s){return new t((a)=>this.iterate((h)=>a(s(h))))}some(s){let a=!1;return this.iterate((h)=>(a=s(h),!a)),a}findFirst(s){let a;return this.iterate((h)=>s(h)?(a=h,!1):!0),a}findLast(s){let a;return this.iterate((h)=>(s(h)&&(a=h),!0)),a}findLastMaxBy(s){let a,h=!0;return this.iterate((l)=>((h||Or.isGreaterThan(s(l,a)))&&(h=!1,a=l),!0)),a}};Bs.empty=new Bs((t)=>{});function zn(t,s){let a=Object.create(null);for(let h of t){let l=s(h),c=a[l];c||(c=a[l]=[]),c.push(h)}return a}var Rs,Ls,hl=class{constructor(t,s){this.toKey=s,this._map=new Map,this[Rs]="SetWithKey";for(let a of t)this.add(a)}get size(){return this._map.size}add(t){let s=this.toKey(t);return this._map.set(s,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,s){this._map.forEach((a)=>t.call(s,a,a,this))}[(Ls=Symbol.iterator,Rs=Symbol.toStringTag,Ls)](){return this.values()}},Fn=class{constructor(){this.map=new Map}add(t,s){let a=this.map.get(t);a||(a=new Set,this.map.set(t,a)),a.add(s)}delete(t,s){let a=this.map.get(t);a&&(a.delete(s),a.size===0&&this.map.delete(t))}forEach(t,s){let a=this.map.get(t);a&&a.forEach(s)}get(t){return this.map.get(t)||new Set}};function $n(t,s){let a=this,h=!1,l;return function(){if(h)return l;if(h=!0,s)try{l=t.apply(a,arguments)}finally{s()}else l=t.apply(a,arguments);return l}}var Ir;((t)=>{function s(E){return E&&typeof E=="object"&&typeof E[Symbol.iterator]=="function"}t.is=s;let a=Object.freeze([]);function h(){return a}t.empty=h;function*l(E){yield E}t.single=l;function c(E){return s(E)?E:l(E)}t.wrap=c;function d(E){return E||a}t.from=d;function*_(E){for(let A=E.length-1;A>=0;A--)yield E[A]}t.reverse=_;function f(E){return!E||E[Symbol.iterator]().next().done===!0}t.isEmpty=f;function u(E){return E[Symbol.iterator]().next().value}t.first=u;function m(E,A){let N=0;for(let J of E)if(A(J,N++))return!0;return!1}t.some=m;function p(E,A){for(let N of E)if(A(N))return N}t.find=p;function*S(E,A){for(let N of E)A(N)&&(yield N)}t.filter=S;function*b(E,A){let N=0;for(let J of E)yield A(J,N++)}t.map=b;function*v(E,A){let N=0;for(let J of E)yield*A(J,N++)}t.flatMap=v;function*w(...E){for(let A of E)yield*A}t.concat=w;function R(E,A,N){let J=N;for(let Ce of E)J=A(J,Ce);return J}t.reduce=R;function*P(E,A,N=E.length){for(A<0&&(A+=E.length),N<0?N+=E.length:N>E.length&&(N=E.length);A<N;A++)yield E[A]}t.slice=P;function U(E,A=Number.POSITIVE_INFINITY){let N=[];if(A===0)return[N,E];let J=E[Symbol.iterator]();for(let Ce=0;Ce<A;Ce++){let we=J.next();if(we.done)return[N,t.empty()];N.push(we.value)}return[N,{[Symbol.iterator](){return J}}]}t.consume=U;async function I(E){let A=[];for await(let N of E)A.push(N);return Promise.resolve(A)}t.asyncToArray=I})(Ir||={});var Un=!1,lt=null,Kn=class t{constructor(){this.livingDisposables=new Map}getDisposableData(s){let a=this.livingDisposables.get(s);return a||(a={parent:null,source:null,isSingleton:!1,value:s,idx:t.idx++},this.livingDisposables.set(s,a)),a}trackDisposable(s){let a=this.getDisposableData(s);a.source||(a.source=Error().stack)}setParent(s,a){let h=this.getDisposableData(s);h.parent=a}markAsDisposed(s){this.livingDisposables.delete(s)}markAsSingleton(s){this.getDisposableData(s).isSingleton=!0}getRootParent(s,a){let h=a.get(s);if(h)return h;let l=s.parent?this.getRootParent(this.getDisposableData(s.parent),a):s;return a.set(s,l),l}getTrackedDisposables(){let s=new Map;return[...this.livingDisposables.entries()].filter(([,a])=>a.source!==null&&!this.getRootParent(a,s).isSingleton).flatMap(([a])=>a)}computeLeakingDisposables(s=10,a){let h;if(a)h=a;else{let f=new Map,u=[...this.livingDisposables.values()].filter((p)=>p.source!==null&&!this.getRootParent(p,f).isSingleton);if(u.length===0)return;let m=new Set(u.map((p)=>p.value));if(h=u.filter((p)=>!(p.parent&&m.has(p.parent))),h.length===0)throw Error("There are cyclic diposable chains!")}if(!h)return;function l(f){function u(p,S){for(;p.length>0&&S.some((b)=>typeof b=="string"?b===p[0]:p[0].match(b));)p.shift()}let m=f.source.split(`
7
+ `+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach((s)=>{s(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},Tn=new Mn;function Gt(t){Pn(t)||Tn.onUnexpectedError(t)}var zi="Canceled";function Pn(t){return t instanceof An?!0:t instanceof Error&&t.name===zi&&t.message===zi}var An=class extends Error{constructor(){super(zi),this.name=this.message}};function On(t){return t?Error(`Illegal argument: ${t}`):Error("Illegal argument")}var Ds=class t extends Error{constructor(s){super(s),this.name="CodeExpectedError"}static fromError(s){if(s instanceof t)return s;let a=new t;return a.message=s.message,a.stack=s.stack,a}static isErrorNoTelemetry(s){return s.name==="CodeExpectedError"}},Fi=class t extends Error{constructor(s){super(s||"An unexpected bug occurred."),Object.setPrototypeOf(this,t.prototype)}};function In(t,s,a=0,h=t.length){let l=a,c=h;for(;l<c;){let d=Math.floor((l+c)/2);s(t[d])?l=d+1:c=d}return l-1}var Nn=class t{constructor(s){this._array=s,this._findLastMonotonousLastIdx=0}findLastMonotonous(s){if(t.assertInvariants){if(this._prevFindLastPredicate){for(let h of this._array)if(this._prevFindLastPredicate(h)&&!s(h))throw Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=s}let a=In(this._array,s,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=a+1,a===-1?void 0:this._array[a]}};Nn.assertInvariants=!1;function ke(t,s=0){return t[t.length-(1+s)]}var Or;((t)=>{function s(c){return c<0}t.isLessThan=s;function a(c){return c<=0}t.isLessThanOrEqual=a;function h(c){return c>0}t.isGreaterThan=h;function l(c){return c===0}t.isNeitherLessOrGreaterThan=l,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Or||={});function Hn(t,s){return(a,h)=>s(t(a),t(h))}var Wn=(t,s)=>t-s,Bs=class t{constructor(s){this.iterate=s}forEach(s){this.iterate((a)=>(s(a),!0))}toArray(){let s=[];return this.iterate((a)=>(s.push(a),!0)),s}filter(s){return new t((a)=>this.iterate((h)=>s(h)?a(h):!0))}map(s){return new t((a)=>this.iterate((h)=>a(s(h))))}some(s){let a=!1;return this.iterate((h)=>(a=s(h),!a)),a}findFirst(s){let a;return this.iterate((h)=>s(h)?(a=h,!1):!0),a}findLast(s){let a;return this.iterate((h)=>(s(h)&&(a=h),!0)),a}findLastMaxBy(s){let a,h=!0;return this.iterate((l)=>((h||Or.isGreaterThan(s(l,a)))&&(h=!1,a=l),!0)),a}};Bs.empty=new Bs((t)=>{});function zn(t,s){let a=Object.create(null);for(let h of t){let l=s(h),c=a[l];c||(c=a[l]=[]),c.push(h)}return a}var Rs,Ls,hl=class{constructor(t,s){this.toKey=s,this._map=new Map,this[Rs]="SetWithKey";for(let a of t)this.add(a)}get size(){return this._map.size}add(t){let s=this.toKey(t);return this._map.set(s,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,s){this._map.forEach((a)=>t.call(s,a,a,this))}[(Ls=Symbol.iterator,Rs=Symbol.toStringTag,Ls)](){return this.values()}},Fn=class{constructor(){this.map=new Map}add(t,s){let a=this.map.get(t);a||(a=new Set,this.map.set(t,a)),a.add(s)}delete(t,s){let a=this.map.get(t);a&&(a.delete(s),a.size===0&&this.map.delete(t))}forEach(t,s){let a=this.map.get(t);a&&a.forEach(s)}get(t){return this.map.get(t)||new Set}};function $n(t,s){let a=this,h=!1,l;return function(){if(h)return l;if(h=!0,s)try{l=t.apply(a,arguments)}finally{s()}else l=t.apply(a,arguments);return l}}var Ir;((t)=>{function s(E){return E&&typeof E=="object"&&typeof E[Symbol.iterator]=="function"}t.is=s;let a=Object.freeze([]);function h(){return a}t.empty=h;function*l(E){yield E}t.single=l;function c(E){return s(E)?E:l(E)}t.wrap=c;function d(E){return E||a}t.from=d;function*_(E){for(let A=E.length-1;A>=0;A--)yield E[A]}t.reverse=_;function f(E){return!E||E[Symbol.iterator]().next().done===!0}t.isEmpty=f;function u(E){return E[Symbol.iterator]().next().value}t.first=u;function m(E,A){let N=0;for(let J of E)if(A(J,N++))return!0;return!1}t.some=m;function p(E,A){for(let N of E)if(A(N))return N}t.find=p;function*S(E,A){for(let N of E)A(N)&&(yield N)}t.filter=S;function*b(E,A){let N=0;for(let J of E)yield A(J,N++)}t.map=b;function*v(E,A){let N=0;for(let J of E)yield*A(J,N++)}t.flatMap=v;function*w(...E){for(let A of E)yield*A}t.concat=w;function R(E,A,N){let J=N;for(let Ce of E)J=A(J,Ce);return J}t.reduce=R;function*P(E,A,N=E.length){for(A<0&&(A+=E.length),N<0?N+=E.length:N>E.length&&(N=E.length);A<N;A++)yield E[A]}t.slice=P;function U(E,A=Number.POSITIVE_INFINITY){let N=[];if(A===0)return[N,E];let J=E[Symbol.iterator]();for(let Ce=0;Ce<A;Ce++){let we=J.next();if(we.done)return[N,t.empty()];N.push(we.value)}return[N,{[Symbol.iterator](){return J}}]}t.consume=U;async function I(E){let A=[];for await(let N of E)A.push(N);return Promise.resolve(A)}t.asyncToArray=I})(Ir||={});var Un=!1,ht=null,Kn=class t{constructor(){this.livingDisposables=new Map}getDisposableData(s){let a=this.livingDisposables.get(s);return a||(a={parent:null,source:null,isSingleton:!1,value:s,idx:t.idx++},this.livingDisposables.set(s,a)),a}trackDisposable(s){let a=this.getDisposableData(s);a.source||(a.source=Error().stack)}setParent(s,a){let h=this.getDisposableData(s);h.parent=a}markAsDisposed(s){this.livingDisposables.delete(s)}markAsSingleton(s){this.getDisposableData(s).isSingleton=!0}getRootParent(s,a){let h=a.get(s);if(h)return h;let l=s.parent?this.getRootParent(this.getDisposableData(s.parent),a):s;return a.set(s,l),l}getTrackedDisposables(){let s=new Map;return[...this.livingDisposables.entries()].filter(([,a])=>a.source!==null&&!this.getRootParent(a,s).isSingleton).flatMap(([a])=>a)}computeLeakingDisposables(s=10,a){let h;if(a)h=a;else{let f=new Map,u=[...this.livingDisposables.values()].filter((p)=>p.source!==null&&!this.getRootParent(p,f).isSingleton);if(u.length===0)return;let m=new Set(u.map((p)=>p.value));if(h=u.filter((p)=>!(p.parent&&m.has(p.parent))),h.length===0)throw Error("There are cyclic diposable chains!")}if(!h)return;function l(f){function u(p,S){for(;p.length>0&&S.some((b)=>typeof b=="string"?b===p[0]:p[0].match(b));)p.shift()}let m=f.source.split(`
8
8
  `).map((p)=>p.trim().replace("at ","")).filter((p)=>p!=="");return u(m,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),m.reverse()}let c=new Fn;for(let f of h){let u=l(f);for(let m=0;m<=u.length;m++)c.add(u.slice(0,m).join(`
9
9
  `),f)}h.sort(Hn((f)=>f.idx,Wn));let d="",_=0;for(let f of h.slice(0,s)){_++;let u=l(f),m=[];for(let p=0;p<u.length;p++){let S=u[p];S=`(shared with ${c.get(u.slice(0,p+1).join(`
10
10
  `)).size}/${h.length} leaks) at ${S}`;let b=c.get(u.slice(0,p).join(`
@@ -21,18 +21,18 @@ ${m.join(`
21
21
 
22
22
  ... and ${h.length-s} more leaking disposables
23
23
 
24
- `),{leaks:h,details:d}}};Kn.idx=0;function qn(t){lt=t}if(Un){let t="__is_disposable_tracked__";qn(new class{trackDisposable(s){let a=Error("Potentially leaked disposable").stack;setTimeout(()=>{s[t]||console.log(a)},3000)}setParent(s,a){if(s&&s!==W.None)try{s[t]=!0}catch{}}markAsDisposed(s){if(s&&s!==W.None)try{s[t]=!0}catch{}}markAsSingleton(s){}})}function pi(t){return lt?.trackDisposable(t),t}function gi(t){lt?.markAsDisposed(t)}function It(t,s){lt?.setParent(t,s)}function Vn(t,s){if(lt)for(let a of t)lt.setParent(a,s)}function Ms(t){return lt?.markAsSingleton(t),t}function ct(t){if(Ir.is(t)){let s=[];for(let a of t)if(a)try{a.dispose()}catch(h){s.push(h)}if(s.length===1)throw s[0];if(s.length>1)throw AggregateError(s,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function Yn(...t){let s=G(()=>ct(t));return Vn(t,s),s}function G(t){let s=pi({dispose:$n(()=>{gi(s),t()})});return s}var Nr=class t{constructor(){this._toDispose=new Set,this._isDisposed=!1,pi(this)}dispose(){this._isDisposed||(gi(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ct(this._toDispose)}finally{this._toDispose.clear()}}add(s){if(!s)return s;if(s===this)throw Error("Cannot register a disposable on itself!");return It(s,this),this._isDisposed?t.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(s),s}delete(s){if(s){if(s===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(s),s.dispose()}}deleteAndLeak(s){s&&this._toDispose.has(s)&&(this._toDispose.delete(s),It(s,null))}};Nr.DISABLE_DISPOSED_WARNING=!1;var et=Nr,W=class{constructor(){this._store=new et,pi(this),It(this._store,this)}dispose(){gi(this),this._store.dispose()}_register(t){if(t===this)throw Error("Cannot register a disposable on itself!");return this._store.add(t)}};W.None=Object.freeze({dispose(){}});var pt=class{constructor(){this._isDisposed=!1,pi(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&It(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gi(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&It(t,null),t}},Be=typeof window=="object"?window:globalThis,$i=class t{constructor(s){this.element=s,this.next=t.Undefined,this.prev=t.Undefined}};$i.Undefined=new $i(void 0);var Z=$i,Ts=class{constructor(){this._first=Z.Undefined,this._last=Z.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Z.Undefined}clear(){let t=this._first;for(;t!==Z.Undefined;){let s=t.next;t.prev=Z.Undefined,t.next=Z.Undefined,t=s}this._first=Z.Undefined,this._last=Z.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,s){let a=new Z(t);if(this._first===Z.Undefined)this._first=a,this._last=a;else if(s){let l=this._last;this._last=a,a.prev=l,l.next=a}else{let l=this._first;this._first=a,a.next=l,l.prev=a}this._size+=1;let h=!1;return()=>{h||(h=!0,this._remove(a))}}shift(){if(this._first!==Z.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Z.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Z.Undefined&&t.next!==Z.Undefined){let s=t.prev;s.next=t.next,t.next.prev=s}else t.prev===Z.Undefined&&t.next===Z.Undefined?(this._first=Z.Undefined,this._last=Z.Undefined):t.next===Z.Undefined?(this._last=this._last.prev,this._last.next=Z.Undefined):t.prev===Z.Undefined&&(this._first=this._first.next,this._first.prev=Z.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Z.Undefined;)yield t.element,t=t.next}},jn=globalThis.performance&&typeof globalThis.performance.now=="function",Xn=class t{static create(s){return new t(s)}constructor(s){this._now=jn&&s===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},Gn=!1,Ps=!1,Jn=!1,ge;((t)=>{t.None=()=>W.None;function s(k){if(Jn){let{onDidAddListener:x}=k,T=Ki.create(),L=0;k.onDidAddListener=()=>{++L===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),T.print()),x?.()}}}function a(k,x){return S(k,()=>{},0,void 0,!0,void 0,x)}t.defer=a;function h(k){return(x,T=null,L)=>{let O=!1,B;return B=k((F)=>{if(!O)return B?B.dispose():O=!0,x.call(T,F)},null,L),O&&B.dispose(),B}}t.once=h;function l(k,x,T){return m((L,O=null,B)=>k((F)=>L.call(O,x(F)),null,B),T)}t.map=l;function c(k,x,T){return m((L,O=null,B)=>k((F)=>{x(F),L.call(O,F)},null,B),T)}t.forEach=c;function d(k,x,T){return m((L,O=null,B)=>k((F)=>x(F)&&L.call(O,F),null,B),T)}t.filter=d;function _(k){return k}t.signal=_;function f(...k){return(x,T=null,L)=>{let O=Yn(...k.map((B)=>B((F)=>x.call(T,F))));return p(O,L)}}t.any=f;function u(k,x,T,L){let O=T;return l(k,(B)=>(O=x(O,B),O),L)}t.reduce=u;function m(k,x){let T,L={onWillAddFirstListener(){T=k(O.fire,O)},onDidRemoveLastListener(){T?.dispose()}};x||s(L);let O=new D(L);return x?.add(O),O.event}function p(k,x){return x instanceof Array?x.push(k):x&&x.add(k),k}function S(k,x,T=100,L=!1,O=!1,B,F){let Y,se,xe,He=0,le,qe={leakWarningThreshold:B,onWillAddFirstListener(){Y=k((rt)=>{He++,se=x(se,rt),L&&!xe&&(me.fire(se),se=void 0),le=()=>{let St=se;se=void 0,xe=void 0,(!L||He>1)&&me.fire(St),He=0},typeof T=="number"?(clearTimeout(xe),xe=setTimeout(le,T)):xe===void 0&&(xe=0,queueMicrotask(le))})},onWillRemoveListener(){O&&He>0&&le?.()},onDidRemoveLastListener(){le=void 0,Y.dispose()}};F||s(qe);let me=new D(qe);return F?.add(me),me.event}t.debounce=S;function b(k,x=0,T){return t.debounce(k,(L,O)=>L?(L.push(O),L):[O],x,void 0,!0,void 0,T)}t.accumulate=b;function v(k,x=(L,O)=>L===O,T){let L=!0,O;return d(k,(B)=>{let F=L||!x(B,O);return L=!1,O=B,F},T)}t.latch=v;function w(k,x,T){return[t.filter(k,x,T),t.filter(k,(L)=>!x(L),T)]}t.split=w;function R(k,x=!1,T=[],L){let O=T.slice(),B=k((se)=>{O?O.push(se):Y.fire(se)});L&&L.add(B);let F=()=>{O?.forEach((se)=>Y.fire(se)),O=null},Y=new D({onWillAddFirstListener(){B||(B=k((se)=>Y.fire(se)),L&&L.add(B))},onDidAddFirstListener(){O&&(x?setTimeout(F):F())},onDidRemoveLastListener(){B&&B.dispose(),B=null}});return L&&L.add(Y),Y.event}t.buffer=R;function P(k,x){return(T,L,O)=>{let B=x(new I);return k(function(F){let Y=B.evaluate(F);Y!==U&&T.call(L,Y)},void 0,O)}}t.chain=P;let U=Symbol("HaltChainable");class I{constructor(){this.steps=[]}map(k){return this.steps.push(k),this}forEach(k){return this.steps.push((x)=>(k(x),x)),this}filter(k){return this.steps.push((x)=>k(x)?x:U),this}reduce(k,x){let T=x;return this.steps.push((L)=>(T=k(T,L),T)),this}latch(k=(x,T)=>x===T){let x=!0,T;return this.steps.push((L)=>{let O=x||!k(L,T);return x=!1,T=L,O?L:U}),this}evaluate(k){for(let x of this.steps)if(k=x(k),k===U)break;return k}}function E(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.on(x,L),B=()=>k.removeListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}t.fromNodeEventEmitter=E;function A(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.addEventListener(x,L),B=()=>k.removeEventListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}t.fromDOMEventEmitter=A;function N(k){return new Promise((x)=>h(k)(x))}t.toPromise=N;function J(k){let x=new D;return k.then((T)=>{x.fire(T)},()=>{x.fire(void 0)}).finally(()=>{x.dispose()}),x.event}t.fromPromise=J;function Ce(k,x){return k((T)=>x.fire(T))}t.forward=Ce;function we(k,x,T){return x(T),k((L)=>x(L))}t.runAndSubscribe=we;class it{constructor(k,x){this._observable=k,this._counter=0,this._hasChanged=!1;let T={onWillAddFirstListener:()=>{k.addObserver(this)},onDidRemoveLastListener:()=>{k.removeObserver(this)}};x||s(T),this.emitter=new D(T),x&&x.add(this.emitter)}beginUpdate(k){this._counter++}handlePossibleChange(k){}handleChange(k,x){this._hasChanged=!0}endUpdate(k){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function V(k,x){return new it(k,x).emitter.event}t.fromObservable=V;function vt(k){return(x,T,L)=>{let O=0,B=!1,F={beginUpdate(){O++},endUpdate(){O--,O===0&&(k.reportChanges(),B&&(B=!1,x.call(T)))},handlePossibleChange(){},handleChange(){B=!0}};k.addObserver(F),k.reportChanges();let Y={dispose(){k.removeObserver(F)}};return L instanceof et?L.add(Y):Array.isArray(L)&&L.push(Y),Y}}t.fromObservableLight=vt})(ge||={});var Ui=class t{constructor(s){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${s}_${t._idPool++}`,t.all.add(this)}start(s){this._stopWatch=new Xn,this.listenerCount=s}stop(){if(this._stopWatch){let s=this._stopWatch.elapsed();this.durations.push(s),this.elapsedOverall+=s,this.invocationCount+=1,this._stopWatch=void 0}}};Ui.all=new Set,Ui._idPool=0;var Zn=Ui,As=-1,Hr=class t{constructor(s,a,h=(t._idPool++).toString(16).padStart(3,"0")){this._errorHandler=s,this.threshold=a,this.name=h,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(s,a){let h=this.threshold;if(h<=0||a<h)return;this._stacks||(this._stacks=new Map);let l=this._stacks.get(s.value)||0;if(this._stacks.set(s.value,l+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=h*0.5;let[c,d]=this.getMostFrequentStack(),_=`[${this.name}] potential listener LEAK detected, having ${a} listeners already. MOST frequent listener (${d}):`;console.warn(_),console.warn(c);let f=new eo(_,c);this._errorHandler(f)}return()=>{let c=this._stacks.get(s.value)||0;this._stacks.set(s.value,c-1)}}getMostFrequentStack(){if(!this._stacks)return;let s,a=0;for(let[h,l]of this._stacks)(!s||a<l)&&(s=[h,l],a=l);return s}};Hr._idPool=1;var Qn=Hr,Ki=class t{constructor(s){this.value=s}static create(){let s=Error();return new t(s.stack??"")}print(){console.warn(this.value.split(`
24
+ `),{leaks:h,details:d}}};Kn.idx=0;function qn(t){ht=t}if(Un){let t="__is_disposable_tracked__";qn(new class{trackDisposable(s){let a=Error("Potentially leaked disposable").stack;setTimeout(()=>{s[t]||console.log(a)},3000)}setParent(s,a){if(s&&s!==W.None)try{s[t]=!0}catch{}}markAsDisposed(s){if(s&&s!==W.None)try{s[t]=!0}catch{}}markAsSingleton(s){}})}function pi(t){return ht?.trackDisposable(t),t}function gi(t){ht?.markAsDisposed(t)}function It(t,s){ht?.setParent(t,s)}function Vn(t,s){if(ht)for(let a of t)ht.setParent(a,s)}function Ms(t){return ht?.markAsSingleton(t),t}function lt(t){if(Ir.is(t)){let s=[];for(let a of t)if(a)try{a.dispose()}catch(h){s.push(h)}if(s.length===1)throw s[0];if(s.length>1)throw AggregateError(s,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function Yn(...t){let s=G(()=>lt(t));return Vn(t,s),s}function G(t){let s=pi({dispose:$n(()=>{gi(s),t()})});return s}var Nr=class t{constructor(){this._toDispose=new Set,this._isDisposed=!1,pi(this)}dispose(){this._isDisposed||(gi(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{lt(this._toDispose)}finally{this._toDispose.clear()}}add(s){if(!s)return s;if(s===this)throw Error("Cannot register a disposable on itself!");return It(s,this),this._isDisposed?t.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(s),s}delete(s){if(s){if(s===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(s),s.dispose()}}deleteAndLeak(s){s&&this._toDispose.has(s)&&(this._toDispose.delete(s),It(s,null))}};Nr.DISABLE_DISPOSED_WARNING=!1;var et=Nr,W=class{constructor(){this._store=new et,pi(this),It(this._store,this)}dispose(){gi(this),this._store.dispose()}_register(t){if(t===this)throw Error("Cannot register a disposable on itself!");return this._store.add(t)}};W.None=Object.freeze({dispose(){}});var pt=class{constructor(){this._isDisposed=!1,pi(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&It(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gi(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&It(t,null),t}},Be=typeof window=="object"?window:globalThis,$i=class t{constructor(s){this.element=s,this.next=t.Undefined,this.prev=t.Undefined}};$i.Undefined=new $i(void 0);var Z=$i,Ts=class{constructor(){this._first=Z.Undefined,this._last=Z.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Z.Undefined}clear(){let t=this._first;for(;t!==Z.Undefined;){let s=t.next;t.prev=Z.Undefined,t.next=Z.Undefined,t=s}this._first=Z.Undefined,this._last=Z.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,s){let a=new Z(t);if(this._first===Z.Undefined)this._first=a,this._last=a;else if(s){let l=this._last;this._last=a,a.prev=l,l.next=a}else{let l=this._first;this._first=a,a.next=l,l.prev=a}this._size+=1;let h=!1;return()=>{h||(h=!0,this._remove(a))}}shift(){if(this._first!==Z.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Z.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Z.Undefined&&t.next!==Z.Undefined){let s=t.prev;s.next=t.next,t.next.prev=s}else t.prev===Z.Undefined&&t.next===Z.Undefined?(this._first=Z.Undefined,this._last=Z.Undefined):t.next===Z.Undefined?(this._last=this._last.prev,this._last.next=Z.Undefined):t.prev===Z.Undefined&&(this._first=this._first.next,this._first.prev=Z.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Z.Undefined;)yield t.element,t=t.next}},jn=globalThis.performance&&typeof globalThis.performance.now=="function",Xn=class t{static create(s){return new t(s)}constructor(s){this._now=jn&&s===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},Gn=!1,Ps=!1,Jn=!1,ge;((t)=>{t.None=()=>W.None;function s(k){if(Jn){let{onDidAddListener:x}=k,T=Ki.create(),L=0;k.onDidAddListener=()=>{++L===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),T.print()),x?.()}}}function a(k,x){return S(k,()=>{},0,void 0,!0,void 0,x)}t.defer=a;function h(k){return(x,T=null,L)=>{let O=!1,B;return B=k((F)=>{if(!O)return B?B.dispose():O=!0,x.call(T,F)},null,L),O&&B.dispose(),B}}t.once=h;function l(k,x,T){return m((L,O=null,B)=>k((F)=>L.call(O,x(F)),null,B),T)}t.map=l;function c(k,x,T){return m((L,O=null,B)=>k((F)=>{x(F),L.call(O,F)},null,B),T)}t.forEach=c;function d(k,x,T){return m((L,O=null,B)=>k((F)=>x(F)&&L.call(O,F),null,B),T)}t.filter=d;function _(k){return k}t.signal=_;function f(...k){return(x,T=null,L)=>{let O=Yn(...k.map((B)=>B((F)=>x.call(T,F))));return p(O,L)}}t.any=f;function u(k,x,T,L){let O=T;return l(k,(B)=>(O=x(O,B),O),L)}t.reduce=u;function m(k,x){let T,L={onWillAddFirstListener(){T=k(O.fire,O)},onDidRemoveLastListener(){T?.dispose()}};x||s(L);let O=new D(L);return x?.add(O),O.event}function p(k,x){return x instanceof Array?x.push(k):x&&x.add(k),k}function S(k,x,T=100,L=!1,O=!1,B,F){let Y,se,xe,He=0,le,qe={leakWarningThreshold:B,onWillAddFirstListener(){Y=k((st)=>{He++,se=x(se,st),L&&!xe&&(me.fire(se),se=void 0),le=()=>{let St=se;se=void 0,xe=void 0,(!L||He>1)&&me.fire(St),He=0},typeof T=="number"?(clearTimeout(xe),xe=setTimeout(le,T)):xe===void 0&&(xe=0,queueMicrotask(le))})},onWillRemoveListener(){O&&He>0&&le?.()},onDidRemoveLastListener(){le=void 0,Y.dispose()}};F||s(qe);let me=new D(qe);return F?.add(me),me.event}t.debounce=S;function b(k,x=0,T){return t.debounce(k,(L,O)=>L?(L.push(O),L):[O],x,void 0,!0,void 0,T)}t.accumulate=b;function v(k,x=(L,O)=>L===O,T){let L=!0,O;return d(k,(B)=>{let F=L||!x(B,O);return L=!1,O=B,F},T)}t.latch=v;function w(k,x,T){return[t.filter(k,x,T),t.filter(k,(L)=>!x(L),T)]}t.split=w;function R(k,x=!1,T=[],L){let O=T.slice(),B=k((se)=>{O?O.push(se):Y.fire(se)});L&&L.add(B);let F=()=>{O?.forEach((se)=>Y.fire(se)),O=null},Y=new D({onWillAddFirstListener(){B||(B=k((se)=>Y.fire(se)),L&&L.add(B))},onDidAddFirstListener(){O&&(x?setTimeout(F):F())},onDidRemoveLastListener(){B&&B.dispose(),B=null}});return L&&L.add(Y),Y.event}t.buffer=R;function P(k,x){return(T,L,O)=>{let B=x(new I);return k(function(F){let Y=B.evaluate(F);Y!==U&&T.call(L,Y)},void 0,O)}}t.chain=P;let U=Symbol("HaltChainable");class I{constructor(){this.steps=[]}map(k){return this.steps.push(k),this}forEach(k){return this.steps.push((x)=>(k(x),x)),this}filter(k){return this.steps.push((x)=>k(x)?x:U),this}reduce(k,x){let T=x;return this.steps.push((L)=>(T=k(T,L),T)),this}latch(k=(x,T)=>x===T){let x=!0,T;return this.steps.push((L)=>{let O=x||!k(L,T);return x=!1,T=L,O?L:U}),this}evaluate(k){for(let x of this.steps)if(k=x(k),k===U)break;return k}}function E(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.on(x,L),B=()=>k.removeListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}t.fromNodeEventEmitter=E;function A(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.addEventListener(x,L),B=()=>k.removeEventListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}t.fromDOMEventEmitter=A;function N(k){return new Promise((x)=>h(k)(x))}t.toPromise=N;function J(k){let x=new D;return k.then((T)=>{x.fire(T)},()=>{x.fire(void 0)}).finally(()=>{x.dispose()}),x.event}t.fromPromise=J;function Ce(k,x){return k((T)=>x.fire(T))}t.forward=Ce;function we(k,x,T){return x(T),k((L)=>x(L))}t.runAndSubscribe=we;class it{constructor(k,x){this._observable=k,this._counter=0,this._hasChanged=!1;let T={onWillAddFirstListener:()=>{k.addObserver(this)},onDidRemoveLastListener:()=>{k.removeObserver(this)}};x||s(T),this.emitter=new D(T),x&&x.add(this.emitter)}beginUpdate(k){this._counter++}handlePossibleChange(k){}handleChange(k,x){this._hasChanged=!0}endUpdate(k){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function V(k,x){return new it(k,x).emitter.event}t.fromObservable=V;function vt(k){return(x,T,L)=>{let O=0,B=!1,F={beginUpdate(){O++},endUpdate(){O--,O===0&&(k.reportChanges(),B&&(B=!1,x.call(T)))},handlePossibleChange(){},handleChange(){B=!0}};k.addObserver(F),k.reportChanges();let Y={dispose(){k.removeObserver(F)}};return L instanceof et?L.add(Y):Array.isArray(L)&&L.push(Y),Y}}t.fromObservableLight=vt})(ge||={});var Ui=class t{constructor(s){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${s}_${t._idPool++}`,t.all.add(this)}start(s){this._stopWatch=new Xn,this.listenerCount=s}stop(){if(this._stopWatch){let s=this._stopWatch.elapsed();this.durations.push(s),this.elapsedOverall+=s,this.invocationCount+=1,this._stopWatch=void 0}}};Ui.all=new Set,Ui._idPool=0;var Zn=Ui,As=-1,Hr=class t{constructor(s,a,h=(t._idPool++).toString(16).padStart(3,"0")){this._errorHandler=s,this.threshold=a,this.name=h,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(s,a){let h=this.threshold;if(h<=0||a<h)return;this._stacks||(this._stacks=new Map);let l=this._stacks.get(s.value)||0;if(this._stacks.set(s.value,l+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=h*0.5;let[c,d]=this.getMostFrequentStack(),_=`[${this.name}] potential listener LEAK detected, having ${a} listeners already. MOST frequent listener (${d}):`;console.warn(_),console.warn(c);let f=new eo(_,c);this._errorHandler(f)}return()=>{let c=this._stacks.get(s.value)||0;this._stacks.set(s.value,c-1)}}getMostFrequentStack(){if(!this._stacks)return;let s,a=0;for(let[h,l]of this._stacks)(!s||a<l)&&(s=[h,l],a=l);return s}};Hr._idPool=1;var Qn=Hr,Ki=class t{constructor(s){this.value=s}static create(){let s=Error();return new t(s.stack??"")}print(){console.warn(this.value.split(`
25
25
  `).slice(2).join(`
26
26
  `))}},eo=class extends Error{constructor(t,s){super(t),this.name="ListenerLeakError",this.stack=s}},to=class extends Error{constructor(t,s){super(t),this.name="ListenerRefusalError",this.stack=s}},io=0,Jt=class{constructor(t){this.value=t,this.id=io++}},so=2,ro=(t,s)=>{if(t instanceof Jt)s(t);else for(let a=0;a<t.length;a++){let h=t[a];h&&s(h)}},Zt;if(Gn){let t=[];setInterval(()=>{t.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(t.join(`
27
27
  `)),t.length=0)},3000),Zt=new FinalizationRegistry((s)=>{typeof s=="string"&&t.push(s)})}var D=class{constructor(t){this._size=0,this._options=t,this._leakageMon=As>0||this._options?.leakWarningThreshold?new Qn(t?.onListenerError??Gt,this._options?.leakWarningThreshold??As):void 0,this._perfMon=this._options?._profName?new Zn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(Ps){let t=this._listeners;queueMicrotask(()=>{ro(t,(s)=>s.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,s,a)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let _=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(_);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],u=new to(`${_}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(this._options?.onListenerError||Gt)(u),W.None}if(this._disposed)return W.None;s&&(t=t.bind(s));let h=new Jt(t),l,c;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2)&&(h.stack=Ki.create(),l=this._leakageMon.check(h.stack,this._size+1)),Ps&&(h.stack=c??Ki.create()),this._listeners?this._listeners instanceof Jt?(this._deliveryQueue??=new no,this._listeners=[this._listeners,h]):this._listeners.push(h):(this._options?.onWillAddFirstListener?.(this),this._listeners=h,this._options?.onDidAddFirstListener?.(this)),this._size++;let d=G(()=>{Zt?.unregister(d),l?.(),this._removeListener(h)});if(a instanceof et?a.add(d):Array.isArray(a)&&a.push(d),Zt){let _=Error().stack.split(`
28
28
  `).slice(2,3).join(`
29
- `).trim(),f=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(_);Zt.register(d,f?.[2]??_,d)}return d},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let s=this._listeners,a=s.indexOf(t);if(a===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,s[a]=void 0;let h=this._deliveryQueue.current===this;if(this._size*so<=s.length){let l=0;for(let c=0;c<s.length;c++)s[c]?s[l++]=s[c]:h&&(this._deliveryQueue.end--,l<this._deliveryQueue.i&&this._deliveryQueue.i--);s.length=l}}_deliver(t,s){if(!t)return;let a=this._options?.onListenerError||Gt;if(!a){t.value(s);return}try{t.value(s)}catch(h){a(h)}}_deliverQueue(t){let s=t.current._listeners;for(;t.i<t.end;)this._deliver(s[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Jt)this._deliver(this._listeners,t);else{let s=this._deliveryQueue;s.enqueue(this,t,this._listeners.length),this._deliverQueue(s)}this._perfMon?.stop()}hasListeners(){return this._size>0}},no=class{constructor(){this.i=-1,this.end=0}enqueue(t,s,a){this.i=0,this.end=a,this.current=t,this.value=s}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},qi=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new D,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new D,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(s){return this.mapWindowIdToZoomLevel.get(this.getWindowId(s))??0}setZoomLevel(s,a){if(this.getZoomLevel(a)===s)return;let h=this.getWindowId(a);this.mapWindowIdToZoomLevel.set(h,s),this._onDidChangeZoomLevel.fire(h)}getZoomFactor(s){return this.mapWindowIdToZoomFactor.get(this.getWindowId(s))??1}setZoomFactor(s,a){this.mapWindowIdToZoomFactor.set(this.getWindowId(a),s)}setFullscreen(s,a){if(this.isFullscreen(a)===s)return;let h=this.getWindowId(a);this.mapWindowIdToFullScreen.set(h,s),this._onDidChangeFullscreen.fire(h)}isFullscreen(s){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(s))}getWindowId(s){return s.vscodeWindowId}};qi.INSTANCE=new qi;var fs=qi;function oo(t,s,a){typeof s=="string"&&(s=t.matchMedia(s)),s.addEventListener("change",a)}var ll=fs.INSTANCE.onDidChangeZoomLevel;function ao(t){return fs.INSTANCE.getZoomFactor(t)}var cl=fs.INSTANCE.onDidChangeFullscreen,mt=typeof navigator=="object"?navigator.userAgent:"",Vi=mt.indexOf("Firefox")>=0,Qt=mt.indexOf("AppleWebKit")>=0,ps=mt.indexOf("Chrome")>=0,Wr=!ps&&mt.indexOf("Safari")>=0,dl=mt.indexOf("Electron/")>=0,ul=mt.indexOf("Android")>=0,ei=!1;if(typeof Be.matchMedia=="function"){let t=Be.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),s=Be.matchMedia("(display-mode: fullscreen)");ei=t.matches,oo(Be,t,({matches:a})=>{ei&&s.matches||(ei=a)})}function ho(){return ei}var ft="en",ni=!1,oi=!1,At=!1,lo=!1,zr=!1,Fr=!1,co=!1,uo=!1,_o=!1,fo=!1,qt,ti=ft,Os=ft,po,ze,$e=globalThis,De;typeof $e.vscode<"u"&&typeof $e.vscode.process<"u"?De=$e.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(De=process);var $r=typeof De?.versions?.electron=="string",go=$r&&De?.type==="renderer";if(typeof De=="object"){ni=De.platform==="win32",oi=De.platform==="darwin",At=De.platform==="linux",lo=At&&!!De.env.SNAP&&!!De.env.SNAP_REVISION,co=$r,_o=!!De.env.CI||!!De.env.BUILD_ARTIFACTSTAGINGDIRECTORY,qt=ft,ti=ft;let t=De.env.VSCODE_NLS_CONFIG;if(t)try{let s=JSON.parse(t);qt=s.userLocale,Os=s.osLocale,ti=s.resolvedLanguage||ft,po=s.languagePack?.translationsConfigFile}catch{}zr=!0}else typeof navigator=="object"&&!go?(ze=navigator.userAgent,ni=ze.indexOf("Windows")>=0,oi=ze.indexOf("Macintosh")>=0,uo=(ze.indexOf("Macintosh")>=0||ze.indexOf("iPad")>=0||ze.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,At=ze.indexOf("Linux")>=0,fo=ze?.indexOf("Mobi")>=0,Fr=!0,ti=globalThis._VSCODE_NLS_LANGUAGE||ft,qt=navigator.language.toLowerCase(),Os=qt):console.error("Unable to resolve platform.");var wi=0;oi?wi=1:ni?wi=3:At&&(wi=2);var Ur=ni,Ie=oi,mo=At,yi=zr,vo=Fr&&typeof $e.importScripts=="function",_l=vo?$e.origin:void 0,Ne=ze,je=ti,So;((t)=>{function s(){return je}t.value=s;function a(){return je.length===2?je==="en":je.length>=3?je[0]==="e"&&je[1]==="n"&&je[2]==="-":!1}t.isDefaultVariant=a;function h(){return je==="en"}t.isDefault=h})(So||={});var bo=typeof $e.postMessage=="function"&&!$e.importScripts,wo=(()=>{if(bo){let t=[];$e.addEventListener("message",(a)=>{if(a.data&&a.data.vscodeScheduleAsyncWork)for(let h=0,l=t.length;h<l;h++){let c=t[h];if(c.id===a.data.vscodeScheduleAsyncWork){t.splice(h,1),c.callback();return}}});let s=0;return(a)=>{let h=++s;t.push({id:h,callback:a}),$e.postMessage({vscodeScheduleAsyncWork:h},"*")}}return(t)=>setTimeout(t)})(),yo=!!(Ne&&Ne.indexOf("Chrome")>=0),fl=!!(Ne&&Ne.indexOf("Firefox")>=0),pl=!!(!yo&&Ne&&Ne.indexOf("Safari")>=0),gl=!!(Ne&&Ne.indexOf("Edg/")>=0),ml=!!(Ne&&Ne.indexOf("Android")>=0),Xe=typeof navigator=="object"?navigator:{},vl={clipboard:{writeText:yi||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(Xe&&Xe.clipboard&&Xe.clipboard.writeText),readText:yi||!!(Xe&&Xe.clipboard&&Xe.clipboard.readText)},keyboard:yi||ho()?0:Xe.keyboard||Wr?1:2,touch:"ontouchstart"in Be||Xe.maxTouchPoints>0,pointerEvents:Be.PointerEvent&&(("ontouchstart"in Be)||navigator.maxTouchPoints>0)},gs=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,s){this._keyCodeToStr[t]=s,this._strToKeyCode[s.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},Ci=new gs,Is=new gs,Ns=new gs,Co=Array(230),Kr;((t)=>{function s(_){return Ci.keyCodeToStr(_)}t.toString=s;function a(_){return Ci.strToKeyCode(_)}t.fromString=a;function h(_){return Is.keyCodeToStr(_)}t.toUserSettingsUS=h;function l(_){return Ns.keyCodeToStr(_)}t.toUserSettingsGeneral=l;function c(_){return Is.strToKeyCode(_)||Ns.strToKeyCode(_)}t.fromUserSettings=c;function d(_){if(_>=98&&_<=113)return null;switch(_){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ci.keyCodeToStr(_)}t.toElectronAccelerator=d})(Kr||={});var xo=class t{constructor(s,a,h,l,c){this.ctrlKey=s,this.shiftKey=a,this.altKey=h,this.metaKey=l,this.keyCode=c}equals(s){return s instanceof t&&this.ctrlKey===s.ctrlKey&&this.shiftKey===s.shiftKey&&this.altKey===s.altKey&&this.metaKey===s.metaKey&&this.keyCode===s.keyCode}getHashCode(){let s=this.ctrlKey?"1":"0",a=this.shiftKey?"1":"0",h=this.altKey?"1":"0",l=this.metaKey?"1":"0";return`K${s}${a}${h}${l}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new ko([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},ko=class{constructor(t){if(t.length===0)throw On("chords");this.chords=t}getHashCode(){let t="";for(let s=0,a=this.chords.length;s<a;s++)s!==0&&(t+=";"),t+=this.chords[s].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let s=0;s<this.chords.length;s++)if(!this.chords[s].equals(t.chords[s]))return!1;return!0}};function Eo(t){if(t.charCode){let a=String.fromCharCode(t.charCode).toUpperCase();return Kr.fromString(a)}let s=t.keyCode;if(s===3)return 7;if(Vi)switch(s){case 59:return 85;case 60:if(mo)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Ie)return 57;break}else if(Qt){if(Ie&&s===93)return 57;if(!Ie&&s===92)return 57}return Co[s]||0}var Do=Ie?256:2048,Bo=512,Ro=1024,Lo=Ie?2048:256,Yi=class{constructor(t){this._standardKeyboardEventBrand=!0;let s=t;this.browserEvent=s,this.target=s.target,this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,this.altGraphKey=s.getModifierState?.("AltGraph"),this.keyCode=Eo(s),this.code=s.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let s=0;return this.ctrlKey&&(s|=Do),this.altKey&&(s|=Bo),this.shiftKey&&(s|=Ro),this.metaKey&&(s|=Lo),s|=t,s}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new xo(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}},Hs=new WeakMap;function Mo(t){if(!t.parent||t.parent===t)return null;try{let s=t.location,a=t.parent.location;if(s.origin!=="null"&&a.origin!=="null"&&s.origin!==a.origin)return null}catch{return null}return t.parent}var To=class{static getSameOriginWindowChain(t){let s=Hs.get(t);if(!s){s=[],Hs.set(t,s);let a=t,h;do h=Mo(a),h?s.push({window:new WeakRef(a),iframeElement:a.frameElement||null}):s.push({window:new WeakRef(a),iframeElement:null}),a=h;while(a)}return s.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,s){if(!s||t===s)return{top:0,left:0};let a=0,h=0,l=this.getSameOriginWindowChain(t);for(let c of l){let d=c.window.deref();if(a+=d?.scrollY??0,h+=d?.scrollX??0,d===s||!c.iframeElement)break;let _=c.iframeElement.getBoundingClientRect();a+=_.top,h+=_.left}return{top:a,left:h}}},Bt=class{constructor(t,s){this.timestamp=Date.now(),this.browserEvent=s,this.leftButton=s.button===0,this.middleButton=s.button===1,this.rightButton=s.button===2,this.buttons=s.buttons,this.target=s.target,this.detail=s.detail||1,s.type==="dblclick"&&(this.detail=2),this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,typeof s.pageX=="number"?(this.posx=s.pageX,this.posy=s.pageY):(this.posx=s.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=s.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let a=To.getPositionOfChildWindowRelativeToAncestorWindow(t,s.view);this.posx-=a.left,this.posy-=a.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Ws=class{constructor(t,s=0,a=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=a,this.deltaX=s;let h=!1;if(ps){let l=navigator.userAgent.match(/Chrome\/(\d+)/);h=(l?parseInt(l[1]):123)<=122}if(t){let l=t,c=t,d=t.view?.devicePixelRatio||1;if(typeof l.wheelDeltaY<"u")h?this.deltaY=l.wheelDeltaY/(120*d):this.deltaY=l.wheelDeltaY/120;else if(typeof c.VERTICAL_AXIS<"u"&&c.axis===c.VERTICAL_AXIS)this.deltaY=-c.detail/3;else if(t.type==="wheel"){let _=t;_.deltaMode===_.DOM_DELTA_LINE?Vi&&!Ie?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof l.wheelDeltaX<"u")Wr&&Ur?this.deltaX=-(l.wheelDeltaX/120):h?this.deltaX=l.wheelDeltaX/(120*d):this.deltaX=l.wheelDeltaX/120;else if(typeof c.HORIZONTAL_AXIS<"u"&&c.axis===c.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type==="wheel"){let _=t;_.deltaMode===_.DOM_DELTA_LINE?Vi&&!Ie?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(h?this.deltaY=t.wheelDelta/(120*d):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},qr=Object.freeze(function(t,s){let a=setTimeout(t.bind(s),0);return{dispose(){clearTimeout(a)}}}),Po;((t)=>{function s(a){return a===t.None||a===t.Cancelled||a instanceof Ao?!0:!a||typeof a!="object"?!1:typeof a.isCancellationRequested=="boolean"&&typeof a.onCancellationRequested=="function"}t.isCancellationToken=s,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ge.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qr})})(Po||={});var Ao=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qr:(this._emitter||(this._emitter=new D),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Sl=Symbol("MicrotaskDelay"),ms=class{constructor(t,s){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof s=="number"&&this.setIfNotSet(t,s)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,s){if(this._isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},s)}setIfNotSet(t,s){if(this._isDisposed)throw new Fi("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},s))}},Oo=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,s,a=globalThis){if(this.isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let h=a.setInterval(()=>{t()},s);this.disposable=G(()=>{a.clearInterval(h),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Io,xi;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?xi=(t,s)=>{wo(()=>{if(a)return;let h=Date.now()+15;s(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,h-Date.now())}}))});let a=!1;return{dispose(){a||(a=!0)}}}:xi=(t,s,a)=>{let h=t.requestIdleCallback(s,typeof a=="number"?{timeout:a}:void 0),l=!1;return{dispose(){l||(l=!0,t.cancelIdleCallback(h))}}},Io=(t)=>xi(globalThis,t)})();var No;((t)=>{async function s(h){let l,c=await Promise.all(h.map((d)=>d.then((_)=>_,(_)=>{l||(l=_)})));if(typeof l<"u")throw l;return c}t.settled=s;function a(h){return new Promise(async(l,c)=>{try{await h(l,c)}catch(d){c(d)}})}t.withAsyncBody=a})(No||={});var zs=class t{static fromArray(s){return new t((a)=>{a.emitMany(s)})}static fromPromise(s){return new t(async(a)=>{a.emitMany(await s)})}static fromPromises(s){return new t(async(a)=>{await Promise.all(s.map(async(h)=>a.emitOne(await h)))})}static merge(s){return new t(async(a)=>{await Promise.all(s.map(async(h)=>{for await(let l of h)a.emitOne(l)}))})}constructor(s,a){this._state=0,this._results=[],this._error=null,this._onReturn=a,this._onStateChanged=new D,queueMicrotask(async()=>{let h={emitOne:(l)=>this.emitOne(l),emitMany:(l)=>this.emitMany(l),reject:(l)=>this.reject(l)};try{await Promise.resolve(s(h)),this.resolve()}catch(l){this.reject(l)}finally{h.emitOne=void 0,h.emitMany=void 0,h.reject=void 0}})}[Symbol.asyncIterator](){let s=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(s<this._results.length)return{done:!1,value:this._results[s++]};if(this._state===1)return{done:!0,value:void 0};await ge.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(s,a){return new t(async(h)=>{for await(let l of s)h.emitOne(a(l))})}map(s){return t.map(this,s)}static filter(s,a){return new t(async(h)=>{for await(let l of s)a(l)&&h.emitOne(l)})}filter(s){return t.filter(this,s)}static coalesce(s){return t.filter(s,(a)=>!!a)}coalesce(){return t.coalesce(this)}static async toPromise(s){let a=[];for await(let h of s)a.push(h);return a}toPromise(){return t.toPromise(this)}emitOne(s){this._state===0&&(this._results.push(s),this._onStateChanged.fire())}emitMany(s){this._state===0&&(this._results=this._results.concat(s),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(s){this._state===0&&(this._state=2,this._error=s,this._onStateChanged.fire())}};zs.EMPTY=zs.fromArray([]);function Ho(t){return 55296<=t&&t<=56319}function Fs(t){return 56320<=t&&t<=57343}function Wo(t,s){return(t-55296<<10)+(s-56320)+65536}function zo(t){return vs(t,0)}function vs(t,s){switch(typeof t){case"object":return t===null?Fe(349,s):Array.isArray(t)?$o(t,s):Uo(t,s);case"string":return Vr(t,s);case"boolean":return Fo(t,s);case"number":return Fe(t,s);case"undefined":return Fe(937,s);default:return Fe(617,s)}}function Fe(t,s){return(s<<5)-s+t|0}function Fo(t,s){return Fe(t?433:863,s)}function Vr(t,s){s=Fe(149417,s);for(let a=0,h=t.length;a<h;a++)s=Fe(t.charCodeAt(a),s);return s}function $o(t,s){return s=Fe(104579,s),t.reduce((a,h)=>vs(h,a),s)}function Uo(t,s){return s=Fe(181387,s),Object.keys(t).sort().reduce((a,h)=>(a=Vr(h,a),vs(t[h],a)),s)}function ki(t,s,a=32){let h=a-s,l=~((1<<h)-1);return(t<<s|(l&t)>>>h)>>>0}function $s(t,s=0,a=t.byteLength,h=0){for(let l=0;l<a;l++)t[s+l]=h}function Ko(t,s,a="0"){for(;t.length<s;)t=a+t;return t}function wt(t,s=32){return t instanceof ArrayBuffer?Array.from(new Uint8Array(t)).map((a)=>a.toString(16).padStart(2,"0")).join(""):Ko((t>>>0).toString(16),s/4)}var qo=class t{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(s){let a=s.length;if(a===0)return;let h=this._buff,l=this._buffLen,c=this._leftoverHighSurrogate,d,_;for(c!==0?(d=c,_=-1,c=0):(d=s.charCodeAt(0),_=0);;){let f=d;if(Ho(d))if(_+1<a){let u=s.charCodeAt(_+1);Fs(u)?(_++,f=Wo(d,u)):f=65533}else{c=d;break}else Fs(d)&&(f=65533);if(l=this._push(h,l,f),_++,_<a)d=s.charCodeAt(_);else break}this._buffLen=l,this._leftoverHighSurrogate=c}_push(s,a,h){return h<128?s[a++]=h:h<2048?(s[a++]=192|(h&1984)>>>6,s[a++]=128|(h&63)>>>0):h<65536?(s[a++]=224|(h&61440)>>>12,s[a++]=128|(h&4032)>>>6,s[a++]=128|(h&63)>>>0):(s[a++]=240|(h&1835008)>>>18,s[a++]=128|(h&258048)>>>12,s[a++]=128|(h&4032)>>>6,s[a++]=128|(h&63)>>>0),a>=64&&(this._step(),a-=64,this._totalLen+=64,s[0]=s[64],s[1]=s[65],s[2]=s[66]),a}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),wt(this._h0)+wt(this._h1)+wt(this._h2)+wt(this._h3)+wt(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,$s(this._buff,this._buffLen),this._buffLen>56&&(this._step(),$s(this._buff));let s=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(s/4294967296),!1),this._buffDV.setUint32(60,s%4294967296,!1),this._step()}_step(){let s=t._bigBlock32,a=this._buffDV;for(let p=0;p<64;p+=4)s.setUint32(p,a.getUint32(p,!1),!1);for(let p=64;p<320;p+=4)s.setUint32(p,ki(s.getUint32(p-12,!1)^s.getUint32(p-32,!1)^s.getUint32(p-56,!1)^s.getUint32(p-64,!1),1),!1);let h=this._h0,l=this._h1,c=this._h2,d=this._h3,_=this._h4,f,u,m;for(let p=0;p<80;p++)p<20?(f=l&c|~l&d,u=1518500249):p<40?(f=l^c^d,u=1859775393):p<60?(f=l&c|l&d|c&d,u=2400959708):(f=l^c^d,u=3395469782),m=ki(h,5)+f+_+u+s.getUint32(p*4,!1)&4294967295,_=d,d=c,c=ki(l,30),l=h,h=m;this._h0=this._h0+h&4294967295,this._h1=this._h1+l&4294967295,this._h2=this._h2+c&4294967295,this._h3=this._h3+d&4294967295,this._h4=this._h4+_&4294967295}};qo._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:bl,getWindow:Te,getDocument:wl,getWindows:yl,getWindowsCount:Cl,getWindowId:Us,getWindowById:xl,hasWindow:kl,onDidRegisterWindow:Vo,onWillUnregisterWindow:El,onDidUnregisterWindow:Dl}=function(){let t=new Map,s={window:Be,disposables:new et};t.set(Be.vscodeWindowId,s);let a=new D,h=new D,l=new D;function c(d,_){return(typeof d=="number"?t.get(d):void 0)??(_?s:void 0)}return{onDidRegisterWindow:a.event,onWillUnregisterWindow:l.event,onDidUnregisterWindow:h.event,registerWindow(d){if(t.has(d.vscodeWindowId))return W.None;let _=new et,f={window:d,disposables:_.add(new et)};return t.set(d.vscodeWindowId,f),_.add(G(()=>{t.delete(d.vscodeWindowId),h.fire(d)})),_.add(H(d,de.BEFORE_UNLOAD,()=>{l.fire(d)})),a.fire(f),_},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(d){return d.vscodeWindowId},hasWindow(d){return t.has(d)},getWindowById:c,getWindow(d){let _=d;if(_?.ownerDocument?.defaultView)return _.ownerDocument.defaultView.window;let f=d;return f?.view?f.view.window:Be},getDocument(d){return Te(d).document}}}(),Yo=class{constructor(t,s,a,h){this._node=t,this._type=s,this._handler=a,this._options=h||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function H(t,s,a,h){return new Yo(t,s,a,h)}function jo(t,s){return function(a){return s(new Bt(t,a))}}function Xo(t){return function(s){return t(new Yi(s))}}var Ks=function(t,s,a,h){let l=a;return s==="click"||s==="mousedown"||s==="contextmenu"?l=jo(Te(t),a):(s==="keydown"||s==="keypress"||s==="keyup")&&(l=Xo(a)),H(t,s,l,h)},Go,ai,Jo=class extends Oo{constructor(t){super(),this.defaultTarget=t&&Te(t)}cancelAndSet(t,s,a){return super.cancelAndSet(t,s,a??this.defaultTarget)}},Ei=class{constructor(t,s=0){this._runner=t,this.priority=s,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Gt(t)}}static sort(t,s){return s.priority-t.priority}};(function(){let t=new Map,s=new Map,a=new Map,h=new Map,l=(c)=>{a.set(c,!1);let d=t.get(c)??[];for(s.set(c,d),t.set(c,[]),h.set(c,!0);d.length>0;)d.sort(Ei.sort),d.shift().execute();h.set(c,!1)};ai=(c,d,_=0)=>{let f=Us(c),u=new Ei(d,_),m=t.get(f);return m||(m=[],t.set(f,m)),m.push(u),a.get(f)||(a.set(f,!0),c.requestAnimationFrame(()=>l(f))),u},Go=(c,d,_)=>{let f=Us(c);if(h.get(f)){let u=new Ei(d,_),m=s.get(f);return m||(m=[],s.set(f,m)),m.push(u),u}else return ai(c,d,_)}})();var qs=class t{constructor(s,a){this.width=s,this.height=a}with(s=this.width,a=this.height){return s!==this.width||a!==this.height?new t(s,a):this}static is(s){return typeof s=="object"&&typeof s.height=="number"&&typeof s.width=="number"}static lift(s){return s instanceof t?s:new t(s.width,s.height)}static equals(s,a){return s===a?!0:!s||!a?!1:s.width===a.width&&s.height===a.height}};qs.None=new qs(0,0);function Zo(t){let s=t.getBoundingClientRect(),a=Te(t);return{left:s.left+a.scrollX,top:s.top+a.scrollY,width:s.width,height:s.height}}var Bl=new class{constructor(){this.mutationObservers=new Map}observe(t,s,a){let h=this.mutationObservers.get(t);h||(h=new Map,this.mutationObservers.set(t,h));let l=zo(a),c=h.get(l);if(c)c.users+=1;else{let d=new D,_=new MutationObserver((u)=>d.fire(u));_.observe(t,a);let f=c={users:1,observer:_,onDidMutate:d.event};s.add(G(()=>{f.users-=1,f.users===0&&(d.dispose(),_.disconnect(),h?.delete(l),h?.size===0&&this.mutationObservers.delete(t))})),h.set(l,c)}return c.onDidMutate}},de={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:Qt?"webkitAnimationStart":"animationstart",ANIMATION_END:Qt?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Qt?"webkitAnimationIteration":"animationiteration"},Qo=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function Yr(t,s,a,...h){let l=Qo.exec(s);if(!l)throw Error("Bad use of emmet");let c=l[1]||"div",d;return t!=="http://www.w3.org/1999/xhtml"?d=document.createElementNS(t,c):d=document.createElement(c),l[3]&&(d.id=l[3]),l[4]&&(d.className=l[4].replace(/\./g," ").trim()),a&&Object.entries(a).forEach(([_,f])=>{typeof f>"u"||(/^on\w+$/.test(_)?d[_]=f:_==="selected"?f&&d.setAttribute(_,"true"):d.setAttribute(_,f))}),d.append(...h),d}function ea(t,s,...a){return Yr("http://www.w3.org/1999/xhtml",t,s,...a)}ea.SVG=function(t,s,...a){return Yr("http://www.w3.org/2000/svg",t,s,...a)};var ta=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let s=ye(t);this._maxWidth!==s&&(this._maxWidth=s,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let s=ye(t);this._width!==s&&(this._width=s,this.domNode.style.width=this._width)}setHeight(t){let s=ye(t);this._height!==s&&(this._height=s,this.domNode.style.height=this._height)}setTop(t){let s=ye(t);this._top!==s&&(this._top=s,this.domNode.style.top=this._top)}setLeft(t){let s=ye(t);this._left!==s&&(this._left=s,this.domNode.style.left=this._left)}setBottom(t){let s=ye(t);this._bottom!==s&&(this._bottom=s,this.domNode.style.bottom=this._bottom)}setRight(t){let s=ye(t);this._right!==s&&(this._right=s,this.domNode.style.right=this._right)}setPaddingTop(t){let s=ye(t);this._paddingTop!==s&&(this._paddingTop=s,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let s=ye(t);this._paddingLeft!==s&&(this._paddingLeft=s,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let s=ye(t);this._paddingBottom!==s&&(this._paddingBottom=s,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let s=ye(t);this._paddingRight!==s&&(this._paddingRight=s,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let s=ye(t);this._fontSize!==s&&(this._fontSize=s,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let s=ye(t);this._lineHeight!==s&&(this._lineHeight=s,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let s=ye(t);this._letterSpacing!==s&&(this._letterSpacing=s,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,s){this.domNode.classList.toggle(t,s),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,s){this.domNode.setAttribute(t,s)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function ye(t){return typeof t=="number"?`${t}px`:t}function Ot(t){return new ta(t)}var jr=class{constructor(){this._hooks=new et,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,s){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let a=this._onStopCallback;this._onStopCallback=null,t&&a&&a(s)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,s,a,h,l){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=h,this._onStopCallback=l;let c=t;try{t.setPointerCapture(s),this._hooks.add(G(()=>{try{t.releasePointerCapture(s)}catch{}}))}catch{c=Te(t)}this._hooks.add(H(c,de.POINTER_MOVE,(d)=>{if(d.buttons!==a){this.stopMonitoring(!0);return}d.preventDefault(),this._pointerMoveCallback(d)})),this._hooks.add(H(c,de.POINTER_UP,(d)=>this.stopMonitoring(!0)))}};function ia(t,s,a){let h=null,l=null;if(typeof a.value=="function"?(h="value",l=a.value,l.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof a.get=="function"&&(h="get",l=a.get),!l)throw Error("not supported");let c=`$memoize$${s}`;a[h]=function(...d){return this.hasOwnProperty(c)||Object.defineProperty(this,c,{configurable:!1,enumerable:!1,writable:!1,value:l.apply(this,d)}),this[c]}}var Oe;((t)=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(Oe||={});var Rt=class t extends W{constructor(){super();this.dispatched=!1,this.targets=new Ts,this.ignoreTargets=new Ts,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ge.runAndSubscribe(Vo,({window:s,disposables:a})=>{a.add(H(s.document,"touchstart",(h)=>this.onTouchStart(h),{passive:!1})),a.add(H(s.document,"touchend",(h)=>this.onTouchEnd(s,h))),a.add(H(s.document,"touchmove",(h)=>this.onTouchMove(h),{passive:!1}))},{window:Be,disposables:this._store}))}static addTarget(s){if(!t.isTouchDevice())return W.None;t.INSTANCE||(t.INSTANCE=Ms(new t));let a=t.INSTANCE.targets.push(s);return G(a)}static ignoreTarget(s){if(!t.isTouchDevice())return W.None;t.INSTANCE||(t.INSTANCE=Ms(new t));let a=t.INSTANCE.ignoreTargets.push(s);return G(a)}static isTouchDevice(){return"ontouchstart"in Be||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(s){let a=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let h=0,l=s.targetTouches.length;h<l;h++){let c=s.targetTouches.item(h);this.activeTouches[c.identifier]={id:c.identifier,initialTarget:c.target,initialTimeStamp:a,initialPageX:c.pageX,initialPageY:c.pageY,rollingTimestamps:[a],rollingPageX:[c.pageX],rollingPageY:[c.pageY]};let d=this.newGestureEvent(Oe.Start,c.target);d.pageX=c.pageX,d.pageY=c.pageY,this.dispatchEvent(d)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}onTouchEnd(s,a){let h=Date.now(),l=Object.keys(this.activeTouches).length;for(let c=0,d=a.changedTouches.length;c<d;c++){let _=a.changedTouches.item(c);if(!this.activeTouches.hasOwnProperty(String(_.identifier))){console.warn("move of an UNKNOWN touch",_);continue}let f=this.activeTouches[_.identifier],u=Date.now()-f.initialTimeStamp;if(u<t.HOLD_DELAY&&Math.abs(f.initialPageX-ke(f.rollingPageX))<30&&Math.abs(f.initialPageY-ke(f.rollingPageY))<30){let m=this.newGestureEvent(Oe.Tap,f.initialTarget);m.pageX=ke(f.rollingPageX),m.pageY=ke(f.rollingPageY),this.dispatchEvent(m)}else if(u>=t.HOLD_DELAY&&Math.abs(f.initialPageX-ke(f.rollingPageX))<30&&Math.abs(f.initialPageY-ke(f.rollingPageY))<30){let m=this.newGestureEvent(Oe.Contextmenu,f.initialTarget);m.pageX=ke(f.rollingPageX),m.pageY=ke(f.rollingPageY),this.dispatchEvent(m)}else if(l===1){let m=ke(f.rollingPageX),p=ke(f.rollingPageY),S=ke(f.rollingTimestamps)-f.rollingTimestamps[0],b=m-f.rollingPageX[0],v=p-f.rollingPageY[0],w=[...this.targets].filter((R)=>f.initialTarget instanceof Node&&R.contains(f.initialTarget));this.inertia(s,w,h,Math.abs(b)/S,b>0?1:-1,m,Math.abs(v)/S,v>0?1:-1,p)}this.dispatchEvent(this.newGestureEvent(Oe.End,f.initialTarget)),delete this.activeTouches[_.identifier]}this.dispatched&&(a.preventDefault(),a.stopPropagation(),this.dispatched=!1)}newGestureEvent(s,a){let h=document.createEvent("CustomEvent");return h.initEvent(s,!1,!0),h.initialTarget=a,h.tapCount=0,h}dispatchEvent(s){if(s.type===Oe.Tap){let a=new Date().getTime(),h=0;a-this._lastSetTapCountTime>t.CLEAR_TAP_COUNT_TIME?h=1:h=2,this._lastSetTapCountTime=a,s.tapCount=h}else(s.type===Oe.Change||s.type===Oe.Contextmenu)&&(this._lastSetTapCountTime=0);if(s.initialTarget instanceof Node){for(let h of this.ignoreTargets)if(h.contains(s.initialTarget))return;let a=[];for(let h of this.targets)if(h.contains(s.initialTarget)){let l=0,c=s.initialTarget;for(;c&&c!==h;)l++,c=c.parentElement;a.push([l,h])}a.sort((h,l)=>h[0]-l[0]);for(let[h,l]of a)l.dispatchEvent(s),this.dispatched=!0}}inertia(s,a,h,l,c,d,_,f,u){this.handle=ai(s,()=>{let m=Date.now(),p=m-h,S=0,b=0,v=!0;l+=t.SCROLL_FRICTION*p,_+=t.SCROLL_FRICTION*p,l>0&&(v=!1,S=c*l*p),_>0&&(v=!1,b=f*_*p);let w=this.newGestureEvent(Oe.Change);w.translationX=S,w.translationY=b,a.forEach((R)=>R.dispatchEvent(w)),v||this.inertia(s,a,m,l,c,d+S,_,f,u+b)})}onTouchMove(s){let a=Date.now();for(let h=0,l=s.changedTouches.length;h<l;h++){let c=s.changedTouches.item(h);if(!this.activeTouches.hasOwnProperty(String(c.identifier))){console.warn("end of an UNKNOWN touch",c);continue}let d=this.activeTouches[c.identifier],_=this.newGestureEvent(Oe.Change,d.initialTarget);_.translationX=c.pageX-ke(d.rollingPageX),_.translationY=c.pageY-ke(d.rollingPageY),_.pageX=c.pageX,_.pageY=c.pageY,this.dispatchEvent(_),d.rollingPageX.length>3&&(d.rollingPageX.shift(),d.rollingPageY.shift(),d.rollingTimestamps.shift()),d.rollingPageX.push(c.pageX),d.rollingPageY.push(c.pageY),d.rollingTimestamps.push(a)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}};Rt.SCROLL_FRICTION=-0.005,Rt.HOLD_DELAY=700,Rt.CLEAR_TAP_COUNT_TIME=400,te([ia],Rt,"isTouchDevice",1);var sa=Rt,Ss=class extends W{onclick(t,s){this._register(H(t,de.CLICK,(a)=>s(new Bt(Te(t),a))))}onmousedown(t,s){this._register(H(t,de.MOUSE_DOWN,(a)=>s(new Bt(Te(t),a))))}onmouseover(t,s){this._register(H(t,de.MOUSE_OVER,(a)=>s(new Bt(Te(t),a))))}onmouseleave(t,s){this._register(H(t,de.MOUSE_LEAVE,(a)=>s(new Bt(Te(t),a))))}onkeydown(t,s){this._register(H(t,de.KEY_DOWN,(a)=>s(new Yi(a))))}onkeyup(t,s){this._register(H(t,de.KEY_UP,(a)=>s(new Yi(a))))}oninput(t,s){this._register(H(t,de.INPUT,s))}onblur(t,s){this._register(H(t,de.BLUR,s))}onfocus(t,s){this._register(H(t,de.FOCUS,s))}onchange(t,s){this._register(H(t,de.CHANGE,s))}ignoreGesture(t){return sa.ignoreTarget(t)}},Vs=11,ra=class extends Ss{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=Vs+"px",this.domNode.style.height=Vs+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new jr),this._register(Ks(this.bgDomNode,de.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._register(Ks(this.domNode,de.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._pointerdownRepeatTimer=this._register(new Jo),this._pointerdownScheduleRepeatTimer=this._register(new ms)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let s=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,Te(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(s,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(a)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},na=class t{constructor(s,a,h,l,c,d,_){this._forceIntegerValues=s,this._scrollStateBrand=void 0,this._forceIntegerValues&&(a=a|0,h=h|0,l=l|0,c=c|0,d=d|0,_=_|0),this.rawScrollLeft=l,this.rawScrollTop=_,a<0&&(a=0),l+a>h&&(l=h-a),l<0&&(l=0),c<0&&(c=0),_+c>d&&(_=d-c),_<0&&(_=0),this.width=a,this.scrollWidth=h,this.scrollLeft=l,this.height=c,this.scrollHeight=d,this.scrollTop=_}equals(s){return this.rawScrollLeft===s.rawScrollLeft&&this.rawScrollTop===s.rawScrollTop&&this.width===s.width&&this.scrollWidth===s.scrollWidth&&this.scrollLeft===s.scrollLeft&&this.height===s.height&&this.scrollHeight===s.scrollHeight&&this.scrollTop===s.scrollTop}withScrollDimensions(s,a){return new t(this._forceIntegerValues,typeof s.width<"u"?s.width:this.width,typeof s.scrollWidth<"u"?s.scrollWidth:this.scrollWidth,a?this.rawScrollLeft:this.scrollLeft,typeof s.height<"u"?s.height:this.height,typeof s.scrollHeight<"u"?s.scrollHeight:this.scrollHeight,a?this.rawScrollTop:this.scrollTop)}withScrollPosition(s){return new t(this._forceIntegerValues,this.width,this.scrollWidth,typeof s.scrollLeft<"u"?s.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof s.scrollTop<"u"?s.scrollTop:this.rawScrollTop)}createScrollEvent(s,a){let h=this.width!==s.width,l=this.scrollWidth!==s.scrollWidth,c=this.scrollLeft!==s.scrollLeft,d=this.height!==s.height,_=this.scrollHeight!==s.scrollHeight,f=this.scrollTop!==s.scrollTop;return{inSmoothScrolling:a,oldWidth:s.width,oldScrollWidth:s.scrollWidth,oldScrollLeft:s.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:s.height,oldScrollHeight:s.scrollHeight,oldScrollTop:s.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:h,scrollWidthChanged:l,scrollLeftChanged:c,heightChanged:d,scrollHeightChanged:_,scrollTopChanged:f}}},oa=class extends W{constructor(t){super();this._scrollableBrand=void 0,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new na(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,s){let a=this._state.withScrollDimensions(t,s);this._setState(a,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let s=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(s,!1)}setScrollPositionSmooth(t,s){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let a=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===a.scrollLeft&&this._smoothScrolling.to.scrollTop===a.scrollTop)return;let h;s?h=new js(this._smoothScrolling.from,a,this._smoothScrolling.startTime,this._smoothScrolling.duration):h=this._smoothScrolling.combine(this._state,a,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=h}else{let a=this._state.withScrollPosition(t);this._smoothScrolling=js.start(this._state,a,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),s=this._state.withScrollPosition(t);if(this._setState(s,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,s){let a=this._state;a.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(a,s)))}},Ys=class{constructor(t,s,a){this.scrollLeft=t,this.scrollTop=s,this.isDone=a}};function Di(t,s){let a=s-t;return function(h){return t+a*la(h)}}function aa(t,s,a){return function(h){return h<a?t(h/a):s((h-a)/(1-a))}}var js=class t{constructor(s,a,h,l){this.from=s,this.to=a,this.duration=l,this.startTime=h,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(s,a,h){if(Math.abs(s-a)>2.5*h){let l,c;return s<a?(l=s+0.75*h,c=a-0.75*h):(l=s-0.75*h,c=a+0.75*h),aa(Di(s,l),Di(c,a),0.33)}return Di(s,a)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(s){this.to=s.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(s){let a=(s-this.startTime)/this.duration;if(a<1){let h=this.scrollLeft(a),l=this.scrollTop(a);return new Ys(h,l,!1)}return new Ys(this.to.scrollLeft,this.to.scrollTop,!0)}combine(s,a,h){return t.start(s,a,h)}static start(s,a,h){h=h+10;let l=Date.now()-10;return new t(s,a,l,h)}};function ha(t){return Math.pow(t,3)}function la(t){return 1-ha(1-t)}var ca=class extends W{constructor(t,s,a){super(),this._visibility=t,this._visibleClassName=s,this._invisibleClassName=a,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new ms)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?" fade":"")))}},da=140,Xr=class extends Ss{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new ca(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new jr),this._shouldRender=!0,this.domNode=Ot(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(H(this.domNode.domNode,de.POINTER_DOWN,(s)=>this._domNodePointerDown(s)))}_createArrow(t){let s=this._register(new ra(t));this.domNode.domNode.appendChild(s.bgDomNode),this.domNode.domNode.appendChild(s.domNode)}_createSlider(t,s,a,h){this.slider=Ot(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(s),typeof a=="number"&&this.slider.setWidth(a),typeof h=="number"&&this.slider.setHeight(h),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(H(this.slider.domNode,de.POINTER_DOWN,(l)=>{l.button===0&&(l.preventDefault(),this._sliderPointerDown(l))})),this.onclick(this.slider.domNode,(l)=>{l.leftButton&&l.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let s=this.domNode.domNode.getClientRects()[0].top,a=s+this._scrollbarState.getSliderPosition(),h=s+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),l=this._sliderPointerPosition(t);a<=l&&l<=h?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let s,a;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")s=t.offsetX,a=t.offsetY;else{let l=Zo(this.domNode.domNode);s=t.pageX-l.left,a=t.pageY-l.top}let h=this._pointerDownRelativePosition(s,a);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(h):this._scrollbarState.getDesiredScrollPositionFromOffset(h)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let s=this._sliderPointerPosition(t),a=this._sliderOrthogonalPointerPosition(t),h=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(l)=>{let c=this._sliderOrthogonalPointerPosition(l),d=Math.abs(c-a);if(Ur&&d>da){this._setDesiredScrollPositionNow(h.getScrollPosition());return}let _=this._sliderPointerPosition(l)-s;this._setDesiredScrollPositionNow(h.getDesiredScrollPositionFromDelta(_))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let s={};this.writeScrollPosition(s,t),this._scrollable.setScrollPositionNow(s)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Gr=class t{constructor(s,a,h,l,c,d){this._scrollbarSize=Math.round(a),this._oppositeScrollbarSize=Math.round(h),this._arrowSize=Math.round(s),this._visibleSize=l,this._scrollSize=c,this._scrollPosition=d,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new t(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(s){let a=Math.round(s);return this._visibleSize!==a?(this._visibleSize=a,this._refreshComputedValues(),!0):!1}setScrollSize(s){let a=Math.round(s);return this._scrollSize!==a?(this._scrollSize=a,this._refreshComputedValues(),!0):!1}setScrollPosition(s){let a=Math.round(s);return this._scrollPosition!==a?(this._scrollPosition=a,this._refreshComputedValues(),!0):!1}setScrollbarSize(s){this._scrollbarSize=Math.round(s)}setOppositeScrollbarSize(s){this._oppositeScrollbarSize=Math.round(s)}static _computeValues(s,a,h,l,c){let d=Math.max(0,h-s),_=Math.max(0,d-2*a),f=l>0&&l>h;if(!f)return{computedAvailableSize:Math.round(d),computedIsNeeded:f,computedSliderSize:Math.round(_),computedSliderRatio:0,computedSliderPosition:0};let u=Math.round(Math.max(20,Math.floor(h*_/l))),m=(_-u)/(l-h),p=c*m;return{computedAvailableSize:Math.round(d),computedIsNeeded:f,computedSliderSize:Math.round(u),computedSliderRatio:m,computedSliderPosition:Math.round(p)}}_refreshComputedValues(){let s=t._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=s.computedAvailableSize,this._computedIsNeeded=s.computedIsNeeded,this._computedSliderSize=s.computedSliderSize,this._computedSliderRatio=s.computedSliderRatio,this._computedSliderPosition=s.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize-this._computedSliderSize/2;return Math.round(a/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize,h=this._scrollPosition;return a<this._computedSliderPosition?h-=this._visibleSize:h+=this._visibleSize,h}getDesiredScrollPositionFromDelta(s){if(!this._computedIsNeeded)return 0;let a=this._computedSliderPosition+s;return Math.round(a/this._computedSliderRatio)}},ua=class extends Xr{constructor(t,s,a){let h=t.getScrollDimensions(),l=t.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.horizontalHasArrows?s.arrowSize:0,s.horizontal===2?0:s.horizontalScrollbarSize,s.vertical===2?0:s.verticalScrollbarSize,h.width,h.scrollWidth,l.scrollLeft),visibility:s.horizontal,extraScrollbarClassName:"horizontal",scrollable:t,scrollByPage:s.scrollByPage}),s.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((s.horizontalScrollbarSize-s.horizontalSliderSize)/2),0,void 0,s.horizontalSliderSize)}_updateSlider(t,s){this.slider.setWidth(t),this.slider.setLeft(s)}_renderDomNode(t,s){this.domNode.setWidth(t),this.domNode.setHeight(s),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,s){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,s){t.scrollLeft=s}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}},_a=class extends Xr{constructor(t,s,a){let h=t.getScrollDimensions(),l=t.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.verticalHasArrows?s.arrowSize:0,s.vertical===2?0:s.verticalScrollbarSize,0,h.height,h.scrollHeight,l.scrollTop),visibility:s.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:s.scrollByPage}),s.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((s.verticalScrollbarSize-s.verticalSliderSize)/2),s.verticalSliderSize,void 0)}_updateSlider(t,s){this.slider.setHeight(t),this.slider.setTop(s)}_renderDomNode(t,s){this.domNode.setWidth(s),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,s){return s}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,s){t.scrollTop=s}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}},fa=500,Xs=50,Gs=!0,pa=class{constructor(t,s,a){this.timestamp=t,this.deltaX=s,this.deltaY=a,this.score=0}},ji=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let s=1,a=0,h=1,l=this._rear;do{let c=l===this._front?s:Math.pow(2,-h);if(s-=c,a+=this._memory[l].score*c,l===this._front)break;l=(this._capacity+l-1)%this._capacity,h++}while(!0);return a<=0.5}acceptStandardWheelEvent(s){if(ps){let a=Te(s.browserEvent),h=ao(a);this.accept(Date.now(),s.deltaX*h,s.deltaY*h)}else this.accept(Date.now(),s.deltaX,s.deltaY)}accept(s,a,h){let l=null,c=new pa(s,a,h);this._front===-1&&this._rear===-1?(this._memory[0]=c,this._front=0,this._rear=0):(l=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=c),c.score=this._computeScore(c,l)}_computeScore(s,a){if(Math.abs(s.deltaX)>0&&Math.abs(s.deltaY)>0)return 1;let h=0.5;if((!this._isAlmostInt(s.deltaX)||!this._isAlmostInt(s.deltaY))&&(h+=0.25),a){let l=Math.abs(s.deltaX),c=Math.abs(s.deltaY),d=Math.abs(a.deltaX),_=Math.abs(a.deltaY),f=Math.max(Math.min(l,d),1),u=Math.max(Math.min(c,_),1),m=Math.max(l,d),p=Math.max(c,_);m%f===0&&p%u===0&&(h-=0.5)}return Math.min(Math.max(h,0),1)}_isAlmostInt(s){return Math.abs(Math.round(s)-s)<0.01}};ji.INSTANCE=new ji;var ga=ji,ma=class extends Ss{constructor(t,s,a){super();this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new D),this.onWillScroll=this._onWillScroll.event,this._options=Sa(s),this._scrollable=a,this._register(this._scrollable.onScroll((l)=>{this._onWillScroll.fire(l),this._onDidScroll(l),this._onScroll.fire(l)}));let h={onMouseWheel:(l)=>this._onMouseWheel(l),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new _a(this._scrollable,this._options,h)),this._horizontalScrollbar=this._register(new ua(this._scrollable,this._options,h)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Ot(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Ot(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Ot(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(l)=>this._onMouseOver(l)),this.onmouseleave(this._listenOnDomNode,(l)=>this._onMouseLeave(l)),this._hideTimeout=this._register(new ms),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=ct(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,Ie&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new Ws(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=ct(this._mouseWheelToDispose),t)){let s=(a)=>{this._onMouseWheel(new Ws(a))};this._mouseWheelToDispose.push(H(this._listenOnDomNode,de.MOUSE_WHEEL,s,{passive:!1}))}}_onMouseWheel(t){if(t.browserEvent?.defaultPrevented)return;let s=ga.INSTANCE;Gs&&s.acceptStandardWheelEvent(t);let a=!1;if(t.deltaY||t.deltaX){let l=t.deltaY*this._options.mouseWheelScrollSensitivity,c=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&c+l===0?c=l=0:Math.abs(l)>=Math.abs(c)?c=0:l=0),this._options.flipAxes&&([l,c]=[c,l]);let d=!Ie&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||d)&&!c&&(c=l,l=0),t.browserEvent&&t.browserEvent.altKey&&(c=c*this._options.fastScrollSensitivity,l=l*this._options.fastScrollSensitivity);let _=this._scrollable.getFutureScrollPosition(),f={};if(l){let u=Xs*l,m=_.scrollTop-(u<0?Math.floor(u):Math.ceil(u));this._verticalScrollbar.writeScrollPosition(f,m)}if(c){let u=Xs*c,m=_.scrollLeft-(u<0?Math.floor(u):Math.ceil(u));this._horizontalScrollbar.writeScrollPosition(f,m)}f=this._scrollable.validateScrollPosition(f),(_.scrollLeft!==f.scrollLeft||_.scrollTop!==f.scrollTop)&&(Gs&&this._options.mouseWheelSmoothScroll&&s.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(f):this._scrollable.setScrollPositionNow(f),a=!0)}let h=a;!h&&this._options.alwaysConsumeMouseWheel&&(h=!0),!h&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(h=!0),h&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let t=this._scrollable.getCurrentScrollPosition(),s=t.scrollTop>0,a=t.scrollLeft>0,h=a?" left":"",l=s?" top":"",c=a||s?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${h}`),this._topShadowDomNode.setClassName(`shadow${l}`),this._topLeftShadowDomNode.setClassName(`shadow${c}${l}${h}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),fa)}},va=class extends ma{constructor(t,s,a){super(t,s,a)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Sa(t){let s={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return s.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:s.horizontalScrollbarSize,s.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:s.verticalScrollbarSize,Ie&&(s.className+=" mac"),s}var Xi=class extends W{constructor(t,s,a,h,l,c,d,_){super();this._bufferService=a,this._optionsService=d,this._renderService=_,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let f=this._register(new oa({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:(u)=>ai(h.window,u)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{f.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new va(s,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},f)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(l.onProtocolChange((u)=>{this._scrollableElement.updateOptions({handleMouseWheel:!(u&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ge.runAndSubscribe(c.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=c.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(G(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=h.mainDocument.createElement("style"),s.appendChild(this._styleElement),this._register(G(()=>this._styleElement.remove())),this._register(ge.runAndSubscribe(c.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${c.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${c.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${c.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
29
+ `).trim(),f=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(_);Zt.register(d,f?.[2]??_,d)}return d},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let s=this._listeners,a=s.indexOf(t);if(a===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,s[a]=void 0;let h=this._deliveryQueue.current===this;if(this._size*so<=s.length){let l=0;for(let c=0;c<s.length;c++)s[c]?s[l++]=s[c]:h&&(this._deliveryQueue.end--,l<this._deliveryQueue.i&&this._deliveryQueue.i--);s.length=l}}_deliver(t,s){if(!t)return;let a=this._options?.onListenerError||Gt;if(!a){t.value(s);return}try{t.value(s)}catch(h){a(h)}}_deliverQueue(t){let s=t.current._listeners;for(;t.i<t.end;)this._deliver(s[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Jt)this._deliver(this._listeners,t);else{let s=this._deliveryQueue;s.enqueue(this,t,this._listeners.length),this._deliverQueue(s)}this._perfMon?.stop()}hasListeners(){return this._size>0}},no=class{constructor(){this.i=-1,this.end=0}enqueue(t,s,a){this.i=0,this.end=a,this.current=t,this.value=s}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},qi=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new D,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new D,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(s){return this.mapWindowIdToZoomLevel.get(this.getWindowId(s))??0}setZoomLevel(s,a){if(this.getZoomLevel(a)===s)return;let h=this.getWindowId(a);this.mapWindowIdToZoomLevel.set(h,s),this._onDidChangeZoomLevel.fire(h)}getZoomFactor(s){return this.mapWindowIdToZoomFactor.get(this.getWindowId(s))??1}setZoomFactor(s,a){this.mapWindowIdToZoomFactor.set(this.getWindowId(a),s)}setFullscreen(s,a){if(this.isFullscreen(a)===s)return;let h=this.getWindowId(a);this.mapWindowIdToFullScreen.set(h,s),this._onDidChangeFullscreen.fire(h)}isFullscreen(s){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(s))}getWindowId(s){return s.vscodeWindowId}};qi.INSTANCE=new qi;var fs=qi;function oo(t,s,a){typeof s=="string"&&(s=t.matchMedia(s)),s.addEventListener("change",a)}var ll=fs.INSTANCE.onDidChangeZoomLevel;function ao(t){return fs.INSTANCE.getZoomFactor(t)}var cl=fs.INSTANCE.onDidChangeFullscreen,mt=typeof navigator=="object"?navigator.userAgent:"",Vi=mt.indexOf("Firefox")>=0,Qt=mt.indexOf("AppleWebKit")>=0,ps=mt.indexOf("Chrome")>=0,Wr=!ps&&mt.indexOf("Safari")>=0,dl=mt.indexOf("Electron/")>=0,ul=mt.indexOf("Android")>=0,ei=!1;if(typeof Be.matchMedia=="function"){let t=Be.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),s=Be.matchMedia("(display-mode: fullscreen)");ei=t.matches,oo(Be,t,({matches:a})=>{ei&&s.matches||(ei=a)})}function ho(){return ei}var ft="en",ni=!1,oi=!1,At=!1,lo=!1,zr=!1,Fr=!1,co=!1,uo=!1,_o=!1,fo=!1,qt,ti=ft,Os=ft,po,ze,$e=globalThis,De;typeof $e.vscode<"u"&&typeof $e.vscode.process<"u"?De=$e.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(De=process);var $r=typeof De?.versions?.electron=="string",go=$r&&De?.type==="renderer";if(typeof De=="object"){ni=De.platform==="win32",oi=De.platform==="darwin",At=De.platform==="linux",lo=At&&!!De.env.SNAP&&!!De.env.SNAP_REVISION,co=$r,_o=!!De.env.CI||!!De.env.BUILD_ARTIFACTSTAGINGDIRECTORY,qt=ft,ti=ft;let t=De.env.VSCODE_NLS_CONFIG;if(t)try{let s=JSON.parse(t);qt=s.userLocale,Os=s.osLocale,ti=s.resolvedLanguage||ft,po=s.languagePack?.translationsConfigFile}catch{}zr=!0}else typeof navigator=="object"&&!go?(ze=navigator.userAgent,ni=ze.indexOf("Windows")>=0,oi=ze.indexOf("Macintosh")>=0,uo=(ze.indexOf("Macintosh")>=0||ze.indexOf("iPad")>=0||ze.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,At=ze.indexOf("Linux")>=0,fo=ze?.indexOf("Mobi")>=0,Fr=!0,ti=globalThis._VSCODE_NLS_LANGUAGE||ft,qt=navigator.language.toLowerCase(),Os=qt):console.error("Unable to resolve platform.");var wi=0;oi?wi=1:ni?wi=3:At&&(wi=2);var Ur=ni,Ie=oi,mo=At,yi=zr,vo=Fr&&typeof $e.importScripts=="function",_l=vo?$e.origin:void 0,Ne=ze,je=ti,So;((t)=>{function s(){return je}t.value=s;function a(){return je.length===2?je==="en":je.length>=3?je[0]==="e"&&je[1]==="n"&&je[2]==="-":!1}t.isDefaultVariant=a;function h(){return je==="en"}t.isDefault=h})(So||={});var bo=typeof $e.postMessage=="function"&&!$e.importScripts,wo=(()=>{if(bo){let t=[];$e.addEventListener("message",(a)=>{if(a.data&&a.data.vscodeScheduleAsyncWork)for(let h=0,l=t.length;h<l;h++){let c=t[h];if(c.id===a.data.vscodeScheduleAsyncWork){t.splice(h,1),c.callback();return}}});let s=0;return(a)=>{let h=++s;t.push({id:h,callback:a}),$e.postMessage({vscodeScheduleAsyncWork:h},"*")}}return(t)=>setTimeout(t)})(),yo=!!(Ne&&Ne.indexOf("Chrome")>=0),fl=!!(Ne&&Ne.indexOf("Firefox")>=0),pl=!!(!yo&&Ne&&Ne.indexOf("Safari")>=0),gl=!!(Ne&&Ne.indexOf("Edg/")>=0),ml=!!(Ne&&Ne.indexOf("Android")>=0),Xe=typeof navigator=="object"?navigator:{},vl={clipboard:{writeText:yi||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(Xe&&Xe.clipboard&&Xe.clipboard.writeText),readText:yi||!!(Xe&&Xe.clipboard&&Xe.clipboard.readText)},keyboard:yi||ho()?0:Xe.keyboard||Wr?1:2,touch:"ontouchstart"in Be||Xe.maxTouchPoints>0,pointerEvents:Be.PointerEvent&&(("ontouchstart"in Be)||navigator.maxTouchPoints>0)},gs=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,s){this._keyCodeToStr[t]=s,this._strToKeyCode[s.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},Ci=new gs,Is=new gs,Ns=new gs,Co=Array(230),Kr;((t)=>{function s(_){return Ci.keyCodeToStr(_)}t.toString=s;function a(_){return Ci.strToKeyCode(_)}t.fromString=a;function h(_){return Is.keyCodeToStr(_)}t.toUserSettingsUS=h;function l(_){return Ns.keyCodeToStr(_)}t.toUserSettingsGeneral=l;function c(_){return Is.strToKeyCode(_)||Ns.strToKeyCode(_)}t.fromUserSettings=c;function d(_){if(_>=98&&_<=113)return null;switch(_){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ci.keyCodeToStr(_)}t.toElectronAccelerator=d})(Kr||={});var xo=class t{constructor(s,a,h,l,c){this.ctrlKey=s,this.shiftKey=a,this.altKey=h,this.metaKey=l,this.keyCode=c}equals(s){return s instanceof t&&this.ctrlKey===s.ctrlKey&&this.shiftKey===s.shiftKey&&this.altKey===s.altKey&&this.metaKey===s.metaKey&&this.keyCode===s.keyCode}getHashCode(){let s=this.ctrlKey?"1":"0",a=this.shiftKey?"1":"0",h=this.altKey?"1":"0",l=this.metaKey?"1":"0";return`K${s}${a}${h}${l}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new ko([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},ko=class{constructor(t){if(t.length===0)throw On("chords");this.chords=t}getHashCode(){let t="";for(let s=0,a=this.chords.length;s<a;s++)s!==0&&(t+=";"),t+=this.chords[s].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let s=0;s<this.chords.length;s++)if(!this.chords[s].equals(t.chords[s]))return!1;return!0}};function Eo(t){if(t.charCode){let a=String.fromCharCode(t.charCode).toUpperCase();return Kr.fromString(a)}let s=t.keyCode;if(s===3)return 7;if(Vi)switch(s){case 59:return 85;case 60:if(mo)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Ie)return 57;break}else if(Qt){if(Ie&&s===93)return 57;if(!Ie&&s===92)return 57}return Co[s]||0}var Do=Ie?256:2048,Bo=512,Ro=1024,Lo=Ie?2048:256,Yi=class{constructor(t){this._standardKeyboardEventBrand=!0;let s=t;this.browserEvent=s,this.target=s.target,this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,this.altGraphKey=s.getModifierState?.("AltGraph"),this.keyCode=Eo(s),this.code=s.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let s=0;return this.ctrlKey&&(s|=Do),this.altKey&&(s|=Bo),this.shiftKey&&(s|=Ro),this.metaKey&&(s|=Lo),s|=t,s}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new xo(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}},Hs=new WeakMap;function Mo(t){if(!t.parent||t.parent===t)return null;try{let s=t.location,a=t.parent.location;if(s.origin!=="null"&&a.origin!=="null"&&s.origin!==a.origin)return null}catch{return null}return t.parent}var To=class{static getSameOriginWindowChain(t){let s=Hs.get(t);if(!s){s=[],Hs.set(t,s);let a=t,h;do h=Mo(a),h?s.push({window:new WeakRef(a),iframeElement:a.frameElement||null}):s.push({window:new WeakRef(a),iframeElement:null}),a=h;while(a)}return s.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,s){if(!s||t===s)return{top:0,left:0};let a=0,h=0,l=this.getSameOriginWindowChain(t);for(let c of l){let d=c.window.deref();if(a+=d?.scrollY??0,h+=d?.scrollX??0,d===s||!c.iframeElement)break;let _=c.iframeElement.getBoundingClientRect();a+=_.top,h+=_.left}return{top:a,left:h}}},Bt=class{constructor(t,s){this.timestamp=Date.now(),this.browserEvent=s,this.leftButton=s.button===0,this.middleButton=s.button===1,this.rightButton=s.button===2,this.buttons=s.buttons,this.target=s.target,this.detail=s.detail||1,s.type==="dblclick"&&(this.detail=2),this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,typeof s.pageX=="number"?(this.posx=s.pageX,this.posy=s.pageY):(this.posx=s.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=s.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let a=To.getPositionOfChildWindowRelativeToAncestorWindow(t,s.view);this.posx-=a.left,this.posy-=a.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Ws=class{constructor(t,s=0,a=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=a,this.deltaX=s;let h=!1;if(ps){let l=navigator.userAgent.match(/Chrome\/(\d+)/);h=(l?parseInt(l[1]):123)<=122}if(t){let l=t,c=t,d=t.view?.devicePixelRatio||1;if(typeof l.wheelDeltaY<"u")h?this.deltaY=l.wheelDeltaY/(120*d):this.deltaY=l.wheelDeltaY/120;else if(typeof c.VERTICAL_AXIS<"u"&&c.axis===c.VERTICAL_AXIS)this.deltaY=-c.detail/3;else if(t.type==="wheel"){let _=t;_.deltaMode===_.DOM_DELTA_LINE?Vi&&!Ie?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof l.wheelDeltaX<"u")Wr&&Ur?this.deltaX=-(l.wheelDeltaX/120):h?this.deltaX=l.wheelDeltaX/(120*d):this.deltaX=l.wheelDeltaX/120;else if(typeof c.HORIZONTAL_AXIS<"u"&&c.axis===c.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type==="wheel"){let _=t;_.deltaMode===_.DOM_DELTA_LINE?Vi&&!Ie?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(h?this.deltaY=t.wheelDelta/(120*d):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},qr=Object.freeze(function(t,s){let a=setTimeout(t.bind(s),0);return{dispose(){clearTimeout(a)}}}),Po;((t)=>{function s(a){return a===t.None||a===t.Cancelled||a instanceof Ao?!0:!a||typeof a!="object"?!1:typeof a.isCancellationRequested=="boolean"&&typeof a.onCancellationRequested=="function"}t.isCancellationToken=s,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ge.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qr})})(Po||={});var Ao=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qr:(this._emitter||(this._emitter=new D),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Sl=Symbol("MicrotaskDelay"),ms=class{constructor(t,s){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof s=="number"&&this.setIfNotSet(t,s)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,s){if(this._isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},s)}setIfNotSet(t,s){if(this._isDisposed)throw new Fi("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},s))}},Oo=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,s,a=globalThis){if(this.isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let h=a.setInterval(()=>{t()},s);this.disposable=G(()=>{a.clearInterval(h),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Io,xi;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?xi=(t,s)=>{wo(()=>{if(a)return;let h=Date.now()+15;s(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,h-Date.now())}}))});let a=!1;return{dispose(){a||(a=!0)}}}:xi=(t,s,a)=>{let h=t.requestIdleCallback(s,typeof a=="number"?{timeout:a}:void 0),l=!1;return{dispose(){l||(l=!0,t.cancelIdleCallback(h))}}},Io=(t)=>xi(globalThis,t)})();var No;((t)=>{async function s(h){let l,c=await Promise.all(h.map((d)=>d.then((_)=>_,(_)=>{l||(l=_)})));if(typeof l<"u")throw l;return c}t.settled=s;function a(h){return new Promise(async(l,c)=>{try{await h(l,c)}catch(d){c(d)}})}t.withAsyncBody=a})(No||={});var zs=class t{static fromArray(s){return new t((a)=>{a.emitMany(s)})}static fromPromise(s){return new t(async(a)=>{a.emitMany(await s)})}static fromPromises(s){return new t(async(a)=>{await Promise.all(s.map(async(h)=>a.emitOne(await h)))})}static merge(s){return new t(async(a)=>{await Promise.all(s.map(async(h)=>{for await(let l of h)a.emitOne(l)}))})}constructor(s,a){this._state=0,this._results=[],this._error=null,this._onReturn=a,this._onStateChanged=new D,queueMicrotask(async()=>{let h={emitOne:(l)=>this.emitOne(l),emitMany:(l)=>this.emitMany(l),reject:(l)=>this.reject(l)};try{await Promise.resolve(s(h)),this.resolve()}catch(l){this.reject(l)}finally{h.emitOne=void 0,h.emitMany=void 0,h.reject=void 0}})}[Symbol.asyncIterator](){let s=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(s<this._results.length)return{done:!1,value:this._results[s++]};if(this._state===1)return{done:!0,value:void 0};await ge.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(s,a){return new t(async(h)=>{for await(let l of s)h.emitOne(a(l))})}map(s){return t.map(this,s)}static filter(s,a){return new t(async(h)=>{for await(let l of s)a(l)&&h.emitOne(l)})}filter(s){return t.filter(this,s)}static coalesce(s){return t.filter(s,(a)=>!!a)}coalesce(){return t.coalesce(this)}static async toPromise(s){let a=[];for await(let h of s)a.push(h);return a}toPromise(){return t.toPromise(this)}emitOne(s){this._state===0&&(this._results.push(s),this._onStateChanged.fire())}emitMany(s){this._state===0&&(this._results=this._results.concat(s),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(s){this._state===0&&(this._state=2,this._error=s,this._onStateChanged.fire())}};zs.EMPTY=zs.fromArray([]);function Ho(t){return 55296<=t&&t<=56319}function Fs(t){return 56320<=t&&t<=57343}function Wo(t,s){return(t-55296<<10)+(s-56320)+65536}function zo(t){return vs(t,0)}function vs(t,s){switch(typeof t){case"object":return t===null?Fe(349,s):Array.isArray(t)?$o(t,s):Uo(t,s);case"string":return Vr(t,s);case"boolean":return Fo(t,s);case"number":return Fe(t,s);case"undefined":return Fe(937,s);default:return Fe(617,s)}}function Fe(t,s){return(s<<5)-s+t|0}function Fo(t,s){return Fe(t?433:863,s)}function Vr(t,s){s=Fe(149417,s);for(let a=0,h=t.length;a<h;a++)s=Fe(t.charCodeAt(a),s);return s}function $o(t,s){return s=Fe(104579,s),t.reduce((a,h)=>vs(h,a),s)}function Uo(t,s){return s=Fe(181387,s),Object.keys(t).sort().reduce((a,h)=>(a=Vr(h,a),vs(t[h],a)),s)}function ki(t,s,a=32){let h=a-s,l=~((1<<h)-1);return(t<<s|(l&t)>>>h)>>>0}function $s(t,s=0,a=t.byteLength,h=0){for(let l=0;l<a;l++)t[s+l]=h}function Ko(t,s,a="0"){for(;t.length<s;)t=a+t;return t}function wt(t,s=32){return t instanceof ArrayBuffer?Array.from(new Uint8Array(t)).map((a)=>a.toString(16).padStart(2,"0")).join(""):Ko((t>>>0).toString(16),s/4)}var qo=class t{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(s){let a=s.length;if(a===0)return;let h=this._buff,l=this._buffLen,c=this._leftoverHighSurrogate,d,_;for(c!==0?(d=c,_=-1,c=0):(d=s.charCodeAt(0),_=0);;){let f=d;if(Ho(d))if(_+1<a){let u=s.charCodeAt(_+1);Fs(u)?(_++,f=Wo(d,u)):f=65533}else{c=d;break}else Fs(d)&&(f=65533);if(l=this._push(h,l,f),_++,_<a)d=s.charCodeAt(_);else break}this._buffLen=l,this._leftoverHighSurrogate=c}_push(s,a,h){return h<128?s[a++]=h:h<2048?(s[a++]=192|(h&1984)>>>6,s[a++]=128|(h&63)>>>0):h<65536?(s[a++]=224|(h&61440)>>>12,s[a++]=128|(h&4032)>>>6,s[a++]=128|(h&63)>>>0):(s[a++]=240|(h&1835008)>>>18,s[a++]=128|(h&258048)>>>12,s[a++]=128|(h&4032)>>>6,s[a++]=128|(h&63)>>>0),a>=64&&(this._step(),a-=64,this._totalLen+=64,s[0]=s[64],s[1]=s[65],s[2]=s[66]),a}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),wt(this._h0)+wt(this._h1)+wt(this._h2)+wt(this._h3)+wt(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,$s(this._buff,this._buffLen),this._buffLen>56&&(this._step(),$s(this._buff));let s=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(s/4294967296),!1),this._buffDV.setUint32(60,s%4294967296,!1),this._step()}_step(){let s=t._bigBlock32,a=this._buffDV;for(let p=0;p<64;p+=4)s.setUint32(p,a.getUint32(p,!1),!1);for(let p=64;p<320;p+=4)s.setUint32(p,ki(s.getUint32(p-12,!1)^s.getUint32(p-32,!1)^s.getUint32(p-56,!1)^s.getUint32(p-64,!1),1),!1);let h=this._h0,l=this._h1,c=this._h2,d=this._h3,_=this._h4,f,u,m;for(let p=0;p<80;p++)p<20?(f=l&c|~l&d,u=1518500249):p<40?(f=l^c^d,u=1859775393):p<60?(f=l&c|l&d|c&d,u=2400959708):(f=l^c^d,u=3395469782),m=ki(h,5)+f+_+u+s.getUint32(p*4,!1)&4294967295,_=d,d=c,c=ki(l,30),l=h,h=m;this._h0=this._h0+h&4294967295,this._h1=this._h1+l&4294967295,this._h2=this._h2+c&4294967295,this._h3=this._h3+d&4294967295,this._h4=this._h4+_&4294967295}};qo._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:bl,getWindow:Te,getDocument:wl,getWindows:yl,getWindowsCount:Cl,getWindowId:Us,getWindowById:xl,hasWindow:kl,onDidRegisterWindow:Vo,onWillUnregisterWindow:El,onDidUnregisterWindow:Dl}=function(){let t=new Map,s={window:Be,disposables:new et};t.set(Be.vscodeWindowId,s);let a=new D,h=new D,l=new D;function c(d,_){return(typeof d=="number"?t.get(d):void 0)??(_?s:void 0)}return{onDidRegisterWindow:a.event,onWillUnregisterWindow:l.event,onDidUnregisterWindow:h.event,registerWindow(d){if(t.has(d.vscodeWindowId))return W.None;let _=new et,f={window:d,disposables:_.add(new et)};return t.set(d.vscodeWindowId,f),_.add(G(()=>{t.delete(d.vscodeWindowId),h.fire(d)})),_.add(H(d,de.BEFORE_UNLOAD,()=>{l.fire(d)})),a.fire(f),_},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(d){return d.vscodeWindowId},hasWindow(d){return t.has(d)},getWindowById:c,getWindow(d){let _=d;if(_?.ownerDocument?.defaultView)return _.ownerDocument.defaultView.window;let f=d;return f?.view?f.view.window:Be},getDocument(d){return Te(d).document}}}(),Yo=class{constructor(t,s,a,h){this._node=t,this._type=s,this._handler=a,this._options=h||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function H(t,s,a,h){return new Yo(t,s,a,h)}function jo(t,s){return function(a){return s(new Bt(t,a))}}function Xo(t){return function(s){return t(new Yi(s))}}var Ks=function(t,s,a,h){let l=a;return s==="click"||s==="mousedown"||s==="contextmenu"?l=jo(Te(t),a):(s==="keydown"||s==="keypress"||s==="keyup")&&(l=Xo(a)),H(t,s,l,h)},Go,ai,Jo=class extends Oo{constructor(t){super(),this.defaultTarget=t&&Te(t)}cancelAndSet(t,s,a){return super.cancelAndSet(t,s,a??this.defaultTarget)}},Ei=class{constructor(t,s=0){this._runner=t,this.priority=s,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Gt(t)}}static sort(t,s){return s.priority-t.priority}};(function(){let t=new Map,s=new Map,a=new Map,h=new Map,l=(c)=>{a.set(c,!1);let d=t.get(c)??[];for(s.set(c,d),t.set(c,[]),h.set(c,!0);d.length>0;)d.sort(Ei.sort),d.shift().execute();h.set(c,!1)};ai=(c,d,_=0)=>{let f=Us(c),u=new Ei(d,_),m=t.get(f);return m||(m=[],t.set(f,m)),m.push(u),a.get(f)||(a.set(f,!0),c.requestAnimationFrame(()=>l(f))),u},Go=(c,d,_)=>{let f=Us(c);if(h.get(f)){let u=new Ei(d,_),m=s.get(f);return m||(m=[],s.set(f,m)),m.push(u),u}else return ai(c,d,_)}})();var qs=class t{constructor(s,a){this.width=s,this.height=a}with(s=this.width,a=this.height){return s!==this.width||a!==this.height?new t(s,a):this}static is(s){return typeof s=="object"&&typeof s.height=="number"&&typeof s.width=="number"}static lift(s){return s instanceof t?s:new t(s.width,s.height)}static equals(s,a){return s===a?!0:!s||!a?!1:s.width===a.width&&s.height===a.height}};qs.None=new qs(0,0);function Zo(t){let s=t.getBoundingClientRect(),a=Te(t);return{left:s.left+a.scrollX,top:s.top+a.scrollY,width:s.width,height:s.height}}var Bl=new class{constructor(){this.mutationObservers=new Map}observe(t,s,a){let h=this.mutationObservers.get(t);h||(h=new Map,this.mutationObservers.set(t,h));let l=zo(a),c=h.get(l);if(c)c.users+=1;else{let d=new D,_=new MutationObserver((u)=>d.fire(u));_.observe(t,a);let f=c={users:1,observer:_,onDidMutate:d.event};s.add(G(()=>{f.users-=1,f.users===0&&(d.dispose(),_.disconnect(),h?.delete(l),h?.size===0&&this.mutationObservers.delete(t))})),h.set(l,c)}return c.onDidMutate}},de={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:Qt?"webkitAnimationStart":"animationstart",ANIMATION_END:Qt?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Qt?"webkitAnimationIteration":"animationiteration"},Qo=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function Yr(t,s,a,...h){let l=Qo.exec(s);if(!l)throw Error("Bad use of emmet");let c=l[1]||"div",d;return t!=="http://www.w3.org/1999/xhtml"?d=document.createElementNS(t,c):d=document.createElement(c),l[3]&&(d.id=l[3]),l[4]&&(d.className=l[4].replace(/\./g," ").trim()),a&&Object.entries(a).forEach(([_,f])=>{typeof f>"u"||(/^on\w+$/.test(_)?d[_]=f:_==="selected"?f&&d.setAttribute(_,"true"):d.setAttribute(_,f))}),d.append(...h),d}function ea(t,s,...a){return Yr("http://www.w3.org/1999/xhtml",t,s,...a)}ea.SVG=function(t,s,...a){return Yr("http://www.w3.org/2000/svg",t,s,...a)};var ta=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let s=ye(t);this._maxWidth!==s&&(this._maxWidth=s,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let s=ye(t);this._width!==s&&(this._width=s,this.domNode.style.width=this._width)}setHeight(t){let s=ye(t);this._height!==s&&(this._height=s,this.domNode.style.height=this._height)}setTop(t){let s=ye(t);this._top!==s&&(this._top=s,this.domNode.style.top=this._top)}setLeft(t){let s=ye(t);this._left!==s&&(this._left=s,this.domNode.style.left=this._left)}setBottom(t){let s=ye(t);this._bottom!==s&&(this._bottom=s,this.domNode.style.bottom=this._bottom)}setRight(t){let s=ye(t);this._right!==s&&(this._right=s,this.domNode.style.right=this._right)}setPaddingTop(t){let s=ye(t);this._paddingTop!==s&&(this._paddingTop=s,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let s=ye(t);this._paddingLeft!==s&&(this._paddingLeft=s,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let s=ye(t);this._paddingBottom!==s&&(this._paddingBottom=s,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let s=ye(t);this._paddingRight!==s&&(this._paddingRight=s,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let s=ye(t);this._fontSize!==s&&(this._fontSize=s,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let s=ye(t);this._lineHeight!==s&&(this._lineHeight=s,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let s=ye(t);this._letterSpacing!==s&&(this._letterSpacing=s,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,s){this.domNode.classList.toggle(t,s),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,s){this.domNode.setAttribute(t,s)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function ye(t){return typeof t=="number"?`${t}px`:t}function Ot(t){return new ta(t)}var jr=class{constructor(){this._hooks=new et,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,s){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let a=this._onStopCallback;this._onStopCallback=null,t&&a&&a(s)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,s,a,h,l){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=h,this._onStopCallback=l;let c=t;try{t.setPointerCapture(s),this._hooks.add(G(()=>{try{t.releasePointerCapture(s)}catch{}}))}catch{c=Te(t)}this._hooks.add(H(c,de.POINTER_MOVE,(d)=>{if(d.buttons!==a){this.stopMonitoring(!0);return}d.preventDefault(),this._pointerMoveCallback(d)})),this._hooks.add(H(c,de.POINTER_UP,(d)=>this.stopMonitoring(!0)))}};function ia(t,s,a){let h=null,l=null;if(typeof a.value=="function"?(h="value",l=a.value,l.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof a.get=="function"&&(h="get",l=a.get),!l)throw Error("not supported");let c=`$memoize$${s}`;a[h]=function(...d){return this.hasOwnProperty(c)||Object.defineProperty(this,c,{configurable:!1,enumerable:!1,writable:!1,value:l.apply(this,d)}),this[c]}}var Oe;((t)=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(Oe||={});var Rt=class t extends W{constructor(){super();this.dispatched=!1,this.targets=new Ts,this.ignoreTargets=new Ts,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ge.runAndSubscribe(Vo,({window:s,disposables:a})=>{a.add(H(s.document,"touchstart",(h)=>this.onTouchStart(h),{passive:!1})),a.add(H(s.document,"touchend",(h)=>this.onTouchEnd(s,h))),a.add(H(s.document,"touchmove",(h)=>this.onTouchMove(h),{passive:!1}))},{window:Be,disposables:this._store}))}static addTarget(s){if(!t.isTouchDevice())return W.None;t.INSTANCE||(t.INSTANCE=Ms(new t));let a=t.INSTANCE.targets.push(s);return G(a)}static ignoreTarget(s){if(!t.isTouchDevice())return W.None;t.INSTANCE||(t.INSTANCE=Ms(new t));let a=t.INSTANCE.ignoreTargets.push(s);return G(a)}static isTouchDevice(){return"ontouchstart"in Be||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(s){let a=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let h=0,l=s.targetTouches.length;h<l;h++){let c=s.targetTouches.item(h);this.activeTouches[c.identifier]={id:c.identifier,initialTarget:c.target,initialTimeStamp:a,initialPageX:c.pageX,initialPageY:c.pageY,rollingTimestamps:[a],rollingPageX:[c.pageX],rollingPageY:[c.pageY]};let d=this.newGestureEvent(Oe.Start,c.target);d.pageX=c.pageX,d.pageY=c.pageY,this.dispatchEvent(d)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}onTouchEnd(s,a){let h=Date.now(),l=Object.keys(this.activeTouches).length;for(let c=0,d=a.changedTouches.length;c<d;c++){let _=a.changedTouches.item(c);if(!this.activeTouches.hasOwnProperty(String(_.identifier))){console.warn("move of an UNKNOWN touch",_);continue}let f=this.activeTouches[_.identifier],u=Date.now()-f.initialTimeStamp;if(u<t.HOLD_DELAY&&Math.abs(f.initialPageX-ke(f.rollingPageX))<30&&Math.abs(f.initialPageY-ke(f.rollingPageY))<30){let m=this.newGestureEvent(Oe.Tap,f.initialTarget);m.pageX=ke(f.rollingPageX),m.pageY=ke(f.rollingPageY),this.dispatchEvent(m)}else if(u>=t.HOLD_DELAY&&Math.abs(f.initialPageX-ke(f.rollingPageX))<30&&Math.abs(f.initialPageY-ke(f.rollingPageY))<30){let m=this.newGestureEvent(Oe.Contextmenu,f.initialTarget);m.pageX=ke(f.rollingPageX),m.pageY=ke(f.rollingPageY),this.dispatchEvent(m)}else if(l===1){let m=ke(f.rollingPageX),p=ke(f.rollingPageY),S=ke(f.rollingTimestamps)-f.rollingTimestamps[0],b=m-f.rollingPageX[0],v=p-f.rollingPageY[0],w=[...this.targets].filter((R)=>f.initialTarget instanceof Node&&R.contains(f.initialTarget));this.inertia(s,w,h,Math.abs(b)/S,b>0?1:-1,m,Math.abs(v)/S,v>0?1:-1,p)}this.dispatchEvent(this.newGestureEvent(Oe.End,f.initialTarget)),delete this.activeTouches[_.identifier]}this.dispatched&&(a.preventDefault(),a.stopPropagation(),this.dispatched=!1)}newGestureEvent(s,a){let h=document.createEvent("CustomEvent");return h.initEvent(s,!1,!0),h.initialTarget=a,h.tapCount=0,h}dispatchEvent(s){if(s.type===Oe.Tap){let a=new Date().getTime(),h=0;a-this._lastSetTapCountTime>t.CLEAR_TAP_COUNT_TIME?h=1:h=2,this._lastSetTapCountTime=a,s.tapCount=h}else(s.type===Oe.Change||s.type===Oe.Contextmenu)&&(this._lastSetTapCountTime=0);if(s.initialTarget instanceof Node){for(let h of this.ignoreTargets)if(h.contains(s.initialTarget))return;let a=[];for(let h of this.targets)if(h.contains(s.initialTarget)){let l=0,c=s.initialTarget;for(;c&&c!==h;)l++,c=c.parentElement;a.push([l,h])}a.sort((h,l)=>h[0]-l[0]);for(let[h,l]of a)l.dispatchEvent(s),this.dispatched=!0}}inertia(s,a,h,l,c,d,_,f,u){this.handle=ai(s,()=>{let m=Date.now(),p=m-h,S=0,b=0,v=!0;l+=t.SCROLL_FRICTION*p,_+=t.SCROLL_FRICTION*p,l>0&&(v=!1,S=c*l*p),_>0&&(v=!1,b=f*_*p);let w=this.newGestureEvent(Oe.Change);w.translationX=S,w.translationY=b,a.forEach((R)=>R.dispatchEvent(w)),v||this.inertia(s,a,m,l,c,d+S,_,f,u+b)})}onTouchMove(s){let a=Date.now();for(let h=0,l=s.changedTouches.length;h<l;h++){let c=s.changedTouches.item(h);if(!this.activeTouches.hasOwnProperty(String(c.identifier))){console.warn("end of an UNKNOWN touch",c);continue}let d=this.activeTouches[c.identifier],_=this.newGestureEvent(Oe.Change,d.initialTarget);_.translationX=c.pageX-ke(d.rollingPageX),_.translationY=c.pageY-ke(d.rollingPageY),_.pageX=c.pageX,_.pageY=c.pageY,this.dispatchEvent(_),d.rollingPageX.length>3&&(d.rollingPageX.shift(),d.rollingPageY.shift(),d.rollingTimestamps.shift()),d.rollingPageX.push(c.pageX),d.rollingPageY.push(c.pageY),d.rollingTimestamps.push(a)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}};Rt.SCROLL_FRICTION=-0.005,Rt.HOLD_DELAY=700,Rt.CLEAR_TAP_COUNT_TIME=400,te([ia],Rt,"isTouchDevice",1);var sa=Rt,Ss=class extends W{onclick(t,s){this._register(H(t,de.CLICK,(a)=>s(new Bt(Te(t),a))))}onmousedown(t,s){this._register(H(t,de.MOUSE_DOWN,(a)=>s(new Bt(Te(t),a))))}onmouseover(t,s){this._register(H(t,de.MOUSE_OVER,(a)=>s(new Bt(Te(t),a))))}onmouseleave(t,s){this._register(H(t,de.MOUSE_LEAVE,(a)=>s(new Bt(Te(t),a))))}onkeydown(t,s){this._register(H(t,de.KEY_DOWN,(a)=>s(new Yi(a))))}onkeyup(t,s){this._register(H(t,de.KEY_UP,(a)=>s(new Yi(a))))}oninput(t,s){this._register(H(t,de.INPUT,s))}onblur(t,s){this._register(H(t,de.BLUR,s))}onfocus(t,s){this._register(H(t,de.FOCUS,s))}onchange(t,s){this._register(H(t,de.CHANGE,s))}ignoreGesture(t){return sa.ignoreTarget(t)}},Vs=11,ra=class extends Ss{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=Vs+"px",this.domNode.style.height=Vs+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new jr),this._register(Ks(this.bgDomNode,de.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._register(Ks(this.domNode,de.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._pointerdownRepeatTimer=this._register(new Jo),this._pointerdownScheduleRepeatTimer=this._register(new ms)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let s=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,Te(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(s,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(a)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},na=class t{constructor(s,a,h,l,c,d,_){this._forceIntegerValues=s,this._scrollStateBrand=void 0,this._forceIntegerValues&&(a=a|0,h=h|0,l=l|0,c=c|0,d=d|0,_=_|0),this.rawScrollLeft=l,this.rawScrollTop=_,a<0&&(a=0),l+a>h&&(l=h-a),l<0&&(l=0),c<0&&(c=0),_+c>d&&(_=d-c),_<0&&(_=0),this.width=a,this.scrollWidth=h,this.scrollLeft=l,this.height=c,this.scrollHeight=d,this.scrollTop=_}equals(s){return this.rawScrollLeft===s.rawScrollLeft&&this.rawScrollTop===s.rawScrollTop&&this.width===s.width&&this.scrollWidth===s.scrollWidth&&this.scrollLeft===s.scrollLeft&&this.height===s.height&&this.scrollHeight===s.scrollHeight&&this.scrollTop===s.scrollTop}withScrollDimensions(s,a){return new t(this._forceIntegerValues,typeof s.width<"u"?s.width:this.width,typeof s.scrollWidth<"u"?s.scrollWidth:this.scrollWidth,a?this.rawScrollLeft:this.scrollLeft,typeof s.height<"u"?s.height:this.height,typeof s.scrollHeight<"u"?s.scrollHeight:this.scrollHeight,a?this.rawScrollTop:this.scrollTop)}withScrollPosition(s){return new t(this._forceIntegerValues,this.width,this.scrollWidth,typeof s.scrollLeft<"u"?s.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof s.scrollTop<"u"?s.scrollTop:this.rawScrollTop)}createScrollEvent(s,a){let h=this.width!==s.width,l=this.scrollWidth!==s.scrollWidth,c=this.scrollLeft!==s.scrollLeft,d=this.height!==s.height,_=this.scrollHeight!==s.scrollHeight,f=this.scrollTop!==s.scrollTop;return{inSmoothScrolling:a,oldWidth:s.width,oldScrollWidth:s.scrollWidth,oldScrollLeft:s.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:s.height,oldScrollHeight:s.scrollHeight,oldScrollTop:s.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:h,scrollWidthChanged:l,scrollLeftChanged:c,heightChanged:d,scrollHeightChanged:_,scrollTopChanged:f}}},oa=class extends W{constructor(t){super();this._scrollableBrand=void 0,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new na(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,s){let a=this._state.withScrollDimensions(t,s);this._setState(a,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let s=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(s,!1)}setScrollPositionSmooth(t,s){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let a=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===a.scrollLeft&&this._smoothScrolling.to.scrollTop===a.scrollTop)return;let h;s?h=new js(this._smoothScrolling.from,a,this._smoothScrolling.startTime,this._smoothScrolling.duration):h=this._smoothScrolling.combine(this._state,a,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=h}else{let a=this._state.withScrollPosition(t);this._smoothScrolling=js.start(this._state,a,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),s=this._state.withScrollPosition(t);if(this._setState(s,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,s){let a=this._state;a.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(a,s)))}},Ys=class{constructor(t,s,a){this.scrollLeft=t,this.scrollTop=s,this.isDone=a}};function Di(t,s){let a=s-t;return function(h){return t+a*la(h)}}function aa(t,s,a){return function(h){return h<a?t(h/a):s((h-a)/(1-a))}}var js=class t{constructor(s,a,h,l){this.from=s,this.to=a,this.duration=l,this.startTime=h,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(s,a,h){if(Math.abs(s-a)>2.5*h){let l,c;return s<a?(l=s+0.75*h,c=a-0.75*h):(l=s-0.75*h,c=a+0.75*h),aa(Di(s,l),Di(c,a),0.33)}return Di(s,a)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(s){this.to=s.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(s){let a=(s-this.startTime)/this.duration;if(a<1){let h=this.scrollLeft(a),l=this.scrollTop(a);return new Ys(h,l,!1)}return new Ys(this.to.scrollLeft,this.to.scrollTop,!0)}combine(s,a,h){return t.start(s,a,h)}static start(s,a,h){h=h+10;let l=Date.now()-10;return new t(s,a,l,h)}};function ha(t){return Math.pow(t,3)}function la(t){return 1-ha(1-t)}var ca=class extends W{constructor(t,s,a){super(),this._visibility=t,this._visibleClassName=s,this._invisibleClassName=a,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new ms)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?" fade":"")))}},da=140,Xr=class extends Ss{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new ca(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new jr),this._shouldRender=!0,this.domNode=Ot(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(H(this.domNode.domNode,de.POINTER_DOWN,(s)=>this._domNodePointerDown(s)))}_createArrow(t){let s=this._register(new ra(t));this.domNode.domNode.appendChild(s.bgDomNode),this.domNode.domNode.appendChild(s.domNode)}_createSlider(t,s,a,h){this.slider=Ot(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(s),typeof a=="number"&&this.slider.setWidth(a),typeof h=="number"&&this.slider.setHeight(h),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(H(this.slider.domNode,de.POINTER_DOWN,(l)=>{l.button===0&&(l.preventDefault(),this._sliderPointerDown(l))})),this.onclick(this.slider.domNode,(l)=>{l.leftButton&&l.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let s=this.domNode.domNode.getClientRects()[0].top,a=s+this._scrollbarState.getSliderPosition(),h=s+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),l=this._sliderPointerPosition(t);a<=l&&l<=h?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let s,a;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")s=t.offsetX,a=t.offsetY;else{let l=Zo(this.domNode.domNode);s=t.pageX-l.left,a=t.pageY-l.top}let h=this._pointerDownRelativePosition(s,a);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(h):this._scrollbarState.getDesiredScrollPositionFromOffset(h)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let s=this._sliderPointerPosition(t),a=this._sliderOrthogonalPointerPosition(t),h=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(l)=>{let c=this._sliderOrthogonalPointerPosition(l),d=Math.abs(c-a);if(Ur&&d>da){this._setDesiredScrollPositionNow(h.getScrollPosition());return}let _=this._sliderPointerPosition(l)-s;this._setDesiredScrollPositionNow(h.getDesiredScrollPositionFromDelta(_))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let s={};this.writeScrollPosition(s,t),this._scrollable.setScrollPositionNow(s)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Gr=class t{constructor(s,a,h,l,c,d){this._scrollbarSize=Math.round(a),this._oppositeScrollbarSize=Math.round(h),this._arrowSize=Math.round(s),this._visibleSize=l,this._scrollSize=c,this._scrollPosition=d,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new t(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(s){let a=Math.round(s);return this._visibleSize!==a?(this._visibleSize=a,this._refreshComputedValues(),!0):!1}setScrollSize(s){let a=Math.round(s);return this._scrollSize!==a?(this._scrollSize=a,this._refreshComputedValues(),!0):!1}setScrollPosition(s){let a=Math.round(s);return this._scrollPosition!==a?(this._scrollPosition=a,this._refreshComputedValues(),!0):!1}setScrollbarSize(s){this._scrollbarSize=Math.round(s)}setOppositeScrollbarSize(s){this._oppositeScrollbarSize=Math.round(s)}static _computeValues(s,a,h,l,c){let d=Math.max(0,h-s),_=Math.max(0,d-2*a),f=l>0&&l>h;if(!f)return{computedAvailableSize:Math.round(d),computedIsNeeded:f,computedSliderSize:Math.round(_),computedSliderRatio:0,computedSliderPosition:0};let u=Math.round(Math.max(20,Math.floor(h*_/l))),m=(_-u)/(l-h),p=c*m;return{computedAvailableSize:Math.round(d),computedIsNeeded:f,computedSliderSize:Math.round(u),computedSliderRatio:m,computedSliderPosition:Math.round(p)}}_refreshComputedValues(){let s=t._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=s.computedAvailableSize,this._computedIsNeeded=s.computedIsNeeded,this._computedSliderSize=s.computedSliderSize,this._computedSliderRatio=s.computedSliderRatio,this._computedSliderPosition=s.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize-this._computedSliderSize/2;return Math.round(a/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize,h=this._scrollPosition;return a<this._computedSliderPosition?h-=this._visibleSize:h+=this._visibleSize,h}getDesiredScrollPositionFromDelta(s){if(!this._computedIsNeeded)return 0;let a=this._computedSliderPosition+s;return Math.round(a/this._computedSliderRatio)}},ua=class extends Xr{constructor(t,s,a){let h=t.getScrollDimensions(),l=t.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.horizontalHasArrows?s.arrowSize:0,s.horizontal===2?0:s.horizontalScrollbarSize,s.vertical===2?0:s.verticalScrollbarSize,h.width,h.scrollWidth,l.scrollLeft),visibility:s.horizontal,extraScrollbarClassName:"horizontal",scrollable:t,scrollByPage:s.scrollByPage}),s.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((s.horizontalScrollbarSize-s.horizontalSliderSize)/2),0,void 0,s.horizontalSliderSize)}_updateSlider(t,s){this.slider.setWidth(t),this.slider.setLeft(s)}_renderDomNode(t,s){this.domNode.setWidth(t),this.domNode.setHeight(s),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,s){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,s){t.scrollLeft=s}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}},_a=class extends Xr{constructor(t,s,a){let h=t.getScrollDimensions(),l=t.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.verticalHasArrows?s.arrowSize:0,s.vertical===2?0:s.verticalScrollbarSize,0,h.height,h.scrollHeight,l.scrollTop),visibility:s.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:s.scrollByPage}),s.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((s.verticalScrollbarSize-s.verticalSliderSize)/2),s.verticalSliderSize,void 0)}_updateSlider(t,s){this.slider.setHeight(t),this.slider.setTop(s)}_renderDomNode(t,s){this.domNode.setWidth(s),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,s){return s}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,s){t.scrollTop=s}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}},fa=500,Xs=50,Gs=!0,pa=class{constructor(t,s,a){this.timestamp=t,this.deltaX=s,this.deltaY=a,this.score=0}},ji=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let s=1,a=0,h=1,l=this._rear;do{let c=l===this._front?s:Math.pow(2,-h);if(s-=c,a+=this._memory[l].score*c,l===this._front)break;l=(this._capacity+l-1)%this._capacity,h++}while(!0);return a<=0.5}acceptStandardWheelEvent(s){if(ps){let a=Te(s.browserEvent),h=ao(a);this.accept(Date.now(),s.deltaX*h,s.deltaY*h)}else this.accept(Date.now(),s.deltaX,s.deltaY)}accept(s,a,h){let l=null,c=new pa(s,a,h);this._front===-1&&this._rear===-1?(this._memory[0]=c,this._front=0,this._rear=0):(l=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=c),c.score=this._computeScore(c,l)}_computeScore(s,a){if(Math.abs(s.deltaX)>0&&Math.abs(s.deltaY)>0)return 1;let h=0.5;if((!this._isAlmostInt(s.deltaX)||!this._isAlmostInt(s.deltaY))&&(h+=0.25),a){let l=Math.abs(s.deltaX),c=Math.abs(s.deltaY),d=Math.abs(a.deltaX),_=Math.abs(a.deltaY),f=Math.max(Math.min(l,d),1),u=Math.max(Math.min(c,_),1),m=Math.max(l,d),p=Math.max(c,_);m%f===0&&p%u===0&&(h-=0.5)}return Math.min(Math.max(h,0),1)}_isAlmostInt(s){return Math.abs(Math.round(s)-s)<0.01}};ji.INSTANCE=new ji;var ga=ji,ma=class extends Ss{constructor(t,s,a){super();this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new D),this.onWillScroll=this._onWillScroll.event,this._options=Sa(s),this._scrollable=a,this._register(this._scrollable.onScroll((l)=>{this._onWillScroll.fire(l),this._onDidScroll(l),this._onScroll.fire(l)}));let h={onMouseWheel:(l)=>this._onMouseWheel(l),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new _a(this._scrollable,this._options,h)),this._horizontalScrollbar=this._register(new ua(this._scrollable,this._options,h)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Ot(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Ot(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Ot(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(l)=>this._onMouseOver(l)),this.onmouseleave(this._listenOnDomNode,(l)=>this._onMouseLeave(l)),this._hideTimeout=this._register(new ms),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=lt(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,Ie&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new Ws(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=lt(this._mouseWheelToDispose),t)){let s=(a)=>{this._onMouseWheel(new Ws(a))};this._mouseWheelToDispose.push(H(this._listenOnDomNode,de.MOUSE_WHEEL,s,{passive:!1}))}}_onMouseWheel(t){if(t.browserEvent?.defaultPrevented)return;let s=ga.INSTANCE;Gs&&s.acceptStandardWheelEvent(t);let a=!1;if(t.deltaY||t.deltaX){let l=t.deltaY*this._options.mouseWheelScrollSensitivity,c=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&c+l===0?c=l=0:Math.abs(l)>=Math.abs(c)?c=0:l=0),this._options.flipAxes&&([l,c]=[c,l]);let d=!Ie&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||d)&&!c&&(c=l,l=0),t.browserEvent&&t.browserEvent.altKey&&(c=c*this._options.fastScrollSensitivity,l=l*this._options.fastScrollSensitivity);let _=this._scrollable.getFutureScrollPosition(),f={};if(l){let u=Xs*l,m=_.scrollTop-(u<0?Math.floor(u):Math.ceil(u));this._verticalScrollbar.writeScrollPosition(f,m)}if(c){let u=Xs*c,m=_.scrollLeft-(u<0?Math.floor(u):Math.ceil(u));this._horizontalScrollbar.writeScrollPosition(f,m)}f=this._scrollable.validateScrollPosition(f),(_.scrollLeft!==f.scrollLeft||_.scrollTop!==f.scrollTop)&&(Gs&&this._options.mouseWheelSmoothScroll&&s.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(f):this._scrollable.setScrollPositionNow(f),a=!0)}let h=a;!h&&this._options.alwaysConsumeMouseWheel&&(h=!0),!h&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(h=!0),h&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let t=this._scrollable.getCurrentScrollPosition(),s=t.scrollTop>0,a=t.scrollLeft>0,h=a?" left":"",l=s?" top":"",c=a||s?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${h}`),this._topShadowDomNode.setClassName(`shadow${l}`),this._topLeftShadowDomNode.setClassName(`shadow${c}${l}${h}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),fa)}},va=class extends ma{constructor(t,s,a){super(t,s,a)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Sa(t){let s={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return s.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:s.horizontalScrollbarSize,s.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:s.verticalScrollbarSize,Ie&&(s.className+=" mac"),s}var Xi=class extends W{constructor(t,s,a,h,l,c,d,_){super();this._bufferService=a,this._optionsService=d,this._renderService=_,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let f=this._register(new oa({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:(u)=>ai(h.window,u)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{f.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new va(s,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},f)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(l.onProtocolChange((u)=>{this._scrollableElement.updateOptions({handleMouseWheel:!(u&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ge.runAndSubscribe(c.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=c.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(G(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=h.mainDocument.createElement("style"),s.appendChild(this._styleElement),this._register(G(()=>this._styleElement.remove())),this._register(ge.runAndSubscribe(c.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${c.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${c.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${c.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
30
30
  `)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll((u)=>this._handleScroll(u)))}scrollLines(t){let s=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:s.scrollTop+t*this._renderService.dimensions.css.cell.height})}scrollToLine(t,s){s&&(this._latestYDisp=t),this._scrollableElement.setScrollPosition({reuseAnimation:!s,scrollTop:t*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(t){t!==void 0&&(this._latestYDisp=t),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(t=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,t!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:t*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(t){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let s=Math.round(t.scrollTop/this._renderService.dimensions.css.cell.height),a=s-this._bufferService.buffer.ydisp;a!==0&&(this._latestYDisp=s,this._onRequestScrollLines.fire(a)),this._isHandlingScroll=!1}};Xi=te([M(2,Se),M(3,Ue),M(4,Lr),M(5,gt),M(6,be),M(7,Ke)],Xi);var Gi=class extends W{constructor(t,s,a,h,l){super();this._screenElement=t,this._bufferService=s,this._coreBrowserService=a,this._decorationService=h,this._renderService=l,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved((c)=>this._removeDecoration(c))),this._register(G(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let t of this._decorationService.decorations)this._renderDecoration(t);this._dimensionsChanged=!1}_renderDecoration(t){this._refreshStyle(t),this._dimensionsChanged&&this._refreshXPosition(t)}_createElement(t){let s=this._coreBrowserService.mainDocument.createElement("div");s.classList.add("xterm-decoration"),s.classList.toggle("xterm-decoration-top-layer",t?.options?.layer==="top"),s.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${(t.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let a=t.options.x??0;return a&&a>this._bufferService.cols&&(s.style.display="none"),this._refreshXPosition(t,s),s}_refreshStyle(t){let s=t.marker.line-this._bufferService.buffers.active.ydisp;if(s<0||s>=this._bufferService.rows)t.element&&(t.element.style.display="none",t.onRenderEmitter.fire(t.element));else{let a=this._decorationElements.get(t);a||(a=this._createElement(t),t.element=a,this._decorationElements.set(t,a),this._container.appendChild(a),t.onDispose(()=>{this._decorationElements.delete(t),a.remove()})),a.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(a.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,a.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,a.style.top=`${s*this._renderService.dimensions.css.cell.height}px`,a.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),t.onRenderEmitter.fire(a)}}_refreshXPosition(t,s=t.element){if(!s)return;let a=t.options.x??0;(t.options.anchor||"left")==="right"?s.style.right=a?`${a*this._renderService.dimensions.css.cell.width}px`:"":s.style.left=a?`${a*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(t){this._decorationElements.get(t)?.remove(),this._decorationElements.delete(t),t.dispose()}};Gi=te([M(1,Se),M(2,Ue),M(3,Ft),M(4,Ke)],Gi);var ba=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let s of this._zones)if(s.color===t.options.overviewRulerOptions.color&&s.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(s,t.marker.line))return;if(this._lineAdjacentToZone(s,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(s,t.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=t.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=t.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=t.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=t.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:t.options.overviewRulerOptions.color,position:t.options.overviewRulerOptions.position,startBufferLine:t.marker.line,endBufferLine:t.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(t){this._linePadding=t}_lineIntersectsZone(t,s){return s>=t.startBufferLine&&s<=t.endBufferLine}_lineAdjacentToZone(t,s,a){return s>=t.startBufferLine-this._linePadding[a||"full"]&&s<=t.endBufferLine+this._linePadding[a||"full"]}_addLineToZone(t,s){t.startBufferLine=Math.min(t.startBufferLine,s),t.endBufferLine=Math.max(t.endBufferLine,s)}},Pe={full:0,left:0,center:0,right:0},Ge={full:0,left:0,center:0,right:0},yt={full:0,left:0,center:0,right:0},hi=class extends W{constructor(t,s,a,h,l,c,d,_){super();this._viewportElement=t,this._screenElement=s,this._bufferService=a,this._decorationService=h,this._renderService=l,this._optionsService=c,this._themeService=d,this._coreBrowserService=_,this._colorZoneStore=new ba,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(G(()=>this._canvas?.remove()));let f=this._canvas.getContext("2d");if(f)this._ctx=f;else throw Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let t=Math.floor((this._canvas.width-1)/3),s=Math.ceil((this._canvas.width-1)/3);Ge.full=this._canvas.width,Ge.left=t,Ge.center=s,Ge.right=t,this._refreshDrawHeightConstants(),yt.full=1,yt.left=1,yt.center=1+Ge.left,yt.right=1+Ge.left+Ge.center}_refreshDrawHeightConstants(){Pe.full=Math.round(2*this._coreBrowserService.dpr);let t=this._canvas.height/this._bufferService.buffer.lines.length,s=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);Pe.left=s,Pe.center=s,Pe.right=s}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let s of this._decorationService.decorations)this._colorZoneStore.addDecoration(s);this._ctx.lineWidth=1,this._renderRulerOutline();let t=this._colorZoneStore.zones;for(let s of t)s.position!=="full"&&this._renderColorZone(s);for(let s of t)s.position==="full"&&this._renderColorZone(s);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(yt[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-Pe[t.position||"full"]/2),Ge[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+Pe[t.position||"full"]))}_queueRefresh(t,s){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=s||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};hi=te([M(2,Se),M(3,Ft),M(4,Ke),M(5,be),M(6,gt),M(7,Ue)],hi);var C;((t)=>(t.NUL="\x00",t.SOH="\x01",t.STX="\x02",t.ETX="\x03",t.EOT="\x04",t.ENQ="\x05",t.ACK="\x06",t.BEL="\x07",t.BS="\b",t.HT="\t",t.LF=`
31
- `,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="\x0E",t.SI="\x0F",t.DLE="\x10",t.DC1="\x11",t.DC2="\x12",t.DC3="\x13",t.DC4="\x14",t.NAK="\x15",t.SYN="\x16",t.ETB="\x17",t.CAN="\x18",t.EM="\x19",t.SUB="\x1A",t.ESC="\x1B",t.FS="\x1C",t.GS="\x1D",t.RS="\x1E",t.US="\x1F",t.SP=" ",t.DEL=""))(C||={});var ii;((t)=>(t.PAD="€",t.HOP="",t.BPH="‚",t.NBH="ƒ",t.IND="„",t.NEL="…",t.SSA="†",t.ESA="‡",t.HTS="ˆ",t.HTJ="‰",t.VTS="Š",t.PLD="‹",t.PLU="Œ",t.RI="",t.SS2="Ž",t.SS3="",t.DCS="",t.PU1="‘",t.PU2="’",t.STS="“",t.CCH="”",t.MW="•",t.SPA="–",t.EPA="—",t.SOS="˜",t.SGCI="™",t.SCI="š",t.CSI="›",t.ST="œ",t.OSC="",t.PM="ž",t.APC="Ÿ"))(ii||={});var Jr;((t)=>t.ST=`${C.ESC}\\`)(Jr||={});var Ji=class{constructor(t,s,a,h,l,c){this._textarea=t,this._compositionView=s,this._bufferService=a,this._optionsService=h,this._coreService=l,this._renderService=c,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let s={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let a;s.start+=this._dataAlreadySent.length,this._isComposing?a=this._textarea.value.substring(s.start,this._compositionPosition.start):a=this._textarea.value.substring(s.start),a.length>0&&this._coreService.triggerDataEvent(a,!0)}},0)}else{this._isSendingComposition=!1;let s=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(s,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let s=this._textarea.value,a=s.replace(t,"");this._dataAlreadySent=a,s.length>t.length?this._coreService.triggerDataEvent(a,!0):s.length<t.length?this._coreService.triggerDataEvent(`${C.DEL}`,!0):s.length===t.length&&s!==t&&this._coreService.triggerDataEvent(s,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),a=this._renderService.dimensions.css.cell.height,h=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,l=s*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=l+"px",this._compositionView.style.top=h+"px",this._compositionView.style.height=a+"px",this._compositionView.style.lineHeight=a+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let c=this._compositionView.getBoundingClientRect();this._textarea.style.left=l+"px",this._textarea.style.top=h+"px",this._textarea.style.width=Math.max(c.width,1)+"px",this._textarea.style.height=Math.max(c.height,1)+"px",this._textarea.style.lineHeight=c.height+"px"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Ji=te([M(2,Se),M(3,be),M(4,ut),M(5,Ke)],Ji);var ue=0,_e=0,fe=0,ee=0,Js={css:"#00000000",rgba:0},ne;((t)=>{function s(l,c,d,_){return _!==void 0?`#${nt(l)}${nt(c)}${nt(d)}${nt(_)}`:`#${nt(l)}${nt(c)}${nt(d)}`}t.toCss=s;function a(l,c,d,_=255){return(l<<24|c<<16|d<<8|_)>>>0}t.toRgba=a;function h(l,c,d,_){return{css:t.toCss(l,c,d,_),rgba:t.toRgba(l,c,d,_)}}t.toColor=h})(ne||={});var j;((t)=>{function s(f,u){if(ee=(u.rgba&255)/255,ee===1)return{css:u.css,rgba:u.rgba};let m=u.rgba>>24&255,p=u.rgba>>16&255,S=u.rgba>>8&255,b=f.rgba>>24&255,v=f.rgba>>16&255,w=f.rgba>>8&255;ue=b+Math.round((m-b)*ee),_e=v+Math.round((p-v)*ee),fe=w+Math.round((S-w)*ee);let R=ne.toCss(ue,_e,fe),P=ne.toRgba(ue,_e,fe);return{css:R,rgba:P}}t.blend=s;function a(f){return(f.rgba&255)===255}t.isOpaque=a;function h(f,u,m){let p=si.ensureContrastRatio(f.rgba,u.rgba,m);if(p)return ne.toColor(p>>24&255,p>>16&255,p>>8&255)}t.ensureContrastRatio=h;function l(f){let u=(f.rgba|255)>>>0;return[ue,_e,fe]=si.toChannels(u),{css:ne.toCss(ue,_e,fe),rgba:u}}t.opaque=l;function c(f,u){return ee=Math.round(u*255),[ue,_e,fe]=si.toChannels(f.rgba),{css:ne.toCss(ue,_e,fe,ee),rgba:ne.toRgba(ue,_e,fe,ee)}}t.opacity=c;function d(f,u){return ee=f.rgba&255,c(f,ee*u/255)}t.multiplyOpacity=d;function _(f){return[f.rgba>>24&255,f.rgba>>16&255,f.rgba>>8&255]}t.toColorRGB=_})(j||={});var Q;((t)=>{let s,a;try{let l=document.createElement("canvas");l.width=1,l.height=1;let c=l.getContext("2d",{willReadFrequently:!0});c&&(s=c,s.globalCompositeOperation="copy",a=s.createLinearGradient(0,0,1,1))}catch{}function h(l){if(l.match(/#[\da-f]{3,8}/i))switch(l.length){case 4:return ue=parseInt(l.slice(1,2).repeat(2),16),_e=parseInt(l.slice(2,3).repeat(2),16),fe=parseInt(l.slice(3,4).repeat(2),16),ne.toColor(ue,_e,fe);case 5:return ue=parseInt(l.slice(1,2).repeat(2),16),_e=parseInt(l.slice(2,3).repeat(2),16),fe=parseInt(l.slice(3,4).repeat(2),16),ee=parseInt(l.slice(4,5).repeat(2),16),ne.toColor(ue,_e,fe,ee);case 7:return{css:l,rgba:(parseInt(l.slice(1),16)<<8|255)>>>0};case 9:return{css:l,rgba:parseInt(l.slice(1),16)>>>0}}let c=l.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(c)return ue=parseInt(c[1]),_e=parseInt(c[2]),fe=parseInt(c[3]),ee=Math.round((c[5]===void 0?1:parseFloat(c[5]))*255),ne.toColor(ue,_e,fe,ee);if(!s||!a)throw Error("css.toColor: Unsupported css format");if(s.fillStyle=a,s.fillStyle=l,typeof s.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(s.fillRect(0,0,1,1),[ue,_e,fe,ee]=s.getImageData(0,0,1,1).data,ee!==255)throw Error("css.toColor: Unsupported css format");return{rgba:ne.toRgba(ue,_e,fe,ee),css:l}}t.toColor=h})(Q||={});var ve;((t)=>{function s(h){return a(h>>16&255,h>>8&255,h&255)}t.relativeLuminance=s;function a(h,l,c){let d=h/255,_=l/255,f=c/255,u=d<=0.03928?d/12.92:Math.pow((d+0.055)/1.055,2.4),m=_<=0.03928?_/12.92:Math.pow((_+0.055)/1.055,2.4),p=f<=0.03928?f/12.92:Math.pow((f+0.055)/1.055,2.4);return u*0.2126+m*0.7152+p*0.0722}t.relativeLuminance2=a})(ve||={});var si;((t)=>{function s(d,_){if(ee=(_&255)/255,ee===1)return _;let f=_>>24&255,u=_>>16&255,m=_>>8&255,p=d>>24&255,S=d>>16&255,b=d>>8&255;return ue=p+Math.round((f-p)*ee),_e=S+Math.round((u-S)*ee),fe=b+Math.round((m-b)*ee),ne.toRgba(ue,_e,fe)}t.blend=s;function a(d,_,f){let u=ve.relativeLuminance(d>>8),m=ve.relativeLuminance(_>>8);if(We(u,m)<f){if(m<u){let b=h(d,_,f),v=We(u,ve.relativeLuminance(b>>8));if(v<f){let w=l(d,_,f),R=We(u,ve.relativeLuminance(w>>8));return v>R?b:w}return b}let p=l(d,_,f),S=We(u,ve.relativeLuminance(p>>8));if(S<f){let b=h(d,_,f),v=We(u,ve.relativeLuminance(b>>8));return S>v?p:b}return p}}t.ensureContrastRatio=a;function h(d,_,f){let u=d>>24&255,m=d>>16&255,p=d>>8&255,S=_>>24&255,b=_>>16&255,v=_>>8&255,w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));for(;w<f&&(S>0||b>0||v>0);)S-=Math.max(0,Math.ceil(S*0.1)),b-=Math.max(0,Math.ceil(b*0.1)),v-=Math.max(0,Math.ceil(v*0.1)),w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));return(S<<24|b<<16|v<<8|255)>>>0}t.reduceLuminance=h;function l(d,_,f){let u=d>>24&255,m=d>>16&255,p=d>>8&255,S=_>>24&255,b=_>>16&255,v=_>>8&255,w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));for(;w<f&&(S<255||b<255||v<255);)S=Math.min(255,S+Math.ceil((255-S)*0.1)),b=Math.min(255,b+Math.ceil((255-b)*0.1)),v=Math.min(255,v+Math.ceil((255-v)*0.1)),w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));return(S<<24|b<<16|v<<8|255)>>>0}t.increaseLuminance=l;function c(d){return[d>>24&255,d>>16&255,d>>8&255,d&255]}t.toChannels=c})(si||={});function nt(t){let s=t.toString(16);return s.length<2?"0"+s:s}function We(t,s){return t<s?(s+0.05)/(t+0.05):(t+0.05)/(s+0.05)}var wa=class extends zt{constructor(t,s,a){super();this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=s,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},li=class{constructor(t){this._bufferService=t,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Me}register(t){let s={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(s),s.id}deregister(t){for(let s=0;s<this._characterJoiners.length;s++)if(this._characterJoiners[s].id===t)return this._characterJoiners.splice(s,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let s=this._bufferService.buffer.lines.get(t);if(!s||s.length===0)return[];let a=[],h=s.translateToString(!0),l=0,c=0,d=0,_=s.getFg(0),f=s.getBg(0);for(let u=0;u<s.getTrimmedLength();u++)if(s.loadCell(u,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==_||this._workCell.bg!==f){if(u-l>1){let m=this._getJoinedRanges(h,d,c,s,l);for(let p=0;p<m.length;p++)a.push(m[p])}l=u,d=c,_=this._workCell.fg,f=this._workCell.bg}c+=this._workCell.getChars().length||Qe.length}if(this._bufferService.cols-l>1){let u=this._getJoinedRanges(h,d,c,s,l);for(let m=0;m<u.length;m++)a.push(u[m])}return a}_getJoinedRanges(t,s,a,h,l){let c=t.substring(s,a),d=[];try{d=this._characterJoiners[0].handler(c)}catch(_){console.error(_)}for(let _=1;_<this._characterJoiners.length;_++)try{let f=this._characterJoiners[_].handler(c);for(let u=0;u<f.length;u++)li._mergeRanges(d,f[u])}catch(f){console.error(f)}return this._stringRangesToCellRanges(d,h,l),d}_stringRangesToCellRanges(t,s,a){let h=0,l=!1,c=0,d=t[h];if(d){for(let _=a;_<this._bufferService.cols;_++){let f=s.getWidth(_),u=s.getString(_).length||Qe.length;if(f!==0){if(!l&&d[0]<=c&&(d[0]=_,l=!0),d[1]<=c){if(d[1]=_,d=t[++h],!d)break;d[0]<=c?(d[0]=_,l=!0):l=!1}c+=u}}d&&(d[1]=this._bufferService.cols)}}static _mergeRanges(t,s){let a=!1;for(let h=0;h<t.length;h++){let l=t[h];if(a){if(s[1]<=l[0])return t[h-1][1]=s[1],t;if(s[1]<=l[1])return t[h-1][1]=Math.max(s[1],l[1]),t.splice(h,1),t;t.splice(h,1),h--}else{if(s[1]<=l[0])return t.splice(h,0,s),t;if(s[1]<=l[1])return l[0]=Math.min(s[0],l[0]),t;s[0]<l[1]&&(l[0]=Math.min(s[0],l[0]),a=!0);continue}}return a?t[t.length-1][1]=s[1]:t.push(s),t}};li=te([M(0,Se)],li);function ya(t){return 57508<=t&&t<=57558}function Ca(t){return 9472<=t&&t<=9631}function xa(t){return ya(t)||Ca(t)}function ka(){return{css:{canvas:Vt(),cell:Vt()},device:{canvas:Vt(),cell:Vt(),char:{width:0,height:0,left:0,top:0}}}}function Vt(){return{width:0,height:0}}var Zi=class{constructor(t,s,a,h,l,c,d){this._document=t,this._characterJoinerService=s,this._optionsService=a,this._coreBrowserService=h,this._coreService=l,this._decorationService=c,this._themeService=d,this._workCell=new Me,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(t,s,a){this._selectionStart=t,this._selectionEnd=s,this._columnSelectMode=a}createRow(t,s,a,h,l,c,d,_,f,u,m){let p=[],S=this._characterJoinerService.getJoinedCharacters(s),b=this._themeService.colors,v=t.getNoBgTrimmedLength();a&&v<c+1&&(v=c+1);let w,R=0,P="",U=0,I=0,E=0,A=0,N=!1,J=0,Ce=!1,we=0,it=0,V=[],vt=u!==-1&&m!==-1;for(let k=0;k<v;k++){t.loadCell(k,this._workCell);let x=this._workCell.getWidth();if(x===0)continue;let T=!1,L=k>=it,O=k,B=this._workCell;if(S.length>0&&k===S[0][0]&&L){let K=S.shift(),Si=this._isCellInSelection(K[0],s);for(U=K[0]+1;U<K[1];U++)L&&=Si===this._isCellInSelection(U,s);L&&=!a||c<K[0]||c>=K[1],L?(T=!0,B=new wa(this._workCell,t.translateToString(!0,K[0],K[1]),K[1]-K[0]),O=K[1]-1,x=B.getWidth()):it=K[1]}let F=this._isCellInSelection(k,s),Y=a&&k===c,se=vt&&k>=u&&k<=m,xe=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{xe=!0});let He=B.getChars()||Qe;if(He===" "&&(B.isUnderline()||B.isOverline())&&(He=" "),we=x*_-f.get(He,B.isBold(),B.isItalic()),!w)w=this._document.createElement("span");else if(R&&(F&&Ce||!F&&!Ce&&B.bg===I)&&(F&&Ce&&b.selectionForeground||B.fg===E)&&B.extended.ext===A&&se===N&&we===J&&!Y&&!T&&!xe&&L){B.isInvisible()?P+=Qe:P+=He,R++;continue}else R&&(w.textContent=P),w=this._document.createElement("span"),R=0,P="";if(I=B.bg,E=B.fg,A=B.extended.ext,N=se,J=we,Ce=F,T&&c>=k&&c<=O&&(c=k),!this._coreService.isCursorHidden&&Y&&this._coreService.isCursorInitialized){if(V.push("xterm-cursor"),this._coreBrowserService.isFocused)d&&V.push("xterm-cursor-blink"),V.push(h==="bar"?"xterm-cursor-bar":h==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(l)switch(l){case"outline":V.push("xterm-cursor-outline");break;case"block":V.push("xterm-cursor-block");break;case"bar":V.push("xterm-cursor-bar");break;case"underline":V.push("xterm-cursor-underline");break;default:break}}if(B.isBold()&&V.push("xterm-bold"),B.isItalic()&&V.push("xterm-italic"),B.isDim()&&V.push("xterm-dim"),B.isInvisible()?P=Qe:P=B.getChars()||Qe,B.isUnderline()&&(V.push(`xterm-underline-${B.extended.underlineStyle}`),P===" "&&(P=" "),!B.isUnderlineColorDefault()))if(B.isUnderlineColorRGB())w.style.textDecorationColor=`rgb(${zt.toColorRGB(B.getUnderlineColor()).join(",")})`;else{let K=B.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&B.isBold()&&K<8&&(K+=8),w.style.textDecorationColor=b.ansi[K].css}B.isOverline()&&(V.push("xterm-overline"),P===" "&&(P=" ")),B.isStrikethrough()&&V.push("xterm-strikethrough"),se&&(w.style.textDecoration="underline");let le=B.getFgColor(),qe=B.getFgColorMode(),me=B.getBgColor(),rt=B.getBgColorMode(),St=!!B.isInverse();if(St){let K=le;le=me,me=K;let Si=qe;qe=rt,rt=Si}let Ve,Kt,bt=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{K.options.layer!=="top"&&bt||(K.backgroundColorRGB&&(rt=50331648,me=K.backgroundColorRGB.rgba>>8&16777215,Ve=K.backgroundColorRGB),K.foregroundColorRGB&&(qe=50331648,le=K.foregroundColorRGB.rgba>>8&16777215,Kt=K.foregroundColorRGB),bt=K.options.layer==="top")}),!bt&&F&&(Ve=this._coreBrowserService.isFocused?b.selectionBackgroundOpaque:b.selectionInactiveBackgroundOpaque,me=Ve.rgba>>8&16777215,rt=50331648,bt=!0,b.selectionForeground&&(qe=50331648,le=b.selectionForeground.rgba>>8&16777215,Kt=b.selectionForeground)),bt&&V.push("xterm-decoration-top");let Ye;switch(rt){case 16777216:case 33554432:Ye=b.ansi[me],V.push(`xterm-bg-${me}`);break;case 50331648:Ye=ne.toColor(me>>16,me>>8&255,me&255),this._addStyle(w,`background-color:#${Zs((me>>>0).toString(16),"0",6)}`);break;case 0:default:St?(Ye=b.foreground,V.push("xterm-bg-257")):Ye=b.background}switch(Ve||B.isDim()&&(Ve=j.multiplyOpacity(Ye,0.5)),qe){case 16777216:case 33554432:B.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(w,Ye,b.ansi[le],B,Ve,void 0)||V.push(`xterm-fg-${le}`);break;case 50331648:let K=ne.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(w,Ye,K,B,Ve,Kt)||this._addStyle(w,`color:#${Zs(le.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(w,Ye,b.foreground,B,Ve,Kt)||St&&V.push("xterm-fg-257")}V.length&&(w.className=V.join(" "),V.length=0),!Y&&!T&&!xe&&L?R++:w.textContent=P,we!==this.defaultSpacing&&(w.style.letterSpacing=`${we}px`),p.push(w),k=O}return w&&R&&(w.textContent=P),p}_applyMinimumContrast(t,s,a,h,l,c){if(this._optionsService.rawOptions.minimumContrastRatio===1||xa(h.getCode()))return!1;let d=this._getContrastCache(h),_;if(!l&&!c&&(_=d.getColor(s.rgba,a.rgba)),_===void 0){let f=this._optionsService.rawOptions.minimumContrastRatio/(h.isDim()?2:1);_=j.ensureContrastRatio(l||s,c||a,f),d.setColor((l||s).rgba,(c||a).rgba,_??null)}return _?(this._addStyle(t,`color:${_.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,s){t.setAttribute("style",`${t.getAttribute("style")||""}${s};`)}_isCellInSelection(t,s){let a=this._selectionStart,h=this._selectionEnd;return!a||!h?!1:this._columnSelectMode?a[0]<=h[0]?t>=a[0]&&s>=a[1]&&t<h[0]&&s<=h[1]:t<a[0]&&s>=a[1]&&t>=h[0]&&s<=h[1]:s>a[1]&&s<h[1]||a[1]===h[1]&&s===a[1]&&t>=a[0]&&t<h[0]||a[1]<h[1]&&s===h[1]&&t<h[0]||a[1]<h[1]&&s===a[1]&&t>=a[0]}};Zi=te([M(1,Pr),M(2,be),M(3,Ue),M(4,ut),M(5,Ft),M(6,gt)],Zi);function Zs(t,s,a){for(;t.length<a;)t=s+t;return t}var Ea=class{constructor(t,s){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=t.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let a=t.createElement("span");a.classList.add("xterm-char-measure-element");let h=t.createElement("span");h.classList.add("xterm-char-measure-element"),h.style.fontWeight="bold";let l=t.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontStyle="italic";let c=t.createElement("span");c.classList.add("xterm-char-measure-element"),c.style.fontWeight="bold",c.style.fontStyle="italic",this._measureElements=[a,h,l,c],this._container.appendChild(a),this._container.appendChild(h),this._container.appendChild(l),this._container.appendChild(c),s.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,s,a,h){t===this._font&&s===this._fontSize&&a===this._weight&&h===this._weightBold||(this._font=t,this._fontSize=s,this._weight=a,this._weightBold=h,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${a}`,this._measureElements[1].style.fontWeight=`${h}`,this._measureElements[2].style.fontWeight=`${a}`,this._measureElements[3].style.fontWeight=`${h}`,this.clear())}get(t,s,a){let h=0;if(!s&&!a&&t.length===1&&(h=t.charCodeAt(0))<256){if(this._flat[h]!==-9999)return this._flat[h];let d=this._measure(t,0);return d>0&&(this._flat[h]=d),d}let l=t;s&&(l+="B"),a&&(l+="I");let c=this._holey.get(l);if(c===void 0){let d=0;s&&(d|=1),a&&(d|=2),c=this._measure(t,d),c>0&&this._holey.set(l,c)}return c}_measure(t,s){let a=this._measureElements[s];return a.textContent=t.repeat(32),a.offsetWidth/32}},Da=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,s,a,h=!1){if(this.selectionStart=s,this.selectionEnd=a,!s||!a||s[0]===a[0]&&s[1]===a[1]){this.clear();return}let l=t.buffers.active.ydisp,c=s[1]-l,d=a[1]-l,_=Math.max(c,0),f=Math.min(d,t.rows-1);if(_>=t.rows||f<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=h,this.viewportStartRow=c,this.viewportEndRow=d,this.viewportCappedStartRow=_,this.viewportCappedEndRow=f,this.startCol=s[0],this.endCol=a[0]}isCellSelected(t,s,a){return this.hasSelection?(a-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?s>=this.startCol&&a>=this.viewportCappedStartRow&&s<this.endCol&&a<=this.viewportCappedEndRow:s<this.startCol&&a>=this.viewportCappedStartRow&&s>=this.endCol&&a<=this.viewportCappedEndRow:a>this.viewportStartRow&&a<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportEndRow&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol):!1}};function Ba(){return new Da}var Bi="xterm-dom-renderer-owner-",Re="xterm-rows",Yt="xterm-fg-",Qs="xterm-bg-",Ct="xterm-focus",jt="xterm-selection",Ra=1,Qi=class extends W{constructor(t,s,a,h,l,c,d,_,f,u,m,p,S,b){super();this._terminal=t,this._document=s,this._element=a,this._screenElement=h,this._viewportElement=l,this._helperContainer=c,this._linkifier2=d,this._charSizeService=f,this._optionsService=u,this._bufferService=m,this._coreService=p,this._coreBrowserService=S,this._themeService=b,this._terminalClass=Ra++,this._rowElements=[],this._selectionRenderModel=Ba(),this.onRequestRedraw=this._register(new D).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Re),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(jt),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=ka(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors((v)=>this._injectCss(v))),this._injectCss(this._themeService.colors),this._rowFactory=_.createInstance(Zi,document),this._element.classList.add(Bi+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((v)=>this._handleLinkHover(v))),this._register(this._linkifier2.onHideLinkUnderline((v)=>this._handleLinkLeave(v))),this._register(G(()=>{this._element.classList.remove(Bi+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Ea(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let a of this._rowElements)a.style.width=`${this.dimensions.css.canvas.width}px`,a.style.height=`${this.dimensions.css.cell.height}px`,a.style.lineHeight=`${this.dimensions.css.cell.height}px`,a.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let s=`${this._terminalSelector} .${Re} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=s,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let s=`${this._terminalSelector} .${Re} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;s+=`${this._terminalSelector} .${Re} .xterm-dim { color: ${j.multiplyOpacity(t.foreground,0.5).css};}`,s+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let a=`blink_underline_${this._terminalClass}`,h=`blink_bar_${this._terminalClass}`,l=`blink_block_${this._terminalClass}`;s+=`@keyframes ${a} { 50% { border-bottom-style: hidden; }}`,s+=`@keyframes ${h} { 50% { box-shadow: none; }}`,s+=`@keyframes ${l} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,s+=`${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${a} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${h} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${l} 1s step-end infinite;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,s+=`${this._terminalSelector} .${jt} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${jt} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${jt} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[c,d]of t.ansi.entries())s+=`${this._terminalSelector} .${Yt}${c} { color: ${d.css}; }${this._terminalSelector} .${Yt}${c}.xterm-dim { color: ${j.multiplyOpacity(d,0.5).css}; }${this._terminalSelector} .${Qs}${c} { background-color: ${d.css}; }`;s+=`${this._terminalSelector} .${Yt}257 { color: ${j.opaque(t.background).css}; }${this._terminalSelector} .${Yt}257.xterm-dim { color: ${j.multiplyOpacity(j.opaque(t.background),0.5).css}; }${this._terminalSelector} .${Qs}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=s}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,s){for(let a=this._rowElements.length;a<=s;a++){let h=this._document.createElement("div");this._rowContainer.appendChild(h),this._rowElements.push(h)}for(;this._rowElements.length>s;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,s){this._refreshRowElements(t,s),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(Ct),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Ct),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,s,a){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,s,a),this.renderRows(0,this._bufferService.rows-1),!t||!s||(this._selectionRenderModel.update(this._terminal,t,s,a),!this._selectionRenderModel.hasSelection))return;let h=this._selectionRenderModel.viewportStartRow,l=this._selectionRenderModel.viewportEndRow,c=this._selectionRenderModel.viewportCappedStartRow,d=this._selectionRenderModel.viewportCappedEndRow,_=this._document.createDocumentFragment();if(a){let f=t[0]>s[0];_.appendChild(this._createSelectionElement(c,f?s[0]:t[0],f?t[0]:s[0],d-c+1))}else{let f=h===c?t[0]:0,u=c===l?s[0]:this._bufferService.cols;_.appendChild(this._createSelectionElement(c,f,u));let m=d-c-1;if(_.appendChild(this._createSelectionElement(c+1,0,this._bufferService.cols,m)),c!==d){let p=l===d?s[0]:this._bufferService.cols;_.appendChild(this._createSelectionElement(d,0,p))}}this._selectionContainer.appendChild(_)}_createSelectionElement(t,s,a,h=1){let l=this._document.createElement("div"),c=s*this.dimensions.css.cell.width,d=this.dimensions.css.cell.width*(a-s);return c+d>this.dimensions.css.canvas.width&&(d=this.dimensions.css.canvas.width-c),l.style.height=`${h*this.dimensions.css.cell.height}px`,l.style.top=`${t*this.dimensions.css.cell.height}px`,l.style.left=`${c}px`,l.style.width=`${d}px`,l}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,s){let a=this._bufferService.buffer,h=a.ybase+a.y,l=Math.min(a.x,this._bufferService.cols-1),c=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,d=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,_=this._optionsService.rawOptions.cursorInactiveStyle;for(let f=t;f<=s;f++){let u=f+a.ydisp,m=this._rowElements[f],p=a.lines.get(u);if(!m||!p)break;m.replaceChildren(...this._rowFactory.createRow(p,u,u===h,d,_,l,c,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Bi}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,s,a,h,l,c){a<0&&(t=0),h<0&&(s=0);let d=this._bufferService.rows-1;a=Math.max(Math.min(a,d),0),h=Math.max(Math.min(h,d),0),l=Math.min(l,this._bufferService.cols);let _=this._bufferService.buffer,f=_.ybase+_.y,u=Math.min(_.x,l-1),m=this._optionsService.rawOptions.cursorBlink,p=this._optionsService.rawOptions.cursorStyle,S=this._optionsService.rawOptions.cursorInactiveStyle;for(let b=a;b<=h;++b){let v=b+_.ydisp,w=this._rowElements[b],R=_.lines.get(v);if(!w||!R)break;w.replaceChildren(...this._rowFactory.createRow(R,v,v===f,p,S,u,m,this.dimensions.css.cell.width,this._widthCache,c?b===a?t:0:-1,c?(b===h?s:l)-1:-1))}}};Qi=te([M(7,us),M(8,fi),M(9,be),M(10,Se),M(11,ut),M(12,Ue),M(13,gt)],Qi);var es=class extends W{constructor(t,s,a){super();this._optionsService=a,this.width=0,this.height=0,this._onCharSizeChange=this._register(new D),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Ma(this._optionsService))}catch{this._measureStrategy=this._register(new La(t,s,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};es=te([M(2,be)],es);var Zr=class extends W{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(t,s){t!==void 0&&t>0&&s!==void 0&&s>0&&(this._result.width=t,this._result.height=s)}},La=class extends Zr{constructor(t,s,a){super();this._document=t,this._parentElement=s,this._optionsService=a,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},Ma=class extends Zr{constructor(t){super();this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let s=this._ctx.measureText("W");if(!(("width"in s)&&("fontBoundingBoxAscent"in s)&&("fontBoundingBoxDescent"in s)))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},Ta=class extends W{constructor(t,s,a){super();this._textarea=t,this._window=s,this.mainDocument=a,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Pa(this._window)),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new D),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((h)=>this._screenDprMonitor.setWindow(h))),this._register(ge.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(H(this._textarea,"focus",()=>this._isFocused=!0)),this._register(H(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Pa=class extends W{constructor(t){super();this._parentWindow=t,this._windowResizeListener=this._register(new pt),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(G(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=H(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Aa=class extends W{constructor(){super();this.linkProviders=[],this._register(G(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let s=this.linkProviders.indexOf(t);s!==-1&&this.linkProviders.splice(s,1)}}}};function bs(t,s,a){let h=a.getBoundingClientRect(),l=t.getComputedStyle(a),c=parseInt(l.getPropertyValue("padding-left")),d=parseInt(l.getPropertyValue("padding-top"));return[s.clientX-h.left-c,s.clientY-h.top-d]}function Oa(t,s,a,h,l,c,d,_,f){if(!c)return;let u=bs(t,s,a);if(u)return u[0]=Math.ceil((u[0]+(f?d/2:0))/d),u[1]=Math.ceil(u[1]/_),u[0]=Math.min(Math.max(u[0],1),h+(f?1:0)),u[1]=Math.min(Math.max(u[1],1),l),u}var ts=class{constructor(t,s){this._renderService=t,this._charSizeService=s}getCoords(t,s,a,h,l){return Oa(window,t,s,a,h,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,l)}getMouseReportCoords(t,s){let a=bs(window,t,s);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};ts=te([M(0,Ke),M(1,fi)],ts);var Ia=class{constructor(t,s){this._renderCallback=t,this._coreBrowserService=s,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,s,a){this._rowCount=a,t=t!==void 0?t:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,s),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},Qr={};vn(Qr,{getSafariVersion:()=>Ha,isChromeOS:()=>rn,isFirefox:()=>en,isIpad:()=>Wa,isIphone:()=>za,isLegacyEdge:()=>Na,isLinux:()=>ws,isMac:()=>ci,isNode:()=>mi,isSafari:()=>tn,isWindows:()=>sn});var mi=typeof process<"u"&&"title"in process,$t=mi?"node":navigator.userAgent,Ut=mi?"node":navigator.platform,en=$t.includes("Firefox"),Na=$t.includes("Edge"),tn=/^((?!chrome|android).)*safari/i.test($t);function Ha(){if(!tn)return 0;let t=$t.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var ci=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Ut),Wa=Ut==="iPad",za=Ut==="iPhone",sn=["Windows","Win16","Win32","WinCE"].includes(Ut),ws=Ut.indexOf("Linux")>=0,rn=/\bCrOS\b/.test($t),nn=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let s=0,a=0,h=t.timeRemaining(),l=0;for(;this._i<this._tasks.length;){if(s=performance.now(),this._tasks[this._i]()||this._i++,s=Math.max(1,performance.now()-s),a=Math.max(s,a),l=t.timeRemaining(),a*1.5>l){h-s<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(h-s))}ms`),this._start();return}h=l}this.clear()}},Fa=class extends nn{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let s=performance.now()+t;return{timeRemaining:()=>Math.max(0,s-performance.now())}}},$a=class extends nn{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},di=!mi&&"requestIdleCallback"in window?$a:Fa,Ua=class{constructor(){this._queue=new di}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},is=class extends W{constructor(t,s,a,h,l,c,d,_,f){super();this._rowCount=t,this._optionsService=a,this._charSizeService=h,this._coreService=l,this._coreBrowserService=_,this._renderer=this._register(new pt),this._pausedResizeTask=new Ua,this._observerDisposable=this._register(new pt),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new D),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new D),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new D),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ia((u,m)=>this._renderRows(u,m),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Ka(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(G(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(d.onResize(()=>this._fullRefresh())),this._register(d.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(c.onDecorationRegistered(()=>this._fullRefresh())),this._register(c.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(d.cols,d.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(d.buffer.y,d.buffer.y,!0))),this._register(f.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,s),this._register(this._coreBrowserService.onWindowChange((u)=>this._registerIntersectionObserver(u,s)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,s){if("IntersectionObserver"in t){let a=new t.IntersectionObserver((h)=>this._handleIntersectionChange(h[h.length-1]),{threshold:0});a.observe(s),this._observerDisposable.value=G(()=>a.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,s,a=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,s);return}let h=this._syncOutputHandler.flush();h&&(t=Math.min(t,h.start),s=Math.max(s,h.end)),a||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,s,this._rowCount)}_renderRows(t,s){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,s);return}t=Math.min(t,this._rowCount-1),s=Math.min(s,this._rowCount-1),this._renderer.value.renderRows(t,s),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:s}),this._onRender.fire({start:t,end:s}),this._isNextRenderRedrawOnly=!0}}resize(t,s){this._rowCount=s,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw((s)=>this.refreshRows(s.start,s.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,s){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(t,s)):this._renderer.value.handleResize(t,s),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(t,s,a){this._selectionState.start=t,this._selectionState.end=s,this._selectionState.columnSelectMode=a,this._renderer.value?.handleSelectionChanged(t,s,a)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};is=te([M(2,be),M(3,fi),M(4,ut),M(5,Ft),M(6,Se),M(7,Ue),M(8,gt)],is);var Ka=class{constructor(t,s,a){this._coreBrowserService=t,this._coreService=s,this._onTimeout=a,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,s){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,s)):(this._start=t,this._end=s,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1000))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function qa(t,s,a,h){let l=a.buffer.x,c=a.buffer.y;if(!a.buffer.hasScrollback)return ja(l,c,t,s,a,h)+vi(c,s,a,h)+Xa(l,c,t,s,a,h);let d;if(c===s)return d=l>t?"D":"C",Ht(Math.abs(l-t),Nt(d,h));d=c>s?"D":"C";let _=Math.abs(c-s),f=Ya(c>s?t:l,a)+(_-1)*a.cols+1+Va(c>s?l:t,a);return Ht(f,Nt(d,h))}function Va(t,s){return t-1}function Ya(t,s){return s.cols-t}function ja(t,s,a,h,l,c){return vi(s,h,l,c).length===0?"":Ht(an(t,s,t,s-dt(s,l),!1,l).length,Nt("D",c))}function vi(t,s,a,h){let l=t-dt(t,a),c=s-dt(s,a),d=Math.abs(l-c)-Ga(t,s,a);return Ht(d,Nt(on(t,s),h))}function Xa(t,s,a,h,l,c){let d;vi(s,h,l,c).length>0?d=h-dt(h,l):d=s;let _=h,f=Ja(t,s,a,h,l,c);return Ht(an(t,d,a,_,f==="C",l).length,Nt(f,c))}function Ga(t,s,a){let h=0,l=t-dt(t,a),c=s-dt(s,a);for(let d=0;d<Math.abs(l-c);d++){let _=on(t,s)==="A"?-1:1;a.buffer.lines.get(l+_*d)?.isWrapped&&h++}return h}function dt(t,s){let a=0,h=s.buffer.lines.get(t),l=h?.isWrapped;for(;l&&t>=0&&t<s.rows;)a++,h=s.buffer.lines.get(--t),l=h?.isWrapped;return a}function Ja(t,s,a,h,l,c){let d;return vi(a,h,l,c).length>0?d=h-dt(h,l):d=s,t<a&&d<=h||t>=a&&d<h?"C":"D"}function on(t,s){return t>s?"A":"B"}function an(t,s,a,h,l,c){let d=t,_=s,f="";for(;(d!==a||_!==h)&&_>=0&&_<c.buffer.lines.length;)d+=l?1:-1,l&&d>c.cols-1?(f+=c.buffer.translateBufferLineToString(_,!1,t,d),d=0,t=0,_++):!l&&d<0&&(f+=c.buffer.translateBufferLineToString(_,!1,0,t+1),d=c.cols-1,t=d,_--);return f+c.buffer.translateBufferLineToString(_,!1,t,d)}function Nt(t,s){let a=s?"O":"[";return C.ESC+a+t}function Ht(t,s){t=Math.floor(t);let a="";for(let h=0;h<t;h++)a+=s;return a}var Za=class{constructor(t){this._bufferService=t,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,s=this.selectionEnd;return!t||!s?!1:t[1]>s[1]||t[1]===s[1]&&t[0]>s[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function er(t,s){if(t.start.y>t.end.y)throw Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return s*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var Ri=50,Qa=15,eh=50,th=500,ih=" ",sh=new RegExp(ih,"g"),ss=class extends W{constructor(t,s,a,h,l,c,d,_,f){super();this._element=t,this._screenElement=s,this._linkifier=a,this._bufferService=h,this._coreService=l,this._mouseService=c,this._optionsService=d,this._renderService=_,this._coreBrowserService=f,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Me,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new D),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new D),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=(u)=>this._handleMouseMove(u),this._mouseUpListener=(u)=>this._handleMouseUp(u),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim((u)=>this._handleTrim(u)),this._register(this._bufferService.buffers.onBufferActivate((u)=>this._handleBufferActivate(u))),this.enable(),this._model=new Za(this._bufferService),this._activeSelectionMode=0,this._register(G(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize((u)=>{u.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!t||!s?!1:t[0]!==s[0]||t[1]!==s[1]}get selectionText(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;if(!t||!s)return"";let a=this._bufferService.buffer,h=[];if(this._activeSelectionMode===3){if(t[0]===s[0])return"";let l=t[0]<s[0]?t[0]:s[0],c=t[0]<s[0]?s[0]:t[0];for(let d=t[1];d<=s[1];d++){let _=a.translateBufferLineToString(d,!0,l,c);h.push(_)}}else{let l=t[1]===s[1]?s[0]:void 0;h.push(a.translateBufferLineToString(t[1],!0,t[0],l));for(let c=t[1]+1;c<=s[1]-1;c++){let d=a.lines.get(c),_=a.translateBufferLineToString(c,!0);d?.isWrapped?h[h.length-1]+=_:h.push(_)}if(t[1]!==s[1]){let c=a.lines.get(s[1]),d=a.translateBufferLineToString(s[1],!0,0,s[0]);c&&c.isWrapped?h[h.length-1]+=d:h.push(d)}}return h.map((l)=>l.replace(sh," ")).join(sn?`\r
31
+ `,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="\x0E",t.SI="\x0F",t.DLE="\x10",t.DC1="\x11",t.DC2="\x12",t.DC3="\x13",t.DC4="\x14",t.NAK="\x15",t.SYN="\x16",t.ETB="\x17",t.CAN="\x18",t.EM="\x19",t.SUB="\x1A",t.ESC="\x1B",t.FS="\x1C",t.GS="\x1D",t.RS="\x1E",t.US="\x1F",t.SP=" ",t.DEL=""))(C||={});var ii;((t)=>(t.PAD="€",t.HOP="",t.BPH="‚",t.NBH="ƒ",t.IND="„",t.NEL="…",t.SSA="†",t.ESA="‡",t.HTS="ˆ",t.HTJ="‰",t.VTS="Š",t.PLD="‹",t.PLU="Œ",t.RI="",t.SS2="Ž",t.SS3="",t.DCS="",t.PU1="‘",t.PU2="’",t.STS="“",t.CCH="”",t.MW="•",t.SPA="–",t.EPA="—",t.SOS="˜",t.SGCI="™",t.SCI="š",t.CSI="›",t.ST="œ",t.OSC="",t.PM="ž",t.APC="Ÿ"))(ii||={});var Jr;((t)=>t.ST=`${C.ESC}\\`)(Jr||={});var Ji=class{constructor(t,s,a,h,l,c){this._textarea=t,this._compositionView=s,this._bufferService=a,this._optionsService=h,this._coreService=l,this._renderService=c,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let s={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let a;s.start+=this._dataAlreadySent.length,this._isComposing?a=this._textarea.value.substring(s.start,this._compositionPosition.start):a=this._textarea.value.substring(s.start),a.length>0&&this._coreService.triggerDataEvent(a,!0)}},0)}else{this._isSendingComposition=!1;let s=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(s,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let s=this._textarea.value,a=s.replace(t,"");this._dataAlreadySent=a,s.length>t.length?this._coreService.triggerDataEvent(a,!0):s.length<t.length?this._coreService.triggerDataEvent(`${C.DEL}`,!0):s.length===t.length&&s!==t&&this._coreService.triggerDataEvent(s,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),a=this._renderService.dimensions.css.cell.height,h=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,l=s*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=l+"px",this._compositionView.style.top=h+"px",this._compositionView.style.height=a+"px",this._compositionView.style.lineHeight=a+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let c=this._compositionView.getBoundingClientRect();this._textarea.style.left=l+"px",this._textarea.style.top=h+"px",this._textarea.style.width=Math.max(c.width,1)+"px",this._textarea.style.height=Math.max(c.height,1)+"px",this._textarea.style.lineHeight=c.height+"px"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Ji=te([M(2,Se),M(3,be),M(4,ut),M(5,Ke)],Ji);var ue=0,_e=0,fe=0,ee=0,Js={css:"#00000000",rgba:0},ne;((t)=>{function s(l,c,d,_){return _!==void 0?`#${rt(l)}${rt(c)}${rt(d)}${rt(_)}`:`#${rt(l)}${rt(c)}${rt(d)}`}t.toCss=s;function a(l,c,d,_=255){return(l<<24|c<<16|d<<8|_)>>>0}t.toRgba=a;function h(l,c,d,_){return{css:t.toCss(l,c,d,_),rgba:t.toRgba(l,c,d,_)}}t.toColor=h})(ne||={});var j;((t)=>{function s(f,u){if(ee=(u.rgba&255)/255,ee===1)return{css:u.css,rgba:u.rgba};let m=u.rgba>>24&255,p=u.rgba>>16&255,S=u.rgba>>8&255,b=f.rgba>>24&255,v=f.rgba>>16&255,w=f.rgba>>8&255;ue=b+Math.round((m-b)*ee),_e=v+Math.round((p-v)*ee),fe=w+Math.round((S-w)*ee);let R=ne.toCss(ue,_e,fe),P=ne.toRgba(ue,_e,fe);return{css:R,rgba:P}}t.blend=s;function a(f){return(f.rgba&255)===255}t.isOpaque=a;function h(f,u,m){let p=si.ensureContrastRatio(f.rgba,u.rgba,m);if(p)return ne.toColor(p>>24&255,p>>16&255,p>>8&255)}t.ensureContrastRatio=h;function l(f){let u=(f.rgba|255)>>>0;return[ue,_e,fe]=si.toChannels(u),{css:ne.toCss(ue,_e,fe),rgba:u}}t.opaque=l;function c(f,u){return ee=Math.round(u*255),[ue,_e,fe]=si.toChannels(f.rgba),{css:ne.toCss(ue,_e,fe,ee),rgba:ne.toRgba(ue,_e,fe,ee)}}t.opacity=c;function d(f,u){return ee=f.rgba&255,c(f,ee*u/255)}t.multiplyOpacity=d;function _(f){return[f.rgba>>24&255,f.rgba>>16&255,f.rgba>>8&255]}t.toColorRGB=_})(j||={});var Q;((t)=>{let s,a;try{let l=document.createElement("canvas");l.width=1,l.height=1;let c=l.getContext("2d",{willReadFrequently:!0});c&&(s=c,s.globalCompositeOperation="copy",a=s.createLinearGradient(0,0,1,1))}catch{}function h(l){if(l.match(/#[\da-f]{3,8}/i))switch(l.length){case 4:return ue=parseInt(l.slice(1,2).repeat(2),16),_e=parseInt(l.slice(2,3).repeat(2),16),fe=parseInt(l.slice(3,4).repeat(2),16),ne.toColor(ue,_e,fe);case 5:return ue=parseInt(l.slice(1,2).repeat(2),16),_e=parseInt(l.slice(2,3).repeat(2),16),fe=parseInt(l.slice(3,4).repeat(2),16),ee=parseInt(l.slice(4,5).repeat(2),16),ne.toColor(ue,_e,fe,ee);case 7:return{css:l,rgba:(parseInt(l.slice(1),16)<<8|255)>>>0};case 9:return{css:l,rgba:parseInt(l.slice(1),16)>>>0}}let c=l.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(c)return ue=parseInt(c[1]),_e=parseInt(c[2]),fe=parseInt(c[3]),ee=Math.round((c[5]===void 0?1:parseFloat(c[5]))*255),ne.toColor(ue,_e,fe,ee);if(!s||!a)throw Error("css.toColor: Unsupported css format");if(s.fillStyle=a,s.fillStyle=l,typeof s.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(s.fillRect(0,0,1,1),[ue,_e,fe,ee]=s.getImageData(0,0,1,1).data,ee!==255)throw Error("css.toColor: Unsupported css format");return{rgba:ne.toRgba(ue,_e,fe,ee),css:l}}t.toColor=h})(Q||={});var ve;((t)=>{function s(h){return a(h>>16&255,h>>8&255,h&255)}t.relativeLuminance=s;function a(h,l,c){let d=h/255,_=l/255,f=c/255,u=d<=0.03928?d/12.92:Math.pow((d+0.055)/1.055,2.4),m=_<=0.03928?_/12.92:Math.pow((_+0.055)/1.055,2.4),p=f<=0.03928?f/12.92:Math.pow((f+0.055)/1.055,2.4);return u*0.2126+m*0.7152+p*0.0722}t.relativeLuminance2=a})(ve||={});var si;((t)=>{function s(d,_){if(ee=(_&255)/255,ee===1)return _;let f=_>>24&255,u=_>>16&255,m=_>>8&255,p=d>>24&255,S=d>>16&255,b=d>>8&255;return ue=p+Math.round((f-p)*ee),_e=S+Math.round((u-S)*ee),fe=b+Math.round((m-b)*ee),ne.toRgba(ue,_e,fe)}t.blend=s;function a(d,_,f){let u=ve.relativeLuminance(d>>8),m=ve.relativeLuminance(_>>8);if(We(u,m)<f){if(m<u){let b=h(d,_,f),v=We(u,ve.relativeLuminance(b>>8));if(v<f){let w=l(d,_,f),R=We(u,ve.relativeLuminance(w>>8));return v>R?b:w}return b}let p=l(d,_,f),S=We(u,ve.relativeLuminance(p>>8));if(S<f){let b=h(d,_,f),v=We(u,ve.relativeLuminance(b>>8));return S>v?p:b}return p}}t.ensureContrastRatio=a;function h(d,_,f){let u=d>>24&255,m=d>>16&255,p=d>>8&255,S=_>>24&255,b=_>>16&255,v=_>>8&255,w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));for(;w<f&&(S>0||b>0||v>0);)S-=Math.max(0,Math.ceil(S*0.1)),b-=Math.max(0,Math.ceil(b*0.1)),v-=Math.max(0,Math.ceil(v*0.1)),w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));return(S<<24|b<<16|v<<8|255)>>>0}t.reduceLuminance=h;function l(d,_,f){let u=d>>24&255,m=d>>16&255,p=d>>8&255,S=_>>24&255,b=_>>16&255,v=_>>8&255,w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));for(;w<f&&(S<255||b<255||v<255);)S=Math.min(255,S+Math.ceil((255-S)*0.1)),b=Math.min(255,b+Math.ceil((255-b)*0.1)),v=Math.min(255,v+Math.ceil((255-v)*0.1)),w=We(ve.relativeLuminance2(S,b,v),ve.relativeLuminance2(u,m,p));return(S<<24|b<<16|v<<8|255)>>>0}t.increaseLuminance=l;function c(d){return[d>>24&255,d>>16&255,d>>8&255,d&255]}t.toChannels=c})(si||={});function rt(t){let s=t.toString(16);return s.length<2?"0"+s:s}function We(t,s){return t<s?(s+0.05)/(t+0.05):(t+0.05)/(s+0.05)}var wa=class extends zt{constructor(t,s,a){super();this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=s,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},li=class{constructor(t){this._bufferService=t,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Me}register(t){let s={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(s),s.id}deregister(t){for(let s=0;s<this._characterJoiners.length;s++)if(this._characterJoiners[s].id===t)return this._characterJoiners.splice(s,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let s=this._bufferService.buffer.lines.get(t);if(!s||s.length===0)return[];let a=[],h=s.translateToString(!0),l=0,c=0,d=0,_=s.getFg(0),f=s.getBg(0);for(let u=0;u<s.getTrimmedLength();u++)if(s.loadCell(u,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==_||this._workCell.bg!==f){if(u-l>1){let m=this._getJoinedRanges(h,d,c,s,l);for(let p=0;p<m.length;p++)a.push(m[p])}l=u,d=c,_=this._workCell.fg,f=this._workCell.bg}c+=this._workCell.getChars().length||Qe.length}if(this._bufferService.cols-l>1){let u=this._getJoinedRanges(h,d,c,s,l);for(let m=0;m<u.length;m++)a.push(u[m])}return a}_getJoinedRanges(t,s,a,h,l){let c=t.substring(s,a),d=[];try{d=this._characterJoiners[0].handler(c)}catch(_){console.error(_)}for(let _=1;_<this._characterJoiners.length;_++)try{let f=this._characterJoiners[_].handler(c);for(let u=0;u<f.length;u++)li._mergeRanges(d,f[u])}catch(f){console.error(f)}return this._stringRangesToCellRanges(d,h,l),d}_stringRangesToCellRanges(t,s,a){let h=0,l=!1,c=0,d=t[h];if(d){for(let _=a;_<this._bufferService.cols;_++){let f=s.getWidth(_),u=s.getString(_).length||Qe.length;if(f!==0){if(!l&&d[0]<=c&&(d[0]=_,l=!0),d[1]<=c){if(d[1]=_,d=t[++h],!d)break;d[0]<=c?(d[0]=_,l=!0):l=!1}c+=u}}d&&(d[1]=this._bufferService.cols)}}static _mergeRanges(t,s){let a=!1;for(let h=0;h<t.length;h++){let l=t[h];if(a){if(s[1]<=l[0])return t[h-1][1]=s[1],t;if(s[1]<=l[1])return t[h-1][1]=Math.max(s[1],l[1]),t.splice(h,1),t;t.splice(h,1),h--}else{if(s[1]<=l[0])return t.splice(h,0,s),t;if(s[1]<=l[1])return l[0]=Math.min(s[0],l[0]),t;s[0]<l[1]&&(l[0]=Math.min(s[0],l[0]),a=!0);continue}}return a?t[t.length-1][1]=s[1]:t.push(s),t}};li=te([M(0,Se)],li);function ya(t){return 57508<=t&&t<=57558}function Ca(t){return 9472<=t&&t<=9631}function xa(t){return ya(t)||Ca(t)}function ka(){return{css:{canvas:Vt(),cell:Vt()},device:{canvas:Vt(),cell:Vt(),char:{width:0,height:0,left:0,top:0}}}}function Vt(){return{width:0,height:0}}var Zi=class{constructor(t,s,a,h,l,c,d){this._document=t,this._characterJoinerService=s,this._optionsService=a,this._coreBrowserService=h,this._coreService=l,this._decorationService=c,this._themeService=d,this._workCell=new Me,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(t,s,a){this._selectionStart=t,this._selectionEnd=s,this._columnSelectMode=a}createRow(t,s,a,h,l,c,d,_,f,u,m){let p=[],S=this._characterJoinerService.getJoinedCharacters(s),b=this._themeService.colors,v=t.getNoBgTrimmedLength();a&&v<c+1&&(v=c+1);let w,R=0,P="",U=0,I=0,E=0,A=0,N=!1,J=0,Ce=!1,we=0,it=0,V=[],vt=u!==-1&&m!==-1;for(let k=0;k<v;k++){t.loadCell(k,this._workCell);let x=this._workCell.getWidth();if(x===0)continue;let T=!1,L=k>=it,O=k,B=this._workCell;if(S.length>0&&k===S[0][0]&&L){let K=S.shift(),Si=this._isCellInSelection(K[0],s);for(U=K[0]+1;U<K[1];U++)L&&=Si===this._isCellInSelection(U,s);L&&=!a||c<K[0]||c>=K[1],L?(T=!0,B=new wa(this._workCell,t.translateToString(!0,K[0],K[1]),K[1]-K[0]),O=K[1]-1,x=B.getWidth()):it=K[1]}let F=this._isCellInSelection(k,s),Y=a&&k===c,se=vt&&k>=u&&k<=m,xe=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{xe=!0});let He=B.getChars()||Qe;if(He===" "&&(B.isUnderline()||B.isOverline())&&(He=" "),we=x*_-f.get(He,B.isBold(),B.isItalic()),!w)w=this._document.createElement("span");else if(R&&(F&&Ce||!F&&!Ce&&B.bg===I)&&(F&&Ce&&b.selectionForeground||B.fg===E)&&B.extended.ext===A&&se===N&&we===J&&!Y&&!T&&!xe&&L){B.isInvisible()?P+=Qe:P+=He,R++;continue}else R&&(w.textContent=P),w=this._document.createElement("span"),R=0,P="";if(I=B.bg,E=B.fg,A=B.extended.ext,N=se,J=we,Ce=F,T&&c>=k&&c<=O&&(c=k),!this._coreService.isCursorHidden&&Y&&this._coreService.isCursorInitialized){if(V.push("xterm-cursor"),this._coreBrowserService.isFocused)d&&V.push("xterm-cursor-blink"),V.push(h==="bar"?"xterm-cursor-bar":h==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(l)switch(l){case"outline":V.push("xterm-cursor-outline");break;case"block":V.push("xterm-cursor-block");break;case"bar":V.push("xterm-cursor-bar");break;case"underline":V.push("xterm-cursor-underline");break;default:break}}if(B.isBold()&&V.push("xterm-bold"),B.isItalic()&&V.push("xterm-italic"),B.isDim()&&V.push("xterm-dim"),B.isInvisible()?P=Qe:P=B.getChars()||Qe,B.isUnderline()&&(V.push(`xterm-underline-${B.extended.underlineStyle}`),P===" "&&(P=" "),!B.isUnderlineColorDefault()))if(B.isUnderlineColorRGB())w.style.textDecorationColor=`rgb(${zt.toColorRGB(B.getUnderlineColor()).join(",")})`;else{let K=B.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&B.isBold()&&K<8&&(K+=8),w.style.textDecorationColor=b.ansi[K].css}B.isOverline()&&(V.push("xterm-overline"),P===" "&&(P=" ")),B.isStrikethrough()&&V.push("xterm-strikethrough"),se&&(w.style.textDecoration="underline");let le=B.getFgColor(),qe=B.getFgColorMode(),me=B.getBgColor(),st=B.getBgColorMode(),St=!!B.isInverse();if(St){let K=le;le=me,me=K;let Si=qe;qe=st,st=Si}let Ve,Kt,bt=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{K.options.layer!=="top"&&bt||(K.backgroundColorRGB&&(st=50331648,me=K.backgroundColorRGB.rgba>>8&16777215,Ve=K.backgroundColorRGB),K.foregroundColorRGB&&(qe=50331648,le=K.foregroundColorRGB.rgba>>8&16777215,Kt=K.foregroundColorRGB),bt=K.options.layer==="top")}),!bt&&F&&(Ve=this._coreBrowserService.isFocused?b.selectionBackgroundOpaque:b.selectionInactiveBackgroundOpaque,me=Ve.rgba>>8&16777215,st=50331648,bt=!0,b.selectionForeground&&(qe=50331648,le=b.selectionForeground.rgba>>8&16777215,Kt=b.selectionForeground)),bt&&V.push("xterm-decoration-top");let Ye;switch(st){case 16777216:case 33554432:Ye=b.ansi[me],V.push(`xterm-bg-${me}`);break;case 50331648:Ye=ne.toColor(me>>16,me>>8&255,me&255),this._addStyle(w,`background-color:#${Zs((me>>>0).toString(16),"0",6)}`);break;case 0:default:St?(Ye=b.foreground,V.push("xterm-bg-257")):Ye=b.background}switch(Ve||B.isDim()&&(Ve=j.multiplyOpacity(Ye,0.5)),qe){case 16777216:case 33554432:B.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(w,Ye,b.ansi[le],B,Ve,void 0)||V.push(`xterm-fg-${le}`);break;case 50331648:let K=ne.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(w,Ye,K,B,Ve,Kt)||this._addStyle(w,`color:#${Zs(le.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(w,Ye,b.foreground,B,Ve,Kt)||St&&V.push("xterm-fg-257")}V.length&&(w.className=V.join(" "),V.length=0),!Y&&!T&&!xe&&L?R++:w.textContent=P,we!==this.defaultSpacing&&(w.style.letterSpacing=`${we}px`),p.push(w),k=O}return w&&R&&(w.textContent=P),p}_applyMinimumContrast(t,s,a,h,l,c){if(this._optionsService.rawOptions.minimumContrastRatio===1||xa(h.getCode()))return!1;let d=this._getContrastCache(h),_;if(!l&&!c&&(_=d.getColor(s.rgba,a.rgba)),_===void 0){let f=this._optionsService.rawOptions.minimumContrastRatio/(h.isDim()?2:1);_=j.ensureContrastRatio(l||s,c||a,f),d.setColor((l||s).rgba,(c||a).rgba,_??null)}return _?(this._addStyle(t,`color:${_.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,s){t.setAttribute("style",`${t.getAttribute("style")||""}${s};`)}_isCellInSelection(t,s){let a=this._selectionStart,h=this._selectionEnd;return!a||!h?!1:this._columnSelectMode?a[0]<=h[0]?t>=a[0]&&s>=a[1]&&t<h[0]&&s<=h[1]:t<a[0]&&s>=a[1]&&t>=h[0]&&s<=h[1]:s>a[1]&&s<h[1]||a[1]===h[1]&&s===a[1]&&t>=a[0]&&t<h[0]||a[1]<h[1]&&s===h[1]&&t<h[0]||a[1]<h[1]&&s===a[1]&&t>=a[0]}};Zi=te([M(1,Pr),M(2,be),M(3,Ue),M(4,ut),M(5,Ft),M(6,gt)],Zi);function Zs(t,s,a){for(;t.length<a;)t=s+t;return t}var Ea=class{constructor(t,s){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=t.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let a=t.createElement("span");a.classList.add("xterm-char-measure-element");let h=t.createElement("span");h.classList.add("xterm-char-measure-element"),h.style.fontWeight="bold";let l=t.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontStyle="italic";let c=t.createElement("span");c.classList.add("xterm-char-measure-element"),c.style.fontWeight="bold",c.style.fontStyle="italic",this._measureElements=[a,h,l,c],this._container.appendChild(a),this._container.appendChild(h),this._container.appendChild(l),this._container.appendChild(c),s.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,s,a,h){t===this._font&&s===this._fontSize&&a===this._weight&&h===this._weightBold||(this._font=t,this._fontSize=s,this._weight=a,this._weightBold=h,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${a}`,this._measureElements[1].style.fontWeight=`${h}`,this._measureElements[2].style.fontWeight=`${a}`,this._measureElements[3].style.fontWeight=`${h}`,this.clear())}get(t,s,a){let h=0;if(!s&&!a&&t.length===1&&(h=t.charCodeAt(0))<256){if(this._flat[h]!==-9999)return this._flat[h];let d=this._measure(t,0);return d>0&&(this._flat[h]=d),d}let l=t;s&&(l+="B"),a&&(l+="I");let c=this._holey.get(l);if(c===void 0){let d=0;s&&(d|=1),a&&(d|=2),c=this._measure(t,d),c>0&&this._holey.set(l,c)}return c}_measure(t,s){let a=this._measureElements[s];return a.textContent=t.repeat(32),a.offsetWidth/32}},Da=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,s,a,h=!1){if(this.selectionStart=s,this.selectionEnd=a,!s||!a||s[0]===a[0]&&s[1]===a[1]){this.clear();return}let l=t.buffers.active.ydisp,c=s[1]-l,d=a[1]-l,_=Math.max(c,0),f=Math.min(d,t.rows-1);if(_>=t.rows||f<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=h,this.viewportStartRow=c,this.viewportEndRow=d,this.viewportCappedStartRow=_,this.viewportCappedEndRow=f,this.startCol=s[0],this.endCol=a[0]}isCellSelected(t,s,a){return this.hasSelection?(a-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?s>=this.startCol&&a>=this.viewportCappedStartRow&&s<this.endCol&&a<=this.viewportCappedEndRow:s<this.startCol&&a>=this.viewportCappedStartRow&&s>=this.endCol&&a<=this.viewportCappedEndRow:a>this.viewportStartRow&&a<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportEndRow&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol):!1}};function Ba(){return new Da}var Bi="xterm-dom-renderer-owner-",Re="xterm-rows",Yt="xterm-fg-",Qs="xterm-bg-",Ct="xterm-focus",jt="xterm-selection",Ra=1,Qi=class extends W{constructor(t,s,a,h,l,c,d,_,f,u,m,p,S,b){super();this._terminal=t,this._document=s,this._element=a,this._screenElement=h,this._viewportElement=l,this._helperContainer=c,this._linkifier2=d,this._charSizeService=f,this._optionsService=u,this._bufferService=m,this._coreService=p,this._coreBrowserService=S,this._themeService=b,this._terminalClass=Ra++,this._rowElements=[],this._selectionRenderModel=Ba(),this.onRequestRedraw=this._register(new D).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Re),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(jt),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=ka(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors((v)=>this._injectCss(v))),this._injectCss(this._themeService.colors),this._rowFactory=_.createInstance(Zi,document),this._element.classList.add(Bi+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((v)=>this._handleLinkHover(v))),this._register(this._linkifier2.onHideLinkUnderline((v)=>this._handleLinkLeave(v))),this._register(G(()=>{this._element.classList.remove(Bi+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Ea(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let a of this._rowElements)a.style.width=`${this.dimensions.css.canvas.width}px`,a.style.height=`${this.dimensions.css.cell.height}px`,a.style.lineHeight=`${this.dimensions.css.cell.height}px`,a.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let s=`${this._terminalSelector} .${Re} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=s,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let s=`${this._terminalSelector} .${Re} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;s+=`${this._terminalSelector} .${Re} .xterm-dim { color: ${j.multiplyOpacity(t.foreground,0.5).css};}`,s+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let a=`blink_underline_${this._terminalClass}`,h=`blink_bar_${this._terminalClass}`,l=`blink_block_${this._terminalClass}`;s+=`@keyframes ${a} { 50% { border-bottom-style: hidden; }}`,s+=`@keyframes ${h} { 50% { box-shadow: none; }}`,s+=`@keyframes ${l} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,s+=`${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${a} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${h} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${l} 1s step-end infinite;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,s+=`${this._terminalSelector} .${jt} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${jt} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${jt} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[c,d]of t.ansi.entries())s+=`${this._terminalSelector} .${Yt}${c} { color: ${d.css}; }${this._terminalSelector} .${Yt}${c}.xterm-dim { color: ${j.multiplyOpacity(d,0.5).css}; }${this._terminalSelector} .${Qs}${c} { background-color: ${d.css}; }`;s+=`${this._terminalSelector} .${Yt}257 { color: ${j.opaque(t.background).css}; }${this._terminalSelector} .${Yt}257.xterm-dim { color: ${j.multiplyOpacity(j.opaque(t.background),0.5).css}; }${this._terminalSelector} .${Qs}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=s}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,s){for(let a=this._rowElements.length;a<=s;a++){let h=this._document.createElement("div");this._rowContainer.appendChild(h),this._rowElements.push(h)}for(;this._rowElements.length>s;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,s){this._refreshRowElements(t,s),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(Ct),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Ct),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,s,a){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,s,a),this.renderRows(0,this._bufferService.rows-1),!t||!s||(this._selectionRenderModel.update(this._terminal,t,s,a),!this._selectionRenderModel.hasSelection))return;let h=this._selectionRenderModel.viewportStartRow,l=this._selectionRenderModel.viewportEndRow,c=this._selectionRenderModel.viewportCappedStartRow,d=this._selectionRenderModel.viewportCappedEndRow,_=this._document.createDocumentFragment();if(a){let f=t[0]>s[0];_.appendChild(this._createSelectionElement(c,f?s[0]:t[0],f?t[0]:s[0],d-c+1))}else{let f=h===c?t[0]:0,u=c===l?s[0]:this._bufferService.cols;_.appendChild(this._createSelectionElement(c,f,u));let m=d-c-1;if(_.appendChild(this._createSelectionElement(c+1,0,this._bufferService.cols,m)),c!==d){let p=l===d?s[0]:this._bufferService.cols;_.appendChild(this._createSelectionElement(d,0,p))}}this._selectionContainer.appendChild(_)}_createSelectionElement(t,s,a,h=1){let l=this._document.createElement("div"),c=s*this.dimensions.css.cell.width,d=this.dimensions.css.cell.width*(a-s);return c+d>this.dimensions.css.canvas.width&&(d=this.dimensions.css.canvas.width-c),l.style.height=`${h*this.dimensions.css.cell.height}px`,l.style.top=`${t*this.dimensions.css.cell.height}px`,l.style.left=`${c}px`,l.style.width=`${d}px`,l}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,s){let a=this._bufferService.buffer,h=a.ybase+a.y,l=Math.min(a.x,this._bufferService.cols-1),c=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,d=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,_=this._optionsService.rawOptions.cursorInactiveStyle;for(let f=t;f<=s;f++){let u=f+a.ydisp,m=this._rowElements[f],p=a.lines.get(u);if(!m||!p)break;m.replaceChildren(...this._rowFactory.createRow(p,u,u===h,d,_,l,c,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Bi}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,s,a,h,l,c){a<0&&(t=0),h<0&&(s=0);let d=this._bufferService.rows-1;a=Math.max(Math.min(a,d),0),h=Math.max(Math.min(h,d),0),l=Math.min(l,this._bufferService.cols);let _=this._bufferService.buffer,f=_.ybase+_.y,u=Math.min(_.x,l-1),m=this._optionsService.rawOptions.cursorBlink,p=this._optionsService.rawOptions.cursorStyle,S=this._optionsService.rawOptions.cursorInactiveStyle;for(let b=a;b<=h;++b){let v=b+_.ydisp,w=this._rowElements[b],R=_.lines.get(v);if(!w||!R)break;w.replaceChildren(...this._rowFactory.createRow(R,v,v===f,p,S,u,m,this.dimensions.css.cell.width,this._widthCache,c?b===a?t:0:-1,c?(b===h?s:l)-1:-1))}}};Qi=te([M(7,us),M(8,fi),M(9,be),M(10,Se),M(11,ut),M(12,Ue),M(13,gt)],Qi);var es=class extends W{constructor(t,s,a){super();this._optionsService=a,this.width=0,this.height=0,this._onCharSizeChange=this._register(new D),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Ma(this._optionsService))}catch{this._measureStrategy=this._register(new La(t,s,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};es=te([M(2,be)],es);var Zr=class extends W{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(t,s){t!==void 0&&t>0&&s!==void 0&&s>0&&(this._result.width=t,this._result.height=s)}},La=class extends Zr{constructor(t,s,a){super();this._document=t,this._parentElement=s,this._optionsService=a,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},Ma=class extends Zr{constructor(t){super();this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let s=this._ctx.measureText("W");if(!(("width"in s)&&("fontBoundingBoxAscent"in s)&&("fontBoundingBoxDescent"in s)))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},Ta=class extends W{constructor(t,s,a){super();this._textarea=t,this._window=s,this.mainDocument=a,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Pa(this._window)),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new D),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((h)=>this._screenDprMonitor.setWindow(h))),this._register(ge.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(H(this._textarea,"focus",()=>this._isFocused=!0)),this._register(H(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Pa=class extends W{constructor(t){super();this._parentWindow=t,this._windowResizeListener=this._register(new pt),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(G(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=H(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Aa=class extends W{constructor(){super();this.linkProviders=[],this._register(G(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let s=this.linkProviders.indexOf(t);s!==-1&&this.linkProviders.splice(s,1)}}}};function bs(t,s,a){let h=a.getBoundingClientRect(),l=t.getComputedStyle(a),c=parseInt(l.getPropertyValue("padding-left")),d=parseInt(l.getPropertyValue("padding-top"));return[s.clientX-h.left-c,s.clientY-h.top-d]}function Oa(t,s,a,h,l,c,d,_,f){if(!c)return;let u=bs(t,s,a);if(u)return u[0]=Math.ceil((u[0]+(f?d/2:0))/d),u[1]=Math.ceil(u[1]/_),u[0]=Math.min(Math.max(u[0],1),h+(f?1:0)),u[1]=Math.min(Math.max(u[1],1),l),u}var ts=class{constructor(t,s){this._renderService=t,this._charSizeService=s}getCoords(t,s,a,h,l){return Oa(window,t,s,a,h,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,l)}getMouseReportCoords(t,s){let a=bs(window,t,s);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};ts=te([M(0,Ke),M(1,fi)],ts);var Ia=class{constructor(t,s){this._renderCallback=t,this._coreBrowserService=s,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,s,a){this._rowCount=a,t=t!==void 0?t:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,s),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},Qr={};vn(Qr,{getSafariVersion:()=>Ha,isChromeOS:()=>rn,isFirefox:()=>en,isIpad:()=>Wa,isIphone:()=>za,isLegacyEdge:()=>Na,isLinux:()=>ws,isMac:()=>ci,isNode:()=>mi,isSafari:()=>tn,isWindows:()=>sn});var mi=typeof process<"u"&&"title"in process,$t=mi?"node":navigator.userAgent,Ut=mi?"node":navigator.platform,en=$t.includes("Firefox"),Na=$t.includes("Edge"),tn=/^((?!chrome|android).)*safari/i.test($t);function Ha(){if(!tn)return 0;let t=$t.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var ci=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Ut),Wa=Ut==="iPad",za=Ut==="iPhone",sn=["Windows","Win16","Win32","WinCE"].includes(Ut),ws=Ut.indexOf("Linux")>=0,rn=/\bCrOS\b/.test($t),nn=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let s=0,a=0,h=t.timeRemaining(),l=0;for(;this._i<this._tasks.length;){if(s=performance.now(),this._tasks[this._i]()||this._i++,s=Math.max(1,performance.now()-s),a=Math.max(s,a),l=t.timeRemaining(),a*1.5>l){h-s<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(h-s))}ms`),this._start();return}h=l}this.clear()}},Fa=class extends nn{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let s=performance.now()+t;return{timeRemaining:()=>Math.max(0,s-performance.now())}}},$a=class extends nn{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},di=!mi&&"requestIdleCallback"in window?$a:Fa,Ua=class{constructor(){this._queue=new di}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},is=class extends W{constructor(t,s,a,h,l,c,d,_,f){super();this._rowCount=t,this._optionsService=a,this._charSizeService=h,this._coreService=l,this._coreBrowserService=_,this._renderer=this._register(new pt),this._pausedResizeTask=new Ua,this._observerDisposable=this._register(new pt),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new D),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new D),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new D),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ia((u,m)=>this._renderRows(u,m),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Ka(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(G(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(d.onResize(()=>this._fullRefresh())),this._register(d.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(c.onDecorationRegistered(()=>this._fullRefresh())),this._register(c.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(d.cols,d.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(d.buffer.y,d.buffer.y,!0))),this._register(f.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,s),this._register(this._coreBrowserService.onWindowChange((u)=>this._registerIntersectionObserver(u,s)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,s){if("IntersectionObserver"in t){let a=new t.IntersectionObserver((h)=>this._handleIntersectionChange(h[h.length-1]),{threshold:0});a.observe(s),this._observerDisposable.value=G(()=>a.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,s,a=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,s);return}let h=this._syncOutputHandler.flush();h&&(t=Math.min(t,h.start),s=Math.max(s,h.end)),a||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,s,this._rowCount)}_renderRows(t,s){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,s);return}t=Math.min(t,this._rowCount-1),s=Math.min(s,this._rowCount-1),this._renderer.value.renderRows(t,s),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:s}),this._onRender.fire({start:t,end:s}),this._isNextRenderRedrawOnly=!0}}resize(t,s){this._rowCount=s,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw((s)=>this.refreshRows(s.start,s.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,s){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(t,s)):this._renderer.value.handleResize(t,s),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(t,s,a){this._selectionState.start=t,this._selectionState.end=s,this._selectionState.columnSelectMode=a,this._renderer.value?.handleSelectionChanged(t,s,a)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};is=te([M(2,be),M(3,fi),M(4,ut),M(5,Ft),M(6,Se),M(7,Ue),M(8,gt)],is);var Ka=class{constructor(t,s,a){this._coreBrowserService=t,this._coreService=s,this._onTimeout=a,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,s){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,s)):(this._start=t,this._end=s,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1000))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function qa(t,s,a,h){let l=a.buffer.x,c=a.buffer.y;if(!a.buffer.hasScrollback)return ja(l,c,t,s,a,h)+vi(c,s,a,h)+Xa(l,c,t,s,a,h);let d;if(c===s)return d=l>t?"D":"C",Ht(Math.abs(l-t),Nt(d,h));d=c>s?"D":"C";let _=Math.abs(c-s),f=Ya(c>s?t:l,a)+(_-1)*a.cols+1+Va(c>s?l:t,a);return Ht(f,Nt(d,h))}function Va(t,s){return t-1}function Ya(t,s){return s.cols-t}function ja(t,s,a,h,l,c){return vi(s,h,l,c).length===0?"":Ht(an(t,s,t,s-dt(s,l),!1,l).length,Nt("D",c))}function vi(t,s,a,h){let l=t-dt(t,a),c=s-dt(s,a),d=Math.abs(l-c)-Ga(t,s,a);return Ht(d,Nt(on(t,s),h))}function Xa(t,s,a,h,l,c){let d;vi(s,h,l,c).length>0?d=h-dt(h,l):d=s;let _=h,f=Ja(t,s,a,h,l,c);return Ht(an(t,d,a,_,f==="C",l).length,Nt(f,c))}function Ga(t,s,a){let h=0,l=t-dt(t,a),c=s-dt(s,a);for(let d=0;d<Math.abs(l-c);d++){let _=on(t,s)==="A"?-1:1;a.buffer.lines.get(l+_*d)?.isWrapped&&h++}return h}function dt(t,s){let a=0,h=s.buffer.lines.get(t),l=h?.isWrapped;for(;l&&t>=0&&t<s.rows;)a++,h=s.buffer.lines.get(--t),l=h?.isWrapped;return a}function Ja(t,s,a,h,l,c){let d;return vi(a,h,l,c).length>0?d=h-dt(h,l):d=s,t<a&&d<=h||t>=a&&d<h?"C":"D"}function on(t,s){return t>s?"A":"B"}function an(t,s,a,h,l,c){let d=t,_=s,f="";for(;(d!==a||_!==h)&&_>=0&&_<c.buffer.lines.length;)d+=l?1:-1,l&&d>c.cols-1?(f+=c.buffer.translateBufferLineToString(_,!1,t,d),d=0,t=0,_++):!l&&d<0&&(f+=c.buffer.translateBufferLineToString(_,!1,0,t+1),d=c.cols-1,t=d,_--);return f+c.buffer.translateBufferLineToString(_,!1,t,d)}function Nt(t,s){let a=s?"O":"[";return C.ESC+a+t}function Ht(t,s){t=Math.floor(t);let a="";for(let h=0;h<t;h++)a+=s;return a}var Za=class{constructor(t){this._bufferService=t,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,s=this.selectionEnd;return!t||!s?!1:t[1]>s[1]||t[1]===s[1]&&t[0]>s[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function er(t,s){if(t.start.y>t.end.y)throw Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return s*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var Ri=50,Qa=15,eh=50,th=500,ih=" ",sh=new RegExp(ih,"g"),ss=class extends W{constructor(t,s,a,h,l,c,d,_,f){super();this._element=t,this._screenElement=s,this._linkifier=a,this._bufferService=h,this._coreService=l,this._mouseService=c,this._optionsService=d,this._renderService=_,this._coreBrowserService=f,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Me,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new D),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new D),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=(u)=>this._handleMouseMove(u),this._mouseUpListener=(u)=>this._handleMouseUp(u),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim((u)=>this._handleTrim(u)),this._register(this._bufferService.buffers.onBufferActivate((u)=>this._handleBufferActivate(u))),this.enable(),this._model=new Za(this._bufferService),this._activeSelectionMode=0,this._register(G(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize((u)=>{u.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!t||!s?!1:t[0]!==s[0]||t[1]!==s[1]}get selectionText(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;if(!t||!s)return"";let a=this._bufferService.buffer,h=[];if(this._activeSelectionMode===3){if(t[0]===s[0])return"";let l=t[0]<s[0]?t[0]:s[0],c=t[0]<s[0]?s[0]:t[0];for(let d=t[1];d<=s[1];d++){let _=a.translateBufferLineToString(d,!0,l,c);h.push(_)}}else{let l=t[1]===s[1]?s[0]:void 0;h.push(a.translateBufferLineToString(t[1],!0,t[0],l));for(let c=t[1]+1;c<=s[1]-1;c++){let d=a.lines.get(c),_=a.translateBufferLineToString(c,!0);d?.isWrapped?h[h.length-1]+=_:h.push(_)}if(t[1]!==s[1]){let c=a.lines.get(s[1]),d=a.translateBufferLineToString(s[1],!0,0,s[0]);c&&c.isWrapped?h[h.length-1]+=d:h.push(d)}}return h.map((l)=>l.replace(sh," ")).join(sn?`\r
32
32
  `:`
33
- `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),ws&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let s=this._getMouseBufferCoords(t),a=this._model.finalSelectionStart,h=this._model.finalSelectionEnd;return!a||!h||!s?!1:this._areCoordsInSelection(s,a,h)}isCellInSelection(t,s){let a=this._model.finalSelectionStart,h=this._model.finalSelectionEnd;return!a||!h?!1:this._areCoordsInSelection([t,s],a,h)}_areCoordsInSelection(t,s,a){return t[1]>s[1]&&t[1]<a[1]||s[1]===a[1]&&t[1]===s[1]&&t[0]>=s[0]&&t[0]<a[0]||s[1]<a[1]&&t[1]===a[1]&&t[0]<a[0]||s[1]<a[1]&&t[1]===s[1]&&t[0]>=s[0]}_selectWordAtCursor(t,s){let a=this._linkifier.currentLink?.link?.range;if(a)return this._model.selectionStart=[a.start.x-1,a.start.y-1],this._model.selectionStartLength=er(a,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let h=this._getMouseBufferCoords(t);return h?(this._selectWordAt(h,s),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,s){this._model.clearSelection(),t=Math.max(t,0),s=Math.min(s,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,s],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let s=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(s)return s[0]--,s[1]--,s[1]+=this._bufferService.buffer.ydisp,s}_getMouseEventScrollAmount(t){let s=bs(this._coreBrowserService.window,t,this._screenElement)[1],a=this._renderService.dimensions.css.canvas.height;return s>=0&&s<=a?0:(s>a&&(s-=a),s=Math.min(Math.max(s,-Ri),Ri),s/=Ri,s/Math.abs(s)+Math.round(s*(Qa-1)))}shouldForceSelection(t){return ci?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),eh)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let s=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);s&&s.length!==this._model.selectionStart[0]&&s.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let s=this._getMouseBufferCoords(t);s&&(this._activeSelectionMode=2,this._selectLineAt(s[1]))}shouldColumnSelect(t){return t.altKey&&!(ci&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let s=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(t),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let a=this._bufferService.buffer;if(this._model.selectionEnd[1]<a.lines.length){let h=a.lines.get(this._model.selectionEnd[1]);h&&h.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!s||s[0]!==this._model.selectionEnd[0]||s[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let t=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let s=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&s<th&&t.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let a=this._mouseService.getCoords(t,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(a&&a[0]!==void 0&&a[1]!==void 0){let h=qa(a[0]-1,a[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(h,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd,a=!!t&&!!s&&(t[0]!==s[0]||t[1]!==s[1]);if(!a){this._oldHasSelection&&this._fireOnSelectionChange(t,s,a);return}!t||!s||(!this._oldSelectionStart||!this._oldSelectionEnd||t[0]!==this._oldSelectionStart[0]||t[1]!==this._oldSelectionStart[1]||s[0]!==this._oldSelectionEnd[0]||s[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(t,s,a)}_fireOnSelectionChange(t,s,a){this._oldSelectionStart=t,this._oldSelectionEnd=s,this._oldHasSelection=a,this._onSelectionChange.fire()}_handleBufferActivate(t){this.clearSelection(),this._trimListener.dispose(),this._trimListener=t.activeBuffer.lines.onTrim((s)=>this._handleTrim(s))}_convertViewportColToCharacterIndex(t,s){let a=s;for(let h=0;s>=h;h++){let l=t.loadCell(h,this._workCell).getChars().length;this._workCell.getWidth()===0?a--:l>1&&s!==h&&(a+=l-1)}return a}setSelection(t,s,a){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,s],this._model.selectionStartLength=a,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,s,a=!0,h=!0){if(t[0]>=this._bufferService.cols)return;let l=this._bufferService.buffer,c=l.lines.get(t[1]);if(!c)return;let d=l.translateBufferLineToString(t[1],!1),_=this._convertViewportColToCharacterIndex(c,t[0]),f=_,u=t[0]-_,m=0,p=0,S=0,b=0;if(d.charAt(_)===" "){for(;_>0&&d.charAt(_-1)===" ";)_--;for(;f<d.length&&d.charAt(f+1)===" ";)f++}else{let R=t[0],P=t[0];c.getWidth(R)===0&&(m++,R--),c.getWidth(P)===2&&(p++,P++);let U=c.getString(P).length;for(U>1&&(b+=U-1,f+=U-1);R>0&&_>0&&!this._isCharWordSeparator(c.loadCell(R-1,this._workCell));){c.loadCell(R-1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===0?(m++,R--):I>1&&(S+=I-1,_-=I-1),_--,R--}for(;P<c.length&&f+1<d.length&&!this._isCharWordSeparator(c.loadCell(P+1,this._workCell));){c.loadCell(P+1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===2?(p++,P++):I>1&&(b+=I-1,f+=I-1),f++,P++}}f++;let v=_+u-m+S,w=Math.min(this._bufferService.cols,f-_+m+p-S-b);if(!(!s&&d.slice(_,f).trim()==="")){if(a&&v===0&&c.getCodePoint(0)!==32){let R=l.lines.get(t[1]-1);if(R&&c.isWrapped&&R.getCodePoint(this._bufferService.cols-1)!==32){let P=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(P){let U=this._bufferService.cols-P.start;v-=U,w+=U}}}if(h&&v+w===this._bufferService.cols&&c.getCodePoint(this._bufferService.cols-1)!==32){let R=l.lines.get(t[1]+1);if(R?.isWrapped&&R.getCodePoint(0)!==32){let P=this._getWordAt([0,t[1]+1],!1,!1,!0);P&&(w+=P.length)}}return{start:v,length:w}}}_selectWordAt(t,s){let a=this._getWordAt(t,s);if(a){for(;a.start<0;)a.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[a.start,t[1]],this._model.selectionStartLength=a.length}}_selectToWordAt(t){let s=this._getWordAt(t,!0);if(s){let a=t[1];for(;s.start<0;)s.start+=this._bufferService.cols,a--;if(!this._model.areSelectionValuesReversed())for(;s.start+s.length>this._bufferService.cols;)s.length-=this._bufferService.cols,a++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?s.start:s.start+s.length,a]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let s=this._bufferService.buffer.getWrappedRangeForLine(t),a={start:{x:0,y:s.first},end:{x:this._bufferService.cols-1,y:s.last}};this._model.selectionStart=[0,s.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=er(a,this._bufferService.cols)}};ss=te([M(3,Se),M(4,ut),M(5,_s),M(6,be),M(7,Ke),M(8,Ue)],ss);var tr=class{constructor(){this._data={}}set(t,s,a){this._data[t]||(this._data[t]={}),this._data[t][s]=a}get(t,s){return this._data[t]?this._data[t][s]:void 0}clear(){this._data={}}},ir=class{constructor(){this._color=new tr,this._css=new tr}setCss(t,s,a){this._css.set(t,s,a)}getCss(t,s){return this._css.get(t,s)}setColor(t,s,a){this._color.set(t,s,a)}getColor(t,s){return this._color.get(t,s)}clear(){this._color.clear(),this._css.clear()}},oe=Object.freeze((()=>{let t=[Q.toColor("#2e3436"),Q.toColor("#cc0000"),Q.toColor("#4e9a06"),Q.toColor("#c4a000"),Q.toColor("#3465a4"),Q.toColor("#75507b"),Q.toColor("#06989a"),Q.toColor("#d3d7cf"),Q.toColor("#555753"),Q.toColor("#ef2929"),Q.toColor("#8ae234"),Q.toColor("#fce94f"),Q.toColor("#729fcf"),Q.toColor("#ad7fa8"),Q.toColor("#34e2e2"),Q.toColor("#eeeeec")],s=[0,95,135,175,215,255];for(let a=0;a<216;a++){let h=s[a/36%6|0],l=s[a/6%6|0],c=s[a%6];t.push({css:ne.toCss(h,l,c),rgba:ne.toRgba(h,l,c)})}for(let a=0;a<24;a++){let h=8+a*10;t.push({css:ne.toCss(h,h,h),rgba:ne.toRgba(h,h,h)})}return t})()),ot=Q.toColor("#ffffff"),Lt=Q.toColor("#000000"),sr=Q.toColor("#ffffff"),rr=Lt,xt={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},rh=ot,rs=class extends W{constructor(t){super();this._optionsService=t,this._contrastCache=new ir,this._halfContrastCache=new ir,this._onChangeColors=this._register(new D),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:ot,background:Lt,cursor:sr,cursorAccent:rr,selectionForeground:void 0,selectionBackgroundTransparent:xt,selectionBackgroundOpaque:j.blend(Lt,xt),selectionInactiveBackgroundTransparent:xt,selectionInactiveBackgroundOpaque:j.blend(Lt,xt),scrollbarSliderBackground:j.opacity(ot,0.2),scrollbarSliderHoverBackground:j.opacity(ot,0.4),scrollbarSliderActiveBackground:j.opacity(ot,0.5),overviewRulerBorder:ot,ansi:oe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let s=this._colors;if(s.foreground=q(t.foreground,ot),s.background=q(t.background,Lt),s.cursor=j.blend(s.background,q(t.cursor,sr)),s.cursorAccent=j.blend(s.background,q(t.cursorAccent,rr)),s.selectionBackgroundTransparent=q(t.selectionBackground,xt),s.selectionBackgroundOpaque=j.blend(s.background,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundTransparent=q(t.selectionInactiveBackground,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundOpaque=j.blend(s.background,s.selectionInactiveBackgroundTransparent),s.selectionForeground=t.selectionForeground?q(t.selectionForeground,Js):void 0,s.selectionForeground===Js&&(s.selectionForeground=void 0),j.isOpaque(s.selectionBackgroundTransparent)&&(s.selectionBackgroundTransparent=j.opacity(s.selectionBackgroundTransparent,0.3)),j.isOpaque(s.selectionInactiveBackgroundTransparent)&&(s.selectionInactiveBackgroundTransparent=j.opacity(s.selectionInactiveBackgroundTransparent,0.3)),s.scrollbarSliderBackground=q(t.scrollbarSliderBackground,j.opacity(s.foreground,0.2)),s.scrollbarSliderHoverBackground=q(t.scrollbarSliderHoverBackground,j.opacity(s.foreground,0.4)),s.scrollbarSliderActiveBackground=q(t.scrollbarSliderActiveBackground,j.opacity(s.foreground,0.5)),s.overviewRulerBorder=q(t.overviewRulerBorder,rh),s.ansi=oe.slice(),s.ansi[0]=q(t.black,oe[0]),s.ansi[1]=q(t.red,oe[1]),s.ansi[2]=q(t.green,oe[2]),s.ansi[3]=q(t.yellow,oe[3]),s.ansi[4]=q(t.blue,oe[4]),s.ansi[5]=q(t.magenta,oe[5]),s.ansi[6]=q(t.cyan,oe[6]),s.ansi[7]=q(t.white,oe[7]),s.ansi[8]=q(t.brightBlack,oe[8]),s.ansi[9]=q(t.brightRed,oe[9]),s.ansi[10]=q(t.brightGreen,oe[10]),s.ansi[11]=q(t.brightYellow,oe[11]),s.ansi[12]=q(t.brightBlue,oe[12]),s.ansi[13]=q(t.brightMagenta,oe[13]),s.ansi[14]=q(t.brightCyan,oe[14]),s.ansi[15]=q(t.brightWhite,oe[15]),t.extendedAnsi){let a=Math.min(s.ansi.length-16,t.extendedAnsi.length);for(let h=0;h<a;h++)s.ansi[h+16]=q(t.extendedAnsi[h],oe[h+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(t){this._restoreColor(t),this._onChangeColors.fire(this.colors)}_restoreColor(t){if(t===void 0){for(let s=0;s<this._restoreColors.ansi.length;++s)this._colors.ansi[s]=this._restoreColors.ansi[s];return}switch(t){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[t]=this._restoreColors.ansi[t]}}modifyColors(t){t(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};rs=te([M(0,be)],rs);function q(t,s){if(t!==void 0)try{return Q.toColor(t)}catch{}return s}var nh=class{constructor(...t){this._entries=new Map;for(let[s,a]of t)this.set(s,a)}set(t,s){let a=this._entries.get(t);return this._entries.set(t,s),a}forEach(t){for(let[s,a]of this._entries.entries())t(s,a)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},oh=class{constructor(){this._services=new nh,this._services.set(us,this)}setService(t,s){this._services.set(t,s)}getService(t){return this._services.get(t)}createInstance(t,...s){let a=kn(t).sort((c,d)=>c.index-d.index),h=[];for(let c of a){let d=this._services.get(c.id);if(!d)throw Error(`[createInstance] ${t.name} depends on UNKNOWN service ${c.id._id}.`);h.push(d)}let l=a.length>0?a[0].index:s.length;if(s.length!==l)throw Error(`[createInstance] First service dependency of ${t.name} at position ${l+1} conflicts with ${s.length} static arguments`);return new t(...s,...h)}},ah={trace:0,debug:1,info:2,warn:3,error:4,off:5},hh="xterm.js: ",ns=class extends W{constructor(t){super();this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),lh=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ah[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let s=0;s<t.length;s++)typeof t[s]=="function"&&(t[s]=t[s]())}_log(t,s,a){this._evalLazyOptionalParams(a),t.call(console,(this._optionsService.options.logger?"":hh)+s,...a)}trace(t,...s){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,t,s)}debug(t,...s){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,t,s)}info(t,...s){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,t,s)}warn(t,...s){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,t,s)}error(t,...s){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,t,s)}};ns=te([M(0,be)],ns);var lh,nr=class extends W{constructor(t){super();this._maxLength=t,this.onDeleteEmitter=this._register(new D),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new D),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new D),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(t){if(this._maxLength===t)return;let s=Array(t);for(let a=0;a<Math.min(t,this.length);a++)s[a]=this._array[this._getCyclicIndex(a)];this._array=s,this._maxLength=t,this._startIndex=0}get length(){return this._length}set length(t){if(t>this._length)for(let s=this._length;s<t;s++)this._array[s]=void 0;this._length=t}get(t){return this._array[this._getCyclicIndex(t)]}set(t,s){this._array[this._getCyclicIndex(t)]=s}push(t){this._array[this._getCyclicIndex(this._length)]=t,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(t,s,...a){if(s){for(let h=t;h<this._length-s;h++)this._array[this._getCyclicIndex(h)]=this._array[this._getCyclicIndex(h+s)];this._length-=s,this.onDeleteEmitter.fire({index:t,amount:s})}for(let h=this._length-1;h>=t;h--)this._array[this._getCyclicIndex(h+a.length)]=this._array[this._getCyclicIndex(h)];for(let h=0;h<a.length;h++)this._array[this._getCyclicIndex(t+h)]=a[h];if(a.length&&this.onInsertEmitter.fire({index:t,amount:a.length}),this._length+a.length>this._maxLength){let h=this._length+a.length-this._maxLength;this._startIndex+=h,this._length=this._maxLength,this.onTrimEmitter.fire(h)}else this._length+=a.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,s,a){if(!(s<=0)){if(t<0||t>=this._length)throw Error("start argument out of range");if(t+a<0)throw Error("Cannot shift elements in list beyond index 0");if(a>0){for(let l=s-1;l>=0;l--)this.set(t+l+a,this.get(t+l));let h=t+s+a-this._length;if(h>0)for(this._length+=h;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let h=0;h<s;h++)this.set(t+h+a,this.get(t+h))}}_getCyclicIndex(t){return(this._startIndex+t)%this._maxLength}};var z=3,re=Object.freeze(new zt),Xt=0,Li=2,Mt=class t{constructor(s,a,h=!1){this.isWrapped=h,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(s*z);let l=a||Me.fromCharData([0,Rr,1,0]);for(let c=0;c<s;++c)this.setCell(c,l);this.length=s}get(s){let a=this._data[s*z+0],h=a&2097151;return[this._data[s*z+1],a&2097152?this._combined[s]:h?Ze(h):"",a>>22,a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):h]}set(s,a){this._data[s*z+1]=a[0],a[1].length>1?(this._combined[s]=a[1],this._data[s*z+0]=s|2097152|a[2]<<22):this._data[s*z+0]=a[1].charCodeAt(0)|a[2]<<22}getWidth(s){return this._data[s*z+0]>>22}hasWidth(s){return this._data[s*z+0]&12582912}getFg(s){return this._data[s*z+1]}getBg(s){return this._data[s*z+2]}hasContent(s){return this._data[s*z+0]&4194303}getCodePoint(s){let a=this._data[s*z+0];return a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):a&2097151}isCombined(s){return this._data[s*z+0]&2097152}getString(s){let a=this._data[s*z+0];return a&2097152?this._combined[s]:a&2097151?Ze(a&2097151):""}isProtected(s){return this._data[s*z+2]&536870912}loadCell(s,a){return Xt=s*z,a.content=this._data[Xt+0],a.fg=this._data[Xt+1],a.bg=this._data[Xt+2],a.content&2097152&&(a.combinedData=this._combined[s]),a.bg&268435456&&(a.extended=this._extendedAttrs[s]),a}setCell(s,a){a.content&2097152&&(this._combined[s]=a.combinedData),a.bg&268435456&&(this._extendedAttrs[s]=a.extended),this._data[s*z+0]=a.content,this._data[s*z+1]=a.fg,this._data[s*z+2]=a.bg}setCellFromCodepoint(s,a,h,l){l.bg&268435456&&(this._extendedAttrs[s]=l.extended),this._data[s*z+0]=a|h<<22,this._data[s*z+1]=l.fg,this._data[s*z+2]=l.bg}addCodepointToCell(s,a,h){let l=this._data[s*z+0];l&2097152?this._combined[s]+=Ze(a):l&2097151?(this._combined[s]=Ze(l&2097151)+Ze(a),l&=-2097152,l|=2097152):l=a|4194304,h&&(l&=-12582913,l|=h<<22),this._data[s*z+0]=l}insertCells(s,a,h){if(s%=this.length,s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,h),a<this.length-s){let l=new Me;for(let c=this.length-s-a-1;c>=0;--c)this.setCell(s+a+c,this.loadCell(s+c,l));for(let c=0;c<a;++c)this.setCell(s+c,h)}else for(let l=s;l<this.length;++l)this.setCell(l,h);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,h)}deleteCells(s,a,h){if(s%=this.length,a<this.length-s){let l=new Me;for(let c=0;c<this.length-s-a;++c)this.setCell(s+c,this.loadCell(s+a+c,l));for(let c=this.length-a;c<this.length;++c)this.setCell(c,h)}else for(let l=s;l<this.length;++l)this.setCell(l,h);s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,h),this.getWidth(s)===0&&!this.hasContent(s)&&this.setCellFromCodepoint(s,0,1,h)}replaceCells(s,a,h,l=!1){if(l){for(s&&this.getWidth(s-1)===2&&!this.isProtected(s-1)&&this.setCellFromCodepoint(s-1,0,1,h),a<this.length&&this.getWidth(a-1)===2&&!this.isProtected(a)&&this.setCellFromCodepoint(a,0,1,h);s<a&&s<this.length;)this.isProtected(s)||this.setCell(s,h),s++;return}for(s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,h),a<this.length&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a,0,1,h);s<a&&s<this.length;)this.setCell(s++,h)}resize(s,a){if(s===this.length)return this._data.length*4*Li<this._data.buffer.byteLength;let h=s*z;if(s>this.length){if(this._data.buffer.byteLength>=h*4)this._data=new Uint32Array(this._data.buffer,0,h);else{let l=new Uint32Array(h);l.set(this._data),this._data=l}for(let l=this.length;l<s;++l)this.setCell(l,a)}else{this._data=this._data.subarray(0,h);let l=Object.keys(this._combined);for(let d=0;d<l.length;d++){let _=parseInt(l[d],10);_>=s&&delete this._combined[_]}let c=Object.keys(this._extendedAttrs);for(let d=0;d<c.length;d++){let _=parseInt(c[d],10);_>=s&&delete this._extendedAttrs[_]}}return this.length=s,h*4*Li<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Li<this._data.buffer.byteLength){let s=new Uint32Array(this._data.length);return s.set(this._data),this._data=s,1}return 0}fill(s,a=!1){if(a){for(let h=0;h<this.length;++h)this.isProtected(h)||this.setCell(h,s);return}this._combined={},this._extendedAttrs={};for(let h=0;h<this.length;++h)this.setCell(h,s)}copyFrom(s){this.length!==s.length?this._data=new Uint32Array(s._data):this._data.set(s._data),this.length=s.length,this._combined={};for(let a in s._combined)this._combined[a]=s._combined[a];this._extendedAttrs={};for(let a in s._extendedAttrs)this._extendedAttrs[a]=s._extendedAttrs[a];this.isWrapped=s.isWrapped}clone(){let s=new t(0);s._data=new Uint32Array(this._data),s.length=this.length;for(let a in this._combined)s._combined[a]=this._combined[a];for(let a in this._extendedAttrs)s._extendedAttrs[a]=this._extendedAttrs[a];return s.isWrapped=this.isWrapped,s}getTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303)return s+(this._data[s*z+0]>>22);return 0}getNoBgTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303||this._data[s*z+2]&50331648)return s+(this._data[s*z+0]>>22);return 0}copyCellsFrom(s,a,h,l,c){let d=s._data;if(c)for(let f=l-1;f>=0;f--){for(let u=0;u<z;u++)this._data[(h+f)*z+u]=d[(a+f)*z+u];d[(a+f)*z+2]&268435456&&(this._extendedAttrs[h+f]=s._extendedAttrs[a+f])}else for(let f=0;f<l;f++){for(let u=0;u<z;u++)this._data[(h+f)*z+u]=d[(a+f)*z+u];d[(a+f)*z+2]&268435456&&(this._extendedAttrs[h+f]=s._extendedAttrs[a+f])}let _=Object.keys(s._combined);for(let f=0;f<_.length;f++){let u=parseInt(_[f],10);u>=a&&(this._combined[u-a+h]=s._combined[u])}}translateToString(s,a,h,l){a=a??0,h=h??this.length,s&&(h=Math.min(h,this.getTrimmedLength())),l&&(l.length=0);let c="";for(;a<h;){let d=this._data[a*z+0],_=d&2097151,f=d&2097152?this._combined[a]:_?Ze(_):Qe;if(c+=f,l)for(let u=0;u<f.length;++u)l.push(a);a+=d>>22||1}return l&&l.push(a),c}};function ch(t,s,a,h,l,c){let d=[];for(let _=0;_<t.length-1;_++){let f=_,u=t.get(++f);if(!u.isWrapped)continue;let m=[t.get(_)];for(;f<t.length&&u.isWrapped;)m.push(u),u=t.get(++f);if(!c&&h>=_&&h<f){_+=m.length-1;continue}let p=0,S=Wt(m,p,s),b=1,v=0;for(;b<m.length;){let R=Wt(m,b,s),P=R-v,U=a-S,I=Math.min(P,U);m[p].copyCellsFrom(m[b],v,S,I,!1),S+=I,S===a&&(p++,S=0),v+=I,v===R&&(b++,v=0),S===0&&p!==0&&m[p-1].getWidth(a-1)===2&&(m[p].copyCellsFrom(m[p-1],a-1,S++,1,!1),m[p-1].setCell(a-1,l))}m[p].replaceCells(S,a,l);let w=0;for(let R=m.length-1;R>0&&(R>p||m[R].getTrimmedLength()===0);R--)w++;w>0&&(d.push(_+m.length-w),d.push(w)),_+=m.length-1}return d}function dh(t,s){let a=[],h=0,l=s[h],c=0;for(let d=0;d<t.length;d++)if(l===d){let _=s[++h];t.onDeleteEmitter.fire({index:d-c,amount:_}),d+=_-1,c+=_,l=s[++h]}else a.push(d);return{layout:a,countRemoved:c}}function uh(t,s){let a=[];for(let h=0;h<s.length;h++)a.push(t.get(s[h]));for(let h=0;h<a.length;h++)t.set(h,a[h]);t.length=s.length}function _h(t,s,a){let h=[],l=t.map((f,u)=>Wt(t,u,s)).reduce((f,u)=>f+u),c=0,d=0,_=0;for(;_<l;){if(l-_<a){h.push(l-_);break}c+=a;let f=Wt(t,d,s);c>f&&(c-=f,d++);let u=t[d].getWidth(c-1)===2;u&&c--;let m=u?a-1:a;h.push(m),_+=m}return h}function Wt(t,s,a){if(s===t.length-1)return t[s].getTrimmedLength();let h=!t[s].hasContent(a-1)&&t[s].getWidth(a-1)===1,l=t[s+1].getWidth(0)===2;return h&&l?a-1:a}var hn=class t{constructor(s){this.line=s,this.isDisposed=!1,this._disposables=[],this._id=t._nextId++,this._onDispose=this.register(new D),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),ct(this._disposables),this._disposables.length=0)}register(s){return this._disposables.push(s),s}};hn._nextId=1;var fh=hn,he={},at=he.B;he[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};he.A={"#":"£"};he.B=void 0;he[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};he.C=he[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};he.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};he.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};he.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};he.E=he[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};he.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};he.H=he[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var or=4294967295,ar=class{constructor(t,s,a){this._hasScrollback=t,this._optionsService=s,this._bufferService=a,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=re.clone(),this.savedCharset=at,this.markers=[],this._nullCell=Me.fromCharData([0,Rr,1,0]),this._whitespaceCell=Me.fromCharData([0,Qe,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new di,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new ri),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new ri),this._whitespaceCell}getBlankLine(t,s){return new Mt(this._bufferService.cols,this.getNullCell(t),s)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&t<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let s=t+this._optionsService.rawOptions.scrollback;return s>or?or:s}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=re);let s=this._rows;for(;s--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,s){let a=this.getNullCell(re),h=0,l=this._getCorrectBufferLength(s);if(l>this.lines.maxLength&&(this.lines.maxLength=l),this.lines.length>0){if(this._cols<t)for(let d=0;d<this.lines.length;d++)h+=+this.lines.get(d).resize(t,a);let c=0;if(this._rows<s)for(let d=this._rows;d<s;d++)this.lines.length<s+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Mt(t,a)):this.ybase>0&&this.lines.length<=this.ybase+this.y+c+1?(this.ybase--,c++,this.ydisp>0&&this.ydisp--):this.lines.push(new Mt(t,a)));else for(let d=this._rows;d>s;d--)this.lines.length>s+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(l<this.lines.maxLength){let d=this.lines.length-l;d>0&&(this.lines.trimStart(d),this.ybase=Math.max(this.ybase-d,0),this.ydisp=Math.max(this.ydisp-d,0),this.savedY=Math.max(this.savedY-d,0)),this.lines.maxLength=l}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,s-1),c&&(this.y+=c),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=s-1,this._isReflowEnabled&&(this._reflow(t,s),this._cols>t))for(let c=0;c<this.lines.length;c++)h+=+this.lines.get(c).resize(t,a);this._cols=t,this._rows=s,this._memoryCleanupQueue.clear(),h>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let s=0;for(;this._memoryCleanupPosition<this.lines.length;)if(s+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),s>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,s){this._cols!==t&&(t>this._cols?this._reflowLarger(t,s):this._reflowSmaller(t,s))}_reflowLarger(t,s){let a=this._optionsService.rawOptions.reflowCursorLine,h=ch(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(re),a);if(h.length>0){let l=dh(this.lines,h);uh(this.lines,l.layout),this._reflowLargerAdjustViewport(t,s,l.countRemoved)}}_reflowLargerAdjustViewport(t,s,a){let h=this.getNullCell(re),l=a;for(;l-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<s&&this.lines.push(new Mt(t,h))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-a,0)}_reflowSmaller(t,s){let a=this._optionsService.rawOptions.reflowCursorLine,h=this.getNullCell(re),l=[],c=0;for(let d=this.lines.length-1;d>=0;d--){let _=this.lines.get(d);if(!_||!_.isWrapped&&_.getTrimmedLength()<=t)continue;let f=[_];for(;_.isWrapped&&d>0;)_=this.lines.get(--d),f.unshift(_);if(!a){let I=this.ybase+this.y;if(I>=d&&I<d+f.length)continue}let u=f[f.length-1].getTrimmedLength(),m=_h(f,this._cols,t),p=m.length-f.length,S;this.ybase===0&&this.y!==this.lines.length-1?S=Math.max(0,this.y-this.lines.maxLength+p):S=Math.max(0,this.lines.length-this.lines.maxLength+p);let b=[];for(let I=0;I<p;I++){let E=this.getBlankLine(re,!0);b.push(E)}b.length>0&&(l.push({start:d+f.length+c,newLines:b}),c+=b.length),f.push(...b);let v=m.length-1,w=m[v];w===0&&(v--,w=m[v]);let R=f.length-p-1,P=u;for(;R>=0;){let I=Math.min(P,w);if(f[v]===void 0)break;if(f[v].copyCellsFrom(f[R],P-I,w-I,I,!0),w-=I,w===0&&(v--,w=m[v]),P-=I,P===0){R--;let E=Math.max(R,0);P=Wt(f,E,this._cols)}}for(let I=0;I<f.length;I++)m[I]<t&&f[I].setCell(m[I],h);let U=p-S;for(;U-- >0;)this.ybase===0?this.y<s-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+c)-s&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+p,this.ybase+s-1)}if(l.length>0){let d=[],_=[];for(let w=0;w<this.lines.length;w++)_.push(this.lines.get(w));let f=this.lines.length,u=f-1,m=0,p=l[m];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+c);let S=0;for(let w=Math.min(this.lines.maxLength-1,f+c-1);w>=0;w--)if(p&&p.start>u+S){for(let R=p.newLines.length-1;R>=0;R--)this.lines.set(w--,p.newLines[R]);w++,d.push({index:u+1,amount:p.newLines.length}),S+=p.newLines.length,p=l[++m]}else this.lines.set(w,_[u--]);let b=0;for(let w=d.length-1;w>=0;w--)d[w].index+=b,this.lines.onInsertEmitter.fire(d[w]),b+=d[w].amount;let v=Math.max(0,f+c-this.lines.maxLength);v>0&&this.lines.onTrimEmitter.fire(v)}}translateBufferLineToString(t,s,a=0,h){let l=this.lines.get(t);return l?l.translateToString(s,a,h):""}getWrappedRangeForLine(t){let s=t,a=t;for(;s>0&&this.lines.get(s).isWrapped;)s--;for(;a+1<this.lines.length&&this.lines.get(a+1).isWrapped;)a++;return{first:s,last:a}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let s=0;s<this.markers.length;s++)this.markers[s].line===t&&(this.markers[s].dispose(),this.markers.splice(s--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let s=new fh(t);return this.markers.push(s),s.register(this.lines.onTrim((a)=>{s.line-=a,s.line<0&&s.dispose()})),s.register(this.lines.onInsert((a)=>{s.line>=a.index&&(s.line+=a.amount)})),s.register(this.lines.onDelete((a)=>{s.line>=a.index&&s.line<a.index+a.amount&&s.dispose(),s.line>a.index&&(s.line-=a.amount)})),s.register(s.onDispose(()=>this._removeMarker(s))),s}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},ph=class extends W{constructor(t,s){super();this._optionsService=t,this._bufferService=s,this._onBufferActivate=this._register(new D),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new ar(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new ar(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,s){this._normal.resize(t,s),this._alt.resize(t,s),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},ln=2,cn=1,os=class extends W{constructor(t){super();this.isUserScrolling=!1,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,ln),this.rows=Math.max(t.rawOptions.rows||0,cn),this.buffers=this._register(new ph(t,this)),this._register(this.buffers.onBufferActivate((s)=>{this._onScroll.fire(s.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,s){let a=this.cols!==t,h=this.rows!==s;this.cols=t,this.rows=s,this.buffers.resize(t,s),this._onResize.fire({cols:t,rows:s,colsChanged:a,rowsChanged:h})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,s=!1){let a=this.buffer,h;h=this._cachedBlankLine,(!h||h.length!==this.cols||h.getFg(0)!==t.fg||h.getBg(0)!==t.bg)&&(h=a.getBlankLine(t,s),this._cachedBlankLine=h),h.isWrapped=s;let l=a.ybase+a.scrollTop,c=a.ybase+a.scrollBottom;if(a.scrollTop===0){let d=a.lines.isFull;c===a.lines.length-1?d?a.lines.recycle().copyFrom(h):a.lines.push(h.clone()):a.lines.splice(c+1,0,h.clone()),d?this.isUserScrolling&&(a.ydisp=Math.max(a.ydisp-1,0)):(a.ybase++,this.isUserScrolling||a.ydisp++)}else{let d=c-l+1;a.lines.shiftElements(l+1,d-1,-1),a.lines.set(c,h.clone())}this.isUserScrolling||(a.ydisp=a.ybase),this._onScroll.fire(a.ydisp)}scrollLines(t,s){let a=this.buffer;if(t<0){if(a.ydisp===0)return;this.isUserScrolling=!0}else t+a.ydisp>=a.ybase&&(this.isUserScrolling=!1);let h=a.ydisp;a.ydisp=Math.max(Math.min(a.ydisp+t,a.ybase),0),h!==a.ydisp&&(s||this._onScroll.fire(a.ydisp))}};os=te([M(0,be)],os);var _t={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1000,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:ci,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},gh=["normal","bold","100","200","300","400","500","600","700","800","900"],mh=class extends W{constructor(t){super();this._onOptionChange=this._register(new D),this.onOptionChange=this._onOptionChange.event;let s={..._t};for(let a in t)if(a in s)try{let h=t[a];s[a]=this._sanitizeAndValidateOption(a,h)}catch(h){console.error(h)}this.rawOptions=s,this.options={...s},this._setupOptions(),this._register(G(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,s){return this.onOptionChange((a)=>{a===t&&s(this.rawOptions[t])})}onMultipleOptionChange(t,s){return this.onOptionChange((a)=>{t.indexOf(a)!==-1&&s()})}_setupOptions(){let t=(a)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);return this.rawOptions[a]},s=(a,h)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);h=this._sanitizeAndValidateOption(a,h),this.rawOptions[a]!==h&&(this.rawOptions[a]=h,this._onOptionChange.fire(a))};for(let a in this.rawOptions){let h={get:t.bind(this,a),set:s.bind(this,a)};Object.defineProperty(this.options,a,h)}}_sanitizeAndValidateOption(t,s){switch(t){case"cursorStyle":if(s||(s=_t[t]),!vh(s))throw Error(`"${s}" is not a valid value for ${t}`);break;case"wordSeparator":s||(s=_t[t]);break;case"fontWeight":case"fontWeightBold":if(typeof s=="number"&&1<=s&&s<=1000)break;s=gh.includes(s)?s:_t[t];break;case"cursorWidth":s=Math.floor(s);case"lineHeight":case"tabStopWidth":if(s<1)throw Error(`${t} cannot be less than 1, value: ${s}`);break;case"minimumContrastRatio":s=Math.max(1,Math.min(21,Math.round(s*10)/10));break;case"scrollback":if(s=Math.min(s,4294967295),s<0)throw Error(`${t} cannot be less than 0, value: ${s}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(s<=0)throw Error(`${t} cannot be less than or equal to 0, value: ${s}`);break;case"rows":case"cols":if(!s&&s!==0)throw Error(`${t} must be numeric, value: ${s}`);break;case"windowsPty":s=s??{};break}return s}};function vh(t){return t==="block"||t==="underline"||t==="bar"}function Tt(t,s=5){if(typeof t!="object")return t;let a=Array.isArray(t)?[]:{};for(let h in t)a[h]=s<=1?t[h]:t[h]&&Tt(t[h],s-1);return a}var hr=Object.freeze({insertMode:!1}),lr=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),as=class extends W{constructor(t,s,a){super();this._bufferService=t,this._logService=s,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new D),this.onData=this._onData.event,this._onUserInput=this._register(new D),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new D),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}reset(){this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}triggerDataEvent(t,s=!1){if(this._optionsService.rawOptions.disableStdin)return;let a=this._bufferService.buffer;s&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),s&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map((h)=>h.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map((s)=>s.charCodeAt(0))),this._onBinary.fire(t))}};as=te([M(0,Se),M(1,Mr),M(2,be)],as);var cr={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(t)=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:(t)=>t.action!==32},DRAG:{events:23,restrict:(t)=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:(t)=>!0}};function Mi(t,s){let a=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(a|=64,a|=t.action):(a|=t.button&3,t.button&4&&(a|=64),t.button&8&&(a|=128),t.action===32?a|=32:t.action===0&&!s&&(a|=3)),a}var Ti=String.fromCharCode,dr={DEFAULT:(t)=>{let s=[Mi(t,!1)+32,t.col+32,t.row+32];return s[0]>255||s[1]>255||s[2]>255?"":`\x1B[M${Ti(s[0])}${Ti(s[1])}${Ti(s[2])}`},SGR:(t)=>{let s=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${Mi(t,!0)};${t.col};${t.row}${s}`},SGR_PIXELS:(t)=>{let s=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${Mi(t,!0)};${t.x};${t.y}${s}`}},hs=class extends W{constructor(t,s,a){super();this._bufferService=t,this._coreService=s,this._optionsService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new D),this.onProtocolChange=this._onProtocolChange.event;for(let h of Object.keys(cr))this.addProtocol(h,cr[h]);for(let h of Object.keys(dr))this.addEncoding(h,dr[h]);this.reset()}addProtocol(t,s){this._protocols[t]=s}addEncoding(t,s){this._encodings[t]=s}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,s,a){if(t.deltaY===0||t.shiftKey||s===void 0||a===void 0)return 0;let h=s/a,l=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(l/=h+0,Math.abs(t.deltaY)<50&&(l*=0.3),this._wheelPartialScroll+=l,l=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(l*=this._bufferService.rows),l}_applyScrollModifier(t,s){return s.altKey||s.ctrlKey||s.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let s=this._encodings[this._activeEncoding](t);return s&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(s):this._coreService.triggerDataEvent(s,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,s,a){if(a){if(t.x!==s.x||t.y!==s.y)return!1}else if(t.col!==s.col||t.row!==s.row)return!1;return!(t.button!==s.button||t.action!==s.action||t.ctrl!==s.ctrl||t.alt!==s.alt||t.shift!==s.shift)}};hs=te([M(0,Se),M(1,ut),M(2,be)],hs);var Pi=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],Sh=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],ae;function bh(t,s){let a=0,h=s.length-1,l;if(t<s[0][0]||t>s[h][1])return!1;for(;h>=a;)if(l=a+h>>1,t>s[l][1])a=l+1;else if(t<s[l][0])h=l-1;else return!0;return!1}var wh=class{constructor(){if(this.version="6",!ae){ae=new Uint8Array(65536),ae.fill(1),ae[0]=0,ae.fill(0,1,32),ae.fill(0,127,160),ae.fill(2,4352,4448),ae[9001]=2,ae[9002]=2,ae.fill(2,11904,42192),ae[12351]=1,ae.fill(2,44032,55204),ae.fill(2,63744,64256),ae.fill(2,65040,65050),ae.fill(2,65072,65136),ae.fill(2,65280,65377),ae.fill(2,65504,65511);for(let t=0;t<Pi.length;++t)ae.fill(0,Pi[t][0],Pi[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?ae[t]:bh(t,Sh)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,s){let a=this.wcwidth(t),h=a===0&&s!==0;if(h){let l=ht.extractWidth(s);l===0?h=!1:l>a&&(a=l)}return ht.createPropertyValue(0,a,h)}},ht=class t{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new D,this.onChange=this._onChange.event;let s=new wh;this.register(s),this._active=s.version,this._activeProvider=s}static extractShouldJoin(s){return(s&1)!==0}static extractWidth(s){return s>>1&3}static extractCharKind(s){return s>>3}static createPropertyValue(s,a,h=!1){return(s&16777215)<<3|(a&3)<<1|(h?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(s){if(!this._providers[s])throw Error(`unknown Unicode version "${s}"`);this._active=s,this._activeProvider=this._providers[s],this._onChange.fire(s)}register(s){this._providers[s.version]=s}wcwidth(s){return this._activeProvider.wcwidth(s)}getStringCellWidth(s){let a=0,h=0,l=s.length;for(let c=0;c<l;++c){let d=s.charCodeAt(c);if(55296<=d&&d<=56319){if(++c>=l)return a+this.wcwidth(d);let u=s.charCodeAt(c);56320<=u&&u<=57343?d=(d-55296)*1024+u-56320+65536:a+=this.wcwidth(u)}let _=this.charProperties(d,h),f=t.extractWidth(_);t.extractShouldJoin(_)&&(f-=t.extractWidth(h)),a+=f,h=_}return a}charProperties(s,a){return this._activeProvider.charProperties(s,a)}},yh=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,s){this._charsets[t]=s,this.glevel===t&&(this.charset=s)}};function ur(t){let s=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1)?.get(t.cols-1),a=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);a&&s&&(a.isWrapped=s[3]!==0&&s[3]!==32)}var kt=2147483647,Ch=256,dn=class t{constructor(s=32,a=32){if(this.maxLength=s,this.maxSubParamsLength=a,a>Ch)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(s),this.length=0,this._subParams=new Int32Array(a),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(s),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(s){let a=new t;if(!s.length)return a;for(let h=Array.isArray(s[0])?1:0;h<s.length;++h){let l=s[h];if(Array.isArray(l))for(let c=0;c<l.length;++c)a.addSubParam(l[c]);else a.addParam(l)}return a}clone(){let s=new t(this.maxLength,this.maxSubParamsLength);return s.params.set(this.params),s.length=this.length,s._subParams.set(this._subParams),s._subParamsLength=this._subParamsLength,s._subParamsIdx.set(this._subParamsIdx),s._rejectDigits=this._rejectDigits,s._rejectSubDigits=this._rejectSubDigits,s._digitIsSub=this._digitIsSub,s}toArray(){let s=[];for(let a=0;a<this.length;++a){s.push(this.params[a]);let h=this._subParamsIdx[a]>>8,l=this._subParamsIdx[a]&255;l-h>0&&s.push(Array.prototype.slice.call(this._subParams,h,l))}return s}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(s){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=s>kt?kt:s}addSubParam(s){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=s>kt?kt:s,this._subParamsIdx[this.length-1]++}}hasSubParams(s){return(this._subParamsIdx[s]&255)-(this._subParamsIdx[s]>>8)>0}getSubParams(s){let a=this._subParamsIdx[s]>>8,h=this._subParamsIdx[s]&255;return h-a>0?this._subParams.subarray(a,h):null}getSubParamsAll(){let s={};for(let a=0;a<this.length;++a){let h=this._subParamsIdx[a]>>8,l=this._subParamsIdx[a]&255;l-h>0&&(s[a]=this._subParams.slice(h,l))}return s}addDigit(s){let a;if(this._rejectDigits||!(a=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let h=this._digitIsSub?this._subParams:this.params,l=h[a-1];h[a-1]=~l?Math.min(l*10+s,kt):s}},Et=[],xh=class{constructor(){this._state=0,this._active=Et,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,s){this._handlers[t]===void 0&&(this._handlers[t]=[]);let a=this._handlers[t];return a.push(s),{dispose:()=>{let h=a.indexOf(s);h!==-1&&a.splice(h,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Et}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=Et,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Et,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,s,a){if(!this._active.length)this._handlerFb(this._id,"PUT",_i(t,s,a));else for(let h=this._active.length-1;h>=0;h--)this._active[h].put(t,s,a)}start(){this.reset(),this._state=1}put(t,s,a){if(this._state!==3){if(this._state===1)for(;s<a;){let h=t[s++];if(h===59){this._state=2,this._start();break}if(h<48||57<h){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+h-48}this._state===2&&a-s>0&&this._put(t,s,a)}}end(t,s=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let a=!1,h=this._active.length-1,l=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,a=s,l=this._stack.fallThrough,this._stack.paused=!1),!l&&a===!1){for(;h>=0&&(a=this._active[h].end(t),a!==!0);h--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,a;h--}for(;h>=0;h--)if(a=this._active[h].end(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,a}this._active=Et,this._id=-1,this._state=0}}},Ee=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,s,a){this._hitLimit||(this._data+=_i(t,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let s=!1;if(this._hitLimit)s=!1;else if(t&&(s=this._handler(this._data),s instanceof Promise))return s.then((a)=>(this._data="",this._hitLimit=!1,a));return this._data="",this._hitLimit=!1,s}},Dt=[],kh=class{constructor(){this._handlers=Object.create(null),this._active=Dt,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Dt}registerHandler(t,s){this._handlers[t]===void 0&&(this._handlers[t]=[]);let a=this._handlers[t];return a.push(s),{dispose:()=>{let h=a.indexOf(s);h!==-1&&a.splice(h,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=Dt,this._ident=0}hook(t,s){if(this.reset(),this._ident=t,this._active=this._handlers[t]||Dt,!this._active.length)this._handlerFb(this._ident,"HOOK",s);else for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(s)}put(t,s,a){if(!this._active.length)this._handlerFb(this._ident,"PUT",_i(t,s,a));else for(let h=this._active.length-1;h>=0;h--)this._active[h].put(t,s,a)}unhook(t,s=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let a=!1,h=this._active.length-1,l=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,a=s,l=this._stack.fallThrough,this._stack.paused=!1),!l&&a===!1){for(;h>=0&&(a=this._active[h].unhook(t),a!==!0);h--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,a;h--}for(;h>=0;h--)if(a=this._active[h].unhook(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,a}this._active=Dt,this._ident=0}},Pt=new dn;Pt.addParam(0);var _r=class{constructor(t){this._handler=t,this._data="",this._params=Pt,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():Pt,this._data="",this._hitLimit=!1}put(t,s,a){this._hitLimit||(this._data+=_i(t,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let s=!1;if(this._hitLimit)s=!1;else if(t&&(s=this._handler(this._data,this._params),s instanceof Promise))return s.then((a)=>(this._params=Pt,this._data="",this._hitLimit=!1,a));return this._params=Pt,this._data="",this._hitLimit=!1,s}},Eh=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,s){this.table.fill(t<<4|s)}add(t,s,a,h){this.table[s<<8|t]=a<<4|h}addMany(t,s,a,h){for(let l=0;l<t.length;l++)this.table[s<<8|t[l]]=a<<4|h}},Le=160,Dh=function(){let t=new Eh(4095),s=Array.apply(null,Array(256)).map((_,f)=>f),a=(_,f)=>s.slice(_,f),h=a(32,127),l=a(0,24);l.push(25),l.push.apply(l,a(28,32));let c=a(0,14),d;t.setDefault(1,0),t.addMany(h,0,2,0);for(d in c)t.addMany([24,26,153,154],d,3,0),t.addMany(a(128,144),d,3,0),t.addMany(a(144,152),d,3,0),t.add(156,d,0,0),t.add(27,d,11,1),t.add(157,d,4,8),t.addMany([152,158,159],d,0,7),t.add(155,d,11,3),t.add(144,d,11,9);return t.addMany(l,0,3,0),t.addMany(l,1,3,1),t.add(127,1,0,1),t.addMany(l,8,0,8),t.addMany(l,3,3,3),t.add(127,3,0,3),t.addMany(l,4,3,4),t.add(127,4,0,4),t.addMany(l,6,3,6),t.addMany(l,5,3,5),t.add(127,5,0,5),t.addMany(l,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(h,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(a(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(h,7,0,7),t.addMany(l,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(a(64,127),3,7,0),t.addMany(a(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(a(48,60),4,8,4),t.addMany(a(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(a(32,64),6,0,6),t.add(127,6,0,6),t.addMany(a(64,127),6,0,0),t.addMany(a(32,48),3,9,5),t.addMany(a(32,48),5,9,5),t.addMany(a(48,64),5,0,6),t.addMany(a(64,127),5,7,0),t.addMany(a(32,48),4,9,5),t.addMany(a(32,48),1,9,2),t.addMany(a(32,48),2,9,2),t.addMany(a(48,127),2,10,0),t.addMany(a(48,80),1,10,0),t.addMany(a(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(a(96,127),1,10,0),t.add(80,1,11,9),t.addMany(l,9,0,9),t.add(127,9,0,9),t.addMany(a(28,32),9,0,9),t.addMany(a(32,48),9,9,12),t.addMany(a(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(l,11,0,11),t.addMany(a(32,128),11,0,11),t.addMany(a(28,32),11,0,11),t.addMany(l,10,0,10),t.add(127,10,0,10),t.addMany(a(28,32),10,0,10),t.addMany(a(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(a(32,48),10,9,12),t.addMany(l,12,0,12),t.add(127,12,0,12),t.addMany(a(28,32),12,0,12),t.addMany(a(32,48),12,9,12),t.addMany(a(48,64),12,0,11),t.addMany(a(64,127),12,12,13),t.addMany(a(64,127),10,12,13),t.addMany(a(64,127),9,12,13),t.addMany(l,13,13,13),t.addMany(h,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(Le,0,2,0),t.add(Le,8,5,8),t.add(Le,6,0,6),t.add(Le,11,0,11),t.add(Le,13,13,13),t}(),Bh=class extends W{constructor(t=Dh){super();this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new dn,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(s,a,h)=>{},this._executeHandlerFb=(s)=>{},this._csiHandlerFb=(s,a)=>{},this._escHandlerFb=(s)=>{},this._errorHandlerFb=(s)=>s,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(G(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new xh),this._dcsParser=this._register(new kh),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,s=[64,126]){let a=0;if(t.prefix){if(t.prefix.length>1)throw Error("only one byte as prefix supported");if(a=t.prefix.charCodeAt(0),a&&60>a||a>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let l=0;l<t.intermediates.length;++l){let c=t.intermediates.charCodeAt(l);if(32>c||c>47)throw Error("intermediate must be in range 0x20 .. 0x2f");a<<=8,a|=c}}if(t.final.length!==1)throw Error("final must be a single byte");let h=t.final.charCodeAt(0);if(s[0]>h||h>s[1])throw Error(`final must be in range ${s[0]} .. ${s[1]}`);return a<<=8,a|=h,a}identToString(t){let s=[];for(;t;)s.push(String.fromCharCode(t&255)),t>>=8;return s.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,s){let a=this._identifier(t,[48,126]);this._escHandlers[a]===void 0&&(this._escHandlers[a]=[]);let h=this._escHandlers[a];return h.push(s),{dispose:()=>{let l=h.indexOf(s);l!==-1&&h.splice(l,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,s){this._executeHandlers[t.charCodeAt(0)]=s}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,s){let a=this._identifier(t);this._csiHandlers[a]===void 0&&(this._csiHandlers[a]=[]);let h=this._csiHandlers[a];return h.push(s),{dispose:()=>{let l=h.indexOf(s);l!==-1&&h.splice(l,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,s){return this._dcsParser.registerHandler(this._identifier(t),s)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,s){return this._oscParser.registerHandler(t,s)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,s,a,h,l){this._parseStack.state=t,this._parseStack.handlers=s,this._parseStack.handlerPos=a,this._parseStack.transition=h,this._parseStack.chunkPos=l}parse(t,s,a){let h=0,l=0,c=0,d;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,c=this._parseStack.chunkPos+1;else{if(a===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let _=this._parseStack.handlers,f=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(a===!1&&f>-1){for(;f>=0&&(d=_[f](this._params),d!==!0);f--)if(d instanceof Promise)return this._parseStack.handlerPos=f,d}this._parseStack.handlers=[];break;case 4:if(a===!1&&f>-1){for(;f>=0&&(d=_[f](),d!==!0);f--)if(d instanceof Promise)return this._parseStack.handlerPos=f,d}this._parseStack.handlers=[];break;case 6:if(h=t[this._parseStack.chunkPos],d=this._dcsParser.unhook(h!==24&&h!==26,a),d)return d;h===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(h=t[this._parseStack.chunkPos],d=this._oscParser.end(h!==24&&h!==26,a),d)return d;h===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,c=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let _=c;_<s;++_){switch(h=t[_],l=this._transitions.table[this.currentState<<8|(h<160?h:Le)],l>>4){case 2:for(let S=_+1;;++S){if(S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}if(++S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}if(++S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}if(++S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}}break;case 3:this._executeHandlers[h]?this._executeHandlers[h]():this._executeHandlerFb(h),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:_,code:h,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let f=this._csiHandlers[this._collect<<8|h],u=f?f.length-1:-1;for(;u>=0&&(d=f[u](this._params),d!==!0);u--)if(d instanceof Promise)return this._preserveStack(3,f,u,l,_),d;u<0&&this._csiHandlerFb(this._collect<<8|h,this._params),this.precedingJoinState=0;break;case 8:do switch(h){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(h-48)}while(++_<s&&(h=t[_])>47&&h<60);_--;break;case 9:this._collect<<=8,this._collect|=h;break;case 10:let m=this._escHandlers[this._collect<<8|h],p=m?m.length-1:-1;for(;p>=0&&(d=m[p](),d!==!0);p--)if(d instanceof Promise)return this._preserveStack(4,m,p,l,_),d;p<0&&this._escHandlerFb(this._collect<<8|h),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|h,this._params);break;case 13:for(let S=_+1;;++S)if(S>=s||(h=t[S])===24||h===26||h===27||h>127&&h<Le){this._dcsParser.put(t,_,S),_=S-1;break}break;case 14:if(d=this._dcsParser.unhook(h!==24&&h!==26),d)return this._preserveStack(6,[],0,l,_),d;h===27&&(l|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let S=_+1;;S++)if(S>=s||(h=t[S])<32||h>127&&h<Le){this._oscParser.put(t,_,S),_=S-1;break}break;case 6:if(d=this._oscParser.end(h!==24&&h!==26),d)return this._preserveStack(5,[],0,l,_),d;h===27&&(l|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=l&15}}},Rh=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,Lh=/^[\da-f]+$/;function fr(t){if(!t)return;let s=t.toLowerCase();if(s.indexOf("rgb:")===0){s=s.slice(4);let a=Rh.exec(s);if(a){let h=a[1]?15:a[4]?255:a[7]?4095:65535;return[Math.round(parseInt(a[1]||a[4]||a[7]||a[10],16)/h*255),Math.round(parseInt(a[2]||a[5]||a[8]||a[11],16)/h*255),Math.round(parseInt(a[3]||a[6]||a[9]||a[12],16)/h*255)]}}else if(s.indexOf("#")===0&&(s=s.slice(1),Lh.exec(s)&&[3,6,9,12].includes(s.length))){let a=s.length/3,h=[0,0,0];for(let l=0;l<3;++l){let c=parseInt(s.slice(a*l,a*l+a),16);h[l]=a===1?c<<4:a===2?c:a===3?c>>4:c>>8}return h}}function Ai(t,s){let a=t.toString(16),h=a.length<2?"0"+a:a;switch(s){case 4:return a[0];case 8:return h;case 12:return(h+h).slice(0,3);default:return h+h}}function Mh(t,s=16){let[a,h,l]=t;return`rgb:${Ai(a,s)}/${Ai(h,s)}/${Ai(l,s)}`}var Th={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Je=131072,pr=10;function gr(t,s){if(t>24)return s.setWinLines||!1;switch(t){case 1:return!!s.restoreWin;case 2:return!!s.minimizeWin;case 3:return!!s.setWinPosition;case 4:return!!s.setWinSizePixels;case 5:return!!s.raiseWin;case 6:return!!s.lowerWin;case 7:return!!s.refreshWin;case 8:return!!s.setWinSizeChars;case 9:return!!s.maximizeWin;case 10:return!!s.fullscreenWin;case 11:return!!s.getWinState;case 13:return!!s.getWinPosition;case 14:return!!s.getWinSizePixels;case 15:return!!s.getScreenSizePixels;case 16:return!!s.getCellSizePixels;case 18:return!!s.getWinSizeChars;case 19:return!!s.getScreenSizeChars;case 20:return!!s.getIconTitle;case 21:return!!s.getWinTitle;case 22:return!!s.pushTitle;case 23:return!!s.popTitle;case 24:return!!s.setWinLines}return!1}var mr=5000,vr=0,Ph=class extends W{constructor(t,s,a,h,l,c,d,_,f=new Bh){super();this._bufferService=t,this._charsetService=s,this._coreService=a,this._logService=h,this._optionsService=l,this._oscLinkService=c,this._coreMouseService=d,this._unicodeService=_,this._parser=f,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Cn,this._utf8Decoder=new xn,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone(),this._onRequestBell=this._register(new D),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new D),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new D),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new D),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new D),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new D),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new D),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new D),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new D),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new ls(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((u)=>this._activeBuffer=u.activeBuffer)),this._parser.setCsiHandlerFallback((u,m)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(u),params:m.toArray()})}),this._parser.setEscHandlerFallback((u)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(u)})}),this._parser.setExecuteHandlerFallback((u)=>{this._logService.debug("Unknown EXECUTE code: ",{code:u})}),this._parser.setOscHandlerFallback((u,m,p)=>{this._logService.debug("Unknown OSC code: ",{identifier:u,action:m,data:p})}),this._parser.setDcsHandlerFallback((u,m,p)=>{m==="HOOK"&&(p=p.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(u),action:m,payload:p})}),this._parser.setPrintHandler((u,m,p)=>this.print(u,m,p)),this._parser.registerCsiHandler({final:"@"},(u)=>this.insertChars(u)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(u)=>this.scrollLeft(u)),this._parser.registerCsiHandler({final:"A"},(u)=>this.cursorUp(u)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(u)=>this.scrollRight(u)),this._parser.registerCsiHandler({final:"B"},(u)=>this.cursorDown(u)),this._parser.registerCsiHandler({final:"C"},(u)=>this.cursorForward(u)),this._parser.registerCsiHandler({final:"D"},(u)=>this.cursorBackward(u)),this._parser.registerCsiHandler({final:"E"},(u)=>this.cursorNextLine(u)),this._parser.registerCsiHandler({final:"F"},(u)=>this.cursorPrecedingLine(u)),this._parser.registerCsiHandler({final:"G"},(u)=>this.cursorCharAbsolute(u)),this._parser.registerCsiHandler({final:"H"},(u)=>this.cursorPosition(u)),this._parser.registerCsiHandler({final:"I"},(u)=>this.cursorForwardTab(u)),this._parser.registerCsiHandler({final:"J"},(u)=>this.eraseInDisplay(u,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(u)=>this.eraseInDisplay(u,!0)),this._parser.registerCsiHandler({final:"K"},(u)=>this.eraseInLine(u,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(u)=>this.eraseInLine(u,!0)),this._parser.registerCsiHandler({final:"L"},(u)=>this.insertLines(u)),this._parser.registerCsiHandler({final:"M"},(u)=>this.deleteLines(u)),this._parser.registerCsiHandler({final:"P"},(u)=>this.deleteChars(u)),this._parser.registerCsiHandler({final:"S"},(u)=>this.scrollUp(u)),this._parser.registerCsiHandler({final:"T"},(u)=>this.scrollDown(u)),this._parser.registerCsiHandler({final:"X"},(u)=>this.eraseChars(u)),this._parser.registerCsiHandler({final:"Z"},(u)=>this.cursorBackwardTab(u)),this._parser.registerCsiHandler({final:"`"},(u)=>this.charPosAbsolute(u)),this._parser.registerCsiHandler({final:"a"},(u)=>this.hPositionRelative(u)),this._parser.registerCsiHandler({final:"b"},(u)=>this.repeatPrecedingCharacter(u)),this._parser.registerCsiHandler({final:"c"},(u)=>this.sendDeviceAttributesPrimary(u)),this._parser.registerCsiHandler({prefix:">",final:"c"},(u)=>this.sendDeviceAttributesSecondary(u)),this._parser.registerCsiHandler({final:"d"},(u)=>this.linePosAbsolute(u)),this._parser.registerCsiHandler({final:"e"},(u)=>this.vPositionRelative(u)),this._parser.registerCsiHandler({final:"f"},(u)=>this.hVPosition(u)),this._parser.registerCsiHandler({final:"g"},(u)=>this.tabClear(u)),this._parser.registerCsiHandler({final:"h"},(u)=>this.setMode(u)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(u)=>this.setModePrivate(u)),this._parser.registerCsiHandler({final:"l"},(u)=>this.resetMode(u)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(u)=>this.resetModePrivate(u)),this._parser.registerCsiHandler({final:"m"},(u)=>this.charAttributes(u)),this._parser.registerCsiHandler({final:"n"},(u)=>this.deviceStatus(u)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(u)=>this.deviceStatusPrivate(u)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(u)=>this.softReset(u)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(u)=>this.setCursorStyle(u)),this._parser.registerCsiHandler({final:"r"},(u)=>this.setScrollRegion(u)),this._parser.registerCsiHandler({final:"s"},(u)=>this.saveCursor(u)),this._parser.registerCsiHandler({final:"t"},(u)=>this.windowOptions(u)),this._parser.registerCsiHandler({final:"u"},(u)=>this.restoreCursor(u)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(u)=>this.insertColumns(u)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(u)=>this.deleteColumns(u)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(u)=>this.selectProtected(u)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(u)=>this.requestMode(u,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(u)=>this.requestMode(u,!1)),this._parser.setExecuteHandler(C.BEL,()=>this.bell()),this._parser.setExecuteHandler(C.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(C.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(C.BS,()=>this.backspace()),this._parser.setExecuteHandler(C.HT,()=>this.tab()),this._parser.setExecuteHandler(C.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(C.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ii.IND,()=>this.index()),this._parser.setExecuteHandler(ii.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ii.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Ee((u)=>(this.setTitle(u),this.setIconName(u),!0))),this._parser.registerOscHandler(1,new Ee((u)=>this.setIconName(u))),this._parser.registerOscHandler(2,new Ee((u)=>this.setTitle(u))),this._parser.registerOscHandler(4,new Ee((u)=>this.setOrReportIndexedColor(u))),this._parser.registerOscHandler(8,new Ee((u)=>this.setHyperlink(u))),this._parser.registerOscHandler(10,new Ee((u)=>this.setOrReportFgColor(u))),this._parser.registerOscHandler(11,new Ee((u)=>this.setOrReportBgColor(u))),this._parser.registerOscHandler(12,new Ee((u)=>this.setOrReportCursorColor(u))),this._parser.registerOscHandler(104,new Ee((u)=>this.restoreIndexedColor(u))),this._parser.registerOscHandler(110,new Ee((u)=>this.restoreFgColor(u))),this._parser.registerOscHandler(111,new Ee((u)=>this.restoreBgColor(u))),this._parser.registerOscHandler(112,new Ee((u)=>this.restoreCursorColor(u))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let u in he)this._parser.registerEscHandler({intermediates:"(",final:u},()=>this.selectCharset("("+u)),this._parser.registerEscHandler({intermediates:")",final:u},()=>this.selectCharset(")"+u)),this._parser.registerEscHandler({intermediates:"*",final:u},()=>this.selectCharset("*"+u)),this._parser.registerEscHandler({intermediates:"+",final:u},()=>this.selectCharset("+"+u)),this._parser.registerEscHandler({intermediates:"-",final:u},()=>this.selectCharset("-"+u)),this._parser.registerEscHandler({intermediates:".",final:u},()=>this.selectCharset("."+u)),this._parser.registerEscHandler({intermediates:"/",final:u},()=>this.selectCharset("/"+u));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((u)=>(this._logService.error("Parsing error: ",u),u)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new _r((u,m)=>this.requestStatusString(u,m)))}getAttrData(){return this._curAttrData}_preserveStack(t,s,a,h){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=s,this._parseStack.decodedLength=a,this._parseStack.position=h}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((s,a)=>setTimeout(()=>a("#SLOW_TIMEOUT"),mr))]).catch((s)=>{if(s!=="#SLOW_TIMEOUT")throw s;console.warn(`async parser handler taking longer than ${mr} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,s){let a,h=this._activeBuffer.x,l=this._activeBuffer.y,c=0,d=this._parseStack.paused;if(d){if(a=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,s))return this._logSlowResolvingAsync(a),a;h=this._parseStack.cursorStartX,l=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Je&&(c=this._parseStack.position+Je)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,(u)=>String.fromCharCode(u)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map((u)=>u.charCodeAt(0)):t),this._parseBuffer.length<t.length&&this._parseBuffer.length<Je&&(this._parseBuffer=new Uint32Array(Math.min(t.length,Je))),d||this._dirtyRowTracker.clearRange(),t.length>Je)for(let u=c;u<t.length;u+=Je){let m=u+Je<t.length?u+Je:t.length,p=typeof t=="string"?this._stringDecoder.decode(t.substring(u,m),this._parseBuffer):this._utf8Decoder.decode(t.subarray(u,m),this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,p))return this._preserveStack(h,l,p,u),this._logSlowResolvingAsync(a),a}else if(!d){let u=typeof t=="string"?this._stringDecoder.decode(t,this._parseBuffer):this._utf8Decoder.decode(t,this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,u))return this._preserveStack(h,l,u,0),this._logSlowResolvingAsync(a),a}(this._activeBuffer.x!==h||this._activeBuffer.y!==l)&&this._onCursorMove.fire();let _=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),f=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);f<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(f,this._bufferService.rows-1),end:Math.min(_,this._bufferService.rows-1)})}print(t,s,a){let h,l,c=this._charsetService.charset,d=this._optionsService.rawOptions.screenReaderMode,_=this._bufferService.cols,f=this._coreService.decPrivateModes.wraparound,u=this._coreService.modes.insertMode,m=this._curAttrData,p=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&a-s>0&&p.getWidth(this._activeBuffer.x-1)===2&&p.setCellFromCodepoint(this._activeBuffer.x-1,0,1,m);let S=this._parser.precedingJoinState;for(let b=s;b<a;++b){if(h=t[b],h<127&&c){let P=c[String.fromCharCode(h)];P&&(h=P.charCodeAt(0))}let v=this._unicodeService.charProperties(h,S);l=ht.extractWidth(v);let w=ht.extractShouldJoin(v),R=w?ht.extractWidth(S):0;if(S=v,d&&this._onA11yChar.fire(Ze(h)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+l-R>_){if(f){let P=p,U=this._activeBuffer.x-R;for(this._activeBuffer.x=R,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),p=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),R>0&&p instanceof Mt&&p.copyCellsFrom(P,U,0,R,!1);U<_;)P.setCellFromCodepoint(U++,0,1,m)}else if(this._activeBuffer.x=_-1,l===2)continue}if(w&&this._activeBuffer.x){let P=p.getWidth(this._activeBuffer.x-1)?1:2;p.addCodepointToCell(this._activeBuffer.x-P,h,l);for(let U=l-R;--U>=0;)p.setCellFromCodepoint(this._activeBuffer.x++,0,0,m);continue}if(u&&(p.insertCells(this._activeBuffer.x,l-R,this._activeBuffer.getNullCell(m)),p.getWidth(_-1)===2&&p.setCellFromCodepoint(_-1,0,1,m)),p.setCellFromCodepoint(this._activeBuffer.x++,h,l,m),l>0)for(;--l;)p.setCellFromCodepoint(this._activeBuffer.x++,0,0,m)}this._parser.precedingJoinState=S,this._activeBuffer.x<_&&a-s>0&&p.getWidth(this._activeBuffer.x)===0&&!p.hasContent(this._activeBuffer.x)&&p.setCellFromCodepoint(this._activeBuffer.x,0,1,m),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,s){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,(a)=>gr(a.params[0],this._optionsService.rawOptions.windowOptions)?s(a):!0):this._parser.registerCsiHandler(t,s)}registerDcsHandler(t,s){return this._parser.registerDcsHandler(t,new _r(s))}registerEscHandler(t,s){return this._parser.registerEscHandler(t,s)}registerOscHandler(t,s){return this._parser.registerOscHandler(t,new Ee(s))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,s){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+s):(this._activeBuffer.x=t,this._activeBuffer.y=s),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,s){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+s)}cursorUp(t){let s=this._activeBuffer.y-this._activeBuffer.scrollTop;return s>=0?this._moveCursor(0,-Math.min(s,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let s=this._activeBuffer.scrollBottom-this._activeBuffer.y;return s>=0?this._moveCursor(0,Math.min(s,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let s=t.params[0];return s===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:s===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=t.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=t.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let s=t.params[0];return s===1&&(this._curAttrData.bg|=536870912),(s===2||s===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,s,a,h=!1,l=!1){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);c.replaceCells(s,a,this._activeBuffer.getNullCell(this._eraseAttrData()),l),h&&(c.isWrapped=!1)}_resetBufferLine(t,s=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);a&&(a.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),s),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),a.isWrapped=!1)}eraseInDisplay(t,s=!1){this._restrictCursor(this._bufferService.cols);let a;switch(t.params[0]){case 0:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);a<this._bufferService.rows;a++)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(a);break;case 1:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a,0,this._activeBuffer.x+1,!0,s),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(a+1).isWrapped=!1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(a=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,a-1);a--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+a)?.getTrimmedLength(););for(;a>=0;a--)this._bufferService.scroll(this._eraseAttrData())}else{for(a=this._bufferService.rows,this._dirtyRowTracker.markDirty(a-1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0)}break;case 3:let h=this._activeBuffer.lines.length-this._bufferService.rows;h>0&&(this._activeBuffer.lines.trimStart(h),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-h,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-h,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,s=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,s);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,s);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let s=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,h=this._bufferService.rows-1-this._activeBuffer.scrollBottom,l=this._bufferService.rows-1+this._activeBuffer.ybase-h+1;for(;s--;)this._activeBuffer.lines.splice(l-1,1),this._activeBuffer.lines.splice(a,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(t){this._restrictCursor();let s=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,h;for(h=this._bufferService.rows-1-this._activeBuffer.scrollBottom,h=this._bufferService.rows-1+this._activeBuffer.ybase-h;s--;)this._activeBuffer.lines.splice(a,1),this._activeBuffer.lines.splice(h,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.insertCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.deleteCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(t){let s=t.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(t){let s=t.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(re));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.deleteCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.insertCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.insertCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.deleteCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(t.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(t){let s=this._parser.precedingJoinState;if(!s)return!0;let a=t.params[0]||1,h=ht.extractWidth(s),l=this._activeBuffer.x-h,c=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(l),d=new Uint32Array(c.length*a),_=0;for(let u=0;u<c.length;){let m=c.codePointAt(u)||0;d[_++]=m,u+=m>65535?2:1}let f=_;for(let u=1;u<a;++u)d.copyWithin(f,0,_),f+=_;return this.print(d,0,f),!0}sendDeviceAttributesPrimary(t){return t.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(C.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(C.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(C.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(C.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(C.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,at),this._charsetService.setgCharset(1,at),this._charsetService.setgCharset(2,at),this._charsetService.setgCharset(3,at);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1000:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1000:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),t.params[s]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(t,s){let a;((w)=>(w[w.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",w[w.SET=1]="SET",w[w.RESET=2]="RESET",w[w.PERMANENTLY_SET=3]="PERMANENTLY_SET",w[w.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(a||={});let h=this._coreService.decPrivateModes,{activeProtocol:l,activeEncoding:c}=this._coreMouseService,d=this._coreService,{buffers:_,cols:f}=this._bufferService,{active:u,alt:m}=_,p=this._optionsService.rawOptions,S=(w,R)=>(d.triggerDataEvent(`${C.ESC}[${s?"":"?"}${w};${R}$y`),!0),b=(w)=>w?1:2,v=t.params[0];return s?v===2?S(v,4):v===4?S(v,b(d.modes.insertMode)):v===12?S(v,3):v===20?S(v,b(p.convertEol)):S(v,0):v===1?S(v,b(h.applicationCursorKeys)):v===3?S(v,p.windowOptions.setWinLines?f===80?2:f===132?1:0:0):v===6?S(v,b(h.origin)):v===7?S(v,b(h.wraparound)):v===8?S(v,3):v===9?S(v,b(l==="X10")):v===12?S(v,b(p.cursorBlink)):v===25?S(v,b(!d.isCursorHidden)):v===45?S(v,b(h.reverseWraparound)):v===66?S(v,b(h.applicationKeypad)):v===67?S(v,4):v===1000?S(v,b(l==="VT200")):v===1002?S(v,b(l==="DRAG")):v===1003?S(v,b(l==="ANY")):v===1004?S(v,b(h.sendFocus)):v===1005?S(v,4):v===1006?S(v,b(c==="SGR")):v===1015?S(v,4):v===1016?S(v,b(c==="SGR_PIXELS")):v===1048?S(v,1):v===47||v===1047||v===1049?S(v,b(u===m)):v===2004?S(v,b(h.bracketedPasteMode)):v===2026?S(v,b(h.synchronizedOutput)):S(v,0)}_updateAttrColor(t,s,a,h,l){return s===2?(t|=50331648,t&=-16777216,t|=zt.fromColorRGB([a,h,l])):s===5&&(t&=-50331904,t|=33554432|a&255),t}_extractColor(t,s,a){let h=[0,0,-1,0,0,0],l=0,c=0;do{if(h[c+l]=t.params[s+c],t.hasSubParams(s+c)){let d=t.getSubParams(s+c),_=0;do h[1]===5&&(l=1),h[c+_+1+l]=d[_];while(++_<d.length&&_+c+1+l<h.length);break}if(h[1]===5&&c+l>=2||h[1]===2&&c+l>=5)break;h[1]&&(l=1)}while(++c+s<t.length&&c+l<h.length);for(let d=2;d<h.length;++d)h[d]===-1&&(h[d]=0);switch(h[0]){case 38:a.fg=this._updateAttrColor(a.fg,h[1],h[3],h[4],h[5]);break;case 48:a.bg=this._updateAttrColor(a.bg,h[1],h[3],h[4],h[5]);break;case 58:a.extended=a.extended.clone(),a.extended.underlineColor=this._updateAttrColor(a.extended.underlineColor,h[1],h[3],h[4],h[5])}return c}_processUnderline(t,s){s.extended=s.extended.clone(),(!~t||t>5)&&(t=1),s.extended.underlineStyle=t,s.fg|=268435456,t===0&&(s.fg&=-268435457),s.updateExtended()}_processSGR0(t){t.fg=re.fg,t.bg=re.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let s=t.length,a,h=this._curAttrData;for(let l=0;l<s;l++)a=t.params[l],a>=30&&a<=37?(h.fg&=-50331904,h.fg|=16777216|a-30):a>=40&&a<=47?(h.bg&=-50331904,h.bg|=16777216|a-40):a>=90&&a<=97?(h.fg&=-50331904,h.fg|=16777216|a-90|8):a>=100&&a<=107?(h.bg&=-50331904,h.bg|=16777216|a-100|8):a===0?this._processSGR0(h):a===1?h.fg|=134217728:a===3?h.bg|=67108864:a===4?(h.fg|=268435456,this._processUnderline(t.hasSubParams(l)?t.getSubParams(l)[0]:1,h)):a===5?h.fg|=536870912:a===7?h.fg|=67108864:a===8?h.fg|=1073741824:a===9?h.fg|=2147483648:a===2?h.bg|=134217728:a===21?this._processUnderline(2,h):a===22?(h.fg&=-134217729,h.bg&=-134217729):a===23?h.bg&=-67108865:a===24?(h.fg&=-268435457,this._processUnderline(0,h)):a===25?h.fg&=-536870913:a===27?h.fg&=-67108865:a===28?h.fg&=-1073741825:a===29?h.fg&=2147483647:a===39?(h.fg&=-67108864,h.fg|=re.fg&16777215):a===49?(h.bg&=-67108864,h.bg|=re.bg&16777215):a===38||a===48||a===58?l+=this._extractColor(t,l,h):a===53?h.bg|=1073741824:a===55?h.bg&=-1073741825:a===59?(h.extended=h.extended.clone(),h.extended.underlineColor=-1,h.updateExtended()):a===100?(h.fg&=-67108864,h.fg|=re.fg&16777215,h.bg&=-67108864,h.bg|=re.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",a);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${C.ESC}[0n`);break;case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[${s};${a}R`);break}return!0}deviceStatusPrivate(t){switch(t.params[0]){case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[?${s};${a}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=re.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let s=t.length===0?1:t.params[0];if(s===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(s){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let a=s%2===1;this._coreService.decPrivateModes.cursorBlink=a}return!0}setScrollRegion(t){let s=t.params[0]||1,a;return(t.length<2||(a=t.params[1])>this._bufferService.rows||a===0)&&(a=this._bufferService.rows),a>s&&(this._activeBuffer.scrollTop=s-1,this._activeBuffer.scrollBottom=a-1,this._setCursor(0,0)),!0}windowOptions(t){if(!gr(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let s=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:s!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${C.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(s===0||s===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>pr&&this._windowTitleStack.shift()),(s===0||s===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>pr&&this._iconNameStack.shift());break;case 23:(s===0||s===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(s===0||s===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let s=[],a=t.split(";");for(;a.length>1;){let h=a.shift(),l=a.shift();if(/^\d+$/.exec(h)){let c=parseInt(h);if(Sr(c))if(l==="?")s.push({type:0,index:c});else{let d=fr(l);d&&s.push({type:1,index:c,color:d})}}}return s.length&&this._onColor.fire(s),!0}setHyperlink(t){let s=t.indexOf(";");if(s===-1)return!0;let a=t.slice(0,s).trim(),h=t.slice(s+1);return h?this._createHyperlink(a,h):a.trim()?!1:this._finishHyperlink()}_createHyperlink(t,s){this._getCurrentLinkId()&&this._finishHyperlink();let a=t.split(":"),h,l=a.findIndex((c)=>c.startsWith("id="));return l!==-1&&(h=a[l].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:h,uri:s}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,s){let a=t.split(";");for(let h=0;h<a.length&&!(s>=this._specialColors.length);++h,++s)if(a[h]==="?")this._onColor.fire([{type:0,index:this._specialColors[s]}]);else{let l=fr(a[h]);l&&this._onColor.fire([{type:1,index:this._specialColors[s],color:l}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let s=[],a=t.split(";");for(let h=0;h<a.length;++h)if(/^\d+$/.exec(a[h])){let l=parseInt(a[h]);Sr(l)&&s.push({type:2,index:l})}return s.length&&this._onColor.fire(s),!0}restoreFgColor(t){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(t){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(t){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,at),!0}selectCharset(t){return t.length!==2?(this.selectDefaultCharset(),!0):(t[0]==="/"||this._charsetService.setgCharset(Th[t[0]],he[t[1]]||at),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new Me;t.content=4194373,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let s=0;s<this._bufferService.rows;++s){let a=this._activeBuffer.ybase+this._activeBuffer.y+s,h=this._activeBuffer.lines.get(a);h&&(h.fill(t),h.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(t,s){let a=(d)=>(this._coreService.triggerDataEvent(`${C.ESC}${d}${C.ESC}\\`),!0),h=this._bufferService.buffer,l=this._optionsService.rawOptions;return a(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${h.scrollTop+1};${h.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[l.cursorStyle]-(l.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,s){this._dirtyRowTracker.markRangeDirty(t,s)}},ls=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,s){t>s&&(vr=t,t=s,s=vr),t<this.start&&(this.start=t),s>this.end&&(this.end=s)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ls=te([M(0,Se)],ls);function Sr(t){return 0<=t&&t<256}var Ah=50000000,br=12,Oh=50,Ih=class extends W{constructor(t){super();this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,s){if(s!==void 0&&this._syncCalls>s){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let a;for(;a=this._writeBuffer.shift();){this._action(a);let h=this._callbacks.shift();h&&h()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,s){if(this._pendingData>Ah)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(s),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(s)}_innerWrite(t=0,s=!0){let a=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let h=this._writeBuffer[this._bufferOffset],l=this._action(h,s);if(l){let d=(_)=>performance.now()-a>=br?setTimeout(()=>this._innerWrite(0,_)):this._innerWrite(a,_);l.catch((_)=>(queueMicrotask(()=>{throw _}),Promise.resolve(!1))).then(d);return}let c=this._callbacks[this._bufferOffset];if(c&&c(),this._bufferOffset++,this._pendingData-=h.length,performance.now()-a>=br)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Oh&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},cs=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let s=this._bufferService.buffer;if(t.id===void 0){let _=s.addMarker(s.ybase+s.y),f={data:t,id:this._nextId++,lines:[_]};return _.onDispose(()=>this._removeMarkerFromLink(f,_)),this._dataByLinkId.set(f.id,f),f.id}let a=t,h=this._getEntryIdKey(a),l=this._entriesWithId.get(h);if(l)return this.addLineToLink(l.id,s.ybase+s.y),l.id;let c=s.addMarker(s.ybase+s.y),d={id:this._nextId++,key:this._getEntryIdKey(a),data:a,lines:[c]};return c.onDispose(()=>this._removeMarkerFromLink(d,c)),this._entriesWithId.set(d.key,d),this._dataByLinkId.set(d.id,d),d.id}addLineToLink(t,s){let a=this._dataByLinkId.get(t);if(a&&a.lines.every((h)=>h.line!==s)){let h=this._bufferService.buffer.addMarker(s);a.lines.push(h),h.onDispose(()=>this._removeMarkerFromLink(a,h))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,s){let a=t.lines.indexOf(s);a!==-1&&(t.lines.splice(a,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};cs=te([M(0,Se)],cs);var wr=!1,Nh=class extends W{constructor(t){super();this._windowsWrappingHeuristics=this._register(new pt),this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onData=this._register(new D),this.onData=this._onData.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new D),this._instantiationService=new oh,this.optionsService=this._register(new mh(t)),this._instantiationService.setService(be,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(os)),this._instantiationService.setService(Se,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ns)),this._instantiationService.setService(Mr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(as)),this._instantiationService.setService(ut,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(hs)),this._instantiationService.setService(Lr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(ht)),this._instantiationService.setService(Bn,this.unicodeService),this._charsetService=this._instantiationService.createInstance(yh),this._instantiationService.setService(Dn,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(cs),this._instantiationService.setService(Tr,this._oscLinkService),this._inputHandler=this._register(new Ph(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ge.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ge.forward(this._bufferService.onResize,this._onResize)),this._register(ge.forward(this.coreService.onData,this._onData)),this._register(ge.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Ih((s,a)=>this._inputHandler.parse(s,a))),this._register(ge.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new D),this._onScroll.event((t)=>{this._onScrollApi?.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let s in t)this.optionsService.options[s]=t[s]}write(t,s){this._writeBuffer.write(t,s)}writeSync(t,s){this._logService.logLevel<=3&&!wr&&(this._logService.warn("writeSync is unreliable and will be removed soon."),wr=!0),this._writeBuffer.writeSync(t,s)}input(t,s=!0){this.coreService.triggerDataEvent(t,s)}resize(t,s){isNaN(t)||isNaN(s)||(t=Math.max(t,ln),s=Math.max(s,cn),this._bufferService.resize(t,s))}scroll(t,s=!1){this._bufferService.scroll(t,s)}scrollLines(t,s){this._bufferService.scrollLines(t,s)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let s=t-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}registerEscHandler(t,s){return this._inputHandler.registerEscHandler(t,s)}registerDcsHandler(t,s){return this._inputHandler.registerDcsHandler(t,s)}registerCsiHandler(t,s){return this._inputHandler.registerCsiHandler(t,s)}registerOscHandler(t,s){return this._inputHandler.registerOscHandler(t,s)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,s=this.optionsService.rawOptions.windowsPty;s&&s.buildNumber!==void 0&&s.buildNumber!==void 0?t=s.backend==="conpty"&&s.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(ur.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(ur(this._bufferService),!1))),this._windowsWrappingHeuristics.value=G(()=>{for(let s of t)s.dispose()})}}},Hh={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function Wh(t,s,a,h){let l={type:0,cancel:!1,key:void 0},c=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?s?l.key=C.ESC+"OA":l.key=C.ESC+"[A":t.key==="UIKeyInputLeftArrow"?s?l.key=C.ESC+"OD":l.key=C.ESC+"[D":t.key==="UIKeyInputRightArrow"?s?l.key=C.ESC+"OC":l.key=C.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(s?l.key=C.ESC+"OB":l.key=C.ESC+"[B");break;case 8:l.key=t.ctrlKey?"\b":C.DEL,t.altKey&&(l.key=C.ESC+l.key);break;case 9:if(t.shiftKey){l.key=C.ESC+"[Z";break}l.key=C.HT,l.cancel=!0;break;case 13:l.key=t.altKey?C.ESC+C.CR:C.CR,l.cancel=!0;break;case 27:l.key=C.ESC,t.altKey&&(l.key=C.ESC+C.ESC),l.cancel=!0;break;case 37:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"D":s?l.key=C.ESC+"OD":l.key=C.ESC+"[D";break;case 39:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"C":s?l.key=C.ESC+"OC":l.key=C.ESC+"[C";break;case 38:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"A":s?l.key=C.ESC+"OA":l.key=C.ESC+"[A";break;case 40:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"B":s?l.key=C.ESC+"OB":l.key=C.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(l.key=C.ESC+"[2~");break;case 46:c?l.key=C.ESC+"[3;"+(c+1)+"~":l.key=C.ESC+"[3~";break;case 36:c?l.key=C.ESC+"[1;"+(c+1)+"H":s?l.key=C.ESC+"OH":l.key=C.ESC+"[H";break;case 35:c?l.key=C.ESC+"[1;"+(c+1)+"F":s?l.key=C.ESC+"OF":l.key=C.ESC+"[F";break;case 33:t.shiftKey?l.type=2:t.ctrlKey?l.key=C.ESC+"[5;"+(c+1)+"~":l.key=C.ESC+"[5~";break;case 34:t.shiftKey?l.type=3:t.ctrlKey?l.key=C.ESC+"[6;"+(c+1)+"~":l.key=C.ESC+"[6~";break;case 112:c?l.key=C.ESC+"[1;"+(c+1)+"P":l.key=C.ESC+"OP";break;case 113:c?l.key=C.ESC+"[1;"+(c+1)+"Q":l.key=C.ESC+"OQ";break;case 114:c?l.key=C.ESC+"[1;"+(c+1)+"R":l.key=C.ESC+"OR";break;case 115:c?l.key=C.ESC+"[1;"+(c+1)+"S":l.key=C.ESC+"OS";break;case 116:c?l.key=C.ESC+"[15;"+(c+1)+"~":l.key=C.ESC+"[15~";break;case 117:c?l.key=C.ESC+"[17;"+(c+1)+"~":l.key=C.ESC+"[17~";break;case 118:c?l.key=C.ESC+"[18;"+(c+1)+"~":l.key=C.ESC+"[18~";break;case 119:c?l.key=C.ESC+"[19;"+(c+1)+"~":l.key=C.ESC+"[19~";break;case 120:c?l.key=C.ESC+"[20;"+(c+1)+"~":l.key=C.ESC+"[20~";break;case 121:c?l.key=C.ESC+"[21;"+(c+1)+"~":l.key=C.ESC+"[21~";break;case 122:c?l.key=C.ESC+"[23;"+(c+1)+"~":l.key=C.ESC+"[23~";break;case 123:c?l.key=C.ESC+"[24;"+(c+1)+"~":l.key=C.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?l.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?l.key=C.NUL:t.keyCode>=51&&t.keyCode<=55?l.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?l.key=C.DEL:t.keyCode===219?l.key=C.ESC:t.keyCode===220?l.key=C.FS:t.keyCode===221&&(l.key=C.GS);else if((!a||h)&&t.altKey&&!t.metaKey){let d=Hh[t.keyCode]?.[t.shiftKey?1:0];if(d)l.key=C.ESC+d;else if(t.keyCode>=65&&t.keyCode<=90){let _=t.ctrlKey?t.keyCode-64:t.keyCode+32,f=String.fromCharCode(_);t.shiftKey&&(f=f.toUpperCase()),l.key=C.ESC+f}else if(t.keyCode===32)l.key=C.ESC+(t.ctrlKey?C.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let _=t.code.slice(3,4);t.shiftKey||(_=_.toLowerCase()),l.key=C.ESC+_,l.cancel=!0}}else a&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(l.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?l.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(l.key=C.US),t.key==="@"&&(l.key=C.NUL));break}return l}var ie=0,zh=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new di,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new di,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((l,c)=>this._getKey(l)-this._getKey(c)),s=0,a=0,h=Array(this._array.length+this._insertedValues.length);for(let l=0;l<h.length;l++)a>=this._array.length||this._getKey(t[s])<=this._getKey(this._array[a])?(h[l]=t[s],s++):h[l]=this._array[a++];this._array=h,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let s=this._getKey(t);if(s===void 0||(ie=this._search(s),ie===-1)||this._getKey(this._array[ie])!==s)return!1;do if(this._array[ie]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ie),!0;while(++ie<this._array.length&&this._getKey(this._array[ie])===s);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((l,c)=>l-c),s=0,a=Array(this._array.length-t.length),h=0;for(let l=0;l<this._array.length;l++)t[s]===l?s++:a[h++]=this._array[l];this._array=a,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(t),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===t))do yield this._array[ie];while(++ie<this._array.length&&this._getKey(this._array[ie])===t)}forEachByKey(t,s){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(t),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===t))do s(this._array[ie]);while(++ie<this._array.length&&this._getKey(this._array[ie])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let s=0,a=this._array.length-1;for(;a>=s;){let h=s+a>>1,l=this._getKey(this._array[h]);if(l>t)a=h-1;else if(l<t)s=h+1;else{for(;h>0&&this._getKey(this._array[h-1])===t;)h--;return h}}return s}},Oi=0,yr=0,Fh=class extends W{constructor(){super();this._decorations=new zh((t)=>t?.marker.line),this._onDecorationRegistered=this._register(new D),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new D),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(G(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let s=new $h(t);if(s){let a=s.marker.onDispose(()=>s.dispose()),h=s.onDispose(()=>{h.dispose(),s&&(this._decorations.delete(s)&&this._onDecorationRemoved.fire(s),a.dispose())});this._decorations.insert(s),this._onDecorationRegistered.fire(s)}return s}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,s,a){let h=0,l=0;for(let c of this._decorations.getKeyIterator(s))h=c.options.x??0,l=h+(c.options.width??1),t>=h&&t<l&&(!a||(c.options.layer??"bottom")===a)&&(yield c)}forEachDecorationAtCell(t,s,a,h){this._decorations.forEachByKey(s,(l)=>{Oi=l.options.x??0,yr=Oi+(l.options.width??1),t>=Oi&&t<yr&&(!a||(l.options.layer??"bottom")===a)&&h(l)})}},$h=class extends et{constructor(t){super();this.options=t,this.onRenderEmitter=this.add(new D),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new D),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=t.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Q.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Q.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Uh=1000,Kh=class{constructor(t,s=Uh){this._renderCallback=t,this._debounceThresholdMS=s,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,s,a){this._rowCount=a,t=t!==void 0?t:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s;let h=performance.now();if(h-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=h,this._innerRefresh();else if(!this._additionalRefreshRequested){let l=h-this._lastRefreshMs,c=this._debounceThresholdMS-l;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},c)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,s)}},Cr=20,xr=!1,ui=class extends W{constructor(t,s,a,h){super();this._terminal=t,this._coreBrowserService=a,this._renderService=h,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let l=this._coreBrowserService.mainDocument;this._accessibilityContainer=l.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=l.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let c=0;c<this._terminal.rows;c++)this._rowElements[c]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[c]);if(this._topBoundaryFocusListener=(c)=>this._handleBoundaryFocus(c,0),this._bottomBoundaryFocusListener=(c)=>this._handleBoundaryFocus(c,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=l.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new Kh(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");xr?(this._accessibilityContainer.classList.add("debug"),this._rowContainer.classList.add("debug"),this._debugRootContainer=l.createElement("div"),this._debugRootContainer.classList.add("xterm"),this._debugRootContainer.appendChild(l.createTextNode("------start a11y------")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(l.createTextNode("------end a11y------")),this._terminal.element.insertAdjacentElement("afterend",this._debugRootContainer)):this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((c)=>this._handleResize(c.rows))),this._register(this._terminal.onRender((c)=>this._refreshRows(c.start,c.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar((c)=>this._handleChar(c))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
33
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),ws&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let s=this._getMouseBufferCoords(t),a=this._model.finalSelectionStart,h=this._model.finalSelectionEnd;return!a||!h||!s?!1:this._areCoordsInSelection(s,a,h)}isCellInSelection(t,s){let a=this._model.finalSelectionStart,h=this._model.finalSelectionEnd;return!a||!h?!1:this._areCoordsInSelection([t,s],a,h)}_areCoordsInSelection(t,s,a){return t[1]>s[1]&&t[1]<a[1]||s[1]===a[1]&&t[1]===s[1]&&t[0]>=s[0]&&t[0]<a[0]||s[1]<a[1]&&t[1]===a[1]&&t[0]<a[0]||s[1]<a[1]&&t[1]===s[1]&&t[0]>=s[0]}_selectWordAtCursor(t,s){let a=this._linkifier.currentLink?.link?.range;if(a)return this._model.selectionStart=[a.start.x-1,a.start.y-1],this._model.selectionStartLength=er(a,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let h=this._getMouseBufferCoords(t);return h?(this._selectWordAt(h,s),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,s){this._model.clearSelection(),t=Math.max(t,0),s=Math.min(s,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,s],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let s=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(s)return s[0]--,s[1]--,s[1]+=this._bufferService.buffer.ydisp,s}_getMouseEventScrollAmount(t){let s=bs(this._coreBrowserService.window,t,this._screenElement)[1],a=this._renderService.dimensions.css.canvas.height;return s>=0&&s<=a?0:(s>a&&(s-=a),s=Math.min(Math.max(s,-Ri),Ri),s/=Ri,s/Math.abs(s)+Math.round(s*(Qa-1)))}shouldForceSelection(t){return ci?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),eh)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let s=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);s&&s.length!==this._model.selectionStart[0]&&s.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let s=this._getMouseBufferCoords(t);s&&(this._activeSelectionMode=2,this._selectLineAt(s[1]))}shouldColumnSelect(t){return t.altKey&&!(ci&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let s=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(t),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let a=this._bufferService.buffer;if(this._model.selectionEnd[1]<a.lines.length){let h=a.lines.get(this._model.selectionEnd[1]);h&&h.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!s||s[0]!==this._model.selectionEnd[0]||s[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let t=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let s=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&s<th&&t.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let a=this._mouseService.getCoords(t,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(a&&a[0]!==void 0&&a[1]!==void 0){let h=qa(a[0]-1,a[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(h,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd,a=!!t&&!!s&&(t[0]!==s[0]||t[1]!==s[1]);if(!a){this._oldHasSelection&&this._fireOnSelectionChange(t,s,a);return}!t||!s||(!this._oldSelectionStart||!this._oldSelectionEnd||t[0]!==this._oldSelectionStart[0]||t[1]!==this._oldSelectionStart[1]||s[0]!==this._oldSelectionEnd[0]||s[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(t,s,a)}_fireOnSelectionChange(t,s,a){this._oldSelectionStart=t,this._oldSelectionEnd=s,this._oldHasSelection=a,this._onSelectionChange.fire()}_handleBufferActivate(t){this.clearSelection(),this._trimListener.dispose(),this._trimListener=t.activeBuffer.lines.onTrim((s)=>this._handleTrim(s))}_convertViewportColToCharacterIndex(t,s){let a=s;for(let h=0;s>=h;h++){let l=t.loadCell(h,this._workCell).getChars().length;this._workCell.getWidth()===0?a--:l>1&&s!==h&&(a+=l-1)}return a}setSelection(t,s,a){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,s],this._model.selectionStartLength=a,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,s,a=!0,h=!0){if(t[0]>=this._bufferService.cols)return;let l=this._bufferService.buffer,c=l.lines.get(t[1]);if(!c)return;let d=l.translateBufferLineToString(t[1],!1),_=this._convertViewportColToCharacterIndex(c,t[0]),f=_,u=t[0]-_,m=0,p=0,S=0,b=0;if(d.charAt(_)===" "){for(;_>0&&d.charAt(_-1)===" ";)_--;for(;f<d.length&&d.charAt(f+1)===" ";)f++}else{let R=t[0],P=t[0];c.getWidth(R)===0&&(m++,R--),c.getWidth(P)===2&&(p++,P++);let U=c.getString(P).length;for(U>1&&(b+=U-1,f+=U-1);R>0&&_>0&&!this._isCharWordSeparator(c.loadCell(R-1,this._workCell));){c.loadCell(R-1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===0?(m++,R--):I>1&&(S+=I-1,_-=I-1),_--,R--}for(;P<c.length&&f+1<d.length&&!this._isCharWordSeparator(c.loadCell(P+1,this._workCell));){c.loadCell(P+1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===2?(p++,P++):I>1&&(b+=I-1,f+=I-1),f++,P++}}f++;let v=_+u-m+S,w=Math.min(this._bufferService.cols,f-_+m+p-S-b);if(!(!s&&d.slice(_,f).trim()==="")){if(a&&v===0&&c.getCodePoint(0)!==32){let R=l.lines.get(t[1]-1);if(R&&c.isWrapped&&R.getCodePoint(this._bufferService.cols-1)!==32){let P=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(P){let U=this._bufferService.cols-P.start;v-=U,w+=U}}}if(h&&v+w===this._bufferService.cols&&c.getCodePoint(this._bufferService.cols-1)!==32){let R=l.lines.get(t[1]+1);if(R?.isWrapped&&R.getCodePoint(0)!==32){let P=this._getWordAt([0,t[1]+1],!1,!1,!0);P&&(w+=P.length)}}return{start:v,length:w}}}_selectWordAt(t,s){let a=this._getWordAt(t,s);if(a){for(;a.start<0;)a.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[a.start,t[1]],this._model.selectionStartLength=a.length}}_selectToWordAt(t){let s=this._getWordAt(t,!0);if(s){let a=t[1];for(;s.start<0;)s.start+=this._bufferService.cols,a--;if(!this._model.areSelectionValuesReversed())for(;s.start+s.length>this._bufferService.cols;)s.length-=this._bufferService.cols,a++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?s.start:s.start+s.length,a]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let s=this._bufferService.buffer.getWrappedRangeForLine(t),a={start:{x:0,y:s.first},end:{x:this._bufferService.cols-1,y:s.last}};this._model.selectionStart=[0,s.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=er(a,this._bufferService.cols)}};ss=te([M(3,Se),M(4,ut),M(5,_s),M(6,be),M(7,Ke),M(8,Ue)],ss);var tr=class{constructor(){this._data={}}set(t,s,a){this._data[t]||(this._data[t]={}),this._data[t][s]=a}get(t,s){return this._data[t]?this._data[t][s]:void 0}clear(){this._data={}}},ir=class{constructor(){this._color=new tr,this._css=new tr}setCss(t,s,a){this._css.set(t,s,a)}getCss(t,s){return this._css.get(t,s)}setColor(t,s,a){this._color.set(t,s,a)}getColor(t,s){return this._color.get(t,s)}clear(){this._color.clear(),this._css.clear()}},oe=Object.freeze((()=>{let t=[Q.toColor("#2e3436"),Q.toColor("#cc0000"),Q.toColor("#4e9a06"),Q.toColor("#c4a000"),Q.toColor("#3465a4"),Q.toColor("#75507b"),Q.toColor("#06989a"),Q.toColor("#d3d7cf"),Q.toColor("#555753"),Q.toColor("#ef2929"),Q.toColor("#8ae234"),Q.toColor("#fce94f"),Q.toColor("#729fcf"),Q.toColor("#ad7fa8"),Q.toColor("#34e2e2"),Q.toColor("#eeeeec")],s=[0,95,135,175,215,255];for(let a=0;a<216;a++){let h=s[a/36%6|0],l=s[a/6%6|0],c=s[a%6];t.push({css:ne.toCss(h,l,c),rgba:ne.toRgba(h,l,c)})}for(let a=0;a<24;a++){let h=8+a*10;t.push({css:ne.toCss(h,h,h),rgba:ne.toRgba(h,h,h)})}return t})()),nt=Q.toColor("#ffffff"),Lt=Q.toColor("#000000"),sr=Q.toColor("#ffffff"),rr=Lt,xt={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},rh=nt,rs=class extends W{constructor(t){super();this._optionsService=t,this._contrastCache=new ir,this._halfContrastCache=new ir,this._onChangeColors=this._register(new D),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:nt,background:Lt,cursor:sr,cursorAccent:rr,selectionForeground:void 0,selectionBackgroundTransparent:xt,selectionBackgroundOpaque:j.blend(Lt,xt),selectionInactiveBackgroundTransparent:xt,selectionInactiveBackgroundOpaque:j.blend(Lt,xt),scrollbarSliderBackground:j.opacity(nt,0.2),scrollbarSliderHoverBackground:j.opacity(nt,0.4),scrollbarSliderActiveBackground:j.opacity(nt,0.5),overviewRulerBorder:nt,ansi:oe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let s=this._colors;if(s.foreground=q(t.foreground,nt),s.background=q(t.background,Lt),s.cursor=j.blend(s.background,q(t.cursor,sr)),s.cursorAccent=j.blend(s.background,q(t.cursorAccent,rr)),s.selectionBackgroundTransparent=q(t.selectionBackground,xt),s.selectionBackgroundOpaque=j.blend(s.background,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundTransparent=q(t.selectionInactiveBackground,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundOpaque=j.blend(s.background,s.selectionInactiveBackgroundTransparent),s.selectionForeground=t.selectionForeground?q(t.selectionForeground,Js):void 0,s.selectionForeground===Js&&(s.selectionForeground=void 0),j.isOpaque(s.selectionBackgroundTransparent)&&(s.selectionBackgroundTransparent=j.opacity(s.selectionBackgroundTransparent,0.3)),j.isOpaque(s.selectionInactiveBackgroundTransparent)&&(s.selectionInactiveBackgroundTransparent=j.opacity(s.selectionInactiveBackgroundTransparent,0.3)),s.scrollbarSliderBackground=q(t.scrollbarSliderBackground,j.opacity(s.foreground,0.2)),s.scrollbarSliderHoverBackground=q(t.scrollbarSliderHoverBackground,j.opacity(s.foreground,0.4)),s.scrollbarSliderActiveBackground=q(t.scrollbarSliderActiveBackground,j.opacity(s.foreground,0.5)),s.overviewRulerBorder=q(t.overviewRulerBorder,rh),s.ansi=oe.slice(),s.ansi[0]=q(t.black,oe[0]),s.ansi[1]=q(t.red,oe[1]),s.ansi[2]=q(t.green,oe[2]),s.ansi[3]=q(t.yellow,oe[3]),s.ansi[4]=q(t.blue,oe[4]),s.ansi[5]=q(t.magenta,oe[5]),s.ansi[6]=q(t.cyan,oe[6]),s.ansi[7]=q(t.white,oe[7]),s.ansi[8]=q(t.brightBlack,oe[8]),s.ansi[9]=q(t.brightRed,oe[9]),s.ansi[10]=q(t.brightGreen,oe[10]),s.ansi[11]=q(t.brightYellow,oe[11]),s.ansi[12]=q(t.brightBlue,oe[12]),s.ansi[13]=q(t.brightMagenta,oe[13]),s.ansi[14]=q(t.brightCyan,oe[14]),s.ansi[15]=q(t.brightWhite,oe[15]),t.extendedAnsi){let a=Math.min(s.ansi.length-16,t.extendedAnsi.length);for(let h=0;h<a;h++)s.ansi[h+16]=q(t.extendedAnsi[h],oe[h+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(t){this._restoreColor(t),this._onChangeColors.fire(this.colors)}_restoreColor(t){if(t===void 0){for(let s=0;s<this._restoreColors.ansi.length;++s)this._colors.ansi[s]=this._restoreColors.ansi[s];return}switch(t){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[t]=this._restoreColors.ansi[t]}}modifyColors(t){t(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};rs=te([M(0,be)],rs);function q(t,s){if(t!==void 0)try{return Q.toColor(t)}catch{}return s}var nh=class{constructor(...t){this._entries=new Map;for(let[s,a]of t)this.set(s,a)}set(t,s){let a=this._entries.get(t);return this._entries.set(t,s),a}forEach(t){for(let[s,a]of this._entries.entries())t(s,a)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},oh=class{constructor(){this._services=new nh,this._services.set(us,this)}setService(t,s){this._services.set(t,s)}getService(t){return this._services.get(t)}createInstance(t,...s){let a=kn(t).sort((c,d)=>c.index-d.index),h=[];for(let c of a){let d=this._services.get(c.id);if(!d)throw Error(`[createInstance] ${t.name} depends on UNKNOWN service ${c.id._id}.`);h.push(d)}let l=a.length>0?a[0].index:s.length;if(s.length!==l)throw Error(`[createInstance] First service dependency of ${t.name} at position ${l+1} conflicts with ${s.length} static arguments`);return new t(...s,...h)}},ah={trace:0,debug:1,info:2,warn:3,error:4,off:5},hh="xterm.js: ",ns=class extends W{constructor(t){super();this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),lh=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ah[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let s=0;s<t.length;s++)typeof t[s]=="function"&&(t[s]=t[s]())}_log(t,s,a){this._evalLazyOptionalParams(a),t.call(console,(this._optionsService.options.logger?"":hh)+s,...a)}trace(t,...s){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,t,s)}debug(t,...s){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,t,s)}info(t,...s){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,t,s)}warn(t,...s){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,t,s)}error(t,...s){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,t,s)}};ns=te([M(0,be)],ns);var lh,nr=class extends W{constructor(t){super();this._maxLength=t,this.onDeleteEmitter=this._register(new D),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new D),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new D),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(t){if(this._maxLength===t)return;let s=Array(t);for(let a=0;a<Math.min(t,this.length);a++)s[a]=this._array[this._getCyclicIndex(a)];this._array=s,this._maxLength=t,this._startIndex=0}get length(){return this._length}set length(t){if(t>this._length)for(let s=this._length;s<t;s++)this._array[s]=void 0;this._length=t}get(t){return this._array[this._getCyclicIndex(t)]}set(t,s){this._array[this._getCyclicIndex(t)]=s}push(t){this._array[this._getCyclicIndex(this._length)]=t,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(t,s,...a){if(s){for(let h=t;h<this._length-s;h++)this._array[this._getCyclicIndex(h)]=this._array[this._getCyclicIndex(h+s)];this._length-=s,this.onDeleteEmitter.fire({index:t,amount:s})}for(let h=this._length-1;h>=t;h--)this._array[this._getCyclicIndex(h+a.length)]=this._array[this._getCyclicIndex(h)];for(let h=0;h<a.length;h++)this._array[this._getCyclicIndex(t+h)]=a[h];if(a.length&&this.onInsertEmitter.fire({index:t,amount:a.length}),this._length+a.length>this._maxLength){let h=this._length+a.length-this._maxLength;this._startIndex+=h,this._length=this._maxLength,this.onTrimEmitter.fire(h)}else this._length+=a.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,s,a){if(!(s<=0)){if(t<0||t>=this._length)throw Error("start argument out of range");if(t+a<0)throw Error("Cannot shift elements in list beyond index 0");if(a>0){for(let l=s-1;l>=0;l--)this.set(t+l+a,this.get(t+l));let h=t+s+a-this._length;if(h>0)for(this._length+=h;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let h=0;h<s;h++)this.set(t+h+a,this.get(t+h))}}_getCyclicIndex(t){return(this._startIndex+t)%this._maxLength}};var z=3,re=Object.freeze(new zt),Xt=0,Li=2,Mt=class t{constructor(s,a,h=!1){this.isWrapped=h,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(s*z);let l=a||Me.fromCharData([0,Rr,1,0]);for(let c=0;c<s;++c)this.setCell(c,l);this.length=s}get(s){let a=this._data[s*z+0],h=a&2097151;return[this._data[s*z+1],a&2097152?this._combined[s]:h?Ze(h):"",a>>22,a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):h]}set(s,a){this._data[s*z+1]=a[0],a[1].length>1?(this._combined[s]=a[1],this._data[s*z+0]=s|2097152|a[2]<<22):this._data[s*z+0]=a[1].charCodeAt(0)|a[2]<<22}getWidth(s){return this._data[s*z+0]>>22}hasWidth(s){return this._data[s*z+0]&12582912}getFg(s){return this._data[s*z+1]}getBg(s){return this._data[s*z+2]}hasContent(s){return this._data[s*z+0]&4194303}getCodePoint(s){let a=this._data[s*z+0];return a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):a&2097151}isCombined(s){return this._data[s*z+0]&2097152}getString(s){let a=this._data[s*z+0];return a&2097152?this._combined[s]:a&2097151?Ze(a&2097151):""}isProtected(s){return this._data[s*z+2]&536870912}loadCell(s,a){return Xt=s*z,a.content=this._data[Xt+0],a.fg=this._data[Xt+1],a.bg=this._data[Xt+2],a.content&2097152&&(a.combinedData=this._combined[s]),a.bg&268435456&&(a.extended=this._extendedAttrs[s]),a}setCell(s,a){a.content&2097152&&(this._combined[s]=a.combinedData),a.bg&268435456&&(this._extendedAttrs[s]=a.extended),this._data[s*z+0]=a.content,this._data[s*z+1]=a.fg,this._data[s*z+2]=a.bg}setCellFromCodepoint(s,a,h,l){l.bg&268435456&&(this._extendedAttrs[s]=l.extended),this._data[s*z+0]=a|h<<22,this._data[s*z+1]=l.fg,this._data[s*z+2]=l.bg}addCodepointToCell(s,a,h){let l=this._data[s*z+0];l&2097152?this._combined[s]+=Ze(a):l&2097151?(this._combined[s]=Ze(l&2097151)+Ze(a),l&=-2097152,l|=2097152):l=a|4194304,h&&(l&=-12582913,l|=h<<22),this._data[s*z+0]=l}insertCells(s,a,h){if(s%=this.length,s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,h),a<this.length-s){let l=new Me;for(let c=this.length-s-a-1;c>=0;--c)this.setCell(s+a+c,this.loadCell(s+c,l));for(let c=0;c<a;++c)this.setCell(s+c,h)}else for(let l=s;l<this.length;++l)this.setCell(l,h);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,h)}deleteCells(s,a,h){if(s%=this.length,a<this.length-s){let l=new Me;for(let c=0;c<this.length-s-a;++c)this.setCell(s+c,this.loadCell(s+a+c,l));for(let c=this.length-a;c<this.length;++c)this.setCell(c,h)}else for(let l=s;l<this.length;++l)this.setCell(l,h);s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,h),this.getWidth(s)===0&&!this.hasContent(s)&&this.setCellFromCodepoint(s,0,1,h)}replaceCells(s,a,h,l=!1){if(l){for(s&&this.getWidth(s-1)===2&&!this.isProtected(s-1)&&this.setCellFromCodepoint(s-1,0,1,h),a<this.length&&this.getWidth(a-1)===2&&!this.isProtected(a)&&this.setCellFromCodepoint(a,0,1,h);s<a&&s<this.length;)this.isProtected(s)||this.setCell(s,h),s++;return}for(s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,h),a<this.length&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a,0,1,h);s<a&&s<this.length;)this.setCell(s++,h)}resize(s,a){if(s===this.length)return this._data.length*4*Li<this._data.buffer.byteLength;let h=s*z;if(s>this.length){if(this._data.buffer.byteLength>=h*4)this._data=new Uint32Array(this._data.buffer,0,h);else{let l=new Uint32Array(h);l.set(this._data),this._data=l}for(let l=this.length;l<s;++l)this.setCell(l,a)}else{this._data=this._data.subarray(0,h);let l=Object.keys(this._combined);for(let d=0;d<l.length;d++){let _=parseInt(l[d],10);_>=s&&delete this._combined[_]}let c=Object.keys(this._extendedAttrs);for(let d=0;d<c.length;d++){let _=parseInt(c[d],10);_>=s&&delete this._extendedAttrs[_]}}return this.length=s,h*4*Li<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Li<this._data.buffer.byteLength){let s=new Uint32Array(this._data.length);return s.set(this._data),this._data=s,1}return 0}fill(s,a=!1){if(a){for(let h=0;h<this.length;++h)this.isProtected(h)||this.setCell(h,s);return}this._combined={},this._extendedAttrs={};for(let h=0;h<this.length;++h)this.setCell(h,s)}copyFrom(s){this.length!==s.length?this._data=new Uint32Array(s._data):this._data.set(s._data),this.length=s.length,this._combined={};for(let a in s._combined)this._combined[a]=s._combined[a];this._extendedAttrs={};for(let a in s._extendedAttrs)this._extendedAttrs[a]=s._extendedAttrs[a];this.isWrapped=s.isWrapped}clone(){let s=new t(0);s._data=new Uint32Array(this._data),s.length=this.length;for(let a in this._combined)s._combined[a]=this._combined[a];for(let a in this._extendedAttrs)s._extendedAttrs[a]=this._extendedAttrs[a];return s.isWrapped=this.isWrapped,s}getTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303)return s+(this._data[s*z+0]>>22);return 0}getNoBgTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303||this._data[s*z+2]&50331648)return s+(this._data[s*z+0]>>22);return 0}copyCellsFrom(s,a,h,l,c){let d=s._data;if(c)for(let f=l-1;f>=0;f--){for(let u=0;u<z;u++)this._data[(h+f)*z+u]=d[(a+f)*z+u];d[(a+f)*z+2]&268435456&&(this._extendedAttrs[h+f]=s._extendedAttrs[a+f])}else for(let f=0;f<l;f++){for(let u=0;u<z;u++)this._data[(h+f)*z+u]=d[(a+f)*z+u];d[(a+f)*z+2]&268435456&&(this._extendedAttrs[h+f]=s._extendedAttrs[a+f])}let _=Object.keys(s._combined);for(let f=0;f<_.length;f++){let u=parseInt(_[f],10);u>=a&&(this._combined[u-a+h]=s._combined[u])}}translateToString(s,a,h,l){a=a??0,h=h??this.length,s&&(h=Math.min(h,this.getTrimmedLength())),l&&(l.length=0);let c="";for(;a<h;){let d=this._data[a*z+0],_=d&2097151,f=d&2097152?this._combined[a]:_?Ze(_):Qe;if(c+=f,l)for(let u=0;u<f.length;++u)l.push(a);a+=d>>22||1}return l&&l.push(a),c}};function ch(t,s,a,h,l,c){let d=[];for(let _=0;_<t.length-1;_++){let f=_,u=t.get(++f);if(!u.isWrapped)continue;let m=[t.get(_)];for(;f<t.length&&u.isWrapped;)m.push(u),u=t.get(++f);if(!c&&h>=_&&h<f){_+=m.length-1;continue}let p=0,S=Wt(m,p,s),b=1,v=0;for(;b<m.length;){let R=Wt(m,b,s),P=R-v,U=a-S,I=Math.min(P,U);m[p].copyCellsFrom(m[b],v,S,I,!1),S+=I,S===a&&(p++,S=0),v+=I,v===R&&(b++,v=0),S===0&&p!==0&&m[p-1].getWidth(a-1)===2&&(m[p].copyCellsFrom(m[p-1],a-1,S++,1,!1),m[p-1].setCell(a-1,l))}m[p].replaceCells(S,a,l);let w=0;for(let R=m.length-1;R>0&&(R>p||m[R].getTrimmedLength()===0);R--)w++;w>0&&(d.push(_+m.length-w),d.push(w)),_+=m.length-1}return d}function dh(t,s){let a=[],h=0,l=s[h],c=0;for(let d=0;d<t.length;d++)if(l===d){let _=s[++h];t.onDeleteEmitter.fire({index:d-c,amount:_}),d+=_-1,c+=_,l=s[++h]}else a.push(d);return{layout:a,countRemoved:c}}function uh(t,s){let a=[];for(let h=0;h<s.length;h++)a.push(t.get(s[h]));for(let h=0;h<a.length;h++)t.set(h,a[h]);t.length=s.length}function _h(t,s,a){let h=[],l=t.map((f,u)=>Wt(t,u,s)).reduce((f,u)=>f+u),c=0,d=0,_=0;for(;_<l;){if(l-_<a){h.push(l-_);break}c+=a;let f=Wt(t,d,s);c>f&&(c-=f,d++);let u=t[d].getWidth(c-1)===2;u&&c--;let m=u?a-1:a;h.push(m),_+=m}return h}function Wt(t,s,a){if(s===t.length-1)return t[s].getTrimmedLength();let h=!t[s].hasContent(a-1)&&t[s].getWidth(a-1)===1,l=t[s+1].getWidth(0)===2;return h&&l?a-1:a}var hn=class t{constructor(s){this.line=s,this.isDisposed=!1,this._disposables=[],this._id=t._nextId++,this._onDispose=this.register(new D),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),lt(this._disposables),this._disposables.length=0)}register(s){return this._disposables.push(s),s}};hn._nextId=1;var fh=hn,he={},ot=he.B;he[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};he.A={"#":"£"};he.B=void 0;he[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};he.C=he[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};he.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};he.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};he.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};he.E=he[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};he.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};he.H=he[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var or=4294967295,ar=class{constructor(t,s,a){this._hasScrollback=t,this._optionsService=s,this._bufferService=a,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=re.clone(),this.savedCharset=ot,this.markers=[],this._nullCell=Me.fromCharData([0,Rr,1,0]),this._whitespaceCell=Me.fromCharData([0,Qe,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new di,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new ri),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new ri),this._whitespaceCell}getBlankLine(t,s){return new Mt(this._bufferService.cols,this.getNullCell(t),s)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&t<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let s=t+this._optionsService.rawOptions.scrollback;return s>or?or:s}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=re);let s=this._rows;for(;s--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,s){let a=this.getNullCell(re),h=0,l=this._getCorrectBufferLength(s);if(l>this.lines.maxLength&&(this.lines.maxLength=l),this.lines.length>0){if(this._cols<t)for(let d=0;d<this.lines.length;d++)h+=+this.lines.get(d).resize(t,a);let c=0;if(this._rows<s)for(let d=this._rows;d<s;d++)this.lines.length<s+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Mt(t,a)):this.ybase>0&&this.lines.length<=this.ybase+this.y+c+1?(this.ybase--,c++,this.ydisp>0&&this.ydisp--):this.lines.push(new Mt(t,a)));else for(let d=this._rows;d>s;d--)this.lines.length>s+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(l<this.lines.maxLength){let d=this.lines.length-l;d>0&&(this.lines.trimStart(d),this.ybase=Math.max(this.ybase-d,0),this.ydisp=Math.max(this.ydisp-d,0),this.savedY=Math.max(this.savedY-d,0)),this.lines.maxLength=l}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,s-1),c&&(this.y+=c),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=s-1,this._isReflowEnabled&&(this._reflow(t,s),this._cols>t))for(let c=0;c<this.lines.length;c++)h+=+this.lines.get(c).resize(t,a);this._cols=t,this._rows=s,this._memoryCleanupQueue.clear(),h>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let s=0;for(;this._memoryCleanupPosition<this.lines.length;)if(s+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),s>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,s){this._cols!==t&&(t>this._cols?this._reflowLarger(t,s):this._reflowSmaller(t,s))}_reflowLarger(t,s){let a=this._optionsService.rawOptions.reflowCursorLine,h=ch(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(re),a);if(h.length>0){let l=dh(this.lines,h);uh(this.lines,l.layout),this._reflowLargerAdjustViewport(t,s,l.countRemoved)}}_reflowLargerAdjustViewport(t,s,a){let h=this.getNullCell(re),l=a;for(;l-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<s&&this.lines.push(new Mt(t,h))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-a,0)}_reflowSmaller(t,s){let a=this._optionsService.rawOptions.reflowCursorLine,h=this.getNullCell(re),l=[],c=0;for(let d=this.lines.length-1;d>=0;d--){let _=this.lines.get(d);if(!_||!_.isWrapped&&_.getTrimmedLength()<=t)continue;let f=[_];for(;_.isWrapped&&d>0;)_=this.lines.get(--d),f.unshift(_);if(!a){let I=this.ybase+this.y;if(I>=d&&I<d+f.length)continue}let u=f[f.length-1].getTrimmedLength(),m=_h(f,this._cols,t),p=m.length-f.length,S;this.ybase===0&&this.y!==this.lines.length-1?S=Math.max(0,this.y-this.lines.maxLength+p):S=Math.max(0,this.lines.length-this.lines.maxLength+p);let b=[];for(let I=0;I<p;I++){let E=this.getBlankLine(re,!0);b.push(E)}b.length>0&&(l.push({start:d+f.length+c,newLines:b}),c+=b.length),f.push(...b);let v=m.length-1,w=m[v];w===0&&(v--,w=m[v]);let R=f.length-p-1,P=u;for(;R>=0;){let I=Math.min(P,w);if(f[v]===void 0)break;if(f[v].copyCellsFrom(f[R],P-I,w-I,I,!0),w-=I,w===0&&(v--,w=m[v]),P-=I,P===0){R--;let E=Math.max(R,0);P=Wt(f,E,this._cols)}}for(let I=0;I<f.length;I++)m[I]<t&&f[I].setCell(m[I],h);let U=p-S;for(;U-- >0;)this.ybase===0?this.y<s-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+c)-s&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+p,this.ybase+s-1)}if(l.length>0){let d=[],_=[];for(let w=0;w<this.lines.length;w++)_.push(this.lines.get(w));let f=this.lines.length,u=f-1,m=0,p=l[m];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+c);let S=0;for(let w=Math.min(this.lines.maxLength-1,f+c-1);w>=0;w--)if(p&&p.start>u+S){for(let R=p.newLines.length-1;R>=0;R--)this.lines.set(w--,p.newLines[R]);w++,d.push({index:u+1,amount:p.newLines.length}),S+=p.newLines.length,p=l[++m]}else this.lines.set(w,_[u--]);let b=0;for(let w=d.length-1;w>=0;w--)d[w].index+=b,this.lines.onInsertEmitter.fire(d[w]),b+=d[w].amount;let v=Math.max(0,f+c-this.lines.maxLength);v>0&&this.lines.onTrimEmitter.fire(v)}}translateBufferLineToString(t,s,a=0,h){let l=this.lines.get(t);return l?l.translateToString(s,a,h):""}getWrappedRangeForLine(t){let s=t,a=t;for(;s>0&&this.lines.get(s).isWrapped;)s--;for(;a+1<this.lines.length&&this.lines.get(a+1).isWrapped;)a++;return{first:s,last:a}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let s=0;s<this.markers.length;s++)this.markers[s].line===t&&(this.markers[s].dispose(),this.markers.splice(s--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let s=new fh(t);return this.markers.push(s),s.register(this.lines.onTrim((a)=>{s.line-=a,s.line<0&&s.dispose()})),s.register(this.lines.onInsert((a)=>{s.line>=a.index&&(s.line+=a.amount)})),s.register(this.lines.onDelete((a)=>{s.line>=a.index&&s.line<a.index+a.amount&&s.dispose(),s.line>a.index&&(s.line-=a.amount)})),s.register(s.onDispose(()=>this._removeMarker(s))),s}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},ph=class extends W{constructor(t,s){super();this._optionsService=t,this._bufferService=s,this._onBufferActivate=this._register(new D),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new ar(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new ar(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,s){this._normal.resize(t,s),this._alt.resize(t,s),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},ln=2,cn=1,os=class extends W{constructor(t){super();this.isUserScrolling=!1,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,ln),this.rows=Math.max(t.rawOptions.rows||0,cn),this.buffers=this._register(new ph(t,this)),this._register(this.buffers.onBufferActivate((s)=>{this._onScroll.fire(s.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,s){let a=this.cols!==t,h=this.rows!==s;this.cols=t,this.rows=s,this.buffers.resize(t,s),this._onResize.fire({cols:t,rows:s,colsChanged:a,rowsChanged:h})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,s=!1){let a=this.buffer,h;h=this._cachedBlankLine,(!h||h.length!==this.cols||h.getFg(0)!==t.fg||h.getBg(0)!==t.bg)&&(h=a.getBlankLine(t,s),this._cachedBlankLine=h),h.isWrapped=s;let l=a.ybase+a.scrollTop,c=a.ybase+a.scrollBottom;if(a.scrollTop===0){let d=a.lines.isFull;c===a.lines.length-1?d?a.lines.recycle().copyFrom(h):a.lines.push(h.clone()):a.lines.splice(c+1,0,h.clone()),d?this.isUserScrolling&&(a.ydisp=Math.max(a.ydisp-1,0)):(a.ybase++,this.isUserScrolling||a.ydisp++)}else{let d=c-l+1;a.lines.shiftElements(l+1,d-1,-1),a.lines.set(c,h.clone())}this.isUserScrolling||(a.ydisp=a.ybase),this._onScroll.fire(a.ydisp)}scrollLines(t,s){let a=this.buffer;if(t<0){if(a.ydisp===0)return;this.isUserScrolling=!0}else t+a.ydisp>=a.ybase&&(this.isUserScrolling=!1);let h=a.ydisp;a.ydisp=Math.max(Math.min(a.ydisp+t,a.ybase),0),h!==a.ydisp&&(s||this._onScroll.fire(a.ydisp))}};os=te([M(0,be)],os);var _t={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1000,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:ci,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},gh=["normal","bold","100","200","300","400","500","600","700","800","900"],mh=class extends W{constructor(t){super();this._onOptionChange=this._register(new D),this.onOptionChange=this._onOptionChange.event;let s={..._t};for(let a in t)if(a in s)try{let h=t[a];s[a]=this._sanitizeAndValidateOption(a,h)}catch(h){console.error(h)}this.rawOptions=s,this.options={...s},this._setupOptions(),this._register(G(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,s){return this.onOptionChange((a)=>{a===t&&s(this.rawOptions[t])})}onMultipleOptionChange(t,s){return this.onOptionChange((a)=>{t.indexOf(a)!==-1&&s()})}_setupOptions(){let t=(a)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);return this.rawOptions[a]},s=(a,h)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);h=this._sanitizeAndValidateOption(a,h),this.rawOptions[a]!==h&&(this.rawOptions[a]=h,this._onOptionChange.fire(a))};for(let a in this.rawOptions){let h={get:t.bind(this,a),set:s.bind(this,a)};Object.defineProperty(this.options,a,h)}}_sanitizeAndValidateOption(t,s){switch(t){case"cursorStyle":if(s||(s=_t[t]),!vh(s))throw Error(`"${s}" is not a valid value for ${t}`);break;case"wordSeparator":s||(s=_t[t]);break;case"fontWeight":case"fontWeightBold":if(typeof s=="number"&&1<=s&&s<=1000)break;s=gh.includes(s)?s:_t[t];break;case"cursorWidth":s=Math.floor(s);case"lineHeight":case"tabStopWidth":if(s<1)throw Error(`${t} cannot be less than 1, value: ${s}`);break;case"minimumContrastRatio":s=Math.max(1,Math.min(21,Math.round(s*10)/10));break;case"scrollback":if(s=Math.min(s,4294967295),s<0)throw Error(`${t} cannot be less than 0, value: ${s}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(s<=0)throw Error(`${t} cannot be less than or equal to 0, value: ${s}`);break;case"rows":case"cols":if(!s&&s!==0)throw Error(`${t} must be numeric, value: ${s}`);break;case"windowsPty":s=s??{};break}return s}};function vh(t){return t==="block"||t==="underline"||t==="bar"}function Tt(t,s=5){if(typeof t!="object")return t;let a=Array.isArray(t)?[]:{};for(let h in t)a[h]=s<=1?t[h]:t[h]&&Tt(t[h],s-1);return a}var hr=Object.freeze({insertMode:!1}),lr=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),as=class extends W{constructor(t,s,a){super();this._bufferService=t,this._logService=s,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new D),this.onData=this._onData.event,this._onUserInput=this._register(new D),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new D),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}reset(){this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}triggerDataEvent(t,s=!1){if(this._optionsService.rawOptions.disableStdin)return;let a=this._bufferService.buffer;s&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),s&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map((h)=>h.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map((s)=>s.charCodeAt(0))),this._onBinary.fire(t))}};as=te([M(0,Se),M(1,Mr),M(2,be)],as);var cr={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(t)=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:(t)=>t.action!==32},DRAG:{events:23,restrict:(t)=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:(t)=>!0}};function Mi(t,s){let a=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(a|=64,a|=t.action):(a|=t.button&3,t.button&4&&(a|=64),t.button&8&&(a|=128),t.action===32?a|=32:t.action===0&&!s&&(a|=3)),a}var Ti=String.fromCharCode,dr={DEFAULT:(t)=>{let s=[Mi(t,!1)+32,t.col+32,t.row+32];return s[0]>255||s[1]>255||s[2]>255?"":`\x1B[M${Ti(s[0])}${Ti(s[1])}${Ti(s[2])}`},SGR:(t)=>{let s=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${Mi(t,!0)};${t.col};${t.row}${s}`},SGR_PIXELS:(t)=>{let s=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${Mi(t,!0)};${t.x};${t.y}${s}`}},hs=class extends W{constructor(t,s,a){super();this._bufferService=t,this._coreService=s,this._optionsService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new D),this.onProtocolChange=this._onProtocolChange.event;for(let h of Object.keys(cr))this.addProtocol(h,cr[h]);for(let h of Object.keys(dr))this.addEncoding(h,dr[h]);this.reset()}addProtocol(t,s){this._protocols[t]=s}addEncoding(t,s){this._encodings[t]=s}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,s,a){if(t.deltaY===0||t.shiftKey||s===void 0||a===void 0)return 0;let h=s/a,l=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(l/=h+0,Math.abs(t.deltaY)<50&&(l*=0.3),this._wheelPartialScroll+=l,l=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(l*=this._bufferService.rows),l}_applyScrollModifier(t,s){return s.altKey||s.ctrlKey||s.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let s=this._encodings[this._activeEncoding](t);return s&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(s):this._coreService.triggerDataEvent(s,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,s,a){if(a){if(t.x!==s.x||t.y!==s.y)return!1}else if(t.col!==s.col||t.row!==s.row)return!1;return!(t.button!==s.button||t.action!==s.action||t.ctrl!==s.ctrl||t.alt!==s.alt||t.shift!==s.shift)}};hs=te([M(0,Se),M(1,ut),M(2,be)],hs);var Pi=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],Sh=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],ae;function bh(t,s){let a=0,h=s.length-1,l;if(t<s[0][0]||t>s[h][1])return!1;for(;h>=a;)if(l=a+h>>1,t>s[l][1])a=l+1;else if(t<s[l][0])h=l-1;else return!0;return!1}var wh=class{constructor(){if(this.version="6",!ae){ae=new Uint8Array(65536),ae.fill(1),ae[0]=0,ae.fill(0,1,32),ae.fill(0,127,160),ae.fill(2,4352,4448),ae[9001]=2,ae[9002]=2,ae.fill(2,11904,42192),ae[12351]=1,ae.fill(2,44032,55204),ae.fill(2,63744,64256),ae.fill(2,65040,65050),ae.fill(2,65072,65136),ae.fill(2,65280,65377),ae.fill(2,65504,65511);for(let t=0;t<Pi.length;++t)ae.fill(0,Pi[t][0],Pi[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?ae[t]:bh(t,Sh)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,s){let a=this.wcwidth(t),h=a===0&&s!==0;if(h){let l=at.extractWidth(s);l===0?h=!1:l>a&&(a=l)}return at.createPropertyValue(0,a,h)}},at=class t{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new D,this.onChange=this._onChange.event;let s=new wh;this.register(s),this._active=s.version,this._activeProvider=s}static extractShouldJoin(s){return(s&1)!==0}static extractWidth(s){return s>>1&3}static extractCharKind(s){return s>>3}static createPropertyValue(s,a,h=!1){return(s&16777215)<<3|(a&3)<<1|(h?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(s){if(!this._providers[s])throw Error(`unknown Unicode version "${s}"`);this._active=s,this._activeProvider=this._providers[s],this._onChange.fire(s)}register(s){this._providers[s.version]=s}wcwidth(s){return this._activeProvider.wcwidth(s)}getStringCellWidth(s){let a=0,h=0,l=s.length;for(let c=0;c<l;++c){let d=s.charCodeAt(c);if(55296<=d&&d<=56319){if(++c>=l)return a+this.wcwidth(d);let u=s.charCodeAt(c);56320<=u&&u<=57343?d=(d-55296)*1024+u-56320+65536:a+=this.wcwidth(u)}let _=this.charProperties(d,h),f=t.extractWidth(_);t.extractShouldJoin(_)&&(f-=t.extractWidth(h)),a+=f,h=_}return a}charProperties(s,a){return this._activeProvider.charProperties(s,a)}},yh=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,s){this._charsets[t]=s,this.glevel===t&&(this.charset=s)}};function ur(t){let s=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1)?.get(t.cols-1),a=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);a&&s&&(a.isWrapped=s[3]!==0&&s[3]!==32)}var kt=2147483647,Ch=256,dn=class t{constructor(s=32,a=32){if(this.maxLength=s,this.maxSubParamsLength=a,a>Ch)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(s),this.length=0,this._subParams=new Int32Array(a),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(s),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(s){let a=new t;if(!s.length)return a;for(let h=Array.isArray(s[0])?1:0;h<s.length;++h){let l=s[h];if(Array.isArray(l))for(let c=0;c<l.length;++c)a.addSubParam(l[c]);else a.addParam(l)}return a}clone(){let s=new t(this.maxLength,this.maxSubParamsLength);return s.params.set(this.params),s.length=this.length,s._subParams.set(this._subParams),s._subParamsLength=this._subParamsLength,s._subParamsIdx.set(this._subParamsIdx),s._rejectDigits=this._rejectDigits,s._rejectSubDigits=this._rejectSubDigits,s._digitIsSub=this._digitIsSub,s}toArray(){let s=[];for(let a=0;a<this.length;++a){s.push(this.params[a]);let h=this._subParamsIdx[a]>>8,l=this._subParamsIdx[a]&255;l-h>0&&s.push(Array.prototype.slice.call(this._subParams,h,l))}return s}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(s){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=s>kt?kt:s}addSubParam(s){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=s>kt?kt:s,this._subParamsIdx[this.length-1]++}}hasSubParams(s){return(this._subParamsIdx[s]&255)-(this._subParamsIdx[s]>>8)>0}getSubParams(s){let a=this._subParamsIdx[s]>>8,h=this._subParamsIdx[s]&255;return h-a>0?this._subParams.subarray(a,h):null}getSubParamsAll(){let s={};for(let a=0;a<this.length;++a){let h=this._subParamsIdx[a]>>8,l=this._subParamsIdx[a]&255;l-h>0&&(s[a]=this._subParams.slice(h,l))}return s}addDigit(s){let a;if(this._rejectDigits||!(a=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let h=this._digitIsSub?this._subParams:this.params,l=h[a-1];h[a-1]=~l?Math.min(l*10+s,kt):s}},Et=[],xh=class{constructor(){this._state=0,this._active=Et,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,s){this._handlers[t]===void 0&&(this._handlers[t]=[]);let a=this._handlers[t];return a.push(s),{dispose:()=>{let h=a.indexOf(s);h!==-1&&a.splice(h,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Et}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=Et,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Et,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,s,a){if(!this._active.length)this._handlerFb(this._id,"PUT",_i(t,s,a));else for(let h=this._active.length-1;h>=0;h--)this._active[h].put(t,s,a)}start(){this.reset(),this._state=1}put(t,s,a){if(this._state!==3){if(this._state===1)for(;s<a;){let h=t[s++];if(h===59){this._state=2,this._start();break}if(h<48||57<h){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+h-48}this._state===2&&a-s>0&&this._put(t,s,a)}}end(t,s=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let a=!1,h=this._active.length-1,l=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,a=s,l=this._stack.fallThrough,this._stack.paused=!1),!l&&a===!1){for(;h>=0&&(a=this._active[h].end(t),a!==!0);h--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,a;h--}for(;h>=0;h--)if(a=this._active[h].end(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,a}this._active=Et,this._id=-1,this._state=0}}},Ee=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,s,a){this._hitLimit||(this._data+=_i(t,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let s=!1;if(this._hitLimit)s=!1;else if(t&&(s=this._handler(this._data),s instanceof Promise))return s.then((a)=>(this._data="",this._hitLimit=!1,a));return this._data="",this._hitLimit=!1,s}},Dt=[],kh=class{constructor(){this._handlers=Object.create(null),this._active=Dt,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Dt}registerHandler(t,s){this._handlers[t]===void 0&&(this._handlers[t]=[]);let a=this._handlers[t];return a.push(s),{dispose:()=>{let h=a.indexOf(s);h!==-1&&a.splice(h,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=Dt,this._ident=0}hook(t,s){if(this.reset(),this._ident=t,this._active=this._handlers[t]||Dt,!this._active.length)this._handlerFb(this._ident,"HOOK",s);else for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(s)}put(t,s,a){if(!this._active.length)this._handlerFb(this._ident,"PUT",_i(t,s,a));else for(let h=this._active.length-1;h>=0;h--)this._active[h].put(t,s,a)}unhook(t,s=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let a=!1,h=this._active.length-1,l=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,a=s,l=this._stack.fallThrough,this._stack.paused=!1),!l&&a===!1){for(;h>=0&&(a=this._active[h].unhook(t),a!==!0);h--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,a;h--}for(;h>=0;h--)if(a=this._active[h].unhook(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,a}this._active=Dt,this._ident=0}},Pt=new dn;Pt.addParam(0);var _r=class{constructor(t){this._handler=t,this._data="",this._params=Pt,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():Pt,this._data="",this._hitLimit=!1}put(t,s,a){this._hitLimit||(this._data+=_i(t,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let s=!1;if(this._hitLimit)s=!1;else if(t&&(s=this._handler(this._data,this._params),s instanceof Promise))return s.then((a)=>(this._params=Pt,this._data="",this._hitLimit=!1,a));return this._params=Pt,this._data="",this._hitLimit=!1,s}},Eh=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,s){this.table.fill(t<<4|s)}add(t,s,a,h){this.table[s<<8|t]=a<<4|h}addMany(t,s,a,h){for(let l=0;l<t.length;l++)this.table[s<<8|t[l]]=a<<4|h}},Le=160,Dh=function(){let t=new Eh(4095),s=Array.apply(null,Array(256)).map((_,f)=>f),a=(_,f)=>s.slice(_,f),h=a(32,127),l=a(0,24);l.push(25),l.push.apply(l,a(28,32));let c=a(0,14),d;t.setDefault(1,0),t.addMany(h,0,2,0);for(d in c)t.addMany([24,26,153,154],d,3,0),t.addMany(a(128,144),d,3,0),t.addMany(a(144,152),d,3,0),t.add(156,d,0,0),t.add(27,d,11,1),t.add(157,d,4,8),t.addMany([152,158,159],d,0,7),t.add(155,d,11,3),t.add(144,d,11,9);return t.addMany(l,0,3,0),t.addMany(l,1,3,1),t.add(127,1,0,1),t.addMany(l,8,0,8),t.addMany(l,3,3,3),t.add(127,3,0,3),t.addMany(l,4,3,4),t.add(127,4,0,4),t.addMany(l,6,3,6),t.addMany(l,5,3,5),t.add(127,5,0,5),t.addMany(l,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(h,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(a(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(h,7,0,7),t.addMany(l,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(a(64,127),3,7,0),t.addMany(a(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(a(48,60),4,8,4),t.addMany(a(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(a(32,64),6,0,6),t.add(127,6,0,6),t.addMany(a(64,127),6,0,0),t.addMany(a(32,48),3,9,5),t.addMany(a(32,48),5,9,5),t.addMany(a(48,64),5,0,6),t.addMany(a(64,127),5,7,0),t.addMany(a(32,48),4,9,5),t.addMany(a(32,48),1,9,2),t.addMany(a(32,48),2,9,2),t.addMany(a(48,127),2,10,0),t.addMany(a(48,80),1,10,0),t.addMany(a(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(a(96,127),1,10,0),t.add(80,1,11,9),t.addMany(l,9,0,9),t.add(127,9,0,9),t.addMany(a(28,32),9,0,9),t.addMany(a(32,48),9,9,12),t.addMany(a(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(l,11,0,11),t.addMany(a(32,128),11,0,11),t.addMany(a(28,32),11,0,11),t.addMany(l,10,0,10),t.add(127,10,0,10),t.addMany(a(28,32),10,0,10),t.addMany(a(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(a(32,48),10,9,12),t.addMany(l,12,0,12),t.add(127,12,0,12),t.addMany(a(28,32),12,0,12),t.addMany(a(32,48),12,9,12),t.addMany(a(48,64),12,0,11),t.addMany(a(64,127),12,12,13),t.addMany(a(64,127),10,12,13),t.addMany(a(64,127),9,12,13),t.addMany(l,13,13,13),t.addMany(h,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(Le,0,2,0),t.add(Le,8,5,8),t.add(Le,6,0,6),t.add(Le,11,0,11),t.add(Le,13,13,13),t}(),Bh=class extends W{constructor(t=Dh){super();this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new dn,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(s,a,h)=>{},this._executeHandlerFb=(s)=>{},this._csiHandlerFb=(s,a)=>{},this._escHandlerFb=(s)=>{},this._errorHandlerFb=(s)=>s,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(G(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new xh),this._dcsParser=this._register(new kh),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,s=[64,126]){let a=0;if(t.prefix){if(t.prefix.length>1)throw Error("only one byte as prefix supported");if(a=t.prefix.charCodeAt(0),a&&60>a||a>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let l=0;l<t.intermediates.length;++l){let c=t.intermediates.charCodeAt(l);if(32>c||c>47)throw Error("intermediate must be in range 0x20 .. 0x2f");a<<=8,a|=c}}if(t.final.length!==1)throw Error("final must be a single byte");let h=t.final.charCodeAt(0);if(s[0]>h||h>s[1])throw Error(`final must be in range ${s[0]} .. ${s[1]}`);return a<<=8,a|=h,a}identToString(t){let s=[];for(;t;)s.push(String.fromCharCode(t&255)),t>>=8;return s.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,s){let a=this._identifier(t,[48,126]);this._escHandlers[a]===void 0&&(this._escHandlers[a]=[]);let h=this._escHandlers[a];return h.push(s),{dispose:()=>{let l=h.indexOf(s);l!==-1&&h.splice(l,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,s){this._executeHandlers[t.charCodeAt(0)]=s}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,s){let a=this._identifier(t);this._csiHandlers[a]===void 0&&(this._csiHandlers[a]=[]);let h=this._csiHandlers[a];return h.push(s),{dispose:()=>{let l=h.indexOf(s);l!==-1&&h.splice(l,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,s){return this._dcsParser.registerHandler(this._identifier(t),s)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,s){return this._oscParser.registerHandler(t,s)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,s,a,h,l){this._parseStack.state=t,this._parseStack.handlers=s,this._parseStack.handlerPos=a,this._parseStack.transition=h,this._parseStack.chunkPos=l}parse(t,s,a){let h=0,l=0,c=0,d;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,c=this._parseStack.chunkPos+1;else{if(a===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let _=this._parseStack.handlers,f=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(a===!1&&f>-1){for(;f>=0&&(d=_[f](this._params),d!==!0);f--)if(d instanceof Promise)return this._parseStack.handlerPos=f,d}this._parseStack.handlers=[];break;case 4:if(a===!1&&f>-1){for(;f>=0&&(d=_[f](),d!==!0);f--)if(d instanceof Promise)return this._parseStack.handlerPos=f,d}this._parseStack.handlers=[];break;case 6:if(h=t[this._parseStack.chunkPos],d=this._dcsParser.unhook(h!==24&&h!==26,a),d)return d;h===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(h=t[this._parseStack.chunkPos],d=this._oscParser.end(h!==24&&h!==26,a),d)return d;h===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,c=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let _=c;_<s;++_){switch(h=t[_],l=this._transitions.table[this.currentState<<8|(h<160?h:Le)],l>>4){case 2:for(let S=_+1;;++S){if(S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}if(++S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}if(++S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}if(++S>=s||(h=t[S])<32||h>126&&h<Le){this._printHandler(t,_,S),_=S-1;break}}break;case 3:this._executeHandlers[h]?this._executeHandlers[h]():this._executeHandlerFb(h),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:_,code:h,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let f=this._csiHandlers[this._collect<<8|h],u=f?f.length-1:-1;for(;u>=0&&(d=f[u](this._params),d!==!0);u--)if(d instanceof Promise)return this._preserveStack(3,f,u,l,_),d;u<0&&this._csiHandlerFb(this._collect<<8|h,this._params),this.precedingJoinState=0;break;case 8:do switch(h){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(h-48)}while(++_<s&&(h=t[_])>47&&h<60);_--;break;case 9:this._collect<<=8,this._collect|=h;break;case 10:let m=this._escHandlers[this._collect<<8|h],p=m?m.length-1:-1;for(;p>=0&&(d=m[p](),d!==!0);p--)if(d instanceof Promise)return this._preserveStack(4,m,p,l,_),d;p<0&&this._escHandlerFb(this._collect<<8|h),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|h,this._params);break;case 13:for(let S=_+1;;++S)if(S>=s||(h=t[S])===24||h===26||h===27||h>127&&h<Le){this._dcsParser.put(t,_,S),_=S-1;break}break;case 14:if(d=this._dcsParser.unhook(h!==24&&h!==26),d)return this._preserveStack(6,[],0,l,_),d;h===27&&(l|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let S=_+1;;S++)if(S>=s||(h=t[S])<32||h>127&&h<Le){this._oscParser.put(t,_,S),_=S-1;break}break;case 6:if(d=this._oscParser.end(h!==24&&h!==26),d)return this._preserveStack(5,[],0,l,_),d;h===27&&(l|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=l&15}}},Rh=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,Lh=/^[\da-f]+$/;function fr(t){if(!t)return;let s=t.toLowerCase();if(s.indexOf("rgb:")===0){s=s.slice(4);let a=Rh.exec(s);if(a){let h=a[1]?15:a[4]?255:a[7]?4095:65535;return[Math.round(parseInt(a[1]||a[4]||a[7]||a[10],16)/h*255),Math.round(parseInt(a[2]||a[5]||a[8]||a[11],16)/h*255),Math.round(parseInt(a[3]||a[6]||a[9]||a[12],16)/h*255)]}}else if(s.indexOf("#")===0&&(s=s.slice(1),Lh.exec(s)&&[3,6,9,12].includes(s.length))){let a=s.length/3,h=[0,0,0];for(let l=0;l<3;++l){let c=parseInt(s.slice(a*l,a*l+a),16);h[l]=a===1?c<<4:a===2?c:a===3?c>>4:c>>8}return h}}function Ai(t,s){let a=t.toString(16),h=a.length<2?"0"+a:a;switch(s){case 4:return a[0];case 8:return h;case 12:return(h+h).slice(0,3);default:return h+h}}function Mh(t,s=16){let[a,h,l]=t;return`rgb:${Ai(a,s)}/${Ai(h,s)}/${Ai(l,s)}`}var Th={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Je=131072,pr=10;function gr(t,s){if(t>24)return s.setWinLines||!1;switch(t){case 1:return!!s.restoreWin;case 2:return!!s.minimizeWin;case 3:return!!s.setWinPosition;case 4:return!!s.setWinSizePixels;case 5:return!!s.raiseWin;case 6:return!!s.lowerWin;case 7:return!!s.refreshWin;case 8:return!!s.setWinSizeChars;case 9:return!!s.maximizeWin;case 10:return!!s.fullscreenWin;case 11:return!!s.getWinState;case 13:return!!s.getWinPosition;case 14:return!!s.getWinSizePixels;case 15:return!!s.getScreenSizePixels;case 16:return!!s.getCellSizePixels;case 18:return!!s.getWinSizeChars;case 19:return!!s.getScreenSizeChars;case 20:return!!s.getIconTitle;case 21:return!!s.getWinTitle;case 22:return!!s.pushTitle;case 23:return!!s.popTitle;case 24:return!!s.setWinLines}return!1}var mr=5000,vr=0,Ph=class extends W{constructor(t,s,a,h,l,c,d,_,f=new Bh){super();this._bufferService=t,this._charsetService=s,this._coreService=a,this._logService=h,this._optionsService=l,this._oscLinkService=c,this._coreMouseService=d,this._unicodeService=_,this._parser=f,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Cn,this._utf8Decoder=new xn,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone(),this._onRequestBell=this._register(new D),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new D),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new D),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new D),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new D),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new D),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new D),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new D),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new D),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new ls(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((u)=>this._activeBuffer=u.activeBuffer)),this._parser.setCsiHandlerFallback((u,m)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(u),params:m.toArray()})}),this._parser.setEscHandlerFallback((u)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(u)})}),this._parser.setExecuteHandlerFallback((u)=>{this._logService.debug("Unknown EXECUTE code: ",{code:u})}),this._parser.setOscHandlerFallback((u,m,p)=>{this._logService.debug("Unknown OSC code: ",{identifier:u,action:m,data:p})}),this._parser.setDcsHandlerFallback((u,m,p)=>{m==="HOOK"&&(p=p.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(u),action:m,payload:p})}),this._parser.setPrintHandler((u,m,p)=>this.print(u,m,p)),this._parser.registerCsiHandler({final:"@"},(u)=>this.insertChars(u)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(u)=>this.scrollLeft(u)),this._parser.registerCsiHandler({final:"A"},(u)=>this.cursorUp(u)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(u)=>this.scrollRight(u)),this._parser.registerCsiHandler({final:"B"},(u)=>this.cursorDown(u)),this._parser.registerCsiHandler({final:"C"},(u)=>this.cursorForward(u)),this._parser.registerCsiHandler({final:"D"},(u)=>this.cursorBackward(u)),this._parser.registerCsiHandler({final:"E"},(u)=>this.cursorNextLine(u)),this._parser.registerCsiHandler({final:"F"},(u)=>this.cursorPrecedingLine(u)),this._parser.registerCsiHandler({final:"G"},(u)=>this.cursorCharAbsolute(u)),this._parser.registerCsiHandler({final:"H"},(u)=>this.cursorPosition(u)),this._parser.registerCsiHandler({final:"I"},(u)=>this.cursorForwardTab(u)),this._parser.registerCsiHandler({final:"J"},(u)=>this.eraseInDisplay(u,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(u)=>this.eraseInDisplay(u,!0)),this._parser.registerCsiHandler({final:"K"},(u)=>this.eraseInLine(u,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(u)=>this.eraseInLine(u,!0)),this._parser.registerCsiHandler({final:"L"},(u)=>this.insertLines(u)),this._parser.registerCsiHandler({final:"M"},(u)=>this.deleteLines(u)),this._parser.registerCsiHandler({final:"P"},(u)=>this.deleteChars(u)),this._parser.registerCsiHandler({final:"S"},(u)=>this.scrollUp(u)),this._parser.registerCsiHandler({final:"T"},(u)=>this.scrollDown(u)),this._parser.registerCsiHandler({final:"X"},(u)=>this.eraseChars(u)),this._parser.registerCsiHandler({final:"Z"},(u)=>this.cursorBackwardTab(u)),this._parser.registerCsiHandler({final:"`"},(u)=>this.charPosAbsolute(u)),this._parser.registerCsiHandler({final:"a"},(u)=>this.hPositionRelative(u)),this._parser.registerCsiHandler({final:"b"},(u)=>this.repeatPrecedingCharacter(u)),this._parser.registerCsiHandler({final:"c"},(u)=>this.sendDeviceAttributesPrimary(u)),this._parser.registerCsiHandler({prefix:">",final:"c"},(u)=>this.sendDeviceAttributesSecondary(u)),this._parser.registerCsiHandler({final:"d"},(u)=>this.linePosAbsolute(u)),this._parser.registerCsiHandler({final:"e"},(u)=>this.vPositionRelative(u)),this._parser.registerCsiHandler({final:"f"},(u)=>this.hVPosition(u)),this._parser.registerCsiHandler({final:"g"},(u)=>this.tabClear(u)),this._parser.registerCsiHandler({final:"h"},(u)=>this.setMode(u)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(u)=>this.setModePrivate(u)),this._parser.registerCsiHandler({final:"l"},(u)=>this.resetMode(u)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(u)=>this.resetModePrivate(u)),this._parser.registerCsiHandler({final:"m"},(u)=>this.charAttributes(u)),this._parser.registerCsiHandler({final:"n"},(u)=>this.deviceStatus(u)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(u)=>this.deviceStatusPrivate(u)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(u)=>this.softReset(u)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(u)=>this.setCursorStyle(u)),this._parser.registerCsiHandler({final:"r"},(u)=>this.setScrollRegion(u)),this._parser.registerCsiHandler({final:"s"},(u)=>this.saveCursor(u)),this._parser.registerCsiHandler({final:"t"},(u)=>this.windowOptions(u)),this._parser.registerCsiHandler({final:"u"},(u)=>this.restoreCursor(u)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(u)=>this.insertColumns(u)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(u)=>this.deleteColumns(u)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(u)=>this.selectProtected(u)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(u)=>this.requestMode(u,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(u)=>this.requestMode(u,!1)),this._parser.setExecuteHandler(C.BEL,()=>this.bell()),this._parser.setExecuteHandler(C.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(C.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(C.BS,()=>this.backspace()),this._parser.setExecuteHandler(C.HT,()=>this.tab()),this._parser.setExecuteHandler(C.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(C.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ii.IND,()=>this.index()),this._parser.setExecuteHandler(ii.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ii.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Ee((u)=>(this.setTitle(u),this.setIconName(u),!0))),this._parser.registerOscHandler(1,new Ee((u)=>this.setIconName(u))),this._parser.registerOscHandler(2,new Ee((u)=>this.setTitle(u))),this._parser.registerOscHandler(4,new Ee((u)=>this.setOrReportIndexedColor(u))),this._parser.registerOscHandler(8,new Ee((u)=>this.setHyperlink(u))),this._parser.registerOscHandler(10,new Ee((u)=>this.setOrReportFgColor(u))),this._parser.registerOscHandler(11,new Ee((u)=>this.setOrReportBgColor(u))),this._parser.registerOscHandler(12,new Ee((u)=>this.setOrReportCursorColor(u))),this._parser.registerOscHandler(104,new Ee((u)=>this.restoreIndexedColor(u))),this._parser.registerOscHandler(110,new Ee((u)=>this.restoreFgColor(u))),this._parser.registerOscHandler(111,new Ee((u)=>this.restoreBgColor(u))),this._parser.registerOscHandler(112,new Ee((u)=>this.restoreCursorColor(u))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let u in he)this._parser.registerEscHandler({intermediates:"(",final:u},()=>this.selectCharset("("+u)),this._parser.registerEscHandler({intermediates:")",final:u},()=>this.selectCharset(")"+u)),this._parser.registerEscHandler({intermediates:"*",final:u},()=>this.selectCharset("*"+u)),this._parser.registerEscHandler({intermediates:"+",final:u},()=>this.selectCharset("+"+u)),this._parser.registerEscHandler({intermediates:"-",final:u},()=>this.selectCharset("-"+u)),this._parser.registerEscHandler({intermediates:".",final:u},()=>this.selectCharset("."+u)),this._parser.registerEscHandler({intermediates:"/",final:u},()=>this.selectCharset("/"+u));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((u)=>(this._logService.error("Parsing error: ",u),u)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new _r((u,m)=>this.requestStatusString(u,m)))}getAttrData(){return this._curAttrData}_preserveStack(t,s,a,h){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=s,this._parseStack.decodedLength=a,this._parseStack.position=h}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((s,a)=>setTimeout(()=>a("#SLOW_TIMEOUT"),mr))]).catch((s)=>{if(s!=="#SLOW_TIMEOUT")throw s;console.warn(`async parser handler taking longer than ${mr} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,s){let a,h=this._activeBuffer.x,l=this._activeBuffer.y,c=0,d=this._parseStack.paused;if(d){if(a=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,s))return this._logSlowResolvingAsync(a),a;h=this._parseStack.cursorStartX,l=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Je&&(c=this._parseStack.position+Je)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,(u)=>String.fromCharCode(u)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map((u)=>u.charCodeAt(0)):t),this._parseBuffer.length<t.length&&this._parseBuffer.length<Je&&(this._parseBuffer=new Uint32Array(Math.min(t.length,Je))),d||this._dirtyRowTracker.clearRange(),t.length>Je)for(let u=c;u<t.length;u+=Je){let m=u+Je<t.length?u+Je:t.length,p=typeof t=="string"?this._stringDecoder.decode(t.substring(u,m),this._parseBuffer):this._utf8Decoder.decode(t.subarray(u,m),this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,p))return this._preserveStack(h,l,p,u),this._logSlowResolvingAsync(a),a}else if(!d){let u=typeof t=="string"?this._stringDecoder.decode(t,this._parseBuffer):this._utf8Decoder.decode(t,this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,u))return this._preserveStack(h,l,u,0),this._logSlowResolvingAsync(a),a}(this._activeBuffer.x!==h||this._activeBuffer.y!==l)&&this._onCursorMove.fire();let _=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),f=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);f<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(f,this._bufferService.rows-1),end:Math.min(_,this._bufferService.rows-1)})}print(t,s,a){let h,l,c=this._charsetService.charset,d=this._optionsService.rawOptions.screenReaderMode,_=this._bufferService.cols,f=this._coreService.decPrivateModes.wraparound,u=this._coreService.modes.insertMode,m=this._curAttrData,p=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&a-s>0&&p.getWidth(this._activeBuffer.x-1)===2&&p.setCellFromCodepoint(this._activeBuffer.x-1,0,1,m);let S=this._parser.precedingJoinState;for(let b=s;b<a;++b){if(h=t[b],h<127&&c){let P=c[String.fromCharCode(h)];P&&(h=P.charCodeAt(0))}let v=this._unicodeService.charProperties(h,S);l=at.extractWidth(v);let w=at.extractShouldJoin(v),R=w?at.extractWidth(S):0;if(S=v,d&&this._onA11yChar.fire(Ze(h)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+l-R>_){if(f){let P=p,U=this._activeBuffer.x-R;for(this._activeBuffer.x=R,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),p=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),R>0&&p instanceof Mt&&p.copyCellsFrom(P,U,0,R,!1);U<_;)P.setCellFromCodepoint(U++,0,1,m)}else if(this._activeBuffer.x=_-1,l===2)continue}if(w&&this._activeBuffer.x){let P=p.getWidth(this._activeBuffer.x-1)?1:2;p.addCodepointToCell(this._activeBuffer.x-P,h,l);for(let U=l-R;--U>=0;)p.setCellFromCodepoint(this._activeBuffer.x++,0,0,m);continue}if(u&&(p.insertCells(this._activeBuffer.x,l-R,this._activeBuffer.getNullCell(m)),p.getWidth(_-1)===2&&p.setCellFromCodepoint(_-1,0,1,m)),p.setCellFromCodepoint(this._activeBuffer.x++,h,l,m),l>0)for(;--l;)p.setCellFromCodepoint(this._activeBuffer.x++,0,0,m)}this._parser.precedingJoinState=S,this._activeBuffer.x<_&&a-s>0&&p.getWidth(this._activeBuffer.x)===0&&!p.hasContent(this._activeBuffer.x)&&p.setCellFromCodepoint(this._activeBuffer.x,0,1,m),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,s){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,(a)=>gr(a.params[0],this._optionsService.rawOptions.windowOptions)?s(a):!0):this._parser.registerCsiHandler(t,s)}registerDcsHandler(t,s){return this._parser.registerDcsHandler(t,new _r(s))}registerEscHandler(t,s){return this._parser.registerEscHandler(t,s)}registerOscHandler(t,s){return this._parser.registerOscHandler(t,new Ee(s))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,s){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+s):(this._activeBuffer.x=t,this._activeBuffer.y=s),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,s){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+s)}cursorUp(t){let s=this._activeBuffer.y-this._activeBuffer.scrollTop;return s>=0?this._moveCursor(0,-Math.min(s,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let s=this._activeBuffer.scrollBottom-this._activeBuffer.y;return s>=0?this._moveCursor(0,Math.min(s,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let s=t.params[0];return s===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:s===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=t.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=t.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let s=t.params[0];return s===1&&(this._curAttrData.bg|=536870912),(s===2||s===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,s,a,h=!1,l=!1){let c=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);c.replaceCells(s,a,this._activeBuffer.getNullCell(this._eraseAttrData()),l),h&&(c.isWrapped=!1)}_resetBufferLine(t,s=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);a&&(a.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),s),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),a.isWrapped=!1)}eraseInDisplay(t,s=!1){this._restrictCursor(this._bufferService.cols);let a;switch(t.params[0]){case 0:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);a<this._bufferService.rows;a++)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(a);break;case 1:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a,0,this._activeBuffer.x+1,!0,s),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(a+1).isWrapped=!1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(a=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,a-1);a--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+a)?.getTrimmedLength(););for(;a>=0;a--)this._bufferService.scroll(this._eraseAttrData())}else{for(a=this._bufferService.rows,this._dirtyRowTracker.markDirty(a-1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0)}break;case 3:let h=this._activeBuffer.lines.length-this._bufferService.rows;h>0&&(this._activeBuffer.lines.trimStart(h),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-h,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-h,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,s=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,s);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,s);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let s=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,h=this._bufferService.rows-1-this._activeBuffer.scrollBottom,l=this._bufferService.rows-1+this._activeBuffer.ybase-h+1;for(;s--;)this._activeBuffer.lines.splice(l-1,1),this._activeBuffer.lines.splice(a,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(t){this._restrictCursor();let s=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,h;for(h=this._bufferService.rows-1-this._activeBuffer.scrollBottom,h=this._bufferService.rows-1+this._activeBuffer.ybase-h;s--;)this._activeBuffer.lines.splice(a,1),this._activeBuffer.lines.splice(h,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.insertCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.deleteCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(t){let s=t.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(t){let s=t.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(re));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.deleteCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.insertCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.insertCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let h=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);h.deleteCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),h.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(t.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(t){let s=this._parser.precedingJoinState;if(!s)return!0;let a=t.params[0]||1,h=at.extractWidth(s),l=this._activeBuffer.x-h,c=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(l),d=new Uint32Array(c.length*a),_=0;for(let u=0;u<c.length;){let m=c.codePointAt(u)||0;d[_++]=m,u+=m>65535?2:1}let f=_;for(let u=1;u<a;++u)d.copyWithin(f,0,_),f+=_;return this.print(d,0,f),!0}sendDeviceAttributesPrimary(t){return t.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(C.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(C.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(C.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(C.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(C.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,ot),this._charsetService.setgCharset(1,ot),this._charsetService.setgCharset(2,ot),this._charsetService.setgCharset(3,ot);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1000:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1000:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),t.params[s]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(t,s){let a;((w)=>(w[w.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",w[w.SET=1]="SET",w[w.RESET=2]="RESET",w[w.PERMANENTLY_SET=3]="PERMANENTLY_SET",w[w.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(a||={});let h=this._coreService.decPrivateModes,{activeProtocol:l,activeEncoding:c}=this._coreMouseService,d=this._coreService,{buffers:_,cols:f}=this._bufferService,{active:u,alt:m}=_,p=this._optionsService.rawOptions,S=(w,R)=>(d.triggerDataEvent(`${C.ESC}[${s?"":"?"}${w};${R}$y`),!0),b=(w)=>w?1:2,v=t.params[0];return s?v===2?S(v,4):v===4?S(v,b(d.modes.insertMode)):v===12?S(v,3):v===20?S(v,b(p.convertEol)):S(v,0):v===1?S(v,b(h.applicationCursorKeys)):v===3?S(v,p.windowOptions.setWinLines?f===80?2:f===132?1:0:0):v===6?S(v,b(h.origin)):v===7?S(v,b(h.wraparound)):v===8?S(v,3):v===9?S(v,b(l==="X10")):v===12?S(v,b(p.cursorBlink)):v===25?S(v,b(!d.isCursorHidden)):v===45?S(v,b(h.reverseWraparound)):v===66?S(v,b(h.applicationKeypad)):v===67?S(v,4):v===1000?S(v,b(l==="VT200")):v===1002?S(v,b(l==="DRAG")):v===1003?S(v,b(l==="ANY")):v===1004?S(v,b(h.sendFocus)):v===1005?S(v,4):v===1006?S(v,b(c==="SGR")):v===1015?S(v,4):v===1016?S(v,b(c==="SGR_PIXELS")):v===1048?S(v,1):v===47||v===1047||v===1049?S(v,b(u===m)):v===2004?S(v,b(h.bracketedPasteMode)):v===2026?S(v,b(h.synchronizedOutput)):S(v,0)}_updateAttrColor(t,s,a,h,l){return s===2?(t|=50331648,t&=-16777216,t|=zt.fromColorRGB([a,h,l])):s===5&&(t&=-50331904,t|=33554432|a&255),t}_extractColor(t,s,a){let h=[0,0,-1,0,0,0],l=0,c=0;do{if(h[c+l]=t.params[s+c],t.hasSubParams(s+c)){let d=t.getSubParams(s+c),_=0;do h[1]===5&&(l=1),h[c+_+1+l]=d[_];while(++_<d.length&&_+c+1+l<h.length);break}if(h[1]===5&&c+l>=2||h[1]===2&&c+l>=5)break;h[1]&&(l=1)}while(++c+s<t.length&&c+l<h.length);for(let d=2;d<h.length;++d)h[d]===-1&&(h[d]=0);switch(h[0]){case 38:a.fg=this._updateAttrColor(a.fg,h[1],h[3],h[4],h[5]);break;case 48:a.bg=this._updateAttrColor(a.bg,h[1],h[3],h[4],h[5]);break;case 58:a.extended=a.extended.clone(),a.extended.underlineColor=this._updateAttrColor(a.extended.underlineColor,h[1],h[3],h[4],h[5])}return c}_processUnderline(t,s){s.extended=s.extended.clone(),(!~t||t>5)&&(t=1),s.extended.underlineStyle=t,s.fg|=268435456,t===0&&(s.fg&=-268435457),s.updateExtended()}_processSGR0(t){t.fg=re.fg,t.bg=re.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let s=t.length,a,h=this._curAttrData;for(let l=0;l<s;l++)a=t.params[l],a>=30&&a<=37?(h.fg&=-50331904,h.fg|=16777216|a-30):a>=40&&a<=47?(h.bg&=-50331904,h.bg|=16777216|a-40):a>=90&&a<=97?(h.fg&=-50331904,h.fg|=16777216|a-90|8):a>=100&&a<=107?(h.bg&=-50331904,h.bg|=16777216|a-100|8):a===0?this._processSGR0(h):a===1?h.fg|=134217728:a===3?h.bg|=67108864:a===4?(h.fg|=268435456,this._processUnderline(t.hasSubParams(l)?t.getSubParams(l)[0]:1,h)):a===5?h.fg|=536870912:a===7?h.fg|=67108864:a===8?h.fg|=1073741824:a===9?h.fg|=2147483648:a===2?h.bg|=134217728:a===21?this._processUnderline(2,h):a===22?(h.fg&=-134217729,h.bg&=-134217729):a===23?h.bg&=-67108865:a===24?(h.fg&=-268435457,this._processUnderline(0,h)):a===25?h.fg&=-536870913:a===27?h.fg&=-67108865:a===28?h.fg&=-1073741825:a===29?h.fg&=2147483647:a===39?(h.fg&=-67108864,h.fg|=re.fg&16777215):a===49?(h.bg&=-67108864,h.bg|=re.bg&16777215):a===38||a===48||a===58?l+=this._extractColor(t,l,h):a===53?h.bg|=1073741824:a===55?h.bg&=-1073741825:a===59?(h.extended=h.extended.clone(),h.extended.underlineColor=-1,h.updateExtended()):a===100?(h.fg&=-67108864,h.fg|=re.fg&16777215,h.bg&=-67108864,h.bg|=re.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",a);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${C.ESC}[0n`);break;case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[${s};${a}R`);break}return!0}deviceStatusPrivate(t){switch(t.params[0]){case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[?${s};${a}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=re.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let s=t.length===0?1:t.params[0];if(s===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(s){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let a=s%2===1;this._coreService.decPrivateModes.cursorBlink=a}return!0}setScrollRegion(t){let s=t.params[0]||1,a;return(t.length<2||(a=t.params[1])>this._bufferService.rows||a===0)&&(a=this._bufferService.rows),a>s&&(this._activeBuffer.scrollTop=s-1,this._activeBuffer.scrollBottom=a-1,this._setCursor(0,0)),!0}windowOptions(t){if(!gr(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let s=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:s!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${C.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(s===0||s===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>pr&&this._windowTitleStack.shift()),(s===0||s===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>pr&&this._iconNameStack.shift());break;case 23:(s===0||s===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(s===0||s===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let s=[],a=t.split(";");for(;a.length>1;){let h=a.shift(),l=a.shift();if(/^\d+$/.exec(h)){let c=parseInt(h);if(Sr(c))if(l==="?")s.push({type:0,index:c});else{let d=fr(l);d&&s.push({type:1,index:c,color:d})}}}return s.length&&this._onColor.fire(s),!0}setHyperlink(t){let s=t.indexOf(";");if(s===-1)return!0;let a=t.slice(0,s).trim(),h=t.slice(s+1);return h?this._createHyperlink(a,h):a.trim()?!1:this._finishHyperlink()}_createHyperlink(t,s){this._getCurrentLinkId()&&this._finishHyperlink();let a=t.split(":"),h,l=a.findIndex((c)=>c.startsWith("id="));return l!==-1&&(h=a[l].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:h,uri:s}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,s){let a=t.split(";");for(let h=0;h<a.length&&!(s>=this._specialColors.length);++h,++s)if(a[h]==="?")this._onColor.fire([{type:0,index:this._specialColors[s]}]);else{let l=fr(a[h]);l&&this._onColor.fire([{type:1,index:this._specialColors[s],color:l}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let s=[],a=t.split(";");for(let h=0;h<a.length;++h)if(/^\d+$/.exec(a[h])){let l=parseInt(a[h]);Sr(l)&&s.push({type:2,index:l})}return s.length&&this._onColor.fire(s),!0}restoreFgColor(t){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(t){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(t){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,ot),!0}selectCharset(t){return t.length!==2?(this.selectDefaultCharset(),!0):(t[0]==="/"||this._charsetService.setgCharset(Th[t[0]],he[t[1]]||ot),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new Me;t.content=4194373,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let s=0;s<this._bufferService.rows;++s){let a=this._activeBuffer.ybase+this._activeBuffer.y+s,h=this._activeBuffer.lines.get(a);h&&(h.fill(t),h.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(t,s){let a=(d)=>(this._coreService.triggerDataEvent(`${C.ESC}${d}${C.ESC}\\`),!0),h=this._bufferService.buffer,l=this._optionsService.rawOptions;return a(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${h.scrollTop+1};${h.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[l.cursorStyle]-(l.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,s){this._dirtyRowTracker.markRangeDirty(t,s)}},ls=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,s){t>s&&(vr=t,t=s,s=vr),t<this.start&&(this.start=t),s>this.end&&(this.end=s)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ls=te([M(0,Se)],ls);function Sr(t){return 0<=t&&t<256}var Ah=50000000,br=12,Oh=50,Ih=class extends W{constructor(t){super();this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,s){if(s!==void 0&&this._syncCalls>s){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let a;for(;a=this._writeBuffer.shift();){this._action(a);let h=this._callbacks.shift();h&&h()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,s){if(this._pendingData>Ah)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(s),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(s)}_innerWrite(t=0,s=!0){let a=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let h=this._writeBuffer[this._bufferOffset],l=this._action(h,s);if(l){let d=(_)=>performance.now()-a>=br?setTimeout(()=>this._innerWrite(0,_)):this._innerWrite(a,_);l.catch((_)=>(queueMicrotask(()=>{throw _}),Promise.resolve(!1))).then(d);return}let c=this._callbacks[this._bufferOffset];if(c&&c(),this._bufferOffset++,this._pendingData-=h.length,performance.now()-a>=br)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Oh&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},cs=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let s=this._bufferService.buffer;if(t.id===void 0){let _=s.addMarker(s.ybase+s.y),f={data:t,id:this._nextId++,lines:[_]};return _.onDispose(()=>this._removeMarkerFromLink(f,_)),this._dataByLinkId.set(f.id,f),f.id}let a=t,h=this._getEntryIdKey(a),l=this._entriesWithId.get(h);if(l)return this.addLineToLink(l.id,s.ybase+s.y),l.id;let c=s.addMarker(s.ybase+s.y),d={id:this._nextId++,key:this._getEntryIdKey(a),data:a,lines:[c]};return c.onDispose(()=>this._removeMarkerFromLink(d,c)),this._entriesWithId.set(d.key,d),this._dataByLinkId.set(d.id,d),d.id}addLineToLink(t,s){let a=this._dataByLinkId.get(t);if(a&&a.lines.every((h)=>h.line!==s)){let h=this._bufferService.buffer.addMarker(s);a.lines.push(h),h.onDispose(()=>this._removeMarkerFromLink(a,h))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,s){let a=t.lines.indexOf(s);a!==-1&&(t.lines.splice(a,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};cs=te([M(0,Se)],cs);var wr=!1,Nh=class extends W{constructor(t){super();this._windowsWrappingHeuristics=this._register(new pt),this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onData=this._register(new D),this.onData=this._onData.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new D),this._instantiationService=new oh,this.optionsService=this._register(new mh(t)),this._instantiationService.setService(be,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(os)),this._instantiationService.setService(Se,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ns)),this._instantiationService.setService(Mr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(as)),this._instantiationService.setService(ut,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(hs)),this._instantiationService.setService(Lr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(at)),this._instantiationService.setService(Bn,this.unicodeService),this._charsetService=this._instantiationService.createInstance(yh),this._instantiationService.setService(Dn,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(cs),this._instantiationService.setService(Tr,this._oscLinkService),this._inputHandler=this._register(new Ph(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ge.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ge.forward(this._bufferService.onResize,this._onResize)),this._register(ge.forward(this.coreService.onData,this._onData)),this._register(ge.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Ih((s,a)=>this._inputHandler.parse(s,a))),this._register(ge.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new D),this._onScroll.event((t)=>{this._onScrollApi?.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let s in t)this.optionsService.options[s]=t[s]}write(t,s){this._writeBuffer.write(t,s)}writeSync(t,s){this._logService.logLevel<=3&&!wr&&(this._logService.warn("writeSync is unreliable and will be removed soon."),wr=!0),this._writeBuffer.writeSync(t,s)}input(t,s=!0){this.coreService.triggerDataEvent(t,s)}resize(t,s){isNaN(t)||isNaN(s)||(t=Math.max(t,ln),s=Math.max(s,cn),this._bufferService.resize(t,s))}scroll(t,s=!1){this._bufferService.scroll(t,s)}scrollLines(t,s){this._bufferService.scrollLines(t,s)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let s=t-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}registerEscHandler(t,s){return this._inputHandler.registerEscHandler(t,s)}registerDcsHandler(t,s){return this._inputHandler.registerDcsHandler(t,s)}registerCsiHandler(t,s){return this._inputHandler.registerCsiHandler(t,s)}registerOscHandler(t,s){return this._inputHandler.registerOscHandler(t,s)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,s=this.optionsService.rawOptions.windowsPty;s&&s.buildNumber!==void 0&&s.buildNumber!==void 0?t=s.backend==="conpty"&&s.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(ur.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(ur(this._bufferService),!1))),this._windowsWrappingHeuristics.value=G(()=>{for(let s of t)s.dispose()})}}},Hh={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function Wh(t,s,a,h){let l={type:0,cancel:!1,key:void 0},c=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?s?l.key=C.ESC+"OA":l.key=C.ESC+"[A":t.key==="UIKeyInputLeftArrow"?s?l.key=C.ESC+"OD":l.key=C.ESC+"[D":t.key==="UIKeyInputRightArrow"?s?l.key=C.ESC+"OC":l.key=C.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(s?l.key=C.ESC+"OB":l.key=C.ESC+"[B");break;case 8:l.key=t.ctrlKey?"\b":C.DEL,t.altKey&&(l.key=C.ESC+l.key);break;case 9:if(t.shiftKey){l.key=C.ESC+"[Z";break}l.key=C.HT,l.cancel=!0;break;case 13:l.key=t.altKey?C.ESC+C.CR:C.CR,l.cancel=!0;break;case 27:l.key=C.ESC,t.altKey&&(l.key=C.ESC+C.ESC),l.cancel=!0;break;case 37:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"D":s?l.key=C.ESC+"OD":l.key=C.ESC+"[D";break;case 39:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"C":s?l.key=C.ESC+"OC":l.key=C.ESC+"[C";break;case 38:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"A":s?l.key=C.ESC+"OA":l.key=C.ESC+"[A";break;case 40:if(t.metaKey)break;c?l.key=C.ESC+"[1;"+(c+1)+"B":s?l.key=C.ESC+"OB":l.key=C.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(l.key=C.ESC+"[2~");break;case 46:c?l.key=C.ESC+"[3;"+(c+1)+"~":l.key=C.ESC+"[3~";break;case 36:c?l.key=C.ESC+"[1;"+(c+1)+"H":s?l.key=C.ESC+"OH":l.key=C.ESC+"[H";break;case 35:c?l.key=C.ESC+"[1;"+(c+1)+"F":s?l.key=C.ESC+"OF":l.key=C.ESC+"[F";break;case 33:t.shiftKey?l.type=2:t.ctrlKey?l.key=C.ESC+"[5;"+(c+1)+"~":l.key=C.ESC+"[5~";break;case 34:t.shiftKey?l.type=3:t.ctrlKey?l.key=C.ESC+"[6;"+(c+1)+"~":l.key=C.ESC+"[6~";break;case 112:c?l.key=C.ESC+"[1;"+(c+1)+"P":l.key=C.ESC+"OP";break;case 113:c?l.key=C.ESC+"[1;"+(c+1)+"Q":l.key=C.ESC+"OQ";break;case 114:c?l.key=C.ESC+"[1;"+(c+1)+"R":l.key=C.ESC+"OR";break;case 115:c?l.key=C.ESC+"[1;"+(c+1)+"S":l.key=C.ESC+"OS";break;case 116:c?l.key=C.ESC+"[15;"+(c+1)+"~":l.key=C.ESC+"[15~";break;case 117:c?l.key=C.ESC+"[17;"+(c+1)+"~":l.key=C.ESC+"[17~";break;case 118:c?l.key=C.ESC+"[18;"+(c+1)+"~":l.key=C.ESC+"[18~";break;case 119:c?l.key=C.ESC+"[19;"+(c+1)+"~":l.key=C.ESC+"[19~";break;case 120:c?l.key=C.ESC+"[20;"+(c+1)+"~":l.key=C.ESC+"[20~";break;case 121:c?l.key=C.ESC+"[21;"+(c+1)+"~":l.key=C.ESC+"[21~";break;case 122:c?l.key=C.ESC+"[23;"+(c+1)+"~":l.key=C.ESC+"[23~";break;case 123:c?l.key=C.ESC+"[24;"+(c+1)+"~":l.key=C.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?l.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?l.key=C.NUL:t.keyCode>=51&&t.keyCode<=55?l.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?l.key=C.DEL:t.keyCode===219?l.key=C.ESC:t.keyCode===220?l.key=C.FS:t.keyCode===221&&(l.key=C.GS);else if((!a||h)&&t.altKey&&!t.metaKey){let d=Hh[t.keyCode]?.[t.shiftKey?1:0];if(d)l.key=C.ESC+d;else if(t.keyCode>=65&&t.keyCode<=90){let _=t.ctrlKey?t.keyCode-64:t.keyCode+32,f=String.fromCharCode(_);t.shiftKey&&(f=f.toUpperCase()),l.key=C.ESC+f}else if(t.keyCode===32)l.key=C.ESC+(t.ctrlKey?C.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let _=t.code.slice(3,4);t.shiftKey||(_=_.toLowerCase()),l.key=C.ESC+_,l.cancel=!0}}else a&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(l.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?l.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(l.key=C.US),t.key==="@"&&(l.key=C.NUL));break}return l}var ie=0,zh=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new di,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new di,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((l,c)=>this._getKey(l)-this._getKey(c)),s=0,a=0,h=Array(this._array.length+this._insertedValues.length);for(let l=0;l<h.length;l++)a>=this._array.length||this._getKey(t[s])<=this._getKey(this._array[a])?(h[l]=t[s],s++):h[l]=this._array[a++];this._array=h,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let s=this._getKey(t);if(s===void 0||(ie=this._search(s),ie===-1)||this._getKey(this._array[ie])!==s)return!1;do if(this._array[ie]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ie),!0;while(++ie<this._array.length&&this._getKey(this._array[ie])===s);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((l,c)=>l-c),s=0,a=Array(this._array.length-t.length),h=0;for(let l=0;l<this._array.length;l++)t[s]===l?s++:a[h++]=this._array[l];this._array=a,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(t),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===t))do yield this._array[ie];while(++ie<this._array.length&&this._getKey(this._array[ie])===t)}forEachByKey(t,s){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(t),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===t))do s(this._array[ie]);while(++ie<this._array.length&&this._getKey(this._array[ie])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let s=0,a=this._array.length-1;for(;a>=s;){let h=s+a>>1,l=this._getKey(this._array[h]);if(l>t)a=h-1;else if(l<t)s=h+1;else{for(;h>0&&this._getKey(this._array[h-1])===t;)h--;return h}}return s}},Oi=0,yr=0,Fh=class extends W{constructor(){super();this._decorations=new zh((t)=>t?.marker.line),this._onDecorationRegistered=this._register(new D),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new D),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(G(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let s=new $h(t);if(s){let a=s.marker.onDispose(()=>s.dispose()),h=s.onDispose(()=>{h.dispose(),s&&(this._decorations.delete(s)&&this._onDecorationRemoved.fire(s),a.dispose())});this._decorations.insert(s),this._onDecorationRegistered.fire(s)}return s}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,s,a){let h=0,l=0;for(let c of this._decorations.getKeyIterator(s))h=c.options.x??0,l=h+(c.options.width??1),t>=h&&t<l&&(!a||(c.options.layer??"bottom")===a)&&(yield c)}forEachDecorationAtCell(t,s,a,h){this._decorations.forEachByKey(s,(l)=>{Oi=l.options.x??0,yr=Oi+(l.options.width??1),t>=Oi&&t<yr&&(!a||(l.options.layer??"bottom")===a)&&h(l)})}},$h=class extends et{constructor(t){super();this.options=t,this.onRenderEmitter=this.add(new D),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new D),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=t.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Q.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Q.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Uh=1000,Kh=class{constructor(t,s=Uh){this._renderCallback=t,this._debounceThresholdMS=s,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,s,a){this._rowCount=a,t=t!==void 0?t:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s;let h=performance.now();if(h-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=h,this._innerRefresh();else if(!this._additionalRefreshRequested){let l=h-this._lastRefreshMs,c=this._debounceThresholdMS-l;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},c)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,s)}},Cr=20,xr=!1,ui=class extends W{constructor(t,s,a,h){super();this._terminal=t,this._coreBrowserService=a,this._renderService=h,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let l=this._coreBrowserService.mainDocument;this._accessibilityContainer=l.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=l.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let c=0;c<this._terminal.rows;c++)this._rowElements[c]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[c]);if(this._topBoundaryFocusListener=(c)=>this._handleBoundaryFocus(c,0),this._bottomBoundaryFocusListener=(c)=>this._handleBoundaryFocus(c,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=l.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new Kh(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");xr?(this._accessibilityContainer.classList.add("debug"),this._rowContainer.classList.add("debug"),this._debugRootContainer=l.createElement("div"),this._debugRootContainer.classList.add("xterm"),this._debugRootContainer.appendChild(l.createTextNode("------start a11y------")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(l.createTextNode("------end a11y------")),this._terminal.element.insertAdjacentElement("afterend",this._debugRootContainer)):this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((c)=>this._handleResize(c.rows))),this._register(this._terminal.onRender((c)=>this._refreshRows(c.start,c.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar((c)=>this._handleChar(c))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
34
34
  `))),this._register(this._terminal.onA11yTab((c)=>this._handleTab(c))),this._register(this._terminal.onKey((c)=>this._handleKey(c.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(H(l,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(G(()=>{xr?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(t){for(let s=0;s<t;s++)this._handleChar(" ")}_handleChar(t){this._liveRegionLineCount<Cr+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,t===`
35
- `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Cr+1&&(this._liveRegion.textContent+=Ni.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),/\p{Control}/u.test(t)||this._charsToConsume.push(t)}_refreshRows(t,s){this._liveRegionDebouncer.refresh(t,s,this._terminal.rows)}_renderRows(t,s){let a=this._terminal.buffer,h=a.lines.length.toString();for(let l=t;l<=s;l++){let c=a.lines.get(a.ydisp+l),d=[],_=c?.translateToString(!0,void 0,void 0,d)||"",f=(a.ydisp+l+1).toString(),u=this._rowElements[l];u&&(_.length===0?(u.textContent=" ",this._rowColumns.set(u,[0,1])):(u.textContent=_,this._rowColumns.set(u,d)),u.setAttribute("aria-posinset",f),u.setAttribute("aria-setsize",h),this._alignRowWidth(u))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,s){let a=t.target,h=this._rowElements[s===0?1:this._rowElements.length-2],l=a.getAttribute("aria-posinset"),c=s===0?"1":`${this._terminal.buffer.lines.length}`;if(l===c||t.relatedTarget!==h)return;let d,_;if(s===0?(d=a,_=this._rowElements.pop(),this._rowContainer.removeChild(_)):(d=this._rowElements.shift(),_=a,this._rowContainer.removeChild(d)),d.removeEventListener("focus",this._topBoundaryFocusListener),_.removeEventListener("focus",this._bottomBoundaryFocusListener),s===0){let f=this._createAccessibilityTreeNode();this._rowElements.unshift(f),this._rowContainer.insertAdjacentElement("afterbegin",f)}else{let f=this._createAccessibilityTreeNode();this._rowElements.push(f),this._rowContainer.appendChild(f)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(s===0?-1:1),this._rowElements[s===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let s={node:t.anchorNode,offset:t.anchorOffset},a={node:t.focusNode,offset:t.focusOffset};if((s.node.compareDocumentPosition(a.node)&Node.DOCUMENT_POSITION_PRECEDING||s.node===a.node&&s.offset>a.offset)&&([s,a]=[a,s]),s.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(s={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(s.node))return;let h=this._rowElements.slice(-1)[0];if(a.node.compareDocumentPosition(h)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(a={node:h,offset:h.textContent?.length??0}),!this._rowContainer.contains(a.node))return;let l=({node:_,offset:f})=>{let u=_ instanceof Text?_.parentNode:_,m=parseInt(u?.getAttribute("aria-posinset"),10)-1;if(isNaN(m))return console.warn("row is invalid. Race condition?"),null;let p=this._rowColumns.get(u);if(!p)return console.warn("columns is null. Race condition?"),null;let S=f<p.length?p[f]:p.slice(-1)[0]+1;return S>=this._terminal.cols&&(++m,S=0),{row:m,column:S}},c=l(s),d=l(a);if(!(!c||!d)){if(c.row>d.row||c.row===d.row&&c.column>=d.column)throw Error("invalid range");this._terminal.select(c.column,c.row,(d.row-c.row)*this._terminal.cols-c.column+d.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let s=this._rowContainer.children.length;s<this._terminal.rows;s++)this._rowElements[s]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[s]);for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t<this._terminal.rows;t++)this._refreshRowDimensions(this._rowElements[t]),this._alignRowWidth(this._rowElements[t])}}_refreshRowDimensions(t){t.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(t){t.style.transform="";let s=t.getBoundingClientRect().width,a=this._rowColumns.get(t)?.slice(-1)?.[0];if(!a)return;let h=a*this._renderService.dimensions.css.cell.width;t.style.transform=`scaleX(${h/s})`}};ui=te([M(1,us),M(2,Ue),M(3,Ke)],ui);var ds=class extends W{constructor(t,s,a,h,l){super();this._element=t,this._mouseService=s,this._renderService=a,this._bufferService=h,this._linkProviderService=l,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new D),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new D),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(G(()=>{ct(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(H(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(H(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(H(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(H(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let s=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;let a=t.composedPath();for(let h=0;h<a.length;h++){let l=a[h];if(l.classList.contains("xterm"))break;if(l.classList.contains("xterm-hover"))return}(!this._lastBufferCell||s.x!==this._lastBufferCell.x||s.y!==this._lastBufferCell.y)&&(this._handleHover(s),this._lastBufferCell=s)}_handleHover(t){if(this._activeLine!==t.y||this._wasResized){this._clearCurrentLink(),this._askForLink(t,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,t)||(this._clearCurrentLink(),this._askForLink(t,!0))}_askForLink(t,s){(!this._activeProviderReplies||!s)&&(this._activeProviderReplies?.forEach((h)=>{h?.forEach((l)=>{l.link.dispose&&l.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let a=!1;for(let[h,l]of this._linkProviderService.linkProviders.entries())s?this._activeProviderReplies?.get(h)&&(a=this._checkLinkProviderResult(h,t,a)):l.provideLinks(t.y,(c)=>{if(this._isMouseOut)return;let d=c?.map((_)=>({link:_}));this._activeProviderReplies?.set(h,d),a=this._checkLinkProviderResult(h,t,a),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,s){let a=new Set;for(let h=0;h<s.size;h++){let l=s.get(h);if(l)for(let c=0;c<l.length;c++){let d=l[c],_=d.link.range.start.y<t?0:d.link.range.start.x,f=d.link.range.end.y>t?this._bufferService.cols:d.link.range.end.x;for(let u=_;u<=f;u++){if(a.has(u)){l.splice(c--,1);break}a.add(u)}}}}_checkLinkProviderResult(t,s,a){if(!this._activeProviderReplies)return a;let h=this._activeProviderReplies.get(t),l=!1;for(let c=0;c<t;c++)(!this._activeProviderReplies.has(c)||this._activeProviderReplies.get(c))&&(l=!0);if(!l&&h){let c=h.find((d)=>this._linkAtPosition(d.link,s));c&&(a=!0,this._handleNewLink(c))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!a)for(let c=0;c<this._activeProviderReplies.size;c++){let d=this._activeProviderReplies.get(c)?.find((_)=>this._linkAtPosition(_.link,s));if(d){a=!0,this._handleNewLink(d);break}}return a}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let s=this._positionFromMouseEvent(t,this._element,this._mouseService);s&&this._mouseDownLink&&qh(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,s){!this._currentLink||!this._lastMouseEvent||(!t||!s||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,ct(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(t.link,s)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:(a)=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==a&&(this._currentLink.state.decorations.pointerCursor=a,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",a))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:(a)=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==a&&(this._currentLink.state.decorations.underline=a,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,a))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((a)=>{if(!this._currentLink)return;let h=a.start===0?0:a.start+1+this._bufferService.buffer.ydisp,l=this._bufferService.buffer.ydisp+1+a.end;if(this._currentLink.link.range.start.y>=h&&this._currentLink.link.range.end.y<=l&&(this._clearCurrentLink(h,l),this._lastMouseEvent)){let c=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);c&&this._askForLink(c,!1)}})))}_linkHover(t,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(a,s.text)}_fireUnderlineEvent(t,s){let a=t.range,h=this._bufferService.buffer.ydisp,l=this._createLinkUnderlineEvent(a.start.x-1,a.start.y-h-1,a.end.x,a.end.y-h-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(l)}_linkLeave(t,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(a,s.text)}_linkAtPosition(t,s){let a=t.range.start.y*this._bufferService.cols+t.range.start.x,h=t.range.end.y*this._bufferService.cols+t.range.end.x,l=s.y*this._bufferService.cols+s.x;return a<=l&&l<=h}_positionFromMouseEvent(t,s,a){let h=a.getCoords(t,s,this._bufferService.cols,this._bufferService.rows);if(h)return{x:h[0],y:h[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,s,a,h,l){return{x1:t,y1:s,x2:a,y2:h,cols:this._bufferService.cols,fg:l}}};ds=te([M(1,_s),M(2,Ke),M(3,Se),M(4,Ar)],ds);function qh(t,s){return t.text===s.text&&t.range.start.x===s.range.start.x&&t.range.start.y===s.range.start.y&&t.range.end.x===s.range.end.x&&t.range.end.y===s.range.end.y}var Vh=class extends Nh{constructor(t={}){super(t);this._linkifier=this._register(new pt),this.browser=Qr,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new pt),this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new D),this.onKey=this._onKey.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new D),this.onBell=this._onBell.event,this._onFocus=this._register(new D),this._onBlur=this._register(new D),this._onA11yCharEmitter=this._register(new D),this._onA11yTabEmitter=this._register(new D),this._onWillOpen=this._register(new D),this._setup(),this._decorationService=this._instantiationService.createInstance(Fh),this._instantiationService.setService(Ft,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Aa),this._instantiationService.setService(Ar,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Wi)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows((s)=>this.refresh(s?.start??0,s?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport((s)=>this._reportWindowsOptions(s))),this._register(this._inputHandler.onColor((s)=>this._handleColorEvent(s))),this._register(ge.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ge.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ge.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ge.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((s)=>this._afterResize(s.cols,s.rows))),this._register(G(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let s of t){let a,h="";switch(s.index){case 256:a="foreground",h="10";break;case 257:a="background",h="11";break;case 258:a="cursor",h="12";break;default:a="ansi",h="4;"+s.index}switch(s.type){case 0:let l=j.toColorRGB(a==="ansi"?this._themeService.colors.ansi[s.index]:this._themeService.colors[a]);this.coreService.triggerDataEvent(`${C.ESC}]${h};${Mh(l)}${Jr.ST}`);break;case 1:if(a==="ansi")this._themeService.modifyColors((c)=>c.ansi[s.index]=ne.toColor(...s.color));else{let c=a;this._themeService.modifyColors((d)=>d[c]=ne.toColor(...s.color))}break;case 2:this._themeService.restoreColor(s.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,s=this.buffer.lines.get(t);if(!s)return;let a=Math.min(this.buffer.x,this.cols-1),h=this._renderService.dimensions.css.cell.height,l=s.getWidth(a),c=this._renderService.dimensions.css.cell.width*l,d=this.buffer.y*this._renderService.dimensions.css.cell.height,_=a*this._renderService.dimensions.css.cell.width;this.textarea.style.left=_+"px",this.textarea.style.top=d+"px",this.textarea.style.width=c+"px",this.textarea.style.height=h+"px",this.textarea.style.lineHeight=h+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(H(this.element,"copy",(s)=>{this.hasSelection()&&wn(s,this._selectionService)}));let t=(s)=>yn(s,this.textarea,this.coreService,this.optionsService);this._register(H(this.textarea,"paste",t)),this._register(H(this.element,"paste",t)),en?this._register(H(this.element,"mousedown",(s)=>{s.button===2&&ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(H(this.element,"contextmenu",(s)=>{ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ws&&this._register(H(this.element,"auxclick",(s)=>{s.button===1&&Br(s,this.textarea,this.screenElement)}))}_bindKeys(){this._register(H(this.textarea,"keyup",(t)=>this._keyUp(t),!0)),this._register(H(this.textarea,"keydown",(t)=>this._keyDown(t),!0)),this._register(H(this.textarea,"keypress",(t)=>this._keyPress(t),!0)),this._register(H(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(H(this.textarea,"compositionupdate",(t)=>this._compositionHelper.compositionupdate(t))),this._register(H(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(H(this.textarea,"input",(t)=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){if(!t)throw Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let s=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),s.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(H(this.screenElement,"mousemove",(l)=>this.updateCursorStyle(l))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),s.appendChild(this.screenElement);let a=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ii.get()),rn||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>a.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ta,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Ue,this._coreBrowserService),this._register(H(this.textarea,"focus",(l)=>this._handleTextAreaFocus(l))),this._register(H(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(es,this._document,this._helperContainer),this._instantiationService.setService(fi,this._charSizeService),this._themeService=this._instantiationService.createInstance(rs),this._instantiationService.setService(gt,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(li),this._instantiationService.setService(Pr,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(is,this.rows,this.screenElement)),this._instantiationService.setService(Ke,this._renderService),this._register(this._renderService.onRenderedViewportChange((l)=>this._onRender.fire(l))),this.onResize((l)=>this._renderService.resize(l.cols,l.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Ji,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ts),this._instantiationService.setService(_s,this._mouseService);let h=this._linkifier.value=this._register(this._instantiationService.createInstance(ds,this.screenElement));this.element.appendChild(s);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Xi,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((l)=>{super.scrollLines(l,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(ss,this.element,this.screenElement,h)),this._instantiationService.setService(Ln,this._selectionService),this._register(this._selectionService.onRequestScrollLines((l)=>this.scrollLines(l.amount,l.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw((l)=>this._renderService.handleSelectionChanged(l.start,l.end,l.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection((l)=>{this.textarea.value=l,this.textarea.focus(),this.textarea.select()})),this._register(ge.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Gi,this.screenElement)),this._register(H(this.element,"mousedown",(l)=>this._selectionService.handleMouseDown(l))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(l)=>this._handleScreenReaderModeOptionChange(l))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(l)=>{!this._overviewRulerRenderer&&l&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Qi,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,s=this.element;function a(c){let d=t._mouseService.getMouseReportCoords(c,t.screenElement);if(!d)return!1;let _,f;switch(c.overrideType||c.type){case"mousemove":f=32,c.buttons===void 0?(_=3,c.button!==void 0&&(_=c.button<3?c.button:3)):_=c.buttons&1?0:c.buttons&4?1:c.buttons&2?2:3;break;case"mouseup":f=0,_=c.button<3?c.button:3;break;case"mousedown":f=1,_=c.button<3?c.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(c)===!1)return!1;let u=c.deltaY;if(u===0||t.coreMouseService.consumeWheelEvent(c,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return!1;f=u<0?0:1,_=4;break;default:return!1}return f===void 0||_===void 0||_>4?!1:t.coreMouseService.triggerMouseEvent({col:d.col,row:d.row,x:d.x,y:d.y,button:_,action:f,ctrl:c.ctrlKey,alt:c.altKey,shift:c.shiftKey})}let h={mouseup:null,wheel:null,mousedrag:null,mousemove:null},l={mouseup:(c)=>(a(c),c.buttons||(this._document.removeEventListener("mouseup",h.mouseup),h.mousedrag&&this._document.removeEventListener("mousemove",h.mousedrag)),this.cancel(c)),wheel:(c)=>(a(c),this.cancel(c,!0)),mousedrag:(c)=>{c.buttons&&a(c)},mousemove:(c)=>{c.buttons||a(c)}};this._register(this.coreMouseService.onProtocolChange((c)=>{c?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(c)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),c&8?h.mousemove||(s.addEventListener("mousemove",l.mousemove),h.mousemove=l.mousemove):(s.removeEventListener("mousemove",h.mousemove),h.mousemove=null),c&16?h.wheel||(s.addEventListener("wheel",l.wheel,{passive:!1}),h.wheel=l.wheel):(s.removeEventListener("wheel",h.wheel),h.wheel=null),c&2?h.mouseup||(h.mouseup=l.mouseup):(this._document.removeEventListener("mouseup",h.mouseup),h.mouseup=null),c&4?h.mousedrag||(h.mousedrag=l.mousedrag):(this._document.removeEventListener("mousemove",h.mousedrag),h.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(H(s,"mousedown",(c)=>{if(c.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(c)))return a(c),h.mouseup&&this._document.addEventListener("mouseup",h.mouseup),h.mousedrag&&this._document.addEventListener("mousemove",h.mousedrag),this.cancel(c)})),this._register(H(s,"wheel",(c)=>{if(!h.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(c)===!1)return!1;if(!this.buffer.hasScrollback){if(c.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(c,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return this.cancel(c,!0);let d=C.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(c.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(d,!0),this.cancel(c,!0)}}},{passive:!1}))}refresh(t,s){this._renderService?.refreshRows(t,s)}updateCursorStyle(t){this._selectionService?.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,s){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,s),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let s=t-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}paste(t){Dr(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let s=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),s}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,s,a){this._selectionService.setSelection(t,s,a)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(t,s){this._selectionService?.selectLines(t,s)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let s=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!s&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!s&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let a=Wh(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),a.type===3||a.type===2){let h=this.rows-1;return this.scrollLines(a.type===2?-h:h),this.cancel(t,!0)}if(a.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(a.cancel&&this.cancel(t,!0),!a.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((a.key===C.ETX||a.key===C.CR)&&(this.textarea.value=""),this._onKey.fire({key:a.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(a.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,s){let a=t.isMac&&!this.options.macOptionIsMeta&&s.altKey&&!s.ctrlKey&&!s.metaKey||t.isWindows&&s.altKey&&s.ctrlKey&&!s.metaKey||t.isWindows&&s.getModifierState("AltGraph");return s.type==="keypress"?a:a&&(!s.keyCode||s.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(Yh(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let s;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)s=t.charCode;else if(t.which===null||t.which===void 0)s=t.keyCode;else if(t.which!==0&&t.charCode!==0)s=t.which;else return!1;return!s||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(s=String.fromCharCode(s),this._onKey.fire({key:s,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(s,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let s=t.data;return this.coreService.triggerDataEvent(s,!0),this.cancel(t),!0}return!1}resize(t,s){if(t===this.cols&&s===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,s)}_afterResize(t,s){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t<this.rows;t++)this.buffer.lines.push(this.buffer.getBlankLine(re));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let t=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=t,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(C.ESC+"[I"):this.coreService.triggerDataEvent(C.ESC+"[O")}_reportWindowsOptions(t){if(this._renderService)switch(t){case 0:let s=this._renderService.dimensions.css.canvas.width.toFixed(0),a=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[4;${a};${s}t`);break;case 1:let h=this._renderService.dimensions.css.cell.width.toFixed(0),l=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[6;${l};${h}t`);break}}cancel(t,s){if(!(!this.options.cancelEvents&&!s))return t.preventDefault(),t.stopPropagation(),!1}};function Yh(t){return t.keyCode===16||t.keyCode===17||t.keyCode===18}var jh=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,s){let a={instance:s,dispose:s.dispose,isDisposed:!1};this._addons.push(a),s.dispose=()=>this._wrappedAddonDispose(a),s.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let s=-1;for(let a=0;a<this._addons.length;a++)if(this._addons[a]===t){s=a;break}if(s===-1)throw Error("Could not dispose an addon that has not been loaded");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(s,1)}},Xh=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,s){if(!(t<0||t>=this._line.length))return s?(this._line.loadCell(t,s),s):this._line.loadCell(t,new Me)}translateToString(t,s,a){return this._line.translateToString(t,s,a)}},kr=class{constructor(t,s){this._buffer=t,this.type=s}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let s=this._buffer.lines.get(t);if(s)return new Xh(s)}getNullCell(){return new Me}},Gh=class extends W{constructor(t){super();this._core=t,this._onBufferChange=this._register(new D),this.onBufferChange=this._onBufferChange.event,this._normal=new kr(this._core.buffers.normal,"normal"),this._alternate=new kr(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Jh=class{constructor(t){this._core=t}registerCsiHandler(t,s){return this._core.registerCsiHandler(t,(a)=>s(a.toArray()))}addCsiHandler(t,s){return this.registerCsiHandler(t,s)}registerDcsHandler(t,s){return this._core.registerDcsHandler(t,(a,h)=>s(a,h.toArray()))}addDcsHandler(t,s){return this.registerDcsHandler(t,s)}registerEscHandler(t,s){return this._core.registerEscHandler(t,s)}addEscHandler(t,s){return this.registerEscHandler(t,s)}registerOscHandler(t,s){return this._core.registerOscHandler(t,s)}addOscHandler(t,s){return this.registerOscHandler(t,s)}},Zh=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},Qh=["cols","rows"],Ae=0,un=class extends W{constructor(t){super(),this._core=this._register(new Vh(t)),this._addonManager=this._register(new jh),this._publicOptions={...this._core.options};let s=(h)=>this._core.options[h],a=(h,l)=>{this._checkReadonlyOptions(h),this._core.options[h]=l};for(let h in this._core.options){let l={get:s.bind(this,h),set:a.bind(this,h)};Object.defineProperty(this._publicOptions,h,l)}}_checkReadonlyOptions(t){if(Qh.includes(t))throw Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Jh(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Zh(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Gh(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,s="none";switch(this._core.coreMouseService.activeProtocol){case"X10":s="x10";break;case"VT200":s="vt200";break;case"DRAG":s="drag";break;case"ANY":s="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:s,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let s in t)this._publicOptions[s]=t[s]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,s=!0){this._core.input(t,s)}resize(t,s){this._verifyIntegers(t,s),this._core.resize(t,s)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,s,a){this._verifyIntegers(t,s,a),this._core.select(t,s,a)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,s){this._verifyIntegers(t,s),this._core.selectLines(t,s)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,s){this._core.write(t,s)}writeln(t,s){this._core.write(t),this._core.write(`\r
35
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Cr+1&&(this._liveRegion.textContent+=Ni.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),/\p{Control}/u.test(t)||this._charsToConsume.push(t)}_refreshRows(t,s){this._liveRegionDebouncer.refresh(t,s,this._terminal.rows)}_renderRows(t,s){let a=this._terminal.buffer,h=a.lines.length.toString();for(let l=t;l<=s;l++){let c=a.lines.get(a.ydisp+l),d=[],_=c?.translateToString(!0,void 0,void 0,d)||"",f=(a.ydisp+l+1).toString(),u=this._rowElements[l];u&&(_.length===0?(u.textContent=" ",this._rowColumns.set(u,[0,1])):(u.textContent=_,this._rowColumns.set(u,d)),u.setAttribute("aria-posinset",f),u.setAttribute("aria-setsize",h),this._alignRowWidth(u))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,s){let a=t.target,h=this._rowElements[s===0?1:this._rowElements.length-2],l=a.getAttribute("aria-posinset"),c=s===0?"1":`${this._terminal.buffer.lines.length}`;if(l===c||t.relatedTarget!==h)return;let d,_;if(s===0?(d=a,_=this._rowElements.pop(),this._rowContainer.removeChild(_)):(d=this._rowElements.shift(),_=a,this._rowContainer.removeChild(d)),d.removeEventListener("focus",this._topBoundaryFocusListener),_.removeEventListener("focus",this._bottomBoundaryFocusListener),s===0){let f=this._createAccessibilityTreeNode();this._rowElements.unshift(f),this._rowContainer.insertAdjacentElement("afterbegin",f)}else{let f=this._createAccessibilityTreeNode();this._rowElements.push(f),this._rowContainer.appendChild(f)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(s===0?-1:1),this._rowElements[s===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let s={node:t.anchorNode,offset:t.anchorOffset},a={node:t.focusNode,offset:t.focusOffset};if((s.node.compareDocumentPosition(a.node)&Node.DOCUMENT_POSITION_PRECEDING||s.node===a.node&&s.offset>a.offset)&&([s,a]=[a,s]),s.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(s={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(s.node))return;let h=this._rowElements.slice(-1)[0];if(a.node.compareDocumentPosition(h)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(a={node:h,offset:h.textContent?.length??0}),!this._rowContainer.contains(a.node))return;let l=({node:_,offset:f})=>{let u=_ instanceof Text?_.parentNode:_,m=parseInt(u?.getAttribute("aria-posinset"),10)-1;if(isNaN(m))return console.warn("row is invalid. Race condition?"),null;let p=this._rowColumns.get(u);if(!p)return console.warn("columns is null. Race condition?"),null;let S=f<p.length?p[f]:p.slice(-1)[0]+1;return S>=this._terminal.cols&&(++m,S=0),{row:m,column:S}},c=l(s),d=l(a);if(!(!c||!d)){if(c.row>d.row||c.row===d.row&&c.column>=d.column)throw Error("invalid range");this._terminal.select(c.column,c.row,(d.row-c.row)*this._terminal.cols-c.column+d.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let s=this._rowContainer.children.length;s<this._terminal.rows;s++)this._rowElements[s]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[s]);for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t<this._terminal.rows;t++)this._refreshRowDimensions(this._rowElements[t]),this._alignRowWidth(this._rowElements[t])}}_refreshRowDimensions(t){t.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(t){t.style.transform="";let s=t.getBoundingClientRect().width,a=this._rowColumns.get(t)?.slice(-1)?.[0];if(!a)return;let h=a*this._renderService.dimensions.css.cell.width;t.style.transform=`scaleX(${h/s})`}};ui=te([M(1,us),M(2,Ue),M(3,Ke)],ui);var ds=class extends W{constructor(t,s,a,h,l){super();this._element=t,this._mouseService=s,this._renderService=a,this._bufferService=h,this._linkProviderService=l,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new D),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new D),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(G(()=>{lt(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(H(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(H(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(H(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(H(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let s=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;let a=t.composedPath();for(let h=0;h<a.length;h++){let l=a[h];if(l.classList.contains("xterm"))break;if(l.classList.contains("xterm-hover"))return}(!this._lastBufferCell||s.x!==this._lastBufferCell.x||s.y!==this._lastBufferCell.y)&&(this._handleHover(s),this._lastBufferCell=s)}_handleHover(t){if(this._activeLine!==t.y||this._wasResized){this._clearCurrentLink(),this._askForLink(t,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,t)||(this._clearCurrentLink(),this._askForLink(t,!0))}_askForLink(t,s){(!this._activeProviderReplies||!s)&&(this._activeProviderReplies?.forEach((h)=>{h?.forEach((l)=>{l.link.dispose&&l.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let a=!1;for(let[h,l]of this._linkProviderService.linkProviders.entries())s?this._activeProviderReplies?.get(h)&&(a=this._checkLinkProviderResult(h,t,a)):l.provideLinks(t.y,(c)=>{if(this._isMouseOut)return;let d=c?.map((_)=>({link:_}));this._activeProviderReplies?.set(h,d),a=this._checkLinkProviderResult(h,t,a),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,s){let a=new Set;for(let h=0;h<s.size;h++){let l=s.get(h);if(l)for(let c=0;c<l.length;c++){let d=l[c],_=d.link.range.start.y<t?0:d.link.range.start.x,f=d.link.range.end.y>t?this._bufferService.cols:d.link.range.end.x;for(let u=_;u<=f;u++){if(a.has(u)){l.splice(c--,1);break}a.add(u)}}}}_checkLinkProviderResult(t,s,a){if(!this._activeProviderReplies)return a;let h=this._activeProviderReplies.get(t),l=!1;for(let c=0;c<t;c++)(!this._activeProviderReplies.has(c)||this._activeProviderReplies.get(c))&&(l=!0);if(!l&&h){let c=h.find((d)=>this._linkAtPosition(d.link,s));c&&(a=!0,this._handleNewLink(c))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!a)for(let c=0;c<this._activeProviderReplies.size;c++){let d=this._activeProviderReplies.get(c)?.find((_)=>this._linkAtPosition(_.link,s));if(d){a=!0,this._handleNewLink(d);break}}return a}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let s=this._positionFromMouseEvent(t,this._element,this._mouseService);s&&this._mouseDownLink&&qh(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,s){!this._currentLink||!this._lastMouseEvent||(!t||!s||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,lt(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(t.link,s)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:(a)=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==a&&(this._currentLink.state.decorations.pointerCursor=a,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",a))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:(a)=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==a&&(this._currentLink.state.decorations.underline=a,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,a))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((a)=>{if(!this._currentLink)return;let h=a.start===0?0:a.start+1+this._bufferService.buffer.ydisp,l=this._bufferService.buffer.ydisp+1+a.end;if(this._currentLink.link.range.start.y>=h&&this._currentLink.link.range.end.y<=l&&(this._clearCurrentLink(h,l),this._lastMouseEvent)){let c=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);c&&this._askForLink(c,!1)}})))}_linkHover(t,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(a,s.text)}_fireUnderlineEvent(t,s){let a=t.range,h=this._bufferService.buffer.ydisp,l=this._createLinkUnderlineEvent(a.start.x-1,a.start.y-h-1,a.end.x,a.end.y-h-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(l)}_linkLeave(t,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(a,s.text)}_linkAtPosition(t,s){let a=t.range.start.y*this._bufferService.cols+t.range.start.x,h=t.range.end.y*this._bufferService.cols+t.range.end.x,l=s.y*this._bufferService.cols+s.x;return a<=l&&l<=h}_positionFromMouseEvent(t,s,a){let h=a.getCoords(t,s,this._bufferService.cols,this._bufferService.rows);if(h)return{x:h[0],y:h[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,s,a,h,l){return{x1:t,y1:s,x2:a,y2:h,cols:this._bufferService.cols,fg:l}}};ds=te([M(1,_s),M(2,Ke),M(3,Se),M(4,Ar)],ds);function qh(t,s){return t.text===s.text&&t.range.start.x===s.range.start.x&&t.range.start.y===s.range.start.y&&t.range.end.x===s.range.end.x&&t.range.end.y===s.range.end.y}var Vh=class extends Nh{constructor(t={}){super(t);this._linkifier=this._register(new pt),this.browser=Qr,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new pt),this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new D),this.onKey=this._onKey.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new D),this.onBell=this._onBell.event,this._onFocus=this._register(new D),this._onBlur=this._register(new D),this._onA11yCharEmitter=this._register(new D),this._onA11yTabEmitter=this._register(new D),this._onWillOpen=this._register(new D),this._setup(),this._decorationService=this._instantiationService.createInstance(Fh),this._instantiationService.setService(Ft,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Aa),this._instantiationService.setService(Ar,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Wi)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows((s)=>this.refresh(s?.start??0,s?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport((s)=>this._reportWindowsOptions(s))),this._register(this._inputHandler.onColor((s)=>this._handleColorEvent(s))),this._register(ge.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ge.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ge.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ge.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((s)=>this._afterResize(s.cols,s.rows))),this._register(G(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let s of t){let a,h="";switch(s.index){case 256:a="foreground",h="10";break;case 257:a="background",h="11";break;case 258:a="cursor",h="12";break;default:a="ansi",h="4;"+s.index}switch(s.type){case 0:let l=j.toColorRGB(a==="ansi"?this._themeService.colors.ansi[s.index]:this._themeService.colors[a]);this.coreService.triggerDataEvent(`${C.ESC}]${h};${Mh(l)}${Jr.ST}`);break;case 1:if(a==="ansi")this._themeService.modifyColors((c)=>c.ansi[s.index]=ne.toColor(...s.color));else{let c=a;this._themeService.modifyColors((d)=>d[c]=ne.toColor(...s.color))}break;case 2:this._themeService.restoreColor(s.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,s=this.buffer.lines.get(t);if(!s)return;let a=Math.min(this.buffer.x,this.cols-1),h=this._renderService.dimensions.css.cell.height,l=s.getWidth(a),c=this._renderService.dimensions.css.cell.width*l,d=this.buffer.y*this._renderService.dimensions.css.cell.height,_=a*this._renderService.dimensions.css.cell.width;this.textarea.style.left=_+"px",this.textarea.style.top=d+"px",this.textarea.style.width=c+"px",this.textarea.style.height=h+"px",this.textarea.style.lineHeight=h+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(H(this.element,"copy",(s)=>{this.hasSelection()&&wn(s,this._selectionService)}));let t=(s)=>yn(s,this.textarea,this.coreService,this.optionsService);this._register(H(this.textarea,"paste",t)),this._register(H(this.element,"paste",t)),en?this._register(H(this.element,"mousedown",(s)=>{s.button===2&&ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(H(this.element,"contextmenu",(s)=>{ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ws&&this._register(H(this.element,"auxclick",(s)=>{s.button===1&&Br(s,this.textarea,this.screenElement)}))}_bindKeys(){this._register(H(this.textarea,"keyup",(t)=>this._keyUp(t),!0)),this._register(H(this.textarea,"keydown",(t)=>this._keyDown(t),!0)),this._register(H(this.textarea,"keypress",(t)=>this._keyPress(t),!0)),this._register(H(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(H(this.textarea,"compositionupdate",(t)=>this._compositionHelper.compositionupdate(t))),this._register(H(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(H(this.textarea,"input",(t)=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){if(!t)throw Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let s=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),s.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(H(this.screenElement,"mousemove",(l)=>this.updateCursorStyle(l))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),s.appendChild(this.screenElement);let a=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ii.get()),rn||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>a.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ta,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Ue,this._coreBrowserService),this._register(H(this.textarea,"focus",(l)=>this._handleTextAreaFocus(l))),this._register(H(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(es,this._document,this._helperContainer),this._instantiationService.setService(fi,this._charSizeService),this._themeService=this._instantiationService.createInstance(rs),this._instantiationService.setService(gt,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(li),this._instantiationService.setService(Pr,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(is,this.rows,this.screenElement)),this._instantiationService.setService(Ke,this._renderService),this._register(this._renderService.onRenderedViewportChange((l)=>this._onRender.fire(l))),this.onResize((l)=>this._renderService.resize(l.cols,l.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Ji,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ts),this._instantiationService.setService(_s,this._mouseService);let h=this._linkifier.value=this._register(this._instantiationService.createInstance(ds,this.screenElement));this.element.appendChild(s);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Xi,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((l)=>{super.scrollLines(l,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(ss,this.element,this.screenElement,h)),this._instantiationService.setService(Ln,this._selectionService),this._register(this._selectionService.onRequestScrollLines((l)=>this.scrollLines(l.amount,l.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw((l)=>this._renderService.handleSelectionChanged(l.start,l.end,l.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection((l)=>{this.textarea.value=l,this.textarea.focus(),this.textarea.select()})),this._register(ge.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Gi,this.screenElement)),this._register(H(this.element,"mousedown",(l)=>this._selectionService.handleMouseDown(l))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(l)=>this._handleScreenReaderModeOptionChange(l))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(l)=>{!this._overviewRulerRenderer&&l&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Qi,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,s=this.element;function a(c){let d=t._mouseService.getMouseReportCoords(c,t.screenElement);if(!d)return!1;let _,f;switch(c.overrideType||c.type){case"mousemove":f=32,c.buttons===void 0?(_=3,c.button!==void 0&&(_=c.button<3?c.button:3)):_=c.buttons&1?0:c.buttons&4?1:c.buttons&2?2:3;break;case"mouseup":f=0,_=c.button<3?c.button:3;break;case"mousedown":f=1,_=c.button<3?c.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(c)===!1)return!1;let u=c.deltaY;if(u===0||t.coreMouseService.consumeWheelEvent(c,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return!1;f=u<0?0:1,_=4;break;default:return!1}return f===void 0||_===void 0||_>4?!1:t.coreMouseService.triggerMouseEvent({col:d.col,row:d.row,x:d.x,y:d.y,button:_,action:f,ctrl:c.ctrlKey,alt:c.altKey,shift:c.shiftKey})}let h={mouseup:null,wheel:null,mousedrag:null,mousemove:null},l={mouseup:(c)=>(a(c),c.buttons||(this._document.removeEventListener("mouseup",h.mouseup),h.mousedrag&&this._document.removeEventListener("mousemove",h.mousedrag)),this.cancel(c)),wheel:(c)=>(a(c),this.cancel(c,!0)),mousedrag:(c)=>{c.buttons&&a(c)},mousemove:(c)=>{c.buttons||a(c)}};this._register(this.coreMouseService.onProtocolChange((c)=>{c?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(c)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),c&8?h.mousemove||(s.addEventListener("mousemove",l.mousemove),h.mousemove=l.mousemove):(s.removeEventListener("mousemove",h.mousemove),h.mousemove=null),c&16?h.wheel||(s.addEventListener("wheel",l.wheel,{passive:!1}),h.wheel=l.wheel):(s.removeEventListener("wheel",h.wheel),h.wheel=null),c&2?h.mouseup||(h.mouseup=l.mouseup):(this._document.removeEventListener("mouseup",h.mouseup),h.mouseup=null),c&4?h.mousedrag||(h.mousedrag=l.mousedrag):(this._document.removeEventListener("mousemove",h.mousedrag),h.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(H(s,"mousedown",(c)=>{if(c.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(c)))return a(c),h.mouseup&&this._document.addEventListener("mouseup",h.mouseup),h.mousedrag&&this._document.addEventListener("mousemove",h.mousedrag),this.cancel(c)})),this._register(H(s,"wheel",(c)=>{if(!h.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(c)===!1)return!1;if(!this.buffer.hasScrollback){if(c.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(c,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return this.cancel(c,!0);let d=C.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(c.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(d,!0),this.cancel(c,!0)}}},{passive:!1}))}refresh(t,s){this._renderService?.refreshRows(t,s)}updateCursorStyle(t){this._selectionService?.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,s){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,s),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let s=t-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}paste(t){Dr(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let s=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),s}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,s,a){this._selectionService.setSelection(t,s,a)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(t,s){this._selectionService?.selectLines(t,s)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let s=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!s&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!s&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let a=Wh(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),a.type===3||a.type===2){let h=this.rows-1;return this.scrollLines(a.type===2?-h:h),this.cancel(t,!0)}if(a.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(a.cancel&&this.cancel(t,!0),!a.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((a.key===C.ETX||a.key===C.CR)&&(this.textarea.value=""),this._onKey.fire({key:a.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(a.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,s){let a=t.isMac&&!this.options.macOptionIsMeta&&s.altKey&&!s.ctrlKey&&!s.metaKey||t.isWindows&&s.altKey&&s.ctrlKey&&!s.metaKey||t.isWindows&&s.getModifierState("AltGraph");return s.type==="keypress"?a:a&&(!s.keyCode||s.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(Yh(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let s;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)s=t.charCode;else if(t.which===null||t.which===void 0)s=t.keyCode;else if(t.which!==0&&t.charCode!==0)s=t.which;else return!1;return!s||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(s=String.fromCharCode(s),this._onKey.fire({key:s,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(s,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let s=t.data;return this.coreService.triggerDataEvent(s,!0),this.cancel(t),!0}return!1}resize(t,s){if(t===this.cols&&s===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,s)}_afterResize(t,s){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t<this.rows;t++)this.buffer.lines.push(this.buffer.getBlankLine(re));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let t=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=t,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(C.ESC+"[I"):this.coreService.triggerDataEvent(C.ESC+"[O")}_reportWindowsOptions(t){if(this._renderService)switch(t){case 0:let s=this._renderService.dimensions.css.canvas.width.toFixed(0),a=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[4;${a};${s}t`);break;case 1:let h=this._renderService.dimensions.css.cell.width.toFixed(0),l=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[6;${l};${h}t`);break}}cancel(t,s){if(!(!this.options.cancelEvents&&!s))return t.preventDefault(),t.stopPropagation(),!1}};function Yh(t){return t.keyCode===16||t.keyCode===17||t.keyCode===18}var jh=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,s){let a={instance:s,dispose:s.dispose,isDisposed:!1};this._addons.push(a),s.dispose=()=>this._wrappedAddonDispose(a),s.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let s=-1;for(let a=0;a<this._addons.length;a++)if(this._addons[a]===t){s=a;break}if(s===-1)throw Error("Could not dispose an addon that has not been loaded");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(s,1)}},Xh=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,s){if(!(t<0||t>=this._line.length))return s?(this._line.loadCell(t,s),s):this._line.loadCell(t,new Me)}translateToString(t,s,a){return this._line.translateToString(t,s,a)}},kr=class{constructor(t,s){this._buffer=t,this.type=s}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let s=this._buffer.lines.get(t);if(s)return new Xh(s)}getNullCell(){return new Me}},Gh=class extends W{constructor(t){super();this._core=t,this._onBufferChange=this._register(new D),this.onBufferChange=this._onBufferChange.event,this._normal=new kr(this._core.buffers.normal,"normal"),this._alternate=new kr(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Jh=class{constructor(t){this._core=t}registerCsiHandler(t,s){return this._core.registerCsiHandler(t,(a)=>s(a.toArray()))}addCsiHandler(t,s){return this.registerCsiHandler(t,s)}registerDcsHandler(t,s){return this._core.registerDcsHandler(t,(a,h)=>s(a,h.toArray()))}addDcsHandler(t,s){return this.registerDcsHandler(t,s)}registerEscHandler(t,s){return this._core.registerEscHandler(t,s)}addEscHandler(t,s){return this.registerEscHandler(t,s)}registerOscHandler(t,s){return this._core.registerOscHandler(t,s)}addOscHandler(t,s){return this.registerOscHandler(t,s)}},Zh=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},Qh=["cols","rows"],Ae=0,un=class extends W{constructor(t){super(),this._core=this._register(new Vh(t)),this._addonManager=this._register(new jh),this._publicOptions={...this._core.options};let s=(h)=>this._core.options[h],a=(h,l)=>{this._checkReadonlyOptions(h),this._core.options[h]=l};for(let h in this._core.options){let l={get:s.bind(this,h),set:a.bind(this,h)};Object.defineProperty(this._publicOptions,h,l)}}_checkReadonlyOptions(t){if(Qh.includes(t))throw Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Jh(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Zh(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Gh(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,s="none";switch(this._core.coreMouseService.activeProtocol){case"X10":s="x10";break;case"VT200":s="vt200";break;case"DRAG":s="drag";break;case"ANY":s="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:s,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let s in t)this._publicOptions[s]=t[s]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,s=!0){this._core.input(t,s)}resize(t,s){this._verifyIntegers(t,s),this._core.resize(t,s)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,s,a){this._verifyIntegers(t,s,a),this._core.select(t,s,a)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,s){this._verifyIntegers(t,s),this._core.selectLines(t,s)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,s){this._core.write(t,s)}writeln(t,s){this._core.write(t),this._core.write(`\r
36
36
  `,s)}paste(t){this._core.paste(t)}refresh(t,s){this._verifyIntegers(t,s),this._core.refresh(t,s)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return Ii.get()},set promptLabel(t){Ii.set(t)},get tooMuchOutput(){return Ni.get()},set tooMuchOutput(t){Ni.set(t)}}}_verifyIntegers(...t){for(Ae of t)if(Ae===1/0||isNaN(Ae)||Ae%1!==0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...t){for(Ae of t)if(Ae&&(Ae===1/0||isNaN(Ae)||Ae%1!==0||Ae<0))throw Error("This API only accepts positive integers")}};var _n=`/**
37
37
  * Copyright (c) 2014 The xterm.js authors. All rights reserved.
38
38
  * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
@@ -319,6 +319,6 @@ ${m.join(`
319
319
  box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
320
320
  }
321
321
  `;var tt="/api/plugins/terminal/sessions";var tl=5000,il=32000,fn=!1;function sl(){if(fn||typeof document>"u")return;fn=!0;let t=document.createElement("style");t.dataset.basaltXterm="",t.textContent=`${_n}
322
- .xterm .xterm-viewport, .xterm .xterm-screen { background-color: transparent !important; }`,document.head.append(t)}function Fd(t){let{Button:s,style:a,cn:h}=y(),{connection:l}=t,c=t.session.projectID,[d,_]=r([]),[f,u]=r(),[m,p]=r(!0),[S,b]=r(!1),[v,w]=r();o(()=>{if(!c){p(!1);return}let E=!1;return l.request(`${tt}?projectID=${encodeURIComponent(c)}`).then(async(A)=>{if(E)return;if(A.length===0)A=[await l.request(tt,{method:"POST",body:JSON.stringify({projectID:c,cols:80,rows:24})})];if(E)return;_(A),u((N)=>N??A.at(-1)?.id)}).catch((A)=>{if(!E)w(A instanceof Error?A.message:"加载终端列表失败")}).finally(()=>{if(!E)p(!1)}),()=>{E=!0}},[l,c]);let R=async()=>{if(S||!c)return;b(!0);try{let E=await l.request(tt,{method:"POST",body:JSON.stringify({projectID:c,cols:80,rows:24})});_((A)=>[...A,E]),u(E.id),w(void 0)}catch(E){w(E instanceof Error?E.message:"创建终端失败")}finally{b(!1)}},P=async(E)=>{try{await l.request(`${tt}/${encodeURIComponent(E)}`,{method:"DELETE"})}catch(N){if(!(N instanceof Error&&("status"in N)&&N.status===404)){w(N instanceof Error?N.message:"关闭终端失败");return}}let A=d.filter((N)=>N.id!==E);if(A.length===0&&t.onClose){t.onClose();return}if(_(A),f===E)u(A.at(-1)?.id)},U=g((E,A)=>{_((N)=>N.map((J)=>J.id===E?{...J,exitCode:A}:J))},[]),I=d.find((E)=>E.id===f);if(!c)return e("p",{className:a("surface.empty","p-4"),children:"终端属于项目,请在项目下的会话中打开。"});return n("section",{"aria-label":"终端",className:"flex min-h-0 flex-1 flex-col",children:[n("div",{className:"flex h-12 shrink-0 items-center gap-1 overflow-x-auto pr-12 pl-3",children:[e(st,{className:"mr-1 size-4 shrink-0 text-dim","aria-hidden":!0}),e("div",{role:"tablist","aria-label":"终端列表",className:"flex min-w-0 items-center gap-1",children:d.map((E,A)=>n("div",{className:h("group flex shrink-0 items-center rounded-lg text-xs",E.id===f?"bg-accent-soft text-ink":"text-dim hover:bg-raised"),children:[n("button",{type:"button",role:"tab","aria-selected":E.id===f,className:"py-1.5 pr-1 pl-2.5",onClick:()=>u(E.id),children:[E.shell," ",A+1,E.exitCode!==null&&e("span",{className:"ml-1 text-faint",children:"(已退出)"})]}),e("button",{type:"button","aria-label":`关闭 ${E.shell} ${A+1}`,className:"mr-1 rounded p-0.5 text-faint hover:bg-raised hover:text-ink",onClick:()=>P(E.id),children:e(X,{className:"size-3.5"})})]},E.id))}),e(s,{size:"icon-sm",variant:"ghost","aria-label":"新建终端",loading:S,onClick:R,children:e(ce,{className:"size-4"})})]}),v&&e("div",{role:"alert",className:a("callout.danger","mx-3 mt-3 text-xs"),children:v}),I?e(rl,{connection:l,info:I,onExit:U},I.id):n("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center",children:[e("p",{className:"text-sm text-dim",children:m?"正在加载终端…":"在项目目录打开终端,拥有服务进程的全部权限。"}),!m&&n(s,{variant:"primary",loading:S,onClick:R,children:[e(ce,{className:"size-4"}),"新建终端"]})]})]})}function rl({connection:t,info:s,onExit:a}){let{useTheme:h}=y(),l=h(),c=i(null),d=i(void 0),[_]=r(s),[f,u]=r(s.exitCode===null?"connecting":"exited"),[m,p]=r(s.exitCode);o(()=>{let b=c.current;if(!b)return;sl();let v=new un({cols:_.cols,rows:_.rows,cursorBlink:!0,allowTransparency:!0,fontSize:13,lineHeight:1.2,scrollback:5000,..._.windows?{windowsPty:{backend:"conpty"}}:{}}),w=new ys;v.loadAddon(w),v.open(b),d.current=v;let R=encodeURIComponent(_.id),P=new AbortController,U,I=_.exitCode!==null,E=500,A="",N=!1,J=async()=>{if(N)return;N=!0;try{while(A&&!P.signal.aborted&&!I){let x=A.slice(0,il);A=A.slice(x.length),await t.request(`${tt}/${R}/input`,{method:"POST",body:JSON.stringify({data:x}),signal:P.signal})}}catch{A=""}finally{N=!1}},Ce=v.onData((x)=>{if(I)return;A+=x,J()}),we,it=v.onResize(({cols:x,rows:T})=>{if(I)return;clearTimeout(we),we=setTimeout(()=>{t.request(`${tt}/${R}/resize`,{method:"POST",body:JSON.stringify({cols:x,rows:T}),signal:P.signal}).catch(()=>{})},120)}),V=new ResizeObserver(()=>{let x=w.proposeDimensions();if(x&&x.rows>=5&&x.cols>=20)w.fit()});V.observe(b);let vt=(x)=>{if(x.type==="output"){if(x.reset)v.reset();v.write(x.data),U=x.offset;return}I=!0,p(x.code),u("exited"),a(_.id,x.code)};return(async()=>{if(!t.requestStream)throw Error("当前连接不支持流式请求");while(!P.signal.aborted&&!I){try{let x=U===void 0?"":`?after=${U}`,T=await t.requestStream(`${tt}/${R}/stream${x}`,{headers:{accept:"text/event-stream"},signal:P.signal});if(!T.body)throw Error("终端输出流为空");u("open"),E=500;let L=T.body.getReader(),O=new TextDecoder,B="";while(!0){let{done:F,value:Y}=await L.read();if(F)break;B+=O.decode(Y,{stream:!0});let se=B.split(`
322
+ .xterm .xterm-viewport, .xterm .xterm-screen { background-color: transparent !important; }`,document.head.append(t)}function Fd(t){let{Button:s,style:a,cn:h}=y(),{connection:l}=t,c=t.session.projectID,[d,_]=r([]),[f,u]=r(),[m,p]=r(!0),[S,b]=r(!1),[v,w]=r();o(()=>{if(!c){p(!1);return}let E=!1;return l.request(`${tt}?projectID=${encodeURIComponent(c)}`).then(async(A)=>{if(E)return;if(A.length===0)A=[await l.request(tt,{method:"POST",body:JSON.stringify({projectID:c,cols:80,rows:24})})];if(E)return;_(A),u((N)=>N??A.at(-1)?.id)}).catch((A)=>{if(!E)w(A instanceof Error?A.message:"加载终端列表失败")}).finally(()=>{if(!E)p(!1)}),()=>{E=!0}},[l,c]);let R=async()=>{if(S||!c)return;b(!0);try{let E=await l.request(tt,{method:"POST",body:JSON.stringify({projectID:c,cols:80,rows:24})});_((A)=>[...A,E]),u(E.id),w(void 0)}catch(E){w(E instanceof Error?E.message:"创建终端失败")}finally{b(!1)}},P=async(E)=>{try{await l.request(`${tt}/${encodeURIComponent(E)}`,{method:"DELETE"})}catch(N){if(!(N instanceof Error&&("status"in N)&&N.status===404)){w(N instanceof Error?N.message:"关闭终端失败");return}}let A=d.filter((N)=>N.id!==E);if(A.length===0&&t.onClose){t.onClose();return}if(_(A),f===E)u(A.at(-1)?.id)},U=g((E,A)=>{_((N)=>N.map((J)=>J.id===E?{...J,exitCode:A}:J))},[]),I=d.find((E)=>E.id===f);if(!c)return e("p",{className:a("surface.empty","p-4"),children:"终端属于项目,请在项目下的会话中打开。"});return n("section",{"aria-label":"终端",className:"flex min-h-0 flex-1 flex-col",children:[n("div",{className:"flex h-12 shrink-0 items-center gap-1 overflow-x-auto pr-12 pl-3",children:[e(ct,{className:"mr-1 size-4 shrink-0 text-dim","aria-hidden":!0}),e("div",{role:"tablist","aria-label":"终端列表",className:"flex min-w-0 items-center gap-1",children:d.map((E,A)=>n("div",{className:h("group flex shrink-0 items-center rounded-lg text-xs",E.id===f?"bg-accent-soft text-ink":"text-dim hover:bg-raised"),children:[n("button",{type:"button",role:"tab","aria-selected":E.id===f,className:"py-1.5 pr-1 pl-2.5",onClick:()=>u(E.id),children:[E.shell," ",A+1,E.exitCode!==null&&e("span",{className:"ml-1 text-faint",children:"(已退出)"})]}),e("button",{type:"button","aria-label":`关闭 ${E.shell} ${A+1}`,className:"mr-1 rounded p-0.5 text-faint hover:bg-raised hover:text-ink",onClick:()=>P(E.id),children:e(X,{className:"size-3.5"})})]},E.id))}),e(s,{size:"icon-sm",variant:"ghost","aria-label":"新建终端",loading:S,onClick:R,children:e(ce,{className:"size-4"})})]}),v&&e("div",{role:"alert",className:a("callout.danger","mx-3 mt-3 text-xs"),children:v}),I?e(rl,{connection:l,info:I,onExit:U},I.id):n("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center",children:[e("p",{className:"text-sm text-dim",children:m?"正在加载终端…":"在项目目录打开终端,拥有服务进程的全部权限。"}),!m&&n(s,{variant:"primary",loading:S,onClick:R,children:[e(ce,{className:"size-4"}),"新建终端"]})]})]})}function rl({connection:t,info:s,onExit:a}){let{useTheme:h}=y(),l=h(),c=i(null),d=i(void 0),[_]=r(s),[f,u]=r(s.exitCode===null?"connecting":"exited"),[m,p]=r(s.exitCode);o(()=>{let b=c.current;if(!b)return;sl();let v=new un({cols:_.cols,rows:_.rows,cursorBlink:!0,allowTransparency:!0,fontSize:13,lineHeight:1.2,scrollback:5000,..._.windows?{windowsPty:{backend:"conpty"}}:{}}),w=new ys;v.loadAddon(w),v.open(b),d.current=v;let R=encodeURIComponent(_.id),P=new AbortController,U,I=_.exitCode!==null,E=500,A="",N=!1,J=async()=>{if(N)return;N=!0;try{while(A&&!P.signal.aborted&&!I){let x=A.slice(0,il);A=A.slice(x.length),await t.request(`${tt}/${R}/input`,{method:"POST",body:JSON.stringify({data:x}),signal:P.signal})}}catch{A=""}finally{N=!1}},Ce=v.onData((x)=>{if(I)return;A+=x,J()}),we,it=v.onResize(({cols:x,rows:T})=>{if(I)return;clearTimeout(we),we=setTimeout(()=>{t.request(`${tt}/${R}/resize`,{method:"POST",body:JSON.stringify({cols:x,rows:T}),signal:P.signal}).catch(()=>{})},120)}),V=new ResizeObserver(()=>{let x=w.proposeDimensions();if(x&&x.rows>=5&&x.cols>=20)w.fit()});V.observe(b);let vt=(x)=>{if(x.type==="output"){if(x.reset)v.reset();v.write(x.data),U=x.offset;return}I=!0,p(x.code),u("exited"),a(_.id,x.code)};return(async()=>{if(!t.requestStream)throw Error("当前连接不支持流式请求");while(!P.signal.aborted&&!I){try{let x=U===void 0?"":`?after=${U}`,T=await t.requestStream(`${tt}/${R}/stream${x}`,{headers:{accept:"text/event-stream"},signal:P.signal});if(!T.body)throw Error("终端输出流为空");u("open"),E=500;let L=T.body.getReader(),O=new TextDecoder,B="";while(!0){let{done:F,value:Y}=await L.read();if(F)break;B+=O.decode(Y,{stream:!0});let se=B.split(`
323
323
 
324
324
  `);B=se.pop()??"";for(let xe of se){if(!xe.startsWith("data: "))continue;vt(JSON.parse(xe.slice(6)))}}}catch(x){if(P.signal.aborted)return;if(x instanceof Error&&"status"in x&&x.status===404){I=!0,u("exited"),a(_.id,null);return}}if(P.signal.aborted||I)return;u("retrying"),await new Promise((x)=>setTimeout(x,E)),E=Math.min(E*2,tl)}})().catch(()=>u("retrying")),v.focus(),()=>{P.abort(),clearTimeout(we),V.disconnect(),Ce.dispose(),it.dispose(),v.dispose(),d.current=void 0}},[t,_,a]),o(()=>{let b=d.current;if(!b)return;b.options.theme=nl(l.tokens.colors.hex),b.options.fontFamily=l.tokens.fonts.mono},[l]);let S="";if(f==="connecting")S="正在连接…";else if(f==="retrying")S="连接中断,正在重连…";else if(f==="exited")S=`进程已退出${m===null?"":`(退出码 ${m})`}`;return n("div",{className:"flex min-h-0 flex-1 flex-col",children:[S&&e("div",{role:"status",className:"px-3 pt-2 text-xs text-dim",children:S}),e("div",{ref:c,className:"min-h-0 flex-1 pr-1 pb-2 pl-3"})]})}function nl(t){return{background:"#00000000",foreground:t.ink,cursor:t.ink,cursorAccent:t.bg,selectionBackground:t.lineStrong,scrollbarSliderBackground:`${t.lineStrong}66`,scrollbarSliderHoverBackground:`${t.lineStrong}aa`,scrollbarSliderActiveBackground:t.lineStrong}}export{Fd as TerminalSidebar};