-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchunk-PZQJC3RH.js
executable file
·12 lines (11 loc) · 303 KB
/
chunk-PZQJC3RH.js
1
2
3
4
5
6
7
8
9
10
11
12
import{f as ut,g as _t}from"./chunk-DIJ2E45V.js";import{a as ft,b as vt}from"./chunk-RHT2WMLP.js";import{C as dt,i as at,k as ht,l as ct,r as lt,t as Ee}from"./chunk-7TRK3HOB.js";import{$ as te,$a as ot,E as nt,Ua as Y,a as be,d as st,e as Ie,f as K,fa as ie,l as we,m as ye,u as rt}from"./chunk-TLQ7SHBH.js";var Qe=st((Le,Ze)=>{"use strict";(function(A,x){if(typeof Le=="object"&&typeof Ze=="object")Ze.exports=x();else if(typeof define=="function"&&define.amd)define([],x);else{var F=x();for(var R in F)(typeof Le=="object"?Le:A)[R]=F[R]}})(self,()=>(()=>{"use strict";var A={4567:function(E,r,n){var h=this&&this.__decorate||function(i,a,l,v){var m,c=arguments.length,p=c<3?a:v===null?v=Object.getOwnPropertyDescriptor(a,l):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(i,a,l,v);else for(var b=i.length-1;b>=0;b--)(m=i[b])&&(p=(c<3?m(p):c>3?m(a,l,p):m(a,l))||p);return c>3&&p&&Object.defineProperty(a,l,p),p},u=this&&this.__param||function(i,a){return function(l,v){a(l,v,i)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;let o=n(9042),d=n(6114),f=n(9924),g=n(844),_=n(5596),e=n(4725),s=n(3656),t=r.AccessibilityManager=class extends g.Disposable{constructor(i,a){super(),this._terminal=i,this._renderService=a,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=document.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=document.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let l=0;l<this._terminal.rows;l++)this._rowElements[l]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[l]);if(this._topBoundaryFocusListener=l=>this._handleBoundaryFocus(l,0),this._bottomBoundaryFocusListener=l=>this._handleBoundaryFocus(l,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=document.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new f.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(l=>this._handleResize(l.rows))),this.register(this._terminal.onRender(l=>this._refreshRows(l.start,l.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(l=>this._handleChar(l))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
`))),this.register(this._terminal.onA11yTab(l=>this._handleTab(l))),this.register(this._terminal.onKey(l=>this._handleKey(l.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._screenDprMonitor=new _.ScreenDprMonitor(window),this.register(this._screenDprMonitor),this._screenDprMonitor.setListener(()=>this._refreshRowsDimensions()),this.register((0,s.addDisposableDomListener)(window,"resize",()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,g.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(i){for(let a=0;a<i;a++)this._handleChar(" ")}_handleChar(i){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==i&&(this._charsToAnnounce+=i):this._charsToAnnounce+=i,i===`
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=o.tooMuchOutput)),d.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout(()=>{this._accessibilityContainer.appendChild(this._liveRegion)},0))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0,d.isMac&&this._liveRegion.remove()}_handleKey(i){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(i)||this._charsToConsume.push(i)}_refreshRows(i,a){this._liveRegionDebouncer.refresh(i,a,this._terminal.rows)}_renderRows(i,a){let l=this._terminal.buffer,v=l.lines.length.toString();for(let m=i;m<=a;m++){let c=l.translateBufferLineToString(l.ydisp+m,!0),p=(l.ydisp+m+1).toString(),b=this._rowElements[m];b&&(c.length===0?b.innerText="\xA0":b.textContent=c,b.setAttribute("aria-posinset",p),b.setAttribute("aria-setsize",v))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(i,a){let l=i.target,v=this._rowElements[a===0?1:this._rowElements.length-2];if(l.getAttribute("aria-posinset")===(a===0?"1":`${this._terminal.buffer.lines.length}`)||i.relatedTarget!==v)return;let m,c;if(a===0?(m=l,c=this._rowElements.pop(),this._rowContainer.removeChild(c)):(m=this._rowElements.shift(),c=l,this._rowContainer.removeChild(m)),m.removeEventListener("focus",this._topBoundaryFocusListener),c.removeEventListener("focus",this._bottomBoundaryFocusListener),a===0){let p=this._createAccessibilityTreeNode();this._rowElements.unshift(p),this._rowContainer.insertAdjacentElement("afterbegin",p)}else{let p=this._createAccessibilityTreeNode();this._rowElements.push(p),this._rowContainer.appendChild(p)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(a===0?-1:1),this._rowElements[a===0?1:this._rowElements.length-2].focus(),i.preventDefault(),i.stopImmediatePropagation()}_handleResize(i){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let a=this._rowContainer.children.length;a<this._terminal.rows;a++)this._rowElements[a]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[a]);for(;this._rowElements.length>i;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let i=document.createElement("div");return i.setAttribute("role","listitem"),i.tabIndex=-1,this._refreshRowDimensions(i),i}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let i=0;i<this._terminal.rows;i++)this._refreshRowDimensions(this._rowElements[i])}}_refreshRowDimensions(i){i.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=t=h([u(1,e.IRenderService)],t)},3614:(E,r)=>{function n(d){return d.replace(/\r?\n/g,"\r")}function h(d,f){return f?"\x1B[200~"+d+"\x1B[201~":d}function u(d,f,g,_){d=h(d=n(d),g.decPrivateModes.bracketedPasteMode&&_.rawOptions.ignoreBracketedPasteMode!==!0),g.triggerDataEvent(d,!0),f.value=""}function o(d,f,g){let _=g.getBoundingClientRect(),e=d.clientX-_.left-10,s=d.clientY-_.top-10;f.style.width="20px",f.style.height="20px",f.style.left=`${e}px`,f.style.top=`${s}px`,f.style.zIndex="1000",f.focus()}Object.defineProperty(r,"__esModule",{value:!0}),r.rightClickHandler=r.moveTextAreaUnderMouseCursor=r.paste=r.handlePasteEvent=r.copyHandler=r.bracketTextForPaste=r.prepareTextForTerminal=void 0,r.prepareTextForTerminal=n,r.bracketTextForPaste=h,r.copyHandler=function(d,f){d.clipboardData&&d.clipboardData.setData("text/plain",f.selectionText),d.preventDefault()},r.handlePasteEvent=function(d,f,g,_){d.stopPropagation(),d.clipboardData&&u(d.clipboardData.getData("text/plain"),f,g,_)},r.paste=u,r.moveTextAreaUnderMouseCursor=o,r.rightClickHandler=function(d,f,g,_,e){o(d,f,g),e&&_.rightClickSelect(d),f.value=_.selectionText,f.select()}},7239:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorContrastCache=void 0;let h=n(1505);r.ColorContrastCache=class{constructor(){this._color=new h.TwoKeyMap,this._css=new h.TwoKeyMap}setCss(u,o,d){this._css.set(u,o,d)}getCss(u,o){return this._css.get(u,o)}setColor(u,o,d){this._color.set(u,o,d)}getColor(u,o){return this._color.get(u,o)}clear(){this._color.clear(),this._css.clear()}}},3656:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(n,h,u,o){n.addEventListener(h,u,o);let d=!1;return{dispose:()=>{d||(d=!0,n.removeEventListener(h,u,o))}}}},6465:function(E,r,n){var h=this&&this.__decorate||function(e,s,t,i){var a,l=arguments.length,v=l<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,t):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(e,s,t,i);else for(var m=e.length-1;m>=0;m--)(a=e[m])&&(v=(l<3?a(v):l>3?a(s,t,v):a(s,t))||v);return l>3&&v&&Object.defineProperty(s,t,v),v},u=this&&this.__param||function(e,s){return function(t,i){s(t,i,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Linkifier2=void 0;let o=n(3656),d=n(8460),f=n(844),g=n(2585),_=r.Linkifier2=class extends f.Disposable{get currentLink(){return this._currentLink}constructor(e){super(),this._bufferService=e,this._linkProviders=[],this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new d.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new d.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,f.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,f.toDisposable)(()=>{this._lastMouseEvent=void 0})),this.register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0}))}registerLinkProvider(e){return this._linkProviders.push(e),{dispose:()=>{let s=this._linkProviders.indexOf(e);s!==-1&&this._linkProviders.splice(s,1)}}}attachToDom(e,s,t){this._element=e,this._mouseService=s,this._renderService=t,this.register((0,o.addDisposableDomListener)(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this.register((0,o.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,o.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,o.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(e){if(this._lastMouseEvent=e,!this._element||!this._mouseService)return;let s=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;let t=e.composedPath();for(let i=0;i<t.length;i++){let a=t[i];if(a.classList.contains("xterm"))break;if(a.classList.contains("xterm-hover"))return}this._lastBufferCell&&s.x===this._lastBufferCell.x&&s.y===this._lastBufferCell.y||(this._handleHover(s),this._lastBufferCell=s)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(e,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,s){var t,i;this._activeProviderReplies&&s||((t=this._activeProviderReplies)===null||t===void 0||t.forEach(l=>{l?.forEach(v=>{v.link.dispose&&v.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let a=!1;for(let[l,v]of this._linkProviders.entries())s?!((i=this._activeProviderReplies)===null||i===void 0)&&i.get(l)&&(a=this._checkLinkProviderResult(l,e,a)):v.provideLinks(e.y,m=>{var c,p;if(this._isMouseOut)return;let b=m?.map(L=>({link:L}));(c=this._activeProviderReplies)===null||c===void 0||c.set(l,b),a=this._checkLinkProviderResult(l,e,a),((p=this._activeProviderReplies)===null||p===void 0?void 0:p.size)===this._linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,s){let t=new Set;for(let i=0;i<s.size;i++){let a=s.get(i);if(a)for(let l=0;l<a.length;l++){let v=a[l],m=v.link.range.start.y<e?0:v.link.range.start.x,c=v.link.range.end.y>e?this._bufferService.cols:v.link.range.end.x;for(let p=m;p<=c;p++){if(t.has(p)){a.splice(l--,1);break}t.add(p)}}}}_checkLinkProviderResult(e,s,t){var i;if(!this._activeProviderReplies)return t;let a=this._activeProviderReplies.get(e),l=!1;for(let v=0;v<e;v++)this._activeProviderReplies.has(v)&&!this._activeProviderReplies.get(v)||(l=!0);if(!l&&a){let v=a.find(m=>this._linkAtPosition(m.link,s));v&&(t=!0,this._handleNewLink(v))}if(this._activeProviderReplies.size===this._linkProviders.length&&!t)for(let v=0;v<this._activeProviderReplies.size;v++){let m=(i=this._activeProviderReplies.get(v))===null||i===void 0?void 0:i.find(c=>this._linkAtPosition(c.link,s));if(m){t=!0,this._handleNewLink(m);break}}return t}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._element||!this._mouseService||!this._currentLink)return;let s=this._positionFromMouseEvent(e,this._element,this._mouseService);s&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,s){this._element&&this._currentLink&&this._lastMouseEvent&&(!e||!s||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,f.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._element||!this._lastMouseEvent||!this._mouseService)return;let s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(e.link,s)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var t,i;return(i=(t=this._currentLink)===null||t===void 0?void 0:t.state)===null||i===void 0?void 0:i.decorations.pointerCursor},set:t=>{var i,a;!((i=this._currentLink)===null||i===void 0)&&i.state&&this._currentLink.state.decorations.pointerCursor!==t&&(this._currentLink.state.decorations.pointerCursor=t,this._currentLink.state.isHovered&&((a=this._element)===null||a===void 0||a.classList.toggle("xterm-cursor-pointer",t)))}},underline:{get:()=>{var t,i;return(i=(t=this._currentLink)===null||t===void 0?void 0:t.state)===null||i===void 0?void 0:i.decorations.underline},set:t=>{var i,a,l;!((i=this._currentLink)===null||i===void 0)&&i.state&&((l=(a=this._currentLink)===null||a===void 0?void 0:a.state)===null||l===void 0?void 0:l.decorations.underline)!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(t=>{if(!this._currentLink)return;let i=t.start===0?0:t.start+1+this._bufferService.buffer.ydisp,a=this._bufferService.buffer.ydisp+1+t.end;if(this._currentLink.link.range.start.y>=i&&this._currentLink.link.range.end.y<=a&&(this._clearCurrentLink(i,a),this._lastMouseEvent&&this._element)){let l=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);l&&this._askForLink(l,!1)}})))}_linkHover(e,s,t){var i;!((i=this._currentLink)===null||i===void 0)&&i.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(t,s.text)}_fireUnderlineEvent(e,s){let t=e.range,i=this._bufferService.buffer.ydisp,a=this._createLinkUnderlineEvent(t.start.x-1,t.start.y-i-1,t.end.x,t.end.y-i-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(a)}_linkLeave(e,s,t){var i;!((i=this._currentLink)===null||i===void 0)&&i.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(t,s.text)}_linkAtPosition(e,s){let t=e.range.start.y*this._bufferService.cols+e.range.start.x,i=e.range.end.y*this._bufferService.cols+e.range.end.x,a=s.y*this._bufferService.cols+s.x;return t<=a&&a<=i}_positionFromMouseEvent(e,s,t){let i=t.getCoords(e,s,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,s,t,i,a){return{x1:e,y1:s,x2:t,y2:i,cols:this._bufferService.cols,fg:a}}};r.Linkifier2=_=h([u(0,g.IBufferService)],_)},9042:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tooMuchOutput=r.promptLabel=void 0,r.promptLabel="Terminal input",r.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(E,r,n){var h=this&&this.__decorate||function(_,e,s,t){var i,a=arguments.length,l=a<3?e:t===null?t=Object.getOwnPropertyDescriptor(e,s):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(_,e,s,t);else for(var v=_.length-1;v>=0;v--)(i=_[v])&&(l=(a<3?i(l):a>3?i(e,s,l):i(e,s))||l);return a>3&&l&&Object.defineProperty(e,s,l),l},u=this&&this.__param||function(_,e){return function(s,t){e(s,t,_)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkProvider=void 0;let o=n(511),d=n(2585),f=r.OscLinkProvider=class{constructor(_,e,s){this._bufferService=_,this._optionsService=e,this._oscLinkService=s}provideLinks(_,e){var s;let t=this._bufferService.buffer.lines.get(_-1);if(!t)return void e(void 0);let i=[],a=this._optionsService.rawOptions.linkHandler,l=new o.CellData,v=t.getTrimmedLength(),m=-1,c=-1,p=!1;for(let b=0;b<v;b++)if(c!==-1||t.hasContent(b)){if(t.loadCell(b,l),l.hasExtendedAttrs()&&l.extended.urlId){if(c===-1){c=b,m=l.extended.urlId;continue}p=l.extended.urlId!==m}else c!==-1&&(p=!0);if(p||c!==-1&&b===v-1){let L=(s=this._oscLinkService.getLinkData(m))===null||s===void 0?void 0:s.uri;if(L){let w={start:{x:c+1,y:_},end:{x:b+(p||b!==v-1?0:1),y:_}},D=!1;if(!a?.allowNonHttpProtocols)try{let O=new URL(L);["http:","https:"].includes(O.protocol)||(D=!0)}catch{D=!0}D||i.push({text:L,range:w,activate:(O,I)=>a?a.activate(O,I,w):g(0,I),hover:(O,I)=>{var W;return(W=a?.hover)===null||W===void 0?void 0:W.call(a,O,I,w)},leave:(O,I)=>{var W;return(W=a?.leave)===null||W===void 0?void 0:W.call(a,O,I,w)}})}p=!1,l.hasExtendedAttrs()&&l.extended.urlId?(c=b,m=l.extended.urlId):(c=-1,m=-1)}}e(i)}};function g(_,e){if(confirm(`Do you want to navigate to ${e}?
WARNING: This link could potentially be dangerous`)){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=e}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=f=h([u(0,d.IBufferService),u(1,d.IOptionsService),u(2,d.IOscLinkService)],f)},6193:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(n,h){this._parentWindow=n,this._renderCallback=h,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._parentWindow.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(n){return this._refreshCallbacks.push(n),this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(n,h,u){this._rowCount=u,n=n!==void 0?n:0,h=h!==void 0?h:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,n):n,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,h):h,this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();let n=Math.max(this._rowStart,0),h=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(n,h),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let n of this._refreshCallbacks)n(0);this._refreshCallbacks=[]}}},5596:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ScreenDprMonitor=void 0;let h=n(844);class u extends h.Disposable{constructor(d){super(),this._parentWindow=d,this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this.register((0,h.toDisposable)(()=>{this.clearListener()}))}setListener(d){this._listener&&this.clearListener(),this._listener=d,this._outerListener=()=>{this._listener&&(this._listener(this._parentWindow.devicePixelRatio,this._currentDevicePixelRatio),this._updateDpr())},this._updateDpr()}_updateDpr(){var d;this._outerListener&&((d=this._resolutionMediaMatchList)===null||d===void 0||d.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._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)}}r.ScreenDprMonitor=u},3236:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;let h=n(3614),u=n(3656),o=n(6465),d=n(9042),f=n(3730),g=n(1680),_=n(3107),e=n(5744),s=n(2950),t=n(1296),i=n(428),a=n(4269),l=n(5114),v=n(8934),m=n(3230),c=n(9312),p=n(4725),b=n(6731),L=n(8055),w=n(8969),D=n(8460),O=n(844),I=n(6114),W=n(8437),H=n(2584),C=n(7399),y=n(5941),k=n(9074),T=n(2585),N=n(5435),U=n(4567),z=typeof window<"u"?window.document:null;class $ extends w.CoreTerminal{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}constructor(S={}){super(S),this.browser=I,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new O.MutableDisposable),this._onCursorMove=this.register(new D.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new D.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new D.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new D.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new D.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new D.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new D.EventEmitter),this._onBlur=this.register(new D.EventEmitter),this._onA11yCharEmitter=this.register(new D.EventEmitter),this._onA11yTabEmitter=this.register(new D.EventEmitter),this._onWillOpen=this.register(new D.EventEmitter),this._setup(),this.linkifier2=this.register(this._instantiationService.createInstance(o.Linkifier2)),this.linkifier2.registerLinkProvider(this._instantiationService.createInstance(f.OscLinkProvider)),this._decorationService=this._instantiationService.createInstance(k.DecorationService),this._instantiationService.setService(T.IDecorationService,this._decorationService),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((B,P)=>this.refresh(B,P))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(B=>this._reportWindowsOptions(B))),this.register(this._inputHandler.onColor(B=>this._handleColorEvent(B))),this.register((0,D.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,D.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,D.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,D.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(B=>this._afterResize(B.cols,B.rows))),this.register((0,O.toDisposable)(()=>{var B,P;this._customKeyEventHandler=void 0,(P=(B=this.element)===null||B===void 0?void 0:B.parentNode)===null||P===void 0||P.removeChild(this.element)}))}_handleColorEvent(S){if(this._themeService)for(let B of S){let P,M="";switch(B.index){case 256:P="foreground",M="10";break;case 257:P="background",M="11";break;case 258:P="cursor",M="12";break;default:P="ansi",M="4;"+B.index}switch(B.type){case 0:let q=L.color.toColorRGB(P==="ansi"?this._themeService.colors.ansi[B.index]:this._themeService.colors[P]);this.coreService.triggerDataEvent(`${H.C0.ESC}]${M};${(0,y.toRgbString)(q)}${H.C1_ESCAPED.ST}`);break;case 1:if(P==="ansi")this._themeService.modifyColors(j=>j.ansi[B.index]=L.rgba.toColor(...B.color));else{let j=P;this._themeService.modifyColors(G=>G[j]=L.rgba.toColor(...B.color))}break;case 2:this._themeService.restoreColor(B.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(S){S?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(U.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(S){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(H.C0.ESC+"[I"),this.updateCursorStyle(S),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var S;return(S=this.textarea)===null||S===void 0?void 0:S.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(H.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let S=this.buffer.ybase+this.buffer.y,B=this.buffer.lines.get(S);if(!B)return;let P=Math.min(this.buffer.x,this.cols-1),M=this._renderService.dimensions.css.cell.height,q=B.getWidth(P),j=this._renderService.dimensions.css.cell.width*q,G=this.buffer.y*this._renderService.dimensions.css.cell.height,Q=P*this._renderService.dimensions.css.cell.width;this.textarea.style.left=Q+"px",this.textarea.style.top=G+"px",this.textarea.style.width=j+"px",this.textarea.style.height=M+"px",this.textarea.style.lineHeight=M+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,u.addDisposableDomListener)(this.element,"copy",B=>{this.hasSelection()&&(0,h.copyHandler)(B,this._selectionService)}));let S=B=>(0,h.handlePasteEvent)(B,this.textarea,this.coreService,this.optionsService);this.register((0,u.addDisposableDomListener)(this.textarea,"paste",S)),this.register((0,u.addDisposableDomListener)(this.element,"paste",S)),I.isFirefox?this.register((0,u.addDisposableDomListener)(this.element,"mousedown",B=>{B.button===2&&(0,h.rightClickHandler)(B,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,u.addDisposableDomListener)(this.element,"contextmenu",B=>{(0,h.rightClickHandler)(B,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),I.isLinux&&this.register((0,u.addDisposableDomListener)(this.element,"auxclick",B=>{B.button===1&&(0,h.moveTextAreaUnderMouseCursor)(B,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,u.addDisposableDomListener)(this.textarea,"keyup",S=>this._keyUp(S),!0)),this.register((0,u.addDisposableDomListener)(this.textarea,"keydown",S=>this._keyDown(S),!0)),this.register((0,u.addDisposableDomListener)(this.textarea,"keypress",S=>this._keyPress(S),!0)),this.register((0,u.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,u.addDisposableDomListener)(this.textarea,"compositionupdate",S=>this._compositionHelper.compositionupdate(S))),this.register((0,u.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,u.addDisposableDomListener)(this.textarea,"input",S=>this._inputEvent(S),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(S){var B;if(!S)throw new Error("Terminal requires a parent element.");S.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=S.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),S.appendChild(this.element);let P=z.createDocumentFragment();this._viewportElement=z.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),P.appendChild(this._viewportElement),this._viewportScrollArea=z.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=z.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=z.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),P.appendChild(this.screenElement),this.textarea=z.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",d.promptLabel),I.isChromeOS||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._coreBrowserService=this._instantiationService.createInstance(l.CoreBrowserService,this.textarea,(B=this._document.defaultView)!==null&&B!==void 0?B:window),this._instantiationService.setService(p.ICoreBrowserService,this._coreBrowserService),this.register((0,u.addDisposableDomListener)(this.textarea,"focus",M=>this._handleTextAreaFocus(M))),this.register((0,u.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(i.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(p.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(b.ThemeService),this._instantiationService.setService(p.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(a.CharacterJoinerService),this._instantiationService.setService(p.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(m.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(p.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(M=>this._onRender.fire(M))),this.onResize(M=>this._renderService.resize(M.cols,M.rows)),this._compositionView=z.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(s.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(P);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._mouseService=this._instantiationService.createInstance(v.MouseService),this._instantiationService.setService(p.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(g.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(M=>this.scrollLines(M.amount,M.suppressScrollEvent,1)),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),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.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(c.SelectionService,this.element,this.screenElement,this.linkifier2)),this._instantiationService.setService(p.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(M=>this.scrollLines(M.amount,M.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(M=>this._renderService.handleSelectionChanged(M.start,M.end,M.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(M=>{this.textarea.value=M,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(M=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,u.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.linkifier2.attachToDom(this.screenElement,this._mouseService,this._renderService),this.register(this._instantiationService.createInstance(_.BufferDecorationRenderer,this.screenElement)),this.register((0,u.addDisposableDomListener)(this.element,"mousedown",M=>this._selectionService.handleMouseDown(M))),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(U.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",M=>this._handleScreenReaderModeOptionChange(M))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(e.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",M=>{!this._overviewRulerRenderer&&M&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(e.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(t.DomRenderer,this.element,this.screenElement,this._viewportElement,this.linkifier2)}bindMouse(){let S=this,B=this.element;function P(j){let G=S._mouseService.getMouseReportCoords(j,S.screenElement);if(!G)return!1;let Q,ee;switch(j.overrideType||j.type){case"mousemove":ee=32,j.buttons===void 0?(Q=3,j.button!==void 0&&(Q=j.button<3?j.button:3)):Q=1&j.buttons?0:4&j.buttons?1:2&j.buttons?2:3;break;case"mouseup":ee=0,Q=j.button<3?j.button:3;break;case"mousedown":ee=1,Q=j.button<3?j.button:3;break;case"wheel":if(S.viewport.getLinesScrolled(j)===0)return!1;ee=j.deltaY<0?0:1,Q=4;break;default:return!1}return!(ee===void 0||Q===void 0||Q>4)&&S.coreMouseService.triggerMouseEvent({col:G.col,row:G.row,x:G.x,y:G.y,button:Q,action:ee,ctrl:j.ctrlKey,alt:j.altKey,shift:j.shiftKey})}let M={mouseup:null,wheel:null,mousedrag:null,mousemove:null},q={mouseup:j=>(P(j),j.buttons||(this._document.removeEventListener("mouseup",M.mouseup),M.mousedrag&&this._document.removeEventListener("mousemove",M.mousedrag)),this.cancel(j)),wheel:j=>(P(j),this.cancel(j,!0)),mousedrag:j=>{j.buttons&&P(j)},mousemove:j=>{j.buttons||P(j)}};this.register(this.coreMouseService.onProtocolChange(j=>{j?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(j)),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()),8&j?M.mousemove||(B.addEventListener("mousemove",q.mousemove),M.mousemove=q.mousemove):(B.removeEventListener("mousemove",M.mousemove),M.mousemove=null),16&j?M.wheel||(B.addEventListener("wheel",q.wheel,{passive:!1}),M.wheel=q.wheel):(B.removeEventListener("wheel",M.wheel),M.wheel=null),2&j?M.mouseup||(B.addEventListener("mouseup",q.mouseup),M.mouseup=q.mouseup):(this._document.removeEventListener("mouseup",M.mouseup),B.removeEventListener("mouseup",M.mouseup),M.mouseup=null),4&j?M.mousedrag||(M.mousedrag=q.mousedrag):(this._document.removeEventListener("mousemove",M.mousedrag),M.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,u.addDisposableDomListener)(B,"mousedown",j=>{if(j.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(j))return P(j),M.mouseup&&this._document.addEventListener("mouseup",M.mouseup),M.mousedrag&&this._document.addEventListener("mousemove",M.mousedrag),this.cancel(j)})),this.register((0,u.addDisposableDomListener)(B,"wheel",j=>{if(!M.wheel){if(!this.buffer.hasScrollback){let G=this.viewport.getLinesScrolled(j);if(G===0)return;let Q=H.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(j.deltaY<0?"A":"B"),ee="";for(let de=0;de<Math.abs(G);de++)ee+=Q;return this.coreService.triggerDataEvent(ee,!0),this.cancel(j,!0)}return this.viewport.handleWheel(j)?this.cancel(j):void 0}},{passive:!1})),this.register((0,u.addDisposableDomListener)(B,"touchstart",j=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(j),this.cancel(j)},{passive:!0})),this.register((0,u.addDisposableDomListener)(B,"touchmove",j=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(j)?void 0:this.cancel(j)},{passive:!1}))}refresh(S,B){var P;(P=this._renderService)===null||P===void 0||P.refreshRows(S,B)}updateCursorStyle(S){var B;!((B=this._selectionService)===null||B===void 0)&&B.shouldColumnSelect(S)?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(S,B,P=0){var M;P===1?(super.scrollLines(S,B,P),this.refresh(0,this.rows-1)):(M=this.viewport)===null||M===void 0||M.scrollLines(S)}paste(S){(0,h.paste)(S,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(S){this._customKeyEventHandler=S}registerLinkProvider(S){return this.linkifier2.registerLinkProvider(S)}registerCharacterJoiner(S){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let B=this._characterJoinerService.register(S);return this.refresh(0,this.rows-1),B}deregisterCharacterJoiner(S){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(S)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(S){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+S)}registerDecoration(S){return this._decorationService.registerDecoration(S)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(S,B,P){this._selectionService.setSelection(S,B,P)}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(){var S;(S=this._selectionService)===null||S===void 0||S.clearSelection()}selectAll(){var S;(S=this._selectionService)===null||S===void 0||S.selectAll()}selectLines(S,B){var P;(P=this._selectionService)===null||P===void 0||P.selectLines(S,B)}_keyDown(S){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(S)===!1)return!1;let B=this.browser.isMac&&this.options.macOptionIsMeta&&S.altKey;if(!B&&!this._compositionHelper.keydown(S))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;B||S.key!=="Dead"&&S.key!=="AltGraph"||(this._unprocessedDeadKey=!0);let P=(0,C.evaluateKeyboardEvent)(S,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(S),P.type===3||P.type===2){let M=this.rows-1;return this.scrollLines(P.type===2?-M:M),this.cancel(S,!0)}return P.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,S)||(P.cancel&&this.cancel(S,!0),!P.key||!!(S.key&&!S.ctrlKey&&!S.altKey&&!S.metaKey&&S.key.length===1&&S.key.charCodeAt(0)>=65&&S.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(P.key!==H.C0.ETX&&P.key!==H.C0.CR||(this.textarea.value=""),this._onKey.fire({key:P.key,domEvent:S}),this._showCursor(),this.coreService.triggerDataEvent(P.key,!0),!this.optionsService.rawOptions.screenReaderMode||S.altKey||S.ctrlKey?this.cancel(S,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(S,B){let P=S.isMac&&!this.options.macOptionIsMeta&&B.altKey&&!B.ctrlKey&&!B.metaKey||S.isWindows&&B.altKey&&B.ctrlKey&&!B.metaKey||S.isWindows&&B.getModifierState("AltGraph");return B.type==="keypress"?P:P&&(!B.keyCode||B.keyCode>47)}_keyUp(S){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(S)===!1||(function(B){return B.keyCode===16||B.keyCode===17||B.keyCode===18}(S)||this.focus(),this.updateCursorStyle(S),this._keyPressHandled=!1)}_keyPress(S){let B;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(S)===!1)return!1;if(this.cancel(S),S.charCode)B=S.charCode;else if(S.which===null||S.which===void 0)B=S.keyCode;else{if(S.which===0||S.charCode===0)return!1;B=S.which}return!(!B||(S.altKey||S.ctrlKey||S.metaKey)&&!this._isThirdLevelShift(this.browser,S)||(B=String.fromCharCode(B),this._onKey.fire({key:B,domEvent:S}),this._showCursor(),this.coreService.triggerDataEvent(B,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(S){if(S.data&&S.inputType==="insertText"&&(!S.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let B=S.data;return this.coreService.triggerDataEvent(B,!0),this.cancel(S),!0}return!1}resize(S,B){S!==this.cols||B!==this.rows?super.resize(S,B):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(S,B){var P,M;(P=this._charSizeService)===null||P===void 0||P.measure(),(M=this.viewport)===null||M===void 0||M.syncScrollArea(!0)}clear(){var S;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 B=1;B<this.rows;B++)this.buffer.lines.push(this.buffer.getBlankLine(W.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(S=this.viewport)===null||S===void 0||S.reset(),this.refresh(0,this.rows-1)}}reset(){var S,B;this.options.rows=this.rows,this.options.cols=this.cols;let P=this._customKeyEventHandler;this._setup(),super.reset(),(S=this._selectionService)===null||S===void 0||S.reset(),this._decorationService.reset(),(B=this.viewport)===null||B===void 0||B.reset(),this._customKeyEventHandler=P,this.refresh(0,this.rows-1)}clearTextureAtlas(){var S;(S=this._renderService)===null||S===void 0||S.clearTextureAtlas()}_reportFocus(){var S;!((S=this.element)===null||S===void 0)&&S.classList.contains("focus")?this.coreService.triggerDataEvent(H.C0.ESC+"[I"):this.coreService.triggerDataEvent(H.C0.ESC+"[O")}_reportWindowsOptions(S){if(this._renderService)switch(S){case N.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:let B=this._renderService.dimensions.css.canvas.width.toFixed(0),P=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${H.C0.ESC}[4;${P};${B}t`);break;case N.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:let M=this._renderService.dimensions.css.cell.width.toFixed(0),q=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${H.C0.ESC}[6;${q};${M}t`)}}cancel(S,B){if(this.options.cancelEvents||B)return S.preventDefault(),S.stopPropagation(),!1}}r.Terminal=$},9924:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TimeBasedDebouncer=void 0,r.TimeBasedDebouncer=class{constructor(n,h=1e3){this._renderCallback=n,this._debounceThresholdMS=h,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(n,h,u){this._rowCount=u,n=n!==void 0?n:0,h=h!==void 0?h:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,n):n,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,h):h;let o=Date.now();if(o-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=o,this._innerRefresh();else if(!this._additionalRefreshRequested){let d=o-this._lastRefreshMs,f=this._debounceThresholdMS-d;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},f)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let n=Math.max(this._rowStart,0),h=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(n,h)}}},1680:function(E,r,n){var h=this&&this.__decorate||function(s,t,i,a){var l,v=arguments.length,m=v<3?t:a===null?a=Object.getOwnPropertyDescriptor(t,i):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(s,t,i,a);else for(var c=s.length-1;c>=0;c--)(l=s[c])&&(m=(v<3?l(m):v>3?l(t,i,m):l(t,i))||m);return v>3&&m&&Object.defineProperty(t,i,m),m},u=this&&this.__param||function(s,t){return function(i,a){t(i,a,s)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Viewport=void 0;let o=n(3656),d=n(4725),f=n(8460),g=n(844),_=n(2585),e=r.Viewport=class extends g.Disposable{constructor(s,t,i,a,l,v,m,c){super(),this._viewportElement=s,this._scrollArea=t,this._bufferService=i,this._optionsService=a,this._charSizeService=l,this._renderService=v,this._coreBrowserService=m,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new f.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,o.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(p=>this._activeBuffer=p.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(p=>this._renderDimensions=p)),this._handleThemeChange(c.colors),this.register(c.onChangeColors(p=>this._handleThemeChange(p))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(s){this._viewportElement.style.backgroundColor=s.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame(()=>this.syncScrollArea())}_refresh(s){if(s)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderService.dimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;let t=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.css.canvas.height);this._lastRecordedBufferHeight!==t&&(this._lastRecordedBufferHeight=t,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}let s=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==s&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=s),this._refreshAnimationFrame=null}syncScrollArea(s=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(s);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(s)}_handleScroll(s){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});let t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:t,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;let s=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(s*(this._smoothScrollState.target-this._smoothScrollState.origin)),s<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(s,t){let i=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&this._viewportElement.scrollTop!==0||t>0&&i<this._lastRecordedBufferHeight)||(s.cancelable&&s.preventDefault(),!1)}handleWheel(s){let t=this._getPixelsScrolled(s);return t!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+t:this._smoothScrollState.target+=t,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=t,this._bubbleScroll(s,t))}scrollLines(s){if(s!==0)if(this._optionsService.rawOptions.smoothScrollDuration){let t=s*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+t,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:s,suppressScrollEvent:!1})}_getPixelsScrolled(s){if(s.deltaY===0||s.shiftKey)return 0;let t=this._applyScrollModifier(s.deltaY,s);return s.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=this._currentRowHeight:s.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._currentRowHeight*this._bufferService.rows),t}getBufferElements(s,t){var i;let a,l="",v=[],m=t??this._bufferService.buffer.lines.length,c=this._bufferService.buffer.lines;for(let p=s;p<m;p++){let b=c.get(p);if(!b)continue;let L=(i=c.get(p+1))===null||i===void 0?void 0:i.isWrapped;if(l+=b.translateToString(!L),!L||p===c.length-1){let w=document.createElement("div");w.textContent=l,v.push(w),l.length>0&&(a=w),l=""}}return{bufferElements:v,cursorElement:a}}getLinesScrolled(s){if(s.deltaY===0||s.shiftKey)return 0;let t=this._applyScrollModifier(s.deltaY,s);return s.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(t/=this._currentRowHeight+0,this._wheelPartialScroll+=t,t=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):s.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t}_applyScrollModifier(s,t){let i=this._optionsService.rawOptions.fastScrollModifier;return i==="alt"&&t.altKey||i==="ctrl"&&t.ctrlKey||i==="shift"&&t.shiftKey?s*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:s*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(s){this._lastTouchY=s.touches[0].pageY}handleTouchMove(s){let t=this._lastTouchY-s.touches[0].pageY;return this._lastTouchY=s.touches[0].pageY,t!==0&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(s,t))}};r.Viewport=e=h([u(2,_.IBufferService),u(3,_.IOptionsService),u(4,d.ICharSizeService),u(5,d.IRenderService),u(6,d.ICoreBrowserService),u(7,d.IThemeService)],e)},3107:function(E,r,n){var h=this&&this.__decorate||function(e,s,t,i){var a,l=arguments.length,v=l<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,t):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(e,s,t,i);else for(var m=e.length-1;m>=0;m--)(a=e[m])&&(v=(l<3?a(v):l>3?a(s,t,v):a(s,t))||v);return l>3&&v&&Object.defineProperty(s,t,v),v},u=this&&this.__param||function(e,s){return function(t,i){s(t,i,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferDecorationRenderer=void 0;let o=n(3656),d=n(4725),f=n(844),g=n(2585),_=r.BufferDecorationRenderer=class extends f.Disposable{constructor(e,s,t,i){super(),this._screenElement=e,this._bufferService=s,this._decorationService=t,this._renderService=i,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((0,o.addDisposableDomListener)(window,"resize",()=>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(a=>this._removeDecoration(a))),this.register((0,f.toDisposable)(()=>{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 e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var s,t;let i=document.createElement("div");i.classList.add("xterm-decoration"),i.classList.toggle("xterm-decoration-top-layer",((s=e?.options)===null||s===void 0?void 0:s.layer)==="top"),i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+"px",i.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let a=(t=e.options.x)!==null&&t!==void 0?t:0;return a&&a>this._bufferService.cols&&(i.style.display="none"),this._refreshXPosition(e,i),i}_refreshStyle(e){let s=e.marker.line-this._bufferService.buffers.active.ydisp;if(s<0||s>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let t=this._decorationElements.get(e);t||(t=this._createElement(e),e.element=t,this._decorationElements.set(e,t),this._container.appendChild(t),e.onDispose(()=>{this._decorationElements.delete(e),t.remove()})),t.style.top=s*this._renderService.dimensions.css.cell.height+"px",t.style.display=this._altBufferIsActive?"none":"block",e.onRenderEmitter.fire(t)}}_refreshXPosition(e,s=e.element){var t;if(!s)return;let i=(t=e.options.x)!==null&&t!==void 0?t:0;(e.options.anchor||"left")==="right"?s.style.right=i?i*this._renderService.dimensions.css.cell.width+"px":"":s.style.left=i?i*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(e){var s;(s=this._decorationElements.get(e))===null||s===void 0||s.remove(),this._decorationElements.delete(e),e.dispose()}};r.BufferDecorationRenderer=_=h([u(1,g.IBufferService),u(2,g.IDecorationService),u(3,d.IRenderService)],_)},5871:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorZoneStore=void 0,r.ColorZoneStore=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(n){if(n.options.overviewRulerOptions){for(let h of this._zones)if(h.color===n.options.overviewRulerOptions.color&&h.position===n.options.overviewRulerOptions.position){if(this._lineIntersectsZone(h,n.marker.line))return;if(this._lineAdjacentToZone(h,n.marker.line,n.options.overviewRulerOptions.position))return void this._addLineToZone(h,n.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=n.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=n.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=n.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=n.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:n.options.overviewRulerOptions.color,position:n.options.overviewRulerOptions.position,startBufferLine:n.marker.line,endBufferLine:n.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(n){this._linePadding=n}_lineIntersectsZone(n,h){return h>=n.startBufferLine&&h<=n.endBufferLine}_lineAdjacentToZone(n,h,u){return h>=n.startBufferLine-this._linePadding[u||"full"]&&h<=n.endBufferLine+this._linePadding[u||"full"]}_addLineToZone(n,h){n.startBufferLine=Math.min(n.startBufferLine,h),n.endBufferLine=Math.max(n.endBufferLine,h)}}},5744:function(E,r,n){var h=this&&this.__decorate||function(a,l,v,m){var c,p=arguments.length,b=p<3?l:m===null?m=Object.getOwnPropertyDescriptor(l,v):m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,l,v,m);else for(var L=a.length-1;L>=0;L--)(c=a[L])&&(b=(p<3?c(b):p>3?c(l,v,b):c(l,v))||b);return p>3&&b&&Object.defineProperty(l,v,b),b},u=this&&this.__param||function(a,l){return function(v,m){l(v,m,a)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OverviewRulerRenderer=void 0;let o=n(5871),d=n(3656),f=n(4725),g=n(844),_=n(2585),e={full:0,left:0,center:0,right:0},s={full:0,left:0,center:0,right:0},t={full:0,left:0,center:0,right:0},i=r.OverviewRulerRenderer=class extends g.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(a,l,v,m,c,p,b){var L;super(),this._viewportElement=a,this._screenElement=l,this._bufferService=v,this._decorationService=m,this._renderService=c,this._optionsService=p,this._coreBrowseService=b,this._colorZoneStore=new o.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(L=this._viewportElement.parentElement)===null||L===void 0||L.insertBefore(this._canvas,this._viewportElement);let w=this._canvas.getContext("2d");if(!w)throw new Error("Ctx cannot be null");this._ctx=w,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,g.toDisposable)(()=>{var D;(D=this._canvas)===null||D===void 0||D.remove()}))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){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())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",()=>this._queueRefresh(!0))),this.register((0,d.addDisposableDomListener)(this._coreBrowseService.window,"resize",()=>this._queueRefresh(!0))),this._queueRefresh(!0)}_refreshDrawConstants(){let a=Math.floor(this._canvas.width/3),l=Math.ceil(this._canvas.width/3);s.full=this._canvas.width,s.left=a,s.center=l,s.right=a,this._refreshDrawHeightConstants(),t.full=0,t.left=0,t.center=s.left,t.right=s.left+s.center}_refreshDrawHeightConstants(){e.full=Math.round(2*this._coreBrowseService.dpr);let a=this._canvas.height/this._bufferService.buffer.lines.length,l=Math.round(Math.max(Math.min(a,12),6)*this._coreBrowseService.dpr);e.left=l,e.center=l,e.right=l}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*e.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*e.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*e.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*e.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._coreBrowseService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowseService.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 l of this._decorationService.decorations)this._colorZoneStore.addDecoration(l);this._ctx.lineWidth=1;let a=this._colorZoneStore.zones;for(let l of a)l.position!=="full"&&this._renderColorZone(l);for(let l of a)l.position==="full"&&this._renderColorZone(l);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(a){this._ctx.fillStyle=a.color,this._ctx.fillRect(t[a.position||"full"],Math.round((this._canvas.height-1)*(a.startBufferLine/this._bufferService.buffers.active.lines.length)-e[a.position||"full"]/2),s[a.position||"full"],Math.round((this._canvas.height-1)*((a.endBufferLine-a.startBufferLine)/this._bufferService.buffers.active.lines.length)+e[a.position||"full"]))}_queueRefresh(a,l){this._shouldUpdateDimensions=a||this._shouldUpdateDimensions,this._shouldUpdateAnchor=l||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowseService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};r.OverviewRulerRenderer=i=h([u(2,_.IBufferService),u(3,_.IDecorationService),u(4,f.IRenderService),u(5,_.IOptionsService),u(6,f.ICoreBrowserService)],i)},2950:function(E,r,n){var h=this&&this.__decorate||function(_,e,s,t){var i,a=arguments.length,l=a<3?e:t===null?t=Object.getOwnPropertyDescriptor(e,s):t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(_,e,s,t);else for(var v=_.length-1;v>=0;v--)(i=_[v])&&(l=(a<3?i(l):a>3?i(e,s,l):i(e,s))||l);return a>3&&l&&Object.defineProperty(e,s,l),l},u=this&&this.__param||function(_,e){return function(s,t){e(s,t,_)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CompositionHelper=void 0;let o=n(4725),d=n(2585),f=n(2584),g=r.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(_,e,s,t,i,a){this._textarea=_,this._compositionView=e,this._bufferService=s,this._optionsService=t,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(_){this._compositionView.textContent=_.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(_){if(this._isComposing||this._isSendingComposition){if(_.keyCode===229||_.keyCode===16||_.keyCode===17||_.keyCode===18)return!1;this._finalizeComposition(!1)}return _.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(_){if(this._compositionView.classList.remove("active"),this._isComposing=!1,_){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let s;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,s=this._isComposing?this._textarea.value.substring(e.start,e.end):this._textarea.value.substring(e.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let _=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,s=e.replace(_,"");this._dataAlreadySent=s,e.length>_.length?this._coreService.triggerDataEvent(s,!0):e.length<_.length?this._coreService.triggerDataEvent(`${f.C0.DEL}`,!0):e.length===_.length&&e!==_&&this._coreService.triggerDataEvent(e,!0)}},0)}updateCompositionElements(_){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),s=this._renderService.dimensions.css.cell.height,t=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,i=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=i+"px",this._compositionView.style.top=t+"px",this._compositionView.style.height=s+"px",this._compositionView.style.lineHeight=s+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let a=this._compositionView.getBoundingClientRect();this._textarea.style.left=i+"px",this._textarea.style.top=t+"px",this._textarea.style.width=Math.max(a.width,1)+"px",this._textarea.style.height=Math.max(a.height,1)+"px",this._textarea.style.lineHeight=a.height+"px"}_||setTimeout(()=>this.updateCompositionElements(!0),0)}}};r.CompositionHelper=g=h([u(2,d.IBufferService),u(3,d.IOptionsService),u(4,d.ICoreService),u(5,o.IRenderService)],g)},9806:(E,r)=>{function n(h,u,o){let d=o.getBoundingClientRect(),f=h.getComputedStyle(o),g=parseInt(f.getPropertyValue("padding-left")),_=parseInt(f.getPropertyValue("padding-top"));return[u.clientX-d.left-g,u.clientY-d.top-_]}Object.defineProperty(r,"__esModule",{value:!0}),r.getCoords=r.getCoordsRelativeToElement=void 0,r.getCoordsRelativeToElement=n,r.getCoords=function(h,u,o,d,f,g,_,e,s){if(!g)return;let t=n(h,u,o);return t?(t[0]=Math.ceil((t[0]+(s?_/2:0))/_),t[1]=Math.ceil(t[1]/e),t[0]=Math.min(Math.max(t[0],1),d+(s?1:0)),t[1]=Math.min(Math.max(t[1],1),f),t):void 0}},9504:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.moveToCellSequence=void 0;let h=n(2584);function u(e,s,t,i){let a=e-o(e,t),l=s-o(s,t),v=Math.abs(a-l)-function(m,c,p){let b=0,L=m-o(m,p),w=c-o(c,p);for(let D=0;D<Math.abs(L-w);D++){let O=d(m,c)==="A"?-1:1,I=p.buffer.lines.get(L+O*D);I?.isWrapped&&b++}return b}(e,s,t);return _(v,g(d(e,s),i))}function o(e,s){let t=0,i=s.buffer.lines.get(e),a=i?.isWrapped;for(;a&&e>=0&&e<s.rows;)t++,i=s.buffer.lines.get(--e),a=i?.isWrapped;return t}function d(e,s){return e>s?"A":"B"}function f(e,s,t,i,a,l){let v=e,m=s,c="";for(;v!==t||m!==i;)v+=a?1:-1,a&&v>l.cols-1?(c+=l.buffer.translateBufferLineToString(m,!1,e,v),v=0,e=0,m++):!a&&v<0&&(c+=l.buffer.translateBufferLineToString(m,!1,0,e+1),v=l.cols-1,e=v,m--);return c+l.buffer.translateBufferLineToString(m,!1,e,v)}function g(e,s){let t=s?"O":"[";return h.C0.ESC+t+e}function _(e,s){e=Math.floor(e);let t="";for(let i=0;i<e;i++)t+=s;return t}r.moveToCellSequence=function(e,s,t,i){let a=t.buffer.x,l=t.buffer.y;if(!t.buffer.hasScrollback)return function(c,p,b,L,w,D){return u(p,L,w,D).length===0?"":_(f(c,p,c,p-o(p,w),!1,w).length,g("D",D))}(a,l,0,s,t,i)+u(l,s,t,i)+function(c,p,b,L,w,D){let O;O=u(p,L,w,D).length>0?L-o(L,w):p;let I=L,W=function(H,C,y,k,T,N){let U;return U=u(y,k,T,N).length>0?k-o(k,T):C,H<y&&U<=k||H>=y&&U<k?"C":"D"}(c,p,b,L,w,D);return _(f(c,O,b,I,W==="C",w).length,g(W,D))}(a,l,e,s,t,i);let v;if(l===s)return v=a>e?"D":"C",_(Math.abs(a-e),g(v,i));v=l>s?"D":"C";let m=Math.abs(l-s);return _(function(c,p){return p.cols-c}(l>s?e:a,t)+(m-1)*t.cols+1+((l>s?a:e)-1),g(v,i))}},1296:function(E,r,n){var h=this&&this.__decorate||function(w,D,O,I){var W,H=arguments.length,C=H<3?D:I===null?I=Object.getOwnPropertyDescriptor(D,O):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(w,D,O,I);else for(var y=w.length-1;y>=0;y--)(W=w[y])&&(C=(H<3?W(C):H>3?W(D,O,C):W(D,O))||C);return H>3&&C&&Object.defineProperty(D,O,C),C},u=this&&this.__param||function(w,D){return function(O,I){D(O,I,w)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRenderer=void 0;let o=n(3787),d=n(2550),f=n(2223),g=n(6171),_=n(4725),e=n(8055),s=n(8460),t=n(844),i=n(2585),a="xterm-dom-renderer-owner-",l="xterm-rows",v="xterm-fg-",m="xterm-bg-",c="xterm-focus",p="xterm-selection",b=1,L=r.DomRenderer=class extends t.Disposable{constructor(w,D,O,I,W,H,C,y,k,T){super(),this._element=w,this._screenElement=D,this._viewportElement=O,this._linkifier2=I,this._charSizeService=H,this._optionsService=C,this._bufferService=y,this._coreBrowserService=k,this._themeService=T,this._terminalClass=b++,this._rowElements=[],this.onRequestRedraw=this.register(new s.EventEmitter).event,this._rowContainer=document.createElement("div"),this._rowContainer.classList.add(l),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=document.createElement("div"),this._selectionContainer.classList.add(p),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,g.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(N=>this._injectCss(N))),this._injectCss(this._themeService.colors),this._rowFactory=W.createInstance(o.DomRendererRowFactory,document),this._element.classList.add(a+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(N=>this._handleLinkHover(N))),this.register(this._linkifier2.onHideLinkUnderline(N=>this._handleLinkLeave(N))),this.register((0,t.toDisposable)(()=>{this._element.classList.remove(a+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new d.WidthCache(document),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let w=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*w,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*w),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/w),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/w),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 O of this._rowElements)O.style.width=`${this.dimensions.css.canvas.width}px`,O.style.height=`${this.dimensions.css.cell.height}px`,O.style.lineHeight=`${this.dimensions.css.cell.height}px`,O.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let D=`${this._terminalSelector} .${l} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=D,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(w){this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let D=`${this._terminalSelector} .${l} { color: ${w.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;D+=`${this._terminalSelector} .${l} .xterm-dim { color: ${e.color.multiplyOpacity(w.foreground,.5).css};}`,D+=`${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;}`,D+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { border-bottom-style: hidden; }}",D+="@keyframes blink_block_"+this._terminalClass+` { 0% { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css}; } 50% { background-color: inherit; color: ${w.cursor.css}; }}`,D+=`${this._terminalSelector} .${l}.${c} .xterm-cursor.xterm-cursor-blink:not(.xterm-cursor-block) { animation: blink_box_shadow_`+this._terminalClass+` 1s step-end infinite;}${this._terminalSelector} .${l}.${c} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: blink_block_`+this._terminalClass+` 1s step-end infinite;}${this._terminalSelector} .${l} .xterm-cursor.xterm-cursor-block { background-color: ${w.cursor.css}; color: ${w.cursorAccent.css};}${this._terminalSelector} .${l} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${w.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${l} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${w.cursor.css} inset;}${this._terminalSelector} .${l} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${w.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,D+=`${this._terminalSelector} .${p} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${p} div { position: absolute; background-color: ${w.selectionBackgroundOpaque.css};}${this._terminalSelector} .${p} div { position: absolute; background-color: ${w.selectionInactiveBackgroundOpaque.css};}`;for(let[O,I]of w.ansi.entries())D+=`${this._terminalSelector} .${v}${O} { color: ${I.css}; }${this._terminalSelector} .${v}${O}.xterm-dim { color: ${e.color.multiplyOpacity(I,.5).css}; }${this._terminalSelector} .${m}${O} { background-color: ${I.css}; }`;D+=`${this._terminalSelector} .${v}${f.INVERTED_DEFAULT_COLOR} { color: ${e.color.opaque(w.background).css}; }${this._terminalSelector} .${v}${f.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${e.color.multiplyOpacity(e.color.opaque(w.background),.5).css}; }${this._terminalSelector} .${m}${f.INVERTED_DEFAULT_COLOR} { background-color: ${w.foreground.css}; }`,this._themeStyleElement.textContent=D}_setDefaultSpacing(){let w=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${w}px`,this._rowFactory.defaultSpacing=w}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(w,D){for(let O=this._rowElements.length;O<=D;O++){let I=document.createElement("div");this._rowContainer.appendChild(I),this._rowElements.push(I)}for(;this._rowElements.length>D;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(w,D){this._refreshRowElements(w,D),this._updateDimensions()}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(c)}handleFocus(){this._rowContainer.classList.add(c),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(w,D,O){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(w,D,O),this.renderRows(0,this._bufferService.rows-1),!w||!D)return;let I=w[1]-this._bufferService.buffer.ydisp,W=D[1]-this._bufferService.buffer.ydisp,H=Math.max(I,0),C=Math.min(W,this._bufferService.rows-1);if(H>=this._bufferService.rows||C<0)return;let y=document.createDocumentFragment();if(O){let k=w[0]>D[0];y.appendChild(this._createSelectionElement(H,k?D[0]:w[0],k?w[0]:D[0],C-H+1))}else{let k=I===H?w[0]:0,T=H===W?D[0]:this._bufferService.cols;y.appendChild(this._createSelectionElement(H,k,T));let N=C-H-1;if(y.appendChild(this._createSelectionElement(H+1,0,this._bufferService.cols,N)),H!==C){let U=W===C?D[0]:this._bufferService.cols;y.appendChild(this._createSelectionElement(C,0,U))}}this._selectionContainer.appendChild(y)}_createSelectionElement(w,D,O,I=1){let W=document.createElement("div");return W.style.height=I*this.dimensions.css.cell.height+"px",W.style.top=w*this.dimensions.css.cell.height+"px",W.style.left=D*this.dimensions.css.cell.width+"px",W.style.width=this.dimensions.css.cell.width*(O-D)+"px",W}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 w of this._rowElements)w.replaceChildren()}renderRows(w,D){let O=this._bufferService.buffer,I=O.ybase+O.y,W=Math.min(O.x,this._bufferService.cols-1),H=this._optionsService.rawOptions.cursorBlink,C=this._optionsService.rawOptions.cursorStyle,y=this._optionsService.rawOptions.cursorInactiveStyle;for(let k=w;k<=D;k++){let T=k+O.ydisp,N=this._rowElements[k],U=O.lines.get(T);if(!N||!U)break;N.replaceChildren(...this._rowFactory.createRow(U,T,T===I,C,y,W,H,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${a}${this._terminalClass}`}_handleLinkHover(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!0)}_handleLinkLeave(w){this._setCellUnderline(w.x1,w.x2,w.y1,w.y2,w.cols,!1)}_setCellUnderline(w,D,O,I,W,H){O<0&&(w=0),I<0&&(D=0);let C=this._bufferService.rows-1;O=Math.max(Math.min(O,C),0),I=Math.max(Math.min(I,C),0),W=Math.min(W,this._bufferService.cols);let y=this._bufferService.buffer,k=y.ybase+y.y,T=Math.min(y.x,W-1),N=this._optionsService.rawOptions.cursorBlink,U=this._optionsService.rawOptions.cursorStyle,z=this._optionsService.rawOptions.cursorInactiveStyle;for(let $=O;$<=I;++$){let X=$+y.ydisp,S=this._rowElements[$],B=y.lines.get(X);if(!S||!B)break;S.replaceChildren(...this._rowFactory.createRow(B,X,X===k,U,z,T,N,this.dimensions.css.cell.width,this._widthCache,H?$===O?w:0:-1,H?($===I?D:W)-1:-1))}}};r.DomRenderer=L=h([u(4,i.IInstantiationService),u(5,_.ICharSizeService),u(6,i.IOptionsService),u(7,i.IBufferService),u(8,_.ICoreBrowserService),u(9,_.IThemeService)],L)},3787:function(E,r,n){var h=this&&this.__decorate||function(v,m,c,p){var b,L=arguments.length,w=L<3?m:p===null?p=Object.getOwnPropertyDescriptor(m,c):p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(v,m,c,p);else for(var D=v.length-1;D>=0;D--)(b=v[D])&&(w=(L<3?b(w):L>3?b(m,c,w):b(m,c))||w);return L>3&&w&&Object.defineProperty(m,c,w),w},u=this&&this.__param||function(v,m){return function(c,p){m(c,p,v)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRendererRowFactory=void 0;let o=n(2223),d=n(643),f=n(511),g=n(2585),_=n(8055),e=n(4725),s=n(4269),t=n(6171),i=n(3734),a=r.DomRendererRowFactory=class{constructor(v,m,c,p,b,L,w){this._document=v,this._characterJoinerService=m,this._optionsService=c,this._coreBrowserService=p,this._coreService=b,this._decorationService=L,this._themeService=w,this._workCell=new f.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(v,m,c){this._selectionStart=v,this._selectionEnd=m,this._columnSelectMode=c}createRow(v,m,c,p,b,L,w,D,O,I,W){let H=[],C=this._characterJoinerService.getJoinedCharacters(m),y=this._themeService.colors,k,T=v.getNoBgTrimmedLength();c&&T<L+1&&(T=L+1);let N=0,U="",z=0,$=0,X=0,S=!1,B=0,P=!1,M=0,q=[],j=I!==-1&&W!==-1;for(let G=0;G<T;G++){v.loadCell(G,this._workCell);let Q=this._workCell.getWidth();if(Q===0)continue;let ee=!1,de=G,V=this._workCell;if(C.length>0&&G===C[0][0]){ee=!0;let J=C.shift();V=new s.JoinedCellData(this._workCell,v.translateToString(!0,J[0],J[1]),J[1]-J[0]),de=J[1]-1,Q=V.getWidth()}let fe=this._isCellInSelection(G,m),xe=c&&G===L,Be=j&&G>=I&&G<=W,Oe=!1;this._decorationService.forEachDecorationAtCell(G,m,void 0,J=>{Oe=!0});let Ce=V.getChars()||d.WHITESPACE_CELL_CHAR;if(Ce===" "&&(V.isUnderline()||V.isOverline())&&(Ce="\xA0"),M=Q*D-O.get(Ce,V.isBold(),V.isItalic()),k){if(N&&(fe&&P||!fe&&!P&&V.bg===z)&&(fe&&P&&y.selectionForeground||V.fg===$)&&V.extended.ext===X&&Be===S&&M===B&&!xe&&!ee&&!Oe){U+=Ce,N++;continue}N&&(k.textContent=U),k=this._document.createElement("span"),N=0,U=""}else k=this._document.createElement("span");if(z=V.bg,$=V.fg,X=V.extended.ext,S=Be,B=M,P=fe,ee&&L>=G&&L<=de&&(L=G),!this._coreService.isCursorHidden&&xe){if(q.push("xterm-cursor"),this._coreBrowserService.isFocused)w&&q.push("xterm-cursor-blink"),q.push(p==="bar"?"xterm-cursor-bar":p==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(b)switch(b){case"outline":q.push("xterm-cursor-outline");break;case"block":q.push("xterm-cursor-block");break;case"bar":q.push("xterm-cursor-bar");break;case"underline":q.push("xterm-cursor-underline")}}if(V.isBold()&&q.push("xterm-bold"),V.isItalic()&&q.push("xterm-italic"),V.isDim()&&q.push("xterm-dim"),U=V.isInvisible()?d.WHITESPACE_CELL_CHAR:V.getChars()||d.WHITESPACE_CELL_CHAR,V.isUnderline()&&(q.push(`xterm-underline-${V.extended.underlineStyle}`),U===" "&&(U="\xA0"),!V.isUnderlineColorDefault()))if(V.isUnderlineColorRGB())k.style.textDecorationColor=`rgb(${i.AttributeData.toColorRGB(V.getUnderlineColor()).join(",")})`;else{let J=V.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&V.isBold()&&J<8&&(J+=8),k.style.textDecorationColor=y.ansi[J].css}V.isOverline()&&(q.push("xterm-overline"),U===" "&&(U="\xA0")),V.isStrikethrough()&&q.push("xterm-strikethrough"),Be&&(k.style.textDecoration="underline");let se=V.getFgColor(),ve=V.getFgColorMode(),ne=V.getBgColor(),pe=V.getBgColorMode(),Me=!!V.isInverse();if(Me){let J=se;se=ne,ne=J;let It=ve;ve=pe,pe=It}let oe,Pe,ae,ge=!1;switch(this._decorationService.forEachDecorationAtCell(G,m,void 0,J=>{J.options.layer!=="top"&&ge||(J.backgroundColorRGB&&(pe=50331648,ne=J.backgroundColorRGB.rgba>>8&16777215,oe=J.backgroundColorRGB),J.foregroundColorRGB&&(ve=50331648,se=J.foregroundColorRGB.rgba>>8&16777215,Pe=J.foregroundColorRGB),ge=J.options.layer==="top")}),!ge&&fe&&(oe=this._coreBrowserService.isFocused?y.selectionBackgroundOpaque:y.selectionInactiveBackgroundOpaque,ne=oe.rgba>>8&16777215,pe=50331648,ge=!0,y.selectionForeground&&(ve=50331648,se=y.selectionForeground.rgba>>8&16777215,Pe=y.selectionForeground)),ge&&q.push("xterm-decoration-top"),pe){case 16777216:case 33554432:ae=y.ansi[ne],q.push(`xterm-bg-${ne}`);break;case 50331648:ae=_.rgba.toColor(ne>>16,ne>>8&255,255&ne),this._addStyle(k,`background-color:#${l((ne>>>0).toString(16),"0",6)}`);break;default:Me?(ae=y.foreground,q.push(`xterm-bg-${o.INVERTED_DEFAULT_COLOR}`)):ae=y.background}switch(oe||V.isDim()&&(oe=_.color.multiplyOpacity(ae,.5)),ve){case 16777216:case 33554432:V.isBold()&&se<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(se+=8),this._applyMinimumContrast(k,ae,y.ansi[se],V,oe,void 0)||q.push(`xterm-fg-${se}`);break;case 50331648:let J=_.rgba.toColor(se>>16&255,se>>8&255,255&se);this._applyMinimumContrast(k,ae,J,V,oe,Pe)||this._addStyle(k,`color:#${l(se.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(k,ae,y.foreground,V,oe,void 0)||Me&&q.push(`xterm-fg-${o.INVERTED_DEFAULT_COLOR}`)}q.length&&(k.className=q.join(" "),q.length=0),xe||ee||Oe?k.textContent=U:N++,M!==this.defaultSpacing&&(k.style.letterSpacing=`${M}px`),H.push(k),G=de}return k&&N&&(k.textContent=U),H}_applyMinimumContrast(v,m,c,p,b,L){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,t.excludeFromContrastRatioDemands)(p.getCode()))return!1;let w=this._getContrastCache(p),D;if(b||L||(D=w.getColor(m.rgba,c.rgba)),D===void 0){let O=this._optionsService.rawOptions.minimumContrastRatio/(p.isDim()?2:1);D=_.color.ensureContrastRatio(b||m,L||c,O),w.setColor((b||m).rgba,(L||c).rgba,D??null)}return!!D&&(this._addStyle(v,`color:${D.css}`),!0)}_getContrastCache(v){return v.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(v,m){v.setAttribute("style",`${v.getAttribute("style")||""}${m};`)}_isCellInSelection(v,m){let c=this._selectionStart,p=this._selectionEnd;return!(!c||!p)&&(this._columnSelectMode?c[0]<=p[0]?v>=c[0]&&m>=c[1]&&v<p[0]&&m<=p[1]:v<c[0]&&m>=c[1]&&v>=p[0]&&m<=p[1]:m>c[1]&&m<p[1]||c[1]===p[1]&&m===c[1]&&v>=c[0]&&v<p[0]||c[1]<p[1]&&m===p[1]&&v<p[0]||c[1]<p[1]&&m===c[1]&&v>=c[0])}};function l(v,m,c){for(;v.length<c;)v=m+v;return v}r.DomRendererRowFactory=a=h([u(1,e.ICharacterJoinerService),u(2,g.IOptionsService),u(3,e.ICoreBrowserService),u(4,g.ICoreService),u(5,g.IDecorationService),u(6,e.IThemeService)],a)},2550:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WidthCache=void 0,r.WidthCache=class{constructor(n){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=n.createElement("div"),this._container.style.position="absolute",this._container.style.top="-50000px",this._container.style.width="50000px",this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let h=n.createElement("span"),u=n.createElement("span");u.style.fontWeight="bold";let o=n.createElement("span");o.style.fontStyle="italic";let d=n.createElement("span");d.style.fontWeight="bold",d.style.fontStyle="italic",this._measureElements=[h,u,o,d],this._container.appendChild(h),this._container.appendChild(u),this._container.appendChild(o),this._container.appendChild(d),n.body.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(n,h,u,o){n===this._font&&h===this._fontSize&&u===this._weight&&o===this._weightBold||(this._font=n,this._fontSize=h,this._weight=u,this._weightBold=o,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${u}`,this._measureElements[1].style.fontWeight=`${o}`,this._measureElements[2].style.fontWeight=`${u}`,this._measureElements[3].style.fontWeight=`${o}`,this.clear())}get(n,h,u){let o=0;if(!h&&!u&&n.length===1&&(o=n.charCodeAt(0))<256)return this._flat[o]!==-9999?this._flat[o]:this._flat[o]=this._measure(n,0);let d=n;h&&(d+="B"),u&&(d+="I");let f=this._holey.get(d);if(f===void 0){let g=0;h&&(g|=1),u&&(g|=2),f=this._measure(n,g),this._holey.set(d,f)}return f}_measure(n,h){let u=this._measureElements[h];return u.textContent=n.repeat(32),u.offsetWidth/32}}},2223:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;let h=n(6114);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=h.isFirefox||h.isLegacyEdge?"bottom":"ideographic"},6171:(E,r)=>{function n(h){return 57508<=h&&h<=57558}Object.defineProperty(r,"__esModule",{value:!0}),r.createRenderDimensions=r.excludeFromContrastRatioDemands=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(h){if(!h)throw new Error("value must not be falsy");return h},r.isPowerlineGlyph=n,r.isRestrictedPowerlineGlyph=function(h){return 57520<=h&&h<=57527},r.excludeFromContrastRatioDemands=function(h){return n(h)||function(u){return 9472<=u&&u<=9631}(h)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}}},456:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionModel=void 0,r.SelectionModel=class{constructor(n){this._bufferService=n,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.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 n=this.selectionStart[0]+this.selectionStartLength;return n>this._bufferService.cols?n%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(n/this._bufferService.cols)-1]:[n%this._bufferService.cols,this.selectionStart[1]+Math.floor(n/this._bufferService.cols)]:[n,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let n=this.selectionStart[0]+this.selectionStartLength;return n>this._bufferService.cols?[n%this._bufferService.cols,this.selectionStart[1]+Math.floor(n/this._bufferService.cols)]:[Math.max(n,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let n=this.selectionStart,h=this.selectionEnd;return!(!n||!h)&&(n[1]>h[1]||n[1]===h[1]&&n[0]>h[0])}handleTrim(n){return this.selectionStart&&(this.selectionStart[1]-=n),this.selectionEnd&&(this.selectionEnd[1]-=n),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(E,r,n){var h=this&&this.__decorate||function(e,s,t,i){var a,l=arguments.length,v=l<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,t):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(e,s,t,i);else for(var m=e.length-1;m>=0;m--)(a=e[m])&&(v=(l<3?a(v):l>3?a(s,t,v):a(s,t))||v);return l>3&&v&&Object.defineProperty(s,t,v),v},u=this&&this.__param||function(e,s){return function(t,i){s(t,i,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharSizeService=void 0;let o=n(2585),d=n(8460),f=n(844),g=r.CharSizeService=class extends f.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,s,t){super(),this._optionsService=t,this.width=0,this.height=0,this._onCharSizeChange=this.register(new d.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event,this._measureStrategy=new _(e,s,this._optionsService),this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){let e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};r.CharSizeService=g=h([u(2,o.IOptionsService)],g);class _{constructor(s,t,i){this._document=s,this._parentElement=t,this._optionsService=i,this._result={width:0,height:0},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(){this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`;let s={height:Number(this._measureElement.offsetHeight),width:Number(this._measureElement.offsetWidth)};return s.width!==0&&s.height!==0&&(this._result.width=s.width/32,this._result.height=Math.ceil(s.height)),this._result}}},4269:function(E,r,n){var h=this&&this.__decorate||function(s,t,i,a){var l,v=arguments.length,m=v<3?t:a===null?a=Object.getOwnPropertyDescriptor(t,i):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(s,t,i,a);else for(var c=s.length-1;c>=0;c--)(l=s[c])&&(m=(v<3?l(m):v>3?l(t,i,m):l(t,i))||m);return v>3&&m&&Object.defineProperty(t,i,m),m},u=this&&this.__param||function(s,t){return function(i,a){t(i,a,s)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterJoinerService=r.JoinedCellData=void 0;let o=n(3734),d=n(643),f=n(511),g=n(2585);class _ extends o.AttributeData{constructor(t,i,a){super(),this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=i,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.JoinedCellData=_;let e=r.CharacterJoinerService=class At{constructor(t){this._bufferService=t,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new f.CellData}register(t){let i={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(i),i.id}deregister(t){for(let i=0;i<this._characterJoiners.length;i++)if(this._characterJoiners[i].id===t)return this._characterJoiners.splice(i,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let i=this._bufferService.buffer.lines.get(t);if(!i||i.length===0)return[];let a=[],l=i.translateToString(!0),v=0,m=0,c=0,p=i.getFg(0),b=i.getBg(0);for(let L=0;L<i.getTrimmedLength();L++)if(i.loadCell(L,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==p||this._workCell.bg!==b){if(L-v>1){let w=this._getJoinedRanges(l,c,m,i,v);for(let D=0;D<w.length;D++)a.push(w[D])}v=L,c=m,p=this._workCell.fg,b=this._workCell.bg}m+=this._workCell.getChars().length||d.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-v>1){let L=this._getJoinedRanges(l,c,m,i,v);for(let w=0;w<L.length;w++)a.push(L[w])}return a}_getJoinedRanges(t,i,a,l,v){let m=t.substring(i,a),c=[];try{c=this._characterJoiners[0].handler(m)}catch(p){console.error(p)}for(let p=1;p<this._characterJoiners.length;p++)try{let b=this._characterJoiners[p].handler(m);for(let L=0;L<b.length;L++)At._mergeRanges(c,b[L])}catch(b){console.error(b)}return this._stringRangesToCellRanges(c,l,v),c}_stringRangesToCellRanges(t,i,a){let l=0,v=!1,m=0,c=t[l];if(c){for(let p=a;p<this._bufferService.cols;p++){let b=i.getWidth(p),L=i.getString(p).length||d.WHITESPACE_CELL_CHAR.length;if(b!==0){if(!v&&c[0]<=m&&(c[0]=p,v=!0),c[1]<=m){if(c[1]=p,c=t[++l],!c)break;c[0]<=m?(c[0]=p,v=!0):v=!1}m+=L}}c&&(c[1]=this._bufferService.cols)}}static _mergeRanges(t,i){let a=!1;for(let l=0;l<t.length;l++){let v=t[l];if(a){if(i[1]<=v[0])return t[l-1][1]=i[1],t;if(i[1]<=v[1])return t[l-1][1]=Math.max(i[1],v[1]),t.splice(l,1),t;t.splice(l,1),l--}else{if(i[1]<=v[0])return t.splice(l,0,i),t;if(i[1]<=v[1])return v[0]=Math.min(i[0],v[0]),t;i[0]<v[1]&&(v[0]=Math.min(i[0],v[0]),a=!0)}}return a?t[t.length-1][1]=i[1]:t.push(i),t}};r.CharacterJoinerService=e=h([u(0,g.IBufferService)],e)},5114:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreBrowserService=void 0,r.CoreBrowserService=class{constructor(n,h){this._textarea=n,this.window=h,this._isFocused=!1,this._cachedIsFocused=void 0,this._textarea.addEventListener("focus",()=>this._isFocused=!0),this._textarea.addEventListener("blur",()=>this._isFocused=!1)}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}}},8934:function(E,r,n){var h=this&&this.__decorate||function(g,_,e,s){var t,i=arguments.length,a=i<3?_:s===null?s=Object.getOwnPropertyDescriptor(_,e):s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(g,_,e,s);else for(var l=g.length-1;l>=0;l--)(t=g[l])&&(a=(i<3?t(a):i>3?t(_,e,a):t(_,e))||a);return i>3&&a&&Object.defineProperty(_,e,a),a},u=this&&this.__param||function(g,_){return function(e,s){_(e,s,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.MouseService=void 0;let o=n(4725),d=n(9806),f=r.MouseService=class{constructor(g,_){this._renderService=g,this._charSizeService=_}getCoords(g,_,e,s,t){return(0,d.getCoords)(window,g,_,e,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,t)}getMouseReportCoords(g,_){let e=(0,d.getCoordsRelativeToElement)(window,g,_);if(this._charSizeService.hasValidSize)return e[0]=Math.min(Math.max(e[0],0),this._renderService.dimensions.css.canvas.width-1),e[1]=Math.min(Math.max(e[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(e[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(e[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(e[0]),y:Math.floor(e[1])}}};r.MouseService=f=h([u(0,o.IRenderService),u(1,o.ICharSizeService)],f)},3230:function(E,r,n){var h=this&&this.__decorate||function(a,l,v,m){var c,p=arguments.length,b=p<3?l:m===null?m=Object.getOwnPropertyDescriptor(l,v):m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,l,v,m);else for(var L=a.length-1;L>=0;L--)(c=a[L])&&(b=(p<3?c(b):p>3?c(l,v,b):c(l,v))||b);return p>3&&b&&Object.defineProperty(l,v,b),b},u=this&&this.__param||function(a,l){return function(v,m){l(v,m,a)}};Object.defineProperty(r,"__esModule",{value:!0}),r.RenderService=void 0;let o=n(3656),d=n(6193),f=n(5596),g=n(4725),_=n(8460),e=n(844),s=n(7226),t=n(2585),i=r.RenderService=class extends e.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(a,l,v,m,c,p,b,L){if(super(),this._rowCount=a,this._charSizeService=m,this._renderer=this.register(new e.MutableDisposable),this._pausedResizeTask=new s.DebouncedIdleTask,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 _.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new _.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new _.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new _.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new d.RenderDebouncer(b.window,(w,D)=>this._renderRows(w,D)),this.register(this._renderDebouncer),this._screenDprMonitor=new f.ScreenDprMonitor(b.window),this._screenDprMonitor.setListener(()=>this.handleDevicePixelRatioChange()),this.register(this._screenDprMonitor),this.register(p.onResize(()=>this._fullRefresh())),this.register(p.buffers.onBufferActivate(()=>{var w;return(w=this._renderer.value)===null||w===void 0?void 0:w.clear()})),this.register(v.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(c.onDecorationRegistered(()=>this._fullRefresh())),this.register(c.onDecorationRemoved(()=>this._fullRefresh())),this.register(v.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio"],()=>{this.clear(),this.handleResize(p.cols,p.rows),this._fullRefresh()})),this.register(v.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(p.buffer.y,p.buffer.y,!0))),this.register((0,o.addDisposableDomListener)(b.window,"resize",()=>this.handleDevicePixelRatioChange())),this.register(L.onChangeColors(()=>this._fullRefresh())),"IntersectionObserver"in b.window){let w=new b.window.IntersectionObserver(D=>this._handleIntersectionChange(D[D.length-1]),{threshold:0});w.observe(l),this.register({dispose:()=>w.disconnect()})}}_handleIntersectionChange(a){this._isPaused=a.isIntersecting===void 0?a.intersectionRatio===0:!a.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(a,l,v=!1){this._isPaused?this._needsFullRefresh=!0:(v||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(a,l,this._rowCount))}_renderRows(a,l){this._renderer.value&&(a=Math.min(a,this._rowCount-1),l=Math.min(l,this._rowCount-1),this._renderer.value.renderRows(a,l),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:a,end:l}),this._onRender.fire({start:a,end:l}),this._isNextRenderRedrawOnly=!0)}resize(a,l){this._rowCount=l,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(a){this._renderer.value=a,this._renderer.value.onRequestRedraw(l=>this.refreshRows(l.start,l.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh()}addRefreshCallback(a){return this._renderDebouncer.addRefreshCallback(a)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var a,l;this._renderer.value&&((l=(a=this._renderer.value).clearTextureAtlas)===null||l===void 0||l.call(a),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(a,l){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value.handleResize(a,l)):this._renderer.value.handleResize(a,l),this._fullRefresh())}handleCharSizeChanged(){var a;(a=this._renderer.value)===null||a===void 0||a.handleCharSizeChanged()}handleBlur(){var a;(a=this._renderer.value)===null||a===void 0||a.handleBlur()}handleFocus(){var a;(a=this._renderer.value)===null||a===void 0||a.handleFocus()}handleSelectionChanged(a,l,v){var m;this._selectionState.start=a,this._selectionState.end=l,this._selectionState.columnSelectMode=v,(m=this._renderer.value)===null||m===void 0||m.handleSelectionChanged(a,l,v)}handleCursorMove(){var a;(a=this._renderer.value)===null||a===void 0||a.handleCursorMove()}clear(){var a;(a=this._renderer.value)===null||a===void 0||a.clear()}};r.RenderService=i=h([u(2,t.IOptionsService),u(3,g.ICharSizeService),u(4,t.IDecorationService),u(5,t.IBufferService),u(6,g.ICoreBrowserService),u(7,g.IThemeService)],i)},9312:function(E,r,n){var h=this&&this.__decorate||function(c,p,b,L){var w,D=arguments.length,O=D<3?p:L===null?L=Object.getOwnPropertyDescriptor(p,b):L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(c,p,b,L);else for(var I=c.length-1;I>=0;I--)(w=c[I])&&(O=(D<3?w(O):D>3?w(p,b,O):w(p,b))||O);return D>3&&O&&Object.defineProperty(p,b,O),O},u=this&&this.__param||function(c,p){return function(b,L){p(b,L,c)}};Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionService=void 0;let o=n(9806),d=n(9504),f=n(456),g=n(4725),_=n(8460),e=n(844),s=n(6114),t=n(4841),i=n(511),a=n(2585),l="\xA0",v=new RegExp(l,"g"),m=r.SelectionService=class extends e.Disposable{constructor(c,p,b,L,w,D,O,I,W){super(),this._element=c,this._screenElement=p,this._linkifier=b,this._bufferService=L,this._coreService=w,this._mouseService=D,this._optionsService=O,this._renderService=I,this._coreBrowserService=W,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new i.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new _.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new _.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new _.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new _.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=H=>this._handleMouseMove(H),this._mouseUpListener=H=>this._handleMouseUp(H),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(H=>this._handleTrim(H)),this.register(this._bufferService.buffers.onBufferActivate(H=>this._handleBufferActivate(H))),this.enable(),this._model=new f.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,e.toDisposable)(()=>{this._removeMouseDownListeners()}))}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 c=this._model.finalSelectionStart,p=this._model.finalSelectionEnd;return!(!c||!p||c[0]===p[0]&&c[1]===p[1])}get selectionText(){let c=this._model.finalSelectionStart,p=this._model.finalSelectionEnd;if(!c||!p)return"";let b=this._bufferService.buffer,L=[];if(this._activeSelectionMode===3){if(c[0]===p[0])return"";let w=c[0]<p[0]?c[0]:p[0],D=c[0]<p[0]?p[0]:c[0];for(let O=c[1];O<=p[1];O++){let I=b.translateBufferLineToString(O,!0,w,D);L.push(I)}}else{let w=c[1]===p[1]?p[0]:void 0;L.push(b.translateBufferLineToString(c[1],!0,c[0],w));for(let D=c[1]+1;D<=p[1]-1;D++){let O=b.lines.get(D),I=b.translateBufferLineToString(D,!0);O?.isWrapped?L[L.length-1]+=I:L.push(I)}if(c[1]!==p[1]){let D=b.lines.get(p[1]),O=b.translateBufferLineToString(p[1],!0,0,p[0]);D&&D.isWrapped?L[L.length-1]+=O:L.push(O)}}return L.map(w=>w.replace(v," ")).join(s.isWindows?`\r
`:`
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(c){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),s.isLinux&&c&&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(c){let p=this._getMouseBufferCoords(c),b=this._model.finalSelectionStart,L=this._model.finalSelectionEnd;return!!(b&&L&&p)&&this._areCoordsInSelection(p,b,L)}isCellInSelection(c,p){let b=this._model.finalSelectionStart,L=this._model.finalSelectionEnd;return!(!b||!L)&&this._areCoordsInSelection([c,p],b,L)}_areCoordsInSelection(c,p,b){return c[1]>p[1]&&c[1]<b[1]||p[1]===b[1]&&c[1]===p[1]&&c[0]>=p[0]&&c[0]<b[0]||p[1]<b[1]&&c[1]===b[1]&&c[0]<b[0]||p[1]<b[1]&&c[1]===p[1]&&c[0]>=p[0]}_selectWordAtCursor(c,p){var b,L;let w=(L=(b=this._linkifier.currentLink)===null||b===void 0?void 0:b.link)===null||L===void 0?void 0:L.range;if(w)return this._model.selectionStart=[w.start.x-1,w.start.y-1],this._model.selectionStartLength=(0,t.getRangeLength)(w,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let D=this._getMouseBufferCoords(c);return!!D&&(this._selectWordAt(D,p),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(c,p){this._model.clearSelection(),c=Math.max(c,0),p=Math.min(p,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,c],this._model.selectionEnd=[this._bufferService.cols,p],this.refresh(),this._onSelectionChange.fire()}_handleTrim(c){this._model.handleTrim(c)&&this.refresh()}_getMouseBufferCoords(c){let p=this._mouseService.getCoords(c,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(p)return p[0]--,p[1]--,p[1]+=this._bufferService.buffer.ydisp,p}_getMouseEventScrollAmount(c){let p=(0,o.getCoordsRelativeToElement)(this._coreBrowserService.window,c,this._screenElement)[1],b=this._renderService.dimensions.css.canvas.height;return p>=0&&p<=b?0:(p>b&&(p-=b),p=Math.min(Math.max(p,-50),50),p/=50,p/Math.abs(p)+Math.round(14*p))}shouldForceSelection(c){return s.isMac?c.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:c.shiftKey}handleMouseDown(c){if(this._mouseDownTimeStamp=c.timeStamp,(c.button!==2||!this.hasSelection)&&c.button===0){if(!this._enabled){if(!this.shouldForceSelection(c))return;c.stopPropagation()}c.preventDefault(),this._dragScrollAmount=0,this._enabled&&c.shiftKey?this._handleIncrementalClick(c):c.detail===1?this._handleSingleClick(c):c.detail===2?this._handleDoubleClick(c):c.detail===3&&this._handleTripleClick(c),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(),50)}_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(c){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(c))}_handleSingleClick(c){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(c)?3:0,this._model.selectionStart=this._getMouseBufferCoords(c),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let p=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);p&&p.length!==this._model.selectionStart[0]&&p.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(c){this._selectWordAtCursor(c,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(c){let p=this._getMouseBufferCoords(c);p&&(this._activeSelectionMode=2,this._selectLineAt(p[1]))}shouldColumnSelect(c){return c.altKey&&!(s.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(c){if(c.stopImmediatePropagation(),!this._model.selectionStart)return;let p=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(c),!this._model.selectionEnd)return void this.refresh(!0);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(c),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let b=this._bufferService.buffer;if(this._model.selectionEnd[1]<b.lines.length){let L=b.lines.get(this._model.selectionEnd[1]);L&&L.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]++}p&&p[0]===this._model.selectionEnd[0]&&p[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 c=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(c.ydisp+this._bufferService.rows,c.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=c.ydisp),this.refresh()}}_handleMouseUp(c){let p=c.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&p<500&&c.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let b=this._mouseService.getCoords(c,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(b&&b[0]!==void 0&&b[1]!==void 0){let L=(0,d.moveToCellSequence)(b[0]-1,b[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(L,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let c=this._model.finalSelectionStart,p=this._model.finalSelectionEnd,b=!(!c||!p||c[0]===p[0]&&c[1]===p[1]);b?c&&p&&(this._oldSelectionStart&&this._oldSelectionEnd&&c[0]===this._oldSelectionStart[0]&&c[1]===this._oldSelectionStart[1]&&p[0]===this._oldSelectionEnd[0]&&p[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(c,p,b)):this._oldHasSelection&&this._fireOnSelectionChange(c,p,b)}_fireOnSelectionChange(c,p,b){this._oldSelectionStart=c,this._oldSelectionEnd=p,this._oldHasSelection=b,this._onSelectionChange.fire()}_handleBufferActivate(c){this.clearSelection(),this._trimListener.dispose(),this._trimListener=c.activeBuffer.lines.onTrim(p=>this._handleTrim(p))}_convertViewportColToCharacterIndex(c,p){let b=p;for(let L=0;p>=L;L++){let w=c.loadCell(L,this._workCell).getChars().length;this._workCell.getWidth()===0?b--:w>1&&p!==L&&(b+=w-1)}return b}setSelection(c,p,b){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[c,p],this._model.selectionStartLength=b,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(c){this._isClickInSelection(c)||(this._selectWordAtCursor(c,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(c,p,b=!0,L=!0){if(c[0]>=this._bufferService.cols)return;let w=this._bufferService.buffer,D=w.lines.get(c[1]);if(!D)return;let O=w.translateBufferLineToString(c[1],!1),I=this._convertViewportColToCharacterIndex(D,c[0]),W=I,H=c[0]-I,C=0,y=0,k=0,T=0;if(O.charAt(I)===" "){for(;I>0&&O.charAt(I-1)===" ";)I--;for(;W<O.length&&O.charAt(W+1)===" ";)W++}else{let z=c[0],$=c[0];D.getWidth(z)===0&&(C++,z--),D.getWidth($)===2&&(y++,$++);let X=D.getString($).length;for(X>1&&(T+=X-1,W+=X-1);z>0&&I>0&&!this._isCharWordSeparator(D.loadCell(z-1,this._workCell));){D.loadCell(z-1,this._workCell);let S=this._workCell.getChars().length;this._workCell.getWidth()===0?(C++,z--):S>1&&(k+=S-1,I-=S-1),I--,z--}for(;$<D.length&&W+1<O.length&&!this._isCharWordSeparator(D.loadCell($+1,this._workCell));){D.loadCell($+1,this._workCell);let S=this._workCell.getChars().length;this._workCell.getWidth()===2?(y++,$++):S>1&&(T+=S-1,W+=S-1),W++,$++}}W++;let N=I+H-C+k,U=Math.min(this._bufferService.cols,W-I+C+y-k-T);if(p||O.slice(I,W).trim()!==""){if(b&&N===0&&D.getCodePoint(0)!==32){let z=w.lines.get(c[1]-1);if(z&&D.isWrapped&&z.getCodePoint(this._bufferService.cols-1)!==32){let $=this._getWordAt([this._bufferService.cols-1,c[1]-1],!1,!0,!1);if($){let X=this._bufferService.cols-$.start;N-=X,U+=X}}}if(L&&N+U===this._bufferService.cols&&D.getCodePoint(this._bufferService.cols-1)!==32){let z=w.lines.get(c[1]+1);if(z?.isWrapped&&z.getCodePoint(0)!==32){let $=this._getWordAt([0,c[1]+1],!1,!1,!0);$&&(U+=$.length)}}return{start:N,length:U}}}_selectWordAt(c,p){let b=this._getWordAt(c,p);if(b){for(;b.start<0;)b.start+=this._bufferService.cols,c[1]--;this._model.selectionStart=[b.start,c[1]],this._model.selectionStartLength=b.length}}_selectToWordAt(c){let p=this._getWordAt(c,!0);if(p){let b=c[1];for(;p.start<0;)p.start+=this._bufferService.cols,b--;if(!this._model.areSelectionValuesReversed())for(;p.start+p.length>this._bufferService.cols;)p.length-=this._bufferService.cols,b++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?p.start:p.start+p.length,b]}}_isCharWordSeparator(c){return c.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(c.getChars())>=0}_selectLineAt(c){let p=this._bufferService.buffer.getWrappedRangeForLine(c),b={start:{x:0,y:p.first},end:{x:this._bufferService.cols-1,y:p.last}};this._model.selectionStart=[0,p.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,t.getRangeLength)(b,this._bufferService.cols)}};r.SelectionService=m=h([u(3,a.IBufferService),u(4,a.ICoreService),u(5,g.IMouseService),u(6,a.IOptionsService),u(7,g.IRenderService),u(8,g.ICoreBrowserService)],m)},4725:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IThemeService=r.ICharacterJoinerService=r.ISelectionService=r.IRenderService=r.IMouseService=r.ICoreBrowserService=r.ICharSizeService=void 0;let h=n(8343);r.ICharSizeService=(0,h.createDecorator)("CharSizeService"),r.ICoreBrowserService=(0,h.createDecorator)("CoreBrowserService"),r.IMouseService=(0,h.createDecorator)("MouseService"),r.IRenderService=(0,h.createDecorator)("RenderService"),r.ISelectionService=(0,h.createDecorator)("SelectionService"),r.ICharacterJoinerService=(0,h.createDecorator)("CharacterJoinerService"),r.IThemeService=(0,h.createDecorator)("ThemeService")},6731:function(E,r,n){var h=this&&this.__decorate||function(m,c,p,b){var L,w=arguments.length,D=w<3?c:b===null?b=Object.getOwnPropertyDescriptor(c,p):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(m,c,p,b);else for(var O=m.length-1;O>=0;O--)(L=m[O])&&(D=(w<3?L(D):w>3?L(c,p,D):L(c,p))||D);return w>3&&D&&Object.defineProperty(c,p,D),D},u=this&&this.__param||function(m,c){return function(p,b){c(p,b,m)}};Object.defineProperty(r,"__esModule",{value:!0}),r.ThemeService=r.DEFAULT_ANSI_COLORS=void 0;let o=n(7239),d=n(8055),f=n(8460),g=n(844),_=n(2585),e=d.css.toColor("#ffffff"),s=d.css.toColor("#000000"),t=d.css.toColor("#ffffff"),i=d.css.toColor("#000000"),a={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};r.DEFAULT_ANSI_COLORS=Object.freeze((()=>{let m=[d.css.toColor("#2e3436"),d.css.toColor("#cc0000"),d.css.toColor("#4e9a06"),d.css.toColor("#c4a000"),d.css.toColor("#3465a4"),d.css.toColor("#75507b"),d.css.toColor("#06989a"),d.css.toColor("#d3d7cf"),d.css.toColor("#555753"),d.css.toColor("#ef2929"),d.css.toColor("#8ae234"),d.css.toColor("#fce94f"),d.css.toColor("#729fcf"),d.css.toColor("#ad7fa8"),d.css.toColor("#34e2e2"),d.css.toColor("#eeeeec")],c=[0,95,135,175,215,255];for(let p=0;p<216;p++){let b=c[p/36%6|0],L=c[p/6%6|0],w=c[p%6];m.push({css:d.channels.toCss(b,L,w),rgba:d.channels.toRgba(b,L,w)})}for(let p=0;p<24;p++){let b=8+10*p;m.push({css:d.channels.toCss(b,b,b),rgba:d.channels.toRgba(b,b,b)})}return m})());let l=r.ThemeService=class extends g.Disposable{get colors(){return this._colors}constructor(m){super(),this._optionsService=m,this._contrastCache=new o.ColorContrastCache,this._halfContrastCache=new o.ColorContrastCache,this._onChangeColors=this.register(new f.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:e,background:s,cursor:t,cursorAccent:i,selectionForeground:void 0,selectionBackgroundTransparent:a,selectionBackgroundOpaque:d.color.blend(s,a),selectionInactiveBackgroundTransparent:a,selectionInactiveBackgroundOpaque:d.color.blend(s,a),ansi:r.DEFAULT_ANSI_COLORS.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)))}_setTheme(m={}){let c=this._colors;if(c.foreground=v(m.foreground,e),c.background=v(m.background,s),c.cursor=v(m.cursor,t),c.cursorAccent=v(m.cursorAccent,i),c.selectionBackgroundTransparent=v(m.selectionBackground,a),c.selectionBackgroundOpaque=d.color.blend(c.background,c.selectionBackgroundTransparent),c.selectionInactiveBackgroundTransparent=v(m.selectionInactiveBackground,c.selectionBackgroundTransparent),c.selectionInactiveBackgroundOpaque=d.color.blend(c.background,c.selectionInactiveBackgroundTransparent),c.selectionForeground=m.selectionForeground?v(m.selectionForeground,d.NULL_COLOR):void 0,c.selectionForeground===d.NULL_COLOR&&(c.selectionForeground=void 0),d.color.isOpaque(c.selectionBackgroundTransparent)&&(c.selectionBackgroundTransparent=d.color.opacity(c.selectionBackgroundTransparent,.3)),d.color.isOpaque(c.selectionInactiveBackgroundTransparent)&&(c.selectionInactiveBackgroundTransparent=d.color.opacity(c.selectionInactiveBackgroundTransparent,.3)),c.ansi=r.DEFAULT_ANSI_COLORS.slice(),c.ansi[0]=v(m.black,r.DEFAULT_ANSI_COLORS[0]),c.ansi[1]=v(m.red,r.DEFAULT_ANSI_COLORS[1]),c.ansi[2]=v(m.green,r.DEFAULT_ANSI_COLORS[2]),c.ansi[3]=v(m.yellow,r.DEFAULT_ANSI_COLORS[3]),c.ansi[4]=v(m.blue,r.DEFAULT_ANSI_COLORS[4]),c.ansi[5]=v(m.magenta,r.DEFAULT_ANSI_COLORS[5]),c.ansi[6]=v(m.cyan,r.DEFAULT_ANSI_COLORS[6]),c.ansi[7]=v(m.white,r.DEFAULT_ANSI_COLORS[7]),c.ansi[8]=v(m.brightBlack,r.DEFAULT_ANSI_COLORS[8]),c.ansi[9]=v(m.brightRed,r.DEFAULT_ANSI_COLORS[9]),c.ansi[10]=v(m.brightGreen,r.DEFAULT_ANSI_COLORS[10]),c.ansi[11]=v(m.brightYellow,r.DEFAULT_ANSI_COLORS[11]),c.ansi[12]=v(m.brightBlue,r.DEFAULT_ANSI_COLORS[12]),c.ansi[13]=v(m.brightMagenta,r.DEFAULT_ANSI_COLORS[13]),c.ansi[14]=v(m.brightCyan,r.DEFAULT_ANSI_COLORS[14]),c.ansi[15]=v(m.brightWhite,r.DEFAULT_ANSI_COLORS[15]),m.extendedAnsi){let p=Math.min(c.ansi.length-16,m.extendedAnsi.length);for(let b=0;b<p;b++)c.ansi[b+16]=v(m.extendedAnsi[b],r.DEFAULT_ANSI_COLORS[b+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(m){this._restoreColor(m),this._onChangeColors.fire(this.colors)}_restoreColor(m){if(m!==void 0)switch(m){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[m]=this._restoreColors.ansi[m]}else for(let c=0;c<this._restoreColors.ansi.length;++c)this._colors.ansi[c]=this._restoreColors.ansi[c]}modifyColors(m){m(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()}}};function v(m,c){if(m!==void 0)try{return d.css.toColor(m)}catch{}return c}r.ThemeService=l=h([u(0,_.IOptionsService)],l)},6349:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CircularList=void 0;let h=n(8460),u=n(844);class o extends u.Disposable{constructor(f){super(),this._maxLength=f,this.onDeleteEmitter=this.register(new h.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new h.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new h.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(f){if(this._maxLength===f)return;let g=new Array(f);for(let _=0;_<Math.min(f,this.length);_++)g[_]=this._array[this._getCyclicIndex(_)];this._array=g,this._maxLength=f,this._startIndex=0}get length(){return this._length}set length(f){if(f>this._length)for(let g=this._length;g<f;g++)this._array[g]=void 0;this._length=f}get(f){return this._array[this._getCyclicIndex(f)]}set(f,g){this._array[this._getCyclicIndex(f)]=g}push(f){this._array[this._getCyclicIndex(this._length)]=f,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new 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(f,g,..._){if(g){for(let e=f;e<this._length-g;e++)this._array[this._getCyclicIndex(e)]=this._array[this._getCyclicIndex(e+g)];this._length-=g,this.onDeleteEmitter.fire({index:f,amount:g})}for(let e=this._length-1;e>=f;e--)this._array[this._getCyclicIndex(e+_.length)]=this._array[this._getCyclicIndex(e)];for(let e=0;e<_.length;e++)this._array[this._getCyclicIndex(f+e)]=_[e];if(_.length&&this.onInsertEmitter.fire({index:f,amount:_.length}),this._length+_.length>this._maxLength){let e=this._length+_.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=_.length}trimStart(f){f>this._length&&(f=this._length),this._startIndex+=f,this._length-=f,this.onTrimEmitter.fire(f)}shiftElements(f,g,_){if(!(g<=0)){if(f<0||f>=this._length)throw new Error("start argument out of range");if(f+_<0)throw new Error("Cannot shift elements in list beyond index 0");if(_>0){for(let s=g-1;s>=0;s--)this.set(f+s+_,this.get(f+s));let e=f+g+_-this._length;if(e>0)for(this._length+=e;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let e=0;e<g;e++)this.set(f+e+_,this.get(f+e))}}_getCyclicIndex(f){return(this._startIndex+f)%this._maxLength}}r.CircularList=o},1439:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0,r.clone=function n(h,u=5){if(typeof h!="object")return h;let o=Array.isArray(h)?[]:{};for(let d in h)o[d]=u<=1?h[d]:h[d]&&n(h[d],u-1);return o}},8055:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let h=n(6114),u=0,o=0,d=0,f=0;var g,_,e,s,t;function i(l){let v=l.toString(16);return v.length<2?"0"+v:v}function a(l,v){return l<v?(v+.05)/(l+.05):(l+.05)/(v+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},function(l){l.toCss=function(v,m,c,p){return p!==void 0?`#${i(v)}${i(m)}${i(c)}${i(p)}`:`#${i(v)}${i(m)}${i(c)}`},l.toRgba=function(v,m,c,p=255){return(v<<24|m<<16|c<<8|p)>>>0}}(g||(r.channels=g={})),function(l){function v(m,c){return f=Math.round(255*c),[u,o,d]=t.toChannels(m.rgba),{css:g.toCss(u,o,d,f),rgba:g.toRgba(u,o,d,f)}}l.blend=function(m,c){if(f=(255&c.rgba)/255,f===1)return{css:c.css,rgba:c.rgba};let p=c.rgba>>24&255,b=c.rgba>>16&255,L=c.rgba>>8&255,w=m.rgba>>24&255,D=m.rgba>>16&255,O=m.rgba>>8&255;return u=w+Math.round((p-w)*f),o=D+Math.round((b-D)*f),d=O+Math.round((L-O)*f),{css:g.toCss(u,o,d),rgba:g.toRgba(u,o,d)}},l.isOpaque=function(m){return(255&m.rgba)==255},l.ensureContrastRatio=function(m,c,p){let b=t.ensureContrastRatio(m.rgba,c.rgba,p);if(b)return t.toColor(b>>24&255,b>>16&255,b>>8&255)},l.opaque=function(m){let c=(255|m.rgba)>>>0;return[u,o,d]=t.toChannels(c),{css:g.toCss(u,o,d),rgba:c}},l.opacity=v,l.multiplyOpacity=function(m,c){return f=255&m.rgba,v(m,f*c/255)},l.toColorRGB=function(m){return[m.rgba>>24&255,m.rgba>>16&255,m.rgba>>8&255]}}(_||(r.color=_={})),function(l){let v,m;if(!h.isNode){let c=document.createElement("canvas");c.width=1,c.height=1;let p=c.getContext("2d",{willReadFrequently:!0});p&&(v=p,v.globalCompositeOperation="copy",m=v.createLinearGradient(0,0,1,1))}l.toColor=function(c){if(c.match(/#[\da-f]{3,8}/i))switch(c.length){case 4:return u=parseInt(c.slice(1,2).repeat(2),16),o=parseInt(c.slice(2,3).repeat(2),16),d=parseInt(c.slice(3,4).repeat(2),16),t.toColor(u,o,d);case 5:return u=parseInt(c.slice(1,2).repeat(2),16),o=parseInt(c.slice(2,3).repeat(2),16),d=parseInt(c.slice(3,4).repeat(2),16),f=parseInt(c.slice(4,5).repeat(2),16),t.toColor(u,o,d,f);case 7:return{css:c,rgba:(parseInt(c.slice(1),16)<<8|255)>>>0};case 9:return{css:c,rgba:parseInt(c.slice(1),16)>>>0}}let p=c.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(p)return u=parseInt(p[1]),o=parseInt(p[2]),d=parseInt(p[3]),f=Math.round(255*(p[5]===void 0?1:parseFloat(p[5]))),t.toColor(u,o,d,f);if(!v||!m)throw new Error("css.toColor: Unsupported css format");if(v.fillStyle=m,v.fillStyle=c,typeof v.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(v.fillRect(0,0,1,1),[u,o,d,f]=v.getImageData(0,0,1,1).data,f!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:g.toRgba(u,o,d,f),css:c}}}(e||(r.css=e={})),function(l){function v(m,c,p){let b=m/255,L=c/255,w=p/255;return .2126*(b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4))+.7152*(L<=.03928?L/12.92:Math.pow((L+.055)/1.055,2.4))+.0722*(w<=.03928?w/12.92:Math.pow((w+.055)/1.055,2.4))}l.relativeLuminance=function(m){return v(m>>16&255,m>>8&255,255&m)},l.relativeLuminance2=v}(s||(r.rgb=s={})),function(l){function v(c,p,b){let L=c>>24&255,w=c>>16&255,D=c>>8&255,O=p>>24&255,I=p>>16&255,W=p>>8&255,H=a(s.relativeLuminance2(O,I,W),s.relativeLuminance2(L,w,D));for(;H<b&&(O>0||I>0||W>0);)O-=Math.max(0,Math.ceil(.1*O)),I-=Math.max(0,Math.ceil(.1*I)),W-=Math.max(0,Math.ceil(.1*W)),H=a(s.relativeLuminance2(O,I,W),s.relativeLuminance2(L,w,D));return(O<<24|I<<16|W<<8|255)>>>0}function m(c,p,b){let L=c>>24&255,w=c>>16&255,D=c>>8&255,O=p>>24&255,I=p>>16&255,W=p>>8&255,H=a(s.relativeLuminance2(O,I,W),s.relativeLuminance2(L,w,D));for(;H<b&&(O<255||I<255||W<255);)O=Math.min(255,O+Math.ceil(.1*(255-O))),I=Math.min(255,I+Math.ceil(.1*(255-I))),W=Math.min(255,W+Math.ceil(.1*(255-W))),H=a(s.relativeLuminance2(O,I,W),s.relativeLuminance2(L,w,D));return(O<<24|I<<16|W<<8|255)>>>0}l.ensureContrastRatio=function(c,p,b){let L=s.relativeLuminance(c>>8),w=s.relativeLuminance(p>>8);if(a(L,w)<b){if(w<L){let I=v(c,p,b),W=a(L,s.relativeLuminance(I>>8));if(W<b){let H=m(c,p,b);return W>a(L,s.relativeLuminance(H>>8))?I:H}return I}let D=m(c,p,b),O=a(L,s.relativeLuminance(D>>8));if(O<b){let I=v(c,p,b);return O>a(L,s.relativeLuminance(I>>8))?D:I}return D}},l.reduceLuminance=v,l.increaseLuminance=m,l.toChannels=function(c){return[c>>24&255,c>>16&255,c>>8&255,255&c]},l.toColor=function(c,p,b,L){return{css:g.toCss(c,p,b,L),rgba:g.toRgba(c,p,b,L)}}}(t||(r.rgba=t={})),r.toPaddedHex=i,r.contrastRatio=a},8969:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreTerminal=void 0;let h=n(844),u=n(2585),o=n(4348),d=n(7866),f=n(744),g=n(7302),_=n(6975),e=n(8460),s=n(1753),t=n(1480),i=n(7994),a=n(9282),l=n(5435),v=n(5981),m=n(2660),c=!1;class p extends h.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new e.EventEmitter),this._onScroll.event(L=>{var w;(w=this._onScrollApi)===null||w===void 0||w.fire(L.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(L){for(let w in L)this.optionsService.options[w]=L[w]}constructor(L){super(),this._windowsWrappingHeuristics=this.register(new h.MutableDisposable),this._onBinary=this.register(new e.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new e.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new e.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new e.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new e.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new e.EventEmitter),this._instantiationService=new o.InstantiationService,this.optionsService=this.register(new g.OptionsService(L)),this._instantiationService.setService(u.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(f.BufferService)),this._instantiationService.setService(u.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(d.LogService)),this._instantiationService.setService(u.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(_.CoreService)),this._instantiationService.setService(u.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(s.CoreMouseService)),this._instantiationService.setService(u.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(t.UnicodeService)),this._instantiationService.setService(u.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(i.CharsetService),this._instantiationService.setService(u.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(m.OscLinkService),this._instantiationService.setService(u.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new l.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,e.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,e.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,e.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,e.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll(w=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(w=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new v.WriteBuffer((w,D)=>this._inputHandler.parse(w,D))),this.register((0,e.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(L,w){this._writeBuffer.write(L,w)}writeSync(L,w){this._logService.logLevel<=u.LogLevelEnum.WARN&&!c&&(this._logService.warn("writeSync is unreliable and will be removed soon."),c=!0),this._writeBuffer.writeSync(L,w)}resize(L,w){isNaN(L)||isNaN(w)||(L=Math.max(L,f.MINIMUM_COLS),w=Math.max(w,f.MINIMUM_ROWS),this._bufferService.resize(L,w))}scroll(L,w=!1){this._bufferService.scroll(L,w)}scrollLines(L,w,D){this._bufferService.scrollLines(L,w,D)}scrollPages(L){this.scrollLines(L*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(L){let w=L-this._bufferService.buffer.ydisp;w!==0&&this.scrollLines(w)}registerEscHandler(L,w){return this._inputHandler.registerEscHandler(L,w)}registerDcsHandler(L,w){return this._inputHandler.registerDcsHandler(L,w)}registerCsiHandler(L,w){return this._inputHandler.registerCsiHandler(L,w)}registerOscHandler(L,w){return this._inputHandler.registerOscHandler(L,w)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let L=!1,w=this.optionsService.rawOptions.windowsPty;w&&w.buildNumber!==void 0&&w.buildNumber!==void 0?L=w.backend==="conpty"&&w.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(L=!0),L?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let L=[];L.push(this.onLineFeed(a.updateWindowsModeWrappedState.bind(null,this._bufferService))),L.push(this.registerCsiHandler({final:"H"},()=>((0,a.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,h.toDisposable)(()=>{for(let w of L)w.dispose()})}}}r.CoreTerminal=p},8460:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=n=>(this._listeners.push(n),{dispose:()=>{if(!this._disposed){for(let h=0;h<this._listeners.length;h++)if(this._listeners[h]===n)return void this._listeners.splice(h,1)}}})),this._event}fire(n,h){let u=[];for(let o=0;o<this._listeners.length;o++)u.push(this._listeners[o]);for(let o=0;o<u.length;o++)u[o].call(void 0,n,h)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(n,h){return n(u=>h.fire(u))}},5435:function(E,r,n){var h=this&&this.__decorate||function(H,C,y,k){var T,N=arguments.length,U=N<3?C:k===null?k=Object.getOwnPropertyDescriptor(C,y):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(H,C,y,k);else for(var z=H.length-1;z>=0;z--)(T=H[z])&&(U=(N<3?T(U):N>3?T(C,y,U):T(C,y))||U);return N>3&&U&&Object.defineProperty(C,y,U),U},u=this&&this.__param||function(H,C){return function(y,k){C(y,k,H)}};Object.defineProperty(r,"__esModule",{value:!0}),r.InputHandler=r.WindowsOptionsReportType=void 0;let o=n(2584),d=n(7116),f=n(2015),g=n(844),_=n(482),e=n(8437),s=n(8460),t=n(643),i=n(511),a=n(3734),l=n(2585),v=n(6242),m=n(6351),c=n(5941),p={"(":0,")":1,"*":2,"+":3,"-":1,".":2},b=131072;function L(H,C){if(H>24)return C.setWinLines||!1;switch(H){case 1:return!!C.restoreWin;case 2:return!!C.minimizeWin;case 3:return!!C.setWinPosition;case 4:return!!C.setWinSizePixels;case 5:return!!C.raiseWin;case 6:return!!C.lowerWin;case 7:return!!C.refreshWin;case 8:return!!C.setWinSizeChars;case 9:return!!C.maximizeWin;case 10:return!!C.fullscreenWin;case 11:return!!C.getWinState;case 13:return!!C.getWinPosition;case 14:return!!C.getWinSizePixels;case 15:return!!C.getScreenSizePixels;case 16:return!!C.getCellSizePixels;case 18:return!!C.getWinSizeChars;case 19:return!!C.getScreenSizeChars;case 20:return!!C.getIconTitle;case 21:return!!C.getWinTitle;case 22:return!!C.pushTitle;case 23:return!!C.popTitle;case 24:return!!C.setWinLines}return!1}var w;(function(H){H[H.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",H[H.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(w||(r.WindowsOptionsReportType=w={}));let D=0;class O extends g.Disposable{getAttrData(){return this._curAttrData}constructor(C,y,k,T,N,U,z,$,X=new f.EscapeSequenceParser){super(),this._bufferService=C,this._charsetService=y,this._coreService=k,this._logService=T,this._optionsService=N,this._oscLinkService=U,this._coreMouseService=z,this._unicodeService=$,this._parser=X,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new _.StringToUtf32,this._utf8Decoder=new _.Utf8ToUtf32,this._workCell=new i.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=e.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=e.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new s.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new s.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new s.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new s.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new s.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new s.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new s.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new s.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new s.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new s.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new s.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new s.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new s.EventEmitter),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 I(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(S=>this._activeBuffer=S.activeBuffer)),this._parser.setCsiHandlerFallback((S,B)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(S),params:B.toArray()})}),this._parser.setEscHandlerFallback(S=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(S)})}),this._parser.setExecuteHandlerFallback(S=>{this._logService.debug("Unknown EXECUTE code: ",{code:S})}),this._parser.setOscHandlerFallback((S,B,P)=>{this._logService.debug("Unknown OSC code: ",{identifier:S,action:B,data:P})}),this._parser.setDcsHandlerFallback((S,B,P)=>{B==="HOOK"&&(P=P.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(S),action:B,payload:P})}),this._parser.setPrintHandler((S,B,P)=>this.print(S,B,P)),this._parser.registerCsiHandler({final:"@"},S=>this.insertChars(S)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},S=>this.scrollLeft(S)),this._parser.registerCsiHandler({final:"A"},S=>this.cursorUp(S)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},S=>this.scrollRight(S)),this._parser.registerCsiHandler({final:"B"},S=>this.cursorDown(S)),this._parser.registerCsiHandler({final:"C"},S=>this.cursorForward(S)),this._parser.registerCsiHandler({final:"D"},S=>this.cursorBackward(S)),this._parser.registerCsiHandler({final:"E"},S=>this.cursorNextLine(S)),this._parser.registerCsiHandler({final:"F"},S=>this.cursorPrecedingLine(S)),this._parser.registerCsiHandler({final:"G"},S=>this.cursorCharAbsolute(S)),this._parser.registerCsiHandler({final:"H"},S=>this.cursorPosition(S)),this._parser.registerCsiHandler({final:"I"},S=>this.cursorForwardTab(S)),this._parser.registerCsiHandler({final:"J"},S=>this.eraseInDisplay(S,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},S=>this.eraseInDisplay(S,!0)),this._parser.registerCsiHandler({final:"K"},S=>this.eraseInLine(S,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},S=>this.eraseInLine(S,!0)),this._parser.registerCsiHandler({final:"L"},S=>this.insertLines(S)),this._parser.registerCsiHandler({final:"M"},S=>this.deleteLines(S)),this._parser.registerCsiHandler({final:"P"},S=>this.deleteChars(S)),this._parser.registerCsiHandler({final:"S"},S=>this.scrollUp(S)),this._parser.registerCsiHandler({final:"T"},S=>this.scrollDown(S)),this._parser.registerCsiHandler({final:"X"},S=>this.eraseChars(S)),this._parser.registerCsiHandler({final:"Z"},S=>this.cursorBackwardTab(S)),this._parser.registerCsiHandler({final:"`"},S=>this.charPosAbsolute(S)),this._parser.registerCsiHandler({final:"a"},S=>this.hPositionRelative(S)),this._parser.registerCsiHandler({final:"b"},S=>this.repeatPrecedingCharacter(S)),this._parser.registerCsiHandler({final:"c"},S=>this.sendDeviceAttributesPrimary(S)),this._parser.registerCsiHandler({prefix:">",final:"c"},S=>this.sendDeviceAttributesSecondary(S)),this._parser.registerCsiHandler({final:"d"},S=>this.linePosAbsolute(S)),this._parser.registerCsiHandler({final:"e"},S=>this.vPositionRelative(S)),this._parser.registerCsiHandler({final:"f"},S=>this.hVPosition(S)),this._parser.registerCsiHandler({final:"g"},S=>this.tabClear(S)),this._parser.registerCsiHandler({final:"h"},S=>this.setMode(S)),this._parser.registerCsiHandler({prefix:"?",final:"h"},S=>this.setModePrivate(S)),this._parser.registerCsiHandler({final:"l"},S=>this.resetMode(S)),this._parser.registerCsiHandler({prefix:"?",final:"l"},S=>this.resetModePrivate(S)),this._parser.registerCsiHandler({final:"m"},S=>this.charAttributes(S)),this._parser.registerCsiHandler({final:"n"},S=>this.deviceStatus(S)),this._parser.registerCsiHandler({prefix:"?",final:"n"},S=>this.deviceStatusPrivate(S)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},S=>this.softReset(S)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},S=>this.setCursorStyle(S)),this._parser.registerCsiHandler({final:"r"},S=>this.setScrollRegion(S)),this._parser.registerCsiHandler({final:"s"},S=>this.saveCursor(S)),this._parser.registerCsiHandler({final:"t"},S=>this.windowOptions(S)),this._parser.registerCsiHandler({final:"u"},S=>this.restoreCursor(S)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},S=>this.insertColumns(S)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},S=>this.deleteColumns(S)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},S=>this.selectProtected(S)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},S=>this.requestMode(S,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},S=>this.requestMode(S,!1)),this._parser.setExecuteHandler(o.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(o.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(o.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(o.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(o.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(o.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(o.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(o.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(o.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(o.C1.IND,()=>this.index()),this._parser.setExecuteHandler(o.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(o.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new v.OscHandler(S=>(this.setTitle(S),this.setIconName(S),!0))),this._parser.registerOscHandler(1,new v.OscHandler(S=>this.setIconName(S))),this._parser.registerOscHandler(2,new v.OscHandler(S=>this.setTitle(S))),this._parser.registerOscHandler(4,new v.OscHandler(S=>this.setOrReportIndexedColor(S))),this._parser.registerOscHandler(8,new v.OscHandler(S=>this.setHyperlink(S))),this._parser.registerOscHandler(10,new v.OscHandler(S=>this.setOrReportFgColor(S))),this._parser.registerOscHandler(11,new v.OscHandler(S=>this.setOrReportBgColor(S))),this._parser.registerOscHandler(12,new v.OscHandler(S=>this.setOrReportCursorColor(S))),this._parser.registerOscHandler(104,new v.OscHandler(S=>this.restoreIndexedColor(S))),this._parser.registerOscHandler(110,new v.OscHandler(S=>this.restoreFgColor(S))),this._parser.registerOscHandler(111,new v.OscHandler(S=>this.restoreBgColor(S))),this._parser.registerOscHandler(112,new v.OscHandler(S=>this.restoreCursorColor(S))),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 S in d.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:S},()=>this.selectCharset("("+S)),this._parser.registerEscHandler({intermediates:")",final:S},()=>this.selectCharset(")"+S)),this._parser.registerEscHandler({intermediates:"*",final:S},()=>this.selectCharset("*"+S)),this._parser.registerEscHandler({intermediates:"+",final:S},()=>this.selectCharset("+"+S)),this._parser.registerEscHandler({intermediates:"-",final:S},()=>this.selectCharset("-"+S)),this._parser.registerEscHandler({intermediates:".",final:S},()=>this.selectCharset("."+S)),this._parser.registerEscHandler({intermediates:"/",final:S},()=>this.selectCharset("/"+S));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(S=>(this._logService.error("Parsing error: ",S),S)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new m.DcsHandler((S,B)=>this.requestStatusString(S,B)))}_preserveStack(C,y,k,T){this._parseStack.paused=!0,this._parseStack.cursorStartX=C,this._parseStack.cursorStartY=y,this._parseStack.decodedLength=k,this._parseStack.position=T}_logSlowResolvingAsync(C){this._logService.logLevel<=l.LogLevelEnum.WARN&&Promise.race([C,new Promise((y,k)=>setTimeout(()=>k("#SLOW_TIMEOUT"),5e3))]).catch(y=>{if(y!=="#SLOW_TIMEOUT")throw y;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(C,y){let k,T=this._activeBuffer.x,N=this._activeBuffer.y,U=0,z=this._parseStack.paused;if(z){if(k=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,y))return this._logSlowResolvingAsync(k),k;T=this._parseStack.cursorStartX,N=this._parseStack.cursorStartY,this._parseStack.paused=!1,C.length>b&&(U=this._parseStack.position+b)}if(this._logService.logLevel<=l.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof C=="string"?` "${C}"`:` "${Array.prototype.map.call(C,$=>String.fromCharCode($)).join("")}"`),typeof C=="string"?C.split("").map($=>$.charCodeAt(0)):C),this._parseBuffer.length<C.length&&this._parseBuffer.length<b&&(this._parseBuffer=new Uint32Array(Math.min(C.length,b))),z||this._dirtyRowTracker.clearRange(),C.length>b)for(let $=U;$<C.length;$+=b){let X=$+b<C.length?$+b:C.length,S=typeof C=="string"?this._stringDecoder.decode(C.substring($,X),this._parseBuffer):this._utf8Decoder.decode(C.subarray($,X),this._parseBuffer);if(k=this._parser.parse(this._parseBuffer,S))return this._preserveStack(T,N,S,$),this._logSlowResolvingAsync(k),k}else if(!z){let $=typeof C=="string"?this._stringDecoder.decode(C,this._parseBuffer):this._utf8Decoder.decode(C,this._parseBuffer);if(k=this._parser.parse(this._parseBuffer,$))return this._preserveStack(T,N,$,0),this._logSlowResolvingAsync(k),k}this._activeBuffer.x===T&&this._activeBuffer.y===N||this._onCursorMove.fire(),this._onRequestRefreshRows.fire(this._dirtyRowTracker.start,this._dirtyRowTracker.end)}print(C,y,k){let T,N,U=this._charsetService.charset,z=this._optionsService.rawOptions.screenReaderMode,$=this._bufferService.cols,X=this._coreService.decPrivateModes.wraparound,S=this._coreService.modes.insertMode,B=this._curAttrData,P=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&k-y>0&&P.getWidth(this._activeBuffer.x-1)===2&&P.setCellFromCodePoint(this._activeBuffer.x-1,0,1,B.fg,B.bg,B.extended);for(let M=y;M<k;++M){if(T=C[M],N=this._unicodeService.wcwidth(T),T<127&&U){let q=U[String.fromCharCode(T)];q&&(T=q.charCodeAt(0))}if(z&&this._onA11yChar.fire((0,_.stringFromCodePoint)(T)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),N||!this._activeBuffer.x){if(this._activeBuffer.x+N-1>=$){if(X){for(;this._activeBuffer.x<$;)P.setCellFromCodePoint(this._activeBuffer.x++,0,1,B.fg,B.bg,B.extended);this._activeBuffer.x=0,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)}else if(this._activeBuffer.x=$-1,N===2)continue}if(S&&(P.insertCells(this._activeBuffer.x,N,this._activeBuffer.getNullCell(B),B),P.getWidth($-1)===2&&P.setCellFromCodePoint($-1,t.NULL_CELL_CODE,t.NULL_CELL_WIDTH,B.fg,B.bg,B.extended)),P.setCellFromCodePoint(this._activeBuffer.x++,T,N,B.fg,B.bg,B.extended),N>0)for(;--N;)P.setCellFromCodePoint(this._activeBuffer.x++,0,0,B.fg,B.bg,B.extended)}else P.getWidth(this._activeBuffer.x-1)?P.addCodepointToCell(this._activeBuffer.x-1,T):P.addCodepointToCell(this._activeBuffer.x-2,T)}k-y>0&&(P.loadCell(this._activeBuffer.x-1,this._workCell),this._workCell.getWidth()===2||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),this._activeBuffer.x<$&&k-y>0&&P.getWidth(this._activeBuffer.x)===0&&!P.hasContent(this._activeBuffer.x)&&P.setCellFromCodePoint(this._activeBuffer.x,0,1,B.fg,B.bg,B.extended),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(C,y){return C.final!=="t"||C.prefix||C.intermediates?this._parser.registerCsiHandler(C,y):this._parser.registerCsiHandler(C,k=>!L(k.params[0],this._optionsService.rawOptions.windowOptions)||y(k))}registerDcsHandler(C,y){return this._parser.registerDcsHandler(C,new m.DcsHandler(y))}registerEscHandler(C,y){return this._parser.registerEscHandler(C,y)}registerOscHandler(C,y){return this._parser.registerOscHandler(C,new v.OscHandler(y))}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(){var C;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&&(!((C=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))===null||C===void 0)&&C.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let y=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);y.hasWidth(this._activeBuffer.x)&&!y.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let C=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-C),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(C=this._bufferService.cols-1){this._activeBuffer.x=Math.min(C,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(C,y){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=C,this._activeBuffer.y=this._activeBuffer.scrollTop+y):(this._activeBuffer.x=C,this._activeBuffer.y=y),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(C,y){this._restrictCursor(),this._setCursor(this._activeBuffer.x+C,this._activeBuffer.y+y)}cursorUp(C){let y=this._activeBuffer.y-this._activeBuffer.scrollTop;return y>=0?this._moveCursor(0,-Math.min(y,C.params[0]||1)):this._moveCursor(0,-(C.params[0]||1)),!0}cursorDown(C){let y=this._activeBuffer.scrollBottom-this._activeBuffer.y;return y>=0?this._moveCursor(0,Math.min(y,C.params[0]||1)):this._moveCursor(0,C.params[0]||1),!0}cursorForward(C){return this._moveCursor(C.params[0]||1,0),!0}cursorBackward(C){return this._moveCursor(-(C.params[0]||1),0),!0}cursorNextLine(C){return this.cursorDown(C),this._activeBuffer.x=0,!0}cursorPrecedingLine(C){return this.cursorUp(C),this._activeBuffer.x=0,!0}cursorCharAbsolute(C){return this._setCursor((C.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(C){return this._setCursor(C.length>=2?(C.params[1]||1)-1:0,(C.params[0]||1)-1),!0}charPosAbsolute(C){return this._setCursor((C.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(C){return this._moveCursor(C.params[0]||1,0),!0}linePosAbsolute(C){return this._setCursor(this._activeBuffer.x,(C.params[0]||1)-1),!0}vPositionRelative(C){return this._moveCursor(0,C.params[0]||1),!0}hVPosition(C){return this.cursorPosition(C),!0}tabClear(C){let y=C.params[0];return y===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:y===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(C){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let y=C.params[0]||1;for(;y--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(C){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let y=C.params[0]||1;for(;y--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(C){let y=C.params[0];return y===1&&(this._curAttrData.bg|=536870912),y!==2&&y!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(C,y,k,T=!1,N=!1){let U=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);U.replaceCells(y,k,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData(),N),T&&(U.isWrapped=!1)}_resetBufferLine(C,y=!1){let k=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);k&&(k.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),y),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+C),k.isWrapped=!1)}eraseInDisplay(C,y=!1){let k;switch(this._restrictCursor(this._bufferService.cols),C.params[0]){case 0:for(k=this._activeBuffer.y,this._dirtyRowTracker.markDirty(k),this._eraseInBufferLine(k++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,y);k<this._bufferService.rows;k++)this._resetBufferLine(k,y);this._dirtyRowTracker.markDirty(k);break;case 1:for(k=this._activeBuffer.y,this._dirtyRowTracker.markDirty(k),this._eraseInBufferLine(k,0,this._activeBuffer.x+1,!0,y),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(k+1).isWrapped=!1);k--;)this._resetBufferLine(k,y);this._dirtyRowTracker.markDirty(0);break;case 2:for(k=this._bufferService.rows,this._dirtyRowTracker.markDirty(k-1);k--;)this._resetBufferLine(k,y);this._dirtyRowTracker.markDirty(0);break;case 3:let T=this._activeBuffer.lines.length-this._bufferService.rows;T>0&&(this._activeBuffer.lines.trimStart(T),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-T,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-T,0),this._onScroll.fire(0))}return!0}eraseInLine(C,y=!1){switch(this._restrictCursor(this._bufferService.cols),C.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,y);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,y);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,y)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(C){this._restrictCursor();let y=C.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let k=this._activeBuffer.ybase+this._activeBuffer.y,T=this._bufferService.rows-1-this._activeBuffer.scrollBottom,N=this._bufferService.rows-1+this._activeBuffer.ybase-T+1;for(;y--;)this._activeBuffer.lines.splice(N-1,1),this._activeBuffer.lines.splice(k,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(C){this._restrictCursor();let y=C.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let k=this._activeBuffer.ybase+this._activeBuffer.y,T;for(T=this._bufferService.rows-1-this._activeBuffer.scrollBottom,T=this._bufferService.rows-1+this._activeBuffer.ybase-T;y--;)this._activeBuffer.lines.splice(k,1),this._activeBuffer.lines.splice(T,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(C){this._restrictCursor();let y=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return y&&(y.insertCells(this._activeBuffer.x,C.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(C){this._restrictCursor();let y=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return y&&(y.deleteCells(this._activeBuffer.x,C.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(C){let y=C.params[0]||1;for(;y--;)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(C){let y=C.params[0]||1;for(;y--;)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(e.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let y=C.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let T=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);T.deleteCells(0,y,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),T.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let y=C.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let T=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);T.insertCells(0,y,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),T.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let y=C.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let T=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);T.insertCells(this._activeBuffer.x,y,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),T.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let y=C.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let T=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);T.deleteCells(this._activeBuffer.x,y,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),T.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(C){this._restrictCursor();let y=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return y&&(y.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(C.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(C){if(!this._parser.precedingCodepoint)return!0;let y=C.params[0]||1,k=new Uint32Array(y);for(let T=0;T<y;++T)k[T]=this._parser.precedingCodepoint;return this.print(k,0,k.length),!0}sendDeviceAttributesPrimary(C){return C.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(o.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(o.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(C){return C.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(o.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(o.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(C.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(o.C0.ESC+"[>83;40003;0c")),!0}_is(C){return(this._optionsService.rawOptions.termName+"").indexOf(C)===0}setMode(C){for(let y=0;y<C.length;y++)switch(C.params[y]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(C){for(let y=0;y<C.length;y++)switch(C.params[y]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,d.DEFAULT_CHARSET),this._charsetService.setgCharset(1,d.DEFAULT_CHARSET),this._charsetService.setgCharset(2,d.DEFAULT_CHARSET),this._charsetService.setgCharset(3,d.DEFAULT_CHARSET);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 1e3: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(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(C){for(let y=0;y<C.length;y++)switch(C.params[y]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(C){for(let y=0;y<C.length;y++)switch(C.params[y]){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 1e3: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:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),C.params[y]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(C,y){let k=this._coreService.decPrivateModes,{activeProtocol:T,activeEncoding:N}=this._coreMouseService,U=this._coreService,{buffers:z,cols:$}=this._bufferService,{active:X,alt:S}=z,B=this._optionsService.rawOptions,P=G=>G?1:2,M=C.params[0];return q=M,j=y?M===2?4:M===4?P(U.modes.insertMode):M===12?3:M===20?P(B.convertEol):0:M===1?P(k.applicationCursorKeys):M===3?B.windowOptions.setWinLines?$===80?2:$===132?1:0:0:M===6?P(k.origin):M===7?P(k.wraparound):M===8?3:M===9?P(T==="X10"):M===12?P(B.cursorBlink):M===25?P(!U.isCursorHidden):M===45?P(k.reverseWraparound):M===66?P(k.applicationKeypad):M===67?4:M===1e3?P(T==="VT200"):M===1002?P(T==="DRAG"):M===1003?P(T==="ANY"):M===1004?P(k.sendFocus):M===1005?4:M===1006?P(N==="SGR"):M===1015?4:M===1016?P(N==="SGR_PIXELS"):M===1048?1:M===47||M===1047||M===1049?P(X===S):M===2004?P(k.bracketedPasteMode):0,U.triggerDataEvent(`${o.C0.ESC}[${y?"":"?"}${q};${j}$y`),!0;var q,j}_updateAttrColor(C,y,k,T,N){return y===2?(C|=50331648,C&=-16777216,C|=a.AttributeData.fromColorRGB([k,T,N])):y===5&&(C&=-50331904,C|=33554432|255&k),C}_extractColor(C,y,k){let T=[0,0,-1,0,0,0],N=0,U=0;do{if(T[U+N]=C.params[y+U],C.hasSubParams(y+U)){let z=C.getSubParams(y+U),$=0;do T[1]===5&&(N=1),T[U+$+1+N]=z[$];while(++$<z.length&&$+U+1+N<T.length);break}if(T[1]===5&&U+N>=2||T[1]===2&&U+N>=5)break;T[1]&&(N=1)}while(++U+y<C.length&&U+N<T.length);for(let z=2;z<T.length;++z)T[z]===-1&&(T[z]=0);switch(T[0]){case 38:k.fg=this._updateAttrColor(k.fg,T[1],T[3],T[4],T[5]);break;case 48:k.bg=this._updateAttrColor(k.bg,T[1],T[3],T[4],T[5]);break;case 58:k.extended=k.extended.clone(),k.extended.underlineColor=this._updateAttrColor(k.extended.underlineColor,T[1],T[3],T[4],T[5])}return U}_processUnderline(C,y){y.extended=y.extended.clone(),(!~C||C>5)&&(C=1),y.extended.underlineStyle=C,y.fg|=268435456,C===0&&(y.fg&=-268435457),y.updateExtended()}_processSGR0(C){C.fg=e.DEFAULT_ATTR_DATA.fg,C.bg=e.DEFAULT_ATTR_DATA.bg,C.extended=C.extended.clone(),C.extended.underlineStyle=0,C.extended.underlineColor&=-67108864,C.updateExtended()}charAttributes(C){if(C.length===1&&C.params[0]===0)return this._processSGR0(this._curAttrData),!0;let y=C.length,k,T=this._curAttrData;for(let N=0;N<y;N++)k=C.params[N],k>=30&&k<=37?(T.fg&=-50331904,T.fg|=16777216|k-30):k>=40&&k<=47?(T.bg&=-50331904,T.bg|=16777216|k-40):k>=90&&k<=97?(T.fg&=-50331904,T.fg|=16777224|k-90):k>=100&&k<=107?(T.bg&=-50331904,T.bg|=16777224|k-100):k===0?this._processSGR0(T):k===1?T.fg|=134217728:k===3?T.bg|=67108864:k===4?(T.fg|=268435456,this._processUnderline(C.hasSubParams(N)?C.getSubParams(N)[0]:1,T)):k===5?T.fg|=536870912:k===7?T.fg|=67108864:k===8?T.fg|=1073741824:k===9?T.fg|=2147483648:k===2?T.bg|=134217728:k===21?this._processUnderline(2,T):k===22?(T.fg&=-134217729,T.bg&=-134217729):k===23?T.bg&=-67108865:k===24?(T.fg&=-268435457,this._processUnderline(0,T)):k===25?T.fg&=-536870913:k===27?T.fg&=-67108865:k===28?T.fg&=-1073741825:k===29?T.fg&=2147483647:k===39?(T.fg&=-67108864,T.fg|=16777215&e.DEFAULT_ATTR_DATA.fg):k===49?(T.bg&=-67108864,T.bg|=16777215&e.DEFAULT_ATTR_DATA.bg):k===38||k===48||k===58?N+=this._extractColor(C,N,T):k===53?T.bg|=1073741824:k===55?T.bg&=-1073741825:k===59?(T.extended=T.extended.clone(),T.extended.underlineColor=-1,T.updateExtended()):k===100?(T.fg&=-67108864,T.fg|=16777215&e.DEFAULT_ATTR_DATA.fg,T.bg&=-67108864,T.bg|=16777215&e.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",k);return!0}deviceStatus(C){switch(C.params[0]){case 5:this._coreService.triggerDataEvent(`${o.C0.ESC}[0n`);break;case 6:let y=this._activeBuffer.y+1,k=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${o.C0.ESC}[${y};${k}R`)}return!0}deviceStatusPrivate(C){if(C.params[0]===6){let y=this._activeBuffer.y+1,k=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${o.C0.ESC}[?${y};${k}R`)}return!0}softReset(C){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=e.DEFAULT_ATTR_DATA.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(C){let y=C.params[0]||1;switch(y){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}let k=y%2==1;return this._optionsService.options.cursorBlink=k,!0}setScrollRegion(C){let y=C.params[0]||1,k;return(C.length<2||(k=C.params[1])>this._bufferService.rows||k===0)&&(k=this._bufferService.rows),k>y&&(this._activeBuffer.scrollTop=y-1,this._activeBuffer.scrollBottom=k-1,this._setCursor(0,0)),!0}windowOptions(C){if(!L(C.params[0],this._optionsService.rawOptions.windowOptions))return!0;let y=C.length>1?C.params[1]:0;switch(C.params[0]){case 14:y!==2&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${o.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:y!==0&&y!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),y!==0&&y!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:y!==0&&y!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),y!==0&&y!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(C){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(C){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(C){return this._windowTitle=C,this._onTitleChange.fire(C),!0}setIconName(C){return this._iconName=C,!0}setOrReportIndexedColor(C){let y=[],k=C.split(";");for(;k.length>1;){let T=k.shift(),N=k.shift();if(/^\d+$/.exec(T)){let U=parseInt(T);if(W(U))if(N==="?")y.push({type:0,index:U});else{let z=(0,c.parseColor)(N);z&&y.push({type:1,index:U,color:z})}}}return y.length&&this._onColor.fire(y),!0}setHyperlink(C){let y=C.split(";");return!(y.length<2)&&(y[1]?this._createHyperlink(y[0],y[1]):!y[0]&&this._finishHyperlink())}_createHyperlink(C,y){this._getCurrentLinkId()&&this._finishHyperlink();let k=C.split(":"),T,N=k.findIndex(U=>U.startsWith("id="));return N!==-1&&(T=k[N].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:T,uri:y}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(C,y){let k=C.split(";");for(let T=0;T<k.length&&!(y>=this._specialColors.length);++T,++y)if(k[T]==="?")this._onColor.fire([{type:0,index:this._specialColors[y]}]);else{let N=(0,c.parseColor)(k[T]);N&&this._onColor.fire([{type:1,index:this._specialColors[y],color:N}])}return!0}setOrReportFgColor(C){return this._setOrReportSpecialColor(C,0)}setOrReportBgColor(C){return this._setOrReportSpecialColor(C,1)}setOrReportCursorColor(C){return this._setOrReportSpecialColor(C,2)}restoreIndexedColor(C){if(!C)return this._onColor.fire([{type:2}]),!0;let y=[],k=C.split(";");for(let T=0;T<k.length;++T)if(/^\d+$/.exec(k[T])){let N=parseInt(k[T]);W(N)&&y.push({type:2,index:N})}return y.length&&this._onColor.fire(y),!0}restoreFgColor(C){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(C){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(C){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,d.DEFAULT_CHARSET),!0}selectCharset(C){return C.length!==2?(this.selectDefaultCharset(),!0):(C[0]==="/"||this._charsetService.setgCharset(p[C[0]],d.CHARSETS[C[1]]||d.DEFAULT_CHARSET),!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 C=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,C,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=e.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=e.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(C){return this._charsetService.setgLevel(C),!0}screenAlignmentPattern(){let C=new i.CellData;C.content=4194373,C.fg=this._curAttrData.fg,C.bg=this._curAttrData.bg,this._setCursor(0,0);for(let y=0;y<this._bufferService.rows;++y){let k=this._activeBuffer.ybase+this._activeBuffer.y+y,T=this._activeBuffer.lines.get(k);T&&(T.fill(C),T.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(C,y){let k=this._bufferService.buffer,T=this._optionsService.rawOptions;return(N=>(this._coreService.triggerDataEvent(`${o.C0.ESC}${N}${o.C0.ESC}\\`),!0))(C==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:C==='"p'?'P1$r61;1"p':C==="r"?`P1$r${k.scrollTop+1};${k.scrollBottom+1}r`:C==="m"?"P1$r0m":C===" q"?`P1$r${{block:2,underline:4,bar:6}[T.cursorStyle]-(T.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(C,y){this._dirtyRowTracker.markRangeDirty(C,y)}}r.InputHandler=O;let I=class{constructor(H){this._bufferService=H,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(H){H<this.start?this.start=H:H>this.end&&(this.end=H)}markRangeDirty(H,C){H>C&&(D=H,H=C,C=D),H<this.start&&(this.start=H),C>this.end&&(this.end=C)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function W(H){return 0<=H&&H<256}I=h([u(0,l.IBufferService)],I)},844:(E,r)=>{function n(h){for(let u of h)u.dispose();h.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let h of this._disposables)h.dispose();this._disposables.length=0}register(h){return this._disposables.push(h),h}unregister(h){let u=this._disposables.indexOf(h);u!==-1&&this._disposables.splice(u,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(h){var u;this._isDisposed||h===this._value||((u=this._value)===null||u===void 0||u.dispose(),this._value=h)}clear(){this.value=void 0}dispose(){var h;this._isDisposed=!0,(h=this._value)===null||h===void 0||h.dispose(),this._value=void 0}},r.toDisposable=function(h){return{dispose:h}},r.disposeArray=n,r.getDisposeArrayDisposable=function(h){return{dispose:()=>n(h)}}},1505:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class n{constructor(){this._data={}}set(u,o,d){this._data[u]||(this._data[u]={}),this._data[u][o]=d}get(u,o){return this._data[u]?this._data[u][o]:void 0}clear(){this._data={}}}r.TwoKeyMap=n,r.FourKeyMap=class{constructor(){this._data=new n}set(h,u,o,d,f){this._data.get(h,u)||this._data.set(h,u,new n),this._data.get(h,u).set(o,d,f)}get(h,u,o,d){var f;return(f=this._data.get(h,u))===null||f===void 0?void 0:f.get(o,d)}clear(){this._data.clear()}}},6114:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof navigator>"u";let n=r.isNode?"node":navigator.userAgent,h=r.isNode?"node":navigator.platform;r.isFirefox=n.includes("Firefox"),r.isLegacyEdge=n.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(n),r.getSafariVersion=function(){if(!r.isSafari)return 0;let u=n.match(/Version\/(\d+)/);return u===null||u.length<2?0:parseInt(u[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(h),r.isIpad=h==="iPad",r.isIphone=h==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(h),r.isLinux=h.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(n)},6106:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SortedList=void 0;let n=0;r.SortedList=class{constructor(h){this._getKey=h,this._array=[]}clear(){this._array.length=0}insert(h){this._array.length!==0?(n=this._search(this._getKey(h)),this._array.splice(n,0,h)):this._array.push(h)}delete(h){if(this._array.length===0)return!1;let u=this._getKey(h);if(u===void 0||(n=this._search(u),n===-1)||this._getKey(this._array[n])!==u)return!1;do if(this._array[n]===h)return this._array.splice(n,1),!0;while(++n<this._array.length&&this._getKey(this._array[n])===u);return!1}*getKeyIterator(h){if(this._array.length!==0&&(n=this._search(h),!(n<0||n>=this._array.length)&&this._getKey(this._array[n])===h))do yield this._array[n];while(++n<this._array.length&&this._getKey(this._array[n])===h)}forEachByKey(h,u){if(this._array.length!==0&&(n=this._search(h),!(n<0||n>=this._array.length)&&this._getKey(this._array[n])===h))do u(this._array[n]);while(++n<this._array.length&&this._getKey(this._array[n])===h)}values(){return[...this._array].values()}_search(h){let u=0,o=this._array.length-1;for(;o>=u;){let d=u+o>>1,f=this._getKey(this._array[d]);if(f>h)o=d-1;else{if(!(f<h)){for(;d>0&&this._getKey(this._array[d-1])===h;)d--;return d}u=d+1}}return u}}},7226:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;let h=n(6114);class u{constructor(){this._tasks=[],this._i=0}enqueue(f){this._tasks.push(f),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(f){this._idleCallback=void 0;let g=0,_=0,e=f.timeRemaining(),s=0;for(;this._i<this._tasks.length;){if(g=Date.now(),this._tasks[this._i]()||this._i++,g=Math.max(1,Date.now()-g),_=Math.max(g,_),s=f.timeRemaining(),1.5*_>s)return e-g<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(e-g))}ms`),void this._start();e=s}this.clear()}}class o extends u{_requestCallback(f){return setTimeout(()=>f(this._createDeadline(16)))}_cancelCallback(f){clearTimeout(f)}_createDeadline(f){let g=Date.now()+f;return{timeRemaining:()=>Math.max(0,g-Date.now())}}}r.PriorityTaskQueue=o,r.IdleTaskQueue=!h.isNode&&"requestIdleCallback"in window?class extends u{_requestCallback(d){return requestIdleCallback(d)}_cancelCallback(d){cancelIdleCallback(d)}}:o,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(d){this._queue.clear(),this._queue.enqueue(d)}flush(){this._queue.flush()}}},9282:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.updateWindowsModeWrappedState=void 0;let h=n(643);r.updateWindowsModeWrappedState=function(u){let o=u.buffer.lines.get(u.buffer.ybase+u.buffer.y-1),d=o?.get(u.cols-1),f=u.buffer.lines.get(u.buffer.ybase+u.buffer.y);f&&d&&(f.isWrapped=d[h.CHAR_DATA_CODE_INDEX]!==h.NULL_CELL_CODE&&d[h.CHAR_DATA_CODE_INDEX]!==h.WHITESPACE_CELL_CODE)}},3734:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class n{constructor(){this.fg=0,this.bg=0,this.extended=new h}static toColorRGB(o){return[o>>>16&255,o>>>8&255,255&o]}static fromColorRGB(o){return(255&o[0])<<16|(255&o[1])<<8|255&o[2]}clone(){let o=new n;return o.fg=this.fg,o.bg=this.bg,o.extended=this.extended.clone(),o}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}}r.AttributeData=n;class h{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(o){this._ext=o}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(o){this._ext&=-469762049,this._ext|=o<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(o){this._ext&=-67108864,this._ext|=67108863&o}get urlId(){return this._urlId}set urlId(o){this._urlId=o}constructor(o=0,d=0){this._ext=0,this._urlId=0,this._ext=o,this._urlId=d}clone(){return new h(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=h},9092:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Buffer=r.MAX_BUFFER_SIZE=void 0;let h=n(6349),u=n(7226),o=n(3734),d=n(8437),f=n(4634),g=n(511),_=n(643),e=n(4863),s=n(7116);r.MAX_BUFFER_SIZE=4294967295,r.Buffer=class{constructor(t,i,a){this._hasScrollback=t,this._optionsService=i,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=d.DEFAULT_ATTR_DATA.clone(),this.savedCharset=s.DEFAULT_CHARSET,this.markers=[],this._nullCell=g.CellData.fromCharData([0,_.NULL_CELL_CHAR,_.NULL_CELL_WIDTH,_.NULL_CELL_CODE]),this._whitespaceCell=g.CellData.fromCharData([0,_.WHITESPACE_CELL_CHAR,_.WHITESPACE_CELL_WIDTH,_.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new u.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new h.CircularList(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 o.ExtendedAttrs),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 o.ExtendedAttrs),this._whitespaceCell}getBlankLine(t,i){return new d.BufferLine(this._bufferService.cols,this.getNullCell(t),i)}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 i=t+this._optionsService.rawOptions.scrollback;return i>r.MAX_BUFFER_SIZE?r.MAX_BUFFER_SIZE:i}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=d.DEFAULT_ATTR_DATA);let i=this._rows;for(;i--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new h.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,i){let a=this.getNullCell(d.DEFAULT_ATTR_DATA),l=0,v=this._getCorrectBufferLength(i);if(v>this.lines.maxLength&&(this.lines.maxLength=v),this.lines.length>0){if(this._cols<t)for(let c=0;c<this.lines.length;c++)l+=+this.lines.get(c).resize(t,a);let m=0;if(this._rows<i)for(let c=this._rows;c<i;c++)this.lines.length<i+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new d.BufferLine(t,a)):this.ybase>0&&this.lines.length<=this.ybase+this.y+m+1?(this.ybase--,m++,this.ydisp>0&&this.ydisp--):this.lines.push(new d.BufferLine(t,a)));else for(let c=this._rows;c>i;c--)this.lines.length>i+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(v<this.lines.maxLength){let c=this.lines.length-v;c>0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=v}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,i-1),m&&(this.y+=m),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=i-1,this._isReflowEnabled&&(this._reflow(t,i),this._cols>t))for(let m=0;m<this.lines.length;m++)l+=+this.lines.get(m).resize(t,a);this._cols=t,this._rows=i,this._memoryCleanupQueue.clear(),l>.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 i=0;for(;this._memoryCleanupPosition<this.lines.length;)if(i+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),i>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,i){this._cols!==t&&(t>this._cols?this._reflowLarger(t,i):this._reflowSmaller(t,i))}_reflowLarger(t,i){let a=(0,f.reflowLargerGetLinesToRemove)(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(d.DEFAULT_ATTR_DATA));if(a.length>0){let l=(0,f.reflowLargerCreateNewLayout)(this.lines,a);(0,f.reflowLargerApplyNewLayout)(this.lines,l.layout),this._reflowLargerAdjustViewport(t,i,l.countRemoved)}}_reflowLargerAdjustViewport(t,i,a){let l=this.getNullCell(d.DEFAULT_ATTR_DATA),v=a;for(;v-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<i&&this.lines.push(new d.BufferLine(t,l))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-a,0)}_reflowSmaller(t,i){let a=this.getNullCell(d.DEFAULT_ATTR_DATA),l=[],v=0;for(let m=this.lines.length-1;m>=0;m--){let c=this.lines.get(m);if(!c||!c.isWrapped&&c.getTrimmedLength()<=t)continue;let p=[c];for(;c.isWrapped&&m>0;)c=this.lines.get(--m),p.unshift(c);let b=this.ybase+this.y;if(b>=m&&b<m+p.length)continue;let L=p[p.length-1].getTrimmedLength(),w=(0,f.reflowSmallerGetNewLineLengths)(p,this._cols,t),D=w.length-p.length,O;O=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+D):Math.max(0,this.lines.length-this.lines.maxLength+D);let I=[];for(let T=0;T<D;T++){let N=this.getBlankLine(d.DEFAULT_ATTR_DATA,!0);I.push(N)}I.length>0&&(l.push({start:m+p.length+v,newLines:I}),v+=I.length),p.push(...I);let W=w.length-1,H=w[W];H===0&&(W--,H=w[W]);let C=p.length-D-1,y=L;for(;C>=0;){let T=Math.min(y,H);if(p[W]===void 0)break;if(p[W].copyCellsFrom(p[C],y-T,H-T,T,!0),H-=T,H===0&&(W--,H=w[W]),y-=T,y===0){C--;let N=Math.max(C,0);y=(0,f.getWrappedLineTrimmedLength)(p,N,this._cols)}}for(let T=0;T<p.length;T++)w[T]<t&&p[T].setCell(w[T],a);let k=D-O;for(;k-- >0;)this.ybase===0?this.y<i-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+v)-i&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+D,this.ybase+i-1)}if(l.length>0){let m=[],c=[];for(let W=0;W<this.lines.length;W++)c.push(this.lines.get(W));let p=this.lines.length,b=p-1,L=0,w=l[L];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+v);let D=0;for(let W=Math.min(this.lines.maxLength-1,p+v-1);W>=0;W--)if(w&&w.start>b+D){for(let H=w.newLines.length-1;H>=0;H--)this.lines.set(W--,w.newLines[H]);W++,m.push({index:b+1,amount:w.newLines.length}),D+=w.newLines.length,w=l[++L]}else this.lines.set(W,c[b--]);let O=0;for(let W=m.length-1;W>=0;W--)m[W].index+=O,this.lines.onInsertEmitter.fire(m[W]),O+=m[W].amount;let I=Math.max(0,p+v-this.lines.maxLength);I>0&&this.lines.onTrimEmitter.fire(I)}}translateBufferLineToString(t,i,a=0,l){let v=this.lines.get(t);return v?v.translateToString(i,a,l):""}getWrappedRangeForLine(t){let i=t,a=t;for(;i>0&&this.lines.get(i).isWrapped;)i--;for(;a+1<this.lines.length&&this.lines.get(a+1).isWrapped;)a++;return{first:i,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 i=0;i<this.markers.length;i++)this.markers[i].line===t&&(this.markers[i].dispose(),this.markers.splice(i--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose(),this.markers.splice(t--,1);this._isClearing=!1}addMarker(t){let i=new e.Marker(t);return this.markers.push(i),i.register(this.lines.onTrim(a=>{i.line-=a,i.line<0&&i.dispose()})),i.register(this.lines.onInsert(a=>{i.line>=a.index&&(i.line+=a.amount)})),i.register(this.lines.onDelete(a=>{i.line>=a.index&&i.line<a.index+a.amount&&i.dispose(),i.line>a.index&&(i.line-=a.amount)})),i.register(i.onDispose(()=>this._removeMarker(i))),i}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}}},8437:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLine=r.DEFAULT_ATTR_DATA=void 0;let h=n(3734),u=n(511),o=n(643),d=n(482);r.DEFAULT_ATTR_DATA=Object.freeze(new h.AttributeData);let f=0;class g{constructor(e,s,t=!1){this.isWrapped=t,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);let i=s||u.CellData.fromCharData([0,o.NULL_CELL_CHAR,o.NULL_CELL_WIDTH,o.NULL_CELL_CODE]);for(let a=0;a<e;++a)this.setCell(a,i);this.length=e}get(e){let s=this._data[3*e+0],t=2097151&s;return[this._data[3*e+1],2097152&s?this._combined[e]:t?(0,d.stringFromCodePoint)(t):"",s>>22,2097152&s?this._combined[e].charCodeAt(this._combined[e].length-1):t]}set(e,s){this._data[3*e+1]=s[o.CHAR_DATA_ATTR_INDEX],s[o.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=s[1],this._data[3*e+0]=2097152|e|s[o.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=s[o.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|s[o.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){let s=this._data[3*e+0];return 2097152&s?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&s}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){let s=this._data[3*e+0];return 2097152&s?this._combined[e]:2097151&s?(0,d.stringFromCodePoint)(2097151&s):""}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,s){return f=3*e,s.content=this._data[f+0],s.fg=this._data[f+1],s.bg=this._data[f+2],2097152&s.content&&(s.combinedData=this._combined[e]),268435456&s.bg&&(s.extended=this._extendedAttrs[e]),s}setCell(e,s){2097152&s.content&&(this._combined[e]=s.combinedData),268435456&s.bg&&(this._extendedAttrs[e]=s.extended),this._data[3*e+0]=s.content,this._data[3*e+1]=s.fg,this._data[3*e+2]=s.bg}setCellFromCodePoint(e,s,t,i,a,l){268435456&a&&(this._extendedAttrs[e]=l),this._data[3*e+0]=s|t<<22,this._data[3*e+1]=i,this._data[3*e+2]=a}addCodepointToCell(e,s){let t=this._data[3*e+0];2097152&t?this._combined[e]+=(0,d.stringFromCodePoint)(s):(2097151&t?(this._combined[e]=(0,d.stringFromCodePoint)(2097151&t)+(0,d.stringFromCodePoint)(s),t&=-2097152,t|=2097152):t=s|4194304,this._data[3*e+0]=t)}insertCells(e,s,t,i){if((e%=this.length)&&this.getWidth(e-1)===2&&this.setCellFromCodePoint(e-1,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs),s<this.length-e){let a=new u.CellData;for(let l=this.length-e-s-1;l>=0;--l)this.setCell(e+s+l,this.loadCell(e+l,a));for(let l=0;l<s;++l)this.setCell(e+l,t)}else for(let a=e;a<this.length;++a)this.setCell(a,t);this.getWidth(this.length-1)===2&&this.setCellFromCodePoint(this.length-1,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs)}deleteCells(e,s,t,i){if(e%=this.length,s<this.length-e){let a=new u.CellData;for(let l=0;l<this.length-e-s;++l)this.setCell(e+l,this.loadCell(e+s+l,a));for(let l=this.length-s;l<this.length;++l)this.setCell(l,t)}else for(let a=e;a<this.length;++a)this.setCell(a,t);e&&this.getWidth(e-1)===2&&this.setCellFromCodePoint(e-1,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs),this.getWidth(e)!==0||this.hasContent(e)||this.setCellFromCodePoint(e,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs)}replaceCells(e,s,t,i,a=!1){if(a)for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodePoint(e-1,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs),s<this.length&&this.getWidth(s-1)===2&&!this.isProtected(s)&&this.setCellFromCodePoint(s,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs);e<s&&e<this.length;)this.isProtected(e)||this.setCell(e,t),e++;else for(e&&this.getWidth(e-1)===2&&this.setCellFromCodePoint(e-1,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs),s<this.length&&this.getWidth(s-1)===2&&this.setCellFromCodePoint(s,0,1,i?.fg||0,i?.bg||0,i?.extended||new h.ExtendedAttrs);e<s&&e<this.length;)this.setCell(e++,t)}resize(e,s){if(e===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let t=3*e;if(e>this.length){if(this._data.buffer.byteLength>=4*t)this._data=new Uint32Array(this._data.buffer,0,t);else{let i=new Uint32Array(t);i.set(this._data),this._data=i}for(let i=this.length;i<e;++i)this.setCell(i,s)}else{this._data=this._data.subarray(0,t);let i=Object.keys(this._combined);for(let l=0;l<i.length;l++){let v=parseInt(i[l],10);v>=e&&delete this._combined[v]}let a=Object.keys(this._extendedAttrs);for(let l=0;l<a.length;l++){let v=parseInt(a[l],10);v>=e&&delete this._extendedAttrs[v]}}return this.length=e,4*t*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,s=!1){if(s)for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);else{this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(let s in e._combined)this._combined[s]=e._combined[s];this._extendedAttrs={};for(let s in e._extendedAttrs)this._extendedAttrs[s]=e._extendedAttrs[s];this.isWrapped=e.isWrapped}clone(){let e=new g(0);e._data=new Uint32Array(this._data),e.length=this.length;for(let s in this._combined)e._combined[s]=this._combined[s];for(let s in this._extendedAttrs)e._extendedAttrs[s]=this._extendedAttrs[s];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||50331648&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,s,t,i,a){let l=e._data;if(a)for(let m=i-1;m>=0;m--){for(let c=0;c<3;c++)this._data[3*(t+m)+c]=l[3*(s+m)+c];268435456&l[3*(s+m)+2]&&(this._extendedAttrs[t+m]=e._extendedAttrs[s+m])}else for(let m=0;m<i;m++){for(let c=0;c<3;c++)this._data[3*(t+m)+c]=l[3*(s+m)+c];268435456&l[3*(s+m)+2]&&(this._extendedAttrs[t+m]=e._extendedAttrs[s+m])}let v=Object.keys(e._combined);for(let m=0;m<v.length;m++){let c=parseInt(v[m],10);c>=s&&(this._combined[c-s+t]=e._combined[c])}}translateToString(e=!1,s=0,t=this.length){e&&(t=Math.min(t,this.getTrimmedLength()));let i="";for(;s<t;){let a=this._data[3*s+0],l=2097151&a;i+=2097152&a?this._combined[s]:l?(0,d.stringFromCodePoint)(l):o.WHITESPACE_CELL_CHAR,s+=a>>22||1}return i}}r.BufferLine=g},4841:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getRangeLength=void 0,r.getRangeLength=function(n,h){if(n.start.y>n.end.y)throw new Error(`Buffer range end (${n.end.x}, ${n.end.y}) cannot be before start (${n.start.x}, ${n.start.y})`);return h*(n.end.y-n.start.y)+(n.end.x-n.start.x+1)}},4634:(E,r)=>{function n(h,u,o){if(u===h.length-1)return h[u].getTrimmedLength();let d=!h[u].hasContent(o-1)&&h[u].getWidth(o-1)===1,f=h[u+1].getWidth(0)===2;return d&&f?o-1:o}Object.defineProperty(r,"__esModule",{value:!0}),r.getWrappedLineTrimmedLength=r.reflowSmallerGetNewLineLengths=r.reflowLargerApplyNewLayout=r.reflowLargerCreateNewLayout=r.reflowLargerGetLinesToRemove=void 0,r.reflowLargerGetLinesToRemove=function(h,u,o,d,f){let g=[];for(let _=0;_<h.length-1;_++){let e=_,s=h.get(++e);if(!s.isWrapped)continue;let t=[h.get(_)];for(;e<h.length&&s.isWrapped;)t.push(s),s=h.get(++e);if(d>=_&&d<e){_+=t.length-1;continue}let i=0,a=n(t,i,u),l=1,v=0;for(;l<t.length;){let c=n(t,l,u),p=c-v,b=o-a,L=Math.min(p,b);t[i].copyCellsFrom(t[l],v,a,L,!1),a+=L,a===o&&(i++,a=0),v+=L,v===c&&(l++,v=0),a===0&&i!==0&&t[i-1].getWidth(o-1)===2&&(t[i].copyCellsFrom(t[i-1],o-1,a++,1,!1),t[i-1].setCell(o-1,f))}t[i].replaceCells(a,o,f);let m=0;for(let c=t.length-1;c>0&&(c>i||t[c].getTrimmedLength()===0);c--)m++;m>0&&(g.push(_+t.length-m),g.push(m)),_+=t.length-1}return g},r.reflowLargerCreateNewLayout=function(h,u){let o=[],d=0,f=u[d],g=0;for(let _=0;_<h.length;_++)if(f===_){let e=u[++d];h.onDeleteEmitter.fire({index:_-g,amount:e}),_+=e-1,g+=e,f=u[++d]}else o.push(_);return{layout:o,countRemoved:g}},r.reflowLargerApplyNewLayout=function(h,u){let o=[];for(let d=0;d<u.length;d++)o.push(h.get(u[d]));for(let d=0;d<o.length;d++)h.set(d,o[d]);h.length=u.length},r.reflowSmallerGetNewLineLengths=function(h,u,o){let d=[],f=h.map((s,t)=>n(h,t,u)).reduce((s,t)=>s+t),g=0,_=0,e=0;for(;e<f;){if(f-e<o){d.push(f-e);break}g+=o;let s=n(h,_,u);g>s&&(g-=s,_++);let t=h[_].getWidth(g-1)===2;t&&g--;let i=t?o-1:o;d.push(i),e+=i}return d},r.getWrappedLineTrimmedLength=n},5295:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferSet=void 0;let h=n(8460),u=n(844),o=n(9092);class d extends u.Disposable{constructor(g,_){super(),this._optionsService=g,this._bufferService=_,this._onBufferActivate=this.register(new h.EventEmitter),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 o.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new o.Buffer(!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(g){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(g),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(g,_){this._normal.resize(g,_),this._alt.resize(g,_),this.setupTabStops(g)}setupTabStops(g){this._normal.setupTabStops(g),this._alt.setupTabStops(g)}}r.BufferSet=d},511:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;let h=n(482),u=n(643),o=n(3734);class d extends o.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new o.ExtendedAttrs,this.combinedData=""}static fromCharData(g){let _=new d;return _.setFromCharData(g),_}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,h.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(g){this.fg=g[u.CHAR_DATA_ATTR_INDEX],this.bg=0;let _=!1;if(g[u.CHAR_DATA_CHAR_INDEX].length>2)_=!0;else if(g[u.CHAR_DATA_CHAR_INDEX].length===2){let e=g[u.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=e&&e<=56319){let s=g[u.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(e-55296)+s-56320+65536|g[u.CHAR_DATA_WIDTH_INDEX]<<22:_=!0}else _=!0}else this.content=g[u.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|g[u.CHAR_DATA_WIDTH_INDEX]<<22;_&&(this.combinedData=g[u.CHAR_DATA_CHAR_INDEX],this.content=2097152|g[u.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=d},643:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},4863:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Marker=void 0;let h=n(8460),u=n(844);class o{get id(){return this._id}constructor(f){this.line=f,this.isDisposed=!1,this._disposables=[],this._id=o._nextId++,this._onDispose=this.register(new h.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,u.disposeArray)(this._disposables),this._disposables.length=0)}register(f){return this._disposables.push(f),f}}r.Marker=o,o._nextId=1},7116:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DEFAULT_CHARSET=r.CHARSETS=void 0,r.CHARSETS={},r.DEFAULT_CHARSET=r.CHARSETS.B,r.CHARSETS[0]={"`":"\u25C6",a:"\u2592",b:"\u2409",c:"\u240C",d:"\u240D",e:"\u240A",f:"\xB0",g:"\xB1",h:"\u2424",i:"\u240B",j:"\u2518",k:"\u2510",l:"\u250C",m:"\u2514",n:"\u253C",o:"\u23BA",p:"\u23BB",q:"\u2500",r:"\u23BC",s:"\u23BD",t:"\u251C",u:"\u2524",v:"\u2534",w:"\u252C",x:"\u2502",y:"\u2264",z:"\u2265","{":"\u03C0","|":"\u2260","}":"\xA3","~":"\xB7"},r.CHARSETS.A={"#":"\xA3"},r.CHARSETS.B=void 0,r.CHARSETS[4]={"#":"\xA3","@":"\xBE","[":"ij","\\":"\xBD","]":"|","{":"\xA8","|":"f","}":"\xBC","~":"\xB4"},r.CHARSETS.C=r.CHARSETS[5]={"[":"\xC4","\\":"\xD6","]":"\xC5","^":"\xDC","`":"\xE9","{":"\xE4","|":"\xF6","}":"\xE5","~":"\xFC"},r.CHARSETS.R={"#":"\xA3","@":"\xE0","[":"\xB0","\\":"\xE7","]":"\xA7","{":"\xE9","|":"\xF9","}":"\xE8","~":"\xA8"},r.CHARSETS.Q={"@":"\xE0","[":"\xE2","\\":"\xE7","]":"\xEA","^":"\xEE","`":"\xF4","{":"\xE9","|":"\xF9","}":"\xE8","~":"\xFB"},r.CHARSETS.K={"@":"\xA7","[":"\xC4","\\":"\xD6","]":"\xDC","{":"\xE4","|":"\xF6","}":"\xFC","~":"\xDF"},r.CHARSETS.Y={"#":"\xA3","@":"\xA7","[":"\xB0","\\":"\xE7","]":"\xE9","`":"\xF9","{":"\xE0","|":"\xF2","}":"\xE8","~":"\xEC"},r.CHARSETS.E=r.CHARSETS[6]={"@":"\xC4","[":"\xC6","\\":"\xD8","]":"\xC5","^":"\xDC","`":"\xE4","{":"\xE6","|":"\xF8","}":"\xE5","~":"\xFC"},r.CHARSETS.Z={"#":"\xA3","@":"\xA7","[":"\xA1","\\":"\xD1","]":"\xBF","{":"\xB0","|":"\xF1","}":"\xE7"},r.CHARSETS.H=r.CHARSETS[7]={"@":"\xC9","[":"\xC4","\\":"\xD6","]":"\xC5","^":"\xDC","`":"\xE9","{":"\xE4","|":"\xF6","}":"\xE5","~":"\xFC"},r.CHARSETS["="]={"#":"\xF9","@":"\xE0","[":"\xE9","\\":"\xE7","]":"\xEA","^":"\xEE",_:"\xE8","`":"\xF4","{":"\xE4","|":"\xF6","}":"\xFC","~":"\xFB"}},2584:(E,r)=>{var n,h,u;Object.defineProperty(r,"__esModule",{value:!0}),r.C1_ESCAPED=r.C1=r.C0=void 0,function(o){o.NUL="\0",o.SOH="",o.STX="",o.ETX="",o.EOT="",o.ENQ="",o.ACK="",o.BEL="\x07",o.BS="\b",o.HT=" ",o.LF=`
`,o.VT="\v",o.FF="\f",o.CR="\r",o.SO="",o.SI="",o.DLE="",o.DC1="",o.DC2="",o.DC3="",o.DC4="",o.NAK="",o.SYN="",o.ETB="",o.CAN="",o.EM="",o.SUB="",o.ESC="\x1B",o.FS="",o.GS="",o.RS="",o.US="",o.SP=" ",o.DEL="\x7F"}(n||(r.C0=n={})),function(o){o.PAD="\x80",o.HOP="\x81",o.BPH="\x82",o.NBH="\x83",o.IND="\x84",o.NEL="\x85",o.SSA="\x86",o.ESA="\x87",o.HTS="\x88",o.HTJ="\x89",o.VTS="\x8A",o.PLD="\x8B",o.PLU="\x8C",o.RI="\x8D",o.SS2="\x8E",o.SS3="\x8F",o.DCS="\x90",o.PU1="\x91",o.PU2="\x92",o.STS="\x93",o.CCH="\x94",o.MW="\x95",o.SPA="\x96",o.EPA="\x97",o.SOS="\x98",o.SGCI="\x99",o.SCI="\x9A",o.CSI="\x9B",o.ST="\x9C",o.OSC="\x9D",o.PM="\x9E",o.APC="\x9F"}(h||(r.C1=h={})),function(o){o.ST=`${n.ESC}\\`}(u||(r.C1_ESCAPED=u={}))},7399:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;let h=n(2584),u={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:["'",'"']};r.evaluateKeyboardEvent=function(o,d,f,g){let _={type:0,cancel:!1,key:void 0},e=(o.shiftKey?1:0)|(o.altKey?2:0)|(o.ctrlKey?4:0)|(o.metaKey?8:0);switch(o.keyCode){case 0:o.key==="UIKeyInputUpArrow"?_.key=d?h.C0.ESC+"OA":h.C0.ESC+"[A":o.key==="UIKeyInputLeftArrow"?_.key=d?h.C0.ESC+"OD":h.C0.ESC+"[D":o.key==="UIKeyInputRightArrow"?_.key=d?h.C0.ESC+"OC":h.C0.ESC+"[C":o.key==="UIKeyInputDownArrow"&&(_.key=d?h.C0.ESC+"OB":h.C0.ESC+"[B");break;case 8:if(o.altKey){_.key=h.C0.ESC+h.C0.DEL;break}_.key=h.C0.DEL;break;case 9:if(o.shiftKey){_.key=h.C0.ESC+"[Z";break}_.key=h.C0.HT,_.cancel=!0;break;case 13:_.key=o.altKey?h.C0.ESC+h.C0.CR:h.C0.CR,_.cancel=!0;break;case 27:_.key=h.C0.ESC,o.altKey&&(_.key=h.C0.ESC+h.C0.ESC),_.cancel=!0;break;case 37:if(o.metaKey)break;e?(_.key=h.C0.ESC+"[1;"+(e+1)+"D",_.key===h.C0.ESC+"[1;3D"&&(_.key=h.C0.ESC+(f?"b":"[1;5D"))):_.key=d?h.C0.ESC+"OD":h.C0.ESC+"[D";break;case 39:if(o.metaKey)break;e?(_.key=h.C0.ESC+"[1;"+(e+1)+"C",_.key===h.C0.ESC+"[1;3C"&&(_.key=h.C0.ESC+(f?"f":"[1;5C"))):_.key=d?h.C0.ESC+"OC":h.C0.ESC+"[C";break;case 38:if(o.metaKey)break;e?(_.key=h.C0.ESC+"[1;"+(e+1)+"A",f||_.key!==h.C0.ESC+"[1;3A"||(_.key=h.C0.ESC+"[1;5A")):_.key=d?h.C0.ESC+"OA":h.C0.ESC+"[A";break;case 40:if(o.metaKey)break;e?(_.key=h.C0.ESC+"[1;"+(e+1)+"B",f||_.key!==h.C0.ESC+"[1;3B"||(_.key=h.C0.ESC+"[1;5B")):_.key=d?h.C0.ESC+"OB":h.C0.ESC+"[B";break;case 45:o.shiftKey||o.ctrlKey||(_.key=h.C0.ESC+"[2~");break;case 46:_.key=e?h.C0.ESC+"[3;"+(e+1)+"~":h.C0.ESC+"[3~";break;case 36:_.key=e?h.C0.ESC+"[1;"+(e+1)+"H":d?h.C0.ESC+"OH":h.C0.ESC+"[H";break;case 35:_.key=e?h.C0.ESC+"[1;"+(e+1)+"F":d?h.C0.ESC+"OF":h.C0.ESC+"[F";break;case 33:o.shiftKey?_.type=2:o.ctrlKey?_.key=h.C0.ESC+"[5;"+(e+1)+"~":_.key=h.C0.ESC+"[5~";break;case 34:o.shiftKey?_.type=3:o.ctrlKey?_.key=h.C0.ESC+"[6;"+(e+1)+"~":_.key=h.C0.ESC+"[6~";break;case 112:_.key=e?h.C0.ESC+"[1;"+(e+1)+"P":h.C0.ESC+"OP";break;case 113:_.key=e?h.C0.ESC+"[1;"+(e+1)+"Q":h.C0.ESC+"OQ";break;case 114:_.key=e?h.C0.ESC+"[1;"+(e+1)+"R":h.C0.ESC+"OR";break;case 115:_.key=e?h.C0.ESC+"[1;"+(e+1)+"S":h.C0.ESC+"OS";break;case 116:_.key=e?h.C0.ESC+"[15;"+(e+1)+"~":h.C0.ESC+"[15~";break;case 117:_.key=e?h.C0.ESC+"[17;"+(e+1)+"~":h.C0.ESC+"[17~";break;case 118:_.key=e?h.C0.ESC+"[18;"+(e+1)+"~":h.C0.ESC+"[18~";break;case 119:_.key=e?h.C0.ESC+"[19;"+(e+1)+"~":h.C0.ESC+"[19~";break;case 120:_.key=e?h.C0.ESC+"[20;"+(e+1)+"~":h.C0.ESC+"[20~";break;case 121:_.key=e?h.C0.ESC+"[21;"+(e+1)+"~":h.C0.ESC+"[21~";break;case 122:_.key=e?h.C0.ESC+"[23;"+(e+1)+"~":h.C0.ESC+"[23~";break;case 123:_.key=e?h.C0.ESC+"[24;"+(e+1)+"~":h.C0.ESC+"[24~";break;default:if(!o.ctrlKey||o.shiftKey||o.altKey||o.metaKey)if(f&&!g||!o.altKey||o.metaKey)!f||o.altKey||o.ctrlKey||o.shiftKey||!o.metaKey?o.key&&!o.ctrlKey&&!o.altKey&&!o.metaKey&&o.keyCode>=48&&o.key.length===1?_.key=o.key:o.key&&o.ctrlKey&&(o.key==="_"&&(_.key=h.C0.US),o.key==="@"&&(_.key=h.C0.NUL)):o.keyCode===65&&(_.type=1);else{let s=u[o.keyCode],t=s?.[o.shiftKey?1:0];if(t)_.key=h.C0.ESC+t;else if(o.keyCode>=65&&o.keyCode<=90){let i=o.ctrlKey?o.keyCode-64:o.keyCode+32,a=String.fromCharCode(i);o.shiftKey&&(a=a.toUpperCase()),_.key=h.C0.ESC+a}else if(o.keyCode===32)_.key=h.C0.ESC+(o.ctrlKey?h.C0.NUL:" ");else if(o.key==="Dead"&&o.code.startsWith("Key")){let i=o.code.slice(3,4);o.shiftKey||(i=i.toLowerCase()),_.key=h.C0.ESC+i,_.cancel=!0}}else o.keyCode>=65&&o.keyCode<=90?_.key=String.fromCharCode(o.keyCode-64):o.keyCode===32?_.key=h.C0.NUL:o.keyCode>=51&&o.keyCode<=55?_.key=String.fromCharCode(o.keyCode-51+27):o.keyCode===56?_.key=h.C0.DEL:o.keyCode===219?_.key=h.C0.ESC:o.keyCode===220?_.key=h.C0.FS:o.keyCode===221&&(_.key=h.C0.GS)}return _}},482:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(n){return n>65535?(n-=65536,String.fromCharCode(55296+(n>>10))+String.fromCharCode(n%1024+56320)):String.fromCharCode(n)},r.utf32ToString=function(n,h=0,u=n.length){let o="";for(let d=h;d<u;++d){let f=n[d];f>65535?(f-=65536,o+=String.fromCharCode(55296+(f>>10))+String.fromCharCode(f%1024+56320)):o+=String.fromCharCode(f)}return o},r.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(n,h){let u=n.length;if(!u)return 0;let o=0,d=0;if(this._interim){let f=n.charCodeAt(d++);56320<=f&&f<=57343?h[o++]=1024*(this._interim-55296)+f-56320+65536:(h[o++]=this._interim,h[o++]=f),this._interim=0}for(let f=d;f<u;++f){let g=n.charCodeAt(f);if(55296<=g&&g<=56319){if(++f>=u)return this._interim=g,o;let _=n.charCodeAt(f);56320<=_&&_<=57343?h[o++]=1024*(g-55296)+_-56320+65536:(h[o++]=g,h[o++]=_)}else g!==65279&&(h[o++]=g)}return o}},r.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(n,h){let u=n.length;if(!u)return 0;let o,d,f,g,_=0,e=0,s=0;if(this.interim[0]){let a=!1,l=this.interim[0];l&=(224&l)==192?31:(240&l)==224?15:7;let v,m=0;for(;(v=63&this.interim[++m])&&m<4;)l<<=6,l|=v;let c=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,p=c-m;for(;s<p;){if(s>=u)return 0;if(v=n[s++],(192&v)!=128){s--,a=!0;break}this.interim[m++]=v,l<<=6,l|=63&v}a||(c===2?l<128?s--:h[_++]=l:c===3?l<2048||l>=55296&&l<=57343||l===65279||(h[_++]=l):l<65536||l>1114111||(h[_++]=l)),this.interim.fill(0)}let t=u-4,i=s;for(;i<u;){for(;!(!(i<t)||128&(o=n[i])||128&(d=n[i+1])||128&(f=n[i+2])||128&(g=n[i+3]));)h[_++]=o,h[_++]=d,h[_++]=f,h[_++]=g,i+=4;if(o=n[i++],o<128)h[_++]=o;else if((224&o)==192){if(i>=u)return this.interim[0]=o,_;if(d=n[i++],(192&d)!=128){i--;continue}if(e=(31&o)<<6|63&d,e<128){i--;continue}h[_++]=e}else if((240&o)==224){if(i>=u)return this.interim[0]=o,_;if(d=n[i++],(192&d)!=128){i--;continue}if(i>=u)return this.interim[0]=o,this.interim[1]=d,_;if(f=n[i++],(192&f)!=128){i--;continue}if(e=(15&o)<<12|(63&d)<<6|63&f,e<2048||e>=55296&&e<=57343||e===65279)continue;h[_++]=e}else if((248&o)==240){if(i>=u)return this.interim[0]=o,_;if(d=n[i++],(192&d)!=128){i--;continue}if(i>=u)return this.interim[0]=o,this.interim[1]=d,_;if(f=n[i++],(192&f)!=128){i--;continue}if(i>=u)return this.interim[0]=o,this.interim[1]=d,this.interim[2]=f,_;if(g=n[i++],(192&g)!=128){i--;continue}if(e=(7&o)<<18|(63&d)<<12|(63&f)<<6|63&g,e<65536||e>1114111)continue;h[_++]=e}}return _}}},225:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeV6=void 0;let n=[[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]],h=[[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]],u;r.UnicodeV6=class{constructor(){if(this.version="6",!u){u=new Uint8Array(65536),u.fill(1),u[0]=0,u.fill(0,1,32),u.fill(0,127,160),u.fill(2,4352,4448),u[9001]=2,u[9002]=2,u.fill(2,11904,42192),u[12351]=1,u.fill(2,44032,55204),u.fill(2,63744,64256),u.fill(2,65040,65050),u.fill(2,65072,65136),u.fill(2,65280,65377),u.fill(2,65504,65511);for(let o=0;o<n.length;++o)u.fill(0,n[o][0],n[o][1]+1)}}wcwidth(o){return o<32?0:o<127?1:o<65536?u[o]:function(d,f){let g,_=0,e=f.length-1;if(d<f[0][0]||d>f[e][1])return!1;for(;e>=_;)if(g=_+e>>1,d>f[g][1])_=g+1;else{if(!(d<f[g][0]))return!0;e=g-1}return!1}(o,h)?0:o>=131072&&o<=196605||o>=196608&&o<=262141?2:1}}},5981:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WriteBuffer=void 0;let h=n(8460),u=n(844);class o extends u.Disposable{constructor(f){super(),this._action=f,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new h.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(f,g){if(g!==void 0&&this._syncCalls>g)return void(this._syncCalls=0);if(this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let _;for(this._isSyncWriting=!0;_=this._writeBuffer.shift();){this._action(_);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(f,g){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(g),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=f.length,this._writeBuffer.push(f),this._callbacks.push(g)}_innerWrite(f=0,g=!0){let _=f||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],s=this._action(e,g);if(s){let i=a=>Date.now()-_>=12?setTimeout(()=>this._innerWrite(0,a)):this._innerWrite(_,a);return void s.catch(a=>(queueMicrotask(()=>{throw a}),Promise.resolve(!1))).then(i)}let t=this._callbacks[this._bufferOffset];if(t&&t(),this._bufferOffset++,this._pendingData-=e.length,Date.now()-_>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(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()}}r.WriteBuffer=o},5941:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.toRgbString=r.parseColor=void 0;let n=/^([\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})$/,h=/^[\da-f]+$/;function u(o,d){let f=o.toString(16),g=f.length<2?"0"+f:f;switch(d){case 4:return f[0];case 8:return g;case 12:return(g+g).slice(0,3);default:return g+g}}r.parseColor=function(o){if(!o)return;let d=o.toLowerCase();if(d.indexOf("rgb:")===0){d=d.slice(4);let f=n.exec(d);if(f){let g=f[1]?15:f[4]?255:f[7]?4095:65535;return[Math.round(parseInt(f[1]||f[4]||f[7]||f[10],16)/g*255),Math.round(parseInt(f[2]||f[5]||f[8]||f[11],16)/g*255),Math.round(parseInt(f[3]||f[6]||f[9]||f[12],16)/g*255)]}}else if(d.indexOf("#")===0&&(d=d.slice(1),h.exec(d)&&[3,6,9,12].includes(d.length))){let f=d.length/3,g=[0,0,0];for(let _=0;_<3;++_){let e=parseInt(d.slice(f*_,f*_+f),16);g[_]=f===1?e<<4:f===2?e:f===3?e>>4:e>>8}return g}},r.toRgbString=function(o,d=16){let[f,g,_]=o;return`rgb:${u(f,d)}/${u(g,d)}/${u(_,d)}`}},5770:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PAYLOAD_LIMIT=void 0,r.PAYLOAD_LIMIT=1e7},6351:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DcsHandler=r.DcsParser=void 0;let h=n(482),u=n(8742),o=n(5770),d=[];r.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=d,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=d}registerHandler(g,_){this._handlers[g]===void 0&&(this._handlers[g]=[]);let e=this._handlers[g];return e.push(_),{dispose:()=>{let s=e.indexOf(_);s!==-1&&e.splice(s,1)}}}clearHandler(g){this._handlers[g]&&delete this._handlers[g]}setHandlerFallback(g){this._handlerFb=g}reset(){if(this._active.length)for(let g=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;g>=0;--g)this._active[g].unhook(!1);this._stack.paused=!1,this._active=d,this._ident=0}hook(g,_){if(this.reset(),this._ident=g,this._active=this._handlers[g]||d,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(_);else this._handlerFb(this._ident,"HOOK",_)}put(g,_,e){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(g,_,e);else this._handlerFb(this._ident,"PUT",(0,h.utf32ToString)(g,_,e))}unhook(g,_=!0){if(this._active.length){let e=!1,s=this._active.length-1,t=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,e=_,t=this._stack.fallThrough,this._stack.paused=!1),!t&&e===!1){for(;s>=0&&(e=this._active[s].unhook(g),e!==!0);s--)if(e instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,e;s--}for(;s>=0;s--)if(e=this._active[s].unhook(!1),e instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,e}else this._handlerFb(this._ident,"UNHOOK",g);this._active=d,this._ident=0}};let f=new u.Params;f.addParam(0),r.DcsHandler=class{constructor(g){this._handler=g,this._data="",this._params=f,this._hitLimit=!1}hook(g){this._params=g.length>1||g.params[0]?g.clone():f,this._data="",this._hitLimit=!1}put(g,_,e){this._hitLimit||(this._data+=(0,h.utf32ToString)(g,_,e),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(g){let _=!1;if(this._hitLimit)_=!1;else if(g&&(_=this._handler(this._data,this._params),_ instanceof Promise))return _.then(e=>(this._params=f,this._data="",this._hitLimit=!1,e));return this._params=f,this._data="",this._hitLimit=!1,_}}},2015:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.EscapeSequenceParser=r.VT500_TRANSITION_TABLE=r.TransitionTable=void 0;let h=n(844),u=n(8742),o=n(6242),d=n(6351);class f{constructor(s){this.table=new Uint8Array(s)}setDefault(s,t){this.table.fill(s<<4|t)}add(s,t,i,a){this.table[t<<8|s]=i<<4|a}addMany(s,t,i,a){for(let l=0;l<s.length;l++)this.table[t<<8|s[l]]=i<<4|a}}r.TransitionTable=f;let g=160;r.VT500_TRANSITION_TABLE=function(){let e=new f(4095),s=Array.apply(null,Array(256)).map((m,c)=>c),t=(m,c)=>s.slice(m,c),i=t(32,127),a=t(0,24);a.push(25),a.push.apply(a,t(28,32));let l=t(0,14),v;for(v in e.setDefault(1,0),e.addMany(i,0,2,0),l)e.addMany([24,26,153,154],v,3,0),e.addMany(t(128,144),v,3,0),e.addMany(t(144,152),v,3,0),e.add(156,v,0,0),e.add(27,v,11,1),e.add(157,v,4,8),e.addMany([152,158,159],v,0,7),e.add(155,v,11,3),e.add(144,v,11,9);return e.addMany(a,0,3,0),e.addMany(a,1,3,1),e.add(127,1,0,1),e.addMany(a,8,0,8),e.addMany(a,3,3,3),e.add(127,3,0,3),e.addMany(a,4,3,4),e.add(127,4,0,4),e.addMany(a,6,3,6),e.addMany(a,5,3,5),e.add(127,5,0,5),e.addMany(a,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(i,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(t(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(i,7,0,7),e.addMany(a,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(t(64,127),3,7,0),e.addMany(t(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(t(48,60),4,8,4),e.addMany(t(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(t(32,64),6,0,6),e.add(127,6,0,6),e.addMany(t(64,127),6,0,0),e.addMany(t(32,48),3,9,5),e.addMany(t(32,48),5,9,5),e.addMany(t(48,64),5,0,6),e.addMany(t(64,127),5,7,0),e.addMany(t(32,48),4,9,5),e.addMany(t(32,48),1,9,2),e.addMany(t(32,48),2,9,2),e.addMany(t(48,127),2,10,0),e.addMany(t(48,80),1,10,0),e.addMany(t(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(t(96,127),1,10,0),e.add(80,1,11,9),e.addMany(a,9,0,9),e.add(127,9,0,9),e.addMany(t(28,32),9,0,9),e.addMany(t(32,48),9,9,12),e.addMany(t(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(a,11,0,11),e.addMany(t(32,128),11,0,11),e.addMany(t(28,32),11,0,11),e.addMany(a,10,0,10),e.add(127,10,0,10),e.addMany(t(28,32),10,0,10),e.addMany(t(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(t(32,48),10,9,12),e.addMany(a,12,0,12),e.add(127,12,0,12),e.addMany(t(28,32),12,0,12),e.addMany(t(32,48),12,9,12),e.addMany(t(48,64),12,0,11),e.addMany(t(64,127),12,12,13),e.addMany(t(64,127),10,12,13),e.addMany(t(64,127),9,12,13),e.addMany(a,13,13,13),e.addMany(i,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(g,0,2,0),e.add(g,8,5,8),e.add(g,6,0,6),e.add(g,11,0,11),e.add(g,13,13,13),e}();class _ extends h.Disposable{constructor(s=r.VT500_TRANSITION_TABLE){super(),this._transitions=s,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new u.Params,this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,this._printHandlerFb=(t,i,a)=>{},this._executeHandlerFb=t=>{},this._csiHandlerFb=(t,i)=>{},this._escHandlerFb=t=>{},this._errorHandlerFb=t=>t,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,h.toDisposable)(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new o.OscParser),this._dcsParser=this.register(new d.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(s,t=[64,126]){let i=0;if(s.prefix){if(s.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=s.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(s.intermediates){if(s.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let l=0;l<s.intermediates.length;++l){let v=s.intermediates.charCodeAt(l);if(32>v||v>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=v}}if(s.final.length!==1)throw new Error("final must be a single byte");let a=s.final.charCodeAt(0);if(t[0]>a||a>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=a,i}identToString(s){let t=[];for(;s;)t.push(String.fromCharCode(255&s)),s>>=8;return t.reverse().join("")}setPrintHandler(s){this._printHandler=s}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(s,t){let i=this._identifier(s,[48,126]);this._escHandlers[i]===void 0&&(this._escHandlers[i]=[]);let a=this._escHandlers[i];return a.push(t),{dispose:()=>{let l=a.indexOf(t);l!==-1&&a.splice(l,1)}}}clearEscHandler(s){this._escHandlers[this._identifier(s,[48,126])]&&delete this._escHandlers[this._identifier(s,[48,126])]}setEscHandlerFallback(s){this._escHandlerFb=s}setExecuteHandler(s,t){this._executeHandlers[s.charCodeAt(0)]=t}clearExecuteHandler(s){this._executeHandlers[s.charCodeAt(0)]&&delete this._executeHandlers[s.charCodeAt(0)]}setExecuteHandlerFallback(s){this._executeHandlerFb=s}registerCsiHandler(s,t){let i=this._identifier(s);this._csiHandlers[i]===void 0&&(this._csiHandlers[i]=[]);let a=this._csiHandlers[i];return a.push(t),{dispose:()=>{let l=a.indexOf(t);l!==-1&&a.splice(l,1)}}}clearCsiHandler(s){this._csiHandlers[this._identifier(s)]&&delete this._csiHandlers[this._identifier(s)]}setCsiHandlerFallback(s){this._csiHandlerFb=s}registerDcsHandler(s,t){return this._dcsParser.registerHandler(this._identifier(s),t)}clearDcsHandler(s){this._dcsParser.clearHandler(this._identifier(s))}setDcsHandlerFallback(s){this._dcsParser.setHandlerFallback(s)}registerOscHandler(s,t){return this._oscParser.registerHandler(s,t)}clearOscHandler(s){this._oscParser.clearHandler(s)}setOscHandlerFallback(s){this._oscParser.setHandlerFallback(s)}setErrorHandler(s){this._errorHandler=s}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.precedingCodepoint=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(s,t,i,a,l){this._parseStack.state=s,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=a,this._parseStack.chunkPos=l}parse(s,t,i){let a,l=0,v=0,m=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,m=this._parseStack.chunkPos+1;else{if(i===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let c=this._parseStack.handlers,p=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(i===!1&&p>-1){for(;p>=0&&(a=c[p](this._params),a!==!0);p--)if(a instanceof Promise)return this._parseStack.handlerPos=p,a}this._parseStack.handlers=[];break;case 4:if(i===!1&&p>-1){for(;p>=0&&(a=c[p](),a!==!0);p--)if(a instanceof Promise)return this._parseStack.handlerPos=p,a}this._parseStack.handlers=[];break;case 6:if(l=s[this._parseStack.chunkPos],a=this._dcsParser.unhook(l!==24&&l!==26,i),a)return a;l===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(l=s[this._parseStack.chunkPos],a=this._oscParser.end(l!==24&&l!==26,i),a)return a;l===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,m=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(let c=m;c<t;++c){switch(l=s[c],v=this._transitions.table[this.currentState<<8|(l<160?l:g)],v>>4){case 2:for(let D=c+1;;++D){if(D>=t||(l=s[D])<32||l>126&&l<g){this._printHandler(s,c,D),c=D-1;break}if(++D>=t||(l=s[D])<32||l>126&&l<g){this._printHandler(s,c,D),c=D-1;break}if(++D>=t||(l=s[D])<32||l>126&&l<g){this._printHandler(s,c,D),c=D-1;break}if(++D>=t||(l=s[D])<32||l>126&&l<g){this._printHandler(s,c,D),c=D-1;break}}break;case 3:this._executeHandlers[l]?this._executeHandlers[l]():this._executeHandlerFb(l),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:c,code:l,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let p=this._csiHandlers[this._collect<<8|l],b=p?p.length-1:-1;for(;b>=0&&(a=p[b](this._params),a!==!0);b--)if(a instanceof Promise)return this._preserveStack(3,p,b,v,c),a;b<0&&this._csiHandlerFb(this._collect<<8|l,this._params),this.precedingCodepoint=0;break;case 8:do switch(l){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(l-48)}while(++c<t&&(l=s[c])>47&&l<60);c--;break;case 9:this._collect<<=8,this._collect|=l;break;case 10:let L=this._escHandlers[this._collect<<8|l],w=L?L.length-1:-1;for(;w>=0&&(a=L[w](),a!==!0);w--)if(a instanceof Promise)return this._preserveStack(4,L,w,v,c),a;w<0&&this._escHandlerFb(this._collect<<8|l),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|l,this._params);break;case 13:for(let D=c+1;;++D)if(D>=t||(l=s[D])===24||l===26||l===27||l>127&&l<g){this._dcsParser.put(s,c,D),c=D-1;break}break;case 14:if(a=this._dcsParser.unhook(l!==24&&l!==26),a)return this._preserveStack(6,[],0,v,c),a;l===27&&(v|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0;break;case 4:this._oscParser.start();break;case 5:for(let D=c+1;;D++)if(D>=t||(l=s[D])<32||l>127&&l<g){this._oscParser.put(s,c,D),c=D-1;break}break;case 6:if(a=this._oscParser.end(l!==24&&l!==26),a)return this._preserveStack(5,[],0,v,c),a;l===27&&(v|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0}this.currentState=15&v}}}r.EscapeSequenceParser=_},6242:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OscHandler=r.OscParser=void 0;let h=n(5770),u=n(482),o=[];r.OscParser=class{constructor(){this._state=0,this._active=o,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(d,f){this._handlers[d]===void 0&&(this._handlers[d]=[]);let g=this._handlers[d];return g.push(f),{dispose:()=>{let _=g.indexOf(f);_!==-1&&g.splice(_,1)}}}clearHandler(d){this._handlers[d]&&delete this._handlers[d]}setHandlerFallback(d){this._handlerFb=d}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}reset(){if(this._state===2)for(let d=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;d>=0;--d)this._active[d].end(!1);this._stack.paused=!1,this._active=o,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||o,this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].start();else this._handlerFb(this._id,"START")}_put(d,f,g){if(this._active.length)for(let _=this._active.length-1;_>=0;_--)this._active[_].put(d,f,g);else this._handlerFb(this._id,"PUT",(0,u.utf32ToString)(d,f,g))}start(){this.reset(),this._state=1}put(d,f,g){if(this._state!==3){if(this._state===1)for(;f<g;){let _=d[f++];if(_===59){this._state=2,this._start();break}if(_<48||57<_)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+_-48}this._state===2&&g-f>0&&this._put(d,f,g)}}end(d,f=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let g=!1,_=this._active.length-1,e=!1;if(this._stack.paused&&(_=this._stack.loopPosition-1,g=f,e=this._stack.fallThrough,this._stack.paused=!1),!e&&g===!1){for(;_>=0&&(g=this._active[_].end(d),g!==!0);_--)if(g instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=_,this._stack.fallThrough=!1,g;_--}for(;_>=0;_--)if(g=this._active[_].end(!1),g instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=_,this._stack.fallThrough=!0,g}else this._handlerFb(this._id,"END",d);this._active=o,this._id=-1,this._state=0}}},r.OscHandler=class{constructor(d){this._handler=d,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(d,f,g){this._hitLimit||(this._data+=(0,u.utf32ToString)(d,f,g),this._data.length>h.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(d){let f=!1;if(this._hitLimit)f=!1;else if(d&&(f=this._handler(this._data),f instanceof Promise))return f.then(g=>(this._data="",this._hitLimit=!1,g));return this._data="",this._hitLimit=!1,f}}},8742:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Params=void 0;let n=2147483647;class h{static fromArray(o){let d=new h;if(!o.length)return d;for(let f=Array.isArray(o[0])?1:0;f<o.length;++f){let g=o[f];if(Array.isArray(g))for(let _=0;_<g.length;++_)d.addSubParam(g[_]);else d.addParam(g)}return d}constructor(o=32,d=32){if(this.maxLength=o,this.maxSubParamsLength=d,d>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(o),this.length=0,this._subParams=new Int32Array(d),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(o),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){let o=new h(this.maxLength,this.maxSubParamsLength);return o.params.set(this.params),o.length=this.length,o._subParams.set(this._subParams),o._subParamsLength=this._subParamsLength,o._subParamsIdx.set(this._subParamsIdx),o._rejectDigits=this._rejectDigits,o._rejectSubDigits=this._rejectSubDigits,o._digitIsSub=this._digitIsSub,o}toArray(){let o=[];for(let d=0;d<this.length;++d){o.push(this.params[d]);let f=this._subParamsIdx[d]>>8,g=255&this._subParamsIdx[d];g-f>0&&o.push(Array.prototype.slice.call(this._subParams,f,g))}return o}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(o){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(o<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=o>n?n:o}}addSubParam(o){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(o<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=o>n?n:o,this._subParamsIdx[this.length-1]++}}hasSubParams(o){return(255&this._subParamsIdx[o])-(this._subParamsIdx[o]>>8)>0}getSubParams(o){let d=this._subParamsIdx[o]>>8,f=255&this._subParamsIdx[o];return f-d>0?this._subParams.subarray(d,f):null}getSubParamsAll(){let o={};for(let d=0;d<this.length;++d){let f=this._subParamsIdx[d]>>8,g=255&this._subParamsIdx[d];g-f>0&&(o[d]=this._subParams.slice(f,g))}return o}addDigit(o){let d;if(this._rejectDigits||!(d=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let f=this._digitIsSub?this._subParams:this.params,g=f[d-1];f[d-1]=~g?Math.min(10*g+o,n):o}}r.Params=h},5741:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.AddonManager=void 0,r.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let n=this._addons.length-1;n>=0;n--)this._addons[n].instance.dispose()}loadAddon(n,h){let u={instance:h,dispose:h.dispose,isDisposed:!1};this._addons.push(u),h.dispose=()=>this._wrappedAddonDispose(u),h.activate(n)}_wrappedAddonDispose(n){if(n.isDisposed)return;let h=-1;for(let u=0;u<this._addons.length;u++)if(this._addons[u]===n){h=u;break}if(h===-1)throw new Error("Could not dispose an addon that has not been loaded");n.isDisposed=!0,n.dispose.apply(n.instance),this._addons.splice(h,1)}}},8771:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferApiView=void 0;let h=n(3785),u=n(511);r.BufferApiView=class{constructor(o,d){this._buffer=o,this.type=d}init(o){return this._buffer=o,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(o){let d=this._buffer.lines.get(o);if(d)return new h.BufferLineApiView(d)}getNullCell(){return new u.CellData}}},3785:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLineApiView=void 0;let h=n(511);r.BufferLineApiView=class{constructor(u){this._line=u}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(u,o){if(!(u<0||u>=this._line.length))return o?(this._line.loadCell(u,o),o):this._line.loadCell(u,new h.CellData)}translateToString(u,o,d){return this._line.translateToString(u,o,d)}}},8285:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferNamespaceApi=void 0;let h=n(8771),u=n(8460),o=n(844);class d extends o.Disposable{constructor(g){super(),this._core=g,this._onBufferChange=this.register(new u.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new h.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new h.BufferApiView(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 new 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)}}r.BufferNamespaceApi=d},7975:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ParserApi=void 0,r.ParserApi=class{constructor(n){this._core=n}registerCsiHandler(n,h){return this._core.registerCsiHandler(n,u=>h(u.toArray()))}addCsiHandler(n,h){return this.registerCsiHandler(n,h)}registerDcsHandler(n,h){return this._core.registerDcsHandler(n,(u,o)=>h(u,o.toArray()))}addDcsHandler(n,h){return this.registerDcsHandler(n,h)}registerEscHandler(n,h){return this._core.registerEscHandler(n,h)}addEscHandler(n,h){return this.registerEscHandler(n,h)}registerOscHandler(n,h){return this._core.registerOscHandler(n,h)}addOscHandler(n,h){return this.registerOscHandler(n,h)}}},7090:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeApi=void 0,r.UnicodeApi=class{constructor(n){this._core=n}register(n){this._core.unicodeService.register(n)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(n){this._core.unicodeService.activeVersion=n}}},744:function(E,r,n){var h=this&&this.__decorate||function(e,s,t,i){var a,l=arguments.length,v=l<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,t):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(e,s,t,i);else for(var m=e.length-1;m>=0;m--)(a=e[m])&&(v=(l<3?a(v):l>3?a(s,t,v):a(s,t))||v);return l>3&&v&&Object.defineProperty(s,t,v),v},u=this&&this.__param||function(e,s){return function(t,i){s(t,i,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferService=r.MINIMUM_ROWS=r.MINIMUM_COLS=void 0;let o=n(8460),d=n(844),f=n(5295),g=n(2585);r.MINIMUM_COLS=2,r.MINIMUM_ROWS=1;let _=r.BufferService=class extends d.Disposable{get buffer(){return this.buffers.active}constructor(e){super(),this.isUserScrolling=!1,this._onResize=this.register(new o.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new o.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,r.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,r.MINIMUM_ROWS),this.buffers=this.register(new f.BufferSet(e,this))}resize(e,s){this.cols=e,this.rows=s,this.buffers.resize(e,s),this._onResize.fire({cols:e,rows:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,s=!1){let t=this.buffer,i;i=this._cachedBlankLine,i&&i.length===this.cols&&i.getFg(0)===e.fg&&i.getBg(0)===e.bg||(i=t.getBlankLine(e,s),this._cachedBlankLine=i),i.isWrapped=s;let a=t.ybase+t.scrollTop,l=t.ybase+t.scrollBottom;if(t.scrollTop===0){let v=t.lines.isFull;l===t.lines.length-1?v?t.lines.recycle().copyFrom(i):t.lines.push(i.clone()):t.lines.splice(l+1,0,i.clone()),v?this.isUserScrolling&&(t.ydisp=Math.max(t.ydisp-1,0)):(t.ybase++,this.isUserScrolling||t.ydisp++)}else{let v=l-a+1;t.lines.shiftElements(a+1,v-1,-1),t.lines.set(l,i.clone())}this.isUserScrolling||(t.ydisp=t.ybase),this._onScroll.fire(t.ydisp)}scrollLines(e,s,t){let i=this.buffer;if(e<0){if(i.ydisp===0)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);let a=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),a!==i.ydisp&&(s||this._onScroll.fire(i.ydisp))}};r.BufferService=_=h([u(0,g.IOptionsService)],_)},7994:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CharsetService=void 0,r.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(n){this.glevel=n,this.charset=this._charsets[n]}setgCharset(n,h){this._charsets[n]=h,this.glevel===n&&(this.charset=h)}}},1753:function(E,r,n){var h=this&&this.__decorate||function(i,a,l,v){var m,c=arguments.length,p=c<3?a:v===null?v=Object.getOwnPropertyDescriptor(a,l):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(i,a,l,v);else for(var b=i.length-1;b>=0;b--)(m=i[b])&&(p=(c<3?m(p):c>3?m(a,l,p):m(a,l))||p);return c>3&&p&&Object.defineProperty(a,l,p),p},u=this&&this.__param||function(i,a){return function(l,v){a(l,v,i)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreMouseService=void 0;let o=n(2585),d=n(8460),f=n(844),g={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:i=>i.button!==4&&i.action===1&&(i.ctrl=!1,i.alt=!1,i.shift=!1,!0)},VT200:{events:19,restrict:i=>i.action!==32},DRAG:{events:23,restrict:i=>i.action!==32||i.button!==3},ANY:{events:31,restrict:i=>!0}};function _(i,a){let l=(i.ctrl?16:0)|(i.shift?4:0)|(i.alt?8:0);return i.button===4?(l|=64,l|=i.action):(l|=3&i.button,4&i.button&&(l|=64),8&i.button&&(l|=128),i.action===32?l|=32:i.action!==0||a||(l|=3)),l}let e=String.fromCharCode,s={DEFAULT:i=>{let a=[_(i,!1)+32,i.col+32,i.row+32];return a[0]>255||a[1]>255||a[2]>255?"":`\x1B[M${e(a[0])}${e(a[1])}${e(a[2])}`},SGR:i=>{let a=i.action===0&&i.button!==4?"m":"M";return`\x1B[<${_(i,!0)};${i.col};${i.row}${a}`},SGR_PIXELS:i=>{let a=i.action===0&&i.button!==4?"m":"M";return`\x1B[<${_(i,!0)};${i.x};${i.y}${a}`}},t=r.CoreMouseService=class extends f.Disposable{constructor(i,a){super(),this._bufferService=i,this._coreService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new d.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(let l of Object.keys(g))this.addProtocol(l,g[l]);for(let l of Object.keys(s))this.addEncoding(l,s[l]);this.reset()}addProtocol(i,a){this._protocols[i]=a}addEncoding(i,a){this._encodings[i]=a}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(i){if(!this._protocols[i])throw new Error(`unknown protocol "${i}"`);this._activeProtocol=i,this._onProtocolChange.fire(this._protocols[i].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(i){if(!this._encodings[i])throw new Error(`unknown encoding "${i}"`);this._activeEncoding=i}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(i){if(i.col<0||i.col>=this._bufferService.cols||i.row<0||i.row>=this._bufferService.rows||i.button===4&&i.action===32||i.button===3&&i.action!==32||i.button!==4&&(i.action===2||i.action===3)||(i.col++,i.row++,i.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,i,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(i))return!1;let a=this._encodings[this._activeEncoding](i);return a&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(a):this._coreService.triggerDataEvent(a,!0)),this._lastEvent=i,!0}explainEvents(i){return{down:!!(1&i),up:!!(2&i),drag:!!(4&i),move:!!(8&i),wheel:!!(16&i)}}_equalEvents(i,a,l){if(l){if(i.x!==a.x||i.y!==a.y)return!1}else if(i.col!==a.col||i.row!==a.row)return!1;return i.button===a.button&&i.action===a.action&&i.ctrl===a.ctrl&&i.alt===a.alt&&i.shift===a.shift}};r.CoreMouseService=t=h([u(0,o.IBufferService),u(1,o.ICoreService)],t)},6975:function(E,r,n){var h=this&&this.__decorate||function(t,i,a,l){var v,m=arguments.length,c=m<3?i:l===null?l=Object.getOwnPropertyDescriptor(i,a):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(t,i,a,l);else for(var p=t.length-1;p>=0;p--)(v=t[p])&&(c=(m<3?v(c):m>3?v(i,a,c):v(i,a))||c);return m>3&&c&&Object.defineProperty(i,a,c),c},u=this&&this.__param||function(t,i){return function(a,l){i(a,l,t)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreService=void 0;let o=n(1439),d=n(8460),f=n(844),g=n(2585),_=Object.freeze({insertMode:!1}),e=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),s=r.CoreService=class extends f.Disposable{constructor(t,i,a){super(),this._bufferService=t,this._logService=i,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new d.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new d.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new d.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new d.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,o.clone)(_),this.decPrivateModes=(0,o.clone)(e)}reset(){this.modes=(0,o.clone)(_),this.decPrivateModes=(0,o.clone)(e)}triggerDataEvent(t,i=!1){if(this._optionsService.rawOptions.disableStdin)return;let a=this._bufferService.buffer;i&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),i&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`,()=>t.split("").map(l=>l.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`,()=>t.split("").map(i=>i.charCodeAt(0))),this._onBinary.fire(t))}};r.CoreService=s=h([u(0,g.IBufferService),u(1,g.ILogService),u(2,g.IOptionsService)],s)},9074:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DecorationService=void 0;let h=n(8055),u=n(8460),o=n(844),d=n(6106),f=0,g=0;class _ extends o.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new d.SortedList(t=>t?.marker.line),this._onDecorationRegistered=this.register(new u.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new u.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,o.toDisposable)(()=>this.reset()))}registerDecoration(t){if(t.marker.isDisposed)return;let i=new e(t);if(i){let a=i.marker.onDispose(()=>i.dispose());i.onDispose(()=>{i&&(this._decorations.delete(i)&&this._onDecorationRemoved.fire(i),a.dispose())}),this._decorations.insert(i),this._onDecorationRegistered.fire(i)}return i}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,i,a){var l,v,m;let c=0,p=0;for(let b of this._decorations.getKeyIterator(i))c=(l=b.options.x)!==null&&l!==void 0?l:0,p=c+((v=b.options.width)!==null&&v!==void 0?v:1),t>=c&&t<p&&(!a||((m=b.options.layer)!==null&&m!==void 0?m:"bottom")===a)&&(yield b)}forEachDecorationAtCell(t,i,a,l){this._decorations.forEachByKey(i,v=>{var m,c,p;f=(m=v.options.x)!==null&&m!==void 0?m:0,g=f+((c=v.options.width)!==null&&c!==void 0?c:1),t>=f&&t<g&&(!a||((p=v.options.layer)!==null&&p!==void 0?p:"bottom")===a)&&l(v)})}}r.DecorationService=_;class e extends o.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=h.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=h.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(t){super(),this.options=t,this.onRenderEmitter=this.register(new u.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new u.EventEmitter),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")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InstantiationService=r.ServiceCollection=void 0;let h=n(2585),u=n(8343);class o{constructor(...f){this._entries=new Map;for(let[g,_]of f)this.set(g,_)}set(f,g){let _=this._entries.get(f);return this._entries.set(f,g),_}forEach(f){for(let[g,_]of this._entries.entries())f(g,_)}has(f){return this._entries.has(f)}get(f){return this._entries.get(f)}}r.ServiceCollection=o,r.InstantiationService=class{constructor(){this._services=new o,this._services.set(h.IInstantiationService,this)}setService(d,f){this._services.set(d,f)}getService(d){return this._services.get(d)}createInstance(d,...f){let g=(0,u.getServiceDependencies)(d).sort((s,t)=>s.index-t.index),_=[];for(let s of g){let t=this._services.get(s.id);if(!t)throw new Error(`[createInstance] ${d.name} depends on UNKNOWN service ${s.id}.`);_.push(t)}let e=g.length>0?g[0].index:f.length;if(f.length!==e)throw new Error(`[createInstance] First service dependency of ${d.name} at position ${e+1} conflicts with ${f.length} static arguments`);return new d(...f,..._)}}},7866:function(E,r,n){var h=this&&this.__decorate||function(e,s,t,i){var a,l=arguments.length,v=l<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,t):i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(e,s,t,i);else for(var m=e.length-1;m>=0;m--)(a=e[m])&&(v=(l<3?a(v):l>3?a(s,t,v):a(s,t))||v);return l>3&&v&&Object.defineProperty(s,t,v),v},u=this&&this.__param||function(e,s){return function(t,i){s(t,i,e)}};Object.defineProperty(r,"__esModule",{value:!0}),r.traceCall=r.setTraceLogger=r.LogService=void 0;let o=n(844),d=n(2585),f={trace:d.LogLevelEnum.TRACE,debug:d.LogLevelEnum.DEBUG,info:d.LogLevelEnum.INFO,warn:d.LogLevelEnum.WARN,error:d.LogLevelEnum.ERROR,off:d.LogLevelEnum.OFF},g,_=r.LogService=class extends o.Disposable{get logLevel(){return this._logLevel}constructor(e){super(),this._optionsService=e,this._logLevel=d.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),g=this}_updateLogLevel(){this._logLevel=f[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let s=0;s<e.length;s++)typeof e[s]=="function"&&(e[s]=e[s]())}_log(e,s,t){this._evalLazyOptionalParams(t),e.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+s,...t)}trace(e,...s){var t,i;this._logLevel<=d.LogLevelEnum.TRACE&&this._log((i=(t=this._optionsService.options.logger)===null||t===void 0?void 0:t.trace.bind(this._optionsService.options.logger))!==null&&i!==void 0?i:console.log,e,s)}debug(e,...s){var t,i;this._logLevel<=d.LogLevelEnum.DEBUG&&this._log((i=(t=this._optionsService.options.logger)===null||t===void 0?void 0:t.debug.bind(this._optionsService.options.logger))!==null&&i!==void 0?i:console.log,e,s)}info(e,...s){var t,i;this._logLevel<=d.LogLevelEnum.INFO&&this._log((i=(t=this._optionsService.options.logger)===null||t===void 0?void 0:t.info.bind(this._optionsService.options.logger))!==null&&i!==void 0?i:console.info,e,s)}warn(e,...s){var t,i;this._logLevel<=d.LogLevelEnum.WARN&&this._log((i=(t=this._optionsService.options.logger)===null||t===void 0?void 0:t.warn.bind(this._optionsService.options.logger))!==null&&i!==void 0?i:console.warn,e,s)}error(e,...s){var t,i;this._logLevel<=d.LogLevelEnum.ERROR&&this._log((i=(t=this._optionsService.options.logger)===null||t===void 0?void 0:t.error.bind(this._optionsService.options.logger))!==null&&i!==void 0?i:console.error,e,s)}};r.LogService=_=h([u(0,d.IOptionsService)],_),r.setTraceLogger=function(e){g=e},r.traceCall=function(e,s,t){if(typeof t.value!="function")throw new Error("not supported");let i=t.value;t.value=function(...a){if(g.logLevel!==d.LogLevelEnum.TRACE)return i.apply(this,a);g.trace(`GlyphRenderer#${i.name}(${a.map(v=>JSON.stringify(v)).join(", ")})`);let l=i.apply(this,a);return g.trace(`GlyphRenderer#${i.name} return`,l),l}}},7302:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OptionsService=r.DEFAULT_OPTIONS=void 0;let h=n(8460),u=n(844),o=n(6114);r.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:o.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};let d=["normal","bold","100","200","300","400","500","600","700","800","900"];class f extends u.Disposable{constructor(_){super(),this._onOptionChange=this.register(new h.EventEmitter),this.onOptionChange=this._onOptionChange.event;let e=Object.assign({},r.DEFAULT_OPTIONS);for(let s in _)if(s in e)try{let t=_[s];e[s]=this._sanitizeAndValidateOption(s,t)}catch(t){console.error(t)}this.rawOptions=e,this.options=Object.assign({},e),this._setupOptions()}onSpecificOptionChange(_,e){return this.onOptionChange(s=>{s===_&&e(this.rawOptions[_])})}onMultipleOptionChange(_,e){return this.onOptionChange(s=>{_.indexOf(s)!==-1&&e()})}_setupOptions(){let _=s=>{if(!(s in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},e=(s,t)=>{if(!(s in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${s}"`);t=this._sanitizeAndValidateOption(s,t),this.rawOptions[s]!==t&&(this.rawOptions[s]=t,this._onOptionChange.fire(s))};for(let s in this.rawOptions){let t={get:_.bind(this,s),set:e.bind(this,s)};Object.defineProperty(this.options,s,t)}}_sanitizeAndValidateOption(_,e){switch(_){case"cursorStyle":if(e||(e=r.DEFAULT_OPTIONS[_]),!function(s){return s==="block"||s==="underline"||s==="bar"}(e))throw new Error(`"${e}" is not a valid value for ${_}`);break;case"wordSeparator":e||(e=r.DEFAULT_OPTIONS[_]);break;case"fontWeight":case"fontWeightBold":if(typeof e=="number"&&1<=e&&e<=1e3)break;e=d.includes(e)?e:r.DEFAULT_OPTIONS[_];break;case"cursorWidth":e=Math.floor(e);case"lineHeight":case"tabStopWidth":if(e<1)throw new Error(`${_} cannot be less than 1, value: ${e}`);break;case"minimumContrastRatio":e=Math.max(1,Math.min(21,Math.round(10*e)/10));break;case"scrollback":if((e=Math.min(e,4294967295))<0)throw new Error(`${_} cannot be less than 0, value: ${e}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(e<=0)throw new Error(`${_} cannot be less than or equal to 0, value: ${e}`);break;case"rows":case"cols":if(!e&&e!==0)throw new Error(`${_} must be numeric, value: ${e}`);break;case"windowsPty":e=e??{}}return e}}r.OptionsService=f},2660:function(E,r,n){var h=this&&this.__decorate||function(f,g,_,e){var s,t=arguments.length,i=t<3?g:e===null?e=Object.getOwnPropertyDescriptor(g,_):e;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(f,g,_,e);else for(var a=f.length-1;a>=0;a--)(s=f[a])&&(i=(t<3?s(i):t>3?s(g,_,i):s(g,_))||i);return t>3&&i&&Object.defineProperty(g,_,i),i},u=this&&this.__param||function(f,g){return function(_,e){g(_,e,f)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkService=void 0;let o=n(2585),d=r.OscLinkService=class{constructor(f){this._bufferService=f,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(f){let g=this._bufferService.buffer;if(f.id===void 0){let a=g.addMarker(g.ybase+g.y),l={data:f,id:this._nextId++,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(l,a)),this._dataByLinkId.set(l.id,l),l.id}let _=f,e=this._getEntryIdKey(_),s=this._entriesWithId.get(e);if(s)return this.addLineToLink(s.id,g.ybase+g.y),s.id;let t=g.addMarker(g.ybase+g.y),i={id:this._nextId++,key:this._getEntryIdKey(_),data:_,lines:[t]};return t.onDispose(()=>this._removeMarkerFromLink(i,t)),this._entriesWithId.set(i.key,i),this._dataByLinkId.set(i.id,i),i.id}addLineToLink(f,g){let _=this._dataByLinkId.get(f);if(_&&_.lines.every(e=>e.line!==g)){let e=this._bufferService.buffer.addMarker(g);_.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(_,e))}}getLinkData(f){var g;return(g=this._dataByLinkId.get(f))===null||g===void 0?void 0:g.data}_getEntryIdKey(f){return`${f.id};;${f.uri}`}_removeMarkerFromLink(f,g){let _=f.lines.indexOf(g);_!==-1&&(f.lines.splice(_,1),f.lines.length===0&&(f.data.id!==void 0&&this._entriesWithId.delete(f.key),this._dataByLinkId.delete(f.id)))}};r.OscLinkService=d=h([u(0,o.IBufferService)],d)},8343:(E,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createDecorator=r.getServiceDependencies=r.serviceRegistry=void 0;let n="di$target",h="di$dependencies";r.serviceRegistry=new Map,r.getServiceDependencies=function(u){return u[h]||[]},r.createDecorator=function(u){if(r.serviceRegistry.has(u))return r.serviceRegistry.get(u);let o=function(d,f,g){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(_,e,s){e[n]===e?e[h].push({id:_,index:s}):(e[h]=[{id:_,index:s}],e[n]=e)})(o,d,g)};return o.toString=()=>u,r.serviceRegistry.set(u,o),o}},2585:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IDecorationService=r.IUnicodeService=r.IOscLinkService=r.IOptionsService=r.ILogService=r.LogLevelEnum=r.IInstantiationService=r.ICharsetService=r.ICoreService=r.ICoreMouseService=r.IBufferService=void 0;let h=n(8343);var u;r.IBufferService=(0,h.createDecorator)("BufferService"),r.ICoreMouseService=(0,h.createDecorator)("CoreMouseService"),r.ICoreService=(0,h.createDecorator)("CoreService"),r.ICharsetService=(0,h.createDecorator)("CharsetService"),r.IInstantiationService=(0,h.createDecorator)("InstantiationService"),function(o){o[o.TRACE=0]="TRACE",o[o.DEBUG=1]="DEBUG",o[o.INFO=2]="INFO",o[o.WARN=3]="WARN",o[o.ERROR=4]="ERROR",o[o.OFF=5]="OFF"}(u||(r.LogLevelEnum=u={})),r.ILogService=(0,h.createDecorator)("LogService"),r.IOptionsService=(0,h.createDecorator)("OptionsService"),r.IOscLinkService=(0,h.createDecorator)("OscLinkService"),r.IUnicodeService=(0,h.createDecorator)("UnicodeService"),r.IDecorationService=(0,h.createDecorator)("DecorationService")},1480:(E,r,n)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeService=void 0;let h=n(8460),u=n(225);r.UnicodeService=class{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new h.EventEmitter,this.onChange=this._onChange.event;let o=new u.UnicodeV6;this.register(o),this._active=o.version,this._activeProvider=o}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(o){if(!this._providers[o])throw new Error(`unknown Unicode version "${o}"`);this._active=o,this._activeProvider=this._providers[o],this._onChange.fire(o)}register(o){this._providers[o.version]=o}wcwidth(o){return this._activeProvider.wcwidth(o)}getStringCellWidth(o){let d=0,f=o.length;for(let g=0;g<f;++g){let _=o.charCodeAt(g);if(55296<=_&&_<=56319){if(++g>=f)return d+this.wcwidth(_);let e=o.charCodeAt(g);56320<=e&&e<=57343?_=1024*(_-55296)+e-56320+65536:d+=this.wcwidth(e)}d+=this.wcwidth(_)}return d}}}},x={};function F(E){var r=x[E];if(r!==void 0)return r.exports;var n=x[E]={exports:{}};return A[E].call(n.exports,n,n.exports,F),n.exports}var R={};return(()=>{var E=R;Object.defineProperty(E,"__esModule",{value:!0}),E.Terminal=void 0;let r=F(9042),n=F(3236),h=F(844),u=F(5741),o=F(8285),d=F(7975),f=F(7090),g=["cols","rows"];class _ extends h.Disposable{constructor(s){super(),this._core=this.register(new n.Terminal(s)),this._addonManager=this.register(new u.AddonManager),this._publicOptions=Object.assign({},this._core.options);let t=a=>this._core.options[a],i=(a,l)=>{this._checkReadonlyOptions(a),this._core.options[a]=l};for(let a in this._core.options){let l={get:t.bind(this,a),set:i.bind(this,a)};Object.defineProperty(this._publicOptions,a,l)}}_checkReadonlyOptions(s){if(g.includes(s))throw new Error(`Option "${s}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new 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 d.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new f.UnicodeApi(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 o.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let s=this._core.coreService.decPrivateModes,t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any"}return{applicationCursorKeysMode:s.applicationCursorKeys,applicationKeypadMode:s.applicationKeypad,bracketedPasteMode:s.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:s.origin,reverseWraparoundMode:s.reverseWraparound,sendFocusMode:s.sendFocus,wraparoundMode:s.wraparound}}get options(){return this._publicOptions}set options(s){for(let t in s)this._publicOptions[t]=s[t]}blur(){this._core.blur()}focus(){this._core.focus()}resize(s,t){this._verifyIntegers(s,t),this._core.resize(s,t)}open(s){this._core.open(s)}attachCustomKeyEventHandler(s){this._core.attachCustomKeyEventHandler(s)}registerLinkProvider(s){return this._core.registerLinkProvider(s)}registerCharacterJoiner(s){return this._checkProposedApi(),this._core.registerCharacterJoiner(s)}deregisterCharacterJoiner(s){this._checkProposedApi(),this._core.deregisterCharacterJoiner(s)}registerMarker(s=0){return this._verifyIntegers(s),this._core.registerMarker(s)}registerDecoration(s){var t,i,a;return this._checkProposedApi(),this._verifyPositiveIntegers((t=s.x)!==null&&t!==void 0?t:0,(i=s.width)!==null&&i!==void 0?i:0,(a=s.height)!==null&&a!==void 0?a:0),this._core.registerDecoration(s)}hasSelection(){return this._core.hasSelection()}select(s,t,i){this._verifyIntegers(s,t,i),this._core.select(s,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(s,t){this._verifyIntegers(s,t),this._core.selectLines(s,t)}dispose(){super.dispose()}scrollLines(s){this._verifyIntegers(s),this._core.scrollLines(s)}scrollPages(s){this._verifyIntegers(s),this._core.scrollPages(s)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(s){this._verifyIntegers(s),this._core.scrollToLine(s)}clear(){this._core.clear()}write(s,t){this._core.write(s,t)}writeln(s,t){this._core.write(s),this._core.write(`\r
`,t)}paste(s){this._core.paste(s)}refresh(s,t){this._verifyIntegers(s,t),this._core.refresh(s,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(s){this._addonManager.loadAddon(this,s)}static get strings(){return r}_verifyIntegers(...s){for(let t of s)if(t===1/0||isNaN(t)||t%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...s){for(let t of s)if(t&&(t===1/0||isNaN(t)||t%1!=0||t<0))throw new Error("This API only accepts positive integers")}}E.Terminal=_})(),R})())});var Tt=st((Ae,et)=>{"use strict";(function(A,x){typeof Ae=="object"&&typeof et=="object"?et.exports=x():typeof define=="function"&&define.amd?define([],x):typeof Ae=="object"?Ae.FitAddon=x():A.FitAddon=x()})(self,()=>(()=>{"use strict";var A={};return(()=>{var x=A;Object.defineProperty(x,"__esModule",{value:!0}),x.FitAddon=void 0,x.FitAddon=class{activate(F){this._terminal=F}dispose(){}fit(){let F=this.proposeDimensions();if(!F||!this._terminal||isNaN(F.cols)||isNaN(F.rows))return;let R=this._terminal._core;this._terminal.rows===F.rows&&this._terminal.cols===F.cols||(R._renderService.clear(),this._terminal.resize(F.cols,F.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let F=this._terminal._core,R=F._renderService.dimensions;if(R.css.cell.width===0||R.css.cell.height===0)return;let E=this._terminal.options.scrollback===0?0:F.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),h=Math.max(0,parseInt(r.getPropertyValue("width"))),u=window.getComputedStyle(this._terminal.element),o=n-(parseInt(u.getPropertyValue("padding-top"))+parseInt(u.getPropertyValue("padding-bottom"))),d=h-(parseInt(u.getPropertyValue("padding-right"))+parseInt(u.getPropertyValue("padding-left")))-E;return{cols:Math.max(2,Math.floor(d/R.css.cell.width)),rows:Math.max(1,Math.floor(o/R.css.cell.height))}}}})(),A})())});function Fe(A){let x={d:{}};for(let F of Object.keys(A)){let R=A[F];if("file"in R){let r=R.file.contents,n=typeof r=="string"?r:Ft(r),h=typeof r=="string"?{}:{b:!0};x.d[F]={f:be({c:n},h)};continue}let E=Fe(R.directory);x.d[F]=E}return x}function Ft(A){let x="";for(let F of A)x+=String.fromCharCode(F);return x}var Ht=Object.defineProperty,Wt=(A,x)=>{for(var F in x)Ht(A,F,{get:x[F],enumerable:!0})},re={};Wt(re,{createEndpoint:()=>gt,expose:()=>je,proxy:()=>Et,proxyMarker:()=>Ne,releaseProxy:()=>mt,transfer:()=>yt,transferHandlers:()=>Ue,windowEndpoint:()=>zt,wrap:()=>bt});var Ne=Symbol("Comlink.proxy"),gt=Symbol("Comlink.endpoint"),mt=Symbol("Comlink.releaseProxy"),He=Symbol("Comlink.thrown"),St=A=>typeof A=="object"&&A!==null||typeof A=="function",Nt={canHandle:A=>St(A)&&A[Ne],serialize(A){let{port1:x,port2:F}=new MessageChannel;return je(A,x),[F,[F]]},deserialize(A){return A.start(),bt(A)}},Ut={canHandle:A=>St(A)&&He in A,serialize({value:A}){let x;return A instanceof Error?x={isError:!0,value:{message:A.message,name:A.name,stack:A.stack}}:x={isError:!1,value:A},[x,[]]},deserialize(A){throw A.isError?Object.assign(new Error(A.value.message),A.value):A.value}},Ue=new Map([["proxy",Nt],["throw",Ut]]);function je(A,x=self){x.addEventListener("message",function F(R){if(!R||!R.data)return;let{id:E,type:r,path:n}=Object.assign({path:[]},R.data),h=(R.data.argumentList||[]).map(ce),u;try{let o=n.slice(0,-1).reduce((f,g)=>f[g],A),d=n.reduce((f,g)=>f[g],A);switch(r){case 0:u=d;break;case 1:o[n.slice(-1)[0]]=ce(R.data.value),u=!0;break;case 2:u=d.apply(o,h);break;case 3:{let f=new d(...h);u=Et(f)}break;case 4:{let{port1:f,port2:g}=new MessageChannel;je(A,g),u=yt(f,[f])}break;case 5:u=void 0;break}}catch(o){u={value:o,[He]:0}}Promise.resolve(u).catch(o=>({value:o,[He]:0})).then(o=>{let[d,f]=$e(o);x.postMessage(Object.assign(Object.assign({},d),{id:E}),f),r===5&&(x.removeEventListener("message",F),Ct(x))})}),x.start&&x.start()}function jt(A){return A.constructor.name==="MessagePort"}function Ct(A){jt(A)&&A.close()}function bt(A,x){return We(A,[],x)}function ke(A){if(A)throw new Error("Proxy has been released and is not useable")}function We(A,x=[],F=function(){}){let R=!1,E=new Proxy(F,{get(r,n){if(ke(R),n===mt)return()=>ue(A,{type:5,path:x.map(h=>h.toString())}).then(()=>{Ct(A),R=!0});if(n==="then"){if(x.length===0)return{then:()=>E};let h=ue(A,{type:0,path:x.map(u=>u.toString())}).then(ce);return h.then.bind(h)}return We(A,[...x,n])},set(r,n,h){ke(R);let[u,o]=$e(h);return ue(A,{type:1,path:[...x,n].map(d=>d.toString()),value:u},o).then(ce)},apply(r,n,h){ke(R);let u=x[x.length-1];if(u===gt)return ue(A,{type:4}).then(ce);if(u==="bind")return We(A,x.slice(0,-1));let[o,d]=pt(h);return ue(A,{type:2,path:x.map(f=>f.toString()),argumentList:o},d).then(ce)},construct(r,n){ke(R);let[h,u]=pt(n);return ue(A,{type:3,path:x.map(o=>o.toString()),argumentList:h},u).then(ce)}});return E}function $t(A){return Array.prototype.concat.apply([],A)}function pt(A){let x=A.map($e);return[x.map(F=>F[0]),$t(x.map(F=>F[1]))]}var wt=new WeakMap;function yt(A,x){return wt.set(A,x),A}function Et(A){return Object.assign(A,{[Ne]:!0})}function zt(A,x=self,F="*"){return{postMessage:(R,E)=>A.postMessage(R,F,E),addEventListener:x.addEventListener.bind(x),removeEventListener:x.removeEventListener.bind(x)}}function $e(A){for(let[x,F]of Ue)if(F.canHandle(A)){let[R,E]=F.serialize(A);return[{type:3,name:x,value:R},E]}return[{type:0,value:A},wt.get(A)||[]]}function ce(A){switch(A.type){case 3:return Ue.get(A.name).deserialize(A.value);case 0:return A.value}}function ue(A,x,F){return new Promise(R=>{let E=Kt();A.addEventListener("message",function r(n){!n.data||!n.data.id||n.data.id!==E||(A.removeEventListener("message",r),R(n.data))}),A.start&&A.start(),A.postMessage(Object.assign({id:E},x),F)})}function Kt(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}var qt="https://stackblitz.com/headless",Re=null,De=null,ze={},Vt=new TextDecoder,Gt=new TextEncoder,Ye=(()=>{class A{_instance;_runtimeInfo;fs;static _instance=null;_tornDown=!1;constructor(F,R,E){this._instance=F,this._runtimeInfo=E,this.fs=new Ge(R)}spawn(F,R,E){return K(this,null,function*(){let r=[];Array.isArray(R)?r=R:E=R;let n,h=new ReadableStream;if(E?.output!==!1){let d=si();n=d.push,h=d.stream}let u=kt(Zt(n)),o=yield this._instance.run({command:F,args:r,env:E?.env,terminal:E?.terminal},void 0,void 0,u);return new Ve(o,h)})}on(F,R){let E=!1,r=()=>{},n=(...h)=>{E||R(...h)};return this._instance.on(F,re.proxy(n)).then(h=>{r=h,E&&r()}),()=>{E=!0,r()}}mount(F,R){let E=F instanceof Uint8Array?F:Gt.encode(JSON.stringify(Fe(F)));return this._instance.loadFiles(re.transfer(E,[E.buffer]),{mountPoints:R?.mountPoint})}get path(){return this._runtimeInfo.path}get workdir(){return this._runtimeInfo.cwd}teardown(){if(this._tornDown)throw new Error("WebContainer already torn down");this._tornDown=!0,this.fs._teardown(),this._instance.teardown(),this._instance[re.releaseProxy](),A._instance===this&&(A._instance=null)}static boot(){return K(this,arguments,function*(F={}){let{workdirName:R}=F;if(window.crossOriginIsolated&&F.coep==="none"&&console.warn(`A Cross-Origin-Embedder-Policy header is required in cross origin isolated environments.
Set the 'coep' option to 'require-corp'.`),R?.includes("/")||R===".."||R===".")throw new Error("workdirName should be a valid folder name");for(;Re;)yield Re;if(A._instance)throw new Error("Only a single WebContainer instance can be booted");let E=Jt(F);Re=E.catch(()=>{});try{let r=yield E;return A._instance=r,r}finally{Re=null}})}}return A})(),Yt=1,Xt=2,Ke=class{name;_type;constructor(x,F){this.name=x,this._type=F}isFile(){return this._type===Yt}isDirectory(){return this._type===Xt}},qe=class{_apiClient;_path;_options;_listener;_wrappedListener;_watcher;_closed=!1;constructor(x,F,R,E){this._apiClient=x,this._path=F,this._options=R,this._listener=E,this._apiClient._watchers.add(this),this._wrappedListener=(r,n)=>{this._listener&&!this._closed&&this._listener(r,n)},this._apiClient._fs.watch(this._path,this._options,kt(this._wrappedListener)).then(r=>{this._watcher=r,this._closed&&this._teardown()}).catch(console.error)}close(){this._closed||(this._closed=!0,this._apiClient._watchers.delete(this),this._teardown())}_teardown(){this._watcher?.close().finally(()=>{this._watcher?.[re.releaseProxy]()})}},Ve=class{output;input;exit;_process;constructor(x,F){this.output=F,this._process=x,this.input=new WritableStream({write:R=>{this._getProcess()?.write(R).catch(()=>{})}}),this.exit=this._onExit()}kill(){this._getProcess()?.kill()}resize(x){this._getProcess()?.resize(x)}_onExit(){return K(this,null,function*(){try{return yield this._process.onExit}finally{this._process?.[re.releaseProxy](),this._process=null}})}_getProcess(){return this._process==null&&console.warn("This process already exited"),this._process}},Ge=class{_fs;_watchers=new Set([]);constructor(x){this._fs=x}rm(...x){return this._fs.rm(...x)}readFile(x,F){return K(this,null,function*(){return yield this._fs.readFile(x,F)})}rename(x,F){return K(this,null,function*(){return yield this._fs.rename(x,F)})}writeFile(x,F,R){return K(this,null,function*(){if(F instanceof Uint8Array){let E=F.buffer.slice(F.byteOffset,F.byteOffset+F.byteLength);F=re.transfer(new Uint8Array(E),[E])}yield this._fs.writeFile(x,F,R)})}readdir(x,F){return K(this,null,function*(){let R=yield this._fs.readdir(x,F);return ei(R)||ti(R)?R:R.map(r=>new Ke(r.name,r["Symbol(type)"]))})}mkdir(x,F){return K(this,null,function*(){return yield this._fs.mkdir(x,F)})}watch(x,F,R){return typeof F=="function"&&(R=F,F=null),new qe(this,x,F,R)}_teardown(){this._fs[re.releaseProxy]();for(let x of this._watchers)x.close()}};function Jt(A){return K(this,null,function*(){let{serverPromise:x}=Qt(A),R=yield(yield x).build({host:window.location.host,version:"1.1.8",workdirName:A.workdirName}),E=yield R.fs(),r=yield R.runtimeInfo();return new Ye(R,E,r)})}function Zt(A){if(A!=null)return x=>{x instanceof Uint8Array?A(Vt.decode(x)):x==null&&A(null)}}function kt(A){if(A!=null)return re.proxy(A)}function Qt(A){if(De!=null)return A.coep!==ze.coep&&(console.warn(`Attempting to boot WebContainer with 'coep: ${A.coep}'`),console.warn(`First boot had 'coep: ${ze.coep}', new settings will not take effect!`)),{serverPromise:De};let x=document.createElement("iframe");x.style.display="none",x.setAttribute("allow","cross-origin-isolated");let F=ii();F.searchParams.set("version","1.1.8"),A.coep&&F.searchParams.set("coep",A.coep),x.src=F.toString();let{origin:R}=F;return ze=be({},A),De=new Promise(E=>{let r=n=>{if(n.origin!==R)return;let{data:h}=n;if(h.type==="init"){E(re.wrap(n.ports[0]));return}if(h.type==="warning"){console[h.level].call(console,h.message);return}};window.addEventListener("message",r)}),document.body.insertBefore(x,null),{serverPromise:De}}function ei(A){return typeof A[0]=="string"}function ti(A){return A[0]instanceof Uint8Array}function ii(){return new URL(window.WEBCONTAINER_API_IFRAME_URL??qt)}function si(){let A=null;return{stream:new ReadableStream({start(R){A=R}}),push:R=>{R!=null?A?.enqueue(R):(A?.close(),A=null)}}}var ri=3,Xe="numberOfWebcontainers",me=function(A){return A[A.OUT_OF_MEMORY=0]="OUT_OF_MEMORY",A[A.MOBILE=1]="MOBILE",A}(me||{}),Rt=(()=>{let x=class x{constructor(){this.localStorage=ie(lt),this.window=ie(Ee),this.snackBar=ie(ut)}init(){this.listenToLocalStorageValuesChange(),this.increaseInstancesCounter(),this.decreaseInstancesCounterOnPageClose(),this.checkDevice()}listenToLocalStorageValuesChange(){this.window.addEventListener("storage",()=>{let R=this.getStoredCountOfWebcontainerInstances();this.validateRunningInstances(R)})}increaseInstancesCounter(){let R=this.getStoredCountOfWebcontainerInstances()+1;this.localStorage?.setItem(Xe,R.toString()),this.validateRunningInstances(R)}decreaseInstancesCounterOnPageClose(){this.window.addEventListener("beforeunload",()=>{let R=this.getStoredCountOfWebcontainerInstances()-1;this.localStorage?.setItem(Xe,R.toString()),this.validateRunningInstances(R)})}getStoredCountOfWebcontainerInstances(){let R=this.localStorage?.getItem(Xe);return!R||Number.isNaN(R)?0:Number(R)}validateRunningInstances(R){R>ri&&this.openSnackBar(me.OUT_OF_MEMORY)}checkDevice(){at&&this.openSnackBar(me.MOBILE)}openSnackBar(R){let E="";switch(R){case me.OUT_OF_MEMORY:E="Your browser is currently limiting the memory available to run the Angular Tutorials or Playground. If you have multiple tabs open with Tutorials or Playground, please close some of them and refresh this page.";break;case me.MOBILE:E="You are running the embedded editor in a mobile device, this may result in an Out of memory error.";break}this.snackBar.openFromComponent(_t,{panelClass:"docs-invert-mode",data:{message:E,actionText:"I understand"}})}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();var Se="/assets/tutorials",ni="source-code",oi="metadata",Ei=`${Se}/${ni}`,ki=`${Se}/${oi}`;var Dt=(()=>{let x=class x{constructor(){this.tutorialId=Y(""),this.tutorialFilesystemTree=Y(null),this.commonFilesystemTree=Y(null),this.type=Y(void 0),this.allFiles=Y([]),this.hiddenFiles=Y([]),this.tutorialFiles=Y({}),this.openFiles=Y([]),this.answerFiles=Y({}),this.dependencies=Y(void 0),this._shouldReInstallDependencies=Y(!1),this.shouldReInstallDependencies=this._shouldReInstallDependencies.asReadonly(),this.metadata=Y(void 0),this._shouldChangeTutorial$=new ye(!1),this.tutorialChanged$=this._shouldChangeTutorial$.asObservable(),this._filesToDeleteFromPreviousProject=Y(new Set),this.filesToDeleteFromPreviousProject=this._filesToDeleteFromPreviousProject.asReadonly()}fetchAndSetTutorialFiles(R){return K(this,null,function*(){let[E,r,n]=yield Promise.all([this.fetchCommonFiles(),this.fetchTutorialSourceCode(R),this.fetchTutorialMetadata(R)]),h=!!this.tutorialId()&&this.tutorialId()!==R;if(this.tutorialId.set(R),this.type.set(n.type),this.metadata.set(n),r){if(h){let u=this.computeFilesToRemove(n.allFiles,this.allFiles());u&&this._filesToDeleteFromPreviousProject.set(u),this._shouldReInstallDependencies.set(this.checkIfDependenciesChanged(n.dependencies??{}))}this.tutorialFilesystemTree.set(r),this.dependencies.set(n.dependencies??{}),this.tutorialFiles.set(n.tutorialFiles),this.answerFiles.set(n.answerFiles??{}),this.openFiles.set(n.openFiles),this.hiddenFiles.set(n.hiddenFiles),this.allFiles.set(n.allFiles),this.commonFilesystemTree()||this.commonFilesystemTree.set(E)}this._shouldChangeTutorial$.next(h)})}revealAnswer(){let R=Object.keys(this.answerFiles()),E=Array.from(new Set([...this.openFiles(),...R])).filter(u=>!this.hiddenFiles()?.includes(u)),r=Object.fromEntries(E.map(u=>[u,this.answerFiles()[u]])),n=[...this.allFiles(),...R],h=this.computeFilesToRemove(n,this.allFiles());h&&this._filesToDeleteFromPreviousProject.set(h),this.allFiles.set(n),this.tutorialFiles.set(r),this.openFiles.set(E),this._shouldChangeTutorial$.next(!0)}resetRevealAnswer(){let R=this.metadata().allFiles,E=this.computeFilesToRemove(R,this.allFiles());E&&this._filesToDeleteFromPreviousProject.set(E),this.tutorialFiles.set(this.metadata().tutorialFiles),this.openFiles.set(this.metadata().openFiles),this._shouldChangeTutorial$.next(!0)}fetchCommonFiles(){return K(this,null,function*(){return this.commonFilesystemTree()!==null?this.commonFilesystemTree():{}})}fetchTutorialSourceCode(R){return K(this,null,function*(){let E=yield fetch(`${Se}/${R}/source-code.json`);if(!E.ok)throw new Error(`Missing source code for tutorial ${R}`);return yield E.json()})}fetchTutorialMetadata(R){return K(this,null,function*(){let E=yield fetch(`${Se}/${R}/metadata.json`);if(!E.ok)throw new Error(`Missing metadata for ${R}`);return yield E.json()})}checkIfDependenciesChanged(R){let E=this.dependencies();for(let r of Object.keys(R))if(E?.[r]!==R[r])return!0;return!1}computeFilesToRemove(R,E){let r=new Set(E);for(let n of R)r.delete(n);return r}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();var Z=function(A){return A[A.NOT_STARTED=0]="NOT_STARTED",A[A.BOOT=1]="BOOT",A[A.LOAD_FILES=2]="LOAD_FILES",A[A.INSTALL=3]="INSTALL",A[A.START_DEV_SERVER=4]="START_DEV_SERVER",A[A.READY=5]="READY",A[A.ERROR=6]="ERROR",A}(Z||{});var he=function(A){return A[A.UNKNOWN=0]="UNKNOWN",A[A.COOKIES=1]="COOKIES",A[A.OUT_OF_MEMORY=2]="OUT_OF_MEMORY",A[A.UNSUPPORTED_BROWSER_ENVIRONMENT=3]="UNSUPPORTED_BROWSER_ENVIRONMENT",A}(he||{}),Lt=(()=>{let x=class x{constructor(){this._loadingStep=Y(Z.NOT_STARTED),this.loadingStep=this._loadingStep.asReadonly(),this._isResetting=Y(!1),this.isResetting=this._isResetting.asReadonly(),this._error=Y(void 0),this.error=this._error.asReadonly(),this.checkUnsupportedEnvironment()}setLoadingStep(R){this._loadingStep.set(R)}setIsResetting(R){this._isResetting.set(R)}setError({message:R,type:E}){E??=this.getErrorType(R),this._error.set({message:R,type:E}),this.setLoadingStep(Z.ERROR)}getErrorType(R){return R?.includes(Je)?he.OUT_OF_MEMORY:R?.toLowerCase().includes("service worker")?he.COOKIES:he.UNKNOWN}checkUnsupportedEnvironment(){(ht||ct)&&this.setError({message:"Unsupported environment",type:he.UNSUPPORTED_BROWSER_ENVIRONMENT})}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();var Ot=Ie(Qe()),tt=Ie(Tt());var Bt=Ie(Qe());var ai=["ng serve","ng s","ng generate","ng g","ng version","ng v","ng update","ng test","ng t","ng e2e","ng e","ng add","ng config","ng new"],xt=(()=>{let x=class x{validate(R){return ai.some(E=>E===R||R.startsWith(`${E} `))}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();var hi="Angular Documentation - Not allowed command!",ci=["Backspace","ArrowUp","ArrowDown"],Te=class extends Bt.Terminal{constructor(){super({convertEol:!0,disableStdin:!1}),this.window=ie(Ee),this.commandValidator=ie(xt),this.breakProcess=new we,this.breakProcess$=this.breakProcess.asObservable(),this.window.location.search.includes("sudo=true")||this.handleCommandExecution()}breakCurrentProcess(){this.breakProcess.next()}handleCommandExecution(){let x="\u276F",F="\x1B[1;31m";this.attachCustomKeyEventHandler(R=>{if(ci.includes(R.key))return!0;if(["keydown","keyup"].includes(R.type))return!1;if(R.key==="Enter"){let E=Array.from(this.element.querySelectorAll(".xterm-rows>div")).map(n=>Array.from(n.querySelectorAll("span:not(.xterm-fg-6)")).map(h=>h.textContent).join("").trim()).filter(n=>!!n&&n.startsWith(x)),r=E.length>0?E[E.length-1].replace(x,"").trim():"";if(r&&!this.commandValidator.validate(r))return this.writeln(`
${F}${hi}`),this.breakCurrentProcess(),!1}return!0})}};var le=function(A){return A[A.READONLY=0]="READONLY",A[A.INTERACTIVE=1]="INTERACTIVE",A}(le||{}),Mt=(()=>{let x=class x{constructor(){this.terminals={[le.READONLY]:{instance:new Ot.Terminal({convertEol:!0,disableStdin:!0}),fitAddon:new tt.FitAddon},[le.INTERACTIVE]:{instance:new Te,fitAddon:new tt.FitAddon}}}get readonlyTerminalInstance(){return this.terminals[le.READONLY].instance}get interactiveTerminalInstance(){return this.terminals[le.INTERACTIVE].instance}registerTerminal(R,E){let r=this.terminals[R];this.mapTerminalToElement(r.instance,r.fitAddon,E)}resizeToFitParent(R){this.terminals[R]?.fitAddon.fit()}clearTerminals(){this.terminals[le.READONLY].instance.clear(),this.terminals[le.INTERACTIVE].instance.clear()}mapTerminalToElement(R,E,r){R.open(r),E.fit()}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();var Pt=(()=>{let x=class x{constructor(){this.librariesToGetTypesFrom=["@angular/common","@angular/core","@angular/forms","@angular/router","@angular/platform-browser","@angular/material","@angular/cdk"],this._typings=Y([]),this.typings=this._typings.asReadonly(),this.typings$=vt(this._typings)}retrieveTypeDefinitions(R){return K(this,null,function*(){this.webContainer=R;let E=[];try{let r=yield this.getFilesToRead();r&&r.length>0&&(yield Promise.all(r.map(n=>R.fs.readFile(n,"utf-8").then(h=>{E.push({path:n,content:h})}))),this._typings.set(E))}catch(r){if(r?.message.startsWith("ENOENT"))return;throw r}})}getFilesToRead(){return K(this,null,function*(){if(!this.webContainer)return;let R=[],E=[];for(let n of this.librariesToGetTypesFrom){let h=yield this.webContainer.fs.readFile(`./node_modules/${n}/package.json`,"utf-8").catch(o=>{if(!o?.message.startsWith("ENOENT"))throw o});if(!h)continue;let u=JSON.parse(h);if(u?.exports)for(let o of Object.keys(u.exports)){let d=u.exports[o],f=d.typings??d.types;if(f){let g=`/node_modules/${n}/${this.normalizePath(f)}`;if(g.includes("*")){let _=g.substring(0,g.lastIndexOf("/"));E.push(_)}else R.push(g)}}}let r=(yield Promise.all(E.map(n=>this.getTypeDefinitionFilesFromDirectory(n)))).flat();for(let n of r)R.push(n);return R})}getTypeDefinitionFilesFromDirectory(R){return K(this,null,function*(){if(!this.webContainer)throw new Error("this.webContainer is not defined");return(yield this.webContainer.fs.readdir(R)).filter(this.isTypeDefinitionFile).map(r=>`${R}/${r}`)})}isTypeDefinitionFile(R){return R.endsWith(".d.ts")}normalizePath(R){return R.startsWith("./")?R.substring(2):R.startsWith(".")?R.substring(1):R}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();var li="Watch mode enabled. Watching for file changes...",Je="Out of memory",it="npm",hr=(()=>{let x=class x{constructor(){this._createdFile$=new we,this.createdFile$=this._createdFile$.asObservable(),this._createdFiles=Y(new Set),this.destroyRef=ie(ot),this.alertManager=ie(Rt),this.terminalHandler=ie(Mt),this.embeddedTutorialManager=ie(Dt),this.nodeRuntimeState=ie(Lt),this.typingsLoader=ie(Pt),this._isProjectInitialized=Y(!1),this._isAngularCliInitialized=Y(!1),this.urlToPreview$=new ye(""),this._previewUrl$=this.urlToPreview$.asObservable(),this.processes=new Set}get previewUrl$(){return this._previewUrl$}init(){return K(this,null,function*(){if(!this.nodeRuntimeState.error())try{if(!this.embeddedTutorialManager.type())throw Error("Tutorial type isn't available, can not initialize the NodeRuntimeSandbox");console.time("Load time");let R;this.nodeRuntimeState.loadingStep()===Z.NOT_STARTED?(this.alertManager.init(),R=yield this.boot(),yield this.handleWebcontainerErrors()):R=yield this.webContainerPromise,yield this.startInteractiveTerminal(R),this.terminalHandler.clearTerminals(),this.embeddedTutorialManager.type()==="cli"?yield this.initAngularCli():yield this.initProject(),console.timeEnd("Load time")}catch(R){this.setErrorState(R.message)}})}reset(){return K(this,null,function*(){this.nodeRuntimeState.isResetting()||(this.nodeRuntimeState.setIsResetting(!0),this.nodeRuntimeState.loadingStep()===Z.READY?yield this.restartDevServer():(yield this.cleanup(),this.setLoading(Z.BOOT),this._isProjectInitialized.set(!1),yield this.init()),this.nodeRuntimeState.setIsResetting(!1))})}restartDevServer(){return K(this,null,function*(){this.devServerProcess?.kill(),yield this.startDevServer()})}getSolutionFiles(){return K(this,null,function*(){let R=yield this.webContainerPromise,E=["node_modules",".angular","dist"];return yield dt("/",R.fs,r=>!!r&&!E.includes(r))})}initProject(){return K(this,null,function*(){if(this._isProjectInitialized())return;this._isAngularCliInitialized()&&(yield this.cleanup(),this._isAngularCliInitialized.set(!1)),this._isProjectInitialized.set(!0),yield this.mountProjectFiles(),this.handleProjectChanges();let R=yield this.installDependencies();if(![143,0].includes(R))throw new Error("Installation failed");yield Promise.all([this.loadTypes(),this.startDevServer()])})}handleProjectChanges(){this.embeddedTutorialManager.tutorialChanged$.pipe(rt(R=>({tutorialChanged:R,tutorialFiles:this.embeddedTutorialManager.tutorialFiles()})),nt(({tutorialChanged:R,tutorialFiles:E})=>R&&Object.keys(E).length>0),ft(this.destroyRef)).subscribe(()=>K(this,null,function*(){yield Promise.all([this.mountProjectFiles(),this.handleFilesToDeleteOnProjectChange()]),this.embeddedTutorialManager.shouldReInstallDependencies()&&(yield this.handleInstallDependenciesOnProjectChange())}))}handleFilesToDeleteOnProjectChange(){return K(this,null,function*(){let R=Array.from(new Set([...this.embeddedTutorialManager.filesToDeleteFromPreviousProject(),...Array.from(this._createdFiles())]));R.length&&(yield Promise.all(R.map(E=>this.deleteFile(E)))),this._createdFiles.set(new Set)})}handleInstallDependenciesOnProjectChange(){return K(this,null,function*(){this.devServerProcess?.kill(),yield this.installDependencies(),yield Promise.all([this.loadTypes(),this.startDevServer()])})}initAngularCli(){return K(this,null,function*(){if(this._isAngularCliInitialized())return;this._isProjectInitialized()&&(yield this.cleanup(),this.urlToPreview$.next(null),this._isProjectInitialized.set(!1)),this._isAngularCliInitialized.set(!0),this.setLoading(Z.INSTALL);let R=yield this.installAngularCli();[143,0].includes(R)||this.setLoading(Z.READY)})}writeFile(R,E){return K(this,null,function*(){let r=yield this.webContainerPromise;try{yield r.fs.writeFile(R,E)}catch(n){if(n.message.startsWith("ENOENT")){let h=R.split("/").slice(0,-1).join("/");yield r.fs.mkdir(h,{recursive:!0}),yield r.fs.writeFile(R,E)}else throw n}})}readFile(R){return K(this,null,function*(){return(yield this.webContainerPromise).fs.readFile(R,"utf-8")})}deleteFile(R){return K(this,null,function*(){return(yield this.webContainerPromise).fs.rm(R)})}startInteractiveTerminal(R){return K(this,null,function*(){if(this.interactiveShellProcess)return this.interactiveShellProcess;let E=this.terminalHandler.interactiveTerminalInstance,r=yield R.spawn("bash");this.interactiveShellProcess=r;let n=/(\u001b\[\d+m)?([^\s]+)(\u001b\[\d+m)?/g;r.output.pipeTo(new WritableStream({write:u=>{if(this.checkForOutOfMemoryError(u.toString()),E.write(u),u.includes("CREATE")&&u.endsWith(`\r
`)){let d=u.match(n)?.[1];d&&(this._createdFile$.next(d),this._createdFiles.update(f=>f.add(d)))}}}));let h=r.input.getWriter();return this.interactiveShellWriter=h,E.onData(u=>{h.write(u)}),E.breakProcess$.subscribe(()=>{h.write("")}),r})}mountProjectFiles(){return K(this,null,function*(){if(!this.embeddedTutorialManager.tutorialFilesystemTree())return;this.nodeRuntimeState.loadingStep()!==Z.READY&&this.setLoading(Z.LOAD_FILES),Object.keys(this.embeddedTutorialManager.tutorialFilesystemTree()).length>0&&(yield Promise.all([this.mountFiles(this.embeddedTutorialManager.commonFilesystemTree()),this.mountFiles(this.embeddedTutorialManager.tutorialFilesystemTree())]))})}setLoading(R){this.nodeRuntimeState.setLoadingStep(R)}mountFiles(R){return K(this,null,function*(){yield(yield this.webContainerPromise).mount(R)})}boot(){return K(this,null,function*(){return this.setLoading(Z.BOOT),this.webContainerPromise||(this.webContainerPromise=Ye.boot()),yield this.webContainerPromise})}terminate(R){R?.teardown(),this.webContainerPromise=void 0}handleWebcontainerErrors(){return K(this,null,function*(){(yield this.webContainerPromise).on("error",({message:E})=>{this.checkForOutOfMemoryError(E)||this.setErrorState(E,he.UNKNOWN)})})}checkForOutOfMemoryError(R){return R.toLowerCase().includes(Je.toLowerCase())?(this.setErrorState(R,he.OUT_OF_MEMORY),!0):!1}setErrorState(R,E){this.nodeRuntimeState.setError({message:R,type:E}),this.nodeRuntimeState.setLoadingStep(Z.ERROR),this.terminate()}installDependencies(){return K(this,null,function*(){this.setLoading(Z.INSTALL);let R=yield this.spawn(it,["install"]);return R.output.pipeTo(new WritableStream({write:E=>{this.terminalHandler.readonlyTerminalInstance.write(E)}})),R.exit})}loadTypes(){return K(this,null,function*(){let R=yield this.webContainerPromise;yield this.typingsLoader.retrieveTypeDefinitions(R)})}installAngularCli(){return K(this,null,function*(){let R=yield this.spawn(it,["install","@angular/cli@latest"]);R.output.pipeTo(new WritableStream({write:r=>{this.terminalHandler.interactiveTerminalInstance.write(r)}}));let E=yield R.exit;return this.interactiveShellWriter?.write("\r"),E})}startDevServer(){return K(this,null,function*(){let R=yield this.webContainerPromise;this.setLoading(Z.START_DEV_SERVER),this.devServerProcess=yield this.spawn(it,["run","start"]),R.on("server-ready",(E,r)=>{this.urlToPreview$.next(r)}),yield new Promise((E,r)=>{if(!this.devServerProcess){r("dev server is not running");return}this.devServerProcess.output.pipeTo(new WritableStream({write:n=>{if(this.terminalHandler.readonlyTerminalInstance.write(n),this.checkForOutOfMemoryError(n.toString())){r(new Error(n.toString()));return}this.nodeRuntimeState.loadingStep()!==Z.READY&&n.toString().includes(li)&&(E(),this.setLoading(Z.READY))}}))})})}spawn(r){return K(this,arguments,function*(R,E=[]){let h=yield(yield this.webContainerPromise).spawn(R,E),u=new TransformStream({transform:(o,d)=>{this.checkForOutOfMemoryError(o.toString()),d.enqueue(o)}});return h.output=h.output.pipeThrough(u),this.processes.add(h),h})}cleanup(){return K(this,null,function*(){yield this.killExistingProcesses(),yield this.removeFiles()})}killExistingProcesses(){return K(this,null,function*(){yield Promise.all(Array.from(this.processes).map(R=>R.kill())),this.processes.clear()})}removeFiles(){return K(this,null,function*(){yield(yield this.webContainerPromise).spawn("rm",["-rf","./**"])})}};x.\u0275fac=function(E){return new(E||x)},x.\u0275prov=te({token:x,factory:x.\u0275fac,providedIn:"root"});let A=x;return A})();export{Dt as a,Z as b,ri as c,le as d,Mt as e,Pt as f,li as g,Je as h,it as i,hr as j,he as k,Lt as l};